{"version":3,"sources":["webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/BaoWidgetFilterContainer.vue?0b10","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/BaoWidgetFilterContainer.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/BaoWidgetFilterContainer.vue?5aae","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/BaoWidgetFilterContainer.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/TranscriptSearchFilter.vue?3756","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetFiltersDisplay.vue?4b68","webpack:///./public/img/icons/info-icon.svg","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/PlaybookItemAnswerFilters.vue?97ad","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/PlaybookItemAnswerFilters.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/PlaybookItemAnswerFilters.vue?8de9","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/PlaybookItemAnswerFilters.vue","webpack:///./src/apps/call/api.js","webpack:///./src/apps/talkscript/index.js","webpack:///./src/apps/base/ProgressIndicator.vue?b615","webpack:///src/apps/base/ProgressIndicator.vue","webpack:///./src/apps/base/ProgressIndicator.vue?c20f","webpack:///./src/apps/base/ProgressIndicator.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/CriteriaSelector.vue?7058","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay.vue?0115","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/TimeframeFilter.vue?cdb1","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay.vue?4aa0","webpack:///./src/apps/call/constants.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetPlaybookConversion/BaoWidgetPlaybookConversionChart.vue?42c6","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/TranscriptSearchFilter.vue?892e","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/TranscriptSearchFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/TranscriptSearchFilter.vue?9d1c","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/TranscriptSearchFilter.vue","webpack:///./src/mixins/globalMixins.js","webpack:///./src/apps/base/index.js","webpack:///./src/apps/baovalue/index.js","webpack:///./src/apps/callresult/index.js","webpack:///./src/apps/co_pilot/index.js","webpack:///./src/router.js","webpack:///./src/apps/talkscript/PlaybookServices.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/PercentageFilter.vue?fa53","webpack:///./src/store/services/users.js","webpack:///./src/utils/pendoManager.js","webpack:///./src/store/modules/auth.js","webpack:///./src/store/modules/I18nStore.js","webpack:///./src/store/services/calls.js","webpack:///./src/store/services/playbook.js","webpack:///./src/store/services/labels.js","webpack:///./src/store/utils.js","webpack:///./src/store/services/counterpartStore.js","webpack:///./src/store/services/crmStore.js","webpack:///./src/store/modules/display.js","webpack:///./src/store/modules/squaapiStore.js","webpack:///./src/store/services/globalError.js","webpack:///./src/store/services/dashboardStore.js","webpack:///./src/store/services/callSetUpStore.js","webpack:///./src/store/services/toast.js","webpack:///./src/store/services/playbookConfiguratorStore.js","webpack:///./src/store/services/teams.js","webpack:///./src/store/services/callAudioStore.js","webpack:///./src/store/services/callSummaryStore.js","webpack:///./src/store/services/callVideoStore.js","webpack:///./src/store/index.js","webpack:///./src/apps/call/CallSetupMixin.js","webpack:///./node_modules/moment/locale sync [/\\\\](en-gb(\\.js)","webpack:///./src/App.vue?89c3","webpack:///src/App.vue","webpack:///./src/App.vue?fef7","webpack:///./src/App.vue","webpack:///./src/utils/custifyManager.js","webpack:///./src/main.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/UserFilter.vue?75f1","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/UserFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/UserFilter.vue?ff8e","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/UserFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetCriteriaDisplay.vue?dda6","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/PercentageFilter.vue?6fe9","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/PercentageFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/PercentageFilter.vue?b643","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/PercentageFilter.vue","webpack:///./src/services/networkController.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoDashboardCard.vue?b40c","webpack:///./src/apps/counterpart/index.js","webpack:///./src/apps/call/RealTimeAssistantComponents/index.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/AvailableFilter.vue?2c7c","webpack:///./src/apps/user/index.js","webpack:///./src/apps/call_history/index.js","webpack:///./src/apps/base/ProgressIndicator.vue?b8e5","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/AnswerSelector.vue?9b82","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/AnswerSelector.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/AnswerSelector.vue?0700","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/AnswerSelector.vue","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetReachabilityMatrix/BaoWidgetReachabilityMatrixDisplay.vue?12f1","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin.vue?9b69","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin.vue?ae98","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator.vue?d2a4","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaoWidgetSettings.vue?9a99","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BasicTypeFilter.vue?4664","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BasicTypeFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BasicTypeFilter.vue?cc45","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BasicTypeFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaoWidgetCriteriaConfigurator.vue?effd","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/CriteriaSelector.vue?8c68","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/CriteriaSelector.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/CriteriaSelector.vue?1f2a","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/CriteriaSelector.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/DurationClassificator.vue?1629","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/DurationClassificator.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/DurationClassificator.vue?db61","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/DurationClassificator.vue","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaoWidgetCriteriaConfigurator.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaoWidgetCriteriaConfigurator.vue?861b","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaoWidgetCriteriaConfigurator.vue","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaoWidgetSettings.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaoWidgetSettings.vue?0eba","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaoWidgetSettings.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/FilterConfigurations.vue?aceb","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/TagsFilter.vue?46aa","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/TagsFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/TagsFilter.vue?6db8","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/TagsFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/ObjectionsFilter.vue?9100","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/ObjectionSelector.vue?654f","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/ObjectionSelector.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/ObjectionSelector.vue?2b7a","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/ObjectionSelector.vue","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/ObjectionsFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/ObjectionsFilter.vue?c076","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/ObjectionsFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/AvailableFilter.vue?ab87","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/AvailableFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/AvailableFilter.vue?b947","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/AvailableFilter.vue","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/FilterConfigurations.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/FilterConfigurations.vue?8a28","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/FilterConfigurations.vue","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator.vue?c9a9","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay.vue?8652","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetFiltersDisplay.vue?ca3b","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetFiltersDisplay.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetFiltersDisplay.vue?d32b","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetFiltersDisplay.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetCriteriaDisplay.vue?e5e0","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetCriteriaDisplay.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetCriteriaDisplay.vue?8233","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetCriteriaDisplay.vue","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay.vue?eebc","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay.vue","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetMostFrequentShortcuts.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetCallsPerDay.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetCallsPerPlaybook.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetCallsPerUser.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetCallsPerMonth.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoDashboardCard.vue?64a1","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoDashboardChart.vue?f802","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/BaoDashboardChart.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoDashboardChart.vue?8494","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoDashboardChart.vue","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/BaoDashboardCard.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoDashboardCard.vue?14a8","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoDashboardCard.vue","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetCallAttemptsGoal.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetTeamCallActivity.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetReachabilityMatrix/BaoWidgetReachabilityMatrixDisplay.vue?d782","webpack:///src/apps/dashboard/BaoWidgets/BaoWidgetReachabilityMatrix/BaoWidgetReachabilityMatrixDisplay.vue","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetReachabilityMatrix/BaoWidgetReachabilityMatrixDisplay.vue?02eb","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetReachabilityMatrix/BaoWidgetReachabilityMatrixDisplay.vue","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetReachabilityMatrix/BaoWidgetReachabilityMatrix.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetConversationGoal/BaoWidgetConversationGoalDisplay.vue?111e","webpack:///src/apps/dashboard/BaoWidgets/BaoWidgetConversationGoal/BaoWidgetConversationGoalDisplay.vue","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetConversationGoal/BaoWidgetConversationGoalDisplay.vue?db06","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetConversationGoal/BaoWidgetConversationGoalDisplay.vue","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetConversationGoal/BaoWidgetConversationGoal.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetPlaybookConversion/BaoWidgetPlaybookConversionChart.vue?e8e5","webpack:///src/apps/dashboard/BaoWidgets/BaoWidgetPlaybookConversion/BaoWidgetPlaybookConversionChart.vue","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetPlaybookConversion/BaoWidgetPlaybookConversionChart.vue?626d","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetPlaybookConversion/BaoWidgetPlaybookConversionChart.vue","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetPlaybookConversion/BaoWidgetPlaybookConversion.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetSuccessGoal.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetCallDurationStats.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetTotalCallTime.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetTimeGraph.js","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetMostFrequentAnswersForItem.js","webpack:///./src/apps/dashboard/chartConfig.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/DurationFilter.vue?a3f0","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetCriteriaDisplay.vue?ccb7","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/CounterpartFilter.vue?5197","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/CounterpartFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/CounterpartFilter.vue?739c","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/CounterpartFilter.vue","webpack:///./src/apps/call/index.js","webpack:///./src/apps/base/BaoDeleteButton.vue?00de","webpack:///./src/apps/base/BaoDeleteConfirmModal.vue?d096","webpack:///src/apps/base/BaoDeleteConfirmModal.vue","webpack:///./src/apps/base/BaoDeleteConfirmModal.vue?c4fa","webpack:///./src/apps/base/BaoDeleteConfirmModal.vue","webpack:///src/apps/base/BaoDeleteButton.vue","webpack:///./src/apps/base/BaoDeleteButton.vue?9738","webpack:///./src/apps/base/BaoDeleteButton.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/PlaybookItemSelector.vue?b2fc","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/PlaybookItemSelector.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/PlaybookItemSelector.vue?2a54","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/PlaybookItemSelector.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetCriteriaDisplay.vue?359a","webpack:///./src/apps/dashboard/BaoWidgets/BaoWidgetConversationGoal/BaoWidgetConversationGoalDisplay.vue?50d2","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/PlaybookSelector.vue?b62a","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/PlaybookSelector.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/PlaybookSelector.vue?f30a","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/PlaybookSelector.vue","webpack:///./src/utils/authenticationManager.js","webpack:///./src/assets/scss/main.scss?f128","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaseFilter.vue?19bb","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator.vue?2396","webpack:///./src/apps/call_history/CallListComponents/filtersUtils.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/FilterConfigurations.vue?ead4","webpack:///./src/apps/call_sharing/index.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/FilterConfigurations.vue?c8c1","webpack:///./src/config.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/BaoWidgetFilterContainer.vue?8e2b","webpack:///./src/apps/dashboard/index.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaseFilter.vue?da50","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaseFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaseFilter.vue?84f6","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/BaseFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/FilterConfigurations.vue?3b1c","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay.vue?0279","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/TimeframeFilter.vue?2c44","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/TimeframeFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/TimeframeFilter.vue?a26f","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/TimeframeFilter.vue","webpack:///./src/apps/dashboard/chartUtils.js","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/DurationFilter.vue?d29e","webpack:///src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/DurationFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/DurationFilter.vue?7f4d","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/DurationFilter.vue","webpack:///./src/apps/dashboard/BaoWidgetsBaseComponents/configurationComponents/Filter/BaoWidgetFilterContainer.vue?4219","webpack:///./src/utils/utils.js"],"names":["render","_vm","this","_c","_self","staticClass","class","hasError","hasFixedLabel","attrs","labelTag","_v","_s","label","_e","_t","filterErrorMessage","staticRenderFns","name","staticTextDefault","defaultErrorMessage","computed","$store","getters","$options","errorMessage","staticText","props","required","type","String","default","Boolean","component","module","exports","isOpenFromAdvancedFilters","playbookItemAnswerLabel","ref","filterRefs","playbookConfigOptions","on","playbookSelected","$event","$emit","playbookItemConfigOption","selectedPlaybooks","playbookItemType","playbookItemSelected","answerConfigOption","selectedPlaybookItems","answerSelected","model","value","callback","$$v","selectedAnswers","expression","criteriaConfigurator","preventDefault","components","PlaybookSelector","PlaybookItemSelector","AnswerSelector","Object","playbooks","playbookItems","answers","noAnswerRequired","me","team","configurations","setUp","length","labelForPlaybookItemAnswer","showDelete","enableGrouping","criteriaAdditionalConfig","showLabel","multiselect","internalDefaultConfig","methods","call_items__talkscript__id__in","call_items__talkscript_item__id__in","call_items__answers__text__in","data","emitData","validateChildrenFilters","errorCount","filterRef","$refs","validatedFilter","validateFilter","createMeetingBotApi","async","payload","apiUrl","resp","a","post","fetchCallMeetingDataApi","params","get","fetchMeetingParticipantsApi","fetchMeetingBotStatusApi","removeBotFromMeetingApi","pauseMeetingRecordingApi","resumeMeetingRecordingApi","getTodayEventsApi","checkAndUpdateScheduledBot","PlaybookConfigurator","PlaybookList","PlaybookItemLibrary","baseUrl","playbook","playbookItem","objectionChoice","playbookExtend","pdfdemofile","libraryItems","playbookClone","route","path","routes","small","finalLoadingLabel","showLoadingLabel","loadingLabel","tooltip","MeetingBotStatusEnum","freeze","NOT_STARTED","CONNECTING","CONNECTED","ENDED","DONE","BotRecordingStatusEnum","NOT_RECORDING","RECORDING","TOGGLING","BotTerminatedStatusList","MeetingStatusListForVideoData","MeetingEndedStatusList","MeetingDataProcessingDoneStatus","BotConnectedStatus","browseTranscript","directives","rawName","domProps","indexOf","_k","keyCode","key","handleTranscriptAdded","apply","arguments","target","composing","transcript","transcriptData","transcript_texts","_l","index","editTranscriptText","removeTranscriptText","BaoWidgetFilterContainer","includeSimilar","unshift","handleFilterChanged","splice","document","getElementById","focus","GlobalMixin","mixin","window","self","top","hideDashboardMenu","setToastActiveState","setToastType","setToastMessage","ms","Promise","resolve","setTimeout","routeUrl","isApplicationInIFrame","$router","replace","push","str","replaceAll","split","map","word","toUpperCase","concat","slice","join","status","message","text","match","variable","eval","object1","object2","keys1","keys","keys2","toString","number","isNaN","Number","shouldSendViaPostMsgAPI","extensionId","reject","chrome","runtime","sendMessage","response","console","log","Error","parent","postMessage","sender","messageBaoSwift","url","domain","URL","hostname","supportedDomains","domainRegex","RegExp","test","email","emailRegex","Signout","redirect","BaoValueConfigurator","ResultItemConfigurator","CoPilotCreate","CoPilotHome","CoPilot","children","OauthLoginHandler","DRFCharts","MainContainer","printCallSummary","LoginView","PasswordReset","PlentyMarketsLogin","Dynamics365ResourceSelector","SugarCrmLogin","SharedCall","registeredApps","counterpart","dashboard","mainContainerChildren","Array","isArray","ifNotAuthenticated","to","from","next","userLoggedIn","store","user","sendinblue","identify","nextData","fullPath","query","call","beforeEnter","baseRoutes","use","router","mode","savedPosition","hash","selector","x","y","beforeEach","page","full_path","playbookServices","httpRequestService","runningIndex","Date","now","Math","floor","random","order","isObjection","isMainContainer","itemType","defaultPlaybookItem","additional_talkscripts","additionalPlaybookFlag","answer_choices","display_text","ending_item","is_objection","is_library_item","item_type","linked_field","note","objectionFlag","objections","open","relevant_for_text_match","settings","tags","uniqueId","getUniqueId","versions","item","mainContainer","set","getVersionId","id","undefined","with_importance","some","answer","waitingUpdatePromises","method","then","error","patch","prepareItemForSave","collapse","crm_items","itemToSave","crm_object_link","answerChoices","actions","answerAction","input_items","items","objection","relatedItemId","talkscript","playbookPromise","savePlaybook","newPlaybook","newMainContainer","main_container","workflow","mainContainerPromise","saveMainContainer","saveObjectionChoice","catch","objectionChoiceId","connectedPlaybookItems","talkscript_items","playbookId","newPlaybookName","targetSchema","schema_name","array","arrayLength","itemCreationPromises","saveAndAddItem","all","handleOrderChanged","itemPosition","getDefaultPlaybookItem","addNewPlaybookItem","itemIndex","loadingPromise","savePlaybookItem","assign","findItemIndex","findIndex","element","delay","time","noRequestDelay","opId","getSaveItemOpId","clonedItem","JSON","parse","stringify","previousItemUpdatePromise","updateInProgress","delayedUpdatePromise","getResolvedPromise","updateRequestAddedToDelayedQueue","waitingUpdateRequest","delayedOperation","saveAndUpdatePlaybookItem","config","semiUpdateItem","adcs","updatedAdcs","adc","updatedAdc","updatedItem","updated_at","currentVersionId","updateAdcIds","delayTime","filter","getUpdateOrderOpId","orderChangedPromise","updateItemsOrder","put","versionId","version","created_at","waitingPromises","loading","promise","waitAndExecuteAllOperations","executeDelayedOperation","updateOrderOpId","pendingPromises","getAllPendingPromisesForItem","playbookOpId","getSavePlaybookOpId","pendingPromisesForPlaybook","getAllPendingPromisesForPlaybook","delete","detail","selectedLibraryItem","$set","child","users","emailFail","tokenFail","mutations","state","bool","context","commit","e","userId","avatar","FormData","append","userData","pendo","initialize","visitor","full_name","account","client_schema_name","client_name","isLoggedIn","crmIntegrations","crmDataLoading","isUserAuthenticated","isGlobalAdmin","permissions","is_global_admin","isAdmin","is_admin","isSuperUser","is_superuser","isAdminOrSuperUser","isCrmDataLoading","getCrmIntegrationErrors","errors","userPermissions","userCrmFeatures","can_use_features","canUseSaveToCrmFeature","includes","allow_save_to_crm","canUseCrmEvent","canUseCrmTask","canUsePhoneCall","canUseMeeting","canSendEmailThroughCRM","err","debug","canUseBaoValue","can_use_bao_value","canStoreCRMData","can_store_crm_data","canUseCallResult","can_use_call_result","canUsePsychologicalContent","can_use_psychological_content","canUseBaoCrm","bao","canUseAirCall","aircall","showTextMatch","speech_recognition","show_text_match","canUseSpeechRecognition","can_use_speech_recognition","canUseBaoAudio","can_use_bao_audio","userAudioInputLanguage","audio_input_language","can_use_bao_co_pilot","can_use_video_integration","can_use_calendar_integration","can_use_live_transcription","can_filter_on_user_basis","show_celebration_theme","can_modify_calls_real_tag","loggedIn","pendoManager","registerUser","getUser","dispatch","userProfile","animate_bao_swift","_","namespaced","i18n","getI18n","rootState","view","filteredDataByView","reduce","auth","language","i18nUrl","selectedCalls","currentCall","currentCallItem","getSelectedCalls","newItem","calls","deletePromises","i","deletePromise","allPlaybooks","defaultPlaybook","queryParams","active","sort","b","localeCompare","nonSystemLabels","findCRMLookupFieldValueById","crmService","lookupFieldType","crmId","crm_id","updateCounterpartsWithLoadedDataWithBaoRecord","counterpartsWithLoadedData","entries","startsWith","externalResource","external_resource","baoRecordCrmId","baoRecordType","baoRecordData","resourceKey","crmDataLoaded","crmsSupportingLoadingOfData","hubspot","salesforce","pipedrive","dynamics365","zendesk","searchRequest","triggerLoading","counterpartOptions","counterpartsWithSameCrmTypeAndService","maxCrmServiceOfSameTypeCount","NEGATIVE_INFINITY","CRMSupportsLoadingOfData","crm_service","counterpartCrmService","asyncSearch","updatedValue","cancel","CancelToken","source","cancelToken","token","records","results","counterparts","sortedCounterparts","separatedCounterparts","counterpartCRM","counterpartType","counterpartTypeLength","objectDefinitions","fieldDefinitions","loadingFieldDefinitions","objectDefinitionError","val","find","service_key","object_type","field_definitions","finally","diff","promiseArray","getAndTransformData","crmObjectId","getCrmObjectId","fieldDefinition","readonly","supported","raw_definition","service","logo","extra_options","IS_NAVBAR_OPEN_KEY","mainMenuOpen","localStorage","getItem","closeBtnShown","isMainMenuOpen","isCloseBtnShown","changeMainMenu","setItem","changeCloseBtnState","show","getDefaultQueryState","queryFields","queryFilters","queryAggregates","queryData","querySettings","getDefaultState","defaultURL","saveURL","loadedQueries","queries","modelFields","getModelFields","getModel","getQueryFields","getQueryFilters","getQueryAggregates","getQueryData","getSavedQueries","getQuerySettings","getQuery","getFilterFunctions","field","includeAll","lookups","defaultLookups","favoritesObj","gt","gte","lt","lte","icontains","istartwith","iendswith","isnull","in","regex","additional","lookup","l","getLoadedQueries","newUrl","newFields","newModel","newFilters","newAggregates","newData","newList","newSettings","newQuery","newStore","without","list","getActive","q_data","groupByQuery","activeField","filterQuery","filterFunction","filterValue","aggregateQuery","aggregate","aggregateFunction","baseurl","app_model_name","fullurl","newField","fieldToRemove","newFilter","filterToRemove","oldFilter","newAggregate","aggregateToRemove","loadedAnalyticsPages","currentPage","widgets","showWidgetSidebar","widgetToConfigure","defaultWidgets","favoritePage","loadingAnalyticsPages","showMenu","loadedDashboardsOnce","previewChartData","isUserCreator","is_among_favorites","favoriteDashboards","myDashboards","sharedDashboards","getTransformedWidget","widget","widgetConfigurations","getTransformedWidgets","getTranslatedInfo","rootGetters","info","pageCreator","created_by","pk","canModifyWidgetPage","updatedWidget","deleteCount","added","alertCountDown","widgetId","pageId","chartData","titlePrefix","copyOf","titleCopy","newDashboardTitle","getNewDashboardTitle","getLoadedAnalyticsPages","newPage","widgetPage","forEach","getDefaultWidgets","getWidgets","clonedWidget","newOrder","transformedDefaultWidgets","values","translatedInfo","is_favorite","getCurrentPageId","widgetData","newWidgetsOrder","transformedWidget","playbookIds","playbookNames","objectionIds","objectionNames","playbookItemIds","playbookItemNames","counterpartIds","counterpartNames","widgetView","filename","title","html2canvas","canvas","downloadCanvasAsPng","link","createElement","download","href","toDataURL","click","isCallSetUpPage","counterpartRefetching","booleanVal","newCounterpart","counterpartParams","counterpartIndex","rootContainer","currentPlaybookItem","playbookLoading","loadingLibraryItems","activeItem","setImportance","extractErrorMessage","teamTreeForUser","successMessage","teamsToReload","teamTree","teams","tenants","callTranscriptData","summaryDataLoading","currentSummaryTab","transcriptDataLoading","transcription","response_data","duration","transcriptSummary","summaryTab","callId","getTranscriptSummary","audioLoading","final_audio_url","transcriptLoading","sentences","summaryFormat","regenerate","summaryLoading","summary_format","summaryData","callTranscript","shouldCheckForTranscript","callTranscriptUrl","callAudioData","call_transcript","call_items_transcripts","audioInputLanguage","newTranscriptLoading","canTriggerSummary","callSummary","callDetails","callNotes","currentSummaryText","external_shared_data","is_active","created_by_id","summaryText","notes","callItems","call_items","attachCallItem","ci","talkscript_item","call_item","loaded_additional_data","loadedData","selected_choice","addItem","playbookItemWithCallItems","callItem","additional_data","showLoader","userPK","retainPreviousAnswers","hasOwn","callItemData","getCallItemDataToSave","request","getCallItemSaveRequest","callItemPromise","networkController","sendRequest","callItemResponse","externalSharedData","counterpartFromUrl","isBotDisconnecting","botRecordingStatus","meetingSummary","videoUrl","botId","meetingParticipants","speakerTimelineBlocks","meetingBotStatus","meetingTranscription","speakerTimeline","ongoingMeeting","wordsWithTimestamp","ongoing_meeting","words","call_id","meetingData","meetingUrl","meeting_url","bot_id","errorMsg","getBotId","currentBotStatus","getBotRecordingStatus","errorLabel","isBotRecording","meeting_status","isSetFromExternalSharedCall","video_url","participants","summary_data","speaker_timeline","participantNamesSet","Set","participant","has","add","root","description","Store","modules","I18nStore","labels","counterpartStore","crmStore","display","squaapiStore","globalError","dashboardStore","callSetUpStore","toast","playbookConfiguratorStore","callAudioStore","callSummaryStore","callVideoStore","CallSetupMixin","isCallLoading","setCounterparts","removeCounterpart","fetchDefaultPlaybook","getCounterpartsFromUrl","messageData","$route","startCall","setUpCallFromUrl","functionTriggeredManually","promisesArray","callData","routeQuery","that","externalCallId","external_call_id","createCall","newCall","pushOrReplaceRoute","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","mixins","addEventListener","event","handleBaoSwiftMessages","assignCounterpartFromUrl","resetAndRefetchCounterpartFromUrl","isDomainAllowed","checkIfParentDomainIsAllowed","origin","handleSpecificBaoSwiftMessages","handleQuickStartTriggered","location","reload","handleSwiftHostUrlMessage","removeEventListener","initCustifyTracker","accountId","t","_ctrack","prototype","n","g","s","getElementsByTagName","defer","src","parentNode","insertBefore","setAccount","trackEnabled","BASE_URL","navigator","serviceWorker","getRegistrations","registrations","registration","unregister","defaults","xsrfHeaderName","headers","interceptors","common","Authorization","originalRequest","isBadToken","isRefreshRequest","pathname","search","productionTip","autoSetContainer","h","App","$mount","VUE_APP_CUSTIFY_ACCOUNT_ID","baseFilterRef","selectUserPlaceholder","postprocessOptions","getUrl","isSingleSelect","handleValueChanged","selectedUser","BaseFilter","getTranslatedUserFilters","teamLabel","usersLabel","userOptions","option","userLength","filterKey","selectedOption","manuallySetValue","options","percentageFilterLabel","minPercentage","minValue","maxPercentage","maxValue","filterLabel","negativeValueMessage","minMaxErrorMessage","noValueErrorMessage","maxLimitErrorMessage","numberExists","min_value","max_value","waitingQueue","executeRequest","addToQueue","queue","getQueue","shift","existingPromise","getLatestOperation","removeFromQueue","waitFor","waitingPromise","CounterpartList","baseApiUrl","basePath","counterpartTypeIcons","contact","contacts","accounts","company","organization","opportunity","deal","lead","leads","person","people","toLowerCase","realTimeAssistantService","transcriptUrl","callItemTranscriptURL","dataToSave","_retrieveData","call_item__call__id","UserProfileDetails","IntegrationsModule","TeamModule","profileDetailView","integrationView","teamView","CallList","CallFeedback","callFeedbackView","findCrmFieldDefinition","questionId","field_definition","addAnswers","tabs","isFullText","result","fieldLabels","question_id","editedText","fieldType","fieldLabel","strip","has_importance","importance","handleCallItem","hasAnswers","hasNotes","decodeHTMLEntities","textArea","innerHTML","getPlainTextToCopy","bao_values","baoValue","call_flow","tsi","skip","emptyItem","isEmptyItem","bao_value","endsWith","isUnansweredItem","isEmpty","html","replaceString1","replaceString2","selectAnswers","selectedItemAnswers","getPlaybookItemFilter","newValue","getComponentToDisplay","_b","tag","handleUpdate","scopedSlots","_u","fn","showChart","chartComponent","style","getChartProps","proxy","getProps","ProgressIndicator","configView","previewMode","axios","getDataForWidget","defaultChartColor","chartOptions","componentForRender","chartStyle","minHeight","configuratorComponent","displayComponent","getConfigProps","getDisplayProps","update","basicUpdateMethod","watch","oldVal","setPreviewData","updateWidgetsList","setupChart","mappingFunc","getChartOptions","updateMethod","countAttr","sum","previewData","dataIndex","id__in","callIds","renaming","customNamePlaceholder","getSubtitle","handleCloseAction","validateFiltersAndApplyChanges","saveLabel","widgetDescriptionInfo","widgetDescription","writeDescriptionLabel","visible","showRefreshButton","validateFiltersAndPreviewWidget","refreshLabel","configOptions","settingsChanged","filtersChanged","settingsLabel","configOption","fieldName","refInFor","successCriteriaChanged","isText","isNumber","isTextArea","basicTypeFilterChanged","configChanged","playbookFilterChanged","isPlaybookItemFilter","playbookItemFilterChanged","isAnswerFilter","answerChanged","playbookAndPlaybookItemSelected","configValue","criteriaOptions","selectedCriteria","playbookItemAnswerSelected","callDuration","selectCriteria","inputValue","selected","VueMultiselect","durationLabel","minutes","durationSeconds","durationMinutes","seconds","DurationClassificator","CriteriaSelector","PlaybookItemAnswerFilters","configuration","counterpartReachability","callResult","isPlaybookFilterVisible","isDurationFilterVisible","transformToDisplay","existingConfig","isType","isPlaybook","isPlaybookItem","isAnswer","isDuration","configToSave","checkRequiredFieldsUnanswered","getDataToSave","refLabel","TimeframeFilter","BaoWidgetCriteriaConfigurator","BasicTypeFilter","configItem","transformToSave","criteriaFilters","transformedValue","filtersLabel","getNewKey","handleFiltersChanged","getFilterTypeOptions","selectFilterType","input","handleFilterTypeSelected","getSelectedTypeLabel","getLabel","deleteEmptyFilter","filterOptions","filters","addFilter","newFilterLabel","selectTags","isLoading","handleNewTagSelected","remove","stopPropagation","selectedTags","slot","listIsEmpty","setSelectedTags","searchTerm","filteredData","group","getGroup","tagLabel","toPascalCase","getDisplayTag","groupOptions","groupedOptions","flatMap","shortcutsLabel","objectionConfigOption","selectedPlaybookId","objectionSelected","selectShortcuts","selectedObjections","ObjectionSelector","selectedPlaybook","filterType","_q","filterAvailable","yesLabel","noLabel","optional","dateRange","playbookItemAnswer","shortcuts","textMatch","videoAvailable","audioAvailable","callsEndedWithQuickEnd","selectedFilterType","showFilterTypeSelection","selectedFilterTypes","protectedFilters","currentUserIsAdminOrSuperuser","canFilterOnUserBasis","canUseVideoIntegration","baseOptions","ObjectionsFilter","TagsFilter","DurationFilter","CounterpartFilter","AvailableFilter","UserFilter","PercentageFilter","TranscriptSearchFilter","checkFilterOptions","filterOptionsToShow","newVal","blacklist","whitelist","existingFilters","savedFiltersExist","configFilterOptions","defaultFiltersExist","defaultFilters","transformExistingFilters","addOptions","transformFiltersForBackend","currentFilters","emptyIndexes","removeEmptyFilters","finalIndex","WidgetSettings","FilterConfigurations","subtitle","addWidget","previewErrorMessage","saveErrorMessage","canSaveChanges","previewWidget","setWidgetToConfigure","closeWidgetSidebar","hideGlobalToast","validateConfigurations","showErrorToast","newFilterConfig","requiredFieldsUnanswered","currentConfig","newConfig","filterRefLabel","settingsRefLabel","filtersValidated","validateAllFilters","settingsValidated","showGlobalToast","getWidgetLabel","getAlertLabel","isNewConversationPage","tooltipMoreText","handleWidgetCloned","duplicate","handleWidgetDeleted","downloadWidgetAsPNG","openWidgetConfigurator","tooltipTextEdit","total","totalItems","showConversations","showConversationsLabel","filtersExist","toggleFiltersPopover","getFilterText","showFiltersPopover","valueIndex","getTranslatedTimeframes","itemAnswer","yes","no","lessThanLabel","greaterThanLabel","equalToLabel","filtersList","filtersObject","translatedTimeframes","translatedUserFilters","filtersCount","visibleFiltersCount","filterData","getFormattedValue","getTranslatedTimeframe","getPlaybookNames","getFormattedItemAnswers","getFormattedObjections","getFormattedTags","getFormattedDuration","getCounterpartNames","getAvailabilityValue","getTranslatedUserFilter","getFormattedPercentage","getFormattedTranscriptSearchValue","deep","getPlaybookItemNames","getObjectionNames","promises","transformData","sortList","getTransformedValue","objectionData","created_at__gte","created_at__lte","getSelectedUsers","transformedFilterList","orderedFilterList","formattedTagNames","getCriterion","getAnswerFilter","formatMinutes","getDurationFilter","getTextToDisplay","successCriteria","playbookAndPlaybookItemFilter","criteriaConfig","criteria","criteriaDisplayText","BaoDeleteButton","BaoWidgetFiltersDisplay","BaoWidgetCriteriaDisplay","showConversationsView","updated","widgetConfig","transformedFilters","dataType","activeFilters","transformedSuccessCriterias","HorizontalBarChart","extends","BaoWidgetBasicMixin","customChartRender","getDefaultHorizontalBarChartOptions","BaoWidgetConfigurator","BaoWidgetDisplay","totalObjections","countdistinct_additional_data_for_call__created_at","countiftrue_additional_data_for_call__is_objection","getTotalCount","additional_data_for_call__selected_choice__talkscript__name","arrayagg_id","datasets","defaultHorizontalDatasetValues","dataLabelClickCallBack","getConfigOptions","LineChart","getDefaultLineChartOptions","createdDateArray","dateArray","startOf","endOf","date","toLocaleString","month","day","count","created_at__date","format","defaultLineDatasetValues","round","totalCalls","countdistinct_id","talkscript__name","getUsername","count_id","delta","subtract","year","created_at__month","created_at__year","chart","staticStyle","setLoading","chartType","VRuntimeTemplate","Bar","HorizontalBar","horizontChartData","chartFilterComponents","height","innerHeight","position","calculateChartData","completeUrl","filterField","transform","setChartData","getCompleteUrl","getOptions","BaoDashboardChart","ArcPieChart","dialingAttempts","color","calls_count","goal","today","showGoToConversationsButton","maximumUsersDisplayed","others","usersLimit","sortedItems","usersWithinLimit","userOutsideLimit","max","userOutsideLimitCount","userOutsideLimitCallIds","overallReachability","low","high","reachabilityScale","translatedTimeFrames","HeatMapChart","clearInterval","dateTimeInterval","setInterval","currentDate","getLanguage","mon","tue","wed","thu","fri","hour","2","3","4","5","6","successRatios","overallCalls","overallSuccessCalls","preprocessData","maxSuccesRatio","toFixed","headerLabels","WeekNames","hourLabel","getHourLabel","week","weekNumber","parseInt","entry","created_at__hour","created_at__week_day","total_calls","success_calls","successData","getSuccessData","successRatio","successPercentage","toPrecision","meridiem","localHour","BaoWidgetConversationGoalDisplay","successfulConversations","success","getConversationLabel","conversion","conversations","conversation","timeframe","percentage","BaoWidgetPlaybookConversionChart","ApexLineChart","getApexLineChartDefaultOptions","getBurntUpChartData","transformedData","computeDateLabelForData","actualGrowth","expectedGrowth","todayInString","actualSeries","computedDateLabels","actualData","idealSeries","getAnnotations","thisMonth","annotations","xaxis","strokeDashArray","borderColor","offsetY","orientation","points","at","marker","size","colors","strokeColor","shape","radius","image","getTodayCallsCount","formatMillisecondsToHHMMSS","avg","median","min","avgDataset","minDataset","maxDataset","medianDataset","getDatasets","defaultConfig","fill","tension","borderWidth","avg_duration","min_duration","max_duration","median_duration","legend","scales","yAxes","ticks","milliseconds","scaleLabel","labelString","fontSize","padding","tooltips","callbacks","yLabel","totalCallTime","minutesLabel","secondsLabel","total_call_time","dataSet","sum_duration","formattedTotalCallTime","formatTotalCallTime","timeInHHMMSS","timeArray","hours","formattedTime","dataset","totalAnswers","count_text","arrayagg_call_item__call__id","BaoAnalytics","backgroundColor","pointBorderColor","activity_over_time","BaoWidgetTimeGraph","thumbnail","deprecated","conversations_per_month","BaoWidgetCallsPerMonth","team_call_activity","BaoWidgetTeamCallActivity","daily_activity_goal","BaoWidgetCallAttemptsGoal","daily_success_goal","BaoWidgetConversationGoal","conversations_per_day","BaoWidgetCallsPerDay","monthly_success_goal","BaoWidgetSuccessGoal","conversations_per_playbook","BaoWidgetCallsPerPlaybook","conversations_per_user","BaoWidgetCallsPerUser","answers_for_item","BaoWidgetMostFrequentAnswersForItem","most_frequent_objections","BaoWidgetMostFrequentShortcuts","reachability_matrix","BaoWidgetReachabilityMatrix","playbook_conversion","BaoWidgetPlaybookConversion","call_duration_stats","BaoWidgetCallDurationStats","BaoWidgetTotalCallTime","playbookAnalyticsPage","playbookAnalytics","static","icon","widgetName","chartId","toolbar","yaxis","formatter","dataLabels","enabled","stroke","width","curve","grid","right","left","series","seriesIndex","dataPointIndex","w","selectedCounterparts","selectCounterparts","CallMainContainer","CallWrapUp","CallSetup","callWrapUpUrl","CALL_MAIN_APP","callMainApp","baoDelayService","delayedOperationsArray","saving","callbackData","doa","clearTimeout","timeout","callbackMethod","operation","absoluteHours","absoluteMinutes","m","absoluteSeconds","utils","additionalDataChoice","actionType","answerActions","unix","typeServices","is","isDate","isDateTime","isTime","onlyDate","onlyTime","isSelect","isSingleSelectBox","canSelectMultiple","isRadio","isTag","isFormGroup","expected","isMultiSelectQuestion","isSingleSelectQuestion","getClass","disabled","variant","handleDeleteButtonClicked","hideIcon","tooltipDelay","tooltipPlacement","noninteractiveTooltip","getTooltip","deleteItem","showDeleteWarningModal","okOnly","getTitle","hideHeaderClose","noCloseOnEsc","noCloseOnBackdrop","showWarning","warningMessage","$slots","BaoDeleteConfirmModal","showConfirm","extraClass","setError","displayLabel","selectPlaybookItems","getPlaybookFilter","getUrlSuffix","selectPlaybooks","playbookLabel","library","rawConfig","FORCE_LOGOUT","POPUP_LOGIN_FOR_SWIFT","NON_ACCEPTABLE_STORAGE_VALUES","clearStorage","removeItem","removeBaoUserFromStorage","removeSocialAuthInProgress","conditionalForceLogout","getLocalStorage","setLocalStorage","setTokenPair","accessToken","refreshToken","refreshTokenCreatedAt","areFreshAuthTokens","isRefreshTokenExpired","setSchemaName","schemaName","clearSchemaInfo","getSchemaName","getSocialOTT","setSocialOTT","socialOTT","clearSocialOTT","getEmail","setEmail","popupLoginForSwift","isSocialAuthInProgress","setSocialAuthInProgress","isSocialAuthProgressOldThenClear","initiateTime","getAccessToken","getUserProfile","getBaoUserFromStorage","isRefreshing","failedQueue","processQueue","prom","refreshTokensAndRetry","refresh","access","getValueFromURLParams","decodedURI","decodeURIComponent","urlSearchParams","URLSearchParams","lookupEmail","emailParam","MINIMUM_CALL_DURATION_FILTER_KEY","MAXIMUM_CALL_DURATION_FILTER_KEY","LABELS_FILTER_KEY","PLAYBOOK_FILTER_LABEL","USER_PK_FILTER_LABEL","CREATED_AT_START_DATE_FILTER_KEY","ITEM_ANSWER_PLAYBOOK_FILTER_KEY","ITEM_ANSWER_PLAYBOOK_ITEM_FILTER_KEY","ITEM_ANSWER_FILTER_KEY","OBJECTION_ITEM_FILTER_KEY","COUNTERPART_AVAILABLE_FILTER_LABEL","AUDIO_AVAILABLE_FILTER_LABEL","VIDEO_AVAILABLE_FILTER_LABEL","CALL_DURATION_FILTER_LABEL","CREATED_AT_END_DATE_FILTER_KEY","USER_TYPE_FILTER_KEY","INDIVIDUAL_USERS_LABEL","SUCCESS_CRITERIA_ITEM_ANSWER_PLAYBOOK_FILTER_KEY","SUCCESS_CRITERIA_ITEM_ANSWER_PLAYBOOK_ITEM_FILTER_KEY","SUCCESS_CRITERIA_ITEM_ANSWER_FILTER_KEY","SUCCESS_CRITERIA_MINIMUM_CALL_DURATION_FILTER_KEY","PLAYBOOK_ITEM_ANSWER_FILTER_LABEL","TRANSCRIPTS_SEARCH_FILTER_TEXT","TRANSCRIPTS_SEARCH_FILTER_SIMILARITY","ARRAY_DATA_TYPE_LABEL","OBJECT_DATA_TYPE_LABEL","transformFilters","filterLength","advanced_filters","filterArray","call_transcript__text_similarity__gte","call_transcript__text_similarity__lte","query_label","transformSuccessCriteria","success_criteria","externalShareBaseUrl","externalShareComponentUrl","hide","BaoDashboard","dateFormatingOptions","days","weekday","toLocaleDateString","weeks","start","end","setDate","getDate","localeStr","months","getTranslation","dashboardStoreUtils","defaultPageTitle","titleSuffixArray","titleWithoutSuffix","trim","newTitleWithoutSuffix","currentPageTitle","currentPageTitleWithoutSuffix","currentPageSuffixArray","_getNumericSuffixInfo","dashboards","newTitle","newTitleRegex","currentHighestIndex","currentIndex","_getCurrentTitleNumericSuffix","placeholder","internalSearch","keyToExtractValue","groupValues","groupLabel","handleValueSelected","selectedValues","Function","setSelectedValues","extractFunc","optionsToFilter","searchLocally","nameFilter","getValuesBasedOnKey","selectTimeframe","noValueError","timeframeOptions","handleTimeframeSelected","selectedTimeframe","noResultMessage","isStatic","customDurationError","startLabel","noDateSelected","startDate","endLabel","endDate","hidden","isObject","timeframeToSelect","thingToCheck","inputVal","FILTER_KEY_DURATION","FILTER_KEY_PLAYBOOK","FILTER_KEY_OBJECTIONS","FILTER_KEY_COUNTERPART","FILTER_KEY_TAGS","FILTER_KEY_TEXT_MATCH","FILTER_KEY_TRANSCRIPT_SEARCH","FILTER_KEY_TIMEFRAME","FILTER_KEY_USER","FILTER_KEY_PLAYBOOK_ITEM_AND_ANSWER","FILTER_KEY_OBJECTIONS__PLAYBOOK","FILTER_KEY_OBJECTIONS__OBJECTIONS","FILTER_KEY_PLAYBOOK_ITEM_AND_ANSWER__ITEMS","FILTER_KEY_PLAYBOOK_ITEM_AND_ANSWER__TEXT","FILTER_KEY_COUNTERPART_REACHABILITY","FILTER_KEY_CALL_RESULT","FILTER_KEY_ANSWER","FILTER_KEY_CALL_DURATION","FILTER_KEY_CALLS_ENDED_WITH_QUICK_END","LIBRARY_ITEM_TYPE_LABEL","NON_LIBRARY_ITEM_TYPE_LABEL","FILTER_KEY_VIDEO_AVAILABLE","FILTER_KEY_AUDIO_AVAILABLE","HUBSPOT_CALL_OUTCOME_ITEM_TAG","sortByAlphaNumeric","numeric","sensitivity","getFormat","momentDate","f","formatDateRange","getThisMonth","toISOString","getLocale","locale","en","populateDataByDay","populateDataByWeek","created_at__week","populateDataByMonth","getDateFromWeekAndYear","second","minute","millisecond","getStartAndEndDates","timeframeFilter","start_date","end_date","getStartAndEndDatesIncludingFuture","includeFutureDates","thisWeek","thisYear","populateDateArray","includeFuture","dateRangeInDays","increment","dateList","toDate","dateMove","convertedStartDate","convertedEndDate","mapping","noFilter","getDay","setMonth","getMonth","transformDateRange","baseField","wordWrap","splitChar","wordSlice","estimatedYAxesWidth","maxWordLength","addLabel","beginAtZero","maxTicksLimit","maxCount","xAxes","categoryPercentage","barPercentage","maxBarThickness","minBarLength","gridLines","maintainAspectRatio","responsive","tooltipitem","xLabel","white","cornerRadius","titleFontColor","slate80","bodyFontColor","plugins","datalabels","showDataLabelOutside","contextMeta","_meta","dataWidth","_model","vueComponent","totalDataLength","disableChartClickBehavior","labelAdd","afterFit","scaleInstance","lineHeight","showTooltip","tooltipItem","datasetIndex","absolut","displayColors","bricklight","elements","rectangle","borderRadius","bottom","font","family","weight","slate10","hovered","white20","anchor","align","listeners","enter","cursor","leave","timeframes","yesterday","last7Days","lastWeek","last14Days","lastMonth","last30Days","lastYear","last12Months","userFilters","idealDataPerDay","previousCount","getDefaultConfigOptions","WidgetConfigOptions","newConfigOptions","handleNewConfig","updateWidget","internalConfig","parseWidgetConfig","durationFilterLabel","timeframeLabel","minCallDuration","maxCallDuration","canDebug","trace","getCallIdFromURL","MAX_RETRIES","retryDelay","retries","extractCallId","cookieString","cname","cvalue","removeCookie","cookie","getCookie","decodedCookie","ca","c","charAt","substring","setCookie"],"mappings":"8IAAA,IAAIA,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,mCAAmCC,MAAM,CAAE,cAAeL,EAAIM,WAAY,CAACJ,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,QAAQ,CAACG,MAAM,CAAC,eAAgB,CAAE,cAAgBL,EAAIO,gBAAiBC,MAAM,CAAC,IAAMR,EAAIS,WAAW,CAACT,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIY,OAAO,KAAMZ,EAAY,SAAEE,EAAG,OAAO,CAACE,YAAY,iBAAiB,CAACJ,EAAIU,GAAG,OAAOV,EAAIa,OAAOb,EAAIc,GAAG,YAAY,GAAId,EAAY,SAAEE,EAAG,IAAI,CAACE,YAAY,qBAAqB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIe,oBAAoB,OAAOf,EAAIa,QAE9hBG,EAAkB,GCqBP,GACbC,KAAM,2BACN,OACE,MAAO,CACLC,kBAAmB,CACjBC,oBAAqB,mDAI3BC,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,qBACE,OAAOjB,KAAKuB,aAAevB,KAAKuB,aAAevB,KAAKwB,WAAWN,sBAGnEO,MAAO,CACLd,MAAO,CACLe,UAAU,EACVC,KAAMC,OACNC,QAAS,IAEXrB,SAAU,CACRkB,UAAU,EACVC,KAAMC,OACNC,QAAS,IAEXH,SAAU,CACRA,UAAU,EACVC,KAAMG,QACND,SAAS,GAEXxB,SAAU,CACRqB,UAAU,EACVC,KAAMG,QACND,SAAS,GAEXN,aAAc,CACZG,UAAU,EACVG,QAAS,GACTF,KAAMC,QAERtB,cAAe,CACboB,UAAU,EACVC,KAAMG,QACND,SAAS,KCrE4R,I,wBCQvSE,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,KACA,MAIa,OAAAgB,E,sECnBf,W,oCCAA,W,qBCAAC,EAAOC,QAAU,IAA0B,8B,oCCA3C,IAAInC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,MAAM,CAAC,iCAAkC,CAAE,mBAAqBL,EAAImC,6BAA8B,CAACjC,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,QAAQ,CAACE,YAAY,gBAAgB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWW,yBAAyB,OAAOlC,EAAG,oBAAoB,CAACmC,IAAIrC,EAAIsC,WAAW,GAAG9B,MAAM,CAAC,QAAUR,EAAIuC,uBAAuBC,GAAG,CAAC,MAAQxC,EAAIyC,iBAAiB,OAAS,SAASC,GAAQ,OAAO1C,EAAI2C,MAAM,cAAe3C,EAA+B,4BAAEE,EAAG,yBAAyB,CAACmC,IAAIrC,EAAIsC,WAAW,GAAGlC,YAAY,OAAOI,MAAM,CAAC,QAAUR,EAAI4C,yBAAyB,qBAAqB5C,EAAI6C,kBAAkB,qBAAqB7C,EAAI8C,kBAAkBN,GAAG,CAAC,MAAQxC,EAAI+C,qBAAqB,OAAS,SAASL,GAAQ,OAAO1C,EAAI+C,qBAAqB,QAAQ/C,EAAIa,KAAMb,EAAuB,oBAAEE,EAAG,kBAAkB,CAACmC,IAAIrC,EAAIsC,WAAW,GAAGlC,YAAY,OAAOI,MAAM,CAAC,QAAUR,EAAIgD,mBAAmB,0BAA0BhD,EAAIiD,uBAAuBT,GAAG,CAAC,MAAQxC,EAAIkD,eAAe,OAAS,SAASR,GAAQ,OAAO1C,EAAIkD,eAAe,MAAMC,MAAM,CAACC,MAAOpD,EAAmB,gBAAEqD,SAAS,SAAUC,GAAMtD,EAAIuD,gBAAgBD,GAAKE,WAAW,qBAAqBxD,EAAIa,MAAM,GAAKb,EAAIyD,qBAA+hEzD,EAAIa,KAA7gEX,EAAG,MAAM,CAACE,YAAY,qBAAqBoC,GAAG,CAAC,MAAQ,SAASE,GAAgC,OAAxBA,EAAOgB,iBAAwB1D,EAAI2C,MAAM,aAAa,CAAG3C,EAAImC,0BAAuEjC,EAAG,MAAM,CAACM,MAAM,CAAC,MAAQ,IAAI,OAAS,IAAI,QAAU,UAAU,KAAO,OAAO,MAAQ,6BAA6B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,GAAK,IAAI,KAAO,SAAS,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,kHAAkHN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,6GAA6G,KAAO,OAAO,eAAe,QAAQN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,+sCAA+sC,KAAO,UAAU,eAAe,MAAM,KAAO,eAAx1DN,EAAG,IAAI,CAACE,YAAY,6BAEn7CY,EAAkB,G,gDCwDP,GACbC,KAAM,4BACN0C,WAAY,CAAEC,mBAAA,KAAkBC,uBAAA,KAAsBC,iBAAA,MACtDpC,MAAO,CACL0B,MAAO,CACLxB,KAAMmC,OACNpC,UAAU,EACVG,QAAS,KACA,CAAEkC,UAAW,GAAIC,cAAe,GAAIC,QAAS,MAGxDT,qBAAsB,CACpB7B,KAAMG,QACND,SAAS,EACTH,UAAU,GAEZwC,iBAAkB,CAChBvC,KAAMG,QACND,SAAS,EACTH,UAAU,GAEZQ,0BAA2B,CACzBP,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLZ,kBAAmB,CACjBkB,wBAAyB,yBACzBgC,GAAI,KACJC,KAAM,aAERC,eAAgB,GAChBzB,kBAAmB,GACnBI,sBAAuB,GACvBM,gBAAiB,GACjBjB,WAAY,CAAC,kBAAmB,uBAAwB,mBAG5D,UACErC,KAAKsE,SAEPnD,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,8BACE,OAAOjB,KAAK4C,mBAAqB5C,KAAK4C,kBAAkB2B,OAAS,GAEnE,sBACE,OAAQvE,KAAKkE,kBAAoBlE,KAAKgD,uBAAyBhD,KAAKgD,sBAAsBuB,OAAS,GAErG,wBACE,OAAO,eAAwB,CAC7BpB,MAAOnD,KAAK4C,kBACZ4B,4BAA4B,EAC5BC,YAAY,EACZC,gBAAgB,KACb1E,KAAK2E,4BAGZ,wBACE,MAAO,CACLC,WAAW,EACXC,aAAa,IAGjB,2BACE,OAAO7E,KAAKwD,qBAAuB,CAAE9B,UAAU,GAAS,IAE1D,2BACE,OAAO,eAAwB,CAC7ByB,MAAOnD,KAAKgD,yBACThD,KAAK8E,yBACL9E,KAAK2E,4BAGZ,qBACE,OAAO,eAAwB,CAC7BxB,MAAOnD,KAAKsD,mBACTtD,KAAK8E,yBACL9E,KAAK2E,4BAGZ,mBACE,OAAI3E,KAAK4C,kBAAkB2B,OAAS,EAGG,OAA9BvE,KAAK4C,kBAAkB,GAAc,OAA0B,OAEjE,OAGXmC,QAAS,CACP,QACE/E,KAAK4C,kBAAoB5C,KAAKmD,MAAM6B,gCAAkChF,KAAKmD,MAAMP,mBAAqB,GACtG5C,KAAKgD,sBAAwBhD,KAAKmD,MAAM8B,qCAAuCjF,KAAKmD,MAAMH,uBAAyB,GACnHhD,KAAKsD,gBAAkBtD,KAAKmD,MAAM+B,+BAAiClF,KAAKmD,MAAMG,iBAAmB,IAEnG,WACE,MAAM6B,EAAQnF,KAAKwD,qBAMf,CACEZ,kBAAmB5C,KAAK4C,kBACxBI,sBAAuBhD,KAAKgD,sBAC5BM,gBAAiBtD,KAAKsD,iBARxB,CACE0B,+BAAgChF,KAAK4C,kBACrCqC,oCAAqCjF,KAAKgD,sBAC1CkC,8BAA+BlF,KAAKsD,iBAO1CtD,KAAK0C,MAAM,QAASyC,IAEtB,eAAgB7B,GACdtD,KAAKsD,gBAAkBA,EAClBA,GAA8C,IAA3BA,EAAgBiB,QACxCvE,KAAKoF,YAEP,iBAAkBxC,GAChB5C,KAAK4C,kBAAoBA,GAE3B,qBAAsBI,GACpBhD,KAAKgD,sBAAwBA,EACzBhD,KAAKkE,kBAAkBlE,KAAKoF,YAElC,iBACE,OAAOpF,KAAKqF,2BAEd,0BACE,IAAIC,EAAa,EACjB,IAAK,MAAMC,KAAavF,KAAKqC,WAC3B,GAAIrC,KAAKwF,MAAMD,GAAY,CACzB,MAAME,EAAkBzF,KAAKwF,MAAMD,GAAWG,iBACzCD,GAAiBH,IAG1B,OAAOA,GAAc,KCpMiR,I,YCOxSvD,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,KACA,MAIa,OAAAgB,E,6FClBf,2UAEO,MAAM4D,EAAsBC,MAAOC,IAExC,MAAMC,EAAS,8BACTC,QAAa,EAAAC,EAAMC,KAAKH,EAAQD,GACtC,OAAOE,GAGIG,EAA0BN,MAAOO,IAE5C,MAAML,EAAS,gCACTC,QAAa,EAAAC,EAAMI,IAAIN,EAAQ,CAAEK,WACvC,OAAOJ,GAGIM,EAA8BT,MAAOO,IAEhD,MAAML,EAAS,wCACTC,QAAa,EAAAC,EAAMI,IAAIN,EAAQ,CAAEK,WACvC,OAAOJ,GAGIO,EAA2BV,MAAOO,IAE7C,MAAML,EAAS,sCACTC,QAAa,EAAAC,EAAMI,IAAIN,EAAQ,CAAEK,WACvC,OAAOJ,GAGIQ,EAA0BX,MAAOC,IAE5C,MAAMC,EAAS,kCACTC,QAAa,EAAAC,EAAMC,KAAKH,EAAQD,GACtC,OAAOE,GAGIS,EAA2BZ,MAAOC,IAE7C,MAAMC,EAAS,uCACTC,QAAa,EAAAC,EAAMC,KAAKH,EAAQD,GACtC,OAAOE,GAGIU,EAA4Bb,MAAOC,IAE9C,MAAMC,EAAS,wCACTC,QAAa,EAAAC,EAAMC,KAAKH,EAAQD,GACtC,OAAOE,GAGIW,EAAoBd,MAAOO,IAEtC,MAAML,EAAS,sCACTC,QAAa,EAAAC,EAAMI,IAAIN,EAAQ,CAACK,WACtC,OAAOJ,GAGIY,EAA6Bf,MAAOC,IAE/C,MAAMC,EAAS,+CACTC,QAAa,EAAAC,EAAMC,KAAKH,EAAQD,GACtC,OAAOE,I,oCC9DT,MAAMa,EAAuB,IAAM,kWAC7BC,EAAe,IAAM,oKACrBC,EAAsB,IAAM,iUAK5BC,EAAU,aACD,QACb/F,KAAM,WACN8E,OAAQ,CACNkB,SAAU,mBACVC,aAAc,uBACdC,gBAAiB,wBACjBC,eAAgB,wBAChBC,YAAa,mBACbC,aAAc,oBACdC,cAAe,qCAEjBC,MAAO,CACLC,KAAMT,EACNhF,UAAW8E,GAEbY,OAAQ,CACN,CACED,KAAM,eACNzF,UAAW+E,GAEb,CACEU,KAAMT,EAAU,YAChBhF,UAAW6E,M,2CC9BjB,IAAI9G,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,0CAA0CC,MAAM,CAAC,MAASL,EAAI2H,OAAOnH,MAAM,CAAC,GAAK,gCAAgC,CAACN,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACJ,EAAIc,GAAG,SAAS,KAAK,CAAC,UAAYb,OAAOC,EAAG,YAAY,CAACE,YAAY,UAAUI,MAAM,CAAC,GAAK,mCAAmC,MAAQR,EAAI2H,SAAS3H,EAAIc,GAAG,SAAQ,WAAW,MAAO,CAAEd,EAAoB,iBAAEE,EAAG,KAAK,CAACE,YAAY,eAAeI,MAAM,CAAC,GAAK,mCAAmC,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAI4H,mBAAmB,OAAO5H,EAAIa,QAAO,CAAC,UAAYZ,OAAQD,EAAW,QAAEA,EAAIc,GAAG,WAAU,WAAW,MAAO,CAACZ,EAAG,YAAY,CAACM,MAAM,CAAC,OAAS,qCAAqC,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAI4H,mBAAmB,UAAS,CAAC,UAAY3H,OAAOD,EAAIa,MAAM,MAEtzBG,EAAkB,GC+BP,GACbC,KAAM,oBACNS,MAAO,CACLmG,iBAAkB,CAChBjG,KAAMG,QACND,SAAS,EACTH,UAAU,GAEZmG,aAAc,CACZlG,KAAMC,OACNC,QAAS,KACTH,UAAU,GAEZgG,MAAO,CACL/F,KAAMG,QACND,SAAS,EACTH,UAAU,GAEZoG,QAAS,CACPnG,KAAMG,QACND,SAAS,EACTH,UAAU,IAGd,OACE,MAAO,CACLT,kBAAmB,CACjB4G,aAAc,gBAIpB1G,SAAU,CACR,oBACE,OAAInB,KAAK6H,aAAqB7H,KAAK6H,aAC5B7H,KAAKwB,WAAWqG,cAEzB,aACE,OAAO7H,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,sBCtE0L,I,wBCQrQc,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,aAAAgB,E,6CCnBf,W,kCCAA,W,2DCAA,W,8CCCAC,EAAOC,QAAU,CAAC,MAAQ,OAAO,QAAU,uBAAuB,QAAU,oBAAoB,QAAU,oBAAoB,QAAU,oBAAoB,OAAS,UAAU,SAAW,sBAAsB,WAAa,Y,oCCD7N,oPAAM8F,EAAuBjE,OAAOkE,OAAO,CACzCC,YAAa,cACbC,WAAY,aACZC,UAAW,YACXC,MAAO,QACPC,KAAM,SAGFC,EAAyBxE,OAAOkE,OAAO,CAC3CO,cAAe,gBACfC,UAAW,YACXC,SAAU,aAGNC,EAA0B,CAAC,oBAAqB,oCAChDC,EAAgC,CAAC,YAAa,OAAQ,SACtDC,EAAyB,CAAC,OAAQ,SAClCC,EAAkC,mCAClCC,EAAqB,yB,oCClB3B,W,oCCAA,IAAIhJ,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,MAAM,CAAC,iCAAkC,CAAE,mBAAqBL,EAAImC,6BAA8B,CAACjC,EAAG,8BAA8B,CAACM,MAAM,CAAC,MAAQR,EAAIyB,WAAWuH,iBAAiB,YAAY,2BAA2B,SAAWhJ,EAAIM,SAAS,gBAAgBN,EAAIyB,WAAWD,eAAe,CAACtB,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,QAAQ,CAAC+I,WAAW,CAAC,CAAChI,KAAK,QAAQiI,QAAQ,UAAU9F,MAAOpD,EAAc,WAAEwD,WAAW,eAAehD,MAAM,CAAC,GAAK,kBAAkB,KAAO,OAAO,YAAcR,EAAIyB,WAAWuH,kBAAkBG,SAAS,CAAC,MAASnJ,EAAc,YAAGwC,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAIA,EAAOd,KAAKwH,QAAQ,QAAQpJ,EAAIqJ,GAAG3G,EAAO4G,QAAQ,QAAQ,GAAG5G,EAAO6G,IAAI,SAAgB,KAAYvJ,EAAIwJ,sBAAsBC,MAAM,KAAMC,YAAY,MAAQ,SAAShH,GAAWA,EAAOiH,OAAOC,YAAiB5J,EAAI6J,WAAWnH,EAAOiH,OAAOvG,WAAapD,EAAI8J,gBAAkB9J,EAAI8J,eAAeC,iBAAiBvF,OAAQtE,EAAG,KAAK,CAACE,YAAY,oBAAoBJ,EAAIgK,GAAIhK,EAAI8J,eAA+B,kBAAE,SAASD,EAAWI,GAAO,OAAO/J,EAAG,KAAK,CAACqJ,IAAIU,GAAO,CAAC/J,EAAG,OAAO,CAACsC,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAO1C,EAAIkK,mBAAmBD,EAAOJ,MAAe,CAAC7J,EAAIU,GAAG,IAAIV,EAAIW,GAAGkJ,GAAY,OAAO3J,EAAG,MAAM,CAACE,YAAY,aAAaI,MAAM,CAAC,KAAO,UAAUgC,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAO1C,EAAImK,qBAAqBF,MAAU,CAAC/J,EAAG,MAAM,CAACM,MAAM,CAAC,MAAQ,IAAI,OAAS,IAAI,QAAU,UAAU,KAAO,OAAO,MAAQ,6BAA6B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,GAAK,IAAI,KAAO,SAAS,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,kHAAkHN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,6GAA6G,KAAO,OAAO,eAAe,QAAQN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,+sCAA+sC,KAAO,UAAU,eAAe,MAAM,KAAO,sBAAqB,GAAGR,EAAIa,SAASX,EAAG,MAAM,CAACE,YAAY,qBAAqBoC,GAAG,CAAC,MAAQ,SAASE,GAAgC,OAAxBA,EAAOgB,iBAAwB1D,EAAI2C,MAAM,aAAa,CAAG3C,EAAImC,0BAAuEjC,EAAG,MAAM,CAACM,MAAM,CAAC,MAAQ,IAAI,OAAS,IAAI,QAAU,UAAU,KAAO,OAAO,MAAQ,6BAA6B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,GAAK,IAAI,KAAO,SAAS,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,kHAAkHN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,6GAA6G,KAAO,OAAO,eAAe,QAAQN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,+sCAA+sC,KAAO,UAAU,eAAe,MAAM,KAAO,eAAx1DN,EAAG,IAAI,CAACE,YAAY,2BAAs1D,IAE1sKY,EAAkB,G,YC6DP,GACbC,KAAM,yBACN0C,WAAY,CACVyG,2BAAA,MAGF1I,MAAO,CACL0B,MAAO,CACLxB,KAAMmC,OACNpC,UAAU,EACVG,QAAS,QAEXK,0BAA2B,CACzBP,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLxB,UAAU,EACVY,kBAAmB,CACjB8H,iBAAkB,oBAClBqB,eAAgB,oBAChB7I,aAAc,+CAEhBqI,WAAY,GACZC,eAAgB,CACdC,iBAAkB,GAClBM,gBAAgB,KAItB,UACMpK,KAAKmD,QACPnD,KAAK6J,eAAiB7J,KAAKmD,QAG/BhC,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E8D,QAAS,CACP,iBAGE,OAFA/E,KAAKuJ,wBACLvJ,KAAKK,WAAaL,KAAK6J,gBAAkB7J,KAAK6J,eAAeC,iBAAiBvF,SACtEvE,KAAKK,UAEf,wBACML,KAAK4J,aACP5J,KAAK6J,eAAeC,iBAAiBO,QAAQrK,KAAK4J,YAClD5J,KAAK4J,WAAa,GAClB5J,KAAKsK,wBAGT,qBAAsBN,GACpBhK,KAAK6J,eAAeC,iBAAiBS,OAAOP,EAAO,GACnDhK,KAAKsK,uBAEP,0BACEtK,KAAK6J,eAAeO,gBAAkBpK,KAAK6J,eAAeO,eAC1DpK,KAAKsK,uBAEP,sBACEtK,KAAK0C,MAAM,QAAS1C,KAAK6J,gBACrB7J,KAAKK,UAAUL,KAAK0F,kBAE1B,mBAAoBsE,EAAOJ,GACzB5J,KAAK4J,WAAaA,EAClBY,SAASC,eAAe,mBAAmBC,QAC3C1K,KAAK6J,eAAeC,iBAAiBS,OAAOP,EAAO,MCtIgP,I,wBCQrSjI,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,OAAAgB,E,sFCnBf,+HAGA,MAAM4I,YAAc,4CAAIC,MAAM,CAC5BzJ,SAAU,CACR,wBACE,OAAO0J,OAAOC,OAASD,OAAOE,MAGlChG,QAAS,IACJ,+CAAa,CACdiG,kBAAmB,mCACnBC,oBAAqB,4BACrBC,aAAc,qBACdC,gBAAiB,0BAEnB,MAAOC,GACL,OAAO,IAAIC,QAAQC,GAAWC,WAAWD,EAASF,KAEpD,mBAAoBI,GAClB,OAAIxL,KAAKyL,sBAA8BzL,KAAK0L,QAAQC,QAAQH,GAChDxL,KAAK0L,QAAQE,KAAKJ,IAEhC,aAAcK,GACZ,KAAIA,EAAItH,OAAS,GAEjB,OAAOsH,EAAIC,WAAW,IAAK,KAAKC,MAAM,KAAKC,IAAIC,GAAQA,EAAK,GAAGC,cAAcC,OAAOF,EAAKG,MAAM,KAAKC,KAAK,MAE3G,yBACErM,KAAKgL,qBAEP,iBAAiB,OAAEsB,EAAM,QAAEC,IACzBvM,KAAKiL,qBAAoB,GACzBjL,KAAKkL,aAAaoB,GAClBtM,KAAKmL,gBAAgBoB,IAEvB,kBACEvM,KAAKiL,qBAAoB,GACzBjL,KAAKmL,gBAAgB,OAEvB,WAAYqB,MACV,OAAOA,KAAKb,QAAQ,WAAYc,QAC9B,MAAMC,SAAWD,MAAML,MAAM,GAAI,GAEjC,OAAOO,KAAK,QAAUD,aAG1B,sBAAuBE,EAASC,GAC9B,MAAMC,EAAQhJ,OAAOiJ,KAAKH,GACpBI,EAAQlJ,OAAOiJ,KAAKF,GAC1B,GAAIC,EAAMvI,SAAWyI,EAAMzI,OACzB,OAAO,EAET,UAAW,MAAM+E,KAAOwD,EAAO,CAC7B,IAAKD,EAAQvD,GACX,OAAO,EAET,GAAIsD,EAAQtD,GAAK2D,aAAeJ,EAAQvD,GAAK2D,WAC3C,OAAO,EAGX,OAAO,GAET,cAAeC,GACb,OAASC,MAAMC,OAAOF,KAAuB,OAAXA,GAA+B,IAAXA,GAExD,gBAAiBX,EAASc,GAA0B,GAQlD,IAAIA,EAKG,CACL,MAAMC,EAAc,mCAEpB,OAAO,IAAIjC,QAAQ,CAACC,EAASiC,KAC3BC,OAAOC,QAAQC,YAAYJ,EAAaf,EAAUoB,IAC5CA,GAAgC,YAApBA,EAASrB,QACvBsB,QAAQC,IAAI,qBAAqBtB,EAAQ5K,6BACzC2J,GAAQ,IAERiC,EAAO,IAAIO,MAAM,kBAAkBvB,EAAQ5K,kCAb7CkJ,OAAOkD,QAAUlD,OAAOkD,OAAOC,cACjCnD,OAAOkD,OAAOC,YAAYzB,EAAS,KACnCqB,QAAQC,IAAI,qBAAqBtB,EAAQ5K,+BAiB/C,sBAAuBsM,EAAS,cAM9BjO,KAAKkO,gBAAgB,CAAEvM,KAAM,wBAAyBsM,YAExD,6BAA8BE,GAG5B,MAAMC,EAAS,IAAIC,IAAIF,GAAKG,SACtBC,EAAmB,CACvB,cAAe,sBAAuB,gBAAiB,eAAgB,cACvE,oBAAqB,WAAY,kBAAmB,qBAEhDC,EAAc,IAAIC,OAAOF,EAAiBlC,KAAK,MACrD,OAAOmC,EAAYE,KAAKN,IAE1B,aAAcO,GACZ,MAAMC,EAAa,mDACnB,OAAOA,EAAWF,KAAKC,OAKd,sC,qJCxHf,MAAME,EAAU,IAAM,yCAGhB9H,EAAU,IACD,OACb/F,KAAM,OACN8E,OAAQ,OAASiB,EACjBQ,MAAO,CACLC,KAAMT,EACN+H,SAAU,SAEZrH,OAAQ,CACN,CAAED,KAAM,WAAYzF,UAAW8M,K,wBCZnC,MAAME,EAAuB,IAAM,sDAG7B,EAAU,YAED,OACb/N,KAAM,WACN8E,OAAQ,uBACRyB,MAAO,CACLC,KAAM,EACNzF,UAAWgN,ICVf,MAAMC,EAAyB,IAAM,wDAG/B,EAAU,sBAED,OACbhO,KAAM,aACN8E,OAAQ,mBACRyB,MAAO,CACLC,KAAM,EACNzF,UAAWiN,ICVf,MAAMC,EAAgB,IAAM,+CACtBC,EAAc,IAAM,6CACpBC,EAAU,IAAM,yCAEhB,EAAU,YACD,OACbnO,KAAM,WACNuG,MAAO,CACLC,KAAM,EACNzF,UAAWoN,EACXC,SAAU,CACR,CACE5H,KAAM,GACNzF,UAAWmN,GAEb,CACE1H,KAAM,kBACNzF,UAAWkN,M,YCDnB,MAAMI,EAAoB,IAAM,mDAC1BC,EAAY,IAAM,2CAClBC,EAAgB,IAAM,gIACtBC,EAAmB,IAAM,wVACzBC,EAAY,IAAM,2CAClBC,EAAgB,IAAM,+CACtBC,EAAqB,IAAM,oDAC3BC,EAA8B,IAAM,6DACpCC,EAAgB,IAAM,6DACtBC,EAAa,IAAM,+HAEZC,EAAiB,CAC5B,EAAS,OAAY,OAAgB,OAAaC,EAAA,KAAgB,OAASC,EAAA,KAAc,EAAU,EAAY,GAGjH,IAAIC,EAAwB,GAC5B,IAAK,MAAMlG,KAAS+F,EACdA,EAAe/F,GAAOzC,OACxB2I,EAAsBtE,KAAKmE,EAAe/F,GAAOzC,OAE/CwI,EAAe/F,GAAOvC,QAAU0I,MAAMC,QAAQL,EAAe/F,GAAOvC,UACtEyI,EAAwBA,EAAsB/D,OAAO4D,EAAe/F,GAAOvC,SAI/E,MAAM4I,EAAqB,CAACC,EAAIC,EAAMC,KACpC,MAAMC,EAAeC,EAAA,KAAMrP,QAAQ,4BACnC,GAAKoP,EAOE,CACL,MAAME,EAAOD,EAAA,KAAMrP,QAAQ,aAC3BwJ,OAAO+F,WAAWC,SAASF,EAAKhC,MAAOgC,GACvCH,QAViB,CAEjB,MAAMM,EAAW,CAAEtJ,KAAM,SAAUmE,QAASd,OAAOC,OAASD,OAAOE,KAC/DuF,EAAGS,UAAYT,EAAGS,SAASxM,OAAS,IACtCuM,EAASE,MAAQ,CAAElC,SAAUwB,EAAGS,WAElCP,EAAKM,KAQTZ,EAAsBtE,KAAK,CACzB5K,KAAMiQ,EAAA,KAAYjQ,KAClBwG,KAAMyJ,EAAA,KAAYzJ,KAClBzF,UAAWkP,EAAA,KAAYlP,UACvBmP,YAAab,IAGf,MAAMc,EAAa,CACjB,CACE3J,KAAM,SACNzF,UAAW0N,GAEb,CACEjI,KAAM,0BACNzF,UAAW2N,GAEb,CACElI,KAAM,IACNzF,UAAWwN,EACXH,SAAUc,EACVgB,YAAab,GAEf,CACE7I,KAAM,yBACNzF,UAAWyN,EACX/N,OAAO,EACPyP,YAAab,GAEf,CACE7I,KAAM,uBACNzF,UAAWsN,EACX5N,OAAO,GAET,CACE+F,KAAM,sBACNzF,UAAW4N,GAEb,CACEnI,KAAM,iBACNzF,UAAW8N,GAEb,CACErI,KAAM,uBACNzF,UAAW6N,GAEb,CACEpI,KAAM,UACNzF,UAAWuN,EACX4B,YAAab,GAEf,CACE7I,KAAS,OAAH,OACNzF,UAAW+N,GAEb,CACEtI,KAAM,IACNsH,SAAU,MAId,aAAIsC,IAAI,QAER,MAAMC,EAAS,IAAI,OAAU,CAC3BC,KAAM,UACN7J,OAAQ0J,EACR,eAAgBb,EAAIC,EAAMgB,GACxB,OAAIA,IACAjB,EAAGkB,KAAa,CAAEC,SAAUnB,EAAGkB,MAC5B,CAAEE,EAAG,EAAGC,EAAG,OAItBN,EAAOO,WAAW,CAACtB,EAAIC,EAAMC,KAC3B3F,OAAO+F,WAAWiB,KAAKvB,EAAG9I,KAAM,CAAEsK,UAAWxB,EAAGS,WAChDP,MAGa,U,oCCtIf,+FAMO,MAAMuB,EAAmB,CAC9B/Q,KAAM,mBACNgR,mBAAoB,EAAAhM,EACpBiM,aAAc,EACdlN,QAAS,CACP,cAEE,OADAgN,EAAiBE,cAAgB,EAC1B,eAAiBC,KAAKC,MAAQC,KAAKC,MAAMD,KAAKE,UAAY,IAAMP,EAAiBE,cAE1F,wBAAwB,OAAElE,EAAS,KAAI,MAAEwE,EAAQ,KAAI,YAAEC,GAAc,EAAK,gBAAEC,GAAkB,GAAU,IACtG,IAAIC,EAAW,SACX1R,EAAO,YACPyR,IACFC,EAAW,YACX1R,EAAO,iBAET,IAAI2R,EAAsB,CACxBC,uBAAwB,GACxBC,wBAAwB,EACxBC,eAAgB,GAChBC,aAAc,GACdC,aAAa,EACbC,aAAcT,EACdU,iBAAiB,EACjBC,UAAWT,EACXU,aAAc,GACdpS,OACAqS,MAAM,EACNC,eAAe,EACfC,WAAY,GACZC,MAAM,EACNC,yBAAyB,EACzBC,UAAU,EACVC,KAAM,GACNC,SAAU7B,EAAiBhN,QAAQ8O,cACnCC,SAAU,IAQZ,OALI/F,GAAUwE,EACZI,EAAsB5E,EAAS,IAAK4E,EAAqB5E,SAAQwE,SAAU,IAAKI,EAAqBJ,SAEhGE,IAAiBE,EAAsB,IAAKA,EAAqBO,iBAAiB,IAElFP,GAET,cAAeoB,EAAMC,GAiBnB,OAhBAD,EAAKH,SAAWG,EAAKH,UAAY7B,EAAiBhN,QAAQ8O,cAC1D,aAAII,IAAIF,EAAM,QAAQ,GACtB,aAAIE,IAAIF,EAAM,YAAY,GACtBA,EAAKR,YAAcQ,EAAKR,WAAWhP,OAAS,EAC9C,aAAI0P,IAAIF,EAAM,iBAAiB,GACrBA,EAAKT,eAAe,aAAIW,IAAIF,EAAM,iBAAiB,GAC/D,aAAIE,IAAIF,EAAM,mBAAoBhC,EAAiBhN,QAAQmP,aAAaH,IACpEC,GAAiBA,EAAcG,KAAIJ,EAAKhG,OAASiG,EAAcG,IAC9DJ,EAAKX,eAAcW,EAAKX,aAAe,SACfgB,IAAzBL,EAAKM,iBAAiCN,EAAKjB,gBAAkBiB,EAAKjB,eAAevO,OAAS,IAC5FwP,EAAKM,gBAAkBN,EAAKjB,eAAewB,KAAKC,GAAUA,EAAOF,kBAKnEN,EAAKS,sBAAwB,GACtBT,GAET,aAAc/M,GACZ,OAAO,IAAIqE,QAAQ,CAACC,EAASiC,KAC3B,IAAIkH,EAAS,OACTtG,EAAM,OAAQrI,OAAOkB,SAErBA,EAASmN,KACXM,EAAS,QACTtG,GAAO,IAAMnH,EAASmN,IAExBpC,EAAiBC,mBAAmByC,GAAQtG,EAAKnH,GAAU0N,KAAM/G,IAC/DrC,EAAQqC,EAASxI,OACfwP,IACFpH,EAAOoH,QAIb,kBAAmBX,GACjB,OAAOjC,EAAiBC,mBAAmB4C,MACzC,OAAQ9O,OAAOmB,aAAe,IAAM+M,EAAcG,GAClD,CACE/E,SAAU4E,EAAc5E,SAAW4E,EAAc5E,SAASpD,IAAI+F,EAAiBhN,QAAQ8P,oBAAsB,GAC7GtB,WAAYS,EAAcT,WAC1BX,uBAAwBoB,EAAcpB,0BAI5C,mBAAoB3L,GAElB,MAAM,GACJkN,EAAE,KACFnT,EAAI,UACJmS,EAAS,aACTJ,EAAY,eACZD,EAAc,KACd3N,EAAI,YACJ6N,EAAW,KACXK,EAAI,aACJD,EAAY,SACZ1R,EAAQ,SACRoT,EAAQ,uBACRlC,EAAsB,WACtBW,EAAU,OACVxF,EAAM,MACNwE,EAAK,UACLwC,EAAS,gBACT7B,EAAe,wBACfO,GACExM,EACE+N,EAAa,CACjBb,KACAnT,OACAmS,YACAJ,eACAD,iBACA3N,OACA6N,cACAK,OACA3R,WACAoT,WACA/G,SACAwE,QACAgB,aACAwB,YACA7B,kBACAO,2BAWF,GATIb,IACFoC,EAAWpC,uBAAyBA,GAElCW,GAAcA,EAAWhP,OAAS,IACpCyQ,EAAWzB,WAAaA,GAEtBH,GAAgBtP,OAAOiJ,KAAKqG,GAAc7O,OAAS,IACrDyQ,EAAW5B,aAAe,IAAKA,EAAc6B,gBAAiB7B,EAAa6B,gBAAgBd,KAEzFa,EAAWlC,eAAgB,CAC7B,MAAMoC,EAAgBF,EAAWlC,eAAe9G,IAAI,CAAC+H,EAAM/J,KAClD,CACLmK,GAAIJ,EAAKI,GAAKJ,EAAKI,GAAK,KACxBxT,MAAOoT,EAAKpT,MACZ0T,kBAAmBpN,EAAaoN,gBAChC9B,MAAOvI,EAAQ,EACfmL,QAASpB,EAAKoB,QAAQnJ,IAAIoJ,IACjB,CACLzT,KAAMyT,EAAazT,KACnBwD,KAAMiQ,EAAajQ,KACnBoN,MAAO6C,EAAa7C,SAGxBoB,KAAMI,EAAKJ,QAGfqB,EAAW7P,KAAO,CAAEkQ,YAAaH,GAEnC,OAAOF,GAET,cAAeM,GACb,OAAKA,GAA0B,IAAjBA,EAAM/Q,OAGb+Q,EAAMtJ,IAAI+H,IACfA,EAAKM,kBAAkBN,EAAKjB,gBAAiBiB,EAAKjB,eAAewB,KAAKP,GAAQA,EAAKM,iBAC5EN,IAJA,IAOX,cAAewB,EAAWC,GACxB,OAAO,IAAInK,QAAQ,CAACC,EAASiC,KAC3B,MAAMvG,EAAW,CAAEhG,KAAMuU,EAAUvU,KAAMW,KAAM,aAC3C4T,EAAUE,aAAYzO,EAASmN,GAAKoB,EAAUE,YAClD,MAAMC,EAAkB3D,EAAiBhN,QAAQ4Q,aAAa3O,GAC9D,OAAO0O,EAAgBhB,KAAKkB,IAC1B,MAAMC,EAAmBD,EAAYE,eACrCD,EAAiBzG,SAAWmG,EAAUQ,SAAS3G,SAE/CyG,EAAiBtC,WAAa,GAC9B,MAAMyC,EAAuBjE,EAAiBhN,QAAQkR,kBAAkBJ,GACxE,OAAOG,EAAqBtB,KAAK,KAC/Ba,EAAUE,WAAaG,EAAYzB,GAC5BpC,EAAiBhN,QAAQmR,oBAAoBX,EAAWC,GAAed,KAAKpJ,OAEpF6K,MAAMxB,IACPpH,EAAOoH,QAIb,mBAAoByB,GAClB,MAAMjI,EAAM,OAAQrI,OAAOoB,gBAAkB,IAAMkP,EACnD,OAAOrE,EAAiBC,mBAAmB5L,IAAI+H,IAEjD,oBAAqBoH,EAAWC,GAE9B,IAAIrH,EAAM,OAAQrI,OAAOoB,gBACrBuN,EAAS,OACTc,EAAUpB,KACZhG,GAAO,IAAMoH,EAAUpB,GACvBM,EAAS,OAEX,IAAI4B,EAAyBd,EAAUe,iBAMvC,OALKD,EAEMA,EAAuBlN,QAAQqM,GAAiB,GACzDa,EAAuBzK,KAAK4J,GAF5Ba,EAAyB,CAACb,GAIrBzD,EAAiBC,mBAAmByC,GAAQtG,EAAK,CACtDnN,KAAMuU,EAAUvU,KAChBsV,iBAAkBD,EAClBZ,WAAYF,EAAUE,WACtBlD,MAAOgD,EAAUhD,SAGrB,cAAegE,EAAYC,EAAiBC,EAAe,MACzD,OAAO,IAAIpL,QAAQ,CAACC,EAASiC,KAC3B,MAAMpI,EAAO,CAAEgP,GAAIoC,EAAYvV,KAAMwV,GACjCC,IAActR,EAAKuR,YAAcD,GACrC,MAAMtI,EAAM,OAAQrI,OAAOwB,cAC3ByK,EAAiBC,mBAAmB/L,KAAKkI,EAAKhJ,GAAMuP,KAAK/G,IACvDrC,EAAQqC,EAASxI,KAAKgP,KACrBQ,IACDpH,EAAOoH,QAIb,mBAAoB5G,EAAQuH,EAAOqB,GAKjC,OAAO,IAAItL,QAAQ,CAACC,EAASiC,KAC3B,MAAMqJ,EAAcD,EAAMpS,OAC1B,GAAI+Q,EAAM,GAAG/C,MAAQqE,EAAc,EAEjC,YADArJ,EAAO,IAAIO,MAAM,8BAGnB,MAAM+I,EAAuB,GAC7B,IAAK,MAAM9C,KAAQuB,EACjBuB,EAAqBjL,KAAKmG,EAAiBhN,QAAQ+R,eAAe/C,EAAM4C,IAE1EtL,QAAQ0L,IAAIF,GAAsBnC,KAAK,KACrC,GAAIY,EAAM,GAAG/C,MAAQqE,EAAc,EACjC,OAAO7E,EAAiBhN,QAAQiS,mBAAmBjJ,EAAQ4I,GAAOjC,KAAKpJ,GAC9DgK,EAAM,GAAG/C,QAAUqE,EAAc,GAC1CtL,MAED6K,MAAMxB,IACPpH,EAAOoH,QAIb,uBAAwB5G,EAAQ/J,EAAewO,GAAc,GAC3D,OAAO,IAAInH,QAAQ,CAACC,EAASiC,KAC3B,MAAM0J,EAAejT,EAAcO,OAAS,EACtCwP,EAAOhC,EAAiBhN,QAAQmS,uBAAuB,CAC3DnJ,OAAQA,EAAOoG,GACf5B,MAAO0E,EACPzE,gBAEFT,EAAiBhN,QAAQoS,mBAAmBpJ,EAAQ,CAACgG,GAAO/P,GAAe0Q,KAAK,KAC9EpJ,MACC6K,MAAMxB,IACPpH,EAAOoH,QAIb,eAAgBZ,EAAM4C,GAKpB,OAAO,IAAItL,QAAQ,CAACC,EAASiC,KAC3B,aAAI0G,IAAIF,EAAM,WAAW,GACzB,MAAMqD,EAAYrD,EAAKxB,MAAQ,EAC/BoE,EAAMpM,OAAO6M,EAAW,EAAGrD,GAC3BA,EAAKsD,eAAiBtF,EAAiBhN,QAAQuS,iBAAiBvD,GAAMW,KAAK/G,IACzE,aAAIsG,IAAIF,EAAM,mBAAoBhC,EAAiBhN,QAAQmP,aAAavG,EAASxI,OACjFrB,OAAOyT,OAAOxD,EAAMpG,EAASxI,MAC7B,aAAI8O,IAAIF,EAAM,WAAW,GACzBzI,EAAQyI,KACPoC,MAAMxB,IAGPgC,EAAMpM,OAAOwH,EAAiBhN,QAAQyS,cAAcb,EAAO5C,GAAO,GAClE,aAAIE,IAAIF,EAAM,QAASY,GACvB,aAAIV,IAAIF,EAAM,WAAW,GACzBxG,EAAOoH,QAIb,cAAegC,EAAO5C,GACpB,OAAO4C,EAAMc,UAAUC,GAAWA,EAAQ9D,WAAaG,EAAKH,WAE9D,qBACE,OAAOvI,QAAQC,WAEjB,uBAAwByI,EAAM4D,EAAQ,KACpC,MAAMC,EAAO7D,EAAK8D,eAAiB,IAAMF,EACzC,OAAO,IAAItM,QAAQ,CAACC,EAASiC,KAC3B,MAAMuK,EAAO/F,EAAiBhN,QAAQgT,gBAAgBhE,GAIhDiE,EAAaC,KAAKC,MAAMD,KAAKE,UAAUpE,IACzCiE,EAAWA,mBAAmBA,EAAWA,WAC7CjE,EAAKiE,WAAaA,EAIlB,MAAMI,EAA4BrE,EAAKsE,iBAAmBtE,EAAKuE,qBAAuBvG,EAAiBhN,QAAQwT,qBAI/G,IAAIC,EACJ,MAAMC,EAAuB,IAAIpN,SAAQ,SAAUC,GACjDkN,EAAmClN,KAErCyI,EAAKS,sBAAwBT,EAAKS,sBAAwBT,EAAKS,sBAAwB,GACvFT,EAAKS,sBAAsB5I,KAAK6M,GAChCL,EAA0B1D,KAAK,KAC7BX,EAAKuE,qBAAuB,OAAgBvT,QAAQ2T,iBAAiBZ,EACnE/F,EAAiBhN,QAAQ4T,0BAA2B5E,EAAM6D,GAG5DY,IACOzE,EAAKuE,qBAAqB5D,KAAK,KACpCpJ,QAED6K,MAAMxB,IACPpH,EAAOoH,QAIb,0BAA2BZ,EAAM6E,EAAS,CAAEzK,IAAK,OAAQrI,OAAOmB,eAC9D,OAAO,IAAIoE,QAAQ,CAACC,EAASiC,KAC3BwG,EAAKsE,kBAAmB,EACxBtG,EAAiBhN,QAAQuS,iBAAiBvD,EAAM6E,GAAQlE,KAAM/G,IAC5DoE,EAAiBhN,QAAQ8T,eAAe9E,EAAMpG,EAASxI,MACvD4O,EAAKsE,kBAAmB,EACxB/M,EAAQyI,KACPoC,MAAMxB,IACPZ,EAAKsE,kBAAmB,EACxB9K,EAAOoH,QAIb,aAAcmE,EAAMC,GAKlB,IAAK,MAAMC,KAAOF,EAChB,IAAK,MAAMG,KAAcF,EACnBC,EAAIhY,OAASiY,EAAWjY,MAAQgY,EAAIvD,aAAewD,EAAWxD,YAAeuD,EAAI7E,KACnF6E,EAAI7E,GAAK8E,EAAW9E,IAI1B,OAAO2E,GAET,eAAgB/E,EAAMmF,GAOpBnF,EAAKI,GAAK+E,EAAY/E,GACtBJ,EAAKD,SAAWoF,EAAYpF,SAC5BC,EAAKoF,WAAaD,EAAYC,WAC9BpF,EAAKqF,iBAAmBrH,EAAiBhN,QAAQmP,aAAagF,GAC1DnF,EAAKnB,uBAAuBrO,OAAS,GAAK2U,EAAYtG,uBAAuBrO,OAAS,IACxFwP,EAAKnB,uBAAyBb,EAAiBhN,QAAQsU,aAAatF,EAAKnB,uBAAwBsG,EAAYtG,yBAE3GmB,EAAKX,eAAiBW,EAAKX,aAAae,IAAM+E,EAAY9F,cAAgB8F,EAAY9F,aAAae,KACrGJ,EAAKX,aAAae,GAAK+E,EAAY9F,aAAae,KAGpD,iBAAkBJ,EAAM6E,EAAS,CAAEzK,IAAK,OAAQrI,OAAOmB,eASrD,IAAIwN,EAAS,OACTtG,EAAMyK,EAAOzK,IACjB,MAAMhJ,EAAO4M,EAAiBhN,QAAQ8P,mBAAmBd,EAAKiE,YAAcjE,GAK5E,OAJIA,EAAKI,KACPM,EAAS,MACTtG,EAAMA,EAAM,IAAM4F,EAAKI,IAElBpC,EAAiBC,mBAAmByC,GAAQtG,EAAM,kBAAmBhJ,IAE9E,mBAAoB4O,EAAM3E,EAAUkK,EAAY,KAC9C,OAAO,IAAIjO,QAAQ,CAACC,EAASiC,KAC3B,MAAMpI,EAAO,CACXgP,GAAIJ,EAAKI,GACT/E,SAAUA,EAASmK,OAAOxF,KAAUA,EAAKI,IAAInI,IAAI+H,GAAQA,EAAKI,IAC9DZ,WAAYQ,EAAKR,WAAWgG,OAAOxF,KAAUA,EAAKI,IAAInI,IAAI+H,GAAQA,EAAKI,KAEnE2D,EAAO/F,EAAiBhN,QAAQyU,mBAAmBzF,GACzDA,EAAK0F,oBAAsB,OAAgB1U,QAAQ2T,iBAAiBZ,EAClE/F,EAAiBhN,QAAQ2U,iBAAkBvU,EAAMmU,GAChD5E,KAAK,KACJpJ,MAED6K,MAAMxB,IACL,aAAIV,IAAIF,EAAM,QAASY,GACvBpH,EAAOoH,QAIf,iBAAkBxP,GAChB,OAAO,IAAIkG,QAAQ,CAACC,EAASiC,KAC3B,MAAMY,EAAM,wBAA0BhJ,EAAKgP,GAAK,gBAChDpC,EAAiBC,mBAAmB2H,IAAIxL,EAAKhJ,GAAMuP,KAAK,KACtDpJ,MACC6K,MAAMxB,IACPpH,EAAOoH,QAIb,gBAAiBZ,EAAM6F,GAIrB,MAAMrV,EAASwP,EAAKD,SAASvP,OACvByF,EAAQ+J,EAAKD,SAAS2D,UAAUoC,GAAWA,EAAQ1F,KAAOyF,GAChE,OAAI5P,GAAS,EACHzF,EAASyF,EAAS,MAAQ+J,EAAKD,SAAS9J,GAAO8P,WAElD,MAET,aAAc/F,GAIZ,MAAM/J,EAAQ+J,EAAKD,SAAS2D,UAAUoC,GAAWA,EAAQV,aAAepF,EAAKoF,YAC7E,OAAInP,GAAS,EACJ+J,EAAKD,SAAS9J,GAAOmK,GAEvB,MAET,gBAAiBJ,GAEf,MAAO,sBAAwBA,EAAKhG,OAAS,IAAMgG,EAAKH,UAE1D,oBAAqB5M,GACnB,MAAO,gBAAkBA,EAASmN,IAEpC,mBAAoBJ,GAElB,MAAO,qBAAuBA,EAAKI,IAErC,6BAA8BJ,GAS5B,MAAMgG,EAAkB,GAClBjC,EAAO/F,EAAiBhN,QAAQgT,gBAAgBhE,GACtD,GAAIA,EAAKiG,QAEPD,EAAgBnO,KAAKmI,EAAKsD,qBACrB,GAAItD,EAAKsE,iBAAkB,CAIhC,MAAM4B,EAAUlI,EAAiBhN,QAAQmV,4BAA4BnG,EAAM+D,GAC3EiC,EAAgBnO,KAAKqO,QAGrBF,EAAgBnO,KAAK,OAAgB7G,QAAQoV,wBAAwBrC,IAIvE,MAAMsC,EAAkBrI,EAAiBhN,QAAQyU,mBAAmBzF,GAEpE,OADAgG,EAAgBnO,KAAK,OAAgB7G,QAAQoV,wBAAwBC,IAC9DL,GAET,4BAA6BhG,EAAM+D,GACjC,OAAO/D,EAAKuE,qBAAqB5D,KAAK,KACpCrJ,QAAQ0L,IAAIhD,EAAKS,uBAAuBE,KAAK,KAC3CX,EAAKS,sBAAwB,GAC7B,OAAgBzP,QAAQoV,wBAAwBrC,QAItD,iCAAkC9Q,EAAU+G,EAAQ/J,GAIlD,MAAMqW,EAAkB,GACxB,IAAK,MAAMtG,KAAQ/P,EACjBqW,EAAgBzO,QAAQmG,EAAiBhN,QAAQuV,6BAA6BvG,IAGhF,MAAMqG,EAAkBrI,EAAiBhN,QAAQyU,mBAAmBzL,GAIpE,GAHAsM,EAAgBzO,KAAK,OAAgB7G,QAAQoV,wBAAwBC,IAGjEpT,EAAU,CACZ,MAAMuT,EAAexI,EAAiBhN,QAAQyV,oBAAoBxT,GAClEqT,EAAgBzO,KAAK,OAAgB7G,QAAQoV,wBAAwBI,IAEvE,OAAOF,GAET,gCAAiCrT,EAAU+G,EAAQ/J,GAKjD,MAAMyW,EAA6B1I,EAAiBhN,QAAQ2V,iCAAiC1T,EAAU+G,EAAQ/J,GAC/G,OAAOqH,QAAQ0L,IAAI0D,IAErB,gBAAiBlF,EAAWxB,GAC1B,OAAO,IAAI1I,QAAQ,CAACC,EAASiC,KAC3BwE,EAAiBC,mBAAmB2I,OAAO,yBAA2BpF,EAAUpB,GAAK,kBAAoBJ,EAAKI,IAAIO,KAAK,KACrHpJ,MACC6K,MAAMxB,IACPpH,EAAOoH,QAIb,oBAAqBA,GACnB,OAAIA,GAASA,EAAMhH,SACbgH,EAAMhH,SAASrB,QAAU,IAAYqI,EACrCA,EAAMhH,SAASxI,MAAQwP,EAAMhH,SAASxI,KAAKyV,OAAejG,EAAMhH,SAASxI,KAAKyV,OAC3E3C,KAAKE,UAAUxD,EAAMhH,SAASxI,MAEhCwP,GAET,iBAAkBkG,EAAqB7G,EAAeiD,GACpD,OAAO,IAAI5L,QAAQ,CAACC,EAASiC,KAC3BvN,KAAK8a,KAAKD,EAAqB,WAAW,GAC1C9I,EAAiBC,mBAAmB2H,IAAI,GAAG,OAAQ7T,OAAOmB,gBAAgB+M,EAAcG,gBACtF,CAAE4G,MAAOF,EAAoB1G,GAAI5B,MAAO0E,EAAe,IAAKvC,KAAK/G,IACjE3N,KAAK8a,KAAKD,EAAqB,WAAW,GAC1CvP,MACC6K,MAAMxB,IACP3U,KAAK8a,KAAKD,EAAqB,WAAW,GAC1CtN,EAAOoH,W,oCC3iBjB,W,mFCEA,MAAM,EAAQ,CACZqG,MAAO,GACPC,WAAW,EACXC,WAAW,GAGP,EAAU,GAEVC,EAAY,CAChB,SAAUC,EAAOJ,GACfI,EAAMJ,MAAQA,GAEhB,QAASI,EAAOzK,GACdyK,EAAMzK,KAAOA,GAEf,aAAcyK,EAAOC,GACnBD,EAAMH,UAAYI,GAEpB,aAAcD,EAAOC,GACnBD,EAAMF,UAAYG,IAIhBlG,EAAU,CACd,aAAcmG,GACZ,OAAO,EAAAtV,EAAMI,IAAI,cACdsO,KAAK/G,IAAc2N,EAAQC,OAAO,WAAY5N,EAASxI,QACvDgR,MAAMqF,IAAO5N,QAAQC,IAAI2N,MAE9B,QAASF,EAASG,GAChB,OAAO,EAAAzV,EAAMI,IAAI,cAAgBqV,GAC9B/G,KAAK/G,IAAc2N,EAAQC,OAAO,UAAW5N,EAASxI,QACtDgR,MAAMqF,IAAO5N,QAAQC,IAAI2N,MAE9B,WAAYF,EAASzV,GACnB,MAAM6V,EAAS7V,EAAQ6V,OAGvB,cAFO7V,EAAQ6V,OAER,EAAA1V,EAAMC,KAAK,cAAeJ,GAC9B6O,KAAK/G,IAEJ,GAAsB,kBAAX+N,EAAqB,CAC9B,MAAMvW,EAAO,IAAIwW,SAEjB,OADAxW,EAAKyW,OAAO,SAAUF,GACf,EAAA1V,EAAM4O,MAAM,cAAgBjH,EAASxI,KAAKgP,GAAIhP,MAGxDgR,MAAMqF,IAAO5N,QAAQC,IAAI2N,MAE9B,SAAUF,EAASzV,GACjB,MAAM6V,EAAS7V,EAAQ6V,OAGvB,cAFO7V,EAAQ6V,OAER,EAAA1V,EAAM4O,MAAM,cAAgB/O,EAAQsO,GAAItO,GAC5C6O,KAAK/G,IAEJ,GAAsB,kBAAX+N,EAAqB,CAC9B,MAAMvW,EAAO,IAAIwW,SAEjB,OADAxW,EAAKyW,OAAO,SAAUF,GACf,EAAA1V,EAAM4O,MAAM,cAAgB/O,EAAQsO,GAAIhP,MAGlDgR,MAAMqF,IAAO5N,QAAQC,IAAI2N,MAE9B,WAAYF,EAASG,GACnB,OAAO,EAAAzV,EAAM2U,OAAO,cAAgBc,GACjC/G,KAAK/G,OACLwI,MAAMqF,IAAO5N,QAAQC,IAAI2N,MAE9B,cAAeF,EAAS3K,GACtB,OAAO,EAAA3K,EAAMC,KAAK,6BAA8B0K,GAC7C+D,KAAK/G,IAAc2N,EAAQC,OAAO,gBAAgB,KAClDpF,MAAMqF,IAAOF,EAAQC,OAAO,gBAAgB,MAEjD,eAAgBD,EAASzV,GACvB,OAAO,EAAAG,EAAMC,KAAK,8BAA+BJ,GAC9C6O,KAAK/G,IAAc2N,EAAQC,OAAO,gBAAgB,KAClDpF,MAAMqF,IAAOF,EAAQC,OAAO,gBAAgB,OAIpC,OACbH,MAAK,EACL/Z,QAAO,EACP8Z,YACAhG,W,wBCrFa,GACb,aAAc0G,GACZ,IACE,IAAKC,MAAO,OACZA,MAAMC,WAAW,CACfC,QAAS,IACJH,EACH1H,GAAI0H,EAASlN,MACbA,MAAOkN,EAASlN,MAChBsN,UAAWJ,EAASI,WAOtBC,QAAS,CACP/H,GAAI0H,EAASM,mBACbnb,KAAM6a,EAASO,eAWnB,MAAOZ,GACP,OAAM3N,IAAI2N,MC3BhB,MAAM,EAAQ,CACZa,YAAY,EACZ1L,KAAM,KACN2L,gBAAiB,GACjBC,gBAAgB,GAGL,EAAU,CACrBC,oBAAqBpB,GACZA,EAAMiB,WAEf1L,KAAMyK,GACGA,EAAMzK,KAEf8L,cAAerB,GACNA,EAAMzK,KAAK+L,YAAYC,gBAEhCC,QAASxB,GACAA,EAAMzK,KAAKkM,SAEpBC,YAAa1B,GACJA,EAAMzK,KAAKoM,aAEpBC,mBAAoB5B,GACXA,EAAMzK,KAAKkM,UAAYzB,EAAMzK,KAAKoM,aAE3CT,gBAAiBlB,GACRA,EAAMkB,gBAEfW,iBAAkB7B,GACTA,EAAMmB,eAEfW,wBAAyB9B,GACnBA,EAAMkB,iBAAmBlB,EAAMkB,gBAAgBa,OAAe/B,EAAMkB,gBAAgBa,OACjF,KAETC,gBAAiBhC,GACNA,EAAMzK,MACfyK,EAAMzK,KAAK+L,YACPtB,EAAMzK,KAAK+L,YACX,GAENW,gBAAiB,CAACjC,EAAO/Z,IAChBA,EAAQ+b,gBAAgBE,iBAC3Bjc,EAAQ+b,gBAAgBE,iBACxB,GAENC,uBAAwB,CAACnC,EAAO/Z,IACvBA,EAAQgc,gBAAgBG,SAAS,cAAgBnc,EAAQ+b,gBAAgBK,kBAElFC,eAAgB,CAACtC,EAAO/Z,IACfA,EAAQgc,gBAAgBG,SAAS,kBAE1CG,cAAe,CAACvC,EAAO/Z,IACdA,EAAQgc,gBAAgBG,SAAS,eAE1CI,gBAAiB,CAACxC,EAAO/Z,IAChBA,EAAQgc,gBAAgBG,SAAS,cAE1CK,cAAe,CAACzC,EAAO/Z,IACdA,EAAQgc,gBAAgBG,SAAS,WAE1CM,uBAAwB,CAAC1C,EAAO/Z,KAC9B,IACE,OAAOA,EAAQgc,gBAAgBG,SAAS,aACxC,MAAOO,GACPnQ,QAAQoQ,MAAMD,GAEhB,OAAO,GAETE,eAAgB,CAAC7C,EAAO/Z,KACtB,IACE,OAAOA,EAAQ+b,gBAAgBc,kBAC/B,MAAOH,GACPnQ,QAAQoQ,MAAMD,GAEhB,OAAO,GAETI,gBAAiB,CAAC/C,EAAO/Z,KACvB,IACE,OAAOA,EAAQ+b,gBAAgBgB,mBAC/B,MAAOL,GACPnQ,QAAQoQ,MAAMD,GAEhB,OAAO,GAETM,iBAAkB,CAACjD,EAAO/Z,KACxB,IACE,OAAOA,EAAQ+b,gBAAgBkB,oBAC/B,MAAOP,GACPnQ,QAAQoQ,MAAMD,GAEhB,OAAO,GAETQ,2BAA4B,CAACnD,EAAO/Z,KAElC,IACE,OAAOA,EAAQ+b,gBAAgBoB,8BAC/B,MAAOT,GACPnQ,QAAQoQ,MAAMD,GAEhB,OAAO,GAETU,aAAcrD,KACHA,EAAMkB,mBAAqBlB,EAAMkB,gBAAgBoC,IAE5D,UAAWtD,GACT,QAASA,EAAMkB,iBAAmBxY,OAAOiJ,KAAKqO,EAAMkB,iBAAiB/X,OAAS,GAEhFoa,cAAevD,KACJA,EAAMkB,mBAAqBlB,EAAMkB,gBAAgBsC,QAE5DC,cAAe,CAACzD,EAAO/Z,KACrB,IACE,QACIA,EAAQ+b,gBAAgB0B,sBACxBzd,EAAQ+b,gBAAgB0B,mBAAmBC,gBAE/C,MAAOhB,GACPnQ,QAAQoQ,MAAMD,GAEhB,OAAO,GAETiB,wBAAyB,CAAC5D,EAAO/Z,KAC/B,IACE,QACIA,EAAQ+b,gBAAgB0B,sBACxBzd,EAAQ+b,gBAAgB0B,mBAAmBG,2BAE/C,MAAOlB,GACPnQ,QAAQoQ,MAAMD,GAEhB,OAAO,GAETmB,eAAgB,CAAC9D,EAAO/Z,KACtB,IACE,OAAOA,EAAQ+b,gBAAgB+B,kBAC/B,MAAOpB,GACPnQ,QAAQoQ,MAAMD,GAEhB,OAAO,GAETqB,uBAAwBhE,GACfA,EAAMzK,MAAQyK,EAAMzK,KAAK0O,qBAAuBjE,EAAMzK,KAAK0O,qBAAuB,KAE3F,iBAAkBjE,EAAO/Z,GACvB,OAAOA,EAAQ+b,gBAAgBkC,sBAEjC,uBAAwBlE,EAAO/Z,GAC7B,OAAOA,EAAQ+b,gBAAgBmC,2BAEjC,0BAA2BnE,EAAO/Z,GAChC,OAAOA,EAAQ+b,gBAAgBoC,8BAEjC,wBAAyBpE,EAAO/Z,GAC9B,OAAOA,EAAQ+b,gBAAgBqC,4BAEjC,qBAAsBrE,EAAO/Z,GAC3B,OAAOA,EAAQ+b,gBAAgBsC,0BAEjC,0BAA2BtE,GACzB,QACIA,EAAMzK,QACNyK,EAAMzK,KAAKgP,wBAGjB,sBAAuBvE,EAAO/Z,GAC5B,OAAOA,EAAQ+b,gBAAgBwC,4BAItB,EAAY,CACvB,MAAOxE,GACLA,EAAMiB,YAAa,GAErB,OAAQjB,GACNA,EAAMyE,UAAW,EACjBzE,EAAMzK,KAAO,GACb,kBAEF,QAASyK,EAAOvV,GACduV,EAAMzK,KAAO9K,EACR,QACHia,EAAaC,aAAala,IAG9B,mBAAoBuV,EAAOvV,GACzBuV,EAAMkB,gBAAkBzW,GAE1B,kBAAmBuV,EAAOjY,GACxBiY,EAAMmB,eAAiBpZ,IAId,EAAU,CACrB6c,QAASpa,OAAS2V,SAAQ0E,eAMxB,IACEA,EAAS,mCACH,iBAAiBvL,KAAKwL,IAC1B3E,EAAO,SACPA,EAAO,UAAW2E,GAElBD,EAAS,wBAAyB,CAAEte,KAAM,kBAAmBwB,QAAS+c,EAAYC,sBAEpF,MAAOxL,GAGP,OAFA/G,QAAQC,IAAI8G,GACZ4G,EAAO,UACAlQ,QAAQkC,OAAOoH,KAG1B,2BAA2B,OAAE4G,IAE3B,OADAA,EAAO,qBAAqB,GACrB,IAAIlQ,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMI,IAAI,kCAAkCsO,KAAK/G,IAC/C4N,EAAO,qBAAqB,GAC5BA,EAAO,qBAAsB5N,EAASxI,MACtCmG,EAAQqC,KACPwI,MAAMxB,IACP4G,EAAO,qBAAqB,GAC5BhO,EAAOoH,QAIb,uBAAuB,EAAEyL,GAAK7T,GACxB1B,OAAOkD,QAAUlD,OAAOkD,OAAOC,aACjCnD,OAAOkD,OAAOC,YAAYzB,EAAS,OAK1B,OACb8T,YAAY,EACZjF,MAAK,EACL/Z,QAAO,EACP8Z,UAAS,EACThG,QAAO,GClPT,MAAM,EAAQ,CACZmL,KAAM,IAGF,EAAU,CACdC,QAAS,CAACnF,EAAO/Z,EAASmf,IAAc,CAACC,EAAMjf,KAC7C,MAAMkf,EAAqBtF,EAAMkF,KAAKK,QAAO,SAAUxb,EAAM4O,GAI3D,OAHIA,EAAK0M,OAASA,IAChBtb,EAAK4O,EAAKzK,KAAOyK,EAAKvH,MAEjBrH,IACN,IAEGgY,EAAS,GACThY,EAAO,GACb,IAAK,MAAMmE,KAAO9H,EACXkf,EAAmBpX,IAMxBnE,EAAKmE,GAAOoX,EAAmBpX,UACxBoX,EAAmBpX,KALxBnE,EAAKmE,GAAO9H,EAAW8H,GACvB6T,EAAO7T,GAAO9H,EAAW8H,IAM7B,IAAK,MAAMA,KAAOoX,EAChBvD,EAAO7T,GAAO,KAUhB,OAPExF,OAAOiJ,KAAKoQ,GAAQ5Y,QACpBic,EAAUI,KAAKjQ,MACkB,OAAjC6P,EAAUI,KAAKjQ,KAAKkQ,WAEpBjT,QAAQC,IAAI,wCAA0C4S,EAA1C,OACZ7S,QAAQ+G,MAAMwI,IAEThY,IAIL,EAAY,CAChB,QAASiW,EAAOjW,GACdiW,EAAMkF,KAAOnb,IAIX,EAAU,CACd,kBAAmBmW,GACjB,MAAMwF,EAAU,aAChB,OAAI,iBACK,EAAA9a,EAAMI,IAAI0a,GAASpM,KAAK/G,IAC7B2N,EAAQC,OAAO,UAAW5N,EAASxI,QAGhCkG,QAAQkC,OAAO,IAAIO,MAAM,kBAAkBqI,MAAM,UAI7C,OACbkK,YAAY,EACZjF,MAAK,EACL/Z,QAAO,EACP8Z,UAAS,EACThG,QAAO,GC/DT,MAAM,EAAQ,CACZ4L,cAAe,GACfC,YAAa,GACbC,gBAAiB,MAGb,EAAU,CACdC,iBAAkB9F,GACTA,EAAM2F,cAEf,mBAAoB3F,GAClB,OAAOA,EAAM6F,kBAIX,EAAY,CAChB,mBAAoB7F,EAAOnK,GACpBmK,EAAM2F,cAAc9P,EAAKkD,KAC5B,aAAIF,IAAImH,EAAM2F,cAAe9P,EAAKkD,GAAIlD,IAG1C,wBAAyBmK,EAAOnK,GAC1BmK,EAAM2F,cAAc9P,EAAKkD,KAC3B,aAAIwG,OAAOS,EAAM2F,cAAe9P,EAAKkD,KAGzC,mBAAoBiH,GAClBA,EAAM2F,cAAgB,IAExB,YAAa3F,EAAO+F,GAClB/F,EAAM6F,gBAAkBE,GAE1B,cAAe/F,GACbA,EAAM6F,gBAAkB,OAItB,EAAU,CACd,YAAa3F,EAASvH,GACpBuH,EAAQC,OAAO,cAAexH,IAEhC,cAAeuH,GACbA,EAAQC,OAAO,kBAEjB,aAAcD,EAASrK,GACrBqK,EAAQC,OAAO,qBAAsBtK,IAEvC,eAAgBqK,EAASrK,GACvBqK,EAAQC,OAAO,0BAA2BtK,IAE5C,mBAAoBqK,GAClBA,EAAQC,OAAO,uBAEjB,qBAAqB,SAAE0E,EAAQ,QAAE3E,GAAW8F,GAC1C,MAAMC,EAAiB,GACvB,IAAK,MAAMC,KAAKF,EAAO,CACrB,MAAMnQ,EAAOmQ,EAAME,GACbC,EAAgB,EAAAvb,EAAM2U,OAAO,cAAgB1J,EAAKkD,IAAIO,KAAK,KAC/DuL,EAAS,iBAAkBhP,KAC1BkF,MAAMxB,IACP,MAAM,IAER0M,EAAezV,KAAK2V,GAEtB,OAAOlW,QAAQ0L,IAAIsK,KAIR,OACbhB,YAAY,EACZjF,MAAK,EACL/Z,QAAO,EACP8Z,UAAS,EACThG,QAAO,GC1ET,MAAM,EAAQ,CACZqM,aAAc,GACdC,gBAAiB,MAGb,EAAU,CACd,gBAAiBrG,GACf,OAAOA,EAAMoG,cAEf,mBAAoBpG,GAClB,OAAOA,EAAMqG,kBAIX,EAAY,CAChB,gBAAiBrG,EAAOrX,GACtBqX,EAAMoG,aAAezd,GAEvB,mBAAoBqX,EAAOpU,GACzBoU,EAAMqG,gBAAkBza,IAItB,EAAU,CACd,yBAAyB,OAAEuU,GAAUmG,EAAc,IACjD,IACEA,EAAc,IAAKA,EAAa/f,KAAM,UAAWggB,OAAQ,QACzD,MAAM,KAAExc,SAAe,EAAAa,EAAMI,IAAI,gCAAiC,CAAED,OAAQub,IAC5EnG,EAAO,kBAAmBpW,EAAKyc,KAAK,CAAC5b,EAAG6b,IAAM7b,EAAEhF,KAAK8gB,cAAcD,EAAE7gB,QACrE,MAAO2T,GACP/G,QAAQ+G,MAAMA,EAAO,WAGzB,4BAA4B,OAAE4G,IAC5B,IACE,MAAM,KAAEpW,SAAe,EAAAa,EAAMI,IAAI,gCAE7BjB,GAAQrB,OAAOiJ,KAAK5H,GAAMZ,OAAQgX,EAAO,qBAAsBpW,GAC9DoW,EAAO,qBAAsB,MAClC,MAAO5G,GACP/G,QAAQ+G,MAAMA,EAAO,WAGzB,0BAA0B,OAAE4G,GAAUvU,GACpC,IACE,MAAM,KAAE7B,SAAe,EAAAa,EAAMI,IAAI,oBAAoBY,EAASmN,kBAC9DoH,EAAO,qBAAsBpW,GAC7B,MAAOwP,MAIX,4BAA4B,OAAE4G,UACtB,EAAAvV,EAAMI,IAAI,uCAIL,OACbia,YAAY,EACZjF,MAAK,EACL/Z,QAAO,EACP8Z,UAAS,EACThG,QAAO,GC7DT,MAAM,EAAQ,CACZ4M,gBAAiB,IAGb,EAAU,CACd,sBAAuB3G,GACrB,OAAOA,EAAM2G,kBAIX,EAAY,CAChB,sBAAuB3G,EAAO2G,GAC5B3G,EAAM2G,gBAAkBA,IAItB,EAAU,CACd,+BAA+B,OAAExG,IAC/B,IACE,MAAM,KAAEpW,SAAe,EAAAa,EAAMI,IAAI,iCACjCmV,EAAO,wBAAyBpW,GAChC,MAAOwP,OAME,OACb0L,YAAY,EACZjF,MAAK,EACL/Z,QAAO,EACP8Z,UAAS,EACThG,QAAO,G,qBChCF,MAAM6M,EAA8Bpc,MAAOqc,EAAYC,EAAiBC,KAC7E,IACE,MAAMhU,EAAM,sBAAsB8T,6BAC5B,KAAE9c,SAAe,EAAAa,EAAMI,IAAI+H,EAAK,CACpChI,OAAQ,CACNxE,KAAMugB,EACNE,OAAQD,KAGZ,OAAOhd,EACP,MAAOwP,GACP/G,QAAQoQ,MAAMrJ,KCTL0N,EAAgDzc,MAAO0c,IAClE,MAAML,EAAa,cAEnB,IAAK,MAAO3Y,EAAK0G,KAAgBlM,OAAOye,QAAQD,GAC9C,GAAIhZ,EAAIkZ,WAAcP,EAAH,KAAmB,CACpC,MAAMQ,EAAmBzS,EAAY0S,kBACrC,IAAKD,EAAkB,SAEvB,IAAIE,EAAgBC,EAAeC,EAEnC,IAAK,MAAMC,KAAeL,EAAkB,CAC1C,MAAMhW,EAAQqW,EAAYrW,MAAM,0BAChC,GAAIA,EAAO,CACTmW,EAAmBnW,EAAM,GAAGV,MAAM,KAAK,GAAvB,aAChB4W,EAAiBF,EAAiBK,GAClC,OAKJ,IAAKH,EAAgB,MAErB,GAAIA,GAAkBC,EAAe,CACnCC,QAAsBb,EAA4BC,EAAYW,EAAeD,GAC7EE,EAAcE,cAAgB/S,EAAY+S,cAC1CT,EAA2B,GAAGL,KAAcW,KAAmBC,EAE/D,OAKN,OAAOP,GAGH,EAAQ,CACZU,4BAA6B,CAAEC,SAAS,EAAMC,YAAY,EAAMC,WAAW,EAAMC,aAAa,EAAMC,SAAS,GAC7GrJ,SAAS,EACTmD,OAAQ,KACRmG,cAAe,KACfC,gBAAgB,EAChBC,mBAAoB,GACpBC,sCAAuC,KACvCnB,2BAA4B,KAC5BoB,6BAA8BtW,OAAOuW,mBAGjC,EAAU,CACdC,yBAA2BxI,GAAWpL,IACpC,GAAIA,GAAeA,EAAY6T,YAAa,CAC1C,MAAMC,EAAwB9T,EAAY6T,YAC1C,QAASzI,EAAM4H,4BAA4Bc,GAE7C,OAAO,GAET,WAAY1I,GACV,OAAOA,EAAMpB,SAEf,UAAWoB,GACT,OAAOA,EAAM+B,QAEf,sBAAuB/B,GACrB,OAAOA,EAAMoI,oBAEf,yCAA0CpI,GACxC,OAAOA,EAAMqI,uCAEf,gCAAiCrI,GAC/B,OAAOA,EAAMsI,8BAEf,8BAA+BtI,GAC7B,OAAOA,EAAMkH,6BAIX,EAAY,CAChB,WAAYlH,EAAOjY,GACjBiY,EAAMpB,QAAU7W,GAElB,kBAAmBiY,EAAOjY,GACxBiY,EAAMmI,eAAiBpgB,GAEzB,UAAWiY,EAAOjY,GAChBiY,EAAM+B,OAASha,GAEjB,sBAAuBiY,EAAOjY,GAC5BiY,EAAMoI,mBAAqBrgB,GAE7B,iBAAkBiY,EAAOjY,GACvBiY,EAAMkI,cAAgBngB,GAExB,yCAA0CiY,EAAOjY,GAC/CiY,EAAMqI,sCAAwCtgB,GAEhD,gCAAiCiY,EAAOjY,GACtCiY,EAAMsI,6BAA+BvgB,GAEvC,8BAA+BiY,EAAOjY,GACpCiY,EAAMkH,2BAA6Bnf,IAIjC,EAAU,CACd4gB,YAAa,KAAS,UAAU,SAAE9D,GAAYjP,GAC5CiP,EAAS,aAAcjP,KACtB,KACH,wCAAwC,OAAEuK,GAAUpY,GAClD,MAAM6gB,QAAqB3B,EAA8Clf,GACzEoY,EAAO,gCAAiCyI,IAE1C,YAAY,MAAE5I,EAAK,SAAE6E,EAAQ,OAAE1E,GAAUvK,GAKvC,OAHIoK,EAAMkI,eAAiBlI,EAAMkI,cAAcW,QAAQ7I,EAAMkI,cAAcW,UAGtEjT,GAASA,EAAMzM,OAAS,GACtByM,GAEHuK,EAAO,wBAAyB,IAElCA,EAAO,cAAc,QACrBA,EAAO,mBAAoB,QAI7BA,EAAO,cAAc,GACrBA,EAAO,qBAAqB,GAC5BA,EAAO,mBAAoB,EAAAvV,EAAMke,YAAYC,UAEtC,EAAAne,EAAMI,IACX,iCAAmC4K,EACnC,CAAEoT,YAAahJ,EAAMkI,cAAce,QACnC3P,KAAK/G,IACL4N,EAAO,wBAAyB5N,EAASxI,KAAKmf,SAC9C/I,EAAO,YAAa,MAChB5N,EAASxI,KAAKgY,QAAUrZ,OAAOiJ,KAAKY,EAASxI,KAAKgY,QAAQ5Y,OAAS,GACrEgX,EAAO,YAAa5N,EAASxI,KAAKgY,QAEpC5B,EAAO,cAAc,GACrBA,EAAO,mBAAoB,UAI/B,oBAAoB,MAAEH,EAAK,OAAEG,IAM3B,OAFAA,EAAO,YAAa,MACpBA,EAAO,cAAc,GACd,EAAAvV,EAAMI,IAAI,2CACfsO,KAAK/G,IACDA,EAASxI,KAAKof,SAAW5W,EAASxI,KAAKof,QAAQhgB,OAAS,GAC1DgX,EAAO,wBAAyB5N,EAASxI,KAAKof,SAEhDhJ,EAAO,cAAc,GACrBA,EAAO,qBAAqB,KAC3BpF,MAAMgH,IACP5B,EAAO,YAAa,IAAKH,EAAM+B,UAAWA,EAAOxP,SAASxI,UAG9D,kBAAkB,MAAEiW,EAAK,QAAE/Z,EAAO,OAAEka,EAAM,SAAE0E,IAAY,aAAEuE,IACxD,MAAMC,EAAqB,GACrBhB,EAAwC,GACxCiB,EAAwB,GAC9B,IAAIhB,EAA+BtW,OAAOuW,kBAC1C,IAAK,IAAK3Z,EAAOgG,KAAgBwU,EAAajC,UAAW,CACvD,MAAMoC,EAAiB3U,EAAY6T,YAC7Be,EAAkB5U,EAAYrO,KAGpC,GAFAqO,EAAc,IAAKA,EAAahG,SAE5B3I,EAAQuiB,yBAAyB5T,GAAc,CAC5CyU,EAAmBE,GAKjBF,EAAmBE,GAAgBC,IAItCH,EAAmBE,GAAgBC,GAAiBhZ,KAAKoE,GACzD0U,EAAsB,GAAGC,KAAkBC,KAAqB,KAC3DnB,EAAsCkB,KAAiBlB,EAAsCkB,GAAkB,IACpHlB,EAAsCkB,GAAgBC,GAAmB,IAAIH,EAAmBE,GAAgBC,MANhHH,EAAmBE,GAAgBC,GAAmB,CAAC5U,GACvD0U,EAAsB,GAAGC,KAAkBC,KAAqB5U,IANlEyU,EAAmBE,GAAkB,GACrCF,EAAmBE,GAAgBC,GAAmB,CAAC5U,GACvD0U,EAAsB,GAAGC,KAAkBC,KAAqB5U,GAalE,MAAM6U,EAAwBJ,EAAmBE,GAAgBC,GAAiBrgB,OAC9EsgB,EAAwBnB,IAA8BA,EAA+BmB,IAG7FtJ,EAAO,2CAA4CkI,GACnDxD,EAAS,mCAAoCyE,GAC7CnJ,EAAO,kCAAmCmI,KAK/B,OACbrD,YAAY,EACZjF,MAAK,EACL/Z,QAAO,EACP8Z,UAAS,EACThG,QAAO,GC5MT,MAAM,EAAQ,CACZ2P,kBAAmB,GACnBC,iBAAkB,GAClBC,wBAAyB,GACzBC,sBAAuB,MAGnB,EAAU,CACd,qBAAsB7J,GACpB,OAAOA,EAAM0J,mBAEf,oBAAqB1J,GACnB,OAAOA,EAAM2J,kBAEf,2BAA4B3J,GAC1B,OAAOA,EAAM4J,yBAEf,yBAA0B5J,GACxB,OAAOA,EAAM6J,uBAEf,eAAgB7J,GACd,MAAM8J,EAAM9J,EAAM0J,kBAAkBK,KAAKD,GAA2B,eAApBA,EAAIE,aAAoD,SAApBF,EAAIG,aACxF,OAAKH,GAAQA,EAAI/Q,GACV+Q,EAAI/Q,GADiB,OAK1B,EAAY,CAChB,qBAAsBiH,EAAO0J,GAC3B1J,EAAM0J,kBAAoBA,GAE5B,yBAA0B1J,GAAO,MAAEzG,EAAK,MAAEhU,IACxCya,EAAM6J,sBAAwB,CAAEtQ,QAAOhU,WAIrC,EAAU,CACd,kBAAkB,OAAE4a,GAAU2J,EAAM,MAElC,OAAO,IAAI7Z,QAASC,IAClB,IAAI6C,EAAM,sBACE,OAAR+W,IACF/W,GAAO,IAAM+W,EAAI/Q,IAEnB,EAAAnO,EAAMI,IAAI+H,GAAKuG,KAAK/G,IAClB,GAAY,OAARuX,EAAc,CAChB,MAAMJ,EAAoBnX,EAASxI,KAAKof,QAAU5W,EAASxI,KAAKof,QAAU,GAC1EhJ,EAAO,uBAAwBuJ,QAE/BxZ,EAAQqC,EAASxI,KAAKmgB,qBAEvBnP,MAAMxB,IACP4G,EAAO,2BAA4B,CAAE5G,QAAOhU,MAAOukB,EAAIvkB,UACtD4kB,QAAQja,MAGf,0BAA0B,OAAEiQ,EAAM,MAAEH,EAAK,SAAE6E,GAAYtJ,GAErD,MAAM6O,EAAO,GACb,IAAK,MAAMN,KAAOvO,EACXyE,EAAM2J,iBAAiBG,EAAI/Q,MAAKqR,EAAKN,EAAI/Q,IAAM+Q,GAEtD,GAAIphB,OAAOiJ,KAAKyY,GAAMjhB,OAAS,EAAG,CAChC6W,EAAM4J,wBAA0B,GAChC,MAAMS,EAAe,GACrB,IAAK,MAAMtR,KAAMqR,EACfpK,EAAM4J,wBAAwBpZ,KAAKuI,GACnCsR,EAAa7Z,KAAKqU,EAAS,mBAAoBuF,EAAKrR,IAAKO,KAAKqQ,IAC5D,aAAI9Q,IAAImH,EAAM2J,iBAAkB5Q,EAAI4Q,MAGxC1Z,QAAQ0L,IAAI0O,GAAc/Q,KAAK,KAC7B0G,EAAM4J,wBAA0B,OAKtC,yBAAyB,OAAEzJ,EAAM,QAAEla,EAAO,SAAE4e,EAAQ,MAAE7E,IAEpD,MAAMsK,EAAuBpa,IAC3B,MAAMqa,EAActkB,EAAQukB,eACtBzX,EAAM,uBAAyBwX,EAC1B,MAAPxX,GACF,EAAAnI,EAAMI,IAAI+H,GAAKuG,KAAK/G,IAClB,MAAMxI,EAAOwI,EAASxI,KAAKmgB,kBAAkB/L,OAAOsM,IAC1CA,EAAgBC,UAAYD,EAAgBE,WACnD/Z,IAAI6Z,IACE,CACLllB,MAAOklB,EAAgBllB,MACvBqlB,eAAgBH,EAChB5Q,gBAAiB,CAAEd,GAAIwR,EAAarc,IAAKqE,EAASxI,KAAK8gB,QAAQ3c,KAC/D4c,KAAMvY,EAASxI,KAAK8gB,QAAQE,cAAcD,QAG9C5a,EAAQnG,MAKd,OAAuC,IAAnCiW,EAAM0J,kBAAkBvgB,OACnB,IAAI8G,QAAQ,CAACC,EAASiC,KAC3B0S,EAAS,oBAAoBvL,KAAK,KAChCgR,EAAoBpa,KACnB6K,MAAOxB,IACR4G,EAAO,2BAA4B,CAAE5G,QAAOhU,MAAO,SACnD4M,EAAOoH,OAIN,IAAItJ,QAASC,IAClBoa,EAAoBpa,OAKX,OACb+U,YAAY,EACZjF,MAAK,EACL/Z,QAAO,EACP8Z,UAAS,EACThG,QAAO,GC3HT,MAAMiR,GAAqB,qBAErB,GAAQ,CACZC,eAAgBpO,KAAKC,MAAMoO,aAAaC,QAAQH,OAAwB,EACxEI,eAAe,GAGJ,GAAU,CACrBC,eAAgBrL,GAASA,EAAMiL,aAC/BK,gBAAiBtL,GAASA,EAAMoL,eAGrB,GAAY,CACvBG,eAAgB,CAACvL,EAAO5H,KACtB4H,EAAMiL,aAAe7S,EACrB8S,aAAaM,QAAQR,GAAoB5S,IAE3CqT,oBAAqB,CAACzL,EAAO0L,KAC3B1L,EAAMoL,cAAgBM,IAIX,QACbzG,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,ICxBX,SAAS4L,KACP,MAAO,CACL/V,MAAO,KACPgW,YAAa,GACbC,aAAc,GACdC,gBAAiB,GACjBC,UAAW,KACXC,cAAe,IAInB,SAASC,KACP,MAAO,CACLC,WAAY,6BACZC,QAAS,wBACTC,cAAe,GACfC,QAAS,GACTvkB,MAAO,KACPwkB,YAAa,MAEVX,MAIP,MAAM,GAAQM,KAER,GAAU,CACdM,eAAgBvM,GAASA,EAAMsM,YAC/BE,SAAUxM,GAASA,EAAMlY,MACzB2kB,eAAgBzM,GAASA,EAAM4L,YAC/Bc,gBAAiB1M,GAASA,EAAM6L,aAChCc,mBAAoB3M,GAASA,EAAM8L,gBACnCc,aAAc5M,GAASA,EAAM+L,UAC7Bc,gBAAiB7M,GAASA,EAAMqM,QAChCS,iBAAkB9M,GAASA,EAAMgM,cACjCe,SAAU/M,GAASA,EAAMpK,MACzBoX,mBAAoBhN,GAAS,CAACiN,EAAOC,GAAa,KAChD,IAAIC,EAAUF,EAAME,QACpB,MAAMC,EAAiB,CACrB,CAAEhc,KAAM,SAAUrJ,MAAO,IAAKxB,KAAM0mB,EAAM1mB,MAC1C,CAAE6K,KAAM,aAAcrJ,MAAO,KAAMxB,KAAM0mB,EAAM1mB,OAE3C8mB,EAAe,CACnBC,GAAI,CAAElc,KAAM,eAAgBrJ,MAAO,OAAQxB,KAAM0mB,EAAM1mB,MACvDgnB,IAAK,CAAEnc,KAAM,wBAAyBrJ,MAAO,QAASxB,KAAM0mB,EAAM1mB,MAClEinB,GAAI,CAAEpc,KAAM,cAAerJ,MAAO,OAAQxB,KAAM0mB,EAAM1mB,MACtDknB,IAAK,CAAErc,KAAM,uBAAwBrJ,MAAO,QAASxB,KAAM0mB,EAAM1mB,MACjEmnB,UAAW,CAAEtc,KAAM,8BAA+BrJ,MAAO,cAAexB,KAAM,QAC9EonB,WAAY,CAAEvc,KAAM,iCAAkCrJ,MAAO,eAAgBxB,KAAM,QACnFqnB,UAAW,CAAExc,KAAM,+BAAgCrJ,MAAO,cAAexB,KAAM,QAC/EsnB,OAAQ,CAAEzc,KAAM,qBAAsBrJ,MAAO,WAAYxB,KAAM,WAC/DunB,GAAI,CAAE1c,KAAM,eAAgBrJ,MAAO,OAAQxB,KAAM,QACjDwnB,MAAO,CAAE3c,KAAM,QAASrJ,MAAO,cAAexB,KAAM,SAEhDynB,EAAa,CACjB,CAAE5c,KAAM,SAAUrJ,MAAO,aAgB3B,OAJAolB,EAAUA,EAAQvc,IAAIqd,GACff,GAAeG,EAAaY,GAC1BZ,EAAaY,GAAUZ,EAAaY,GAAUD,EAAWC,GADf,MAEhD9P,OAAO+P,GAAW,OAANA,GACRd,EAAerc,OAAOoc,IAE/BgB,iBAAkBnO,GAASA,EAAMoM,eAG7B,GAAY,CAChB,cAAepM,EAAOoO,GACpBpO,EAAMkM,WAAakC,GAErB,eAAgBpO,EAAOqO,GACrBrO,EAAMsM,YAAc+B,GAEtB,SAAUrO,EAAOsO,GACftO,EAAMlY,MAAQwmB,GAEhB,UAAWtO,EAAOqO,GAChBrO,EAAM4L,YAAcyC,GAEtB,WAAYrO,EAAOuO,GACjBvO,EAAM6L,aAAe0C,GAEvB,cAAevO,EAAOwO,GACpBxO,EAAM8L,gBAAkB0C,GAE1B,aAAcxO,EAAOyO,GACnBzO,EAAM+L,UAAY0C,GAEpB,WAAYzO,EAAO0O,GACjB1O,EAAMqM,QAAUqC,GAElB,YAAa1O,EAAO2O,GAClB3O,EAAMgM,cAAgB2C,GAExB,SAAU3O,EAAO4O,GACf5O,EAAMpK,MAAQgZ,GAEhB,WAAY5O,GACV,MAAM6O,EAAW,IAAK7O,KAAU2L,MAChCjjB,OAAOyT,OAAO6D,EAAO6O,KAOzB,SAASC,GAASnW,EAAMoW,GAEtB,OADAA,EAAK5f,OAAO4f,EAAKhhB,QAAQ4K,GAAO,GACzBoW,EAOT,SAASC,GAAWD,GAClB,OAAOA,EAAK5Q,OAAOxF,KAAUA,EAAK4N,QAGpC,MAAM,GAAU,CACd,iBAAiB,MAAEvG,EAAK,OAAEG,IACxB,EAAAvV,EAAMI,IAAIgV,EAAMmM,SAAS7S,KAAK/G,IAC5BC,QAAQC,IAAIF,EAASxI,MACrBoW,EAAO,aAAc5N,EAASxI,KAAKof,YAGvC,eAAe,MAAEnJ,EAAK,OAAEG,EAAM,SAAE0E,GAAY+J,GAC1C,MAAM,YAAEhD,EAAW,aAAEC,EAAY,gBAAEC,EAAe,cAAEE,EAAa,MAAElkB,GAAU8mB,EAASK,OACtF9O,EAAO,WAAYyO,GACnBzO,EAAO,gBAAiB2L,GACxB3L,EAAO,aAAc0L,GACrB1L,EAAO,YAAayL,GACpBzL,EAAO,cAAe6L,GACtB7L,EAAO,WAAYrY,GACnB+c,EAAS,YAEX,gBAAgB,MAAE7E,EAAK,OAAEG,EAAM,SAAE0E,GAAYjP,GAC3CoK,EAAMoM,cAAc5b,KAAKoF,GACzBiP,EAAS,gBAAiBjP,IAE5B,WAAW,MAAEoK,EAAK,OAAEG,EAAM,SAAE0E,GAAYjP,GACtC,EAAAhL,EAAMI,IAAIgV,EAAMmM,QAAUvW,EAAMmD,IAAIO,KAAK/G,IACvCsS,EAAS,iBAAkBtS,EAASxI,SAGxC,WAAW,MAAEiW,EAAK,SAAE6E,IAAY,KAAEjf,EAAI,MAAEkC,IACtC,MAAM,YAAE8jB,EAAW,aAAEC,EAAY,gBAAEC,EAAe,cAAEE,GAAkBhM,EAChEiP,EAAS,CACbrD,cACAC,eACAC,kBACAE,gBACAlkB,SAGF,EAAA8C,EAAMC,KAAKmV,EAAMmM,QAAS,CAAEvmB,OAAMqpB,WAAU3V,KAAK/G,IAE/CsS,EAAS,YAAatS,EAASxI,SAGnC,SAAS,MAAEiW,EAAK,OAAEG,IAEhB,MAAM+O,EAAeF,GAAUhP,EAAM4L,aAAahb,IAAIue,GAAe,YAAYA,EAAYlC,UACvFmC,EAAcJ,GAAUhP,EAAM6L,cAAcjb,IAChDuN,GAAU,GAAGA,EAAO8O,MAAMA,MAAQ9O,EAAOkR,eAAe9e,QAAQ,IAAK,OAAO4N,EAAOmR,eAE/EC,EAAiBP,GAAUhP,EAAM8L,iBAAiBlb,IACtD4e,GAAa,aAAaA,EAAUC,sBAAsBD,EAAUvC,MAAMA,SAItEyC,EAAU1P,EAAMkM,WAAalM,EAAMlY,MAAMA,MAC/C,EAAA8C,EAAMI,IAAI0kB,EAAU,KAAQR,EAAane,OAAOqe,GAAare,OAAOwe,GAAiBte,KAAK,MAAMqI,KAC9F/G,IACE4N,EAAO,eAAgB5N,EAASxI,SAGtC,iBAAiB,MAAEiW,EAAK,OAAEG,GAAUwP,GAClC,MAAMC,EAAU5P,EAAMkM,WAAayD,EAAiB,UACpD,EAAA/kB,EAAMI,IAAI4kB,GAAStW,KAAK/G,IACtB4N,EAAO,iBAAkB5N,EAASxI,SAGtC,UAAU,MAAEiW,EAAK,OAAEG,EAAM,SAAE0E,GAAYgL,GACjC7P,EAAM4L,YAAY1S,KAAKP,GAAQA,EAAKsU,QAAU4C,EAAS5C,SAI3D9M,EAAO,YAAa,IAAIH,EAAM4L,YAAa,CAAEqB,MAAO4C,EAAS5C,MAAO1G,QAAQ,KAC5E1B,EAAS,aAEX,aAAa,MAAE7E,EAAK,OAAEG,EAAM,SAAE0E,GAAYiL,GACxC3P,EAAO,YAAa2O,GAAQgB,EAAe9P,EAAM4L,cACjD/G,EAAS,YAEX,WAAW,MAAE7E,EAAK,OAAEG,EAAM,SAAE0E,GAAYkL,GAGtC5P,EAAO,aAAc,IAAIH,EAAM6L,aAAckE,IAC7ClL,EAAS,YAEX,cAAc,MAAE7E,EAAK,OAAEG,EAAM,SAAE0E,GAAYmL,GACzC7P,EAAO,aAAc2O,GAAQkB,EAAgBhQ,EAAM6L,eACnDhH,EAAS,YAEX,cAAc,MAAE7E,EAAK,OAAEG,EAAM,SAAE0E,GAAYoL,EAAWF,GAEpDlL,EAAS,YAEX,iBAAiB,MAAE7E,EAAK,OAAEG,EAAM,SAAE0E,GAAYqL,GAC5CrL,EAAS,YAEX,cAAc,MAAE7E,EAAK,OAAEG,EAAM,SAAE0E,GAAYqL,GACzC/P,EAAO,gBAAiB,IAAIH,EAAM8L,gBAAiBoE,IACnDrL,EAAS,YAEX,iBAAiB,MAAE7E,EAAK,OAAEG,EAAM,SAAE0E,GAAYsL,GAC5ChQ,EAAO,gBAAiB2O,GAAQqB,EAAmBnQ,EAAM8L,kBACzDjH,EAAS,aAIE,QACbI,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,GACThG,QAAO,IC/OF,MAAM,GAAQ,CACnBR,MAAO,MAGI,GAAU,GAGV,GAAY,CACvB,SAAUyG,EAAOzG,GACfyG,EAAMzG,MAAQA,GAEhB,WAAYyG,GACVA,EAAMzG,MAAQ,OAIL,GAAU,GAGR,QACb0L,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,GACThG,QAAO,I,uCCnBF,MAAM,GAAQ,CACnBqW,qBAAsB,GACtBC,YAAa,GACbC,QAAS,GACTC,mBAAmB,EACnBC,kBAAmB,KACnBC,eAAgB,GAChBC,aAAc,KACdC,uBAAuB,EACvBC,UAAU,EACVC,sBAAsB,EACtBC,iBAAkB,MAGP,GAAU,CACrB,gBAAiB9Q,GACf,OAAOA,EAAM0Q,cAEf,aAAc1Q,EAAO/Z,GACnB,OAAO,gBAAmB+Z,EAAMoQ,qBAAqBjS,OAAOxF,GAAQ1S,EAAQ8qB,cAAcpY,KAAUA,EAAKqY,sBAE3G,iBAAkBhR,EAAO/Z,GACvB,OAAO,gBAAmB+Z,EAAMoQ,qBAAqBjS,OAAOxF,IAAS1S,EAAQ8qB,cAAcpY,KAAUA,EAAKqY,sBAE5G,mBAAoBhR,GAClB,OAAO,gBAAmBA,EAAMoQ,qBAAqBjS,OAAOxF,GAAQA,EAAKqY,sBAE3E,oBAAqBhR,EAAO/Z,GAC1B,OAAIA,EAAQgrB,mBAAmB9nB,OAAS,EAAUlD,EAAQgrB,mBAAmB,GACzEhrB,EAAQirB,aAAa/nB,OAAS,EAAUlD,EAAQirB,aAAa,GAC7DjrB,EAAQkrB,iBAAiBhoB,OAAS,EAAUlD,EAAQkrB,iBAAiB,GAClE,MAET,qBAAsBnR,GACpB,QAASA,EAAMwQ,mBAEjB,wBAAyBxQ,GACvB,OAAOA,EAAMoQ,sBAEf,yBAA0BpQ,GACxB,OAAOA,EAAM2Q,uBAEf,eAAgB3Q,GACd,OAAOA,EAAMqQ,aAEf,iBAAkBrQ,GAChB,OAAOA,EAAMqQ,YAAYtX,IAE3B,WAAYiH,GACV,OAAOA,EAAMsQ,SAEf,kBAAmBtQ,GACjB,OAAOA,EAAMyQ,gBAEf,kBAAmBzQ,GACjB,OAAOA,EAAMuQ,mBAEf,iBAAkBvQ,GAChB,OAAOA,EAAMsQ,QAAQnnB,OAAS,GAEhC,qBAAsB6W,GACpB,OAAOA,EAAMwQ,mBAEfY,qBAAuBpR,GAAWqR,IAChC,IACE,MAAMC,EAAuBtR,EAAMyQ,eAAeY,EAAO9qB,MACzD,OAAOmC,OAAOyT,OAAOkV,EAAQC,GAC7B,MAAO/X,GACP,OAAO,OAGXgY,sBAAuB,CAACvR,EAAO/Z,IAAaqqB,GACnCA,EAAQ1f,IAAIygB,IACjBA,EAASprB,EAAQmrB,qBAAqBC,GAC/BA,IAGXG,kBAAmB,CAACxR,EAAO/Z,EAASmf,EAAWqM,IAAiB9qB,GACvD8qB,EAAY,qBAAqB9qB,EAAUf,KAAMe,EAAU+qB,MAEpEX,cAAe,CAAC/Q,EAAO/Z,EAASmf,IAAc,CAAC3O,EAAO,QACpDA,EAAOA,GAAQuJ,EAAMqQ,YACrB,MAAMsB,EAAclb,GAAQA,EAAKmb,WAAanb,EAAKmb,WAAWC,GAAK,KACnE,OAAOF,IAAgBvM,EAAUI,KAAKjQ,KAAKsc,IAE7CC,oBAAqB,CAAC9R,EAAO/Z,EAASmf,EAAWqM,IAAgB,CAAChb,EAAO,OAChExQ,EAAQ8qB,cAActa,IAASgb,EAAY,2BAEpD,SAAUzR,GACR,OAAOA,EAAM4Q,UAEf,qBAAsB5Q,GACpB,OAAOA,EAAM6Q,sBAEf,oBAAqB7Q,GACnB,OAAOA,EAAM8Q,mBAIJ,GAAY,CACvB,gBAAiB9Q,EAAOvJ,GACtBuJ,EAAM0Q,aAAeja,GAEvB,WAAYuJ,EAAOsQ,GACjBtQ,EAAMsQ,QAAUA,EAChBtQ,EAAMqQ,YAAYC,QAAUtQ,EAAMsQ,SAEpC,kBAAmBtQ,EAAO+R,GACxB,IAAInjB,EAAQoR,EAAMsQ,QAAQjU,UAAUgV,GAAUA,EAAOtY,KAAOgZ,EAAchZ,IACtEiZ,EAAc,EAElBD,EAAcE,OAAQ,EACtBF,EAAcG,eAAiB,EAC3BtjB,EAAQ,IACVA,EAAQ,EACRojB,EAAc,EACdD,EAAcE,OAAQ,GAExBjS,EAAMsQ,QAAQnhB,OAAOP,EAAOojB,EAAaD,IAE3C,kBAAmB/R,GACjBA,EAAMuQ,mBAAoB,GAE5B,mBAAoBvQ,GAClBA,EAAMuQ,mBAAoB,GAE5B,qBAAsBvQ,EAAOjY,GAC3BiY,EAAM8Q,iBAAmB,KACzB9Q,EAAMwQ,kBAAoBzoB,GAE5B,kBAAmBiY,EAAOjY,GACxBiY,EAAMoQ,qBAAuBroB,GAE/B,kBAAmBiY,EAAOjY,GACxBiY,EAAMqQ,YAAc,IAAKrQ,EAAMqQ,eAAgBtoB,IAEjD,aAAciY,EAAOmS,GACnBnS,EAAMsQ,QAAUtQ,EAAMsQ,QAAQnS,OAAOkT,GAAUA,EAAOtY,KAAOoZ,GAE7DnS,EAAMqQ,YAAYC,QAAUtQ,EAAMsQ,SAEpC,WAAYtQ,EAAOoS,GACjBpS,EAAMoQ,qBAAuBpQ,EAAMoQ,qBAAqBjS,OAAO1H,GAAQA,EAAKsC,KAAOqZ,IAErF,SAAUpS,EAAOvJ,EAAO,MAClBA,GACFuJ,EAAMqQ,YAAc5Z,EACpBuJ,EAAMsQ,QAAU7Z,EAAK6Z,SAAW,KAEhCtQ,EAAMqQ,YAAc,GACpBrQ,EAAMsQ,QAAU,KAGpB,QAAStQ,EAAOvJ,GACduJ,EAAMoQ,qBAAqB5f,KAAKiG,IAElC,kBAAmBuJ,EAAOyQ,GACxBzQ,EAAMyQ,eAAiBA,GAEzB,yBAA0BzQ,EAAOjY,GAC/BiY,EAAM2Q,sBAAwB5oB,GAEhC,kBAAmBiY,GACjBA,EAAM4Q,UAAW,GAEnB,kBAAmB5Q,GACjBA,EAAM4Q,UAAW,GAEnB,oBAAqB5Q,GACnBA,EAAM4Q,UAAY5Q,EAAM4Q,UAE1B,eAAgB5Q,EAAOvJ,GACrB,MAAM7H,EAAQoR,EAAMoQ,qBAAqB/T,UAAUgV,GAAUA,EAAOtY,KAAOtC,EAAKsC,IAC5EnK,GAAS,GACXoR,EAAMoQ,qBAAqBjhB,OAAOP,EAAO,EAAG6H,IAGhD,wBAAyBuJ,GACvBA,EAAM6Q,sBAAuB,GAE/B,iBAAkB7Q,GAChBA,EAAMqQ,YAAc,GACpBrQ,EAAMsQ,QAAU,IAElB,oBAAqBtQ,EAAOqS,GAC1BrS,EAAM8Q,iBAAmBuB,IAIhB,GAAU,CACrB,oBAAoB,QAAEpsB,EAAO,SAAE4e,EAAQ,OAAE1E,GAAUtL,GACjD,OAAO,IAAI5E,QAAQ,CAACC,EAASiC,KAC3B,MAAMmgB,EAAc,gBAAe,SAAqBC,OAClDC,EAAY3d,EAAUjP,KAAKwhB,WAAWkL,GAAezd,EAAUjP,KAAO,GAAG0sB,KAAezd,EAAUjP,OAClG6sB,EAAoB,QAAoBC,qBAAqBzsB,EAAQ0sB,wBAAyBH,GACpG3N,EAAS,iBAAkB,CAAE9L,GAAIlE,EAAUkE,GAAInT,KAAM6sB,IAClDnZ,KAAMsZ,IACL1iB,EAAQ0iB,KACP7X,MAAMxB,IACPpH,EAAOoH,QAIf,gBAAgB,QAAEtT,EAAO,OAAEka,EAAM,SAAE0E,GAAYgO,GAC7C,OAAO,IAAI5iB,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMC,KAAK,oBAAoBgoB,EAAW9Z,WAAY,CAAEnT,KAAMitB,EAAWjtB,OAAQ0T,KAAK/G,IACpF,MAAM+d,EAAU,GACVsC,EAAUrgB,EAASxI,KACrB6oB,EAAQtC,QAAQnnB,OAAS,GAC3BypB,EAAQtC,QAAQwC,QAASzB,IACvBf,EAAQ9f,KAAK,IAAK6gB,KAAWprB,EAAQ8sB,kBAAkB1B,EAAO9qB,UAGlEqsB,EAAQtC,QAAUA,EAClBnQ,EAAO,UAAWyS,GAClB1iB,EAAQ0iB,KACP7X,MAAMxB,IACPpH,EAAOoH,QAIb,qBAAqB,SAAEsL,EAAQ,OAAE1E,GAAUgS,GACzCtN,EAAS,sBACT1E,EAAO,eAAgBgS,IAEzB,oBAAoB,SAAEtN,EAAQ,OAAE1E,EAAM,QAAEla,GAAWorB,GAEjD,OADAxM,EAAS,sBACF,IAAI5U,QAAQ,CAACC,EAASiC,KAC3B0S,EAAS,eAAgB,IAAKwM,EAAQtY,GAAI,OAAQO,KAAKvP,IACrD,MAAMumB,EAAUrqB,EAAQ+sB,WAClBC,EAAe,IAChB5B,EACHtY,GAAIhP,EAAKgP,GACT5B,MAAOka,EAAOla,MAAQ,EACtB8a,OAAO,EACPC,eAAgB,GAEZgB,EAAW5C,EAAQtf,MAAM,EAAGqgB,EAAOla,OAAOpG,OAAO,CAACkiB,GAAe3C,EAAQtf,MAAMqgB,EAAOla,QAC5F0N,EAAS,qBAAsBqO,GAAU5Z,KAAK,IAAMpJ,OACnD6K,MAAMxB,IACP/G,QAAQoQ,MAAMrJ,GACdpH,EAAOoH,QAIb,oBAAoB,OAAE4G,EAAM,QAAEla,EAAO,SAAE4e,IACrC,OAAO,IAAI5U,QAAQ,CAACC,EAASiC,KAC3BgO,EAAO,4BAA4B,GACnC0E,EAAS,6BACT,EAAAja,EAAMI,IAAI,oBAAoBsO,KAAK/G,IACjC,IAAI6d,EAAuB7d,EAASxI,KAAKof,QACzCiH,EAAuBA,EAAqBxf,IAAI6F,IAC9CA,EAAK6Z,QAAUrqB,EAAQsrB,sBAAsB9a,EAAK6Z,SAASnS,OAAOxF,GAAiB,OAATA,GACnElC,IAET0J,EAAO,oBAAqBiQ,GAC5BjQ,EAAO,4BAA4B,GACnCA,EAAO,2BACP0E,EAAS,mBACT3U,MACC6K,MAAMxB,IACP4G,EAAO,4BAA4B,GACnChO,EAAOoH,QAIb,2BAA2B,OAAE4G,EAAM,QAAEla,IACnC,MAAMktB,EAA4B,GAClC,IAAK,MAAM9B,KAAU3oB,OAAO0qB,OAAO,mBAAsB,CACvD,MAAMC,EAAiBptB,EAAQurB,kBAAkBH,EAAO1qB,WACxDwsB,EAA0B9B,EAAO9qB,MAAQ,IAAK8qB,KAAWgC,GAE3DlT,EAAO,oBAAqBgT,IAE9B,iBAAiB,MAAEnT,EAAK,OAAEG,EAAM,QAAEla,IAChC,OAAO,IAAIgK,QAAQ,CAACC,EAASiC,KAG3B,MAAMue,EAAezqB,EAAQ0sB,wBAAwBxU,OAAO1H,IAA6B,IAArBA,EAAK6c,aACrE5C,EAAavnB,OAAS,EACxBgX,EAAO,kBAAmBuQ,EAAa,IAChC1Q,EAAM0Q,aAAe,KAC9BxgB,OAGJ,oBAAoB,SAAE2U,GAAYuN,GAChC,OAAO,IAAIniB,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMC,KAAK,oBAAsBunB,EAAS,oBAAoB9Y,KAAM/G,IAClEsS,EAAS,sBACT3U,MACC6K,MAAMxB,IACP/G,QAAQoQ,MAAMrJ,QAIpB,gBAAgB,OAAE4G,GAAU1J,GAC1B,OAAO,IAAIxG,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMI,IAAI,oBAAsByL,EAAKsC,GAAK,oBAAoBO,KAAM/G,IAClE4N,EAAO,iBAAkB,IAAK1J,EAAMua,mBAAoBze,EAASxI,KAAKinB,qBACtE9gB,MACC6K,MAAMxB,IACPpH,EAAOoH,QAIb,wBAAwB,SAAEsL,EAAQ,OAAE1E,GAAUkR,GAC5ClR,EAAO,qBACPA,EAAO,uBAAwBkR,IAEjC,cAAc,QAAEprB,GAAWorB,GACzB,OAAO,IAAIphB,QAAQ,CAACC,EAASiC,KAC3B,MAAMpI,EAAO,IACRsnB,EACH7T,OAAQ6T,EAAO7T,QAAU,GACzBrG,MAAO,EACPV,KAAMxQ,EAAQstB,kBAEhB,IAAIla,EAAS,OACTtG,EAAM,eACNse,EAAOtY,KACTM,EAAS,MACTtG,EAAMA,EAAM,IAAMse,EAAOtY,IAE3B,EAAAnO,EAAMyO,GAAQtG,EAAKhJ,GAAMuP,KAAM/G,IAC7BrC,EAAQqC,EAASxI,QAChBgR,MAAMxB,IACP/G,QAAQoQ,MAAMrJ,QAIpB,qBAAqB,QAAEtT,EAAO,OAAEka,GAAUkR,GACxC,IACE,MAAM,KAAEzrB,EAAI,KAAEW,EAAI,GAAEwS,GAAOsY,EACrBmC,EAAa,CACjBhW,OAAQ6T,EAAO7T,QAAU,GACzBjX,OACAX,OACAmT,MAEIhG,EAAM,wBACN,KAAEhJ,SAAe,EAAAa,EAAMC,KAAKkI,EAAKygB,GACvCrT,EAAO,sBAAuBpW,GAC9B,MAAOwP,GACP/G,QAAQoQ,MAAMrJ,KAGlB,sBAAsB,SAAEsL,EAAQ,OAAE1E,GAAUkR,GAC1C,OAAO,IAAIphB,QAAQ,CAACC,EAASiC,KAC3B0S,EAAS,eAAgBwM,GAAQ/X,KAAM/G,IACrCsS,EAAS,sBACT3U,EAAQqC,KACPwI,MAAMxB,IACP/G,QAAQC,IAAI8G,QAIlB,oBAAoB,SAAEsL,EAAQ,OAAE1E,GAAUsT,GACxCtT,EAAO,aAAcsT,GACrB5O,EAAS,uBAEX,oBAAoB,QAAE5e,IACpB,OAAO,IAAIgK,QAAQ,CAACC,EAASiC,KAC3B,MAAMpI,EAAO,CACXumB,QAASrqB,EAAQ+sB,WAAWpiB,IAAI+H,GAAQA,EAAKI,KAE/C,EAAAnO,EAAMC,KAAK,4BAA6Bd,GAAMuP,KAAM/G,IAClDrC,EAAQqC,EAASxI,QAChBgR,MAAMxB,IACP/G,QAAQoQ,MAAMrJ,QAIpB,oBAAoB,OAAE4G,IACpBA,EAAO,sBACPA,EAAO,uBAAwB,OAEjC,mBAAmB,SAAE0E,EAAQ,OAAE1E,EAAM,QAAEla,GAAW8rB,GAChD,MAAM2B,EAAoBztB,EAAQmrB,qBAAqBW,GACvD5R,EAAO,oBAAqBuT,GAC5B7O,EAAS,uBAEX,kBAAkB,OAAE1E,GAAUwT,GAC5B,OAAO,IAAI1jB,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMI,IAAI,8CAAgD2oB,GAAara,KAAM/G,IAC3E,MAAMqhB,EAAgBrhB,EAASxI,KAAK6G,IAAI+H,GAAQA,EAAK/S,MACrDsK,EAAQ0jB,KACP7Y,MAAMxB,IACP/G,QAAQoQ,MAAMrJ,GACdpH,EAAOoH,QAIb,mBAAmB,OAAE4G,IAAU,WAAEhF,EAAU,aAAE0Y,IAC3C,OAAO,IAAI5jB,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMI,IAAI,oBAAoBmQ,oBAA6B7B,KAAM/G,IAC/D,MAAMuhB,EAAiBvhB,EAASxI,KAAKoU,OAAOxF,GAAQkb,EAAazR,SAASzJ,EAAKI,KAAKnI,IAAI+H,GAAQA,EAAK/S,MACrGsK,EAAQ4jB,KACP/Y,MAAMxB,IACP/G,QAAQoQ,MAAMrJ,GACdpH,EAAOoH,QAIb,sBAAsB,OAAE4G,GAAU4T,GAChC,OAAO,IAAI9jB,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMI,IAAI,kDAAoD+oB,GAAiBza,KAAM/G,IACnF,MAAMyhB,EAAoBzhB,EAASxI,KAAK6G,IAAI+H,GAAQA,EAAK/S,MACzDsK,EAAQ8jB,KACPjZ,MAAMxB,IACP/G,QAAQoQ,MAAMrJ,GACdpH,EAAOoH,QAIb,qBAAqB,OAAE4G,GAAU8T,GAC/B,OAAO,IAAIhkB,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMI,IAAI,sDAAwDipB,GAAgB3a,KAAM/G,IACtF,MAAM2hB,EAAmB3hB,EAASxI,KAAKof,QAAQvY,IAAI+H,GAAQA,EAAK/S,MAChEsK,EAAQgkB,KACPnZ,MAAMxB,IACP/G,QAAQoQ,MAAMrJ,GACdpH,EAAOoH,QAIb,qBAAqB,QAAEtT,GAAWorB,GAKhC,MAAM8C,EAAa/kB,SAASC,eAAe,SAAWgiB,EAAOtY,IACvDqb,GAAY/C,EAAOzrB,KAAOyrB,EAAOzrB,KAAOyrB,EAAOgD,OAAS,OAC5C,MAAdF,GAEJ,oDAAsB7a,KAAM1S,IAC1B,MAAM0tB,EAAc1tB,EAAOH,QAC3B6tB,EAAYH,GAAY7a,KAAKib,GAAUC,GAAoBD,EAAQH,OAGvE,iBAAiB,OAAEjU,GAAUpW,GAC3B,OAAO,IAAIkG,QAAQ,CAACC,EAASiC,IACpB,EAAAvH,EAAMC,KAAK,mBAAoBd,GAAMuP,KAAK/G,IAC/C4N,EAAO,UAAW5N,EAASxI,MAC3BmG,EAAQqC,EAASxI,QAChBgR,MAAMxB,IACPpH,EAAOoH,OAIb,iBAAiB,OAAE4G,GAAU0S,GAC3B,OAAO,IAAI5iB,QAAQ,CAACC,EAASiC,IACpB,EAAAvH,EAAM2T,IAAI,oBAAoBsU,EAAW9Z,GAAM8Z,GAAYvZ,KAAK/G,IACrE4N,EAAO,iBAAkB5N,EAASxI,MAClCmG,EAAQqC,EAASxI,QAChBgR,MAAMxB,IACPpH,EAAOoH,QAMR,SAASib,GAAqBD,EAAQH,GAC3C,MAAMK,EAAOrlB,SAASslB,cAAc,KACpCD,EAAKE,SAAWP,EAChBK,EAAKG,KAAOL,EAAOM,YACnBJ,EAAKK,QAGQ,QACb7P,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,GACThG,QAAO,IC5dF,MAAM,GAAQ,CACnBgb,iBAAiB,EACjB3L,aAAc,GACd4L,uBAAuB,GAGZ,GAAU,CACrB,mBAAoBhV,GAClB,OAAOA,EAAM+U,iBAEf,gBAAiB/U,GACf,OAAOA,EAAMoJ,cAEf,yBAA0BpJ,GACxB,OAAOA,EAAMgV,wBAIJ,GAAY,CACvB,mBAAoBhV,EAAOiV,GACzBjV,EAAM+U,gBAAkBE,GAE1B,gBAAiBjV,EAAOoJ,GACtBpJ,EAAMoJ,aAAeA,GAEvB,yBAA0BpJ,EAAOgV,GAC/BhV,EAAMgV,sBAAwBA,GAEhC,eAAgBhV,EAAOkV,GACrBlV,EAAMoJ,aAAa5Y,KAAK0kB,IAE1B,kBAAmBlV,EAAOpR,GACxBoR,EAAMoJ,aAAaja,OAAOP,EAAO,KAIxB,GAAU,CACrB,8BAA8B,MAAEoR,EAAK,OAAEG,IAAU,kBAAEgV,IACjD,IACE,MAAMtO,EAAasO,EAAkB1M,YACrC,IAAK5B,EACH,OAEF,MAAM9T,EAAM,gDAAkD8T,GACxD,KAAE9c,SAAe,EAAAa,EAAMC,KAAKkI,EAAKoiB,GACjCD,EAAiBnrB,EACjBqrB,EAAmBpV,EAAMoJ,aAAa/M,UAAUzH,GAAeA,EAAYmE,KAAOmc,EAAenc,KAC7E,IAAtBqc,GAAyBjV,EAAO,iBAAkB+U,GACtD,MAAO3b,GACP/G,QAAQ+G,MAAMA,KAGlB,yCAAyC,OAAE4G,EAAM,SAAE0E,GAAYsQ,GAC7DhV,EAAO,4BAA4B,GACnCA,EAAO,kBAAmB,UACpB0E,EAAS,yBAA0B,CAAEsQ,sBAC3ChV,EAAO,4BAA4B,KAIxB,QACb8E,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,GACThG,QAAO,ICnET,MAAM,GAAQ,CACZwM,QAAQ,EACRpV,QAAS,KACTD,OAAQ,WAGJ,GAAU,CACd,oBAAqB8O,GACnB,OAAOA,EAAMuG,QAEf,gBAAiBvG,GACf,OAAOA,EAAM7O,SAEf,aAAc6O,GACZ,OAAOA,EAAM9O,SAIX,GAAY,CAChB,oBAAqB8O,EAAOuG,GAC1BvG,EAAMuG,OAASA,GAEjB,gBAAiBvG,EAAO7O,GACtB6O,EAAM7O,QAAUA,GAElB,aAAc6O,EAAO9O,GACnB8O,EAAM9O,OAASA,IAIb,GAAU,CACd,qBAAqB,OAAEiP,GAAUpY,GAC/BoY,EAAO,sBAAuBpY,IAEhC,iBAAiB,OAAEoY,GAAUhP,GAC3BgP,EAAO,kBAAmBhP,IAE5B,cAAc,OAAEgP,GAAUjP,GACxBiP,EAAO,eAAgBjP,KAGZ,QACb+T,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,GACThG,QAAO,I,0BC1CT,MAAM,GAAQ,CACZnO,SAAU,CACRhG,KAAM,GACNmY,WAAY,SAEdsX,cAAe,GACfzsB,cAAe,GACf0sB,oBAAqB,KACrBC,iBAAiB,EACjBxT,OAAQ,KACRyT,qBAAqB,EACrBvpB,aAAc,GACdwpB,WAAY,IAGR,GAAU,CACd,YAAazV,GACX,OAAOA,EAAMpU,UAEf,iBAAkBoU,GAChB,OAAOA,EAAMqV,eAEf,iBAAkBrV,GAChB,OAAOA,EAAMpX,eAEf,UAAWoX,GACT,OAAOA,EAAM+B,QAEf,mBAAoB/B,GAClB,OAAOA,EAAMuV,iBAEf,gBAAiBvV,GACf,OAAOA,EAAM/T,cAEf,uBAAwB+T,GACtB,OAAOA,EAAMwV,qBAEf,cAAexV,GACb,OAAOA,EAAMyV,aAIX,GAAY,CAChB,mBAAoBzV,EAAOjY,GACzBiY,EAAMuV,gBAAkBxtB,GAE1B,UAAWiY,EAAOjY,GAChBiY,EAAM+B,OAASha,GAEjB,YAAaiY,EAAOjY,GAClBiY,EAAMpU,SAAW7D,GAEnB,iBAAkBiY,EAAOjY,GACvBiY,EAAMqV,cAAgBttB,GAExB,iBAAkBiY,EAAOjY,GACvBiY,EAAMpX,cAAgBb,GAExB,uBAAwBiY,EAAOjY,GAC7BiY,EAAMwV,oBAAsBztB,GAE9B,gBAAiBiY,EAAOjY,GACtBiY,EAAM/T,aAAelE,GAEvB,mBAAoBiY,GAAO,KAAErH,EAAI,MAAE/J,IACjCoR,EAAMpX,cAAcgG,GAAS+J,GAE/B,sBAAuBqH,GAAO,KAAErH,EAAI,MAAE/J,IACpCoR,EAAMpX,cAAcuG,OAAOP,EAAO,EAAG+J,IAEvC,2BAA4BqH,GAAO,MAAEpR,IACnCoR,EAAMpX,cAAcuG,OAAOP,EAAO,IAEpC,cAAeoR,EAAOrH,GACpBqH,EAAMyV,WAAa9c,IAIjB,GAAU,CACd,eAAe,OAAEwH,GAAUhF,GAEzB,OADAgF,EAAO,sBAAsB,GACtB,IAAIlQ,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMI,IAAI,QAAQN,OAAOkB,SAAW,IAAMuP,GACvC7B,KAAK/G,IACJ,MAAM3G,EAAW2G,EAASxI,KAC1B6B,EAAS8O,eAAe1G,SAAW,QAAiBrK,QAAQ+rB,cAAc9pB,EAAS8O,eAAe1G,UAAY,IAAIpD,IAAI+H,IAChHA,EAAKR,YAAcQ,EAAKR,WAAWhP,OAAS,IAAGwP,EAAKT,eAAgB,GACjES,IAETwH,EAAO,cAAevU,GACtBuU,EAAO,mBAAoBvU,EAAS8O,gBACpCyF,EAAO,mBAAoBvU,EAAS8O,eAAe1G,UACnDmM,EAAO,sBAAsB,GAC7BjQ,EAAQtE,KACPmP,MAAMxB,IACP4G,EAAO,sBAAsB,GAC7B,MAAMha,EAAe,QAAiBwD,QAAQgsB,oBAAoBpc,GAClE4G,EAAO,YAAaha,GACpBgM,EAAOhM,QAKf,iBAAiB,OAAEga,IACjB,OAAO,IAAIlQ,QAAQ,CAACC,EAASiC,KAC3BgO,EAAO,0BAA0B,GACjC,EAAAvV,EAAMI,IAAI,QAAQN,OAAOuB,cAAcqN,KAAK/G,IAC1C4N,EAAO,kBAAmB5N,EAASxI,KAAKof,SACxCjZ,MACC6K,MAAMxB,IACPpH,EAAOoH,KACN4Q,QAAQ,KACThK,EAAO,0BAA0B,SAO1B,QACb8E,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,GACThG,QAAO,IC9HT,MAAM,GAAQ,CACZ6b,gBAAiB,GACjBzvB,aAAc,KACd0vB,eAAgB,KAChBC,cAAe,MAGX,GAAU,CACd,gBAAiB9V,GACf,OAAOA,EAAM7Z,cAEf,kBAAmB6Z,GACjB,OAAOA,EAAM6V,gBAEf,iBAAkB7V,GAChB,OAAOA,EAAM8V,eAEf,mBAAoB9V,GAClB,OAAOA,EAAM4V,iBAEf,YAAa5V,EAAO/Z,EAASmf,EAAWqM,GACtC,OAAOA,EAAY,cAErB,mBAAoBzR,GAClB,OAAIA,EAAM4V,gBAAgBzsB,OAAS,GAC1B6W,EAAM4V,gBAAgB,GAAG5hB,SAAS7K,OAAS,IAOlD,GAAY,CAChB,gBAAiB6W,EAAOjY,GACtBiY,EAAM7Z,aAAe4B,GAEvB,kBAAmBiY,EAAOjY,GACxBiY,EAAM6V,eAAiB9tB,GAEzB,SAAUiY,EAAOjY,GACfiY,EAAMzG,MAAQxR,GAEhB,mBAAoBiY,EAAOjY,GACzBiY,EAAM4V,gBAAkB7tB,GAE1B,iBAAkBiY,EAAOjY,GAEvBiY,EAAM8V,cAAgB/tB,IAIpB,GAAU,CACd,oBAAoB,OAAEoY,IACpB,OAAO,IAAIlQ,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMI,IAAI,oCAAoCsO,KAAK/G,IACjD,MAAMwjB,EAAWxjB,EAASxI,KAC1BgsB,EAAS,GAAG3d,MAAO,EACnB+H,EAAO,qBAAsB4V,GAC7B7lB,EAAQqC,EAASxI,QAChBgR,MAAMxB,IACPpH,EAAOoH,QAIb,eAAe,SAAEsL,GAAYpa,GAO3B,OAAO,IAAIwF,QAAQ,CAACC,EAASiC,KAE3B,EAAAvH,EAAMC,KAAK,aAAcJ,GAAS6O,KAAK/G,IACrCsS,EAAS,sBACT3U,EAAQqC,EAASxI,QAChBgR,MAAMxB,IACPpH,EAAOoH,QAIb,YAAY,SAAEsL,GAAY7b,GAOxB,OAAO,IAAIiH,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAM2T,IAAI,cAAcvV,EAAK+P,GAAM/P,GAAMsQ,KAAK/G,IAC5CrC,EAAQqC,EAASxI,QAChBgR,MAAMxB,IACPpH,EAAOoH,QAIb,YAAY,SAAEsL,EAAQ,OAAE1E,GAAUnX,GAMhC,OAAO,IAAIiH,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAM2U,OAAO,cAAcvW,EAAK+P,IAAMO,KAAK/G,IACzCsS,EAAS,sBACT3U,EAAQqC,EAASxI,QAChBgR,MAAM4H,IACPxC,EAAO,WAAYwC,EAAIpJ,OACvBpH,EAAOwQ,QAIb,oBAAoB,OAAExC,GAAU6V,GAK9B,OAAO,IAAI/lB,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMI,IAAI,8BAA+B,CAAED,OAAQ,CAAEkrB,QAASD,KAAW1c,KAAK/G,IAC5ErC,EAAQqC,EAASxI,QAChBgR,MAAM4H,IACPxC,EAAO,WAAYwC,EAAIpJ,OACvBpH,EAAOwQ,SAOA,QACbsC,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,GACThG,QAAO,I,aCrIT,MAAM,GAAkB,KACf,CACLlE,KAAM,KACNqgB,mBAAoB,KACpBC,mBAAoB,GACpBC,kBAAmB,GACnBC,uBAAuB,IAIrB,GAAQ,KAER,GAAU,CACd,QAASrW,GACP,OAAOA,EAAMnK,MAEf,sBAAuBmK,GACrB,OAAOA,EAAMkW,oBAEf,yBAA0BlW,GACxB,OAAOA,EAAMqW,uBAEf,sBAAuBrW,GACrB,OAAOA,EAAMmW,oBAEf,kBAAmBnW,GACjB,QAASA,EAAMnK,MACXmK,EAAMnK,KAAKygB,eACXtW,EAAMnK,KAAKygB,cAAcC,eACzBvW,EAAMnK,KAAK2gB,SAAW,KAE5B,qBAAsBxW,GACpB,OAAIA,EAAMnK,KACDmK,EAAMnK,KAAK4gB,kBAEb,MAET,qBAAsBzW,GACpB,OAAOA,EAAMoW,oBAGX,GAAY,CAChB,QAASpW,EAAOjY,GACdiY,EAAMnK,KAAO9N,GAEf,WAAYiY,EAAOjY,GACjBiY,EAAMnK,KAAO,IAAKmK,EAAMnK,QAAS9N,IAEnC,yBAA0BiY,EAAOjY,GAC/BiY,EAAMqW,sBAAwBtuB,GAEhC,sBAAuBiY,EAAOjY,GAC5BiY,EAAMkW,mBAAqBnuB,GAE7B,oBAAqBiY,GACnBtX,OAAOyT,OAAO6D,EAAO,OAEvB,cAAeA,EAAO0W,GACpB1W,EAAMoW,kBAAoBM,IAKxB,GAAU,CAEd,eAAe,OAAEvW,IAAU,WAAEuW,IAC3BvW,EAAO,gBAAiBuW,IAE1B,yBAAyB,OAAEvW,IAAU,OAAEwW,IACrC,QAAyBhtB,QAAQitB,qBAAqBD,GAAQrd,KAAKvP,IACjEoW,EAAO,wBAAyBpW,EAAK,MACpCgR,MAAMxB,IACP/G,QAAQoQ,MAAMrJ,MAGlB,mBAAmB,OAAE4G,IAAU,OAAEwW,IAC/B,IACE,MAAMpkB,QAAiB,EAAA3H,EAAMI,IAAI,cAAc2rB,yBAC/CxW,EAAO,UAAW5N,EAASxI,MAC3B,MAAOwP,GACP/G,QAAQoQ,MAAMrJ,KAGlB,2BAA2B,OAAE4G,IAAU,OAAEwW,IACvC,IACExW,EAAO,aAAc,CAAE0W,cAAc,IACrC,MAAM,KAAE9sB,SAAe,EAAAa,EAAMI,IAAI,0BAA0B2rB,GAC9B,OAAzB5sB,EAAK+sB,kBACP/sB,EAAKusB,cAAgB,CAAEC,cAAe,OAExCpW,EAAO,aAAc,IAAKpW,EAAM8sB,cAAc,IAC9C,MAAOtd,GACP4G,EAAO,aAAc,CAAE0W,cAAc,EAAOP,cAAe,CAAEC,cAAe,QAC5E/jB,QAAQoQ,MAAMrJ,KAGlB,+BAA+B,OAAE4G,IAAU,OAAEwW,IAC3C,IACExW,EAAO,aAAc,CAAE4W,mBAAmB,IAC1C,MAAM,KAAEhtB,SAAe,EAAAa,EAAMI,IAAI,qDAAqD2rB,GACtF,GAAI5sB,EAAM,CACR,MAAMusB,EAAgB,CAAEC,cAAexsB,EAAKitB,WAC5C7W,EAAO,aAAc,CAAEmW,gBAAeS,mBAAmB,KAE3D,MAAOxd,GACP/G,QAAQoQ,MAAMrJ,GACd4G,EAAO,aAAc,CAAE4W,mBAAmB,MAG9C,gCAAgC,OAAE5W,EAAM,MAAEH,IAAS,OAAE2W,EAAM,cAAEM,EAAa,WAAEC,GAAa,IACvF,IACE,MAAMC,EAAiBnX,EAAMmW,mBAC7BgB,EAAeF,IAAiB,EAChC9W,EAAO,aAAc,CAAEgW,mBAAoBgB,IAC3C,MAAMpsB,EAAS,CACbgO,GAAI4d,EACJS,eAAgBH,EAChBC,eAEI,KAAEntB,SAAe,EAAAa,EAAMI,IAAI,gDAAiD,CAAED,WACpFosB,EAAeF,IAAiB,EAChC,MAAMI,EAAc,IAAKrX,EAAMnK,KAAK4gB,qBAAsB1sB,GAC1DoW,EAAO,aAAc,CAAEsW,kBAAmBY,EAAalB,mBAAoBgB,IAC3E3kB,QAAQC,IAAI,cAAe4kB,GAC3B,MAAO9d,GACP,MAAM4d,EAAiBnX,EAAMmW,mBAC7BgB,EAAeF,IAAiB,EAChC9W,EAAO,aAAc,CAAEgW,mBAAoBgB,IAC3C3kB,QAAQoQ,MAAMrJ,KAGlB,2BAA2B,OAAE4G,EAAM,SAAE0E,IAAY,eAAEyS,EAAc,yBAAEC,IAKjEpX,EAAO,4BAA4B,GAEnC,IACE,MAAM,KAAEpW,SAAe,EAAAa,EAAMC,KAAK,QAAyB2sB,kBAAmB,IACzEF,EACHC,6BAEIE,EAAgB,IAAK1tB,EAAK2tB,gBAAiBC,uBAAwB5tB,EAAK4tB,wBAC9ExX,EAAO,wBAAyBsX,GAChC,MAAOle,GACP/G,QAAQoQ,MAAMrJ,GAEhB4G,EAAO,4BAA4B,IAErC,2CAA2C,QAAEla,EAAO,OAAEka,EAAM,SAAE0E,EAAQ,MAAE7E,IAAS,OAAE2W,EAAM,mBAAEiB,IACzF,IACEzX,EAAO,aAAc,CAAE0X,sBAAsB,IAC7C,MAAM,KAAE9tB,SAAe,EAAAa,EAAMI,IAAI,+CAA+C4sB,QAAyBjB,KACzG,GAAI5sB,EAAM,CACR,MAAMusB,EAAgB,CAAEC,cAAexsB,EAAKitB,WAC5C7W,EAAO,aAAc,CAAEmW,gBAAeuB,sBAAsB,IAE5D1X,EAAO,aAAc,CAAEsW,kBAAmB,KACtCxwB,EAAQ6xB,mBAAmBjT,EAAS,2BAA4B,CAAE8R,SAAQM,cAAejX,EAAMoW,qBAErG,MAAO7c,GACP4G,EAAO,aAAc,CAAE0X,sBAAsB,IAC7CrlB,QAAQoQ,MAAMrJ,MAKL,QACb0L,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,GACThG,QAAO,I,0BC1KT,MAAM,GAAkB,KACf,CACLge,YAAa,GACbC,YAAa,KACbC,UAAW,GACXd,gBAAgB,EAChBvuB,cAAe,GACfsvB,mBAAoB,KAIlB,GAAQ,KAER,GAAU,CACd,eAAgBlY,GACd,OAAOA,EAAM+X,aAEf,eAAgB/X,GACd,OAAOA,EAAMgY,aAEf,2BAA4BhY,GAC1B,OAAOA,EAAMgY,YAAYG,sBAAwBnY,EAAMgY,YAAYG,qBAAqBC,UACpFpY,EAAMgY,YAAYG,qBAClB,MAEN,aAAcnY,GACZ,OAAOA,EAAMiY,WAEf,kBAAmBjY,GACjB,OAAOA,EAAMmX,gBAEf,iBAAkBnX,GAChB,OAAOA,EAAMpX,eAEfmoB,cAAe,CAAC/Q,EAAO/Z,EAASmf,IAAc,CAACiT,EAAgB,QACxDA,IACHA,EAAgBrY,EAAMgY,aAAehY,EAAMgY,YAAYpG,WAAa5R,EAAMgY,YAAYpG,WAAWC,GAAK,MAEjGwG,IAAkBjT,EAAUI,KAAKjQ,KAAKsc,IAE/C,sBAAuB7R,GACrB,OAAOA,EAAMkY,qBAIX,GAAY,CAChB,sBAAuBlY,EAAOsY,GAC5BtY,EAAMkY,mBAAqBI,GAE7B,eAAgBtY,EAAO+X,GACrB/X,EAAM+X,YAAcA,EACpB/X,EAAMiY,UAAYF,EAAYQ,OAEhC,kBAAmBvY,EAAOjY,GACxBiY,EAAMmX,eAAiBpvB,GAEzB,aAAciY,EAAOjY,GACnBiY,EAAMiY,UAAYlwB,GAEpB,gBAAiBiY,EAAOjY,GACtBiY,EAAM+X,YAAY3O,aAAerhB,GAEnC,sBAAuBiY,GACrBtX,OAAOyT,OAAO6D,EAAO,OAEvB,eAAgBA,EAAOnK,GACrBmK,EAAMgY,YAAcniB,EACpB,MAAM2iB,EAAY3iB,EAAK4iB,WACjB7sB,EAAWiK,EAAKwE,WACtB,GAAIzO,EAAU,CACZ,MAAM8sB,EAAiB,CAAC7sB,EAAc2sB,IAE/BA,GAAcA,EAAUrvB,QAI7BqvB,EAAYA,EAAUra,OAAOwa,GAAMA,EAAGC,kBAAoB/sB,EAAakN,IAGnEyf,EAAUrvB,OAAS,GAAGqJ,QAAQ+G,MAAM,+CAGxC1N,EAAagtB,UAAYL,EAAU,GAEjC3sB,EAAagtB,WACHhtB,EAAagtB,UAAUC,wBACvBjtB,EAAagtB,UAAUC,uBAAuB3vB,OAAS,IAIjE0C,EAAaktB,WAAaltB,EAAagtB,UAAUC,uBAAuBloB,IAAI+H,IAC1E,MAAMoN,EAAU,IAAKpN,GAMrB,OALAoN,EAAQ3N,MAAO,EACf2N,EAAQiT,gBAAgBre,SAAS3G,SAAW2E,EAAKqgB,gBAAgBre,SAAS3G,SAASpD,IAEjFqoB,GAAWP,EAAeO,EAASlT,EAAQ0S,aAEtC1S,KAGJla,GA5BqCA,EA8BxCqtB,EAA4BrjB,EAAKwE,WAAWK,eAAe1G,SAASpD,IACxE+H,GACM6f,GAAeA,EAAUrvB,OACpBuvB,EAAe/f,EAAM6f,EAAUra,OAAOgb,GACP,OAA7BA,EAASC,kBAGbzgB,GAGXqH,EAAMpX,cAAgBswB,IAG1B,2BAA4BlZ,EAAOjY,GACjCiY,EAAMgY,YAAYG,qBAAuBpwB,IAIvC,GAAU,CACd,6BAA6B,OAAEoY,IAAU,YAAEmY,IACzCnY,EAAO,wBAAyBmY,IAGlC,wBAAwB,OAAEnY,IAAU,OAAEwW,EAAM,WAAE0C,GAAa,IACrDA,GAAYlZ,EAAO,qBAAqB,GAC5C,IACE,MAAM5N,QAAiB,EAAA3H,EAAMI,IAAI,cAAc2rB,iBAC/CxW,EAAO,iBAAkB5N,EAASxI,MAClC,MAAOwP,GACP/G,QAAQoQ,MAAMrJ,GAEhB4G,EAAO,qBAAqB,IAE9B,wBAAwB,OAAEA,IAAU,OAAEwW,IACpC,IACE,MAAMpkB,QAAiB,EAAA3H,EAAMI,IAAI,cAAc2rB,GAC/CxW,EAAO,iBAAkB5N,EAASxI,MAClC,MAAOwP,GACP/G,QAAQoQ,MAAMrJ,KAGlB,eAAe,MAAEyG,IAAS,OAAE2W,IAC1B,MAAM2C,EAAS,GAAMrzB,QAAQ,aAAa4rB,GAC1C,IACE,MAAMmG,EAAc,CAClBziB,KAAM+jB,EACNjf,WAAY2F,EAAM+X,YAAY1d,WAAWtB,GACzCwf,MAAOvY,EAAMiY,WAEf,EAAArtB,EAAM2T,IAAI,cAAcoY,EAAUqB,GAClC,MAAOze,GACP/G,QAAQoQ,MAAMrJ,KAGlB,kBAAkB,MAAEyG,IAAS,OAAE2W,IAC7B,MAAM2C,EAAS,GAAMrzB,QAAQ,aAAa4rB,GAC1C,IACE,MAAMmG,EAAc,CAClBziB,KAAM+jB,EACNjf,WAAY2F,EAAM+X,YAAY1d,WAAWtB,GACzCqQ,aAAcpJ,EAAM+X,YAAY3O,cAElC,EAAAxe,EAAM2T,IAAI,cAAcoY,EAAUqB,GAClC,MAAOze,GACP/G,QAAQoQ,MAAMrJ,KAGlB,6BAA6B,QAAEtT,EAAO,OAAEka,EAAM,SAAE0E,IAAY,KAAElM,EAAI,OAAEge,EAAM,sBAAE4C,GAAwB,IAIlG,KACOA,GAAyB5gB,GAAQjQ,OAAO8wB,OAAO7gB,EAAM,iBACxD,aAAI4G,OAAO5G,EAAM,sBAEbkM,EAAS,eAAgB,CAAElM,OAAMge,WACvC,MAAOpd,GACP/G,QAAQoQ,MAAMrJ,KAGlB,cAAc,SAAEsL,EAAQ,QAAE5e,IAAW,KAAE0S,EAAI,OAAEge,IAK3C,OAAO,IAAI1mB,QAAQ,CAACC,EAASiC,KAE3B,MAAMsnB,EAAe,QAAMC,sBAAsB/gB,EAAMge,GAEjDgD,EAAU,QAAMC,uBAAuBjhB,EAAM8gB,GAEnD9gB,EAAKkhB,gBAAkBC,GAAA,KAAkBnwB,QAAQowB,YAAYphB,EAAKH,SAAUmhB,GAC5EhhB,EAAKkhB,gBAAgBvgB,KAAM0gB,IAEzBrhB,EAAKkgB,UAAYmB,EAAiBjwB,KAClCmG,EAAQyI,KACPoC,MAAMxB,IACPsL,EAAS,cAAetL,EAAMhH,UAC9BJ,EAAOoH,QAIb,+BAA+B,OAAE4G,GAAU8Z,GACzC9Z,EAAO,6BAA8B8Z,IAEvC,gCAAgC,OAAE9Z,EAAM,SAAE0E,IAAY,kBAAEsQ,EAAiB,OAAEwB,IACzE,MAAM9P,EAAasO,EAAkB1M,YACrC,GAAK5B,EAIL,IACE,MAAM9T,EAAM,gDAAkD8T,GACxD,KAAE9c,SAAe,EAAAa,EAAMC,KAAKkI,EAAKoiB,GACjC+E,EAAqBnwB,EAC3BoW,EAAO,kBAAmB,CAAC+Z,IAC3BrV,EAAS,mBAAoB,CAAE8R,WAC/B,MAAOpd,GACP/G,QAAQC,IAAI8G,MAKH,QACb0L,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,GACThG,QAAO,I,0BCzNT,MAAM,GAAkB,KACf,CACLogB,oBAAoB,EACpBC,mBAAoB,QAAuBjtB,cAC3CktB,eAAgB,GAChBC,SAAU,GACVC,MAAO,GACPC,oBAAqB,GACrBC,sBAAuB,GACvBC,iBAAkB,QAAqB7tB,YACvC8tB,qBAAsB,GACtBC,gBAAiB,GACjBC,gBAAgB,EAChBC,mBAAoB,KAIlB,GAAQ,KAGR,GAAU,CACd,mBAAoB9a,GAClB,QAASA,EAAMua,OAEjB,YAAava,GACX,OAAOA,EAAMsa,UAEf,kBAAmBta,GACjB,OAAOA,EAAMqa,gBAAkB,IAEjC,SAAUra,GACR,OAAOA,EAAMua,OAEf,uBAAwBva,GACtB,OAAOA,EAAMwa,qBAEf,oBAAqBxa,GACnB,OAAOA,EAAM0a,kBAEf,qBAAsB1a,GACpB,OAAOA,EAAM2a,qBAAuB3a,EAAM2a,qBAAuB,IAEnE,sBAAuB3a,GACrB,OAAOA,EAAM8a,mBAAqB9a,EAAM8a,mBAAqB,IAE/D,sBAAuB9a,GACrB,OAAOA,EAAMoa,oBAEf,eAAgBpa,GACd,OAAO,QAAuBoC,SAASpC,EAAM0a,mBAE/C,4BAA6B1a,GAC3B,OACEA,EAAM0a,mBAAqB,QAAqBztB,MACH,IAA7CvE,OAAOiJ,KAAKqO,EAAMqa,gBAAgBlxB,QAGtC,gBAAiB6W,GACf,OAAOA,EAAM0a,mBAAqB,QAAqB5tB,YAEzD,mBAAoBkT,GAClB,OAAOA,EAAMma,oBAEf,eAAgBna,GACd,OAAOA,EAAMoa,qBAAuB,QAAuBhtB,WAE7D,iBAAkB4S,GAChB,OAAO,QAA8BoC,SAASpC,EAAM0a,mBAEtD,sBAAuB1a,GACrB,QACIA,EAAMua,OACR,CACE,QAAqBxtB,UACrB,QAAqBD,YACrBsV,SAASpC,EAAM0a,mBAGrB,mBAAoB1a,GAClB,OAAOA,EAAM4a,iBAEf,kBAAmB5a,GACjB,OAAOA,EAAM6a,iBAKX,GAAY,CAChB,oBAAqB7a,GACnBtX,OAAOyT,OAAO6D,EAAO,OAEvB,YAAaA,EAAOsa,GAClBta,EAAMsa,SAAWA,GAEnB,kBAAmBta,EAAOqa,GACxBra,EAAMqa,eAAiBA,GAEzB,SAAUra,EAAOua,GACfva,EAAMua,MAAQA,GAEhB,uBAAwBva,EAAOwa,GAC7Bxa,EAAMwa,oBAAsBA,GAE9B,oBAAqBxa,EAAO0a,GAC1B1a,EAAM0a,iBAAmBA,GAE3B,wBAAyB1a,EAAOsW,GAC9BtW,EAAM2a,qBAAuBrE,GAE/B,sBAAuBtW,EAAOjY,GAC5BiY,EAAMma,mBAAqBpyB,GAE7B,sBAAuBiY,EAAOjY,GAC5BiY,EAAMoa,mBAAqBryB,GAE7B,mBAAoBiY,EAAO4a,GACzB5a,EAAM4a,gBAAkBA,GAE1B,kBAAmB5a,EAAOjW,GACxBiW,EAAM6a,eAAiB9wB,EAAKgxB,iBAE9B,sBAAuB/a,EAAOgb,GAC5Bhb,EAAM8a,mBAAqBE,IAKzB,GAAU,CACd,uBAAuB,OAAE7a,IAAU,mBAAEia,IACnCja,EAAO,wBAAyBia,IAElC,qBAAqB,OAAEja,IACrBA,EAAO,wBAET,4BAA4B,SAAE0E,IAAY,OAAE8R,IAC1C,IAAKA,EACH,OAEF,MAAM5rB,EAAS,CAAEkwB,QAAStE,GAC1B,IACE,MAAM,KAAE5sB,SAAe,gBAAwBgB,GACzCmwB,EAAcnxB,EAAKA,KACzB8a,EAAS,iBAAkB,CAAEqW,gBAC7B,MAAO3hB,GACP/G,QAAQoQ,MAAMrJ,KAGlB,wBAAwB,OAAE4G,EAAM,SAAE0E,IAAY,WAAEsW,EAAU,OAAExE,IAC1D,MAAMlsB,EAAU,CAAE2wB,YAAaD,EAAYF,QAAStE,GACpDxW,EAAO,sBAAuB,QAAqBrT,YACnD,IACE,MAAM,KAAE/C,SAAe,gBAAoBU,GACrCywB,EAAcnxB,EAAKA,KACzBoW,EAAO,WAAY+a,EAAYG,QAC/B,MAAO9hB,GACP4G,EAAO,uBACP0E,EACE,qBACA,CACEwP,MAAO,uBACPiH,SAAU,2CAKlB,4BAA4B,OAAEnb,EAAM,QAAEla,EAAO,SAAE4e,IAC7C1E,EAAO,yBAAyB,GAChC,UACQ,gBAAwB,CAAEkb,OAAQp1B,EAAQs1B,WAEhDpb,EAAO,uBACP,MAAO5G,GACPsL,EACE,qBACA,CACEwP,MAAO,uBACPiH,SAAU,uCAGd,QACAnb,EAAO,yBAAyB,KAGpC,8BAA8B,OAAEA,EAAM,QAAEla,EAAO,SAAE4e,IAC/C,MAAM2W,EAAmBv1B,EAAQw1B,sBACjCtb,EAAO,wBAAyB,QAAuB9S,UACvD,IACMmuB,IAAqB,QAAuBpuB,iBACxC,gBAAyB,CAAEiuB,OAAQp1B,EAAQs1B,WACjDpb,EAAO,wBAAyB,QAAuBhT,gBAC9CquB,IAAqB,QAAuBruB,sBAC/C,gBAA0B,CAAEkuB,OAAQp1B,EAAQs1B,WAClDpb,EAAO,wBAAyB,QAAuB/S,YAEzD,MAAOmM,GACP4G,EAAO,wBAAyBqb,GAChC,MAAME,EAAaz1B,EAAQ01B,eAAiB,UAAY,WAClDL,EAAW,YAAYI,sBAE7B7W,EACE,qBACA,CACEwP,MAAO,uBACPiH,eAKR,6BAA6B,OAAEnb,EAAM,QAAEla,EAAO,SAAE4e,IAC9C,MAAM9Z,EAAS,CAAEswB,OAAQp1B,EAAQs1B,UACjC,IACE,MAAM,KAAExxB,SAAe,gBAAyBgB,GAC1ChB,GAAUA,EAAKA,MAAUA,EAAKA,KAAK6xB,gBACvC/W,EAAS,iCAAkC9a,EAAKA,KAAK6xB,gBAEvD,MAAOriB,GACP/G,QAAQoQ,MAAMrJ,KAGlB,sBAAsB,OAAE4G,EAAM,SAAE0E,IAAY,YAAEqW,EAAW,4BAAEW,GAA8B,GAAU,KAE5FA,GAAiCX,GAAgBA,EAAYG,QAAWH,EAAYE,eAIzFjb,EAAO,WAAY+a,EAAYG,QAE/Blb,EAAO,cAAe+a,EAAYY,WAElCjX,EAAS,iCAAkCqW,EAAYU,gBAEvD/W,EAAS,oCAAqCqW,EAAYa,cAE1D5b,EAAO,oBAAqB+a,EAAYc,cAExC7b,EAAO,0BAA2B+a,EAAY5E,eAE9CnW,EAAO,wBAAyB+a,EAAYF,OAE5C7a,EAAO,qBAAsB+a,EAAYe,oBAE3C,gCAAgC,OAAE9b,GAAUua,GACtCA,IAAqB,QACvBva,EAAO,sBAAuB,QAAqBlT,MAC1C,QAAwBmV,SAASsY,GAC1Cva,EAAO,sBAAuB,QAAqBnT,OAC1C0tB,IAAqB,QAC9Bva,EAAO,sBAAuB,QAAqBpT,WAEnDoT,EAAO,sBAAuB,QAAqBrT,aAGvD,mCAAmC,OAAEqT,GAAUqa,GAC7C,GAAIA,EAAoBrxB,OAAQ,CAC9B,MAAM4yB,EAAe,GACfG,EAAsB,IAAIC,IAChC3B,EAAoB1H,QAASsJ,IACtBF,EAAoBG,IAAID,EAAYx2B,QACvCm2B,EAAavrB,KAAK,CAAE5K,KAAMw2B,EAAYx2B,OACtCs2B,EAAoBI,IAAIF,EAAYx2B,SAGxCua,EAAO,yBAA0B4b,KAGrC,oBAAoB,SAAElX,IAAY,MAAEwP,EAAK,SAAEiH,IACzCzW,EAAS,6BAA6B,EAAM,CAAE0X,MAAM,IACpD1X,EAAS,qBAAsB,QAAS,CAAE0X,MAAM,IAChD1X,EACE,wBACA,CAAEwP,QAAOmI,YAAalB,GACtB,CAAEiB,MAAM,MAIC,QACbtX,YAAY,EACZjF,MAAK,GACL/Z,QAAO,GACP8Z,UAAS,GACThG,QAAO,ICrRT,aAAI/D,IAAI,QAER,MAAMV,GAAQ,IAAI,OAAKmnB,MAAM,CAC3BC,QAAS,CACP9c,QACA4F,OACAmX,YACA3W,MAAA,EACApa,SAAA,EACAgxB,SACAC,mBACAC,WACAC,WACAC,gBACAC,eACAC,kBACAC,kBACAC,SACAC,6BACArH,MAAA,GACAsH,kBACAC,oBACAC,qBAIW,kB,kCChDf,iDAKA,MAAMC,EAAiB,CACrB73B,KAAM,iBACN,OACE,MAAO,CACL83B,eAAe,IAGnB33B,SAAU,IACL,eAAW,CACZwP,KAAM,YACN8Q,gBAAiB,8BACjB+C,aAAc,oCAGlBzf,QAAS,IACJ,eAAa,CACdg0B,gBAAiB,iCACjBC,kBAAmB,wCAElB,eAAW,CACZC,qBAAsB,gCACtBC,uBAAwB,0CAE1B,0BAA2BC,GAGrBn5B,KAAKo5B,OAAO5xB,KAAKgW,SAAS,mBAC1Bxd,KAAKyhB,iBAAqBzhB,KAAKwkB,aAAajgB,OAAQvE,KAAKq5B,UAAUr5B,KAAKyhB,gBAAgBtN,IACvFnU,KAAKs5B,kBAAiB,EAAMH,EAAY5I,mBAI7CvwB,KAAKkO,gBAAgB,CAAEvM,KAAM,wBAE/B,uBAAwB43B,GAA4B,EAAOhJ,GACpDA,IAAmBA,EAAoBvwB,KAAKo5B,OAAOpoB,OAExD,MAAMkoB,EAAyBl5B,KAAKk5B,uBAAuB,CAAE3I,sBACvD0I,EAAuBj5B,KAAKi5B,uBAE5BO,EAAgB,CACpBN,EACAD,SAEI5tB,QAAQ0L,IAAIyiB,GAAe9kB,KAAK9O,UAChC5F,KAAKyhB,kBACHzhB,KAAKyL,sBAGH8tB,QAAiCv5B,KAAKq5B,UAAUr5B,KAAKyhB,gBAAgBtN,IAKpEnU,KAAKkO,gBAAgB,CAAEvM,KAAM,oBAE9B3B,KAAKwkB,aAAajgB,cAAcvE,KAAKq5B,UAAUr5B,KAAKyhB,gBAAgBtN,QAKhF,WAAYslB,GACV,OAAO,IAAIpuB,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMC,KAAK,OAAQH,OAAQ2zB,GAAU/kB,KAAK/G,IACxCrC,EAAQqC,EAASxI,QAChBgR,MAAMxB,IACPpH,EAAOoH,QAIb,UAAW4B,EAAYmjB,EAAa,IAClC,MAAMC,EAAO35B,KACb,GAAI25B,EAAKb,cAAe,OACxBa,EAAKb,eAAgB,EACrB,MAAMW,EAAW,CACf9oB,KAAMgpB,EAAKhpB,KAAKsc,GAChBzI,aAAcmV,EAAKnV,aACnB/O,WAAYc,GAERqjB,EAAiB55B,KAAKo5B,OAAOpoB,MAAM6oB,iBAGzC,OAFID,IAAgBH,EAASI,iBAAmBD,GAEzC55B,KAAK85B,WAAWL,GAAU/kB,KAAKqlB,IACpCJ,EAAKZ,gBAAgB,IACrBY,EAAKK,mBAAmB,CAAExyB,KAAM,OAAYA,KAAKmE,QAAQ,UAAWouB,EAAQ5lB,IAAKnD,MAAO0oB,IACxFC,EAAKb,eAAgB,GAEvBnkB,IACEglB,EAAKb,eAAgB,EACrBa,EAAKhlB,MAAQA,EAAMhH,cAMZ,U,8CCpGf,IAAI3B,EAAM,CACT,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,QAIf,SAASiuB,EAAeC,GACvB,IAAI/lB,EAAKgmB,EAAsBD,GAC/B,OAAOE,EAAoBjmB,GAE5B,SAASgmB,EAAsBD,GAC9B,IAAIE,EAAoBC,EAAEruB,EAAKkuB,GAAM,CACpC,IAAI1e,EAAI,IAAI1N,MAAM,uBAAyBosB,EAAM,KAEjD,MADA1e,EAAE8e,KAAO,mBACH9e,EAEP,OAAOxP,EAAIkuB,GAEZD,EAAeltB,KAAO,WACrB,OAAOjJ,OAAOiJ,KAAKf,IAEpBiuB,EAAe3uB,QAAU6uB,EACzBn4B,EAAOC,QAAUg4B,EACjBA,EAAe9lB,GAAK,Q,wGCzBhBrU,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,gBAElEc,EAAkB,G,wBCMP,GACbC,KAAM,MACNu5B,OAAQ,CAAC1B,EAAA,MACT,UACM74B,KAAKyL,uBAEPZ,OAAO2vB,iBAAiB,UAAYC,GAAUz6B,KAAK06B,uBAAuBD,KAG9E11B,QAAS,IACJ,eAAW,CACZ41B,yBAA0B,4CAC1BC,kCAAmC,qDAErC,uBAAwBH,GACtB,MAAMtB,EAAcsB,EAAMt1B,KACpB01B,EAAkB76B,KAAK86B,6BAA6BL,EAAMM,QAE5DF,GACF76B,KAAKg7B,+BAA+B7B,IAGxC,+BAAgCA,GAC9B,OAAQA,EAAYx3B,MAClB,IAAK,mBACH3B,KAAKi7B,0BAA0B9B,GAC/B,MAEF,IAAK,qBACHtuB,OAAOqwB,SAASC,SAChB,MAEF,IAAK,gBACHn7B,KAAKo7B,0BAA0BjC,GAC/B,QAGN,0BAA2BA,GAUzB,MAAM5I,EAAoB4I,EAAY5I,kBAClCA,IACyB,eAAvB4I,EAAYlrB,OACdjO,KAAK46B,kCAAkCrK,GACP,iBAAvB4I,EAAYlrB,QACrBjO,KAAK26B,yBAAyB,CAAEpK,oBAAmBwB,OAAQ/xB,KAAKo5B,OAAOjzB,OAAO4rB,YAKtF,gBACM/xB,KAAKyL,uBAAuBZ,OAAOwwB,oBAAoB,UAAYZ,GAAUz6B,KAAK06B,uBAAuBD,MClEwH,I,YCOrO14B,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,KACA,MAIa,EAAAgB,E,4GCdR,SAASu5B,EAAoBC,IAClC,WACE,IAAK,IAAIC,EAAI,CAAC,WAAY,QAAS,cAAe,aAAc,YAAa,gBAAiB,SAC5Fx1B,EAAI,SAAUw1B,GACZ,OAAO,WACLC,QAAQ7vB,KAAK,CAAC4vB,GAAGrvB,OAAOgE,MAAMurB,UAAUtvB,MAAM6E,KAAKxH,UAAW,OAE/DkyB,EAAI,EAAGA,EAAIH,EAAEj3B,OAAQo3B,IACxBF,QAAQD,EAAEG,IAAM31B,EAAEw1B,EAAEG,IAEtB,MAAMC,EAAIpxB,SAASslB,cAAc,UAC3B+L,EAAIrxB,SAASsxB,qBAAqB,UAAU,GAClDF,EAAEj6B,KAAO,kBACTi6B,EAAEh2B,OAAQ,EACVg2B,EAAEG,OAAQ,EACVH,EAAEI,IAAM,iDACRH,EAAEI,WAAWC,aAAaN,EAAGC,IAf/B,GAkBAJ,QAAQU,WAAWZ,GAtBrB1wB,OAAO4wB,QAAU,GACjB5wB,OAAOuxB,cAAe,E,qCCoBtB,aAAIhrB,IAAI,KAER,MAAMirB,EAAW,IAGfC,WACAA,UAAUC,eACVD,UAAUC,cAAcC,kBAGxBF,UAAUC,cAAcC,mBAAmB9nB,MAAK,SAAU+nB,GACxD,IAAK,MAAMC,KAAgBD,EACzBC,EAAaC,gBAKnB,EAAA32B,EAAM42B,SAASC,eAAiB,cAEhC,EAAA72B,EAAM42B,SAASE,QAAQ72B,KAAK,gBAC1B,oCAEF,EAAAD,EAAM+2B,aAAahI,QAAQ3jB,IACxBwH,IAEKA,EAAOzK,IAAIqP,SAAS,2BAEf5E,EAAOkkB,QAAQE,OAAOC,cAG7BrkB,EAAOkkB,QAAQE,OAAOC,cAAgB,UAAU,iBAE9C,mBACFrkB,EAAOkkB,QAAQE,OAAO,eAAiB,GAAG,kBAErCpkB,GAERjE,GACQtJ,QAAQkC,OAAOoH,IAI1B,EAAA3O,EAAM+2B,aAAapvB,SAASyD,IAWzBzD,GAAaA,EACbgH,IACC,MAAMuoB,EAAkBvoB,EAAMiE,QACxB,OAAEtM,EAAM,KAAEnH,GAASwP,EAAMhH,SACzBwvB,EAAwB,MAAX7wB,GAAgC,oBAAdnH,EAAKm1B,KACpC8C,EACJF,EAAgB/uB,MAAWkuB,EAAH,qBAE1B,GAAIc,GAAcC,EAChB,iBACKvyB,OAAOqwB,SAASmC,SAAS7a,WAAW,WACvC3X,OAAOqwB,SAAS3jB,OAAO,GAAG8kB,IAAWxxB,OAAOqwB,SAASoC,eAElD,GAAIH,EACT,OAAO,eAAsBD,GAE/B,OAAO7xB,QAAQkC,OAAOoH,KAI1B,aAAIiE,OAAO2kB,eAAgB,EAE3B,IAAa3kB,OAAO4kB,kBAAmB,EACvC,aAAIpsB,IAAI,KACR,aAAIA,IAAI,KACR,aAAIA,IAAI,QAER,aAAIA,IAAIV,EAAA,MACRA,EAAA,KAAMuP,SAAS,yBAEf,aAAIrV,MAAM,QAEV,IAAI,aAAI,CACNyG,SAAA,KACAvR,OAAS29B,GAAMA,EAAEC,GACjBhtB,QAAA,OACCitB,OAAO,QAEuB,cAA7B9yB,OAAOqwB,SAAS5sB,UAClBgtB,EAAmB,qmBAAYsC,6B,oCClHjC,IAAI99B,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,cAAc,CAACmC,IAAIrC,EAAI89B,cAAct9B,MAAM,CAAC,MAAQR,EAAIyB,WAAWs8B,sBAAsB,YAAc/9B,EAAIyB,WAAWs8B,sBAAsB,eAAc,EAAK,WAAY,EAAM,SAAW/9B,EAAIM,SAAS,0BAA4BN,EAAImC,0BAA0B,mBAAkB,EAAK,sBAAsBnC,EAAIg+B,mBAAmB,IAAMh+B,EAAIi+B,OAAO,aAAej+B,EAAIk+B,eAAe,eAAe,SAAS,cAAc,QAAQ,uBAAuB,MAAM17B,GAAG,CAAC,MAAQxC,EAAIm+B,mBAAmB,OAAS,SAASz7B,GAAQ,OAAO1C,EAAI2C,MAAM,YAAYQ,MAAM,CAACC,MAAOpD,EAAgB,aAAEqD,SAAS,SAAUC,GAAMtD,EAAIo+B,aAAa96B,GAAKE,WAAW,mBAE3rBxC,EAAkB,G,oCCyBP,GACbC,KAAM,cACN0C,WAAY,CAAE06B,aAAA,MACd38B,MAAO,CACL0B,MAAO,CACLxB,KAAMmC,OACNjC,QAAS,OACTH,UAAU,GAEZQ,0BAA2B,CACzBP,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGbsD,KAAM,KACG,CACLk5B,yBAAA,OACAp9B,kBAAmB,CACjB68B,sBAAuB,gBACvBQ,UAAW,OACXC,WAAY,SAEdJ,aAAc,KACd99B,UAAU,EACVm+B,YAAa,GACbX,cAAe,6BAGnB18B,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,SACE,MAAO,+CAET,iBACE,OAAQjB,KAAKm+B,eAAiBn+B,KAAKm+B,aAAa55B,QAAwC,IAA7BvE,KAAKm+B,aAAa55B,UAAkBvE,KAAKw+B,YAAYrZ,KAAKsZ,GAAUA,EAAOxR,KAAOjtB,KAAKm+B,aAAa,MAGnK,UACEn+B,KAAKm+B,aAAen+B,KAAKmD,OAASnD,KAAKmD,MAAMg7B,aAAen+B,KAAKmD,MAAMg7B,aAAe,GACtFn+B,KAAKsE,SAEPS,QAAS,CACP,mBAAoBo5B,GAClB,MAAMO,EAAaP,EAAa55B,OAChC,IAAIo6B,EAAY,OAChB,GAAID,EAAY,CAGd,MAAME,EAAiB5+B,KAAKw+B,YAAYrZ,KAAKsZ,GAAUA,EAAOxR,KAAOkR,EAAaO,EAAa,IAC3FE,IACF5+B,KAAKm+B,aAAe,CAACA,EAAaO,EAAa,IAC/CC,EAAY,OACZ3+B,KAAKwF,MAAMxF,KAAK69B,eAAegB,iBAAiBD,IAGpD5+B,KAAK0C,MAAM,QAAS,CAAEi8B,YAAWR,aAAcn+B,KAAKm+B,eAEhDn+B,KAAKm+B,aAAa55B,OAAS,GAAGvE,KAAK0F,kBAEzC,iBAEE,OADA1F,KAAKK,UAAYL,KAAKm+B,aAAa55B,QAC3BvE,KAAKK,UAEf,QACE,IAAK,MAAOiJ,EAAKnG,KAAUW,OAAOye,QAAQviB,KAAKq+B,4BAC7Cr+B,KAAKw+B,YAAY5yB,KAAK,CAAE5K,KAAMmC,EAAO8pB,GAAI3jB,KAG7C,mBAAoBw1B,GAClB,MAAO,CACL,CACEn+B,MAAOX,KAAKwB,WAAW88B,UACvB9P,OAAQxuB,KAAKw+B,aAEf,CACE79B,MAAOX,KAAKwB,WAAW+8B,WACvB/P,OAAQsQ,EAAQ9yB,IAAIyyB,IAAU,IAAMA,EAAQz9B,KAAMy9B,EAAOxiB,kBC1G0N,I,YCOzRla,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,OAAAgB,E,sEClBf,W,oCCAA,IAAIjC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,MAAM,CAAC,iCAAkC,CAAE,mBAAqBL,EAAImC,6BAA8B,CAACjC,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,QAAQ,CAACE,YAAY,oDAAoDI,MAAM,CAAC,GAAK,oCAAoC,IAAM,gCAAgC,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIg/B,uBAAuB,OAAO9+B,EAAG,aAAa,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,4BAA4BC,MAAM,CAAE,cAAeL,EAAIwB,eAAgB,CAACtB,EAAG,QAAQ,CAACE,YAAY,sBAAsBI,MAAM,CAAC,IAAM,mCAAmC,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWw9B,eAAe,OAAO/+B,EAAG,eAAe,CAACM,MAAM,CAAC,GAAK,iCAAiC,YAAcR,EAAIyB,WAAWw9B,cAAc,KAAO,SAAS,IAAM,IAAI,IAAM,MAAM,QAAU,kCAAkCz8B,GAAG,CAAC,OAASxC,EAAIuK,qBAAqBpH,MAAM,CAACC,MAAOpD,EAAY,SAAEqD,SAAS,SAAUC,GAAMtD,EAAIk/B,SAAS57B,GAAKE,WAAW,eAAe,GAAGtD,EAAG,MAAM,CAACE,YAAY,4BAA4BC,MAAM,CAAE,cAAeL,EAAIwB,eAAgB,CAACtB,EAAG,QAAQ,CAACE,YAAY,sBAAsBI,MAAM,CAAC,IAAM,mCAAmC,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW09B,eAAe,OAAOj/B,EAAG,eAAe,CAACM,MAAM,CAAC,GAAK,iCAAiC,YAAcR,EAAIyB,WAAW09B,cAAc,KAAO,SAAS,IAAM,IAAI,IAAM,MAAM,QAAU,kCAAkC38B,GAAG,CAAC,OAASxC,EAAIuK,qBAAqBpH,MAAM,CAACC,MAAOpD,EAAY,SAAEqD,SAAS,SAAUC,GAAMtD,EAAIo/B,SAAS97B,GAAKE,WAAW,eAAe,KAAMxD,EAAgB,aAAEE,EAAG,IAAI,CAACE,YAAY,qBAAqB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIwB,cAAc,OAAOxB,EAAIa,MAAM,GAAGX,EAAG,MAAM,CAACE,YAAY,qBAAqBoC,GAAG,CAAC,MAAQ,SAASE,GAAgC,OAAxBA,EAAOgB,iBAAwB1D,EAAI2C,MAAM,aAAa,CAAG3C,EAAImC,0BAAuEjC,EAAG,MAAM,CAACM,MAAM,CAAC,MAAQ,IAAI,OAAS,IAAI,QAAU,UAAU,KAAO,OAAO,MAAQ,6BAA6B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,GAAK,IAAI,KAAO,SAAS,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,kHAAkHN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,6GAA6G,KAAO,OAAO,eAAe,QAAQN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,+sCAA+sC,KAAO,UAAU,eAAe,MAAM,KAAO,eAAx1DN,EAAG,IAAI,CAACE,YAAY,6BAEn4DY,EAAkB,GCmEP,GACbC,KAAM,mBACN0C,WAAY,GACZjC,MAAO,CACL0B,MAAO,CACLxB,KAAMmC,OACNpC,UAAU,GAEZQ,0BAA2B,CACzBP,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEXu9B,YAAa,CACXz9B,KAAMC,OACNF,UAAU,IAGdyD,KAAM,KACG,CACLlE,kBAAmB,CACjBN,MAAO,aACPu+B,cAAe,MACfF,cAAe,MACfK,qBAAsB,uCACtBC,mBAAoB,6CACpBC,oBAAqB,8CACrBC,qBAAsB,2CAExBL,SAAU,IACVF,SAAU,EACV19B,aAAc,OAGlBJ,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,wBACE,OAAOjB,KAAKo/B,YAAiBp/B,KAAKo/B,YAAR,OAA+Bp/B,KAAKwB,WAAWb,MAAnB,SAG1D,UACEX,KAAKsE,SAEPS,QAAS,CACP,QACM/E,KAAKmD,QACPnD,KAAKi/B,SAAWj/B,KAAKy/B,aAAaz/B,KAAKmD,MAAMu8B,WAAa1/B,KAAKmD,MAAMu8B,UAAY,KACjF1/B,KAAKm/B,SAAWn/B,KAAKy/B,aAAaz/B,KAAKmD,MAAMw8B,WAAa3/B,KAAKmD,MAAMw8B,UAAY,OAGrF,sBACE,MAAMx6B,EAAO,GACTnF,KAAKy/B,aAAaz/B,KAAKi/B,YAAW95B,EAAKu6B,UAAY1/B,KAAKi/B,UACxDj/B,KAAKy/B,aAAaz/B,KAAKm/B,YAAWh6B,EAAKw6B,UAAY3/B,KAAKm/B,UAC5Dn/B,KAAK0F,iBACD1F,KAAKuB,cACTvB,KAAK0C,MAAM,QAASyC,IAEtB,iBAeE,OAdAnF,KAAKuB,aAAe,KACfvB,KAAKy/B,aAAaz/B,KAAKi/B,WAAcj/B,KAAKy/B,aAAaz/B,KAAKm/B,UAEtD/xB,OAAOpN,KAAKm/B,UAAY,GAAK/xB,OAAOpN,KAAKi/B,UAAY,EAC9Dj/B,KAAKuB,aAAevB,KAAKwB,WAAW69B,qBAC3Br/B,KAAKy/B,aAAaz/B,KAAKi/B,WAAaj/B,KAAKy/B,aAAaz/B,KAAKm/B,YAChE/xB,OAAOpN,KAAKm/B,UAAY/xB,OAAOpN,KAAKi/B,YACtCj/B,KAAKuB,aAAevB,KAAKwB,WAAW89B,qBAElClyB,OAAOpN,KAAKm/B,UAAY,KAAO/xB,OAAOpN,KAAKi/B,UAAY,OACzDj/B,KAAKuB,aAAevB,KAAKwB,WAAWg+B,uBARtCx/B,KAAKuB,aAAevB,KAAKwB,WAAW+9B,qBAY9Bv/B,KAAKuB,cAEf,aAAc2L,GACZ,OAAOA,GAAqB,IAAXA,KCnJ4Q,I,wBCQ/RnL,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,OAAAgB,E,sECnBf,kCAIO,MAAMmzB,EAAoB,CAC/B0K,aAAc,GACd76B,QAAS,CACP,YAAaiF,EAAO+qB,GAMlB,MAAM9a,EAAUib,EAAkBnwB,QAAQ86B,eAAe71B,EAAO+qB,GAEhE,OADAG,EAAkBnwB,QAAQ+6B,WAAW91B,EAAOiQ,GACrCA,GAET,SAAUjQ,GAIR,OAAOkrB,EAAkB0K,aAAa51B,GAASkrB,EAAkB0K,aAAa51B,GAAS,IAEzF,WAAYA,EAAO7E,GAIjB,MAAM46B,EAAQ7K,EAAkBnwB,QAAQi7B,SAASh2B,GACjD+1B,EAAMn0B,KAAKzG,GACX+vB,EAAkB0K,aAAa51B,GAAS+1B,GAE1C,mBAAoB/1B,GAIlB,MAAM+1B,EAAQ7K,EAAkBnwB,QAAQi7B,SAASh2B,GACjD,OAAO+1B,EAAMx7B,OAAS,EAAIw7B,EAAMA,EAAMx7B,OAAS,GAAK8G,QAAQC,WAE9D,gBAAiBtB,GAIf,MAAM+1B,EAAQ7K,EAAkBnwB,QAAQi7B,SAASh2B,GACjD+1B,EAAME,QACN/K,EAAkB0K,aAAa51B,GAAS+1B,GAE1C,eAAgB/1B,EAAO+qB,GAIrB,MAAMmL,EAAkBhL,EAAkBnwB,QAAQo7B,mBAAmBn2B,GACrE,OAAO,IAAIqB,QAAQ,CAACC,EAASiC,KAC3B2yB,EAAgB3a,QAAQ,IACfwP,IAAUrgB,KAAM/G,IACrBunB,EAAkBnwB,QAAQq7B,gBAAgBp2B,GAC1CsB,EAAQqC,KACPwI,MAAMxB,IACPpH,EAAOoH,SAKf,4BAIE,OAAO,IAAItJ,QAAQ,CAACC,EAASiC,KAC3B,MAAM8yB,EAAU,GAChB,IAAK,MAAMr2B,KAASkrB,EAAkB0K,aACpC,IAAK,MAAMU,KAAkBpL,EAAkB0K,aAAa51B,GAC1Dq2B,EAAQz0B,KAAK00B,GAGjBj1B,QAAQ0L,IAAIspB,GAAS3rB,KAAK,KACxBpJ,MACC6K,MAAMxB,IACPpH,EAAOoH,W,oCC5EjB,W,kCCAA,mCAEA,MAAM4rB,EAAkB,IAAM,qLAGxBC,EAAa,wBACbC,EAAW,gBAEF,QACbz/B,KAAM,eACN8E,OAAQ06B,EACRj5B,MAAO,CACLC,KAAMi5B,EACN1+B,UAAWw+B,GAEb,oBAAqBpyB,EAAKhI,GACxB,MAAM63B,EAAS7vB,GAAOqyB,EAAa,yBACnC,OAAO,EAAAx6B,EAAMI,IAAI43B,EAAQ73B,IAE3Bu6B,qBAAsB,CACpBC,QAAS,yCACTC,SAAU,yCACV1kB,QAAS,qCACT2kB,SAAU,qCACVC,QAAS,qCACTC,aAAc,qCACdC,YAAa,sCACbC,KAAM,sCACNC,KAAM,uCACNC,MAAO,uCACPC,OAAQ,yCACRC,OAAQ,0CAEV,mBAAoBzc,GAClB,IAAKA,EAAiB,OACtB,MAAMjjB,EAAOijB,EAAgB0c,cAC7B,OAAOthC,KAAK0gC,qBAAqB/+B,M,2DCpCrC,2DAEO,MAAM4/B,EAA2B,CACtCC,cAAe,oBACf5O,kBAAmB,wBACnB6O,sBAAuB,4BAEvB18B,QAAS,CACP,gBAAiB28B,GAMf,OAAO,EAAA17B,EAAMC,KAAKs7B,EAAyBC,cAAeE,IAE5D,wBAAyBA,GAKvB,OAAO,EAAA17B,EAAMC,KAAKs7B,EAAyBE,sBAAuBC,IAEpE,eAAgB3P,GAKd,OAAO/xB,KAAK2hC,cAAcJ,EAAyBC,cAAe,CAAEI,oBAAqB7P,KAE3F,qBAAsBA,GAMpB,OAAO/xB,KAAK2hC,cAAcJ,EAAyB3O,kBAAmB,CAAEyD,QAAStE,KAEnF,cAAe5jB,EAAKhI,GAClB,OAAO,IAAIkF,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMI,IAAI+H,EAAK,CAAEhI,WAAUuO,KAAK/G,IAC9BrC,EAAQqC,EAASxI,QAChBgR,MAAMxB,IACPpH,EAAOoH,W,oCC3CjB,W,oCCAA,wCAAMktB,EAAqB,IAAM,oDAC3BC,EAAqB,IAAM,wLAC3BC,EAAa,IAAM,6HAOnBh7B,EAAU,SAEHi7B,EAAoB,CAC/BhhC,KAAM,UACN8E,OAAQ,qBACRyB,MAAO,CAAEC,KAAMT,EAAU,WAAYhF,UAAW8/B,IAGrCI,EAAkB,CAC7BjhC,KAAM,eACNuG,MAAO,CAAEC,KAAMT,EAAU,gBAAiBhF,UAAW+/B,IAG1CI,EAAW,CACtBlhC,KAAM,OACN8E,OAAQ,kBACRyB,MAAO,CAAEC,KAAMT,EAAU,QAAShF,UAAWggC,IAGhC,QACb/gC,KAAM,OACN8E,OAAQ,OAASiB,EACjBQ,MAAO,CACLC,KAAMT,EAAShF,UAAW8/B,GAE5Bp6B,OAAQ,CACNu6B,EAAkBz6B,MAClB06B,EAAgB16B,MAChB26B,EAAS36B,S,oFCrCb,4GAAM46B,EAAW,IAAM,gVACjBC,EAAe,IAAM,sPAGrBr7B,EAAU,SAEHs7B,EAAmB,CAC9BrhC,KAAM,gBACNuG,MAAO,CACLC,KAAST,EAAH,OACNhF,UAAWqgC,IAgBf,SAASE,EAAwBvuB,EAAMwuB,GACrC,OAAIxuB,EAAKX,cAAgBW,EAAKX,aAAaovB,kBAAoBzuB,EAAKX,aAAaovB,iBAAiBj+B,OACzFwP,EAAKX,aAAaovB,iBAAiBrd,KAAKpR,GAAQA,EAAKI,KAAOouB,GAE9D,KAGT,SAASE,EAAY1uB,EAAM2uB,EAAMC,GAC/B,IAAIC,EAAS,GACb,MAAM3+B,EAAU8P,EAAK9P,QACf4+B,EAAc,IAAItL,IAExB,IAAK,MAAMhjB,KAAUtQ,EAAS,CAC5B,MAAM4hB,EAAkByc,EAAuBvuB,EAAMQ,EAAOuuB,aAE5D,GAAIjd,EAAiB,CACnB,IAAIkd,EACJ,GAAkC,WAA9Bld,EAAgBmd,UAElBD,EAAa9qB,KAAKC,MAAM3D,EAAO/H,MAAMxL,UAChC,GAAI6kB,EAAgBiZ,SAAWjZ,EAAgBiZ,QAAQv6B,OAAS,EAAG,CAExE,MAAMk6B,EAAS5Y,EAAgBiZ,QAAQ3Z,KAAKsZ,GAAUA,EAAOt7B,MAAM8J,aAAesH,EAAO/H,KAAKS,YAC9F81B,EAAatE,EAASA,EAAO99B,MAAQ4T,EAAO/H,UAE5Cu2B,EAAaxuB,EAAO/H,KAGtB,MAAMy2B,EAAapd,EAAgBllB,MAC/BgiC,IAAeE,EAAYpL,IAAIwL,KACjCJ,EAAYnL,IAAIuL,GAChBL,GAAU,GAAGF,MAASO,OAGxBL,GAAU,GAAGF,IAAOA,MAASQ,EAAMH,UAEnCH,GAAU,GAAGF,MAASQ,EAAM3uB,EAAO/H,QAAQ+H,EAAO4uB,eAAiB,kBAAkB5uB,EAAO6uB,WAAe,KAG7GR,GAAU,KAGZ,OAAOA,EAGT,SAASS,EAAgBtvB,EAAM2uB,EAAMC,GACnC,IAAIC,EAAS,GACb,MAAMU,EAAavvB,EAAK9P,SAAW8P,EAAK9P,QAAQM,OAAS,EACnDg/B,IAAaxvB,EAAKV,MAAQU,EAAKV,KAAK9O,OAAS,EAInD,OAFI++B,IAAYV,GAAUH,EAAW1uB,EAAM2uB,EAAMC,IAC7CY,IAAUX,GAAUM,EAAMnvB,EAAKV,OAC5BuvB,EAIT,SAASY,EAAoBh3B,GAC3B,MAAMi3B,EAAWj5B,SAASslB,cAAc,YAExC,OADA2T,EAASC,UAAYl3B,EACdi3B,EAAStgC,MAvEH,QACbnC,KAAM,QACN8E,OAAQ,OAAOiB,EACfQ,MAAO,CACLC,KAAMT,EACNhF,UAAWogC,GAEb16B,OAAQ,CACN46B,EAAiB96B,QAkEd,MAAMo8B,EAAqB,CAAC5vB,EAAM4uB,KACvC,IAAIC,EAAS,GACb,IAAK7uB,EACH,KAAM,mBAIR,GAAI4uB,GAAc5uB,EAAK6vB,YAAc7vB,EAAK6vB,WAAWr/B,OAAS,EAAG,CAE/D,MAAMs/B,EAAW9vB,EAAK6vB,WAAW,GACjChB,GAAU,cAAgBiB,EAAS1gC,MAAQ,IAAM0gC,EAASlE,UAAY,KAGxE,IAAK,MAAMre,KAAKvN,EAAK+vB,UAAW,CAC9B,MAAMC,EAAMhwB,EAAK+vB,UAAUxiB,GACrBiT,EAAWwP,EAAI9P,UAErB,IAAI+P,GAAQzP,IAAawP,EAAIvP,kBAAoBuP,EAAIpiC,KAErD,MAAMsiC,EAAYC,EAAY3P,KAAcwP,EAAIpiC,KAEhDqiC,EAAOA,GAAQC,EACXD,IAEArB,GAAcC,EAAOr+B,OAAS,IAAGq+B,GAAU,MAC9B,cAAbmB,EAAIpiC,OAAsBihC,GAAU,eACvB,YAAbmB,EAAIpiC,OAAoBihC,GAAU,uBAClCD,GAAcoB,EAAIpiC,QAAMihC,GAAUmB,EAAI/iC,MACtCuzB,GACEoO,IACFC,GAAUrO,EAAS4P,UAAY,MAAQ5P,EAAS4P,UAAY,GAC5DvB,GAAU,MAEZA,GAAUS,EAAe9O,EAAU,KAAMoO,IAErCA,IAAYC,GAAU,MAGvBA,EAAOwB,SAAS,QAAOxB,GAAU,OAMxC,OAFAA,EAASY,EAAmBZ,GAErBA,GAGIsB,EAAe3P,GACnBA,GACD8P,EAAiB9P,IACjB+P,EAAQ/P,EAASlhB,SACfkhB,EAASL,yBAA2BK,EAASL,uBAAuB3vB,QAGjE8/B,EAAoB9P,IACtBA,EAAStwB,UAAYswB,EAAStwB,QAAQM,OAGpC+/B,EAAWzI,IACjBA,GAAkB,IAAbA,EAAEt3B,SACZs3B,EAAIA,EAAElwB,QAAQ,gBAAiB,IACX,IAAbkwB,EAAEt3B,QAGE2+B,EAASqB,IACpBA,EAAOA,EAAK54B,QAAQ,8BAA+B,IACnD44B,EAAOA,EAAK54B,QAAQ,gCAAiC,IACrD44B,EAAOA,EAAK54B,QAAQ,YAAa,MACjC44B,EAAOA,EAAK54B,QAAQ,WAAY,MAChC44B,EAAOA,EAAK54B,QAAQ,SAAU,SAC9B44B,EAAOA,EAAK54B,QAAQ,WAAY,MAChC44B,EAAOA,EAAK54B,QAAQ,UAAW,MAC/B44B,EAAOA,EAAK54B,QAAQ,iBAAkB,MACtC44B,EAAOA,EAAK54B,QAAQ,YAAa,IAEjC,MAAM64B,EAAiB,eACjBC,EAAiB,eAKvB,OAJAF,EAAOA,EAAK54B,QAAQ,cAAe64B,GACnCD,EAAOA,EAAK54B,QAAQ,WAAY84B,GAChCF,EAAOA,EAAK54B,QAAQ,iBAAkB,QACtC44B,EAAOA,EAAK54B,QAAQ,iBAAkB,MAC/B44B,I,2DCzKT,W,oCCAA,IAAIzkC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,cAAc,CAACM,MAAM,CAAC,MAAQR,EAAI++B,QAAQ37B,MAAM,MAAQpD,EAAI++B,QAAQn+B,OAASZ,EAAIyB,WAAWkjC,cAAc,WAAY,EAAM,IAAM3kC,EAAIi+B,OAAO,YAAcj+B,EAAI++B,QAAQj6B,YAAY,uBAAuB,OAAO,SAAW9E,EAAI++B,QAAQp9B,SAAS,mBAAkB,EAAK,SAAW3B,EAAIM,UAAUkC,GAAG,CAAC,MAAQxC,EAAIm+B,uBAEnXn9B,EAAkB,G,wBCiBP,GACbC,KAAM,iBACN0C,WAAY,CAAE06B,aAAA,MACd38B,MAAO,CACLq9B,QAAS,CACPn9B,KAAM,OACND,UAAU,GAEZsB,sBAAuB,CACrBrB,KAAMwO,MACNzO,UAAU,EACVG,QAAS,IAAM,KAGnB,OACE,MAAO,CACL8iC,oBAAqB,GACrBtkC,UAAU,EACVY,kBAAmB,CACjByjC,cAAe,kBAIrBvjC,SAAU,CACR,wBACE,MAAO,WAAWnB,KAAKgD,uBAEzB,SACE,MAAO,wCAAwChD,KAAK4kC,uBAEtD,aACE,OAAO5kC,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACEjB,KAAK2kC,oBAAsB3kC,KAAK8+B,QAAQ37B,OAAS,IAEnD4B,QAAS,CACP,mBAAoB8/B,GAClB7kC,KAAK2kC,oBAAsBE,EAC3B7kC,KAAK0C,MAAM,QAAS1C,KAAK2kC,qBACrB3kC,KAAK2kC,oBAAoBpgC,OAAS,GAAGvE,KAAK0F,kBAEhD,iBAEE,OADA1F,KAAKK,UAAYL,KAAK2kC,oBAAoBpgC,QAClCvE,KAAKK,YChEqQ,I,YCOpR0B,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,OAAAgB,E,6CClBf,W,8SCAIjC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAQF,EAAyB,sBAAEE,EAAGF,EAAI+kC,sBAAsB/kC,EAAIglC,GAAG,CAACC,IAAI,YAAYziC,GAAG,CAAC,OAASxC,EAAIklC,cAAcC,YAAYnlC,EAAIolC,GAAG,CAAC,CAAC77B,IAAI,QAAQ87B,GAAG,WAAW,MAAO,CAACnlC,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAAGJ,EAAIslC,UAAkDplC,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAAEJ,EAAkB,eAAEE,EAAGF,EAAIulC,eAAevlC,EAAIglC,GAAG,CAACC,IAAI,YAAYO,MAAOxlC,EAAc,YAAG,YAAYA,EAAIylC,eAAc,IAAQzlC,EAAIa,MAAM,GAA5NX,EAAG,MAAM,CAACA,EAAG,uBAAuB,OAA+LwlC,OAAM,IAAO,MAAK,EAAM,WAAW,YAAY1lC,EAAI2lC,UAAS,IAAQ3lC,EAAIa,MAExlBG,EAAkB,G,6CCgCP,GACbC,KAAM,sBACN0C,WAAY,CACViiC,oBAAA,YAEFlkC,MAAO,CACLgrB,OAAQ,CACN9qB,KAAMmC,OACNpC,UAAU,GAEZkkC,WAAY,CACVjkC,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEXgkC,YAAa,CACXlkC,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLikC,MAAA,EAAA9/B,EACA+/B,oBACA9kC,kBAAmB,GACnB+kC,kBAAmB,UACnBvY,UAAW,KACXwY,aAAc,KACdC,mBAAoB,KACpBlsB,SAAS,EACTmsB,WAAY,CACVC,UAAW,WAIjBjlC,SAAU,IACL,eAAW,CACZ+qB,iBAAkB,uCAEpB,wBACE,OAAIlsB,KAAK4lC,WACA5lC,KAAKqmC,sBAEPrmC,KAAKsmC,kBAEd,WACE,OAAItmC,KAAK4lC,WACA5lC,KAAKumC,iBAEP,IAAKvmC,KAAKwmC,kBAAmBX,YAAa7lC,KAAK6lC,cAExD,YACE,OAAQ7lC,KAAKga,WAAaha,KAAKytB,WAEjC,gBACE,MAAO,CACLA,UAAWztB,KAAKytB,UAChBwY,aAAcjmC,KAAKimC,aACnBxZ,OAAQzsB,KAAKysB,OACboZ,YAAa7lC,KAAK6lC,cAGtB,aACE,OAAO7lC,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,eACE,OAAOjB,KAAKymC,QAAUzmC,KAAK0mC,oBAG/BC,MAAO,CACL,SACE3mC,KAAKsE,SAEP,iBAAkB4gB,EAAK0hB,GACjB1hB,IAAQ,IAAS0hB,EAAQ1hB,IAC3BllB,KAAK6mC,eAAe3hB,KAI1B,UACEllB,KAAKsE,SAEPS,QAAS,IACJ,eAAW,CACZ+hC,kBAAmB,mCACnBJ,kBAAmB,wCAErB,QACO1mC,KAAK4lC,aACJ5lC,KAAK6lC,YACP7lC,KAAK6mC,eAAe7mC,KAAKksB,kBAEzBlsB,KAAK+mC,WAAW/mC,KAAKysB,UAI3B,WAAYzS,GACVha,KAAKga,QAAUA,GAEjB,WAAYyS,GACLA,EAAOtY,KACZnU,KAAKga,SAAU,EAEfha,KAAK+lC,iBAAiBtZ,GAAQ/X,KAAK9O,UACjC5F,KAAKytB,gBAAkBztB,KAAKgnC,YAAYr5B,EAASxI,KAAKA,MACtDnF,KAAKga,SAAU,EAEfha,KAAKimC,aAAejmC,KAAKinC,gBAAgBxa,EAAQzsB,KAAM,QAG3D,aAAcysB,GACZ,OAAO,IAAIphB,QAAQ,CAACC,EAASiC,KAC3BvN,KAAKknC,aAAaza,GAAQ/X,KAAK/G,IAC7B3N,KAAK8mC,kBAAkBn5B,GACvBrC,EAAQqC,KACPwI,MAAMxB,IACP/G,QAAQ+G,MAAMA,QAIpB,cAAexP,EAAMgiC,EAAY,SAC/B,OAAOhiC,EAAKwb,QAAO,SAAUymB,EAAKrzB,GAChC,OAAOA,EAAKozB,GAAaC,IACxB,IAEL,qBAAsBC,GAChBA,GAAernC,KAAK6lC,cACtB7lC,KAAKga,SAAU,EACfha,KAAKytB,gBAAkBztB,KAAKgnC,YAAYK,GACxCrnC,KAAKga,SAAU,EACfha,KAAKimC,aAAejmC,KAAKinC,gBAAgBjnC,KAAKysB,OAAQzsB,KAAM,MAGhE,kBAAmBsnC,GACjBtnC,KAAK0L,QAAQE,KAAK,CAAEpE,KAAM,SAAUwJ,MAAO,CAAEu2B,OAAQvnC,KAAKytB,UAAU+Z,QAAQF,GAAWj7B,aCzKuL,I,YCOhRtK,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,EAAAgB,E,QClBX,EAAS,WAAkB,IAAIhC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,kCAAkC,CAACF,EAAG,MAAM,CAACE,YAAY,6DAA6D,CAACF,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,MAAM,CAACM,MAAM,CAAC,IAAM,2BAA2BN,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAI6rB,kBAAkB6D,OAAO,SAASxvB,EAAG,MAAM,CAACE,YAAY,eAAe,CAAGJ,EAAI0nC,SAA0LxnC,EAAG,eAAe,CAACE,YAAY,iBAAiBI,MAAM,CAAC,YAAcR,EAAIyB,WAAWkmC,sBAAsB,UAAY,IAAInlC,GAAG,CAAC,KAAO,SAASE,GAAQ1C,EAAI0nC,UAAS,IAAQvkC,MAAM,CAACC,MAAOpD,EAAI6rB,kBAAsB,KAAExoB,SAAS,SAAUC,GAAMtD,EAAI+a,KAAK/a,EAAI6rB,kBAAmB,OAAQvoB,IAAME,WAAW,4BAAvdtD,EAAG,MAAM,CAACE,YAAY,WAAWC,MAAOL,EAAI6rB,kBAAkB5qB,KAAkB,GAAb,aAAgBuB,GAAG,CAAC,MAAQ,SAASE,GAAQ1C,EAAI0nC,UAAS,KAAQ,CAAC1nC,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAI4nC,aAAa,QAA2U,KAAK1nC,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,QAAQ,CAACE,YAAY,YAAYI,MAAM,CAAC,QAAU,aAAagC,GAAG,CAAC,MAAQxC,EAAI6nC,oBAAoB,CAAC7nC,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWyiB,QAAQ,OAAOhkB,EAAG,QAAQ,CAACE,YAAY,OAAOI,MAAM,CAAC,QAAU,WAAWgC,GAAG,CAAC,MAAQxC,EAAI8nC,iCAAiC,CAAC9nC,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWsmC,WAAW,QAAQ,KAAK7nC,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,4CAA4C,CAACF,EAAG,eAAe,CAACE,YAAY,SAAS,CAACF,EAAG,QAAQ,CAACE,YAAY,4BAA4BI,MAAM,CAAC,IAAM,2BAA4BR,EAAI6rB,kBAAkBzX,KAAK,CAAClU,EAAG,MAAM,CAACG,MAAM,iBAAiBG,MAAM,CAAC,MAAQ,KAAK,OAAS,KAAK,QAAU,YAAY,KAAO,OAAO,MAAQ,6BAA6B,GAAK,+BAA+B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,YAAY,UAAU,YAAY,UAAU,EAAI,6jBAA6jB,KAAO,UAAU,QAAU,UAAUN,EAAG,YAAY,CAACM,MAAM,CAAC,OAAS,+BAA+B,MAAQR,EAAIyB,WAAWumC,sBAAsB,UAAY,YAAY9nC,EAAG,OAAO,CAACF,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAWwmC,uBAAuB,GAAG/nC,EAAG,kBAAkB,CAACE,YAAY,iCAAiCI,MAAM,CAAC,GAAK,2BAA4BR,EAAI6rB,kBAAkBzX,GAAG,YAAcpU,EAAIyB,WAAWymC,sBAAsB,WAAW,IAAI,KAAO,IAAI,UAAY,OAAO/kC,MAAM,CAACC,MAAOpD,EAAI6rB,kBAAuB,MAAExoB,SAAS,SAAUC,GAAMtD,EAAI+a,KAAK/a,EAAI6rB,kBAAmB,QAASvoB,IAAME,WAAW,8BAA8B,GAAGtD,EAAG,MAAM,CAACE,YAAY,mCAAmC,CAACF,EAAG,QAAQ,CAACG,MAAM,CAC9pG,6BACA,CAAE8nC,QAASnoC,EAAIooC,oBACf5nC,MAAM,CAAC,QAAU,WAAWgC,GAAG,CAAC,MAAQxC,EAAIqoC,kCAAkC,CAACroC,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW6mC,cAAc,QAAQ,GAAGpoC,EAAGF,EAAI0sB,OAAO1qB,UAAUhC,EAAIglC,GAAG,CAACC,IAAI,aAAa,YAAY,CACxMvY,OAAQ1sB,EAAI6rB,kBACZia,aAAa,IACb,KAAS,GAAG5lC,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACF,EAAG,kBAAkB,CAACmC,IAAI,0BAA0BrC,EAAI0sB,OAAOtY,GAAK5T,MAAM,CAAC,cAAgB,CAC/IksB,OAAQ1sB,EAAI0sB,OACZ6b,cAAevoC,EAAIuoC,gBAClB/lC,GAAG,CAAC,QAAUxC,EAAIwoC,mBAAmBtoC,EAAG,wBAAwB,CAACmC,IAAI,wBAAwBrC,EAAI0sB,OAAOtY,GAAK5T,MAAM,CAAC,OAASR,EAAI0sB,OAAO,iBAAiB1sB,EAAIuoC,eAAe/lC,GAAG,CAAC,MAAQxC,EAAIyoC,mBAAmB,UAExN,EAAkB,GCXlB,EAAS,WAAkB,IAAIzoC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAQF,EAAIsE,eAAeE,OAAS,EAAGtE,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,MAAM,CAACE,YAAY,eAAe,CAACF,EAAG,MAAM,CAACG,MAAM,OAAOG,MAAM,CAAC,MAAQ,KAAK,OAAS,KAAK,QAAU,YAAY,KAAO,OAAO,MAAQ,6BAA6B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,oxBAAoxB,KAAO,UAAU,QAAU,UAAUN,EAAG,OAAO,CAACF,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAWinC,oBAAoB1oC,EAAIgK,GAAIhK,EAAkB,gBAAE,SAAS2oC,EAAa1+B,GAAO,OAAO/J,EAAG,MAAM,CAACqJ,IAAI,GAAGU,EAAQjK,EAAI0sB,OAAOtY,GAAGhU,YAAY,cAAc,CAAEuoC,EAA8B,kBAAEzoC,EAAG,mCAAmC,CAACmC,IAAI,GAAGsmC,EAAaC,aAAa3+B,IAAQ4+B,UAAS,EAAKroC,MAAM,CAAC,cAAgB,CAAEu+B,QAAS4J,EAAa5J,QAAS37B,MAAOulC,EAAavlC,QAASZ,GAAG,CAAC,OAASY,GAASpD,EAAI8oC,uBAAuB1lC,EAAOulC,MAAiB3oC,EAAIa,KAAM8nC,EAAaI,QAAUJ,EAAaK,UAAYL,EAAaM,WAAY/oC,EAAG,oBAAoB,CAACmC,IAAI,GAAGsmC,EAAaC,aAAa3+B,IAAQ4+B,UAAS,EAAKroC,MAAM,CAAC,MAAQmoC,GAAcnmC,GAAG,CAAC,OAAUY,GAAUpD,EAAIkpC,uBAAuB9lC,EAAOulC,MAAiB3oC,EAAIa,KAAM8nC,EAA8B,kBAAEzoC,EAAG,mBAAmB,CAACmC,IAAI,GAAGsmC,EAAaC,aAAa3+B,IAAQ4+B,UAAS,EAAKroC,MAAM,CAAC,YAAcmoC,EAAa7jC,aAAatC,GAAG,CAAC,MAAQxC,EAAImpC,eAAehmC,MAAM,CAACC,MAAOulC,EAAkB,MAAEtlC,SAAS,SAAUC,GAAMtD,EAAI+a,KAAK4tB,EAAc,QAASrlC,IAAME,WAAW,wBAAwBxD,EAAIa,KAAM8nC,EAA6B,iBAAEzoC,EAAG,oBAAoB,CAACmC,IAAI,GAAGsmC,EAAaC,aAAa3+B,IAAQ4+B,UAAS,EAAKroC,MAAM,CAAC,QAAUmoC,GAAcnmC,GAAG,CAAC,MAAQY,GAASpD,EAAIopC,sBAAsBhmC,EAAOulC,MAAiB3oC,EAAIa,KAAM8nC,EAAaU,sBAAwBrpC,EAAI6C,mBAAqB7C,EAAI6C,kBAAkB2B,OAAS,EAAGtE,EAAG,yBAAyB,CAACmC,IAAI,GAAGsmC,EAAaC,aAAa3+B,IAAQ4+B,UAAS,EAAKroC,MAAM,CAAC,QAAUmoC,EAAa,qBAAqB3oC,EAAI6C,mBAAmBL,GAAG,CAAC,MAAQY,GAASpD,EAAIspC,0BAA0BlmC,EAAOulC,MAAiB3oC,EAAIa,KAAM8nC,EAAaY,gBAAkBvpC,EAAIiD,uBAAyBjD,EAAIiD,sBAAsBuB,OAAS,EAAGtE,EAAG,kBAAkB,CAACmC,IAAI,GAAGsmC,EAAaC,aAAa3+B,IAAQ4+B,UAAS,EAAKroC,MAAM,CAAC,QAAUmoC,EAAa,0BAA0B3oC,EAAIiD,uBAAuBT,GAAG,CAAC,MAAQY,GAASpD,EAAIwpC,cAAcpmC,EAAOulC,MAAiB3oC,EAAIa,KAAM8nC,EAA4C,gCAAEzoC,EAAG,+BAA+B,CAACmC,IAAI,GAAGsmC,EAAaC,aAAa3+B,IAAQ4+B,UAAS,EAAKroC,MAAM,CAAC,MAAQ,CAChxGqC,kBAAmB8lC,EAAavlC,MAAMY,UACtCf,sBAAuB0lC,EAAavlC,MAAMa,eAC1C,yBAAwB,EAAK,sBAAqB,GAAMzB,GAAG,CAAC,MAAQY,GAASpD,EAAIypC,gCAAgCrmC,EAAOulC,MAAiB3oC,EAAIa,MAAM,OAAM,GAAGb,EAAIa,MAEpK,EAAkB,G,gDCLlB,EAAS,WAAkB,IAAIb,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,uBAAuBC,MAAM,CAAE,cAAeL,EAAIM,WAAY,CAACJ,EAAG,QAAQ,CAACE,YAAY,uBAAuB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAI2oC,aAAa/nC,OAAO,OAAQZ,EAAI2oC,aAAmB,OAAEzoC,EAAG,eAAe,CAACM,MAAM,CAAC,KAAOR,EAAI2oC,aAAa/mC,MAAMY,GAAG,CAAC,OAAS,SAASE,GAAQ,OAAO1C,EAAImpC,cAAcnpC,EAAI2oC,aAAavlC,SAASD,MAAM,CAACC,MAAOpD,EAAI2oC,aAAkB,MAAEtlC,SAAS,SAAUC,GAAMtD,EAAI+a,KAAK/a,EAAI2oC,aAAc,QAASrlC,IAAME,WAAW,wBAAwBxD,EAAIa,KAAMb,EAAI2oC,aAAqB,SAAEzoC,EAAG,eAAe,CAACM,MAAM,CAAC,KAAOR,EAAI2oC,aAAa/mC,KAAK,IAAM,IAAI,QAAU,6BAA6BY,GAAG,CAAC,OAAS,SAASE,GAAQ,OAAO1C,EAAImpC,cAAcnpC,EAAI2oC,aAAavlC,SAASD,MAAM,CAACC,MAAOpD,EAAI2oC,aAAkB,MAAEtlC,SAAS,SAAUC,GAAMtD,EAAI+a,KAAK/a,EAAI2oC,aAAc,QAASrlC,IAAME,WAAW,wBAAyBxD,EAAI2oC,aAAuB,WAAEzoC,EAAG,kBAAkB,CAACM,MAAM,CAAC,KAAO,IAAI,WAAW,KAAKgC,GAAG,CAAC,OAAS,SAASE,GAAQ,OAAO1C,EAAImpC,cAAcnpC,EAAI2oC,aAAavlC,SAASD,MAAM,CAACC,MAAOpD,EAAI2oC,aAAkB,MAAEtlC,SAAS,SAAUC,GAAMtD,EAAI+a,KAAK/a,EAAI2oC,aAAc,QAASrlC,IAAME,WAAW,wBAAwBxD,EAAIa,MAAM,GAAIb,EAAY,SAAEE,EAAG,IAAI,CAACE,YAAY,qBAAqB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWV,oBAAoB,OAAOf,EAAIa,QAEj1C,EAAkB,GCsCP,GACbI,KAAM,kBACN,OACE,MAAO,CACL0nC,aAAc,GACdroC,UAAU,EACVY,kBAAmB,CACjBH,mBAAoB,mDAI1BW,MAAO,CACL0B,MAAO,CACLxB,KAAMmC,OACNjC,QAAS,OACTH,UAAU,IAGd,UACE1B,KAAK0oC,aAAe1oC,KAAKmD,OAE3BhC,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E8D,QAAS,CACP,cAAe0kC,GACbzpC,KAAK0C,MAAM,SAAU+mC,GACrBzpC,KAAK0F,kBAEP,iBAEE,OADA1F,KAAKK,UAAYL,KAAK0oC,aAAavlC,OAC3BnD,KAAKK,YCzEsQ,ICOrR,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QClBX,EAAS,WAAkB,IAAIN,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,oBAAoB,CAACM,MAAM,CAAC,QAAUR,EAAI2pC,gBAAgB,aAAc,EAAM,UAAW,GAAMnnC,GAAG,CAAC,MAAQxC,EAAImpC,eAAehmC,MAAM,CAACC,MAAOpD,EAAoB,iBAAEqD,SAAS,SAAUC,GAAMtD,EAAI4pC,iBAAiBtmC,GAAKE,WAAW,sBAAuBxD,EAA2B,wBAAEE,EAAG,+BAA+B,CAACmC,IAAIrC,EAAIsC,WAAW,2BAA2BlC,YAAY,OAAOI,MAAM,CAAC,MAAQ,CACveqC,kBAAmB7C,EAAI6C,kBACvBI,sBAAuBjD,EAAIiD,sBAC3BM,gBAAiBvD,EAAIuD,iBACrB,yBAAwB,GAAMf,GAAG,CAAC,MAAQxC,EAAI6pC,8BAA8B7pC,EAAIa,KAAMb,EAA2B,wBAAEE,EAAG,yBAAyB,CAACmC,IAAIrC,EAAIsC,WAAW,2BAA2BlC,YAAY,OAAOI,MAAM,CAAC,UAAW,GAAMgC,GAAG,CAAC,MAAQxC,EAAImpC,eAAehmC,MAAM,CAACC,MAAOpD,EAAgB,aAAEqD,SAAS,SAAUC,GAAMtD,EAAI8pC,aAAaxmC,GAAKE,WAAW,kBAAkBxD,EAAIa,MAAM,IAEhY,EAAkB,GCNlB,EAAS,WAAkB,IAAIb,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,8BAA8B,CAACM,MAAM,CAAC,MAAQR,EAAIyB,WAAWsoC,eAAe,YAAY,+BAA+B,SAAW/pC,EAAI2B,WAAW,CAACzB,EAAG,kBAAkB,CAACM,MAAM,CAAC,GAAK,+BAA+B,QAAUR,EAAI++B,QAAQ,MAAQ,QAAQ,WAAW,OAAO,eAAc,EAAM,eAAc,EAAM,UAAW,EAAM,YAAc/+B,EAAIyB,WAAWsoC,gBAAgBvnC,GAAG,CAAC,MAAQwnC,GAAYhqC,EAAI2C,MAAM,QAASqnC,IAAa7mC,MAAM,CAACC,MAAOpD,EAAY,SAAEqD,SAAS,SAAUC,GAAMtD,EAAIiqC,SAAS3mC,GAAKE,WAAW,eAAe,IAAI,IAEjnB,EAAkB,G,iCC0BP,GACbvC,KAAM,mBACN0C,WAAY,CAAEumC,eAAA,IAAgB9/B,2BAAA,MAC9B1I,MAAO,CACL0B,MAAO,CACLxB,KAAMmC,OACNpC,UAAU,GAEZo9B,QAAS,CACPn9B,KAAMwO,MACNzO,UAAU,GAEZA,SAAU,CACRC,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLikC,MAAA,EAAA9/B,EACA/E,kBAAmB,CACjB6oC,eAAgB,yBAElBE,SAAUhqC,KAAKmD,QAGnBhC,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,sBCzD2M,ICQtR,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCnBX,EAAS,WAAkB,IAAIlB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,4BAA4B,CAACF,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,QAAQ,CAACE,YAAY,eAAeI,MAAM,CAAC,GAAK,qCAAqC,IAAM,iBAAiB,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW0oC,eAAe,KAAMnqC,EAAY,SAAEE,EAAG,OAAO,CAACE,YAAY,iBAAiB,CAACJ,EAAIU,GAAG,OAAOV,EAAIa,OAAOX,EAAG,MAAM,CAACE,YAAY,iDAAiD,CAACF,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,QAAQ,CAACE,YAAY,cAAcI,MAAM,CAAC,IAAM,+BAA+B,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW2oC,SAAS,OAAOlqC,EAAG,eAAe,CAACE,YAAY,OAAOI,MAAM,CAAC,GAAK,6BAA6B,KAAO,SAAS,IAAM,IAAI,QAAU,6BAA6BgC,GAAG,CAAC,MAAQwnC,GAAYhqC,EAAI2C,MAAM,QAAyB,IAAdqnC,IAAqBhqC,EAAIqqC,kBAAmBlnC,MAAM,CAACC,MAAOpD,EAAmB,gBAAEqD,SAAS,SAAUC,GAAMtD,EAAIsqC,gBAAgBhnC,GAAKE,WAAW,sBAAsB,GAAGtD,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,QAAQ,CAACE,YAAY,cAAcI,MAAM,CAAC,IAAM,+BAA+B,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW8oC,SAAS,OAAOrqC,EAAG,eAAe,CAACE,YAAY,OAAOI,MAAM,CAAC,GAAK,6BAA6B,KAAO,SAAS,IAAM,IAAI,QAAU,6BAA6BgC,GAAG,CAAC,MAAQwnC,GAAYhqC,EAAI2C,MAAM,QAAkC,IAAvB3C,EAAIsqC,kBAA0BN,IAAc7mC,MAAM,CAACC,MAAOpD,EAAmB,gBAAEqD,SAAS,SAAUC,GAAMtD,EAAIqqC,gBAAgB/mC,GAAKE,WAAW,sBAAsB,UAE7gD,EAAkB,GCwDP,GACbvC,KAAM,wBACN0C,WAAY,GACZjC,MAAO,CACL0B,MAAO,CACLxB,KAAMyL,OACN1L,UAAU,GAEZA,SAAU,CACRC,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLikC,MAAA,EAAA9/B,EACA/E,kBAAmB,CACjBipC,cAAe,oCACfC,QAAS,UACTG,QAAS,WAEXD,gBAAiBj4B,KAAKC,MAAMrS,KAAKmD,MAAQ,IACzCinC,gBAAiBpqC,KAAKmD,MAAQ,KAGlChC,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E8D,QAAS,CACP,iBAGE,OAFK/E,KAAKqqC,kBAAiBrqC,KAAKqqC,gBAAkB,GAC7CrqC,KAAKoqC,kBAAiBpqC,KAAKoqC,gBAAkB,IAC3C,KC7FkR,ICO3R,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,oBC0BA,GACbppC,KAAM,gCACN0C,WAAY,CAAE6mC,wBAAuBC,mBAAkBC,4BAAA,MACvDhpC,MAAO,CACLipC,cAAe,CACb/oC,KAAMmC,OACNpC,UAAU,IAGd,OACE,MAAO,CACLioC,iBAAkB,GAClB/mC,kBAAmB,GACnBI,sBAAuB,GACvBM,gBAAiB,GACjBumC,aAAc,GACd/K,QAAS9+B,KAAK0qC,cAAc5L,QAC5B79B,kBAAmB,CACjB0pC,wBAAyB,2BACzBC,WAAY,uBACZhZ,SAAU,gBACVrd,OAAQ,4BAEVlS,WAAY,CACVwoC,wBAAyB,2BACzBC,wBAAyB,2BAI/B,UACE9qC,KAAKsE,SAEPnD,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,kBACE,IAAI69B,EAAU,GACd,IAAK,MAAM/qB,KAAQ/T,KAAK8+B,QACT,4BAAT/qB,EACF+qB,EAAU,IAAIA,EAAS,CAAEn+B,MAAOX,KAAKwB,WAAWmpC,wBAAyBhpC,KAAM,4BAC7D,eAAToS,EACT+qB,EAAU,IAAIA,EAAS,CAAEn+B,MAAOX,KAAKwB,WAAWopC,WAAYjpC,KAAM,eAChD,iBAAToS,EACT+qB,EAAU,IAAIA,EAAS,CAAEn+B,MAAOX,KAAKwB,WAAWowB,SAAUjwB,KAAM,iBAC9C,WAAToS,IACT+qB,EAAU,IAAIA,EAAS,CAAEn+B,MAAOX,KAAKwB,WAAW+S,OAAQ5S,KAAM,YAGlE,OAAOm9B,GAET,0BACE,OAAO9+B,KAAK2pC,kBAAmD,WAA/B3pC,KAAK2pC,iBAAiBhoC,MAExD,0BACE,OAAO3B,KAAK2pC,kBAAmD,iBAA/B3pC,KAAK2pC,iBAAiBhoC,OAG1DoD,QAAS,CACP,QACE/E,KAAK+qC,qBACL/qC,KAAKkpC,iBAEP,qBACE,MAAM8B,EAAiBhrC,KAAK0qC,cAAcvnC,OAAS,GACnD,IAAK,MAAOmG,EAAKnG,KAAUW,OAAOye,QAAQyoB,GACpChrC,KAAKirC,OAAO3hC,KAAStJ,KAAKskC,QAAQnhC,GACpCnD,KAAK2pC,iBAAmB3pC,KAAK0pC,gBAAgBvkB,KAAKzN,GAAWA,EAAQ/V,OAASwB,GACrEnD,KAAKkrC,WAAW5hC,GACzBtJ,KAAK4C,kBAAoBO,EAChBnD,KAAKmrC,eAAe7hC,GAC7BtJ,KAAKgD,sBAAwBG,EACpBnD,KAAKorC,SAAS9hC,GACvBtJ,KAAKsD,gBAAkBH,EACdnD,KAAKqrC,WAAW/hC,KACzBtJ,KAAK6pC,aAAe1mC,IAI1B,gBACE,MAAMmoC,EAAe,GAiBrB,OAhBAA,EAAa3pC,KAAO3B,KAAK2pC,iBAAiBhoC,KACtC3B,KAAK6qC,yBACF7qC,KAAKskC,QAAQtkC,KAAK4C,qBACrB0oC,EAAavnC,UAAY/D,KAAK4C,mBAE3B5C,KAAKskC,QAAQtkC,KAAKgD,yBACrBsoC,EAAatnC,cAAgBhE,KAAKgD,uBAE/BhD,KAAKskC,QAAQtkC,KAAKsD,mBACrBgoC,EAAarnC,QAAUjE,KAAKsD,kBAErBtD,KAAK8qC,0BACT9qC,KAAKskC,QAAQtkC,KAAK6pC,gBACrByB,EAAazB,aAAe7pC,KAAK6pC,eAG9ByB,GAET,OAAQ7M,GACN,MAAkB,SAAXA,GAET,WAAYA,GACV,MAAkB,cAAXA,GAET,eAAgBA,GACd,MAAkB,kBAAXA,GAET,SAAUA,GACR,MAAkB,YAAXA,GAET,WAAYA,GACV,MAAkB,iBAAXA,GAET,2BAA4Bt7B,GAC1BnD,KAAK4C,kBAAoBO,EAAMP,kBAC/B5C,KAAKgD,sBAAwBG,EAAMH,sBACnChD,KAAKsD,gBAAkBH,EAAMG,gBAC7BtD,KAAKkpC,iBAEP,gBACE,GAAIlpC,KAAKurC,gCAAiC,OAC1C,MAAMpmC,EAAOnF,KAAKwrC,gBAClBxrC,KAAK0C,MAAM,SAAUyC,IAEvB,gCACE,QAAInF,KAAK6qC,0BACA7qC,KAAKskC,QAAQtkC,KAAK4C,oBACvB5C,KAAKskC,QAAQtkC,KAAKgD,wBAClBhD,KAAKskC,QAAQtkC,KAAKsD,mBAIxB,QAASH,GACP,YAAciR,IAAVjR,GAAiC,OAAVA,GAA4B,KAAVA,GACtCgN,MAAMC,QAAQjN,IAAWA,EAAMoB,QAAU,GAElD,iBACE,IAAIknC,EAAW,KAMf,OALIzrC,KAAK6qC,wBACPY,EAAWzrC,KAAKqC,WAAWwoC,wBAClB7qC,KAAK8qC,0BACdW,EAAWzrC,KAAKqC,WAAWyoC,0BAEtBW,GAAWzrC,KAAKwF,MAAMimC,GAAU/lC,oBC5L0P,ICOnS,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,K,QCiEA,IACb1E,KAAM,oBACN0C,WAAY,CAAEgoC,kBAAA,KAAiB/nC,mBAAA,KAAkBC,uBAAA,KAAsBC,iBAAA,KAAgB8nC,iCAA+BC,kBAAiBnB,4BAAA,MACvIhpC,MAAO,CACLipC,cAAe,CACb/oC,KAAMmC,OACNpC,UAAU,IAGd,OACE,MAAO,CACL2C,eAAgB,GAChBzB,kBAAmB,GACnBI,sBAAuB,GACvBypB,OAAQzsB,KAAK0qC,cAAcje,OAC3B6b,cAAetoC,KAAK0qC,cAAcpC,cAClChlC,gBAAiB,GACjBrC,kBAAmB,CACjBwnC,cAAe,cAIrBtnC,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACEjB,KAAKsE,SAEPS,QAAS,CACP,QACE/E,KAAK+qC,qBACL/qC,KAAKkpC,iBAEP,qBACElpC,KAAKqE,eAAiBrE,KAAKsoC,cAAct8B,IAAI6/B,GACpC,IAAI,OAAoBA,EAAY7rC,KAAKysB,UAGpD,gBAAiBpoB,GACf,MAAMinC,EAAe,GACrB,IAAK,MAAM7M,KAAUp6B,EACfo6B,EAAOt7B,QACTmoC,EAAa7M,EAAOkK,WAAalK,EAAOt7B,OAG5C,OAAOmoC,GAET,gBACE,GAAItrC,KAAKurC,gCAAiC,OAC1C,MAAMpmC,EAAOnF,KAAK8rC,gBAAgB9rC,KAAKqE,gBACvCrE,KAAK0C,MAAM,UAAWyC,IAExB,uBAAwB4mC,EAAiBrD,GACvCA,EAAavlC,MAAQ4oC,EACrB/rC,KAAKkpC,iBAEP,sBAAuBtmC,EAAmB8lC,GACxC1oC,KAAK4C,kBAAoBA,EACzB8lC,EAAavlC,MAAQP,EACrB5C,KAAKkpC,iBAEP,0BAA2BlmC,EAAuB0lC,GAChD1oC,KAAKgD,sBAAwBA,EAC7B0lC,EAAavlC,MAAQH,EACrBhD,KAAKkpC,iBAEP,cAAe5lC,EAAiBolC,GAC9B1oC,KAAKsD,gBAAkBA,EACvBolC,EAAavlC,MAAQG,EACrBtD,KAAKkpC,iBAEP,gCAAiC/lC,EAAOulC,GACtC,MAAMsD,EAAmB,CACvBrqC,KAAM,uBACNoC,UAAWZ,EAAMP,kBACjBoB,cAAeb,EAAMH,uBAEvB0lC,EAAavlC,MAAQ6oC,EACrBhsC,KAAKkpC,iBAEP,uBAAwB/lC,EAAOulC,GAC7BA,EAAavlC,MAAQA,EACrBnD,KAAKkpC,iBAEP,gCACE,OAAOlpC,KAAKqE,gBACVrE,KAAKqE,eAAeiQ,KAAKP,KAClBA,EAAKrS,UACH1B,KAAKskC,QAAQvwB,EAAK5Q,SAG/B,QAASA,GACP,YAAciR,IAAVjR,GAAiC,OAAVA,GAA4B,KAAVA,GACtCgN,MAAMC,QAAQjN,IAAWA,EAAMoB,QAAU,GAElD,qBACE,IAAIe,EAAa,EACjB,IAAK,MAAM0E,KAAShK,KAAKqE,eAAgB,CACvC,MAAMskC,EAAY3oC,KAAKqE,eAAe2F,GAAO2+B,UACvC8C,EAAW,GAAG9C,KAAa3+B,IACjC,GAAI2+B,GAAa3oC,KAAKwF,MAAMimC,GAAW,CACrC,MAAMhmC,EAAkBzF,KAAKwF,MAAMimC,GAAU,GAAG/lC,iBAC3CD,GAAiBH,KAG1B,OAAOA,GAAc,KC9LgQ,MCOvR,GAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,MAIa,M,QClBX,GAAS,WAAkB,IAAIvF,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,kCAAkC,CAACF,EAAG,MAAM,CAACG,MAAM,OAAOG,MAAM,CAAC,MAAQ,KAAK,OAAS,KAAK,QAAU,YAAY,KAAO,OAAO,MAAQ,6BAA6B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,kPAAkP,KAAO,eAAeN,EAAG,OAAO,CAACF,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAWyqC,mBAAmBlsC,EAAIgK,GAAIhK,EAAW,SAAE,SAASwZ,EAAOvP,GAAO,OAAO/J,EAAG,MAAM,CAACqJ,IAAIvJ,EAAImsC,UAAUliC,GAAO7J,YAAY,cAAc,CAAGoZ,EAAO5X,KAA+3B1B,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAGsZ,EAAOxX,UAAUhC,EAAIglC,GAAG,CAAC3iC,IAAI,oBAAoB4H,EAAQ4+B,UAAS,EAAK5D,IAAI,YAAYzkC,MAAM,CAAC,MAAQgZ,EAAOpW,MAAM,QAAUoW,EAAO+uB,cAAc,SAAW/uB,EAAO5E,OAAOpS,GAAG,CAAC,MAAQY,GAASpD,EAAIosC,qBAAqB5yB,EAAQpW,GAAO,OAAS,SAASV,GAAQ,OAAO1C,EAAIosC,qBAAqB5yB,EAAQ,SAAS,YAAYA,EAAO9X,OAAM,KAAS,GAAxvCxB,EAAG,MAAM,CAACE,YAAY,kCAAkC,CAACF,EAAG,MAAM,CAACE,YAAY,4BAA4B,CAACF,EAAG,kBAAkB,CAACM,MAAM,CAAC,GAAK,2BAA2B,QAAUR,EAAIqsC,qBAAqB,YAAcrsC,EAAIyB,WAAW6qC,iBAAiB,eAAc,EAAM,eAAc,GAAO9pC,GAAG,CAAC,OAAS+pC,GAASvsC,EAAIwsC,yBAAyBviC,EAAOsiC,IAAQpH,YAAYnlC,EAAIolC,GAAG,CAAC,CAAC77B,IAAI,cAAc87B,GAAG,UAAS,OAAC3G,IAAS,MAAO,CAACx+B,EAAG,MAAM,CAACF,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIysC,qBAAqB/N,IAAS,UAAU,CAACn1B,IAAI,SAAS87B,GAAG,UAAS,OAAC3G,IAAS,MAAO,CAACx+B,EAAG,MAAM,CAACF,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAI0sC,SAAShO,IAAS,WAAW,MAAK,GAAMv7B,MAAM,CAACC,MAAOoW,EAAW,KAAEnW,SAAS,SAAUC,GAAMtD,EAAI+a,KAAKvB,EAAQ,OAAQlW,IAAME,WAAW,kBAAkB,GAAGtD,EAAG,MAAM,CAACE,YAAY,qBAAqBoC,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAO1C,EAAI2sC,kBAAkB1iC,MAAU,CAAC/J,EAAG,IAAI,CAACE,YAAY,iCAAmaJ,EAAI4sC,cAAcpoC,OAASxE,EAAI6sC,QAAQroC,OAAQtE,EAAG,SAAS,CAACE,YAAY,aAAaI,MAAM,CAAC,GAAK,2BAA2BgC,GAAG,CAAC,MAAQxC,EAAI8sC,YAAY,CAAC5sC,EAAG,MAAM,CAACM,MAAM,CAAC,MAAQ,KAAK,OAAS,KAAK,QAAU,YAAY,KAAO,OAAO,MAAQ,6BAA6B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,YAAY,UAAU,YAAY,UAAU,EAAI,gPAAgP,KAAO,cAAcR,EAAIa,KAAKX,EAAG,YAAY,CAACM,MAAM,CAAC,GAAK,kCAAkC,OAAS,0BAA0B,SAAW,QAAQ,UAAY,SAAS,eAAiB,KAAK,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWsrC,gBAAgB,QAAQ,IAE96F,GAAkB,G,uCCFlB,GAAS,WAAkB,IAAI/sC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,kCAAkC,CAACF,EAAG,8BAA8B,CAACM,MAAM,CAAC,MAAQR,EAAIyB,WAAWurC,WAAW,YAAY,cAAc,SAAWhtC,EAAIM,WAAW,CAACJ,EAAG,kBAAkB,CAACM,MAAM,CAAC,GAAK,cAAc,QAAUR,EAAI++B,QAAQ,eAAc,EAAM,UAAW,EAAK,YAAc/+B,EAAIyB,WAAWurC,WAAW,mBAAkB,EAAK,iBAAgB,EAAK,mBAAkB,EAAM,mBAAkB,EAAM,mBAAkB,EAAM,gBAAe,EAAM,QAAUhtC,EAAIitC,UAAU,eAAej5B,GAAQA,EAAKixB,IAAI,cAAc,QAAQ,eAAe,OAAO,WAAW,QAAQziC,GAAG,CAAC,MAAQxC,EAAIktC,sBAAsB/H,YAAYnlC,EAAIolC,GAAG,CAAC,CAAC77B,IAAI,MAAM87B,GAAG,UAAS,OAAE3G,EAAM,OAAEyO,IAAU,MAAO,CAACjtC,EAAG,OAAO,CAACE,YAAY,mDAAmD,CAACF,EAAG,OAAO,CAACE,YAAY,SAAS,CAACF,EAAG,OAAO,CAACE,YAAY,iBAAiB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAG+9B,EAAO99B,OAAO,SAASV,EAAG,OAAO,CAACE,YAAY,iBAAiBoC,GAAG,CAAC,MAAQ,SAASE,GAAiC,OAAzBA,EAAO0qC,kBAAyBD,EAAOzO,MAAW,CAACx+B,EAAG,IAAI,CAACE,YAAY,iCAAiC+C,MAAM,CAACC,MAAOpD,EAAgB,aAAEqD,SAAS,SAAUC,GAAMtD,EAAIqtC,aAAa/pC,GAAKE,WAAW,iBAAiB,CAACtD,EAAG,OAAO,CAACM,MAAM,CAAC,KAAO,aAAa8sC,KAAK,aAAa,CAACttC,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW8rC,aAAa,UAAU,GAAGrtC,EAAG,MAAM,CAACE,YAAY,qBAAqBoC,GAAG,CAAC,MAAQ,SAASE,GAAgC,OAAxBA,EAAOgB,iBAAwB1D,EAAI2C,MAAM,aAAa,CAACzC,EAAG,IAAI,CAACE,YAAY,2BAA2B,IAEh/C,GAAkB,GC8DP,IACba,KAAM,aACN0C,WAAY,CAAEumC,eAAA,IAAgB9/B,2BAAA,MAC9B1I,MAAO,CACL0B,MAAO,CACLzB,UAAU,EACVG,QAAS,WAAc,MAAO,MAGlC,OACE,MAAO,CACLikC,MAAA,EAAA9/B,EACA/E,kBAAmB,CACjB8rC,WAAY,eAEdK,aAAc,GACdJ,WAAW,EACXlO,QAAS,GACTz+B,UAAU,IAGdc,SAAU,CACR,SACE,MAAO,iCAET,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACE,OAAOjB,KAAKs9B,SAAS5oB,KAAK,KACxB1U,KAAKutC,qBAGTxoC,QAAS,CACP,uBACE/E,KAAK0C,MAAM,QAAS1C,KAAKotC,aAAaphC,IAAIg5B,GAAOA,EAAIhkC,OACjDhB,KAAKotC,aAAa7oC,OAAS,GAAGvE,KAAK0F,kBAEzC,OAAQ8nC,GACNxtC,KAAKgtC,WAAY,EACjB,IAAI7+B,EAAMnO,KAAKg+B,OAIf,OAHIwP,IACFr/B,EAAMA,EAAM,oBAAoBq/B,GAE3BxtC,KAAK8lC,MAAM1/B,IAAI+H,GAAKuG,KAAK/G,IAC9B3N,KAAK8+B,QAAU9+B,KAAK+qC,mBAAmBp9B,EAASxI,MAChDnF,KAAKgtC,WAAY,KAGrB,mBAAoB7nC,GAElB,MAAMsoC,EAAetoC,EAAKoU,OAAOklB,GAAqC,IAA3BA,EAAOrvB,SAAS7K,QAIrDu6B,EAAU2O,EAAazhC,IAAIyyB,IAC/B,MAAMiP,EAAQ1tC,KAAK2tC,SAASlP,EAAOz9B,MAC7B4sC,EAAW5tC,KAAK6tC,aAAapP,EAAO99B,OACpCA,EAAQX,KAAK8tC,cAAcJ,EAAOE,GACxC,MAAO,IAAKnP,EAAQiP,QAAO1I,IAAK4I,EAAUjtC,WAE5C,OAAOX,KAAK+tC,aAAajP,IAE3B,aAAcA,GAMZ,MAAMkP,EAAiB,GACvB,IAAK,MAAMvP,KAAUK,EACbL,EAAOiP,SAASM,IAAiBA,EAAevP,EAAOiP,OAAS,CAAEA,MAAOjP,EAAOiP,MAAO/5B,KAAM,KACnGq6B,EAAevP,EAAOiP,OAAO/5B,KAAK/H,KAAK6yB,GAEzC,OAAO36B,OAAO0qB,OAAOwf,IAEvB,cAAeN,EAAO1I,GAEpB,OAAc,OAAV0I,QAA4Bt5B,IAAVs5B,GAAwC,IAAjBA,EAAMnpC,OAAqBygC,EACjE,GAAG0I,MAAU1I,KAEtB,SAAUhkC,GAGR,OAAOA,EAAK+K,MAAM,KAAKK,MAAM,GAAI,GAAGJ,IAAIH,GAAO7L,KAAK6tC,aAAahiC,IAAMQ,KAAK,OAE9E,kBACMrM,KAAKmD,QACPnD,KAAKotC,aAAeptC,KAAK8+B,QACtBmP,QAAQxP,GAAUA,EAAO9qB,MACzB4F,OACCklB,GAAUz+B,KAAKmD,MAAMgG,QAAQs1B,EAAOz9B,OAAS,KAIrD,iBAEE,OADAhB,KAAKK,UAAYL,KAAKotC,aAAa7oC,QAC3BvE,KAAKK,YClK0Q,MCOzR,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,M,qBClBX,GAAS,WAAkB,IAAIN,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,kCAAkC,CAACF,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,QAAQ,CAACF,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW0sC,gBAAgB,OAAOjuC,EAAG,oBAAoB,CAACmC,IAAIrC,EAAIsC,WAAW,GAAG9B,MAAM,CAAC,QAAUR,EAAIuC,uBAAuBC,GAAG,CAAC,MAAQxC,EAAIyC,iBAAiB,OAAS,SAASC,GAAQ,OAAO1C,EAAI2C,MAAM,cAAe3C,EAA2B,wBAAEE,EAAG,qBAAqB,CAACmC,IAAIrC,EAAIsC,WAAW,GAAGlC,YAAY,OAAOI,MAAM,CAAC,QAAUR,EAAIouC,sBAAsB,uBAAuBpuC,EAAIquC,oBAAoB7rC,GAAG,CAAC,MAAQxC,EAAIsuC,kBAAkB,OAAS,SAAS5rC,GAAQ,OAAO1C,EAAIsuC,kBAAkB,QAAQtuC,EAAIa,MAAM,GAAGX,EAAG,MAAM,CAACE,YAAY,qBAAqBoC,GAAG,CAAC,MAAQ,SAASE,GAAgC,OAAxBA,EAAOgB,iBAAwB1D,EAAI2C,MAAM,aAAa,CAACzC,EAAG,IAAI,CAACE,YAAY,6BAEv1B,GAAkB,GCFlB,GAAS,WAAkB,IAAIJ,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,cAAc,CAACM,MAAM,CAAC,MAAQR,EAAI++B,QAAQ37B,MAAM,MAAQpD,EAAI++B,QAAQn+B,OAASZ,EAAIyB,WAAW8sC,gBAAgB,WAAY,EAAM,IAAMvuC,EAAIi+B,OAAO,YAAcj+B,EAAI++B,QAAQj6B,YAAY,uBAAuB,KAAK,SAAW9E,EAAI++B,QAAQp9B,SAAS,mBAAkB,EAAK,SAAW3B,EAAIM,UAAUkC,GAAG,CAAC,MAAQxC,EAAIm+B,uBAEnX,GAAkB,G,aCiBP,IACbl9B,KAAM,oBACN0C,WAAY,CAAE06B,cAAA,MACd38B,MAAO,CACLq9B,QAAS,CACPn9B,KAAM,OACND,UAAU,GAEZ0sC,mBAAoB,CAClBzsC,KAAMyL,OACN1L,UAAU,IAGd,OACE,MAAO,CACL6sC,mBAAoB,GACpBluC,UAAU,EACVY,kBAAmB,CACjBqtC,gBAAiB,eAIvBntC,SAAU,CACR,SACE,MAAO,oBAAoBnB,KAAKouC,qCAElC,aACE,OAAOpuC,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E8D,QAAS,CACP,mBAAoB8/B,GAClB7kC,KAAKuuC,mBAAqB1J,EAC1B7kC,KAAK0C,MAAM,QAAS1C,KAAKuuC,oBACrBvuC,KAAKuuC,mBAAmBhqC,OAAS,GAAGvE,KAAK0F,kBAE/C,iBAEE,OADA1F,KAAKK,UAAYL,KAAKuuC,mBAAmBhqC,QACjCvE,KAAKK,YCzDiR,MCOhS,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,M,QC4BA,IACbW,KAAM,mBACN0C,WAAY,CAAEC,mBAAA,KAAkB6qC,sBAChC/sC,MAAO,CACL0B,MAAO,CACLxB,KAAMmC,OACNpC,UAAU,EACVG,QAAS,KACA,CAAEusC,mBAAoB,KAAMG,mBAAoB,OAI7D,OACE,MAAO,CACLttC,kBAAmB,CACjBitC,eAAgB,aAElB7pC,eAAgB,GAChB+pC,mBAAoB,KACpBG,mBAAoB,GACpBlsC,WAAY,CAAC,kBAAmB,sBAGpC,UACErC,KAAKsE,SAEPnD,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,0BACE,OAAOjB,KAAKouC,oBAEd,wBACE,OAAO,eAAwB,CAC7BjrC,MAAO,CAACnD,KAAKouC,oBACb5pC,4BAA4B,EAC5BC,YAAY,KAGhB,wBACE,MAAO,CACLG,WAAW,EACXC,aAAa,IAGjB,wBACE,OAAO,eAAwB,CAC7B1B,MAAOnD,KAAKuuC,sBACTvuC,KAAK8E,0BAIdC,QAAS,CACP,QACE/E,KAAKouC,mBAAqBpuC,KAAKmD,MAAM,SAAoCnD,KAAKmD,MAAMirC,oBAAsB,KAC1GpuC,KAAKuuC,mBAAqBvuC,KAAKmD,MAAM,SAAsCnD,KAAKmD,MAAMorC,oBAAsB,IAE9G,WACE,MAAMppC,EAAO,CACX,CAAC,QAAkCnF,KAAKouC,mBACxC,CAAC,QAAoCpuC,KAAKuuC,oBAE5CvuC,KAAK0C,MAAM,QAASyC,IAEtB,kBAAmBopC,GACjBvuC,KAAKuuC,mBAAqBA,EACrBA,GAAoD,IAA9BA,EAAmBhqC,QAC9CvE,KAAKoF,YAEP,iBAAkBqpC,GAChBzuC,KAAKouC,mBAAqBK,GAAoBA,EAAiBlqC,OAAS,EAAIkqC,EAAiB,GAAK,MAEpG,iBACE,OAAOzuC,KAAKqF,2BAEd,0BACE,IAAIC,EAAa,EACjB,IAAK,MAAMC,KAAavF,KAAKqC,WAC3B,GAAIrC,KAAKwF,MAAMD,GAAY,CACzB,MAAME,EAAkBzF,KAAKwF,MAAMD,GAAWG,iBACzCD,GAAiBH,IAG1B,OAAOA,GAAc,KClIwQ,MCO/R,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,qBClBX,GAAS,WAAkB,IAAIvF,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,MAAM,CAAC,iCAAkC,CAAE,mBAAqBL,EAAImC,6BAA8B,CAACjC,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,QAAQ,CAACE,YAAY,oDAAoDI,MAAM,CAAC,GAAK,0BAA0BR,EAAI2uC,WAAa,IAAM,oBAAoB3uC,EAAI2uC,aAAe,CAAC3uC,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIq/B,aAAa,OAAOn/B,EAAG,aAAa,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,QAAQ,CAAC+I,WAAW,CAAC,CAAChI,KAAK,QAAQiI,QAAQ,UAAU9F,MAAOpD,EAAmB,gBAAEwD,WAAW,oBAAoBpD,YAAY,cAAcI,MAAM,CAAC,KAAO,QAAQ,GAAQR,EAAI2uC,WAAP,OAAwB,KAAU3uC,EAAI2uC,WAAP,cAA+BxlC,SAAS,CAAC,OAAQ,EAAK,QAAUnJ,EAAI4uC,GAAG5uC,EAAI6uC,iBAAgB,IAAOrsC,GAAG,CAAC,OAAS,CAAC,SAASE,GAAQ1C,EAAI6uC,iBAAgB,GAAM7uC,EAAIuK,wBAAwBrK,EAAG,QAAQ,CAACE,YAAY,sBAAsBI,MAAM,CAAC,IAASR,EAAI2uC,WAAP,SAA0B,CAAC3uC,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWqtC,UAAU,SAAS5uC,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,QAAQ,CAAC+I,WAAW,CAAC,CAAChI,KAAK,QAAQiI,QAAQ,UAAU9F,MAAOpD,EAAmB,gBAAEwD,WAAW,oBAAoBpD,YAAY,cAAcI,MAAM,CAAC,KAAO,QAAQ,GAAQR,EAAI2uC,WAAP,MAAuB,KAAU3uC,EAAI2uC,WAAP,cAA+BxlC,SAAS,CAAC,OAAQ,EAAM,QAAUnJ,EAAI4uC,GAAG5uC,EAAI6uC,iBAAgB,IAAQrsC,GAAG,CAAC,OAAS,CAAC,SAASE,GAAQ1C,EAAI6uC,iBAAgB,GAAO7uC,EAAIuK,wBAAwBrK,EAAG,QAAQ,CAACE,YAAY,sBAAsBI,MAAM,CAAC,IAASR,EAAI2uC,WAAP,QAAyB,CAAC3uC,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWstC,SAAS,WAAY/uC,EAAY,SAAEE,EAAG,IAAI,CAACE,YAAY,qBAAqB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWV,oBAAoB,OAAOf,EAAIa,MAAM,GAAGX,EAAG,MAAM,CAACE,YAAY,qBAAqBoC,GAAG,CAAC,MAAQ,SAASE,GAAgC,OAAxBA,EAAOgB,iBAAwB1D,EAAI2C,MAAM,aAAa,CAACzC,EAAG,IAAI,CAACE,YAAY,6BAEr3D,GAAkB,GC+DP,IACba,KAAM,kBACNS,MAAO,CACL0B,MAAO,CACLxB,KAAMG,QACNJ,UAAU,GAEZQ,0BAA2B,CACzBP,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEX6sC,WAAY,CACV/sC,KAAMC,OACNF,UAAU,GAEZ09B,YAAa,CACXz9B,KAAMC,OACNF,UAAU,IAGd,OACE,MAAO,CACLktC,gBAAiB5uC,KAAKmD,MACtB9C,UAAU,EACVY,kBAAmB,CACjB4tC,SAAU,MACVC,QAAS,KACThuC,mBAAoB,kDAI1BK,SAAU,CACR,aACE,MAAO,IACFnB,KAAKiB,qBACLjB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,sBAI3E8D,QAAS,CACP,sBACE/E,KAAK0C,MAAM,QAAS1C,KAAK4uC,iBACzB5uC,KAAK0F,kBAEP,iBAEE,OADA1F,KAAKK,SAAoC,OAAzBL,KAAK4uC,iBACb5uC,KAAKK,YChH+Q,MCQ9R,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCmGA,IACbW,KAAM,uBACN0C,WAAY,CACVumC,eAAA,KAEFxoC,MAAO,CACLgrB,OAAQ,CACN/qB,UAAU,GAEZ4mC,cAAe,CACb3mC,KAAMwO,MACNzO,UAAU,EACVG,QAAS,IAAM,KAGnBsD,KAAM,KACG,CACLlE,kBAAmB,CACjBgrC,aAAc,UACda,eAAgB,mBAChBiC,SAAU,WACV1C,iBAAkB,qBAClB2C,UAAW,aACXC,mBAAoB,2BACpBjoC,SAAU,WACV2M,KAAM,SACNu7B,UAAW,YACXtd,SAAU,gBACV5hB,YAAa,cACbW,KAAM,OACN+9B,WAAY,cACZS,UAAW,aACXpmC,iBAAkB,oBAClBqmC,eAAgB,kBAChBC,eAAgB,kBAChBC,uBAAwB,mCAE1BC,mBAAoB,KACpBC,yBAAyB,EACzB5C,QAAS,GACT6C,oBAAqB,GACrBC,iBAAkB,KAGtBvuC,SAAU,IACL,eAAW,CACZwuC,8BAA+B,0BAC/B9wB,cAAe,qBACfK,eAAgB,sBAChB0wB,qBAAsB,4BACtBC,uBAAwB,gCAE1B,cACE,IAAIC,EAAc,CAChB,CAAC,QAAuB,CACtB9uC,KAAMhB,KAAKwB,WAAWwtC,UACtBjtC,UAAW2pC,EAAA,KACXpD,cAAe,eAAwB,CACrC7jC,YAAazE,KAAK0vC,iBAAiBlyB,SAAS,SAC3Cxd,KAAKysB,SAEV,CAAC,QAAsB,CACrBzrB,KAAMhB,KAAKwB,WAAWwF,SACtBjF,UAAW,OACXumC,cAAe,eAAwB,CACrCzjC,aAAa,GACZ7E,KAAKysB,SAEV,CAAC,QAAsC,CACrCzrB,KAAMhB,KAAKwB,WAAWytC,mBACtBltC,UAAW0oC,EAAA,MAEb,CAAC,QAAwB,CAAEzpC,KAAMhB,KAAKwB,WAAW0tC,UAAWntC,UAAWguC,IACvE,CAAC,QAAkB,CAAE/uC,KAAMhB,KAAKwB,WAAWmS,KAAM5R,UAAWiuC,IAC5D,CAAC,QAAsB,CAAEhvC,KAAMhB,KAAKwB,WAAWowB,SAAU7vB,UAAWkuC,GAAA,MACpE,CAAC,QAAyB,CAAEjvC,KAAMhB,KAAKwB,WAAWwO,YAAajO,UAAWmuC,GAAA,MAC1E,CAAC,QAAwC,CACvClvC,KAAMhB,KAAKwB,WAAW8tC,uBACtBvtC,UAAWouC,GACX1uC,MAAO,CACLitC,WAAY,OACZtP,YAAap/B,KAAKwB,WAAW8tC,0BA2CnC,OAvCItvC,KAAK2vC,+BAAiC3vC,KAAK4vC,uBAC7CE,EAAY,QAAmB,CAAE9uC,KAAMhB,KAAKwB,WAAWmP,KAAM5O,UAAWquC,GAAA,OAEtEpwC,KAAK6e,gBACPixB,EAAY,QAAyB,CAAE9uC,KAAMhB,KAAKwB,WAAW2tC,UAAWptC,UAAWsuC,GAAA,OAEjFrwC,KAAKkf,iBACP4wB,EAAY,QAAgC,CAC1C9uC,KAAMhB,KAAKwB,WAAWuH,iBACtBhH,UAAWuuC,GAAA,OAGXtwC,KAAKkf,iBACP4wB,EAAY,QAA8B,CACxC9uC,KAAMhB,KAAKwB,WAAW6tC,eACtBttC,UAAWouC,GACX1uC,MAAO,CACLitC,WAAY,QACZtP,YAAap/B,KAAKwB,WAAW6tC,kBAK/BrvC,KAAK6vC,yBACPC,EAAY,QAA8B,CACxC9uC,KAAMhB,KAAKwB,WAAW4tC,eACtBrtC,UAAWouC,GACX1uC,MAAO,CACLitC,WAAY,QACZtP,YAAap/B,KAAKwB,WAAW4tC,kBAInCtrC,OAAOiJ,KAAK+iC,GAAa9jC,KAAI,SAAU1C,EAAKU,GAG1C,OADA8lC,EAAYxmC,GAAK3H,KAAO2H,EACjBwmC,EAAYxmC,MAErBwmC,EAAc9vC,KAAKuwC,mBAAmBT,GAC/BA,GAET,gBACE,OAAOhsC,OAAO0qB,OAAOxuB,KAAK8vC,cAE5B,sBACE,OAAO9vC,KAAK2sC,cAAcpzB,OAAOklB,IAEvBz+B,KAAKyvC,oBAAoBjyB,SAASihB,EAAO98B,QAGrD,uBACE,OAAO3B,KAAKwwC,oBAAoBxkC,IAAIuN,GAAUA,EAAO5X,OAEvD,aACE,OAAO3B,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E0lC,MAAO,CACL,QAAS8J,GACPzwC,KAAKyvC,oBAAsBgB,EAAOzkC,IAAIuN,GAAUA,EAAO5X,QAG3D,UACE3B,KAAK+qC,sBAEPhmC,QAAS,CACP,UAAWiF,GACT,OAAOA,EAAQ,IAAMhK,KAAKysB,OAAO9qB,MAAQ3B,KAAKysB,QAAUzsB,KAAKysB,OAAOtY,GAAK,IAAMnU,KAAKysB,OAAOtY,GAAK,KAOlG,mBAAoB27B,GAClB,IAAInD,EAAgB3sC,KAAKsoC,cAAc/uB,OAAOklB,GAA0B,kBAAhBA,EAAO98B,MAC/D,IAAKgrC,GAA0C,IAAzBA,EAAcpoC,OAAc,OAAOurC,EACzDnD,EAAgBA,EAAc,GAC9B,MAAM+D,EAAY/D,EAAc+D,WAAa,GACvCC,EAAYhE,EAAcgE,UAC1B/N,EAAS,GACf,IAAK,MAAOt5B,EAAKnG,KAAUW,OAAOye,QAAQutB,GACnCY,EAAUlzB,SAASlU,IAAUqnC,IAAaA,EAAUnzB,SAASlU,KAChEs5B,EAAOt5B,GAAOnG,GAGlB,OAAOy/B,GAET,2BAKE,IAAIgO,EAAkB,GACtB,MAAMC,IAAsB7wC,KAAKysB,OAAO7T,UAAY5Y,KAAKysB,OAAO7T,OAAOg0B,QACjEkE,EAAsB9wC,KAAKsoC,cAAc/uB,OAAOklB,GAA0B,kBAAhBA,EAAO98B,MACjEovC,IAAwBD,GAAuBA,EAAoBvsC,OAAS,KAAOusC,EAAoB,GAAGE,eAChH,GAAID,EAAqB,CACvB,MAAMC,EAAiBF,EAAoB,GAAGE,gBAAkB,GAChEhxC,KAAK0vC,iBAAmB5rC,OAAOiJ,KAAKikC,GACpCJ,EAAkBC,EAAoB7wC,KAAKysB,OAAO7T,OAAOg0B,QAAUoE,OAC1DH,IAAmBD,EAAkB5wC,KAAKysB,OAAO7T,OAAOg0B,SAAW,IAC9E,OAAOgE,GAET,qBACE,MAAMA,EAAkB5wC,KAAKixC,2BACvBtnB,EAAa,GACnB,IAAK,MAAOrgB,EAAKnG,KAAUW,OAAOye,QAAQquB,GAAkB,CAC1D,MAAMM,EAAc5nC,KAAOtJ,KAAK8vC,YAAe9vC,KAAK8vC,YAAYxmC,GAAO,KACnE4nC,GAAYvnB,EAAW/d,KAAK,IAAKslC,EAAYvvC,KAAM2H,EAAKnG,UAE9DnD,KAAK4sC,QAAUjjB,EAGf3pB,KAAKmxC,8BAEP,yBAA0BnnC,EAAOrI,GAC/B3B,KAAK8a,KAAK9a,KAAK4sC,QAAS5iC,EAAO,IAAKhK,KAAK8vC,YAAYnuC,MAEvD,YACE3B,KAAK4sC,QAAQhhC,KAAK,KAEpB,SAAUjK,GACR,OAAIA,KAAQ3B,KAAK8vC,YAAoB9vC,KAAK8vC,YAAYnuC,GAAMX,KACrD,kBAET,qBAAsBW,GACpB,OAAO3B,KAAKwB,WAAWktC,WAAa,KAAO1uC,KAAKysC,SAAS9qC,IAE3D,qBAAsB4X,EAAQpW,GAC5B,MAAMmG,EAAMiQ,EAAO5X,KAEbyvC,EAAiB,IAAIpxC,KAAK4sC,SAC1B5iC,EAAQhK,KAAK4sC,QAAQn1B,UAAU8B,GAAUA,EAAO5X,OAAS2H,GAC3DU,EAAQ,IACE,OAAV7G,EACFiuC,EAAe7mC,OAAOP,EAAO,GAE7BonC,EAAepnC,GAAO7G,MAAQA,EAEhCnD,KAAK4sC,QAAUwE,EAEfpxC,KAAKmxC,+BAEP,6BAEE,MAAMvE,EAAU,GAChB,IAAK,MAAMrzB,KAAUzV,OAAO0qB,OAAOxuB,KAAK4sC,SACtCA,EAAQrzB,EAAO5X,MAAQ4X,EAAOpW,MAGhCnD,KAAK0C,MAAM,QAAS,CAAEkqC,aAExB,qBACE,MAAMyE,EAAe,GACrB,IAAI/rC,EAAa,EACjB,IAAK,MAAM0E,KAAShK,KAAK4sC,QACvB,GAAI5sC,KAAK4sC,QAAQ5iC,GAAOrI,KAAM,CAC5B,MAAM8pC,EAAW,oBAAoBzhC,EAC/BvE,EAAkBzF,KAAKwF,MAAMimC,GAAU,GAAG/lC,iBAC3CD,GAAiBH,SAEtB+rC,EAAazlC,KAAK5B,GAItB,OADAhK,KAAKsxC,mBAAmBD,GACjB/rC,GAAc,GAEvB,mBAAoB+rC,GAClB,MAAME,EAAaF,EAAa9sC,OAAS,EAEzC,IAAK,IAAI+c,EAAIiwB,EAAYjwB,GAAK,EAAGA,IAC/BthB,KAAK4sC,QAAQriC,OAAO8mC,EAAa/vB,GAAI,IAGzC,kBAAmBtX,GACjBhK,KAAK4sC,QAAQriC,OAAOP,EAAO,MC3XsQ,MCSnS,I,oBAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QC8GA,IACbhJ,KAAM,wBACN0C,WAAY,CAAE8tC,eAAA,GAAgBC,yBAC9BhwC,MAAO,CACLgrB,OAAQ,CACN9qB,KAAMmC,OACNpC,UAAU,GAEZ4mC,cAAe,CACb3mC,KAAMwO,MACNzO,UAAU,EACVG,QAAS,IAAM,KAGnB,OACE,MAAO,CACLikC,MAAA,EAAA9/B,EACA/E,kBAAmB,CACjBgjB,OAAQ,SACR6jB,UAAW,OACX4J,SAAU,gCACVhK,sBAAuB,cACvBM,kBAAmB,cACnB2J,UAAW,aACX1J,sBAAuB,sBACvBF,sBAAuB,yFACvBM,aAAc,UACdvR,WAAY,QACZ8a,oBAAqB,iCACrBC,iBAAkB,+BAEpBpK,UAAU,EACV7b,kBAAmB,KACnBkmB,gBAAgB,EAChB3J,mBAAmB,IAGvBhnC,SAAU,CACR,cACE,OAAOnB,KAAK4rB,kBAAkB5qB,MAAQhB,KAAKwB,WAAWkwC,UAExD,aACE,OAAO1xC,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACEjB,KAAK4rB,kBAAoB3T,KAAKC,MAAMD,KAAKE,UAAUnY,KAAKysB,UAE1D,UACEzsB,KAAK+xC,cAAc/xC,KAAK4rB,oBAE1B7mB,QAAS,IACJ,eAAa,CACditC,qBAAsB,2CAErB,eAAW,CACZC,mBAAoB,oCACpBF,cAAe,iCAEjB,iCACE/xC,KAAKkyC,kBACDlyC,KAAKmyC,yBACPnyC,KAAK0C,MAAM,SAAU1C,KAAK4rB,mBAE1B5rB,KAAKoyC,eAAepyC,KAAKwB,WAAWqwC,mBAGxC,eAAgBQ,EAAiBC,GAC/B,MAAMC,EAAgBvyC,KAAK4rB,kBAAkBhT,QAAU,GACvD25B,EAAc3F,QAAUyF,EAAgBzF,QACxC5sC,KAAKkpC,cAAcqJ,EAAeD,IAEpC,gBAAiBvoB,EAAauoB,GAC5B,MAAME,EAAY,IAAKxyC,KAAK4rB,kBAAkBhT,UAAWmR,GACzD/pB,KAAKkpC,cAAcsJ,EAAWF,IAEhC,cAAe15B,EAAQ05B,GACrBtyC,KAAK8xC,gBAAkBQ,EACvBtyC,KAAK8a,KAAK9a,KAAK4rB,kBAAmB,SAAUhT,GAC5C5Y,KAAKmoC,mBAAoB,GAE3B,kCACEnoC,KAAKkyC,kBACDlyC,KAAKmyC,yBACPnyC,KAAK+xC,cAAc/xC,KAAK4rB,mBAExB5rB,KAAKoyC,eAAepyC,KAAKwB,WAAWowC,qBAEtC5xC,KAAKmoC,mBAAoB,GAE3B,yBACE,MAAMsK,EAAiB,wBAAwBzyC,KAAKysB,OAAOtY,GACrDu+B,EAAmB,0BAA0B1yC,KAAKysB,OAAOtY,GACzDw+B,EAAmB3yC,KAAKwF,MAAMitC,GAAgBG,qBAC9CC,EAAoB7yC,KAAKwF,MAAMktC,GAAkBE,qBACvD,OAAOD,GAAoBE,GAE7B,oBACO7yC,KAAK4rB,kBAAkBzX,GAG1BnU,KAAKiyC,qBAFLjyC,KAAKgyC,qBAAqB,OAK9B,eAAgBpa,GACd,MAAMr2B,EAAe,CACnBkuB,MAAOzvB,KAAKwB,WAAWs1B,WACvBc,eAEF53B,KAAK8yC,gBAAgB,CACnBxmC,OAAQ,QACRC,QAAShL,OCjPqQ,MCQlR,I,UAAY,eACd,GACA,EACA,GACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAIxB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAACE,YAAY,uBAAuBC,MAAM,CAAE,SAAUL,EAAI8lC,aAAcX,YAAYnlC,EAAIolC,GAAG,CAAGplC,EAAI8lC,YAAgtG,KAAnsG,CAACv8B,IAAI,SAAS87B,GAAG,WAAW,MAAO,CAACnlC,EAAG,MAAM,CAACE,YAAY,uDAAuD,CAACF,EAAG,MAAM,CAACE,YAAY,0CAA0CI,MAAM,CAAC,GAAK,cAAcR,EAAI0sB,OAAOtY,KAAK,CAACpU,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIgzC,gBAAgB,KAAK9yC,EAAG,MAAM,CAACE,YAAY,kCAAkCI,MAAM,CAAC,GAAK,aAAaR,EAAI0sB,OAAOtY,GAAK,IAAM,8BAA+BpU,EAAqB,kBAAEE,EAAG,YAAY,CAACM,MAAM,CAAC,GAAK,oBAAsBR,EAAI0sB,OAAOtY,GAAG,OAAS,aAAapU,EAAI0sB,OAAOtY,KAAO,CAAClU,EAAG,MAAM,CAACE,YAAY,oCAAoC,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAI0sB,OAAOgD,OAAO,OAAOxvB,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIioC,mBAAmB,SAASjoC,EAAIa,MAAM,GAAGX,EAAG,MAAM,CAACE,YAAY,0CAA0C,CAACF,EAAG,UAAU,CAACE,YAAY,0BAA0BI,MAAM,CAAC,QAAU,UAAU,KAAO,KAAK,KAAO,IAAI2C,MAAM,CAACC,MAAOpD,EAAI0sB,OAAqB,eAAErpB,SAAS,SAAUC,GAAMtD,EAAI+a,KAAK/a,EAAI0sB,OAAQ,iBAAkBppB,IAAME,WAAW,0BAA0B,CAACxD,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIizC,eAAe,QAASjzC,EAAIkzC,uBAAyBlzC,EAAImtB,sBAAuBjtB,EAAG,aAAa,CAACE,YAAY,wDAAwDI,MAAM,CAAC,GAAK,uCAAuCR,EAAI0sB,OAAOtY,GAAG,eAAe,uBAAuB,QAAU,OAAO,KAAO,KAAK,WAAW,GAAG,MAAQ,IAAI+wB,YAAYnlC,EAAIolC,GAAG,CAAC,CAAC77B,IAAI,iBAAiB87B,GAAG,WAAW,MAAO,CAACnlC,EAAG,MAAM,CAACE,YAAY,cAAcI,MAAM,CAAC,GAAK,gBAAkBR,EAAI0sB,OAAOtY,GAAG,IAAM,gCAAgClU,EAAG,YAAY,CAACM,MAAM,CAAC,OAAS,gBAAkBR,EAAI0sB,OAAOtY,KAAK,CAACpU,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW0xC,iBAAiB,SAASzN,OAAM,IAAO,MAAK,EAAM,YAAY,CAACxlC,EAAG,kBAAkB,CAACA,EAAG,QAAQ,CAACE,YAAY,YAAYI,MAAM,CAAC,QAAU,eAAegC,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAO1C,EAAIozC,mBAAmBpzC,EAAI0sB,WAAW,CAACxsB,EAAG,IAAI,CAACE,YAAY,6CAA6CF,EAAG,OAAO,CAACF,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW4xC,WAAW,UAAU,GAAGnzC,EAAG,sBAAsBA,EAAG,kBAAkB,CAACA,EAAG,oBAAoB,CAACE,YAAY,QAAQI,MAAM,CAAC,GAAK,qBAAuBR,EAAI0sB,OAAOtY,GAAG,MAAQpU,EAAIyB,WAAWmZ,OAAO,QAAU,cAAc,cAAc,uBAAuB,KAAO,yBAAyB,IAAM,gBAAgB5a,EAAI0sB,OAAOtY,IAAI5R,GAAG,CAAC,QAAU,SAASE,GAAQ,OAAO1C,EAAIszC,oBAAoBtzC,EAAI0sB,OAAOtY,SAAS,GAAGlU,EAAG,sBAAsBA,EAAG,kBAAkB,CAACA,EAAG,QAAQ,CAACE,YAAY,YAAYI,MAAM,CAAC,QAAU,eAAegC,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAO1C,EAAIuzC,oBAAoBvzC,EAAI0sB,WAAW,CAACxsB,EAAG,IAAI,CAACE,YAAY,gDAAgDF,EAAG,OAAO,CAACF,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWuuB,UAAU,UAAU,IAAI,GAAGhwB,EAAIa,MAAOb,EAAIkzC,uBAAyBlzC,EAAImtB,sBAAuBjtB,EAAG,QAAQ,CAACE,YAAY,YAAYI,MAAM,CAAC,QAAU,eAAegC,GAAG,CAAC,MAAQ,SAASE,GAAQ,OAAO1C,EAAIwzC,uBAAuBxzC,EAAI0sB,WAAW,CAACxsB,EAAG,MAAM,CAACE,YAAY,cAAcI,MAAM,CAAC,GAAK,yBAAyBR,EAAI0sB,OAAOtY,GAAG,IAAM,8BAA8BlU,EAAG,YAAY,CAACM,MAAM,CAAC,OAAS,yBAAyBR,EAAI0sB,OAAOtY,KAAK,CAACpU,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWgyC,iBAAiB,QAAQ,GAAGzzC,EAAIa,MAAM,OAAO6kC,OAAM,IAAY,MAAK,IAAO,CAACxlC,EAAG,MAAM,CAACE,YAAY,8BAA8BI,MAAM,CAAC,GAAK,SAASR,EAAI0sB,OAAOtY,KAAK,CAAGpU,EAAI8lC,YAAyN9lC,EAAIa,KAAhNb,EAAIc,GAAG,WAAU,WAAW,MAAO,CAACZ,EAAG,8BAA8B,CAACE,YAAY,OAAOI,MAAM,CAAC,OAASR,EAAI0sB,UAAUxsB,EAAG,6BAA6B,CAACE,YAAY,OAAOI,MAAM,CAAC,OAASR,EAAI0sB,cAAsB1sB,EAAIc,GAAG,mBAAkB,WAAW,MAAO,CAAEd,EAAuB,oBAAEE,EAAG,MAAM,CAACE,YAAY,kEAAkE,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWiyC,OAAO,IAAI1zC,EAAIW,GAAGX,EAAI2zC,YAAY,OAAO3zC,EAAIa,SAAQb,EAAIc,GAAG,SAAUd,EAA+B,4BAAEA,EAAIc,GAAG,eAAc,WAAW,MAAO,CAACZ,EAAG,SAAS,CAACE,YAAY,+CAA+CoC,GAAG,CAAC,MAAQxC,EAAI4zC,oBAAoB,CAAC5zC,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWoyC,wBAAwB,WAAU7zC,EAAIa,MAAM,MAE3tI,GAAkB,G,aCFlB,GAAS,WAAkB,IAAIb,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,iCAAiCC,MAAML,EAAI8zC,aAAe,iBAAmB,GAAGtzC,MAAM,CAAC,GAAK,2BAA2BR,EAAI0sB,OAAOtY,IAAI5R,GAAG,CAAC,MAAQxC,EAAI+zC,uBAAuB,CAAC7zC,EAAG,MAAM,CAACM,MAAM,CAAC,IAAM,2BAA2BR,EAAIU,GAAGV,EAAIW,GAAGX,EAAIg0C,eAAe,OAAO9zC,EAAG,aAAa,CAACM,MAAM,CAAC,KAAO,iBAAiB,CAAER,EAAIi0C,oBAAsBj0C,EAAI8zC,aAAc5zC,EAAG,MAAM,CAACE,YAAY,4BAA4B,CAAEJ,EAAW,QAAEE,EAAG,qBAAqB,CAACM,MAAM,CAAC,OAAQ,EAAK,sBAAqB,KAASN,EAAG,KAAK,CAACE,YAAY,0BAA0BJ,EAAIgK,GAAIhK,EAAe,aAAE,SAASwZ,EAAOvP,GAAO,OAAO/J,EAAG,KAAK,CAACqJ,IAAIU,EAAM,IAAIjK,EAAI0sB,OAAOtY,GAAGhU,YAAY,eAAe,CAACF,EAAG,OAAO,CAACE,YAAY,qBAAqB,CAACJ,EAAIU,GAAGV,EAAIW,GAAG6Y,EAAOvY,SAAUmP,MAAMC,QAAQmJ,EAAOpW,OAAQlD,EAAG,KAAKF,EAAIgK,GAAIwP,EAAY,OAAE,SAASpW,EAAM8wC,GAAY,OAAOh0C,EAAG,KAAK,CAACqJ,IAAIU,EAAMiqC,EAAW9zC,YAAY,kBAAkB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGyC,GAAO,UAAS,GAAGlD,EAAG,MAAM,CAACF,EAAIU,GAAGV,EAAIW,GAAG6Y,EAAOpW,eAAc,IAAI,GAAGpD,EAAIa,QAAQ,IAEnkC,GAAkB,G,aCmEP,IACbI,KAAM,0BACN0C,WAAY,CACViiC,oBAAA,YAEFlkC,MAAO,CACLgrB,OAAQ,CACN9qB,KAAMmC,OACNpC,UAAU,IAGd,OACE,MAAO,CACLwyC,wBAAA,OACA7V,yBAAA,OACAp9B,kBAAmB,CACjBsY,OAAQ,SACRqzB,QAAS,UACToC,UAAW,aACXmF,WAAY,gBACZntC,SAAU,WACVkoC,UAAW,YACXv7B,KAAM,SACNie,SAAU,gBACVpN,aAAc,eACd2qB,UAAW,aACXpmC,iBAAkB,oBAClBqmC,eAAgB,kBAChBC,eAAgB,kBAChBC,uBAAwB,kCACxB8E,IAAK,MACLC,GAAI,KACJ1jC,KAAM,OACN25B,QAAS,UACTgK,cAAe,YACfC,iBAAkB,eAClBC,aAAc,YAEhBC,YAAa,GACbC,cAAe,GACf16B,SAAS,EACT26B,qBAAsB,GACtBC,sBAAuB,GACvBZ,oBAAoB,IAGxB7yC,SAAU,IACL,eAAW,CACZwuC,8BAA+B,0BAC/B9wB,cAAe,qBACfK,eAAgB,sBAChB0wB,qBAAsB,4BACtBC,uBAAwB,gCAE1B,eACE,OAAO7vC,KAAK60C,aAAe,GAE7B,eACE,GAAQ70C,KAAKysB,QAAYzsB,KAAKysB,OAAO7T,QAAY5Y,KAAKysB,OAAO7T,OAAOg0B,QAC/D,CACH,IAAIkI,EAAsB,EAC1B,IAAK,MAAMxrC,KAAOxF,OAAOiJ,KAAK/M,KAAKysB,OAAO7T,OAAOg0B,SAC3C5sC,KAAK+0C,WAAWzrC,IAAMwrC,IAE5B,OAAOA,EANqE,OAAO,GASvF,gBACE,MAAO,GAAG90C,KAAK60C,gBAAsC,IAAtB70C,KAAK60C,aAAqB70C,KAAKwB,WAAW+X,OAASvZ,KAAKwB,WAAWorC,WAEpG,aACE,MAAMmI,EAAa,CACjB,CAAC,QAAuB,CAAE/zC,KAAMhB,KAAKwB,WAAWwtC,UAAWgG,kBAAmBh1C,KAAKi1C,wBACnF,CAAC,QAAsB,CAAEj0C,KAAMhB,KAAKwB,WAAWwF,SAAUguC,kBAAmBh1C,KAAKk1C,kBACjF,CAAC,QAAsC,CACrCl0C,KAAMhB,KAAKwB,WAAW2yC,WACtBa,kBAAmBh1C,KAAKm1C,yBAE1B,CAAC,QAAwB,CAAEn0C,KAAMhB,KAAKwB,WAAW0tC,UAAW8F,kBAAmBh1C,KAAKo1C,wBACpF,CAAC,QAAkB,CAAEp0C,KAAMhB,KAAKwB,WAAWmS,KAAMqhC,kBAAmBh1C,KAAKq1C,kBACzE,CAAC,QAAsB,CAAEr0C,KAAMhB,KAAKwB,WAAWowB,SAAUojB,kBAAmBh1C,KAAKs1C,sBACjF,CAAC,QAAyB,CAAEt0C,KAAMhB,KAAKwB,WAAWgjB,aAAcwwB,kBAAmBh1C,KAAKu1C,qBACxF,CAAC,QAAwC,CACvCv0C,KAAMhB,KAAKwB,WAAW8tC,uBACtB0F,kBAAmBh1C,KAAKw1C,uBAmC5B,OAhCIx1C,KAAK2vC,+BAAiC3vC,KAAK4vC,uBAC7CmF,EAAW,QAAmB,CAAE/zC,KAAMhB,KAAKwB,WAAWmP,KAAMqkC,kBAAmBh1C,KAAKy1C,0BAElFz1C,KAAK6e,gBACPk2B,EAAW,QAAyB,CAClC/zC,KAAMhB,KAAKwB,WAAW2tC,UACtB6F,kBAAmBh1C,KAAK01C,yBAGxB11C,KAAKkf,iBACP61B,EAAW,QAAgC,CACzC/zC,KAAMhB,KAAKwB,WAAWuH,iBACtBisC,kBAAmBh1C,KAAK21C,oCAGxB31C,KAAKkf,iBACP61B,EAAW,QAA8B,CACvC/zC,KAAMhB,KAAKwB,WAAW6tC,eACtB2F,kBAAmBh1C,KAAKw1C,uBAGxBx1C,KAAK6vC,yBACPkF,EAAW,QAA8B,CACvC/zC,KAAMhB,KAAKwB,WAAW4tC,eACtB4F,kBAAmBh1C,KAAKw1C,uBAG5B1xC,OAAOiJ,KAAKgoC,GAAY/oC,KAAI,SAAU1C,EAAKU,GAGzC,OADA+qC,EAAWzrC,GAAK3H,KAAO2H,EAChByrC,EAAWzrC,MAEbyrC,GAET,aACE,OAAO/0C,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E0lC,MAAO,CACL,wBAAyB,CACvB,QAASzhB,EAAK0hB,GACP,IAASA,EAAQ1hB,IACpBllB,KAAKsE,SAGTsxC,MAAM,IAGV,UACE51C,KAAK20C,qBAAuB30C,KAAKk0C,0BACjCl0C,KAAK40C,sBAAwB50C,KAAKq+B,2BAClCr+B,KAAKsE,SAEPS,QAAS,IACJ,eAAW,CACZmwC,iBAAkB,kCAClBW,qBAAsB,sCACtBN,oBAAqB,qCACrBO,kBAAmB,qCAErB,QASE91C,KAAKy0C,YAAc,GACnBz0C,KAAK00C,cAAgB,GACrB,MAAMqB,EAAW,GACjB,GAAI/1C,KAAKysB,QAAUzsB,KAAKysB,OAAO7T,QAAU5Y,KAAKysB,OAAO7T,OAAOg0B,QAAS,CACnE5sC,KAAKga,SAAU,EACf,IAAK,MAAO1Q,EAAKnG,KAAUW,OAAOye,QAAQviB,KAAKysB,OAAO7T,OAAOg0B,SACvD5sC,KAAK+0C,WAAWzrC,IAAMysC,EAASnqC,KAAK5L,KAAKg2C,cAAc1sC,EAAKnG,IAElE,OAAOkI,QAAQ0L,IAAIg/B,GAAU5/B,MAAMxB,IACjC/G,QAAQoQ,MAAMrJ,KACb4Q,QAAQ,KACTvlB,KAAKy0C,YAAcz0C,KAAKi2C,SAASnyC,OAAO0qB,OAAOxuB,KAAK00C,eAAgB5wC,OAAOiJ,KAAK/M,KAAKysB,OAAO7T,OAAOg0B,UACnG5sC,KAAKga,SAAU,MAIrB,cAAe1Q,EAAKnG,GAMlB,OAAO,IAAIkI,QAAQ,CAACC,EAASiC,KAC3BvN,KAAKk2C,oBAAoB5sC,EAAKnG,GAAOuR,KAAKvR,IACxCnD,KAAK00C,cAAcprC,GAAO,CACxB3H,KAAM2H,EACNtI,KAAMhB,KAAK+0C,WAAWzrC,GAAKtI,KAC3BmC,SAEFmI,MACC6K,MAAOxB,IACRpH,EAAOoH,QAIb,wBAAyBxR,GAOvB,MAAMw2B,EAAO35B,KACb,OAAO,IAAIqL,SAAQ,SAAUC,EAASiC,GACpC,OAAOosB,EAAKkc,qBAAqB1yC,EAAM,SAA6CuR,KAAMY,IACxF,IAAInQ,EAAO,GACPmQ,GAASA,EAAM/Q,OAAS,IAC1BY,EAAUmQ,EAAMjJ,KAAK,MAAd,MAGPlH,EAD8D,kBAArDhC,EAAM,QACR,GAAGgC,IAAOhC,EAAM,UAEhB,GAAGgC,IAAOhC,EAAM,QAA2CkJ,KAAK,QAEzEf,EAAQnG,KACPgR,MAAOxB,IACRpH,EAAOoH,SAIb,uBAAwBxR,GAKtB,MAAMw2B,EAAO35B,KACb,OAAO,IAAIqL,SAAQ,SAAUC,EAASiC,GACpC,OAAOosB,EAAKub,iBAAiB/xC,EAAM,SAAkCuR,KAAMY,IACzE,IAAInQ,EAAO,GACPmQ,GAASA,EAAM/Q,OAAS,IAC1BY,EAAUmQ,EAAM,GAAT,MAET,MAAM6gC,EAAgB,CACpB5/B,WAAYpT,EAAM,QAClB8rB,aAAc9rB,EAAM,SAEtBw2B,EAAKmc,kBAAkBK,GAAezhC,KAAMnB,IACtCA,IACFpO,EAAO,GAAGA,IAAOoO,EAAWlH,KAAK,QACjCf,EAAQnG,QAGXgR,MAAOxB,IACRpH,EAAOoH,SAIb,qBAAsBxR,GAMpB,OAAO,IAAIkI,QAASC,IAClB,MAAMnG,EAAO,GACThC,GAASA,EAAMwlB,KAAKxjB,EAAKyG,KAAK,SAASzI,EAAMwlB,IAAM,OAAQ3oB,KAAKwB,WAAW8oC,WAC3EnnC,GAASA,EAAM0lB,KAAK1jB,EAAKyG,KAAK,SAASzI,EAAM0lB,IAAM,OAAQ7oB,KAAKwB,WAAW8oC,WAC/Eh/B,EAAQnG,MAGZ,uBAAwBhC,GAMtB,OAAO,IAAIkI,QAASC,IAClB,MAAMnG,EAAO,GACThC,GAASA,EAAMu8B,WAAWv6B,EAAKyG,KAAK,QAAQzI,EAAMu8B,cAClDv8B,GAASA,EAAMw8B,WAAWx6B,EAAKyG,KAAK,QAAQzI,EAAMw8B,cACtDr0B,EAAQnG,MAGZ,qBAAsBhC,GACpB,OAAO,IAAIkI,QAASC,IAClBA,EAAQnI,EAAQnD,KAAKwB,WAAW4yC,IAAMp0C,KAAKwB,WAAW6yC,OAG1D,kCAAmClxC,GASjC,OAAO,IAAIkI,QAASC,IAClBA,EAAQnI,EAAM2G,qBAGlB,uBAAwB3G,GAOtB,MANqB,kBAAVA,IAAyBA,EAAMizC,iBAAqBjzC,EAAMkzC,mBAAkBlzC,EAAQ,UAMxF,IAAIkI,QAAQ,CAACC,EAASiC,KACvBvN,KAAK20C,qBAAqBxxC,IAAQmI,EAAQtL,KAAK20C,qBAAqBxxC,IACxEoK,EAAO,IAAIO,MAAM,yBAGrB,wBAAyB3K,GAQvB,OAAO,IAAIkI,QAAQ,CAACC,EAASiC,KACvBpK,GAASA,EAAMg7B,cAAgBh7B,EAAMg7B,aAAa55B,SAChDpB,EAAMw7B,YAAc,QAClB3+B,KAAK40C,sBAAsBzxC,EAAMg7B,aAAa,KAAK7yB,EAAQtL,KAAK40C,sBAAsBzxC,EAAMg7B,aAAa,KACpGh7B,EAAMw7B,YAAc,SAC7BrzB,EAAQtL,KAAKs2C,iBAAiBnzC,EAAMg7B,gBAIxC5wB,EAAO,IAAIO,MAAM,2BAGrB,uBAAwBkN,GACtB,IACE,MAAM7U,EAAS,CACbqtB,WAAW,EACX+T,OAAQvsB,EAAM/N,aAEV,KAAE9H,SAAe,EAAAa,EAAMI,IAAI,+BAAgC,CAAED,WACnE,OAAOhB,EAAKZ,OAASY,EAAK6G,IAAI2E,GAAQA,EAAKsL,WAAa,GACxD,MAAOtH,GACP/G,QAAQ+G,MAAMA,KAGlB,oBAAqB+5B,EAAYvrC,GAO/B,OAAOnD,KAAK+0C,WAAWrG,GAAYsG,kBAAkB7xC,IAEvD,SAAUozC,EAAuBC,GAK/B,OAAOD,EAAsB30B,KAAK,CAAC5b,EAAG6b,IAAM20B,EAAkBrtC,QAAQnD,EAAErE,MAAQ60C,EAAkBrtC,QAAQ0Y,EAAElgB,QAE9G,uBACE3B,KAAKg0C,oBAAsBh0C,KAAKg0C,oBAElC,iBAAkB7wC,GAMhB,OAAO,IAAIkI,QAAQ,CAACC,EAASiC,KACtB4C,MAAMC,QAAQjN,IACjBoK,EAAO,IAAIO,MAAM,gBAEnB,MAAM2oC,EAAoBtzC,EAAM6I,IAAI+H,GAC3BA,EAAKhI,MAAM,KAAKC,IAAIH,GAAO7L,KAAK6tC,aAAahiC,IAAMQ,KAAK,OAEjEf,EAAQmrC,QChbwQ,MCQpR,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAkB,IAAI12C,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAQF,EAAgB,aAAEE,EAAG,MAAM,CAACE,YAAY,yBAAyB,CAACF,EAAG,MAAM,CAACE,YAAY,mDAAmD,CAACF,EAAG,MAAM,CAACM,MAAM,CAAC,IAAM,kCAAwD,WAArBR,EAAI22C,cAAkD,yBAArB32C,EAAI22C,aAAyCz2C,EAAG,MAAM,CAACE,YAAY,gCAAgCI,MAAM,CAAC,GAAK,qCAAqCR,EAAI0sB,OAAOtY,KAAK,CAAClU,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAIgE,cAAc9D,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAWuS,MAAM,KAAKhU,EAAIW,GAAGX,EAAIiE,kBAAwC,WAArBjE,EAAI22C,aAA2Bz2C,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAW+S,QAAQ,KAAKxU,EAAIW,GAAGX,EAAI42C,oBAAoB52C,EAAIa,KAAKX,EAAG,YAAY,CAACM,MAAM,CAAC,OAAS,qCAAqCR,EAAI0sB,OAAOtY,GAAG,UAAY,MAAM,eAAe,iBAAiB,CAAClU,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAAEJ,EAAIgE,UAAUQ,OAAS,EAAGtE,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAIgE,cAAchE,EAAIa,KAAKX,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAWuS,MAAM,OAAO9T,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAIiE,oBAA0C,WAArBjE,EAAI22C,aAA2Bz2C,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAW+S,QAAQ,OAAOtU,EAAG,MAAM,CAACE,YAAY,mBAAmB,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAI42C,sBAAsB52C,EAAIa,UAAU,GAAyB,iBAArBb,EAAI22C,aAAiCz2C,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWowB,UAAU,MAAM7xB,EAAIW,GAAGX,EAAI62C,cAAc72C,EAAI82C,oBAAoB,OAAO52C,EAAG,MAAM,CAACE,YAAY,yBAAyBI,MAAM,CAAC,GAAK,qCAAqCR,EAAI0sB,OAAOtY,KAAK,CAACpU,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAI+2C,iBAAiB/2C,EAAI22C,eAAe,WAAW32C,EAAIa,MAE/3D,GAAkB,GCoDP,IACbI,KAAM,2BACNS,MAAO,CACLgrB,OAAQ,CACN9qB,KAAMmC,OACNpC,UAAU,IAGd,OACE,MAAO,CACLT,kBAAmB,CACjB8S,KAAM,OACNQ,OAAQ,SACRqd,SAAU,gBACV+Y,wBAAyB,2BACzBC,WAAY,wBAEd7mC,UAAW,GACXC,cAAe,KAGnB7C,SAAU,CACR,iBACE,OAAMnB,KAAKysB,QAAUzsB,KAAKysB,OAAO7T,SAAW5Y,KAAKysB,OAAO7T,OAAOm+B,iBAAmB/2C,KAAKysB,OAAO7T,OAAOo+B,+BAC9Fh3C,KAAKysB,OAAO7T,OAAOm+B,iBAAmB/2C,KAAKysB,OAAO7T,OAAOo+B,8BAD6E,IAG/I,kBACE,OAAIh3C,KAAKi3C,gBAAkBj3C,KAAKi3C,eAAehzC,SAC7CkM,MAAMC,QAAQpQ,KAAKi3C,eAAehzC,UAAYjE,KAAKi3C,eAAehzC,QAAQM,OAAS,EAC5EvE,KAAKi3C,eAAehzC,QAAQoI,KAAK,MAEnC,IAET,oBACE,OAAIrM,KAAKi3C,gBAAkBj3C,KAAKi3C,eAAepN,aACtC7pC,KAAKi3C,eAAepN,aAEtB,GAET,eACE,OAAI7pC,KAAKi3C,gBAAkBj3C,KAAKi3C,eAAet1C,KACtC3B,KAAKi3C,eAAet1C,KAEtB,IAET,sBACE,MAAO,CACLgpC,wBAAyB3qC,KAAKwB,WAAWmpC,wBACzCC,WAAY5qC,KAAKwB,WAAWopC,aAGhC,aACE,OAAO5qC,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACEjB,KAAKsE,SAEPqiC,MAAO,CACLsQ,eAAgB,CACdrB,MAAM,EACN,QAAS1wB,EAAK0hB,GACZ5mC,KAAK+qC,wBAIXhmC,QAAS,IACJ,eAAW,CACZmwC,iBAAkB,kCAClBW,qBAAsB,wCAExB,QACE71C,KAAK+qC,sBAEP,qBACE,MAAMgL,EAAW,GAOjB,OANAA,EAASnqC,KAAK5L,KAAKk1C,iBAAiBl1C,KAAKi3C,eAAelzC,WAAW2Q,KAAM/G,IACvE3N,KAAK+D,UAAY4J,EAAStB,KAAK,SAEjC0pC,EAASnqC,KAAK5L,KAAK61C,qBAAqB71C,KAAKi3C,eAAejzC,eAAe0Q,KAAM/G,IAC/E3N,KAAKgE,cAAgB2J,EAAStB,KAAK,SAE9BhB,QAAQ0L,IAAIg/B,IAErB,cAAetC,GACb,GAAIA,EAAQ,GAAI,OAAOA,EAAQ,MAC/B,MAAMtJ,EAAU/3B,KAAKC,MAAMohC,EAAQ,IAC7BnJ,EAAUmJ,EAAQ,GACxB,IAAI7Q,EAASuH,EAAU,MAEvB,OADIG,EAAU,IAAG1H,GAAU,IAAM0H,EAAU,OACpC1H,GAET,iBAAkBsU,GAChB,OAAOl3C,KAAKm3C,oBAAoBD,IAAa,sBCnJsO,MCSrR,I,oBAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QC6IA,IACbl2C,KAAM,mBACN0C,WAAY,CAAE0zC,mBAAA,WAAiBC,2BAAyBC,6BACxD71C,MAAO,CACLgrB,OAAQ,CACN9qB,KAAMmC,OACNpC,UAAU,GAEZgyC,WAAY,CACV/xC,KAAM,CAACyL,OAAQxL,QACfF,UAAU,EACVG,SAAU,GAEZgkC,YAAa,CACXlkC,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEX01C,sBAAuB,CACrB51C,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLZ,kBAAmB,CACjBiyC,gBAAiB,eACjBM,gBAAiB,cACjB74B,OAAQ,SACR68B,QAAS,UACTnqB,MAAO,QACP+lB,UAAW,YACXrjB,SAAU,WACV0jB,MAAO,SACPG,uBAAwB,wBAI9BzyC,SAAU,IACL,eAAW,CACZ8xC,sBAAuB,oCACvB/lB,oBAAqB,uCAEvB,oBACE,OAAIltB,KAAKysB,OAAOkH,MACP3zB,KAAKysB,OAAOkH,MAEd3zB,KAAKysB,OAAOmL,aAErB,gBACE,OAAI53B,KAAKysB,OAAOY,MACPrtB,KAAKwB,WAAW6rB,MAElBrtB,KAAKwB,WAAWg2C,SAEzB,iBACE,OAAIx3C,KAAKysB,OAAOzrB,KACPhB,KAAKysB,OAAOzrB,KAEdhB,KAAKysB,OAAOgD,OAErB,aACE,OAAOzvB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,8BACE,OAAOjB,KAAKu3C,wBAA0Bv3C,KAAK6lC,aAE7C,sBACE,MAAkC,kBAApB7lC,KAAK0zC,YAA2B1zC,KAAK0zC,YAAc,IAGrE3uC,QAAS,IACJ,eAAW,CACZsuC,oBAAqB,qCACrBE,uBAAwB,wCACxBJ,mBAAoB,oCACpBG,oBAAqB,uCAEvB,oBACE,MAAMmE,EAAez3C,KAAKysB,OAAO7T,OAC3B8+B,EAAqBD,EAAa7K,QAAU,gBAAiB,CAAE+K,SAAU,QAAwBC,cAAeH,EAAa7K,UAAa,GAC1IiL,EAA8BJ,EAAaV,gBAAkB,gBAAyB,CAAEA,gBAAiBU,EAAaV,gBAAiBW,uBAAwBA,EACrK13C,KAAK0L,QAAQE,KAAK,CAAEpE,KAAM,SAAUwJ,MAAO6mC,OCpPgO,MCS7Q,I,oBAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCZf,MAAMC,GAAqB,IAAM,gHAElB,QACb92C,KAAM,iCACN8rB,KAAM,CACJ2C,MAAO,sBACPmI,YAAa,uDAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLyqB,oCAAA,OACA5S,eAAgBwS,GAChBzR,sBAAuB8R,GACvB7R,iBAAkB8R,GAClBC,gBAAiB,IAGrBtzC,QAAS,CACP,YAAauQ,GACXA,EAAQA,EACLsM,KAAK,CAAC5b,EAAG6b,IAAMA,EAAEy2B,mDAAqDtyC,EAAEsyC,oDACxE/+B,OAAOxF,GAAQA,EAAKwkC,mDAAqD,GACzEhuC,OAAO,EAAG,IACb,MAAMytB,EAAS,GACT7yB,EAAO,GACPqiC,EAAU,GAChBxnC,KAAKq4C,gBAAkBr4C,KAAKw4C,cAAcljC,EAAO,sDACjD,IAAK,MAAMvB,KAAQuB,EACjB0iB,EAAOpsB,KAAKmI,EAAK0kC,6DACjBtzC,EAAKyG,KAAKmI,EAAKukC,oDACf9Q,EAAQ57B,KAAKmI,EAAK2kC,aAEpB,MAAO,CACL1gB,SACA2gB,SAAU,CAAC,IAAKC,GAAgCzzC,SAChDqiC,YAGJ,kBACE,MAAMqR,EAA0BvR,IAC9BtnC,KAAK2zC,kBAAkBrM,IAEzB,OAAOtnC,KAAKk4C,oCACVl4C,KAAKysB,OACLzsB,KACA,CACE64C,4BAIN,mBACE,MAAO,IAET,kBACE,MAAO,CAAEpsB,OAAQzsB,KAAKysB,OAAQinB,WAAY1zC,KAAKq4C,kBAEjD,iBACE,MAAO,CAAE5rB,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBC7DxD,MAAMC,GAAY,IAAM,uGAET,QACb/3C,KAAM,uBACN8rB,KAAM,CACJ2C,MAAO,wBACPmI,YAAa,gHAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLurB,2BAAA,OACAC,iBAAA,OACA3T,eAAgByT,GAChB1S,sBAAuB8R,GACvB7R,iBAAkB8R,KAGtBrzC,QAAS,CACP,YAAauQ,GACX,MAAM4jC,EAAYl5C,KAAKi5C,iBAAiB,MAASE,QAAQ,SAAU,MAAO,MAASC,MAAM,UACzF9jC,EAAQ4jC,EAAUltC,IAAIqtC,IACpB,MAAMzW,EAAS,CAAEp2B,KAAM6sC,EAAKC,eAAe,UAAW,CAAEC,MAAO,QAASC,IAAK,YAAcC,MAAO,GAC5Ft0C,EAAOmQ,EAAMiE,OAAOxF,GAAQA,EAAK2lC,mBAAqB,IAAOL,GAAMM,OAAO,eAEhF,OADIx0C,GAAQA,EAAKZ,OAAS,IAAGq+B,EAAO6W,MAAQt0C,EAAK,GAAGs0C,OAC7C7W,IAET,MAAMA,EAAS,GAMf,OALAA,EAAO5K,OAAS1iB,EAAMtJ,IAAI+H,GAAQA,EAAKvH,MACvCo2B,EAAO+V,SAAW,CAAC,IACdiB,GACHz0C,KAAMmQ,EAAMtJ,IAAI+H,GAAQ3B,KAAKynC,MAAmB,IAAb9lC,EAAK0lC,OAAe,OAElD7W,GAET,kBACE,OAAO5iC,KAAKg5C,2BAA2Bh5C,KAAKysB,OAAQ,KAEtD,mBACE,MAAO,CAAC,CACN9qB,KAAM,gBACN+uC,UAAW,CAAC,gBAGhB,kBACE,MAAO,CAAEjkB,OAAQzsB,KAAKysB,SAExB,iBACE,MAAO,CAAEA,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBCvDxD,MAAM,GAAqB,IAAM,gHAElB,QACb93C,KAAM,4BACN8rB,KAAM,CACJ2C,MAAO,sBACPmI,YAAa,iDAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLyqB,oCAAA,OACA5S,eAAgB,GAChBe,sBAAuB8R,GACvB7R,iBAAkB8R,GAClB0B,WAAY,IAGhB/0C,QAAS,CACP,YAAauQ,GACXA,EAAQA,EAAMsM,KAAK,CAAC5b,EAAG6b,IAAMA,EAAEk4B,iBAAmB/zC,EAAE+zC,kBACjDxgC,OAAOxF,GAAQA,EAAKgmC,iBAAmB,GACvCxvC,OAAO,EAAG,IACb,MAAMytB,EAAS,GACT7yB,EAAO,GACPqiC,EAAU,GAChBxnC,KAAK85C,WAAa95C,KAAKw4C,cAAcljC,EAAO,oBAC5C,IAAK,MAAMvB,KAAQuB,EACjB0iB,EAAOpsB,KAAKmI,EAAKimC,kBACjB70C,EAAKyG,KAAKmI,EAAKgmC,kBACfvS,EAAQ57B,KAAKmI,EAAK2kC,aAEpB,MAAO,CACL1gB,SACA2gB,SAAU,CAAC,IAAKC,GAAgCzzC,SAChDqiC,YAGJ,kBACE,MAAMqR,EAA0BvR,IAC9BtnC,KAAK2zC,kBAAkBrM,IAEzB,OAAOtnC,KAAKk4C,oCACVl4C,KAAKysB,OACLzsB,KACA,CACE64C,4BAIN,mBACE,MAAO,IAET,kBACE,MAAO,CAAEpsB,OAAQzsB,KAAKysB,OAAQinB,WAAY1zC,KAAK85C,aAEjD,iBACE,MAAO,CAAErtB,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBC9DxD,MAAM,GAAqB,IAAM,gHAElB,QACb93C,KAAM,wBACN8rB,KAAM,CACJ2C,MAAO,yBACPmI,YAAa,uIAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLyqB,oCAAA,OACA+B,YAAA,OACA3U,eAAgB,GAChBe,sBAAuB8R,GACvB7R,iBAAkB8R,KAGtBrzC,QAAS,CACP,YAAauQ,GACXA,EAAQA,EAAMsM,KAAK,CAAC5b,EAAG6b,IAAMA,EAAEq4B,SAAWl0C,EAAEk0C,UAAU3vC,OAAO,EAAG,IAChE,MAAMytB,EAAS,GACT7yB,EAAO,GACb,IAAK,MAAM4O,KAAQuB,EACjB0iB,EAAOpsB,KAAK5L,KAAKi6C,YAAYlmC,EAAM,eACnC5O,EAAKyG,KAAKmI,EAAKmmC,UAEjB,MAAO,CACLliB,SACA2gB,SAAU,CAAC,IAAKC,GAAgCzzC,WAGpD,kBACE,OAAOnF,KAAKk4C,oCAAoCl4C,KAAKysB,OAAQzsB,OAE/D,mBACE,MAAO,IAET,kBACE,MAAO,CAAEysB,OAAQzsB,KAAKysB,SAExB,iBACE,MAAO,CAAEA,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBC7CxD,MAAM,GAAY,IAAM,uGAET,QACb93C,KAAM,yBACN8rB,KAAM,CACJ2C,MAAO,0BACPmI,YAAa,yFAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLurB,2BAAA,OACAC,iBAAA,OACA3T,eAAgB,GAChBe,sBAAuB8R,GACvB7R,iBAAkB8R,KAGtBrzC,QAAS,CACP,YAAauQ,GACX,MAAM6kC,EAAQn6C,KAAKysB,OAAO7T,QAAU5Y,KAAKysB,OAAO7T,OAAOw9B,gBACnDp2C,KAAKysB,OAAO7T,OAAOw9B,gBAAkB,EACrC,GACE8C,EAAYl5C,KAAKi5C,iBAAiB,MAASmB,SAASD,EAAO,SAAU,SACrEh1C,EAAO+zC,EAAUltC,IAAIqtC,IACzB,MAAMzW,EAAS,CAAEp2B,KAAM6sC,EAAKC,eAAe,UAAW,CAAEC,MAAO,QAASc,KAAM,YAAcZ,MAAO,GAC7Ft0C,EAAOmQ,EAAMiE,OAAOxF,GACjBA,EAAKumC,oBAAsB,IAAOjB,GAAME,QAAU,GAAKxlC,EAAKwmC,mBAAqB,IAAOlB,GAAMgB,QAGvG,OADIl1C,GAAQA,EAAKZ,OAAS,IAAGq+B,EAAO6W,MAAQt0C,EAAK,GAAGs0C,OAC7C7W,IAEHA,EAAS,GAMf,OALAA,EAAO5K,OAAS7yB,EAAK6G,IAAI+H,GAAQA,EAAKvH,MACtCo2B,EAAO+V,SAAW,CAAC,IACdiB,GACHz0C,KAAMA,EAAK6G,IAAI+H,GAAQ3B,KAAKynC,MAAmB,IAAb9lC,EAAK0lC,OAAe,OAEjD7W,GAET,kBACE,OAAO5iC,KAAKg5C,2BAA2Bh5C,KAAKysB,OAAQ,KAEtD,mBACE,MAAO,IAET,kBACE,MAAO,CAAEA,OAAQzsB,KAAKysB,SAExB,iBACE,MAAO,CAAEA,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBCjEpD,GAAS,WAAkB,IAAI/4C,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,SAAS,CAACE,YAAY,uBAAuB+kC,YAAYnlC,EAAIolC,GAAG,CAAC,CAAC77B,IAAI,SAAS87B,GAAG,WAAW,MAAO,CAACnlC,EAAG,MAAM,CAACE,YAAY,kBAAkBI,MAAM,CAAC,GAAK,cAAcR,EAAIy6C,MAAMrmC,KAAK,CAACpU,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIy6C,MAAM/qB,OAAO,OAAOxvB,EAAG,MAAM,CAACw6C,YAAY,CAAC,OAAS,WAAWl6C,MAAM,CAAC,GAAK,aAAaR,EAAIy6C,MAAMrmC,GAAG,IAAM,EAAQ,WAAiDlU,EAAG,YAAY,CAACM,MAAM,CAAC,GAAK,oBAAsBR,EAAIy6C,MAAMrmC,GAAG,OAAS,aAAcpU,EAAIy6C,MAAMrmC,KAAK,CAACpU,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIy6C,MAAM5iB,aAAa,SAAS6N,OAAM,MAAS,CAACxlC,EAAG,MAAM,CAACE,YAAY,+BAA+B,CAAEJ,EAAW,QAAEE,EAAG,MAAM,CAACM,MAAM,CAAC,GAAK,mCAAmC,CAACN,EAAG,uBAAuB,GAAGF,EAAIa,KAAKX,EAAG,MAAM,CAAC+I,WAAW,CAAC,CAAChI,KAAK,OAAOiI,QAAQ,SAAS9F,OAAQpD,EAAIia,QAASzW,WAAW,aAAapD,YAAY,mBAAmB,CAACF,EAAG,sBAAsB,CAACM,MAAM,CAAC,OAASR,EAAIy6C,OAAOj4C,GAAG,CAAC,kBAAkBxC,EAAI26C,eAAe,QAAQ,IAEtgC,GAAkB,GCFlB,GAAS,WAAkB,IAAI36C,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAQF,EAAI0tB,WAAa1tB,EAAIkmC,aAAchmC,EAAG,MAAM,CAA2B,WAAzBF,EAAI0sB,OAAOkuB,UAAwB16C,EAAG,MAAM,CAACA,EAAG,qBAAqB,CAACM,MAAM,CAAC,SAAWR,EAAI0sB,OAAO1qB,cAAc,GAAGhC,EAAIa,KAA+B,QAAzBb,EAAI0sB,OAAOkuB,UAAqB16C,EAAG,MAAM,CAACM,MAAM,CAAC,aAAaR,EAAI0tB,UAAU,QAAU1tB,EAAIkmC,aAAa,MAAQlmC,EAAI0sB,OAAO,OAAS1sB,EAAIomC,cAAcpmC,EAAIa,KAA+B,kBAAzBb,EAAI0sB,OAAOkuB,UAA+B16C,EAAG,iBAAiB,CAACM,MAAM,CAAC,aAAaR,EAAI0tB,UAAU,gBAAgB1tB,EAAIkmC,aAAa,OAASlmC,EAAIomC,cAAcpmC,EAAIa,KAA+B,SAAzBb,EAAI0sB,OAAOkuB,UAAsB16C,EAAG,aAAa,CAACM,MAAM,CAAC,aAAaR,EAAI0tB,UAAU,gBAAgB1tB,EAAIkmC,aAAa,OAASlmC,EAAIomC,cAAcpmC,EAAIa,KAAMb,EAA8B,2BAAEE,EAAG,gBAAgBF,EAAIgK,GAAIhK,EAAyB,uBAAE,SAASgU,EAAK/J,GAAO,OAAO/J,EAAG,MAAM,CAACqJ,IAAIU,EAAM7J,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,SAAS,CAACJ,EAAIU,GAAGV,EAAIW,GAAGqT,EAAKpT,UAAUV,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,qBAAqB,CAACM,MAAM,CAAC,SAAWwT,EAAKhS,cAAc,QAAO,GAAGhC,EAAIa,MAAM,GAAGb,EAAIa,MAE1hC,GAAkB,G,aC8CP,IACbI,KAAM,oBACN0C,WAAY,CACVk3C,iBAAA,QACA7B,UAAW,IAAM,uGACjB8B,IAAK,IAAM,sGACXC,cAAe,IAAM,iHAEvBr5C,MAAO,CACLgrB,OAAQ3oB,QAEV,OACE,MAAO,CACLgiC,MAAA,EAAA9/B,EACAynB,UAAW,KACXstB,kBAAmB,KACnB9U,aAAc,KACd2G,QAAS,GACT5yB,SAAS,IAGb7Y,SAAU,CACR,wBACE,OAAO2C,OAAO0qB,OAAOxuB,KAAKysB,OAAOlT,QAAQA,OAAOxF,KAAUA,EAAKhS,YAEjE,6BACE,OAAO/B,KAAKysB,OAAOlT,QAAUvZ,KAAKg7C,sBAAsBz2C,OAAS,GAEnE,aACE,MAAO,CACL02C,OAAWpwC,OAAOqwC,YAAc,EAAxB,KACRC,SAAU,cAIhBxU,MAAO,CACLiG,QAAS,CACP,QAAS1nB,EAAK0hB,GACR1hB,IAAQ0hB,GAAQ5mC,KAAKo7C,sBAE3BxF,MAAM,GAER,QAAS1wB,GACPllB,KAAK0C,MAAM,kBAAmBwiB,KAGlC,UACE,GAAIllB,KAAKysB,OAAOlT,OACd,IAAK,MAAM+H,KAAKthB,KAAKysB,OAAOlT,OAAQ,CAClC,MAAMA,EAASvZ,KAAKysB,OAAOlT,OAAO+H,GAClCthB,KAAK8a,KAAK9a,KAAK4sC,QAASrzB,EAAO8O,MAAO9O,EAAOpW,OAGjDnD,KAAKo7C,sBAEPr2C,QAAS,CACP,iBACE,IAAIs2C,EAAcr7C,KAAKysB,OAAOte,IAC9B,GAAInO,KAAKysB,OAAOlT,OACd,IAAK,MAAM+H,KAAKthB,KAAK4sC,QAAS,CAC5B,MAAM0O,EAAch6B,EACpB,IAAIoJ,EAAc1qB,KAAK4sC,QAAQtrB,GAC3BthB,KAAKysB,OAAOlT,OAAO+H,GAAGi6B,YAAW7wB,EAAc1qB,KAAKysB,OAAOlT,OAAO+H,GAAGi6B,UAAU7wB,IACnF2wB,GAAe,IAAMC,EAAc,IAAM5wB,EAG7C,OAAO2wB,GAET,qBACMr7C,KAAKysB,OAAOtnB,MAAMnF,KAAKw7C,aAAax7C,KAAKysB,OAAOtnB,MACpD,MAAMk2C,EAAcr7C,KAAKy7C,iBACnB9hB,EAAO35B,KACb25B,EAAK3f,SAAU,EACf2f,EAAKmM,MAAM1/B,IAAIi1C,GAAa3mC,KAAK9O,UAC/B+zB,EAAK6hB,aAAa,CAChBr2C,WAAYnF,KAAKysB,OAAOua,YAAYr5B,EAASxI,KAAKA,MAClD25B,QAAS9+B,KAAKysB,OAAOivB,kBAI3B,aAAcv2C,GACZnF,KAAKytB,UAAYtoB,EAAKA,KACtBnF,KAAKimC,aAAe9gC,EAAK25B,QACzB9+B,KAAKga,SAAU,KCnI6P,MCO9Q,GAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,M,QC4BA,IACbhZ,KAAM,mBACN,OACE,MAAO,CACLgZ,SAAS,IAGbtW,WAAY,CACViiC,oBAAA,WACAgW,sBAEFl6C,MAAO,CACLgrB,OAAQ,CACN9qB,KAAMmC,OACNpC,UAAU,IAGdP,SAAU,CACR,QACE,OAAOnB,KAAKysB,SAGhB1nB,QAAS,CACP,WAAYiV,GACVha,KAAKga,QAAUA,KCtE4P,MCQ7Q,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,G,QCVf,MAAM4hC,GAAc,IAAM,6CAEX,QACb56C,KAAM,4BACN8rB,KAAM,CACJ2C,MAAO,qBACPmI,YAAa,qGAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLwsB,YAAA,OACA3U,eAAgBsW,GAChBvV,sBAAuB8R,GACvB7R,iBAAkB8R,GAClBn3C,kBAAmB,CACjByI,OAAQ,SACRmyC,gBAAiB,sBAIvB16C,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,8BACE,SAAUjB,KAAKytB,WAAaztB,KAAKytB,UAAUtqB,OAASiK,OAAOpN,KAAKytB,UAAUtqB,OAAS,KAGvF4B,QAAS,CACP,YAAaI,GACX,MAAO,CACL22C,MAAO97C,KAAKgmC,kBACZrlC,MAAOX,KAAKwB,WAAWq6C,gBACvB14C,MAAOgC,EAAK42C,YACZtI,MAAOtuC,EAAK62C,OAGhB,kBACE,OAAO,MAET,mBACE,MAAO,CACL,CACEr6C,KAAM,gBACNqvC,eAAgB,CAAE,CAAC,QAAuB,OAAWiL,QAEvD,CACEt7C,MAAOX,KAAKwB,WAAWkI,OACvB/H,KAAM,SACNwB,MAAO,GACPwlC,UAAW,UAIjB,kBACE,MAAO,CAAElc,OAAQzsB,KAAKysB,OAAQ8qB,sBAAuBv3C,KAAKk8C,8BAE5D,iBACE,MAAO,CAAEzvB,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBCjExD,MAAM,GAAqB,IAAM,gHAElB,QACb93C,KAAM,4BACN8rB,KAAM,CACJ2C,MAAO,qBACPmI,YAAa,8DAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLyqB,oCAAA,OACA+B,YAAA,OACA3U,eAAgB,GAChBe,sBAAuB8R,GACvB7R,iBAAkB8R,GAClBn3C,kBAAmB,CACjBk7C,sBAAuB,0BACvBC,OAAQ,UAEVtC,WAAY,IAGhB34C,SAAU,CACR,8BACE,OAAOnB,KAAK85C,WAAa,IAG7B/0C,QAAS,CACP,kBAAmBuQ,GACjB,MAAM+mC,EAAar8C,KAAKysB,OAAO7T,OAAOyjC,YAAc,EAC9CC,EAAchnC,EAAMsM,KAAK,CAAC5b,EAAG6b,IAAMA,EAAEk4B,iBAAmB/zC,EAAE+zC,kBAChE/5C,KAAK85C,WAAa95C,KAAKw4C,cAAc8D,EAAa,oBAClD,MAAMC,EAAmBD,EAAY/xC,OAAO,EAAG8xC,GACzCrkB,EAAS,GACT7yB,EAAO,GACPqiC,EAAU,GAChB,IAAK,MAAMzzB,KAAQwoC,EACjBvkB,EAAOpsB,KAAK5L,KAAKi6C,YAAYlmC,EAAM,eACnC5O,EAAKyG,KAAKmI,EAAKgmC,kBACfvS,EAAQ57B,KAAKmI,EAAK2kC,aAEpB,MAAM8D,EAAmBF,EAAYlwC,MAAMgG,KAAKqqC,IAAIH,EAAY/3C,OAAS83C,EAAY,IACrF,IAAIK,EAAwB,EACxBC,EAA0B,GAC9B,UAAW,MAAM5oC,KAAQyoC,EACvBE,GAAyB3oC,EAAKgmC,iBAC9B4C,EAA0BA,EAAwBxwC,OAAO4H,EAAK2kC,aAShE,OANIgE,EAAwB,IAC1B1kB,EAAOpsB,KAAK5L,KAAKwB,WAAW46C,QAC5Bj3C,EAAKyG,KAAK8wC,GACVlV,EAAQ57B,KAAK+wC,IAGR,CACL3kB,SACA2gB,SAAU,CAAC,IAAKC,GAAgCzzC,SAChDqiC,YAGJ,kBACE,MAAMqR,EAA0BvR,IAC9BtnC,KAAK2zC,kBAAkBrM,IAGzB,OAAOtnC,KAAKk4C,oCAAoCl4C,KAAKysB,OAAQzsB,KAAM,CAAE64C,4BAEvE,mBACE,MAAO,CACL,CACEl4C,MAAOX,KAAKwB,WAAW26C,sBACvBx6C,KAAM,SACNwB,MAAO,EACPwlC,UAAW,gBAIjB,kBACE,MAAO,CAAElc,OAAQzsB,KAAKysB,OAAQinB,WAAY1zC,KAAK85C,WAAYvC,sBAAuBv3C,KAAKk8C,8BAEzF,iBACE,MAAO,CAAEzvB,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBChGpD,GAAS,WAAkB,IAAI/4C,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,qBAAqB,CAACM,MAAM,CAAC,OAASR,EAAI0sB,OAAO,YAAc1sB,EAAI8lC,aAAaX,YAAYnlC,EAAIolC,GAAG,CAAC,CAAC77B,IAAI,kBAAkB87B,GAAG,WAAW,MAAO,CAACnlC,EAAG,MAAM,CAACE,YAAY,uEAAuE,CAACF,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,OAAO,CAACF,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAWo7C,qBAAqB,MAAM38C,EAAG,IAAI,CAACF,EAAIU,GAAGV,EAAIW,GAAGX,EAAI68C,wBAAwB78C,EAAIU,GAAG,UAAUR,EAAG,MAAM,CAACE,YAAY,uBAAuB,CAACF,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAWq7C,QAAQ58C,EAAG,MAAM,CAACE,YAAY,2BAA2BF,EAAG,MAAM,CAACE,YAAY,WAAW,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAWs7C,eAAerX,OAAM,GAAM,CAACn8B,IAAI,QAAQ87B,GAAG,WAAW,MAAO,CAACnlC,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACJ,EAAIc,GAAG,UAAU,KAAK4kC,OAAM,IAAO,MAAK,MAE11B,GAAkB,GCyBP,IACbzkC,KAAM,qCACN0C,WAAY,CAAE00C,qBACd32C,MAAO,CACLgrB,OAAQ,CACN9qB,KAAMmC,OACNpC,UAAU,GAEZmkC,YAAa,CACXlkC,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEX+6C,oBAAqB,CACnBj7C,KAAMC,OACNF,UAAU,IAGd,OACE,MAAO,CACLwyC,wBAAA,OACAjzC,kBAAmB,CACjBypC,cAAe,gBACfqS,kBAAmB,qBACnBF,IAAK,MACLC,KAAM,OACNF,oBAAqB,wBAEvBI,qBAAsB,KAG1BrW,MAAO,CACL,SACE3mC,KAAKsE,UAGTnD,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACEjB,KAAKsE,SAEPS,QAAS,CACP,QACE/E,KAAKg9C,qBAAuBh9C,KAAKk0C,6BCzEqQ,MCQxS,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,qBCdf,MAAM+I,GAAe,IAAM,8CAEZ,QACbj8C,KAAM,8BACN8rB,KAAM,CACJ2C,MAAO,sBACPmI,YAAa,wFAEfmgB,QAASC,EACT,gBACEkF,cAAcl9C,KAAKm9C,mBAErB,UACEn9C,KAAKm9C,iBAAmBC,YAAY,KAAQp9C,KAAKq9C,YAAc,IAAInrC,MAAU,MACzElS,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACL6vB,YAAA,QACAhY,eAAgB2X,GAChB5W,sBAAuB8R,GACvB7R,iBAAkB,GAClB6W,iBAAkB,KAClBE,YAAa,IAAInrC,KACjB0qC,oBAAqB,IACrB37C,kBAAmB,CACjBs8C,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,IAAK,MACLC,KAAM,UAIZz8C,SAAU,CACR,YACE,MAAO,CACL08C,EAAG79C,KAAKwB,WAAW+7C,IACnBO,EAAG99C,KAAKwB,WAAWg8C,IACnBO,EAAG/9C,KAAKwB,WAAWi8C,IACnBO,EAAGh+C,KAAKwB,WAAWk8C,IACnBO,EAAGj+C,KAAKwB,WAAWm8C,MAGvB,gBACE,MAAO,CACLlwB,UAAWztB,KAAKytB,UAChBoY,YAAa7lC,KAAK6lC,YAClBwX,YAAar9C,KAAKq9C,cAGtB,aACE,OAAOr9C,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E8D,QAAS,CACP,YAAaI,GACX,MAAM,OAAEy9B,EAAM,cAAEsb,EAAa,aAAEC,EAAY,oBAAEC,GAAwBp+C,KAAKq+C,eAAel5C,GAGzF,OAFAnF,KAAKs+C,eAAiBlsC,KAAKqqC,OAAOyB,GAClCl+C,KAAK48C,oBAAsBuB,EAAe,GAAMC,EAAsBD,EAAgB,KAAKI,QAAQ,GAAK,IACjG,CACLpqC,GAAInU,KAAKysB,OAAOtY,GAChBhP,KAAMy9B,EACN4b,aAAc16C,OAAO0qB,OAAOxuB,KAAKy+C,WACjCtf,SAAUn/B,KAAKs+C,iBAGnB,eAAgBn5C,GACd,MAAMy9B,EAAS,GACTsb,EAAgB,GACtB,IAAIC,EAAe,EACfC,EAAsB,EAC1B,IAAK,IAAIR,EAAO,EAAGA,EAAO,GAAIA,IAAQ,CACpC,MAAMc,EAAY1+C,KAAK2+C,aAAaf,GACpChb,EAAO8b,GAAa,GACpB,IAAK,MAAME,KAAQ96C,OAAOiJ,KAAK/M,KAAKy+C,WAAY,CAC9C,MAAMI,EAAaC,SAASF,GAC5B,IAAIG,EAAQ55C,EAAKggB,KAAKpR,GACpB+qC,SAAS/qC,EAAKirC,oBAAsBpB,GAAQkB,SAAS/qC,EAAKkrC,wBAA0BJ,GAEjFE,IACHA,EAAQ,CACNG,YAAa,EACbC,cAAe,EACfH,iBAAkBpB,EAClBqB,qBAAsBJ,IAG1B,MAAMO,EAAcp/C,KAAKq/C,eAAeN,GACxCnc,EAAO8b,GAAW1+C,KAAKy+C,UAAUG,IAAS,IAAKG,KAAUK,GACzDlB,EAActyC,KAAKwzC,EAAYE,cAC/BnB,GAA8BY,EAAMG,YACpCd,GAA4CW,EAAMI,eAGtD,MAAO,CAAEvc,SAAQsb,gBAAeC,eAAcC,wBAEhD,eAAgBrqC,GACd,MAAM5O,EAAO,CAAEm6C,aAAc,EAAGC,kBAAmB,GACnD,OAAyB,IAArBxrC,EAAKmrC,cACT/5C,EAAKm6C,cAAgBvrC,EAAKorC,cAAgBprC,EAAKmrC,aAAaM,YAAY,GACxEr6C,EAAKo6C,mBAAyC,IAApBp6C,EAAKm6C,cAAoBf,QAAQ,IAFxBp5C,GAKrC,kBACE,OAAO,MAET,aAAcy4C,GACZ,IAAI6B,EAAW,MACXC,EAAY9B,EAKhB,MAJ2B,OAAvB59C,KAAKs9C,gBACPmC,EAAW7B,EAAO,IAAe,KAATA,EAAc,KAAO,KAC7C8B,EAAY9B,EAAO,IAAM,IAEpB8B,EAAY,IAAMD,GAE3B,mBACE,MAAO,CAAC,CACN99C,KAAM,kBACNwB,MAAO,CAAExB,KAAM,2BACfm9B,QAAS,CAAC,0BAA2B,eAAgB,UACrD6J,UAAW,qBAGf,kBACE,MAAO,CAAElc,OAAQzsB,KAAKysB,OAAQmwB,oBAAqB58C,KAAK48C,sBAE1D,iBACE,MAAO,CAAEnwB,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBCxIpD,GAAS,WAAkB,IAAI/4C,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,qBAAqB,CAACM,MAAM,CAAC,OAASR,EAAI0sB,OAAO,YAAc1sB,EAAI8lC,YAAY,sBAAwB9lC,EAAIw3C,uBAAuBrS,YAAYnlC,EAAIolC,GAAG,CAAC,CAAC77B,IAAI,QAAQ87B,GAAG,WAAW,MAAO,CAACnlC,EAAG,MAAM,CAACF,EAAIc,GAAG,UAAU,KAAK4kC,OAAM,IAAO,MAAK,MAE7S,GAAkB,GCYP,IACbzkC,KAAM,mCACN0C,WAAY,CAAE00C,qBACd32C,MAAO,CACLgrB,OAAQ,CACN9qB,KAAMmC,OACNpC,UAAU,GAEZmkC,YAAa,CACXlkC,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEX01C,sBAAuB,CACrB51C,KAAMG,QACNJ,UAAU,EACVG,SAAS,KC9B2R,MCQtS,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCVf,MAAM,GAAc,IAAM,6CAEX,QACbb,KAAM,4BACN8rB,KAAM,CACJ2C,MAAO,oBACPmI,YAAa,+EAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLwsB,YAAA,OACA3U,eAAgB,GAChBe,sBAAuB8R,GACvB7R,iBAAkBqZ,GAClB1+C,kBAAmB,CACjByI,OAAQ,SACRk2C,wBAAyB,8BAI/Bz+C,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,8BACE,SAAUjB,KAAKytB,WAAaztB,KAAKytB,UAAUtqB,OAASiK,OAAOpN,KAAKytB,UAAUtqB,OAAS,KAGvF4B,QAAS,CACP,YAAaI,GACX,MAAO,CACL22C,MAAO97C,KAAKgmC,kBACZrlC,MAAOX,KAAKwB,WAAWo+C,wBACvBz8C,MAAOgC,EAAK42C,YACZtI,MAAOtuC,EAAK62C,OAGhB,kBACE,OAAO,MAET,kBACE,MAAO,CAAEvvB,OAAQzsB,KAAKysB,OAAQ8qB,sBAAuBv3C,KAAKk8C,8BAE5D,mBACE,MAAO,CACL,CACEv6C,KAAM,gBACNqvC,eAAgB,CAAE,CAAC,QAAuB,OAAWiL,QAEvD,CACEt6C,KAAM,kBACNwB,MAAO,CAAExB,KAAM,2BACfm9B,QAAS,CAAC,0BAA2B,eAAgB,UACrD6J,UAAW,mBAEb,CACEhoC,MAAOX,KAAKwB,WAAWkI,OACvB/H,KAAM,SACNwB,MAAO,GACPwlC,UAAW,UAIjB,iBACE,MAAO,CAAElc,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBC/EpD,GAAS,WAAkB,IAAI/4C,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,0EAA0E,CAACF,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,OAAO,CAACF,EAAIU,GAAGV,EAAIW,GAAGX,EAAIu/C,cAAc,UAAUr/C,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,OAAO,CAACE,YAAY,yBAAyB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGV,KAAKytB,UAAU0xB,eAAe,IAAIp/C,EAAIW,GAAGV,KAAKwB,WAAWq+C,SAAS,MAAM9/C,EAAIW,GAAGV,KAAKytB,UAAUyxB,aAAa,IAAIn/C,EAAIW,GAAGV,KAAK8/C,sBAAsB,YAEpf,GAAkB,GCaP,IACb9+C,KAAM,mCACNS,MAAO,CACLgrB,OAAQ,CACN9qB,KAAMmC,OACNpC,UAAU,GAEZ+rB,UAAW,CACT9rB,KAAMmC,OACNpC,UAAU,IAGd,OACE,MAAO,CACLwyC,wBAAA,OACAjzC,kBAAmB,CACjB8+C,WAAY,aACZF,QAAS,UACTG,cAAe,gBACfC,aAAc,eACdC,UAAW,aAEblD,qBAAsB,KAG1B77C,SAAU,CACR,eACE,GAAInB,KAAKytB,UAAUyxB,YAAc,EAAG,CAClC,MAAMiB,EAAcngD,KAAKytB,UAAU0xB,cAAgBn/C,KAAKytB,UAAUyxB,YAAe,IACjF,OAAIiB,EAAa,IAAM,EACdA,EAAW5B,QAAQ,GAErB4B,EAET,OAAO,GAET,uBACE,MAAiD,MAA1CngD,KAAKytB,UAAUyxB,YAAYjyC,WAAqBjN,KAAKwB,WAAWy+C,aAAejgD,KAAKwB,WAAWw+C,eAExG,aACE,OAAOhgD,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACEjB,KAAKsE,SAEPS,QAAS,CACP,QACE/E,KAAKg9C,qBAAuBh9C,KAAKk0C,6BC/DmQ,MCQtS,I,UAAY,eACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCdA,IACblzC,KAAM,8BACN8rB,KAAM,CACJ2C,MAAO,aACPmI,YAAa,sDAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACL6X,eAAgB8a,GAChB/Z,sBAAuB8R,GACvB7R,iBAAkB8R,GAClBn3C,kBAAmB,KAIvBE,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,8BACE,SAAUjB,KAAKytB,WAAaztB,KAAKytB,UAAU0xB,eAAiB/xC,OAAOpN,KAAKytB,UAAU0xB,eAAiB,KAGvGp6C,QAAS,CACP,YAAaI,GACX,OAAOA,GAET,kBACE,OAAO,MAET,mBACE,MAAO,CACL,CACExD,KAAM,kBACNwB,MAAO,CAAExB,KAAM,cACfm9B,QAAS,CAAC,aAAc,eAAgB,UACxC6J,UAAW,qBAIjB,kBACE,MAAO,CAAElc,OAAQzsB,KAAKysB,OAAQ8qB,sBAAuBv3C,KAAKk8C,8BAE5D,iBACE,MAAO,CAAEzvB,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBC1CxD,MAAMuH,GAAgB,IAAM,+CAEb,QACbr/C,KAAM,uBACN8rB,KAAM,CACJ2C,MAAO,eACPmI,YAAa,6EAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACL6yB,kCACArH,iBAAA,OACAsH,oBAAA,OACAtE,MAAA,OACA3W,eAAgB+a,GAChBha,sBAAuB8R,GACvB7R,iBAAkB8R,GAClBoI,gBAAiB,GACjBC,wBAAA,OACAx/C,kBAAmB,CACjBy/C,aAAc,gBACdC,eAAgB,kBAChBj3C,OAAQ,SACRuyC,MAAO,SAET9V,WAAY,CAAE,eAAgB,OAGlChlC,SAAU,CACR,gBACE,OAAOnB,KAAKi8C,MAAM3C,eAAe,UAAW,CAAEC,MAAO,QAASC,IAAK,aAErE,qBACE,MAAMxvC,EAAQhK,KAAKwgD,gBAAgBxoB,OAAOvgB,UAAU1D,GAAQA,IAAS/T,KAAK4gD,eAC1E,OAAI52C,GAAS,EACJhK,KAAKwgD,gBAAgBK,aAAa72C,GAEpC,GAET,aACE,OAAOhK,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E8D,QAAS,CACP,YAAauQ,GACX,MAAMwrC,EAAqB9gD,KAAKygD,wBAAwBnrC,EAAOtV,KAAKysB,QAAQ,GACtEtnB,EAAO27C,EAAmB90C,IAAI+H,IAC3B,CAAEvH,KAAMuH,EAAKvH,KAAMu0C,WAAYhtC,EAAK0lC,SAG7C,OADAz5C,KAAKwgD,gBAAkBxgD,KAAKugD,oBAAoBp7C,EAAMmQ,EAAM0mC,MACrD,CACL,CACEh7C,KAAMhB,KAAKwB,WAAWk/C,aACtBv7C,KAAMnF,KAAKwgD,gBAAgBK,cAE7B,CACE7/C,KAAMhB,KAAKwB,WAAWm/C,eACtBx7C,KAAMnF,KAAKwgD,gBAAgBQ,eAIjC,kBACE,MAAO,IAAKhhD,KAAKsgD,+BAA+BtgD,KAAKysB,OAAQzsB,KAAKwgD,gBAAgBxoB,WAAYh4B,KAAKihD,mBAErG,mBACE,MAAO,CACL,CACEt/C,KAAM,gBACNgvC,UAAW,CAAC,OAAQ,OAAQ,WAAY,aACxCK,eAAgB,CAAE,CAAC,QAAuB,OAAWkQ,YAEvD,CACEv/C,KAAM,kBACNwB,MAAO,CAAExB,KAAM,cACfm9B,QAAS,CAAC,aAAc,eAAgB,UACxC6J,UAAW,mBAEb,CACEhoC,MAAOX,KAAKwB,WAAWkI,OACvB/H,KAAM,SACNwB,MAAO,GACPwlC,UAAW,UAIjB,iBACE,MAAO,CACLwY,YAAa,CACXC,MAAO,CAAC,CACN1vC,EAAG1R,KAAK4gD,cACRS,gBAAiB,EACjBC,YAAa,qBACb3gD,MAAO,CACL4gD,QAAS,GACTC,YAAa,aACbF,YAAa,UACb90C,KAAMxM,KAAKwB,WAAWy6C,SAI1BwF,OAAQ,CAAC,CACP/vC,EAAG1R,KAAKwgD,gBAAgBxoB,OAAO0pB,IAAI,GACnC/vC,EAAG3R,KAAKysB,OAAO7T,OAAOojC,KACtB2F,OAAQ,CACNC,KAAM,EACNC,OAAQ,UACRC,YAAa,sBACbC,MAAO,SACPC,OAAQ,GAEVC,MAAO,CACLz6C,KAAM,6BAGV,CACEkK,EAAG1R,KAAK4gD,cACRe,OAAQ,CACNC,KAAM,EACNC,OAAQ,UACRC,YAAa,yBACbC,MAAO,SACPC,OAAQ,IAGZ,CACEtwC,EAAG1R,KAAK4gD,cACRjvC,EAAG3R,KAAKkiD,mBACRP,OAAQ,CACNC,KAAM,EACNC,OAAQ,UACRC,YAAa,yBACbC,MAAO,SACPC,OAAQ,QAMlB,kBACE,MAAO,CAAEv1B,OAAQzsB,KAAKysB,SAExB,iBACE,MAAO,CAAEA,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBCvJxD,MAAM,GAAY,IAAM,uGAET,QACb93C,KAAM,6BACN8rB,KAAM,CACJ2C,MAAO,sBACPmI,YAAa,oFAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLwsB,YAAA,OACAwG,wBAAA,OACAzH,2BAAA,OACAmJ,2BAAA,OACA7c,eAAgB,GAChBe,sBAAuB8R,GACvB7R,iBAAkB8R,GAClBn3C,kBAAmB,CACjBmhD,IAAK,mBACLC,OAAQ,kBACR5F,IAAK,mBACL6F,IAAK,sBAIXnhD,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,8BACE,SAAUjB,KAAKytB,WAAaztB,KAAKytB,UAAUuK,QAAUh4B,KAAKytB,UAAUuK,OAAOzzB,OAAS,KAGxFQ,QAAS,CACP,YAAaI,GACX,MAAMq7C,EAAkBxgD,KAAKygD,wBAAwBt7C,EAAMnF,KAAKysB,SAC1D,OAAEuL,EAAM,WAAEuqB,EAAU,WAAEC,EAAU,WAAEC,EAAU,cAAEC,GAAkB1iD,KAAK2iD,YAAYnC,GACjFoC,EAAgB,CACpBC,MAAM,EACNC,QAAS,GACTC,YAAa,IAEf,MAAO,CACL/qB,SACA2gB,SAAU,CAAC,CACTh4C,MAAOX,KAAKwB,WAAW4gD,IACvBj9C,KAAMo9C,EACNjB,YAAa,0BACVsB,GAEL,CACEjiD,MAAOX,KAAKwB,WAAWi7C,IACvBt3C,KAAMs9C,EACNnB,YAAa,2BACVsB,GAEL,CACEjiD,MAAOX,KAAKwB,WAAW8gD,IACvBn9C,KAAMq9C,EACNlB,YAAa,wBACVsB,GAEL,CACEjiD,MAAOX,KAAKwB,WAAW6gD,OACvBl9C,KAAMu9C,EACNpB,YAAa,4BACVsB,MAIT,YAAapC,GACX,MAAMxoB,EAAS,GACTuqB,EAAa,GACbC,EAAa,GACbC,EAAa,GACbC,EAAgB,GACtB,IAAK,MAAM3uC,KAAQysC,EACjBxoB,EAAOpsB,KAAKmI,EAAKvH,MACZuH,EAAKivC,cAMRT,EAAW32C,KAAKmI,EAAKivC,cACrBR,EAAW52C,KAAKmI,EAAKkvC,cACrBR,EAAW72C,KAAKmI,EAAKmvC,cACrBR,EAAc92C,KAAKmI,EAAKovC,mBARxBZ,EAAW32C,KAAK,GAChB42C,EAAW52C,KAAK,GAChB62C,EAAW72C,KAAK,GAChB82C,EAAc92C,KAAK,IAQvB,MAAO,CAAEosB,SAAQuqB,aAAYC,aAAYC,aAAYC,kBAEvD,kBACE,MAAMzc,EAAejmC,KAAKg5C,2BAA2Bh5C,KAAKysB,OAAQ,CAAE22B,QAAQ,IAI5E,OAHAnd,EAAaod,OAAOC,MAAM,GAAGC,MAAMngD,SAAYogD,GAAiBxjD,KAAKmiD,2BAA2BqB,GAChGvd,EAAaod,OAAOC,MAAM,GAAGG,WAAa,CAAEtrB,SAAS,EAAMurB,YAAa,WAAYC,SAAU,GAAIC,QAAS,GAC3G3d,EAAa4d,SAASC,UAAUnjD,MAASwC,GAAUnD,KAAKmiD,2BAA2Bh/C,EAAM4gD,QAClF9d,GAET,mBACE,MAAO,IAET,kBACE,MAAO,CAAExZ,OAAQzsB,KAAKysB,OAAQ8qB,sBAAuBv3C,KAAKk8C,8BAE5D,iBACE,MAAO,CAAEzvB,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBChHxD,MAAM,GAAY,IAAM,uGAET,QACb93C,KAAM,yBACN8rB,KAAM,CACJ2C,MAAO,kBACPmI,YAAa,6DAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLwsB,YAAA,OACAwG,wBAAA,OACAzH,2BAAA,OACAmJ,2BAAA,OACA7c,eAAgB,GAChBe,sBAAuB8R,GACvB7R,iBAAkB8R,GAClB4L,cAAe,EACf/iD,kBAAmB,CACjBy9C,UAAW,IACXuF,aAAc,MACdC,aAAc,SAIpB/iD,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,8BACE,OAAOjB,KAAKgkD,cAAgB,IAGhCj/C,QAAS,CACP,YAAaI,GACXnF,KAAKgkD,cAAgB7+C,EAAKg/C,gBAC1B,MAAM3D,EAAkBxgD,KAAKygD,wBAAwBt7C,EAAMnF,KAAKysB,SAC1D,OAAEuL,EAAM,QAAEosB,GAAYpkD,KAAK2iD,YAAYnC,GACvCoC,EAAgB,CACpBC,MAAM,EACNC,QAAS,GACTC,YAAa,IAEf,MAAO,CACL/qB,SACA2gB,SAAU,CACR,CACEh4C,MAAOX,KAAKwB,WAAW4gD,IACvBj9C,KAAMi/C,EACN9C,YAAa,0BACVsB,MAKX,YAAapC,GACX,MAAMxoB,EAAS,GACTosB,EAAU,GAChB,IAAK,MAAMrwC,KAAQysC,EACjBxoB,EAAOpsB,KAAKmI,EAAKvH,MACbuH,EAAKswC,aAAcD,EAAQx4C,KAAKmI,EAAKswC,cACpCD,EAAQx4C,KAAK,GAEpB,MAAO,CAAEosB,SAAQosB,YAEnB,kBACE,MAAMne,EAAejmC,KAAKg5C,2BAA2Bh5C,KAAKysB,QAI1D,OAHAwZ,EAAaod,OAAOC,MAAM,GAAGC,MAAMngD,SAAYogD,GAAiBxjD,KAAKmiD,2BAA2BqB,GAChGvd,EAAaod,OAAOC,MAAM,GAAGG,WAAa,CAAEtrB,SAAS,EAAMurB,YAAa,WAAYC,SAAU,GAAIC,QAAS,GAC3G3d,EAAa4d,SAASC,UAAUnjD,MAASwC,GAAUnD,KAAKmiD,2BAA2Bh/C,EAAM4gD,QAClF9d,GAET,mBACE,MAAO,IAET,kBACE,MAAMqe,EAAyBtkD,KAAKukD,oBAAoBvkD,KAAKmiD,2BAA2BniD,KAAKgkD,gBAC7F,MAAO,CAAEv3B,OAAQzsB,KAAKysB,OAAQinB,WAAY4Q,EAAwB/M,sBAAuBv3C,KAAKk8C,8BAEhG,oBAAqBsI,GAEnB,MAAMC,EAAYD,EAAaz4C,MAAM,KAC/B24C,EAAQt3C,OAAOq3C,EAAU,IACzBta,EAAU/8B,OAAOq3C,EAAU,IAC3Bna,EAAUl9B,OAAOq3C,EAAU,IACjC,IAAIE,EAAgB,GACpB,OAAID,EAAQ,GAAKva,EAAU,GAAKG,EAAU,GACpCoa,EAAQ,IAAGC,GAAiB,GAAGD,KAAS1kD,KAAKwB,WAAWk9C,eACxDvU,EAAU,IAAGwa,GAAiB,GAAGxa,KAAWnqC,KAAKwB,WAAWyiD,kBAC5D3Z,EAAU,IAAGqa,GAAiB,GAAGra,KAAWtqC,KAAKwB,WAAW0iD,gBACzDS,GACK,GAEhB,iBACE,MAAO,CAAEl4B,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBCnGxD,MAAM,GAAY,IAAM,uGACT,QACb93C,KAAM,qBACN8rB,KAAM,CACJ2C,MAAO,qBACPmI,YAAa,mEAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLwsB,YAAA,OACAwG,wBAAA,OACAzH,2BAAA,OACAmJ,2BAAA,OACA7c,eAAgB,GAChBe,sBAAuB8R,GACvB7R,iBAAkB8R,GAClB0B,WAAY,IAGhB34C,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,oBAE3E,8BACE,OAAOjB,KAAK85C,WAAa,IAG7B/0C,QAAS,CACP,YAAaI,GACX,MAAMq7C,EAAkBxgD,KAAKygD,wBAAwBt7C,EAAMnF,KAAKysB,SAC1D,OAAEuL,EAAM,QAAE4sB,GAAY5kD,KAAK2iD,YAAYnC,GAE7C,OADAxgD,KAAK85C,WAAa95C,KAAKw4C,cAAcrzC,EAAKA,MACnC,CACL6yB,SACA2gB,SAAU,CAAC,CACTh4C,MAAOX,KAAKwB,WAAW4gD,IACvBj9C,KAAMy/C,KACHhL,OAIT,YAAa4G,GACX,MAAMxoB,EAAS,GACT4sB,EAAU,GAChB,IAAK,MAAM7wC,KAAQysC,EACjBxoB,EAAOpsB,KAAKmI,EAAKvH,MACjBo4C,EAAQh5C,KAAKwG,KAAKynC,MAAmB,IAAb9lC,EAAK0lC,OAAe,KAE9C,MAAO,CAAEzhB,SAAQ4sB,YAEnB,kBACE,OAAO5kD,KAAKg5C,2BAA2Bh5C,KAAKysB,SAE9C,mBACE,MAAO,IAET,kBACE,MAAO,CAAEA,OAAQzsB,KAAKysB,OAAQinB,WAAY1zC,KAAK85C,WAAYvC,sBAAuBv3C,KAAKk8C,8BAEzF,iBACE,MAAO,CAAEzvB,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBCpExD,MAAM,GAAqB,IAAM,gHAElB,QACb93C,KAAM,qCACN8rB,KAAM,CACJ2C,MAAO,wBACPmI,YAAa,gEAEfmgB,QAASC,EACT,UACMh4C,KAAKytB,WACPztB,KAAKi4C,kBAAkBj4C,KAAKytB,YAGhC,OACE,MAAO,CACLyqB,oCAAA,OACA5S,eAAgB,GAChBe,sBAAuB8R,GACvB7R,iBAAkB8R,GAClByM,aAAc,IAGlB9/C,QAAS,CACP,YAAauQ,GACXA,EAAQA,EACLsM,KAAK,CAAC5b,EAAG6b,IAAMA,EAAEijC,WAAa9+C,EAAE8+C,YAChCvrC,OAAOxF,GAAQA,EAAK+wC,WAAa,GACjCv6C,OAAO,EAAG,IAEb,MAAMytB,EAAS,GACT7yB,EAAO,GACPqiC,EAAU,GAChBxnC,KAAK6kD,aAAe7kD,KAAKw4C,cAAcljC,EAAO,cAC9C,IAAK,MAAMvB,KAAQuB,EACjB0iB,EAAOpsB,KAAKmI,EAAKvH,MACjBrH,EAAKyG,KAAKmI,EAAK+wC,YACftd,EAAQ57B,KAAKmI,EAAKgxC,8BAEpB,MAAO,CACL/sB,SACA2gB,SAAU,CAAC,IAAKC,GAAgCzzC,SAChDqiC,YAGJ,kBACE,MAAMqR,EAA0BvR,IAC9BtnC,KAAK2zC,kBAAkBrM,IAEzB,OAAOtnC,KAAKk4C,oCACVl4C,KAAKysB,OACLzsB,KACA,CACE64C,4BAIN,mBACE,MAAO,CACL,CACEl3C,KAAM,gBACN+uC,UAAW,CAAC,SAEd,CACE/uC,KAAM,gCACNwB,MAAO,CACLY,UAAW,GACXC,cAAe,IAEjB2kC,UAAW,mCAIjB,kBACE,MAAO,CAAElc,OAAQzsB,KAAKysB,OAAQinB,WAAY1zC,KAAK6kD,eAEjD,iBACE,MAAO,CAAEp4B,OAAQzsB,KAAKysB,OAAQ6b,cAAetoC,KAAK84C,uBC3DxD,MAAMkM,GAAe,IAAM,mGAEdpL,GAA2B,CACtCqL,gBAAiB,0BACjB3D,YAAa,UACb4D,iBAAkB,UAClBnC,YAAa,GAGFnK,GAAiC,CAC5CqM,gBAAiB,wBACjB3D,YAAa,wBACbyB,YAAa,GAGR,SAAShd,GAAkBtZ,GAChC,OAAO,IAAIphB,QAAQ,CAACC,EAASiC,KACtBkf,EAAOtY,IAAI5G,EAAO,IAAIO,MAAM,gCACjC,EAAA9H,EAAMI,IAAI,gBAAgBqmB,EAAOtY,YAAYO,KAAKpJ,KAI/C,SAAS6iB,KACd,MAAO,CACLg3B,mBAAoB,CAClBpjD,UAAWqjD,GACXzjD,KAAM,qBACN0jD,UAAW,kDACXC,YAAY,GAEdC,wBAAyB,CACvBxjD,UAAWyjD,GACX7jD,KAAM,0BACN0jD,UAAW,kDACXC,YAAY,GAEdG,mBAAoB,CAClB1jD,UAAW2jD,GACX/jD,KAAM,qBACN0jD,UAAW,iDACXC,YAAY,GAEdK,oBAAqB,CACnB5jD,UAAW6jD,GACXjkD,KAAM,sBACN0jD,UAAW,gDACXC,YAAY,GAEdO,mBAAoB,CAClB9jD,UAAW+jD,GACXnkD,KAAM,qBACN0jD,UAAW,6CACXC,YAAY,GAEdS,sBAAuB,CACrBhkD,UAAWikD,GACXrkD,KAAM,wBACN0jD,UAAW,gDACXC,YAAY,GAEdW,qBAAsB,CACpBlkD,UAAWmkD,GACXvkD,KAAM,uBACN0jD,UAAW,kDACXC,YAAY,GAEda,2BAA4B,CAC1BpkD,UAAWqkD,GACXzkD,KAAM,6BACN0jD,UAAW,qDACXC,YAAY,GAEde,uBAAwB,CACtBtkD,UAAWukD,GACX3kD,KAAM,yBACN0jD,UAAW,iDACXC,YAAY,GAEdiB,iBAAkB,CAChBxkD,UAAWykD,GACX7kD,KAAM,mBACN0jD,UAAW,kDACXC,YAAY,GAEdmB,yBAA0B,CACxB1kD,UAAW2kD,GACX/kD,KAAM,2BACN0jD,UAAW,mDACXC,YAAY,GAEdqB,oBAAqB,CACnB5kD,UAAW6kD,GACXjlD,KAAM,sBACN0jD,UAAW,+CACXC,YAAY,GAEduB,oBAAqB,CACnB9kD,UAAW+kD,GACXnlD,KAAM,sBACN0jD,UAAW,+CACXC,YAAY,GAEdyB,oBAAqB,CACnBhlD,UAAWilD,GACXrlD,KAAM,sBACN0jD,UAAW,gDACXC,YAAY,GAEdnB,gBAAiB,CACfpiD,UAAWklD,GACXtlD,KAAM,kBACN0jD,UAAW,mDACXC,YAAY,IA+MX,SAAS4B,GAAuB1lD,GACrC,MAAO,CACL2S,GAAI,oBACJnT,KAAMQ,EAAW2lD,kBACjBz7B,QAAS,CAAC,CACRk2B,KAAM,EACN7/C,UAAWijD,KAEboC,QAAQ,EACRC,KAAM,4BAIH,SAAS/G,GAAgC7zB,EAAQuL,GACtD,MAAMsvB,EAAa76B,EAAOzrB,KAAOyrB,EAAOzrB,KAAOyrB,EAAOgD,MAChD83B,EAAUD,EAAWv7C,MAAM,KAAKM,KAAK,IAAMogB,EAAOtY,GACxD,MAAO,CACLqmC,MAAO,CACL74C,KAAM,OACNwS,GAAIozC,EACJC,QAAS,CACP1gC,MAAM,IAGV+6B,OAAQ,CAAC,yBAA0B,yBACnC4F,MAAO,CACLzvB,OAAQ,CACN0vB,UAAW,SAAUxiC,EAAKlb,GACxB,OAAOkb,EAAIq5B,QAAQ,MAIzBoJ,WAAY,CACVC,SAAS,GAEXC,OAAQ,CACNC,MAAO,EACPC,MAAO,CAAC,WAAY,aAEtBC,KAAM,CACJpE,QAAS,CACPqE,MAAO,GACPC,KAAM,KAGVlwB,SACAlwB,QAAS,CACP6J,EAAG,CACD+1C,UAAW,SAAUvkD,GAAO,OAAEglD,EAAM,YAAEC,EAAW,eAAEC,EAAc,EAAEC,IACjE,OAAOl2C,KAAKynC,MAAM12C,S,kCC3Y5B,W,qBCCAnB,EAAOC,QAAU,CAAC,MAAQ,OAAO,QAAU,uBAAuB,QAAU,oBAAoB,QAAU,oBAAoB,QAAU,oBAAoB,OAAS,UAAU,SAAW,sBAAsB,WAAa,Y,kCCD7N,IAAInC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,cAAc,CAACM,MAAM,CAAC,MAAQR,EAAIwoD,qBAAqB,MAAQxoD,EAAIyB,WAAWgnD,mBAAmB,IAAMzoD,EAAIi+B,OAAO,uBAAuB,KAAK,UAAW,EAAM,eAAc,EAAK,mBAAkB,EAAK,SAAWj+B,EAAIM,SAAS,0BAA4BN,EAAImC,2BAA2BK,GAAG,CAAC,MAAQxC,EAAIm+B,mBAAmB,OAAS,SAASz7B,GAAQ,OAAO1C,EAAI2C,MAAM,eAE5a3B,EAAkB,G,YCiBP,GACbC,KAAM,oBACN0C,WAAY,CAAE06B,aAAA,MACd38B,MAAO,CACL0B,MAAO,CACLxB,KAAMwO,MACNzO,UAAU,EACVG,QAAS,IAAe,IAE1BK,0BAA2B,CACzBP,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLZ,kBAAmB,CACjBunD,mBAAoB,uBAEtBD,qBAAsB,GACtBloD,UAAU,IAGdc,SAAU,CACR,SACE,MAAO,+CAET,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACEjB,KAAKuoD,qBAAuBvoD,KAAKmD,OAAS,IAE5C4B,QAAS,CACP,mBAAoB8/B,GAClB7kC,KAAKuoD,qBAAuB1jB,EAC5B7kC,KAAK0C,MAAM,QAAS1C,KAAKuoD,sBACrBvoD,KAAKuoD,qBAAqBhkD,OAAS,GAAGvE,KAAK0F,kBAEjD,iBAEE,OADA1F,KAAKK,UAAYL,KAAKuoD,qBAAqBhkD,QACnCvE,KAAKK,YC9DiR,I,YCOhS0B,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,OAAAgB,E,2CClBf,sQAIA,MAAM0mD,EAAoB,IAAM,qSAC1BC,EAAa,IAAM,kVACnBC,EAAY,IAAM,uUAGlB5hD,EAAU,QACH6hD,EAAgB,gBAEhBC,EAAgB,cAEhBC,EAAc,CAAE9nD,KAAM6nD,EAAerhD,KAAM,wBAAyBzF,UAAW0mD,GAE7E,QACbznD,KAAM,WACN8E,OAAQ,aACRyB,MAAO,CACLC,KAAMT,EACNhF,UAAW4mD,GAEblhD,OAAQ,CACN,CACED,KAASohD,EAAH,WACN7mD,UAAW2mD,IAGfrB,KAAM,mBAGD,MAAM0B,EAAkB,CAC7BC,uBAAwB,GACxBC,QAAQ,EACRlkD,QAAS,CACP,aAAcgP,EAAM/J,GAClB,MAAO,OAASA,GAQlB,iBAAkBA,EAAO5G,EAAU8lD,EAActxC,EAAO,KACtD,MAAMuxC,EAAMJ,EAAgBC,uBACxBG,EAAIn/C,KACNo/C,aAAaD,EAAIn/C,GAAOq/C,gBAChBF,EAAIn/C,IAEd,MAAMs/C,EAAiB,KACjBH,EAAIn/C,WAAgBm/C,EAAIn/C,GACrB5G,EAAS8lD,IAElB,IAAIG,EAAU,KACd,MAAMpvC,EAAU,IAAI5O,QAAQ,CAACC,EAASiC,KACpC87C,EAAU99C,WAAW,KACnB+9C,IAAiB50C,KAAK/G,IACpBrC,EAAQqC,KACPwI,MAAMxB,IACPpH,EAAOoH,MAERiD,KAGL,OADAuxC,EAAIn/C,GAAS,CAAEiQ,UAASovC,UAASC,kBAC1BrvC,GAKT,wBAAyBjQ,GAGvB,GAAIA,KAAS++C,EAAgBC,uBAAwB,CACnD,MAAMO,EAAYR,EAAgBC,uBAAuBh/C,GAEzD,OADAo/C,aAAaG,EAAUF,SAChBE,EAAUD,iBAEnB,OAAOj+C,QAAQC,WAKjB,8BACE,OAAO,IAAID,QAASC,IAClB,MAAM+0B,EAAU,GAChB,IAAK,MAAM/e,KAAKynC,EAAgBC,uBAC9B3oB,EAAQz0B,KAAKm9C,EAAgBhkD,QAAQoV,wBAAwBmH,IAE/DjW,QAAQ0L,IAAIspB,GAAS3rB,KAAK,KACxBpJ,SAIN,4BAA6Bk4C,GAE3B,MAAMkB,EAAQlB,EAAe,KACvBgG,EAAgBp3C,KAAKC,MAAMqyC,GAC3BjnB,EAAI+rB,EAAgB,EAAIA,EAAgB,IAAMA,EAG9Crf,EAAoC,IAAzBua,EAAQ8E,GACnBC,EAAkBr3C,KAAKC,MAAM83B,GAC7Buf,EAAID,EAAkB,EAAIA,EAAkB,IAAMA,EAGlDnf,EAAwC,IAA7BH,EAAUsf,GACrBE,EAAkBv3C,KAAKC,MAAMi4B,GAC7BzO,EAAI8tB,EAAkB,EAAIA,EAAkB,IAAMA,EACxD,OAAOlsB,EAAI,IAAMisB,EAAI,IAAM7tB,KAKpB+tB,EAAQ,CACnB33C,aAAc,EAId,cAAesyB,GAYb,OAXIA,IACFA,EAAOA,EAAK54B,QAAQ,8BAA+B,IACnD44B,EAAOA,EAAK54B,QAAQ,gCAAiC,IACrD44B,EAAOA,EAAK54B,QAAQ,YAAa,IACjC44B,EAAOA,EAAK54B,QAAQ,WAAY,IAChC44B,EAAOA,EAAK54B,QAAQ,SAAU,IAC9B44B,EAAOA,EAAK54B,QAAQ,WAAY,IAChC44B,EAAOA,EAAK54B,QAAQ,UAAW,IAC/B44B,EAAOA,EAAK54B,QAAQ,iBAAkB,IACtC44B,EAAOA,EAAK54B,QAAQ,YAAa,KAE5B44B,GAET,cAAeslB,EAAsB91C,GACnC,IAAIogB,EAAa,KACbnqB,GAAS,EASb,OARI+J,EAAKogB,YAAcpgB,EAAKogB,WAAW5vB,OAAS,GAC9CwP,EAAKogB,WAAWjG,QAAQ,CAAClV,EAAKsI,KACxBtI,EAAIob,gBAAgBjgB,KAAO01C,EAAqB11C,KAClDggB,EAAanb,EACbhP,EAAQsX,KAIP,CAAE6S,aAAYnqB,UAEvB,eAAgB8/C,EAAYC,GAC1B,OAAOA,EAAc5kC,KAAKpR,GAAQA,EAAKpS,OAASmoD,IAElD,sBAAuB/1C,EAAMge,GAI3B,MAAM5sB,EAAO,CACXsQ,WAAY1B,EAAKwC,WACjBtF,KAAM8gB,EACNiC,gBAAiBjgB,EAAKI,GACtBd,KAAMU,EAAK4f,MACX1vB,QAAS8P,EAAKzQ,gBACdsuB,SAAU7d,EAAK6d,UAAY,GAG7B,OADI7d,EAAKygB,kBAAiBrvB,EAAKqvB,gBAAkBzgB,EAAKygB,iBAC/CrvB,GAET,uBAAwB4O,EAAM5O,GAK5B,MAAO,KACL,IAAIsP,EAAS,OACTtG,EAAM,kBAKV,OAJI4F,EAAKwgB,WACP9f,EAAS,MACTtG,GAAO4F,EAAKwgB,SAASpgB,IAEhB,EAAAnO,EAAMyO,GAAQtG,EAAKhJ,GAAMuP,KAAM/G,IAGpC,aAAIsG,IAAIF,EAAM,WAAYpG,EAASxI,MAC5BwI,MAIb,cAKE,OADAi8C,EAAM33C,cAAgB,EACf,OAASC,KAAKC,MAAQ,IAAMy3C,EAAM33C,cAE3C,sBAAuB9O,EAAOw2C,GAC5B,OAAO,IAAOqQ,KAAK7mD,EAAQ,KAAMw2C,OAAOA,KAI/BsQ,EAAe,CAC1B,OAAQtoD,GACN,OAAOsoD,EAAaC,GAAGvoD,EAAM,SAE/B,MAAOA,GACL,OAAOsoD,EAAaC,GAAGvoD,EAAM,QAE/B,YAAaA,GACX,OAAOsoD,EAAaC,GAAGvoD,EAAM,SAE/B,SAAUA,GACR,OAAOsoD,EAAaC,GAAGvoD,EAAM,WAE/B,WAAYA,GACV,OAAOsoD,EAAaC,GAAGvoD,EAAM,aAE/B,WAAYA,GACV,OAAOsoD,EAAaC,GAAGvoD,EAAM,aAE/B,OAAQA,GACN,OAAOsoD,EAAaC,GAAGvoD,EAAM,SAE/B,OAAQA,GACN,OAAOsoD,EAAaC,GAAGvoD,EAAM,SAE/B,SAAUA,GACR,OAAOsoD,EAAaC,GAAGvoD,EAAM,aAAesoD,EAAaC,GAAGvoD,EAAM,WAEpE,SAAUA,GACR,OAAOsoD,EAAaC,GAAGvoD,EAAM,WAE/B,kBAAmBA,GACjB,OAAOsoD,EAAaC,GAAGvoD,EAAM,oBAE/B,kBAAmBA,GACjB,OAAOsoD,EAAaC,GAAGvoD,EAAM,aAE/B,QAASA,GACP,OAAOsoD,EAAaC,GAAGvoD,EAAM,UAE/B,SAAUA,GACR,OAAOsoD,EAAaE,OAAOxoD,MAAWsoD,EAAaG,WAAWzoD,IAASsoD,EAAaI,OAAO1oD,KAE7F,SAAUA,GACR,OAAOsoD,EAAaI,OAAO1oD,MAAWsoD,EAAaG,WAAWzoD,IAASsoD,EAAaE,OAAOxoD,KAE7F,eAAgBA,GACd,OAAIsoD,EAAaK,SAAS3oD,GAAc,aACpCsoD,EAAaM,SAAS5oD,GAAc,QACjC,oBAET,oBAAqBA,GACnB,OAAOsoD,EAAanhB,OAAOnnC,IAASsoD,EAAalhB,SAASpnC,IAASsoD,EAAajhB,WAAWrnC,IACzFsoD,EAAaG,WAAWzoD,IAASsoD,EAAaE,OAAOxoD,IAASsoD,EAAaI,OAAO1oD,IAClFsoD,EAAaO,SAAS7oD,IAASsoD,EAAaQ,kBAAkB9oD,IAASsoD,EAAaS,kBAAkB/oD,IACtGsoD,EAAaU,QAAQhpD,IAASsoD,EAAaW,MAAMjpD,IAASsoD,EAAaY,YAAYlpD,IAEvF,GAAIA,EAAMmpD,GACR,OAAOnpD,IAASmpD,GAElB,kBAAmBnpD,GACjB,OAAO3B,KAAKwqD,SAAS7oD,IAAS3B,KAAK2qD,QAAQhpD,IAE7C,UAAWA,GACT,OAAOsoD,EAAaC,GAAGvoD,EAAM,YAK/B,sBAAuBA,GACrB,MAAO,CAAC,WAAY,oBAAqB,yBAAyB6b,SAAS7b,IAE7E,uBAAwBA,GACtB,MAAO,CAAC,sBAAuB,0BAA0B6b,SAAS7b,IAEpE,WAAYA,GACV,OAAOsoD,EAAac,sBAAsBppD,IAASsoD,EAAae,uBAAuBrpD,M,yCCjR3F,IAAI7B,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,WAAW,CAACmC,IAAIrC,EAAIoU,GAAG/T,MAAML,EAAIkrD,SAAS1qD,MAAM,CAAC,GAAKR,EAAIoU,GAAG,SAAWpU,EAAImrD,SAAS,KAAOnrD,EAAI6hD,KAAK,QAAU7hD,EAAIorD,SAAS5oD,GAAG,CAAC,MAAQ,SAASE,GAAiC,OAAzBA,EAAO0qC,kBAAyBptC,EAAIqrD,0BAA0B5hD,MAAM,KAAMC,cAAc,CAAG1J,EAAIsrD,SAAmFtrD,EAAIa,KAA7EX,EAAG,IAAI,CAACG,MAAML,EAAIsnD,KAAK9mD,MAAM,CAAC,GAAK,4BAA4BR,EAAIoU,MAAkBpU,EAAIY,MAAOV,EAAG,OAAO,CAACM,MAAM,CAAC,GAAK,6BAA6BR,EAAIoU,KAAK,CAACpU,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIY,OAAO,OAAOZ,EAAIa,OAASb,EAAIY,MAAoRZ,EAAIa,KAAjRX,EAAG,YAAY,CAACmC,IAAI,+BAA+BrC,EAAIoU,GAAG5T,MAAM,CAAC,GAAK,+BAA+BR,EAAIoU,GAAG,OAASpU,EAAIoU,GAAG,MAAQpU,EAAIurD,aAAa,UAAYvrD,EAAIwrD,iBAAiB,eAAiBxrD,EAAIyrD,wBAAwB,CAACzrD,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAI0rD,YAAY,OAAgBxrD,EAAG,2BAA2B,CAACM,MAAM,CAAC,GAAK,8BAA8BR,EAAIoU,IAAI5R,GAAG,CAAC,OAASxC,EAAI2rD,YAAYxoD,MAAM,CAACC,MAAOpD,EAA0B,uBAAEqD,SAAS,SAAUC,GAAMtD,EAAI4rD,uBAAuBtoD,GAAKE,WAAW,2BAA2B,CAACxD,EAAIc,GAAG,YAAY,IAAI,IAE7kCE,EAAkB,G,YCFlB,EAAS,WAAkB,IAAIhB,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,UAAU,CAACmC,IAAIrC,EAAIoU,GAAG5T,MAAM,CAAC,GAAKR,EAAIoU,GAAG,UAAUpU,EAAI6rD,OAAO,MAAQ7rD,EAAI8rD,SAAS,oBAAoB9rD,EAAI+rD,gBAAgB,kBAAkB/rD,EAAIgsD,aAAa,uBAAuBhsD,EAAIisD,kBAAkB,cAAc,IAAI9oD,MAAM,CAACC,MAAOpD,EAAe,YAAEqD,SAAS,SAAUC,GAAMtD,EAAIksD,YAAY5oD,GAAKE,WAAW,gBAAgB,CAACtD,EAAG,MAAM,CAACE,YAAY,8DAA8D,CAACF,EAAG,MAAM,CAACE,YAAY,OAAOI,MAAM,CAAC,GAAK,0BAA0B,IAAM,uCAAuC,OAAS,UAAUN,EAAG,MAAM,CAAEF,EAAc,WAAEA,EAAIc,GAAG,UAAU,KAAK,CAAC,GAAK,sBAAsBZ,EAAG,OAAO,CAACM,MAAM,CAAC,GAAK,uCAAuC,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW0qD,gBAAgB,QAAQ,KAAKjsD,EAAG,MAAM,CAACE,YAAY,iCAAiC,CAACF,EAAG,QAAQ,CAACE,YAAY,yBAAyBI,MAAM,CAAC,GAAK,gCAAgC,QAAU,WAAWgC,GAAG,CAAC,MAAQxC,EAAIkkB,SAAS,CAAClkB,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWyiB,QAAQ,OAAOhkB,EAAG,QAAQ,CAACE,YAAY,oBAAoBI,MAAM,CAAC,GAAK,gCAAgC,QAAU,aAAagC,GAAG,CAAC,MAAQxC,EAAI2rD,aAAa,CAAC3rD,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWmZ,QAAQ,QAAQ,MAE5tC,EAAkB,GCgDP,GACb3Z,KAAM,wBACNS,MAAO,CACL0B,MAAO,CACLxB,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEXsS,GAAI,CACFxS,KAAMC,OACNF,UAAU,GAEZ+tB,MAAO,CACL9tB,KAAMC,OACNC,QAAS,GACTH,UAAU,GAEZkqD,OAAQ,CACNjqD,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEXmqD,kBAAmB,CACjBrqD,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEXiqD,gBAAiB,CACfnqD,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEXkqD,aAAc,CACZpqD,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLoqD,aAAa,EACbhrD,kBAAmB,CACjBwuB,MAAO,aACPxL,OAAQ,SACRtJ,OAAQ,SACRuxC,eAAgB,kEAItB/qD,SAAU,CACR,aACE,QAASnB,KAAKmsD,OAAOtqD,SAEvB,WACE,OAAO7B,KAAKyvB,MAAQzvB,KAAKyvB,MAAQzvB,KAAKwB,WAAWiuB,OAEnD,aACE,OAAOzvB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E0lC,MAAO,CACL,cACE3mC,KAAK0C,MAAM,QAAS1C,KAAKisD,cAE3B,QACEjsD,KAAKisD,YAAcjsD,KAAKmD,QAG5B,UACEnD,KAAKisD,YAAcjsD,KAAKmD,OAE1B4B,QAAS,CACP,SACE/E,KAAKisD,aAAc,EACnBjsD,KAAK0C,MAAM,WAEb,aACE1C,KAAKisD,aAAc,EACnBjsD,KAAK0C,MAAM,aChI4P,I,YCOzQX,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,yCC+BA,GACbf,KAAM,kBACN0C,WAAY,CACV0oD,yBAEF3qD,MAAO,CACL0S,GAAI,CACFxS,KAAMC,OACNF,UAAU,GAEZ2lD,KAAM,CACJ1lD,KAAMC,OACNC,QAAS,cACTH,UAAU,GAEZf,MAAO,CACLgB,KAAMC,OACNC,QAAS,GACTH,UAAU,GAEZoG,QAAS,CACPnG,KAAMC,OACNC,QAAS,GACTH,UAAU,GAEZ6pD,iBAAkB,CAChB5pD,KAAMC,OACNC,QAAS,QACTH,UAAU,GAEZwpD,SAAU,CACRvpD,KAAMG,QACND,SAAS,EACTH,UAAU,GAEZkgD,KAAM,CACJjgD,KAAMC,OACNC,QAAS,KACTH,UAAU,GAEZyM,IAAK,CACHxM,KAAMC,OACNC,QAAS,KACTH,UAAU,GAEZ2qD,YAAa,CAEX1qD,KAAMG,QACND,SAAS,EACTH,UAAU,GAEZypD,QAAS,CACPxpD,KAAMC,OACNC,QAAS,YACTH,UAAU,GAEZ4qD,WAAY,CACV3qD,KAAMC,OACNC,QAAS,gBACTH,UAAU,GAEZ8pD,sBAAuB,CACrB7pD,KAAMG,QACND,SAAS,EACTH,UAAU,GAEZ2pD,SAAU,CACR1pD,KAAMG,UAGV,OACE,MAAO,CACLgkC,MAAA,EAAA9/B,EACAslD,aAAA,OACAK,wBAAwB,EACxB1qD,kBAAmB,CACjB6G,QAAS,YAIf3G,SAAU,CACR,WACE,OAAOnB,KAAKssD,YAEd,aACE,OAAOtsD,KAAK8H,QAAU9H,KAAK8H,QAAU9H,KAAKwB,WAAWsG,SAEvD,aACE,OAAO9H,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E8D,QAAS,IACJ,eAAa,CACdwnD,SAAU,yBAEZ,4BACE,GAAIvsD,KAAKqsD,YAGP,OAFArsD,KAAK2rD,wBAAyB,OAC9B3rD,KAAK0C,MAAM,eAGb1C,KAAK0rD,cAEP,aAEE,GADA1rD,KAAK0C,MAAM,UACN1C,KAAKmO,IACV,OAAO,IAAI9C,QAAQ,CAACC,EAASiC,KAC3BvN,KAAK8lC,MAAMnrB,OAAO3a,KAAKmO,KAAKuG,KAAK,KAC/B1U,KAAK0C,MAAM,WACX4I,MACC6K,MAAMxB,IACP3U,KAAKusD,SAAS53C,GACd3U,KAAK0C,MAAM,QAASiS,GACpB3U,KAAK8yC,gBAAgB,CACnBxmC,OAAQ,QACRC,QAAS,CAAEkjB,MAAO,uBAAwBmI,YAAa,6BAEzDrqB,EAAOoH,UCtKsP,ICOnQ,EAAY,eACd,EACA7U,EACAiB,GACA,EACA,KACA,WACA,MAIa,e,2CClBf,IAAIjB,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,cAAc,CAACM,MAAM,CAAC,MAAQR,EAAI++B,QAAQ37B,MAAM,MAAQpD,EAAIysD,aAAa,WAAY,EAAM,IAAMzsD,EAAIi+B,OAAO,YAAcj+B,EAAI++B,QAAQj6B,YAAY,SAAW9E,EAAI++B,QAAQp9B,SAAS,SAAW3B,EAAIM,UAAUkC,GAAG,CAAC,MAAQxC,EAAIm+B,uBAE7Rn9B,EAAkB,G,wBCoBP,GACbC,KAAM,uBACN0C,WAAY,CAAE06B,aAAA,MACd38B,MAAO,CACLq9B,QAAS,CACPn9B,KAAM,OACND,UAAU,GAEZkB,kBAAmB,CACjBjB,KAAMwO,MACNzO,UAAU,EACVG,QAAS,IAAM,IAEjBgB,iBAAkB,CAChBlB,KAAMC,OACNF,UAAU,EACVG,QAAS,SAGb,OACE,MAAO,CACLmB,sBAAuB,GACvB3C,UAAU,EACVY,kBAAmB,CACjBwrD,oBAAqB,oBAI3B,UACEzsD,KAAKgD,sBAAwBhD,KAAK8+B,QAAQ37B,OAAS,IAErDhC,SAAU,CACR,eACE,OAAOnB,KAAK8+B,QAAQn+B,OAASX,KAAKwB,WAAWirD,qBAE/C,oBAGE,OAAOzsD,KAAK6C,mBAAqB,OAC7B,gCAAgC7C,KAAK4C,iCAAiC,SACtE,IAEN,eAGE,OAAO5C,KAAK6C,mBAAqB,OAC7B,qCAAqC,OACrC,IAEN,SACE,MAAO,2CAA2C7C,KAAK0sD,oBAAoB1sD,KAAK2sD,gBAElF,aACE,OAAO3sD,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E8D,QAAS,CACP,mBAAoB8/B,GAClB7kC,KAAKgD,sBAAwB6hC,EAC7B7kC,KAAK0C,MAAM,QAAS1C,KAAKgD,uBACrBhD,KAAKgD,sBAAsBuB,OAAS,GAAGvE,KAAK0F,kBAElD,iBAEE,OADA1F,KAAKK,UAAYL,KAAKgD,sBAAsBuB,QACpCvE,KAAKK,YCtF2Q,I,YCO1R0B,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,OAAAgB,E,2CClBf,W,kCCAA,W,kCCAA,IAAIjC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,cAAc,CAACM,MAAM,CAAC,MAAQR,EAAIoD,OAASpD,EAAI++B,QAAQ37B,MAAM,aAAapD,EAAI++B,QAAQl6B,UAAU,MAAQ7E,EAAIysD,aAAa,YAAczsD,EAAIyB,WAAWorD,gBAAgB,cAAc7sD,EAAI++B,QAAQr6B,WAAW,IAAM1E,EAAIi+B,OAAO,YAAcj+B,EAAI++B,QAAQj6B,YAAY,SAAW9E,EAAI++B,QAAQp9B,SAAS,SAAW3B,EAAIM,SAAS,eAAeN,EAAI++B,QAAQp6B,eAAiB,SAAW,GAAG,cAAc3E,EAAI++B,QAAQp6B,eAAiB,SAAW,GAAG,sBAAsB3E,EAAIg+B,mBAAmB,0BAA4Bh+B,EAAImC,2BAA2BK,GAAG,CAAC,MAAQxC,EAAIm+B,mBAAmB,OAAS,SAASz7B,GAAQ,OAAO1C,EAAI2C,MAAM,eAErqB3B,EAAkB,G,6CCuBP,GACbC,KAAM,mBACN0C,WAAY,CAAE06B,aAAA,MACd38B,MAAO,CACLq9B,QAAS,CACPn9B,KAAM,OACND,UAAU,EACVG,QAAS,IAAM,IAAI,QAErBsB,MAAO,CACLxB,KAAMwO,MACNtO,QAAS,MAEXK,0BAA2B,CACzBP,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLikC,MAAA,EAAA9/B,EACApD,kBAAmB5C,KAAKmD,MACxBlC,kBAAmB,CACjB2rD,gBAAiB,mBACjBC,cAAe,WACfC,QAAS,WAEXzsD,UAAU,IAGdc,SAAU,CACR,eACE,OAAInB,KAAK8+B,QAAQiuB,WAAa/sD,KAAK8+B,QAAQiuB,UAAUvoD,2BAC5CxE,KAAKwB,WAAWqrD,cAElB7sD,KAAK8+B,QAAQn+B,OAASX,KAAKwB,WAAWorD,iBAE/C,SACE,MAAO,oDAET,aACE,OAAO5sD,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACEjB,KAAK4C,kBAAoB5C,KAAKmD,OAASnD,KAAK8+B,QAAQ37B,OAAS,IAE/D4B,QAAS,CACP,mBAAoB8/B,GAClB7kC,KAAK4C,kBAAoBiiC,EACzB7kC,KAAK0C,MAAM,QAAS1C,KAAK4C,mBACrB5C,KAAK4C,kBAAkB2B,OAAS,GAAGvE,KAAK0F,kBAE9C,iBAEE,OADA1F,KAAKK,UAAYL,KAAK4C,oBAAsB5C,KAAK4C,kBAAkB2B,QAC3DvE,KAAKK,UAEf,mBAAoBy+B,GAClB,OAAK9+B,KAAK8+B,QAAQp6B,eACX,CACL,CAAEyf,OAAQnkB,KAAKwB,WAAWsrD,QAASt+B,OAAQ,CAAC,CAAEra,GAAI,KAAMnT,KAAMhB,KAAKwB,WAAWsrD,WAC9E,CAAE3oC,OAAQnkB,KAAKwB,WAAWqrD,cAAer+B,OAAQsQ,IAHVA,KCpF2O,I,YCOtR/8B,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,OAAAgB,E,2CClBf,mzBAGA,MAAMs6B,EAAW,IACX2wB,EAAe,QACfC,EAAwB,QACxBC,EAAgC,CAAC,QAAI94C,EAAW,YAAa,MAE5D,SAAS+4C,IAGd7mC,aAAa8mC,WAAW,gBACxB9mC,aAAa8mC,WAAW,iBACxB9mC,aAAa8mC,WAAW,4BAExBC,IAEAC,IAGK,MAAMC,EAAyB,KAEhC,CAAC,OAAQ,QAAQ/vC,SAASwvC,IAEgB,SAAxCQ,EAAgB,sBAClB,EAAAxnD,EAAMC,KAAKo2B,EAAW,qBACtB8wB,IACAM,EAAgB,mBAAoB,QACpC5iD,OAAOqwB,SAASC,UAIhB,CAAC,QAAS,SAAS3d,SAASwvC,IAC9B1mC,aAAa8mC,WAAW,qBAIfM,EAAe,CAACC,EAAaC,KACpCJ,EAAgB,iBAClBL,IAEF,MAAMU,EAAwB37C,KAAKC,MAAMlF,WACzCwgD,EAAgB,eAAgBE,GAChCF,EAAgB,gBAAiBG,GACjCH,EAAgB,2BAA4BI,IAGjCC,EAAqB,KAGhC,MAAMH,EAAcH,EAAgB,gBAC9BI,EAAeJ,EAAgB,iBAC/BK,EAAwBL,EAAgB,4BAE9C,SAAIG,GAAeC,GAAgBC,GAC7B37C,KAAKC,MAAQ2sC,SAAS+O,IAA0B,MAO3CE,EAAwB,KACnC,MAAMF,EAAwBL,EAAgB,4BAC9C,QAAKK,GAID/O,SAAS+O,GAAyB,MAAsB37C,KAAKC,OAQtD67C,EAAgBC,IAC3BC,IACA,eAAU,cAAeD,IAGdE,EAAgB,IAAM,eAAU,eAEhCD,EAAkB,IAAM,eAAa,eAErCE,EAAe,IAAMZ,EAAgB,cAErCa,EAAeC,IAC1Bb,EAAgB,aAAca,IAGnBC,EAAiB,KAC5BjoC,aAAa8mC,WAAW,eAGboB,EAAW,IAAMhB,EAAgB,SAEjCiB,EAAW9/C,GAAS8+C,EAAgB,QAAS9+C,GAI7C+/C,EAAqB,IAAM,CAAC,OAAQ,QAAQlxC,SAASyvC,GAErD0B,EAAyB,MAClCnB,EAAgB,wBAEPoB,EAA0B,KACrCnB,EAAgB,wBAAwB,GACxCA,EAAgB,mCAAoCv7C,KAAKC,MAAMlF,aAGpDqgD,EAA6B,KACxChnC,aAAa8mC,WAAW,wBACxB9mC,aAAa8mC,WAAW,oCACxB9mC,aAAa8mC,WAAW,eAExBmB,KAMWM,EAAmC,KAC9C,GAAIF,IAA0B,CACW,MAAnCnB,EAAgB,eAClBC,EAAgB,cAAe,KAE/BA,EAAgB,cAAe,KAEjC,MAAMqB,EAAetB,EACnB,oCAEF,GACEt7C,KAAKC,MAAQ2sC,SAASgQ,GAAgB,MACtChQ,SAAS0O,EAAgB,gBAAkB,EAG3C,OADAF,KACO,EAGX,OAAO,GAGIyB,EAAiB,IAAMvB,EAAgB,gBAEvCwB,EAAiBppD,SACrB,EAAAI,EAAMI,IAAIi2B,EAAW,qBAAsB,CAChDS,QAAS,CACPG,cAAe,UAAU8xB,OAE1Br6C,KAAK,EAAGvP,WACTsoD,EAAgB,WAAYx1C,KAAKE,UAAU,CACzCiE,YAAajX,EAAKiX,YAClBzN,MAAOxJ,EAAKwJ,MACZsN,UAAW9W,EAAK8W,UAChB4E,SAAU1b,EAAK0b,YAEVxV,QAAQC,QAAQnG,KACtBgR,MAAMxB,IACP,OAAM9G,IAAI,yBAA0B8G,GACpC2R,aAAa8mC,WAAW,YACjB/hD,QAAQkC,OAAOoH,KAIbs6C,EAAwB,IAAMh3C,KAAKC,MAAMs1C,EAAgB,aAEzDH,EAA2B,IAAM/mC,aAAa8mC,WAAW,YAItE,IAAI8B,GAAe,EACfC,EAAc,GAElB,MAAMC,EAAe,CAACz6C,EAAO0P,EAAQ,QACnC8qC,EAAYjhC,QAAQmhC,IACd16C,EACF06C,EAAK9hD,OAAOoH,GAEZ06C,EAAK/jD,QAAQ+Y,KAGjB8qC,EAAc,IAGHG,EAAwB1pD,MAAOs3B,IAM1C,GAAIgyB,EACF,OAAO,IAAI7jD,QAAQ,CAACC,EAASiC,KAC3B4hD,EAAYvjD,KAAK,CAAEN,UAASiC,aAC3BmH,KAAK2P,IACN6Y,EAAgBJ,QAAQG,cAAgB,UAAU5Y,EAC3C,IAAM6Y,KACZ/mB,MAAM4H,IACP,OAAMlQ,IAAI,+BAAgCkQ,GAC1CovC,IACO9hD,QAAQkC,OAAOwQ,KAI1BmxC,GAAe,EAEf,MAAMtB,EAAeJ,EAAgB,iBACrC,OAAO,IAAIniD,QAAQ,CAACC,EAASiC,KAC3B,EAAAvH,EAAMC,KAAKo2B,EAAW,qBAAsB,CAAEkzB,QAAS3B,IACpDl5C,KAAK,EAAGvP,WACP,MAAM,OAAEqqD,EAAM,QAAED,GAAYpqD,EAC5BuoD,EAAa8B,EAAQD,GACrB,EAAAvpD,EAAM42B,SAASE,QAAQE,OAAOC,cAAgB,UAAU93B,EAAKqqD,OAC7DtyB,EAAgBJ,QAAQG,cAAgB,UAAU93B,EAAKqqD,OACvDJ,EAAa,KAAMjqD,EAAKqqD,QACxBlkD,EAAQ,IAAM4xB,MAEf/mB,MAAO4H,IACNqxC,EAAarxC,EAAK,MAClBxQ,EAAOwQ,KAERwH,QAAQ,KAAQ2pC,GAAe,OAIzB1B,EAAmBlkD,IAC9B,MAAMnG,EAAQmjB,aAAaC,QAAQjd,GACnC,OAAK4jD,EAA8B1vC,SAASra,GAGrC,KAFEA,GAKEssD,EAAwB,CAACnmD,EAAM,MAC1C,IAAIomD,EAAaC,mBAAmB9kD,OAAOqwB,SAASoC,QACpDoyB,EAAaA,EAAW5jD,WAAW,MAAO,KAG1C4jD,EAAaA,EAAW3jD,MAAM,KAAK,GACnC,MAAM6jD,EAAkB,IAAIC,gBAAgBH,GAC5C,OAAOE,EAAgBxpD,IAAIkD,IAGhBwmD,EAAc,KACzB,MAAMC,EAAaN,EAAsB,SACzC,OAAOM,GAAcvC,EAAgB,UAG1BC,EAAkB,CAACnkD,EAAKnG,KAC9B+pD,EAA8B1vC,SAASra,IAC1CmjB,aAAaM,QAAQtd,EAAKnG,K,qBCzP9BnB,EAAOC,QAAU,CAAC,MAAQ,OAAO,QAAU,uBAAuB,QAAU,oBAAoB,QAAU,oBAAoB,QAAU,oBAAoB,OAAS,UAAU,SAAW,sBAAsB,WAAa,Y,kCCD7N,W,kCCAA,W,kCCAA,sYAeO,MAAM+tD,EAAmC,gBACnCC,EAAmC,gBACnCC,EAAoB,iBACpBC,EAAwB,cACxBC,EAAuB,eACvBC,EAAmC,kBACnCC,EAAkC,6BAClCC,EAAuC,kCACvCC,EAAyB,gCACzBC,EAA4B,sBAC5BC,EAAqC,wBACrCC,EAA+B,kBAC/BC,EAA+B,kBAC/BC,EAA6B,WAC7BC,EAAiC,sBACjCC,EAAuB,YACvBC,EAAyB,mBACzBC,EAAmD,8BACnDC,EAAwD,mCACxDC,EAA0C,+BAC1CC,EAAoD,mCACpDC,EAAoC,2BACpCC,EAAiC,mBACjCC,EAAuC,wBACvCC,EAAwB,QACxBC,EAAyB,SAEzBC,EAAmB,EAAG/Z,WAAUC,oBAK3C,MAAMF,EAAqB,GACvBia,EAAa,CAAEha,WAAUC,oBAAkBF,EAAmBka,kBAAmB,GAErF,IAAK,MAAMr4C,KAAUs4C,EAAY,CAAEla,WAAUC,kBAAkB,CAC7D,MAAMtuC,EAAMq1B,EAAU,CAAEgZ,WAAUp+B,WAC5BpW,EAAQunB,EAAY,CAAEitB,WAAUp+B,WAElCjQ,IAAQunD,IACN1tD,EAAMwlB,KAAqB,IAAdxlB,EAAMwlB,OAAW+uB,EAAmBsY,GAAoC7sD,EAAMwlB,MAC3FxlB,EAAM0lB,KAAqB,IAAd1lB,EAAM0lB,OAAW6uB,EAAmBuY,GAAoC9sD,EAAM0lB,MACtFvf,IAAQ,OACI,kBAAVnG,GACTu0C,EAAmB2Y,GAAoCltD,EAAMizC,gBAC7DsB,EAAmBoZ,GAAkC3tD,EAAMkzC,iBACtDqB,EAAmBpuC,GAAOnG,EACxBmG,IAAQ+nD,GAC+B,OAA5CluD,EAAM6B,+BAA+B,KAAa0yC,EAAmB4Y,GAAmCntD,EAAM6B,+BAA+BiI,YACjJyqC,EAAmB6Y,GAAwCptD,EAAM8B,oCACjEyyC,EAAmB8Y,GAA0BrtD,EAAM+B,+BAC1CoE,IAAQ,OACjBouC,EAAmB+Y,GAA6BttD,EAAM,QAAmC8J,WAChF3D,IAAQ,OACjBouC,EAAmBwY,GAAqB/sD,EAC/BmG,IAAQ,OACbxF,OAAOye,QAAQpf,GAAOoB,SACxBmzC,EAAmBoa,sCAAwC3uD,EAAMu8B,UAAYv8B,EAAMu8B,UAAY,EAC/FgY,EAAmBqa,sCAAwC5uD,EAAMw8B,UAAYx8B,EAAMw8B,UAAY,KAExFr2B,IAAQ,QACjBouC,EAAmB4Z,GAAkCnuD,EAAM2G,iBAC3D4tC,EAAmB6Z,GAAwCpuD,EAAMiH,gBACxDd,IAAQ,OACbnG,EAAMw7B,YAAcoyB,EACtBrZ,EAAmBqZ,GAAwB5tD,EAAMg7B,aAAalxB,WACzDyqC,EAAmBsZ,GAA0B7tD,EAAMg7B,aACjD70B,IAAQ,OACjBouC,EAAmByY,GAAyBhtD,EACvCu0C,EAAmBpuC,GAAOnG,EAAM8J,WAGzC,OAAOyqC,GAGIia,EAAe,EAAGha,WAAUC,mBACnCD,IAAa6Z,EAA8B5Z,EAAcrzC,OACjDT,OAAOiJ,KAAK6qC,GAAerzC,OAG5BstD,EAAc,EAAGla,WAAUC,mBAClCD,IAAa6Z,EAA8B5Z,EACnC9zC,OAAOye,QAAQq1B,GAGhBjZ,EAAY,EAAGgZ,WAAUp+B,YAChCo+B,IAAa6Z,EAA8Bj4C,EAAOy4C,YAC1Cz4C,EAAO,GAGRmR,EAAc,EAAGitB,WAAUp+B,YAClCo+B,IAAa6Z,EAA8Bj4C,EAAOpW,MAC1CoW,EAAO,GAGR04C,EAA2B,EAAGlb,kBAAiBW,yBAC1DA,EAAmBwa,iBAAmBxa,EAAmBka,kBAAmB,EAExE7a,EAAgBp1C,OAAS,OAC3B+1C,EAAmB,SAAuC,EACjDX,EAAgBp1C,OAAS,OAClC+1C,EAAmB,SAA0B,EACpCX,EAAgBp1C,OAAS,QACG,OAAjCo1C,EAAgBhzC,UAAU,KAAa2zC,EAAmBuZ,GAAoDla,EAAgBhzC,UAAUkJ,YAC5IyqC,EAAmBwZ,GAAyDna,EAAgB/yC,cAC5F0zC,EAAmByZ,GAA2Cpa,EAAgB9yC,SACrE8yC,EAAgBp1C,OAAS,SAClC+1C,EAAmB0Z,GAA4F,IAAvChkD,OAAO2pC,EAAgBlN,eAG1F6N,I,kCC7HT,W,kCCAA,oEAAO,MAAMya,EAAuB,wBAEvBC,EAA4B,iB,mECDzCpwD,EAAOC,QAAU,CAAC,MAAQ,OAAO,QAAU,uBAAuB,QAAU,oBAAoB,QAAU,oBAAoB,QAAU,oBAAoB,OAAS,UAAU,SAAW,sBAAsB,WAAa,Y,yDCD7N,kCAAO,MAAMqpD,EAAe,CAC1BxkC,KAAM,IACNurC,KAAM,K,qBCDRrwD,EAAOC,QAAU,CAAC,MAAQ,OAAO,QAAU,uBAAuB,QAAU,oBAAoB,QAAU,oBAAoB,QAAU,oBAAoB,OAAS,UAAU,SAAW,sBAAsB,WAAa,Y,kCCD7N,0LAEA,MAAMqwD,EAAe,IAAM,6IAEdvrD,EAAU,aAER,QACb/F,KAAM,YACN8E,OAAQ,OAASiB,EACjBU,OAAQ,CACN,CACED,KAAST,EAAH,UACNhF,UAAWuwD,KAKV,MAAMhV,EAAc,IAClB,OAAMj8C,QAAQ,aAAawf,SAGvB0xC,EAAuB,CAClCC,KAAOnZ,IACL,MAAMva,EAAU,CAAE2zB,QAAS,OAAQpY,KAAM,UAAWd,MAAO,OAAQC,IAAK,WACxE,IAAI34B,EAAWy8B,IAEf,MADiB,OAAbz8B,IAAmBA,EAAW,SAC3Bw4B,EAAKqZ,mBAAmB7xC,EAAUie,IAE3C6zB,MAAQtZ,IACN,IAAIuZ,EAAQvZ,EACRwZ,EAAM,IAAI3gD,KAAKmnC,GACnBwZ,EAAIC,QAAQzZ,EAAK0Z,UAAY,GAC7B,MAAMj0B,EAAU,CAAEub,KAAM,UAAWd,MAAO,QAASC,IAAK,WACxD,IAAIwZ,EAAY1V,IAIhB,MAHkB,OAAd0V,IAAoBA,EAAY,SACpCJ,EAAQA,EAAMF,mBAAmBM,EAAWl0B,GAC5C+zB,EAAMA,EAAIH,mBAAmBM,EAAWl0B,GACjC8zB,EAAQ,MAAQC,GAEzBI,OAAS5Z,IACP,MAAMva,EAAU,CAAEub,KAAM,UAAWd,MAAO,QAC1C,IAAIyZ,EAAY1V,IAEhB,MADkB,OAAd0V,IAAoBA,EAAY,SAC7B3Z,EAAKqZ,mBAAmBM,EAAWl0B,KAIjCo0B,EAAkBnxD,GACtB,OAAMV,QAAQ,qBAAqBU,EAAUf,KAAMe,EAAUd,mBAGzDkyD,EAAsB,CACjCnyD,KAAM,iBACNC,kBAAmB,CACjB0sB,OAAQ,UACRylC,iBAAkB,iBAEpB,sBAAuB3jC,GAErB,MAAM4jC,EAAmB5jC,EAAMhjB,MAAM,WAC/B6mD,EAAqBD,EAAmB5jC,EAAMrjB,MAAM,EAAGinD,EAAiBrpD,OAAOupD,OAAS9jC,EAC9F,MAAO,CAAC6jC,EAAoBD,IAE9B,8BAA+BG,EAAuBC,GACpD,MAAOC,EAA+BC,GAA0BR,EAAoBS,sBAAsBH,GAE1G,OAAID,IAA0BE,EACrBC,EAAyBvmD,OAAOumD,EAAuB,IAAM,EAE/DvmD,OAAOuW,mBAEhB,qBAAsBkwC,EAAYpkC,EAAQ,IACxC,MAAMqkC,EAAWrkC,GAASyjC,EAAeC,GAAqBC,kBACvDI,GAAyBL,EAAoBS,sBAAsBE,GACpEC,EAAgB,IAAItlD,OAAO+kD,EAAuB,KACxD,IAAIQ,EAAsB5mD,OAAOuW,kBAEjC,IAAK,MAAM1T,KAAa4jD,EACtB,GAAIE,EAAcrlD,KAAKuB,EAAUjP,MAAO,CACtC,MAAMizD,EAAed,EAAoBe,8BAA8BV,EAAuBvjD,EAAUjP,MACpGizD,EAAeD,IACjBA,EAAsBC,GAK5B,OAAID,EAAsB,EAAUF,EAC7B,GAAGN,KAAyBQ,EAAsB,O,kCCvF7D,IAAIl0D,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,MAAM,CAAC,iCAAkC,CAAE,mBAAqBL,EAAImC,6BAA8B,CAACjC,EAAG,8BAA8B,CAACM,MAAM,CAAC,MAAQR,EAAIY,MAAM,YAAY,2BAA2B,SAAWZ,EAAI2B,SAAS,SAAW3B,EAAIM,WAAW,CAACJ,EAAG,kBAAkB,CAACM,MAAM,CAAC,GAAK,2BAA2B,QAAUR,EAAI++B,QAAQ,eAAc,EAAM,SAAW/+B,EAAI8E,YAAY,YAAc9E,EAAIo0D,YAAcp0D,EAAIo0D,YAAcp0D,EAAIY,MAAM,kBAAkBZ,EAAIq0D,eAAe,gBAAgBr0D,EAAI8E,YAAY,QAAU9E,EAAIitC,UAAU,mBAAmBjtC,EAAI8E,YAAY,mBAAmB9E,EAAI8E,YAAY,mBAAkB,EAAM,eAAekP,GAAQA,EAAK/S,KAAK,WAAWjB,EAAIs0D,kBAAkB,eAAet0D,EAAIu0D,YAAY,cAAcv0D,EAAIw0D,WAAW,gBAAe,GAAOhyD,GAAG,CAAC,gBAAgBirC,GAAYztC,EAAIu9B,OAAOkQ,EAAYztC,EAAIq0D,gBAAgB,MAAQr0D,EAAIy0D,qBAAqBtvB,YAAYnlC,EAAIolC,GAAG,CAAC,CAAC77B,IAAI,MAAM87B,GAAG,UAAS,OAAE3G,EAAM,OAAEyO,IAAU,MAAO,CAACjtC,EAAG,OAAO,CAACE,YAAY,mDAAmD,CAACF,EAAG,OAAO,CAACE,YAAY,SAAS,CAACF,EAAG,OAAO,CAACE,YAAY,iBAAiB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAG+9B,EAAOz9B,MAAM,SAASf,EAAG,OAAO,CAACE,YAAY,iBAAiBoC,GAAG,CAAC,MAAQ,SAASE,GAAiC,OAAzBA,EAAO0qC,kBAAyBD,EAAOzO,MAAW,CAACx+B,EAAG,IAAI,CAACE,YAAY,iCAAiC+C,MAAM,CAACC,MAAOpD,EAAkB,eAAEqD,SAAS,SAAUC,GAAMtD,EAAI00D,eAAepxD,GAAKE,WAAW,mBAAmB,CAACtD,EAAG,OAAO,CAACM,MAAM,CAAC,KAAO,aAAa8sC,KAAK,aAAa,CAACttC,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW8rC,aAAa,UAAU,GAAIvtC,EAAc,WAAEE,EAAG,MAAM,CAACE,YAAY,qBAAqBoC,GAAG,CAAC,MAAQ,SAASE,GAAgC,OAAxBA,EAAOgB,iBAAwB1D,EAAI2C,MAAM,aAAa,CAAG3C,EAAImC,0BAAuEjC,EAAG,MAAM,CAACM,MAAM,CAAC,MAAQ,IAAI,OAAS,IAAI,QAAU,UAAU,KAAO,OAAO,MAAQ,6BAA6B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,GAAK,IAAI,KAAO,SAAS,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,kHAAkHN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,6GAA6G,KAAO,OAAO,eAAe,QAAQN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,+sCAA+sC,KAAO,UAAU,eAAe,MAAM,KAAO,eAAx1DN,EAAG,IAAI,CAACE,YAAY,0BAAq1DJ,EAAIa,MAAM,IAErnHG,EAAkB,G,sDCmEP,GACbC,KAAM,aACN0C,WAAY,CAAEumC,eAAA,IAAgB9/B,2BAAA,MAC9B1I,MAAO,CACL0B,MAAO,CACLxB,KAAMwO,MACNzO,UAAU,EACVG,QAAS,IACA,IAGX4C,WAAY,CACV9C,KAAMG,QACND,SAAS,EACTH,UAAU,GAEZyyD,YAAa,CACXxyD,KAAMC,OACNF,UAAU,EACVG,QAAS,MAEXlB,MAAO,CACLgB,KAAMC,OACNF,UAAU,GAEZkD,UAAW,CACTjD,KAAMG,QACND,SAAS,GAEXsM,IAAK,CACHxM,KAAMC,OACNF,UAAU,GAEZmD,YAAa,CACXlD,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEXwyD,kBAAmB,CACjB1yD,KAAMC,OACNF,UAAU,EACVG,QAAS,MAEXH,SAAU,CACRC,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEXuyD,eAAgB,CACdzyD,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEXxB,SAAU,CACRsB,KAAMG,QACNJ,UAAU,EACVG,SAAS,GAEXk8B,mBAAoB,CAClBp8B,KAAM+yD,SACNhzD,UAAU,EACVG,QAAUi9B,GAAYA,GAExBw1B,YAAa,CACX3yD,KAAMC,OACNF,UAAU,EACVG,QAAS,IAEX0yD,WAAY,CACV5yD,KAAMC,OACNF,UAAU,EACVG,QAAS,IAEXK,0BAA2B,CACzBP,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLikC,MAAA,EAAA9/B,EACAgnC,WAAW,EACXlO,QAAS,GACT21B,eAAgB,GAChBxzD,kBAAmB,CACjBqsC,YAAa,mBAInBnsC,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E0lC,MAAO,CACL,MACE3mC,KAAKsE,UAGT,UACEtE,KAAKsE,SAEPS,QAAS,CACP,QACE,OAAO/E,KAAKs9B,SAAS5oB,KAAK,KACxB1U,KAAK20D,uBAGT,oBACE,MAAMC,EAAc50D,KAAK6E,YAAc,SAAW,OAIlD,GAAI7E,KAAKmD,MAAO,CACd,IAAI0xD,EAAkB70D,KAAK8+B,QAEvB9+B,KAAK8+B,QAAQxqB,KAAKmqB,GAAUA,EAAOjQ,UAAWqmC,EAAkB70D,KAAK8+B,QAAQmP,QAAQxP,GAAUA,EAAOjQ,SAC1GxuB,KAAKy0D,eAAiBI,EAAgBD,GACpCn2B,GAAUz+B,KAAKmD,MAAMgG,QAAQs1B,EAAOz+B,KAAKq0D,qBAAuB,GAIhEr0D,KAAK8+B,QAAQv6B,OAAS,GACxBvE,KAAKw0D,uBAGT,OAAQhnB,EAAYsnB,GAAgB,GAClC,GAAIA,EAAe,OACnB90D,KAAKgtC,WAAY,EACjB,IAAI+nB,EAAa,GAIjB,OAHIvnB,IACFunB,EAAa,oBAAoBvnB,GAE5BxtC,KAAK8lC,MAAM1/B,IAAIpG,KAAKg+B,OAAO+2B,IAAargD,KAAK/G,IAClD3N,KAAK8+B,QAAU9+B,KAAK+9B,mBAClBpwB,EAASxI,MAAQwI,EAASxI,KAAKof,QAC3B5W,EAASxI,KAAKof,QACd5W,EAASxI,MAEfnF,KAAKgtC,WAAY,KAGrB,OAAQ+nB,GACN,MAAO,GAAG/0D,KAAKmO,MAAM4mD,KAEvB,sBACE,IAAI5vD,EAAO,GAKiB,OAAxBnF,KAAKy0D,qBAAmDrgD,IAAxBpU,KAAKy0D,iBACvCtvD,EAAQnF,KAAK6E,YAAsC7E,KAAKy0D,eAA7B,CAACz0D,KAAKy0D,iBAEnCz0D,KAAK0C,MAAM,QAAS1C,KAAKg1D,oBAAoB7vD,KAE/C,oBAAqBA,GACnB,OAAOA,EAAK6G,IAAI+H,GAAQA,EAAK/T,KAAKq0D,qBAEpC,iBAAkBlxD,GAChBnD,KAAKy0D,eAAiBtxD,KCtOwP,I,wBCQhRpB,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,OAAAgB,E,kECnBf,W,yDCAA,W,yDCAA,IAAIjC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,MAAM,CAAC,iCAAkC,CAAE,mBAAqBL,EAAImC,6BAA8B,CAACjC,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,QAAQ,CAACE,YAAY,oBAAoBI,MAAM,CAAC,GAAK,sCAAsC,IAAM,kCAAkC,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWyzD,iBAAiB,OAAOh1D,EAAG,8BAA8B,CAACM,MAAM,CAAC,MAAQR,EAAIyB,WAAWyzD,gBAAgB,YAAY,gCAAgC,SAAWl1D,EAAIm1D,eAAe,CAACj1D,EAAG,kBAAkB,CAACM,MAAM,CAAC,GAAK,gCAAgC,QAAUR,EAAIo1D,iBAAiB,eAAc,EAAM,YAAcp1D,EAAIyB,WAAWyzD,gBAAgB,mBAAkB,EAAM,eAAc,EAAM,WAAW,QAAQ,MAAQ,SAAS1yD,GAAG,CAAC,MAAQxC,EAAIq1D,yBAAyBlyD,MAAM,CAACC,MAAOpD,EAAqB,kBAAEqD,SAAS,SAAUC,GAAMtD,EAAIs1D,kBAAkBhyD,GAAKE,WAAW,sBAAsB,CAACtD,EAAG,OAAO,CAACM,MAAM,CAAC,KAAO,YAAY8sC,KAAK,YAAY,CAACttC,EAAIU,GAAGV,EAAIW,GAAGX,EAAIyB,WAAW8zD,uBAAuB,GAAIv1D,EAAIw1D,SAASx1D,EAAIs1D,mBAAoBp1D,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,4BAA4BC,MAAM,CAAE,cAAeL,EAAIy1D,sBAAuB,CAACv1D,EAAG,QAAQ,CAACE,YAAY,eAAe,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWi0D,YAAY,OAAOx1D,EAAG,eAAe,CAACM,MAAM,CAAC,YAAcR,EAAIyB,WAAWk0D,gBAAgBxyD,MAAM,CAACC,MAAOpD,EAAa,UAAEqD,SAAS,SAAUC,GAAMtD,EAAI41D,UAAUtyD,GAAKE,WAAW,gBAAgB,GAAGtD,EAAG,MAAM,CAACE,YAAY,4BAA4BC,MAAM,CAAE,cAAeL,EAAIy1D,sBAAuB,CAACv1D,EAAG,QAAQ,CAACE,YAAY,eAAe,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWo0D,UAAU,OAAO31D,EAAG,eAAe,CAACM,MAAM,CAAC,YAAcR,EAAIyB,WAAWk0D,gBAAgBxyD,MAAM,CAACC,MAAOpD,EAAW,QAAEqD,SAAS,SAAUC,GAAMtD,EAAI81D,QAAQxyD,GAAKE,WAAW,cAAc,KAAMxD,EAAuB,oBAAEE,EAAG,IAAI,CAACE,YAAY,qBAAqB,CAACJ,EAAIU,GAAGV,EAAIW,GAAGX,EAAIy1D,wBAAwBz1D,EAAIa,OAAOb,EAAIa,MAAM,GAAGX,EAAG,MAAM,CAACE,YAAY,qBAAqBC,MAAM,CAAE01D,QAAS/1D,EAAI++B,QAAQr6B,YAAalC,GAAG,CAAC,MAAQ,SAASE,GAAgC,OAAxBA,EAAOgB,iBAAwB1D,EAAI2C,MAAM,aAAa,CAAG3C,EAAImC,0BAAuEjC,EAAG,MAAM,CAACM,MAAM,CAAC,MAAQ,IAAI,OAAS,IAAI,QAAU,UAAU,KAAO,OAAO,MAAQ,6BAA6B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,GAAK,IAAI,KAAO,SAAS,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,kHAAkHN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,6GAA6G,KAAO,OAAO,eAAe,QAAQN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,+sCAA+sC,KAAO,UAAU,eAAe,MAAM,KAAO,eAAx1DN,EAAG,IAAI,CAACE,YAAY,6BAE/sEY,EAAkB,G,kECiEP,GACbC,KAAM,kBACN0C,WAAY,CAAEumC,eAAA,IAAgB9/B,2BAAA,MAC9B1I,MAAO,CACL0B,MAAO,CACLxB,KAAM,CAACC,OAAQkC,QACfpC,UAAU,EACVG,QAAS,MAEXi9B,QAAS,CACPn9B,KAAM,OACND,UAAU,EACVG,QAAS,IAAM,IAAI,QAErBK,0BAA2B,CACzBP,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGb,OACE,MAAO,CACLikC,MAAA,EAAA9/B,EACAkuC,wBAAA,OACAjzC,kBAAmB,CACjBg0D,gBAAiB,aACjBQ,WAAY,QACZG,SAAU,MACVF,eAAgB,mBAChBJ,gBAAiB,+DACjBh2B,mBAAoB,uCACpBC,oBAAqB,+CAEvB81B,kBAAmB,GACnBF,iBAAkB,GAClBQ,UAAW,KACXE,QAAS,KACTX,cAAc,EACdM,oBAAqB,OAGzBr0D,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACEjB,KAAKsE,SAEPqiC,MAAO,CACL,UAAW8J,GACTzwC,KAAKo1D,2BAEP,QAAS3kB,GACPzwC,KAAKo1D,4BAGTrwD,QAAS,CACP,QACE/E,KAAKm1D,iBAAmB,GACxB,IAAK,MAAO7rD,EAAKnG,KAAUW,OAAOye,QAAQviB,KAAKk0C,2BAC7Cl0C,KAAKm1D,iBAAiBvpD,KAAK,CAAEjL,MAAOwC,EAAOA,MAAOmG,IAEhDtJ,KAAK+1D,SAAS/1D,KAAKmD,QACrBnD,KAAK21D,UAAY31D,KAAKmD,MAAMizC,gBAC5Bp2C,KAAK61D,QAAU71D,KAAKmD,MAAMkzC,gBAC1Br2C,KAAKi1D,gBAAgB,WAErBj1D,KAAKi1D,gBAAgBj1D,KAAKmD,OAEvBnD,KAAKq1D,oBACRr1D,KAAKi1D,gBAAgB,aACrBj1D,KAAKo1D,4BAGT,gBAAiBY,GACfh2D,KAAKq1D,kBAAoBr1D,KAAKm1D,iBAAiBhwC,KAAKpR,GAAQA,EAAK5Q,QAAU6yD,IAE7E,SAAUC,GACR,MAA+B,kBAAjBA,GAA8C,OAAjBA,GAE7C,SAAU/V,GACR,MAAqB,WAAdA,GAA8C,WAApBA,EAAU/8C,OAE7C,0BACE,IAAI+yD,EAAWl2D,KAAKq1D,kBAAkBlyD,MAClCnD,KAAKu1D,SAASv1D,KAAKq1D,qBACrBa,EAAW,GACPl2D,KAAK21D,YAAWO,EAAS9f,gBAAkBp2C,KAAK21D,WAChD31D,KAAK61D,UAASK,EAAS7f,gBAAkBr2C,KAAK61D,UAC9C71D,KAAK21D,WAAa31D,KAAK61D,UAAS71D,KAAK0F,kBAE3C1F,KAAK0C,MAAM,QAASwzD,IAEtB,iBAGE,GAFAl2D,KAAKw1D,oBAAsB,KAC3Bx1D,KAAKk1D,cAAe,EACfl1D,KAAKu1D,SAASv1D,KAAKq1D,oBAAuBr1D,KAAKq1D,kBAAkBlyD,OAE/D,GAAInD,KAAKu1D,SAASv1D,KAAKq1D,mBAC5B,GAAKr1D,KAAK21D,WAAc31D,KAAK61D,SAEtB,GAAI71D,KAAK21D,WAAa31D,KAAK61D,QAAS,CACzC,MAAMF,EAAY,IAAIzjD,KAAKlS,KAAK21D,WAC1BE,EAAU,IAAI3jD,KAAKlS,KAAK61D,SAC1BF,EAAYE,EAAU,IAAG71D,KAAKw1D,oBAAsBx1D,KAAKwB,WAAW89B,0BAJxEt/B,KAAKw1D,oBAAsBx1D,KAAKwB,WAAW+9B,yBAH7Cv/B,KAAKk1D,cAAe,EAUtB,OAAQl1D,KAAKk1D,eAAiBl1D,KAAKw1D,uBC/KgP,I,wBCQrRzzD,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,OAAAgB,E,2CCnBf,65CAKO,MAAMo0D,EAAsB,WACtBC,EAAsB,qBACtBC,EAAwB,yBACxBC,EAAyB,uBACzBC,EAAkB,OAClBC,EAAwB,aACxBC,EAA+B,oBAC/BC,EAAuB,YACvBC,EAAkB,OAClBC,EAAsC,2BACtCC,EAAkC,iBAClCC,EAAoC,0DAEpCC,EAA6C,sCAC7CC,EAA4C,gCAC5CC,EAAsC,0BACtCC,EAAyB,aACzBC,EAAoB,SACpBC,EAA2B,eAC3BC,EAAwC,4BACxCC,EAA0B,cAC1BC,EAA8B,iBAC9BC,EAA6B,kBAC7BC,EAA6B,kBAC7BC,EAAgC,iCAEhCzb,EAAQ,IAAI/pC,KAElB,SAASylD,EAAoBxyD,EAAMmE,EAAM,QAI9C,OAAOnE,EAAKyc,KAAK,CAAC5b,EAAG6b,MACd7b,EAAEsD,IACAtD,EAAEsD,GAAKwY,cAAcD,EAAEvY,QAAM8K,EAAW,CAC7CwjD,SAAS,EACTC,YAAa,UAKZ,SAASC,EAAWC,EAAYC,EAAI,oBACzC,OAAOD,EAAWpe,OAAOqe,GAGpB,SAASC,EAAiBtC,EAAWE,EAAU,OACpD,OAAOiC,EAAUnC,GAAa,IAAMmC,EAAUjC,GAGzC,SAAS1T,EAA4BqB,GAE1C,MAAMkB,EAAQlB,EAAe,KACvBgG,EAAgBp3C,KAAKC,MAAMqyC,GAC3BjnB,EAAI+rB,EAAgB,EAAIA,EAAgB,IAAMA,EAG9Crf,EAAoC,IAAzBua,EAAQ8E,GACnBC,EAAkBr3C,KAAKC,MAAM83B,GAC7Buf,EAAID,EAAkB,EAAIA,EAAkB,IAAMA,EAGlDnf,EAAwC,IAA7BH,EAAUsf,GACrBE,EAAkBv3C,KAAKC,MAAMi4B,GAC7BzO,EAAI8tB,EAAkB,EAAIA,EAAkB,IAAMA,EACxD,OAAOlsB,EAAI,IAAMisB,EAAI,IAAM7tB,EAGtB,SAASq8B,IACd,MAAO,CACLtF,MAAO,MAASzZ,QAAQ,SAASgf,cACjCtF,IAAK,MAASzZ,MAAM,SAAS+e,eAI1B,SAASC,IACd,MAAMC,EAAS,CACbC,GAAI,SAEN,OAAOD,EAAO,mBAAkB,UAG3B,SAASE,EAAmBrf,EAAW5jC,GAC5C,OAAO4jC,EAAUltC,IAAIqtC,IACnB,IAAIzW,EAAS,CAAEp2B,KAAM6sC,EAAKC,eAAe8e,IAAa,CAAE7e,MAAO,QAASC,IAAK,aAC7E,MAAMuF,EAAQzpC,EAAM6P,KAAKpR,GAAQA,EAAK2lC,mBAAqB,IAAOL,GAAMM,OAAO,eAG/E,OAFW/W,EAAPmc,EAAgB,IAAKnc,KAAWmc,GACtB,IAAKnc,EAAQ6W,MAAO,GAC3B7W,IAIJ,SAAS41B,EAAoBtf,EAAW5jC,GAC7C,OAAO4jC,EAAUltC,IAAIqtC,IACnB,IAAIzW,EAAS,CAAEp2B,MAAyB,OAAlB,iBAAyB,QAAU,UAAY,IAAO6sC,GAAMuF,OAAS,IAAM,IAAOvF,GAAMgB,QAC9G,MAAM0E,EAAQzpC,EAAM6P,KAAKpR,GACvBA,EAAK0kD,mBAAqB,IAAOpf,GAAMuF,QAAU7qC,EAAKwmC,mBAAqB,IAAOlB,GAAMgB,QAI1F,OAFWzX,EAAPmc,EAAgB,IAAKnc,KAAWmc,GACtB,IAAKnc,EAAQ6W,MAAO,GAC3B7W,IAIJ,SAAS81B,EAAqBxf,EAAW5jC,GAC9C,OAAO4jC,EAAUltC,IAAIqtC,IACnB,IAAIzW,EAAS,CAAEp2B,KAAM6sC,EAAKC,eAAe8e,IAAa,CAAE7e,MAAO,QAASc,KAAM,aAC9E,MAAM0E,EAAQzpC,EAAM6P,KAAKpR,GACvBA,EAAKwmC,mBAAqB,IAAOlB,GAAMgB,QACvCtmC,EAAKumC,oBAAuB,IAAOjB,GAAME,QAAU,GAIrD,OAFW3W,EAAPmc,EAAgB,IAAKnc,KAAWmc,GACtB,IAAKnc,EAAQ6W,MAAO,GAC3B7W,IAIJ,SAAS+1B,EAAwB9Z,EAAYxE,GAClD,OAAO,MAASb,IAAI,UAAUoF,KAAKC,GAAYxE,KAAKA,GAAMpmC,IAAI,CAAE2kD,OAAQ,EAAGC,OAAQ,EAAGjb,KAAM,EAAGkb,YAAa,IAGvG,SAASC,EAAqB5zD,EAAM6zD,GACzC,MAAM1jD,EAAQnQ,EAAKA,KACnB,IAAIwwD,EAAY,IAAIzjD,KAAK/M,EAAK8zD,YAC1BpD,EAAU,IAAI3jD,KAAK/M,EAAK+zD,UAY5B,MAXwB,aAApBF,IACE1jD,EAAM/Q,OAAS,GAEjBoxD,EAAYgD,EAAuBrjD,EAAM,GAAGmjD,iBAAkBnjD,EAAM,GAAGilC,kBACvEsb,EAAU8C,EAAuBrjD,EAAMA,EAAM/Q,OAAS,GAAGk0D,iBAAkBnjD,EAAMA,EAAM/Q,OAAS,GAAGg2C,oBAGnGob,EAAY,MAASxc,QAAQ,QAC7B0c,EAAU,MAASzc,MAAM,WAGtB,CAAEuc,YAAWE,WAGf,SAASsD,EAAoCh0D,EAAM6zD,GAExD,MAAMrD,EAAY,IAAIzjD,KAAK/M,EAAK8zD,YAChC,IAAIpD,EAAU,IAAI3jD,KAAK/M,EAAK+zD,UAC5B,MAAME,EAAqB,CAAEnd,MAAO,MAAOod,SAAU,OAAQnY,UAAW,QAASoY,SAAU,QAI3F,OAHIN,KAAmBI,IACrBvD,EAAU,MAASzc,MAAMggB,EAAmBJ,KAEvC,CAAErD,YAAWE,WAGf,MAAM0D,EAAoB,CAC/BhgB,MAAOmf,EACP9Z,KAAM4Z,EACNhf,IAAK+e,GAGA,SAAS9X,EAAyBt7C,EAAMsnB,EAAQ+sC,GAAgB,GACrE,MAAM5U,EAAUz/C,EAAKA,MAAQA,EAC7B,IAAI6zD,EACAvsC,EAAO7T,SACTogD,EAAkBvsC,EAAO7T,OAAOg0B,QAAUngB,EAAO7T,OAAOg0B,QAAQsT,UAAYzzB,EAAO7T,OAAOogD,iBAE5FA,EAAkBA,GAAmB,WACrC,MAAM,UAAErD,EAAS,QAAEE,GAAY2D,EAC3BL,EAAmCh0D,EAAM6zD,GACzCD,EAAoB5zD,EAAM6zD,GAC9B,IAAI9Y,EAAY,MAChB,GAAI0E,GAAWA,EAAQrgD,OAAS,EAC1B,qBAAsBqgD,EAAQ,GAAI1E,EAAY,OACzC,sBAAuB0E,EAAQ,KAAI1E,EAAY,aACnD,CACL,MAAMuZ,EAAkB,IAAO5D,GAASrwC,KAAK,IAAOmwC,GAAY,QAC5D8D,EAAkB,KAAIvZ,EAAY,SAExC,MAAMhH,EAAYD,EAAiB0c,EAAWzV,EAAW2V,GACzD,OAAO0D,EAAkBrZ,GAAWhH,EAAW0L,GAG1C,SAAS3L,EAAkB0c,EAAWzV,EAAW2V,EAAU,KAAM6D,EAAY,GAClF,MAAMC,EAAW,GACX1d,EAAQ,MAAS7C,MAAM,OAAOwgB,SAC9BC,EAAW,IAAI3nD,KAAKyjD,GAC1B,IAAImE,EAAqB,IAAI5nD,KAAKyjD,GAC9BoE,EAAmBlE,EACvB,IAAKkE,EAAkB,CACrB,MAAMC,EAAU,CACdxgB,IAAKyC,EACL2C,KAAM,MAASxF,MAAM,QACrB6gB,SAAU,MAAS7gB,MAAM,SAED2gB,EAAtB7Z,KAAa8Z,EAA4BA,EAAQ9Z,GAC7B,MAAS9G,MAAM,SAASwgB,SAElD,MAAMH,EAAkB,IAAOM,GAAkBv0C,KAAK,IAAOs0C,GAAqB,QAClF,MAAOA,GAAsBC,EAG3BD,EAAqBD,EACH,QAAd3Z,IAGyB,IAAtB2Z,EAASK,UAAwC,IAAtBL,EAASK,UAAmBT,GAAmB,IAC7EE,EAAS/tD,KAAK,IAAIsG,KAAK2nD,EAAS1B,gBAElC0B,EAAS/G,QAAQ+G,EAAS9G,UAAY2G,KAEtCC,EAAS/tD,KAAK,IAAIsG,KAAK2nD,EAAS1B,gBACd,SAAdjY,EACF2Z,EAAS/G,QAAQ+G,EAAS9G,UAAY,GAEtC8G,EAASM,SAASN,EAASO,WAAaV,IAI9C,OAAOC,EAGF,SAASU,EAAoBl3D,GAClC,MAAMwyD,EAAYxyD,GAASA,EAAMyvD,MAAQ,IAAOzvD,EAAMyvD,OAAS,IAAO,cAChEiD,EAAU1yD,GAASA,EAAM0vD,IAAM,IAAO1vD,EAAM0vD,KAAO,MAASzZ,MAAM,SACxE,OAAO6e,EAAgBtC,EAAWE,GAG7B,SAAS5b,EAAalmC,EAAMumD,EAAY,QAC7C,OAAOvmD,EAAKumD,EAAY,gBAAkB,IAAMvmD,EAAKumD,EAAY,eAG5D,SAASC,EAAU1+B,EAAGysB,GAC3B,IAAKzsB,EACH,MAAO,GAET,MAAM2+B,EAAY,UAClB,OAAQ,GAAK3+B,GAAGlwB,QAAQ,IAAI8C,OAAO,eAAe65C,iBAAiBA,SAAU,KAAM,KAAOkS,GAAWzuD,MAAMyuD,GAG7G,MAAMC,EAAY,CAACxuD,EAAM03C,KACvB,MAAM+W,EAAsB,IACtBC,EAAgBvoD,KAAKynC,MAAM6gB,EAAsB/W,GAEvD,OAAO13C,EAAK1H,OAASo2D,EAAmB1uD,EAAKG,MAAM,EAAGuuD,GAAjB,MAAuC1uD,GAGvE,SAAS+sC,EAA4BvsB,EAAQ7T,EAAS,IAC3D,MAAO,CACLgiD,SAAUhiD,EAAOgiD,SACjBvX,OAAQ,CACNC,MAAO,CAAC,CACNC,MAAO,CACLsX,aAAa,EACbC,cAAe,EACfre,IAAK7jC,EAAOmiD,YAGhBC,MAAO,CAAC,CACNC,mBAAoB,EACpBC,cAAe,GACfC,gBAAiB,GACjBC,aAAc,EACdC,UAAW,CACTljC,SAAS,GAEXorB,MAAO,CACLngD,SAAU,SAAUzC,GAClB,OAAO45D,EAAS55D,EAAO,SAK/B26D,qBAAqB,EACrBC,YAAY,EACZnY,OAAQ,CACNjrB,UAASvf,EAAOwqC,QAASxqC,EAAOwqC,QAElCS,SAAU,CACRC,UAAW,CACTr0B,MAAO,SAAU+rC,GAEf,OADAA,EAAcA,EAAY,GACnBA,EAAYC,SAGvBxW,gBAAiB,IAAOyW,MACxBC,aAAc,GACdC,eAAgB,IAAOC,QACvBC,cAAe,IAAOD,SAExBE,QAAS,CACPC,WAAY,CACV7jC,SAAS,KAMjB,MAAM8jC,GAAwB3gD,IAC5B,IAAK,MAAM4gD,KAAep4D,OAAO0qB,OAAOlT,EAAQspC,QAAQuX,OAAQ,CAC9D,MAAMC,EAAYF,EAAY/2D,KAAKmW,EAAQgsB,WAAW+0B,OAAO3qD,EAC7D,GAAI0qD,EAAY,IACd,OAAO,EAGX,OAAO,GAGF,SAASlkB,GAAqCt/B,EAAQ0jD,EAAch0B,EAAgB,IACzF,MAAM7a,EAAY6uC,EAAa7uC,UAC/B,IAAIk2B,EAAW,GACf,GAAIl2B,EAAW,CACb,MAAM8uC,EAAkB9uC,EAAUuK,OAAOzzB,OAEzCo/C,EAAWvxC,KAAKkwC,IAAIlwC,KAAKC,MAAM,IAAMkqD,GAAkB,IAGzD,MAAMC,EAA4Bl0B,EAAck0B,4BAA6B,EAEvEC,EAAW7jD,GAAUA,EAAOgiD,SAAWhiD,EAAOgiD,SAAW,GAC/D,MAAO,CACLvX,OAAQ,CACN2X,MAAO,CAAC,CACNzX,MAAO,CACLsX,aAAa,EACbz3D,SAAU,SAAUzC,GAClB,OAAOA,EAAQ87D,GAEjB3B,cAAe,GAEjBO,UAAW,GAGXH,cAAe,IAEjB5X,MAAO,CAAC,CACN6X,gBAAiB,GACjBE,UAAW,CACTljC,SAAS,GAEXukC,SAAU,SAAUC,GAClBA,EAAc7U,MAAQ,KAExBvE,MAAO,CACLI,WACAiZ,WAAY,EACZx5D,SAAU,SAAUzC,GAClB,OAAO85D,EAAU95D,EAAOgjD,QAKhCE,SAAU,CACR+D,QAAStf,EAAcu0B,cAAe,EACtC/Y,UAAW,CACT,UAEAnjD,MAAO,SAAUm8D,EAAa33D,GAC5B,IAAIy9B,EAASk6B,EAAY/Y,OAAS,KAAO+Y,EAAY35D,MAAQs5D,EAC7D,IACE,MAAM7X,EAAUz/C,EAAKwzC,SAASmkB,EAAYC,cACtCnY,EAAQoY,SAAWpY,EAAQoY,QAAQF,EAAY9yD,SACjD44B,GAAU,KACVA,GAAUgiB,EAAQoY,QAAQF,EAAY9yD,OACtC44B,GAAU,KAEZ,MAAOpnB,GACP5N,QAAQ+G,MAAM6G,GAEhB,OAAOonB,IAGXqiB,gBAAiB,IAAOyW,MACxBC,aAAc,GACdC,eAAgB,IAAOC,QACvBC,cAAe,IAAOD,QACtBoB,cAAe,IAAOC,YAExBC,SAAU,CACRC,UAAW,CACTra,YAAa,IAGjBuY,qBAAqB,EACrBC,YAAY,EACZnY,OAAQ,CACNjrB,SAAS,GAEX4jC,QAAS,CACPC,WAAY,CACVqB,aAAc,GACdzZ,QAAS,CACP0Z,OAAQ,GAEVC,KAAM,CACJC,OAAQ,0DACRC,OAAQ,IACR7b,KAAM+B,GAER7H,MAAQxgC,GAAY2gD,GAAqB3gD,GAAW,IAAOugD,QAAU,IAAOH,MAC5EzW,gBAAkB3pC,GACZ2gD,GAAqB3gD,GAChB,IAAOoiD,QAETpiD,EAAQqiD,QAAU,IAAOC,QAAU,GAE5CC,OAASviD,GAAY2gD,GAAqB3gD,GAAW,MAAQ,SAC7DwiD,MAAQxiD,GAAY2gD,GAAqB3gD,GAAW,QAAU,SAC9DosC,UAAW,CAACvkD,EAAOmY,KACjBnY,EAAQ,GAAGA,IAAQs5D,KACXnhD,EAAQqiD,UAAWriD,EAAQqG,QAAY66C,EAAiDr5D,EAAlBA,EAAH,OAG7E46D,UAAW,CACT7tC,MAAQ5U,IACDkhD,GAA2Bl0B,EAAcuQ,uBAAuBv9B,EAAQgsB,YAE/E02B,MAAQ1iD,IACNA,EAAQqiD,SAAU,EAClBriD,EAAQk/B,MAAM7qB,OAAO4V,MAAM04B,OAAS,WAC7B,GAETC,MAAQ5iD,IACNA,EAAQqiD,SAAU,EAClBriD,EAAQk/B,MAAM7qB,OAAO4V,MAAM04B,OAAS,WAC7B,OAQZ,MAAME,GAAa,CACxB/W,OAAQ,SACRnL,MAAO,QACPmiB,UAAW,YACXC,UAAW,oBACXhF,SAAU,eACViF,SAAU,eACVC,WAAY,qBACZrd,UAAW,gBACXsd,UAAW,gBACXC,WAAY,qBACZnF,SAAU,eACVoF,SAAU,eACVC,aAAc,wBAGT,SAASzqB,KACd,OAAO,OAAM7yC,QAAQ,qBAAqB,aAAc88D,IAGnD,MAAMS,GAAc,CACzBz6D,GAAI,KACJC,KAAM,mBAGD,SAASi6B,KACd,OAAO,OAAMh9B,QAAQ,qBAAqB,oBAAqBu9D,IAG1D,SAASre,GAAqBp7C,EAAM62C,GAMzC,MAAM6iB,EAAkB7iB,EAAO72C,EAAKZ,OACpC,IAAIu6D,EAAgB,EACpB,MAAM9d,EAAc,GACdH,EAAe,GACf7oB,EAAS,GACf,IAAK,MAAMhuB,KAAS7E,EAAM,CACxB67C,EAAYp1C,MAAMizD,GAAmB/f,SAAS90C,GAAS,IAAIu0C,QAAQ,IACnE,MAAMwC,EAAwC,OAA3B57C,EAAK6E,GAAO+2C,WAAsB+d,EAAgB35D,EAAK6E,GAAO+2C,WAAa57C,EAAK6E,GAAO+2C,WAC1GF,EAAaj1C,KAAKm1C,GAClB/oB,EAAOpsB,KAAKzG,EAAK6E,GAAOwC,MACxBsyD,EAAgB/d,EAElB,MAAO,CAAEC,cAAaH,eAAc7oB,UAG/B,MAAM+mC,GAA0B,CAACjgC,EAAU,KACzC,IAAIkgC,GAAoB,CAC7B77D,MAAO,KACPyB,WAAW,EACXC,aAAa,EACbnD,UAAU,EACV+C,YAAY,KACTq6B,IAIA,MAAMkgC,GACX,YAAaC,EAAmB,KAAMxyC,EAAS,MAC7CzsB,KAAKk/D,gBAAgBD,GACrBj/D,KAAKm/D,aAAa1yC,GAGpB,gBAAiBwyC,GAGbj/D,KAAKo/D,eAFHH,aAA4BD,GAERC,EAAiBG,eAEjBH,EAEnBA,IACHj/D,KAAKo/D,eAAiB,IAAIJ,GAAoBD,OAIlD,gBACE,OAAO/+D,KAAKo/D,eAAez2B,WAAa,KAG1C,YACE,OAAO3oC,KAAKo/D,eAAez+D,OAAS,KAGtC,YACE,OAAOX,KAAKo/D,eAAej8D,MAG7B,UAAWstC,GACTzwC,KAAKo/D,eAAej8D,MAAQstC,EAG9B,WACE,OAAOzwC,KAAKo/D,eAAez9D,MAAQ,KAGrC,OAAQA,GACN,QAAS3B,KAAKo/D,eAAez9D,QAAUA,GAAQ3B,KAAKo/D,eAAez9D,OAASA,EAG9E,gBACE,OAAO3B,KAAKo/D,eAGd,kBACE,OAAOp/D,KAAKo/D,eAAev6D,aAAe,KAG5C,eACE,QAAS7E,KAAKo/D,eAAe19D,SAG/B,iBACE,QAAO,eAAgB1B,KAAKo/D,iBAAiBp/D,KAAKo/D,eAAe36D,WAGnE,gBACE,QAAO,cAAezE,KAAKo/D,iBAAiBp/D,KAAKo/D,eAAex6D,UAGlE,cACE,MAAO,YAAa5E,KAAKo/D,eAAiBp/D,KAAKo/D,eAAetgC,QAAU,GAG1E,aAAcrS,GACZzsB,KAAKysB,OAASA,EACTA,GACLzsB,KAAKq/D,oBAGP,oBACE,MAAMr0B,EAAiBhrC,KAAKysB,OAAO7T,QAAU,GACzC5Y,KAAKo/D,eAAez2B,WAAa3oC,KAAKo/D,eAAez2B,aAAaqC,IACpEhrC,KAAKo/D,eAAej8D,MAAQ6nC,EAAehrC,KAAKo/D,eAAez2B,YAInE,wBACE,MAAqB,oBAAd3oC,KAAK2B,KAGd,aACE,MAAqB,SAAd3B,KAAK2B,KAGd,eACE,MAAqB,WAAd3B,KAAK2B,KAGd,iBACE,MAAqB,aAAd3B,KAAK2B,KAGd,uBACE,MAAqB,mBAAd3B,KAAK2B,KAGd,2BACE,MAAqB,uBAAd3B,KAAK2B,KAGd,qBACE,MAAqB,iBAAd3B,KAAK2B,KAGd,wBACE,MAAqB,oBAAd3B,KAAK2B,KAGd,qBACE,MAAO,mBAAoB3B,KAAKo/D,gBAAiBp/D,KAAKo/D,eAAe16D,eAGvE,sCACE,MAAqB,kCAAd1E,KAAK2B,Q,kCCjmBhB,IAAI7B,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,MAAM,CAAC,iCAAkC,CAAE,mBAAqBL,EAAImC,6BAA8B,CAACjC,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACF,EAAG,QAAQ,CAACE,YAAY,oDAAoDI,MAAM,CAAC,GAAK,qCAAqC,IAAM,iCAAiC,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAW89D,qBAAqB,IAAIv/D,EAAIW,GAAGX,EAAIyB,WAAW+9D,gBAAgB,OAAOt/D,EAAG,aAAa,CAACE,YAAY,qBAAqB,CAACF,EAAG,MAAM,CAACE,YAAY,4BAA4BC,MAAM,CAAE,cAAeL,EAAIwB,eAAgB,CAACtB,EAAG,QAAQ,CAACE,YAAY,sBAAsBI,MAAM,CAAC,IAAM,iCAAiC,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWg+D,iBAAiB,OAAOv/D,EAAG,eAAe,CAACM,MAAM,CAAC,GAAK,+BAA+B,YAAcR,EAAIyB,WAAWg+D,gBAAgB,KAAO,SAAS,IAAM,IAAI,QAAU,gCAAgCj9D,GAAG,CAAC,OAASxC,EAAIuK,qBAAqBpH,MAAM,CAACC,MAAOpD,EAAY,SAAEqD,SAAS,SAAUC,GAAMtD,EAAIk/B,SAAS57B,GAAKE,WAAW,eAAe,GAAGtD,EAAG,MAAM,CAACE,YAAY,4BAA4BC,MAAM,CAAE,cAAeL,EAAIwB,eAAgB,CAACtB,EAAG,QAAQ,CAACE,YAAY,sBAAsBI,MAAM,CAAC,IAAM,iCAAiC,CAACR,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIyB,WAAWi+D,iBAAiB,OAAOx/D,EAAG,eAAe,CAACM,MAAM,CAAC,GAAK,+BAA+B,YAAcR,EAAIyB,WAAWi+D,gBAAgB,KAAO,SAAS,IAAM,IAAI,QAAU,gCAAgCl9D,GAAG,CAAC,OAASxC,EAAIuK,qBAAqBpH,MAAM,CAACC,MAAOpD,EAAY,SAAEqD,SAAS,SAAUC,GAAMtD,EAAIo/B,SAAS97B,GAAKE,WAAW,eAAe,KAAMxD,EAAgB,aAAEE,EAAG,IAAI,CAACE,YAAY,qBAAqB,CAACJ,EAAIU,GAAG,IAAIV,EAAIW,GAAGX,EAAIwB,cAAc,OAAOxB,EAAIa,MAAM,GAAGX,EAAG,MAAM,CAACE,YAAY,qBAAqBoC,GAAG,CAAC,MAAQ,SAASE,GAAgC,OAAxBA,EAAOgB,iBAAwB1D,EAAI2C,MAAM,aAAa,CAAG3C,EAAImC,0BAAuEjC,EAAG,MAAM,CAACM,MAAM,CAAC,MAAQ,IAAI,OAAS,IAAI,QAAU,UAAU,KAAO,OAAO,MAAQ,6BAA6B,aAAa,GAAG,KAAO,eAAe,UAAY,QAAQ,SAAW,OAAO,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,GAAK,IAAI,KAAO,SAAS,CAACN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,kHAAkHN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,6GAA6G,KAAO,OAAO,eAAe,QAAQN,EAAG,OAAO,CAACM,MAAM,CAAC,EAAI,+sCAA+sC,KAAO,UAAU,eAAe,MAAM,KAAO,eAAx1DN,EAAG,IAAI,CAACE,YAAY,6BAE55DY,EAAkB,GCiEP,GACbC,KAAM,iBACN0C,WAAY,GACZjC,MAAO,CACL0B,MAAO,CACLxB,KAAMmC,OACNpC,UAAU,GAEZQ,0BAA2B,CACzBP,KAAMG,QACNJ,UAAU,EACVG,SAAS,IAGbsD,KAAM,KACG,CACLlE,kBAAmB,CACjBq+D,oBAAqB,gBACrBG,gBAAiB,MACjBD,gBAAiB,MACjBD,eAAgB,gBAChBlgC,qBAAsB,uCACtBC,mBAAoB,yDACpBC,oBAAqB,+CAEvBJ,cAAU/qB,EACV6qB,SAAU,EACV19B,aAAc,OAGlBJ,SAAU,CACR,aACE,OAAOnB,KAAKoB,OAAOC,QAAQ,qBAAqBrB,KAAKsB,SAASN,KAAMhB,KAAKiB,qBAG7E,UACEjB,KAAKsE,SAEPS,QAAS,CACP,QACM/E,KAAKmD,QACPnD,KAAKi/B,SAAWj/B,KAAKy/B,aAAaz/B,KAAKmD,MAAMwlB,KAAO3oB,KAAKmD,MAAMwlB,IAAM,IAAO,KAC5E3oB,KAAKm/B,SAAWn/B,KAAKy/B,aAAaz/B,KAAKmD,MAAM0lB,KAAO7oB,KAAKmD,MAAM0lB,IAAM,IAAO,OAGhF,sBACE,MAAM1jB,EAAO,GACTnF,KAAKy/B,aAAaz/B,KAAKi/B,YAAW95B,EAAKwjB,IAAsB,IAAhB3oB,KAAKi/B,UAClDj/B,KAAKy/B,aAAaz/B,KAAKm/B,YAAWh6B,EAAK0jB,IAAsB,IAAhB7oB,KAAKm/B,UAEtDn/B,KAAK0C,MAAM,QAASyC,IAChBnF,KAAKm/B,UAAYn/B,KAAKi/B,WAAUj/B,KAAK0F,kBAE3C,iBAYE,OAXA1F,KAAKuB,aAAe,KACfvB,KAAKy/B,aAAaz/B,KAAKi/B,WAAcj/B,KAAKy/B,aAAaz/B,KAAKm/B,UAEtD/xB,OAAOpN,KAAKm/B,UAAY,GAAK/xB,OAAOpN,KAAKi/B,UAAY,EAC9Dj/B,KAAKuB,aAAevB,KAAKwB,WAAW69B,qBAC3Br/B,KAAKy/B,aAAaz/B,KAAKi/B,WAAaj/B,KAAKy/B,aAAaz/B,KAAKm/B,WAChE/xB,OAAOpN,KAAKm/B,UAAY/xB,OAAOpN,KAAKi/B,YACtCj/B,KAAKuB,aAAevB,KAAKwB,WAAW89B,oBALtCt/B,KAAKuB,aAAevB,KAAKwB,WAAW+9B,qBAS9Bv/B,KAAKuB,cAEf,aAAc2L,GACZ,OAAOA,GAAqB,IAAXA,KCvI0Q,I,wBCQ7RnL,EAAY,eACd,EACAjC,EACAiB,GACA,EACA,KACA,WACA,MAIa,OAAAgB,E,2CCnBf,W,kCCAA,kNAAMs6B,EAAW,IACJqjC,EAAWrjC,GAAYA,EAAS7e,SAAS,aAEzCQ,EAAQ,CACnBnQ,IAAK,IAAI1H,KACHu5D,IACF9xD,QAAQC,OAAO1H,GACfyH,QAAQ+xD,MAAM,iBAKPC,EAAmB,IACvB,IAAIv0D,QAASC,IAClB,MAAMu0D,EAAc,GACdC,EAAa,IACnB,IAAIC,EAAU,EAEd,MAAMC,EAAgB,KACpB,MAAMvzD,EAAQ5B,OAAOqwB,SAASlL,KAAKvjB,MAAM,mBACrCA,GACFmB,QAAQC,IAAI,iBAAkBixC,SAASryC,EAAM,KAC7CnB,EAAQwzC,SAASryC,EAAM,MACdszD,EAAUF,GACnBE,IACAnyD,QAAQC,IAAI,6CAA8CiyD,EAAY,MACtEv0D,WAAWy0D,EAAeF,KAE1BlyD,QAAQC,IAAI,sCAAuCgyD,EAAa,WAChEv0D,EAAQ,QAIZ00D,MAIEC,EAAe,CAACC,EAAOC,IACpBD,EAAQ,IAAMC,EAAS,gCAAkCjlC,SAAS5sB,SAAW,UAGzE8xD,EAAgBF,IAC3B,MAAMG,EAASC,EAAUJ,GACrBG,IACF71D,SAAS61D,OAASJ,EAAaC,GAAS,2CAK/BI,EAAaJ,IACxB,MAAMl/D,EAAOk/D,EAAQ,IACfK,EAAgB5Q,mBAAmBnlD,SAAS61D,QAC5CG,EAAKD,EAAcx0D,MAAM,KAC/B,IAAK,IAAIuV,EAAI,EAAGA,EAAIk/C,EAAGj8D,OAAQ+c,IAAK,CAClC,IAAIm/C,EAAID,EAAGl/C,GACX,MAAuB,MAAhBm/C,EAAEC,OAAO,GACdD,EAAIA,EAAEE,UAAU,GAElB,GAAwB,IAApBF,EAAEt3D,QAAQnI,GACZ,OAAOy/D,EAAEE,UAAU3/D,EAAKuD,OAAQk8D,EAAEl8D,QAGtC,MAAO,IAGIq8D,EAAY,CAACV,EAAOC,KAC/B31D,SAAS61D,OAASJ,EAAaC,EAAOC,M","file":"js/app.448b6a48.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"filter-select-202209161357 w-100\",class:{ 'error-class': _vm.hasError }},[_c('div',{staticClass:\"w-100\"},[_c('label',{class:['filter-label', { 'fixed-label' : _vm.hasFixedLabel }],attrs:{\"for\":_vm.labelTag}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \"),(_vm.required)?_c('span',{staticClass:\"required-icon\"},[_vm._v(\"*\")]):_vm._e()]),_vm._t(\"default\")],2),(_vm.hasError)?_c('p',{staticClass:\"filter-error-text\"},[_vm._v(\" \"+_vm._s(_vm.filterErrorMessage)+\" \")]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetFilterContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetFilterContainer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetFilterContainer.vue?vue&type=template&id=e8f5b090&\"\nimport script from \"./BaoWidgetFilterContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetFilterContainer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaoWidgetFilterContainer.vue?vue&type=style&index=0&id=e8f5b090&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./TranscriptSearchFilter.vue?vue&type=style&index=0&id=ce4973d4&prod&scoped=true&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetFiltersDisplay.vue?vue&type=style&index=0&id=006aab06&prod&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/info-icon.11f967e3.svg\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:['bao-widget-filter w-100 d-flex', { 'advanced-filters' : _vm.isOpenFromAdvancedFilters }]},[_c('div',{staticClass:\"w-100 filter-body\"},[_c('label',{staticClass:\"filter-title\"},[_vm._v(\" \"+_vm._s(_vm.staticText.playbookItemAnswerLabel)+\" \")]),_c('playbook-selector',{ref:_vm.filterRefs[0],attrs:{\"options\":_vm.playbookConfigOptions},on:{\"input\":_vm.playbookSelected,\"delete\":function($event){return _vm.$emit('delete')}}}),(_vm.showTalkscriptItemSelection)?_c('playbook-item-selector',{ref:_vm.filterRefs[1],staticClass:\"mt-2\",attrs:{\"options\":_vm.playbookItemConfigOption,\"selected-playbooks\":_vm.selectedPlaybooks,\"playbook-item-type\":_vm.playbookItemType},on:{\"input\":_vm.playbookItemSelected,\"delete\":function($event){return _vm.playbookItemSelected([])}}}):_vm._e(),(_vm.showAnswerSelection)?_c('answer-selector',{ref:_vm.filterRefs[2],staticClass:\"mt-2\",attrs:{\"options\":_vm.answerConfigOption,\"selected-playbook-items\":_vm.selectedPlaybookItems},on:{\"input\":_vm.answerSelected,\"delete\":function($event){return _vm.answerSelected([])}},model:{value:(_vm.selectedAnswers),callback:function ($$v) {_vm.selectedAnswers=$$v},expression:\"selectedAnswers\"}}):_vm._e()],1),(!_vm.criteriaConfigurator)?_c('div',{staticClass:\"ml-3 filter-delete\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('delete')}}},[(!_vm.isOpenFromAdvancedFilters)?_c('i',{staticClass:\"fa fa-trash my-auto\"}):_c('svg',{attrs:{\"width\":\"7\",\"height\":\"7\",\"viewBox\":\"0 0 7 7\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('mask',{attrs:{\"id\":\"a\",\"fill\":\"#fff\"}},[_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\"}})]),_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\",\"fill\":\"#000\",\"fill-opacity\":\".5\"}}),_c('path',{attrs:{\"d\":\"M7 .705l.707.707.707-.707-.707-.707L7 .705zM6.295 0l.707-.707-.707-.707-.707.707.707.707zM3.5 2.795l-.707.707.707.707.707-.707-.707-.707zM.705 0l.707-.707-.707-.707-.707.707L.705 0zM0 .705l-.707-.707-.707.707.707.707L0 .705zM2.795 3.5l.707.707.707-.707-.707-.707-.707.707zM0 6.295l-.707-.707-.707.707.707.707L0 6.295zM.705 7l-.707.707.707.707.707-.707L.705 7zM3.5 4.205l.707-.707L3.5 2.79l-.707.707.707.707zM6.295 7l-.707.707.707.707.707-.707L6.295 7zM7 6.295l.707.707.707-.707-.707-.707L7 6.295zM4.205 3.5l-.707-.707-.707.707.707.707.707-.707zM7.707-.002l-.705-.705L5.588.707l.705.705L7.707-.002zm-2.12-.705L2.794 2.088l1.414 1.414L7.002.707 5.588-.707zm-1.38 2.795L1.412-.707-.002.707l2.795 2.795 1.414-1.414zM-.003-.707l-.704.705L.707 1.412l.705-.705L-.002-.707zm-.704 2.12l2.795 2.794 1.414-1.414L.707-.002-.707 1.412zm2.795 1.38L-.707 5.588.707 7.002l2.795-2.795-1.414-1.414zm-2.795 4.21l.705.704 1.414-1.414-.705-.705-1.414 1.414zm2.12.704l2.794-2.795-1.414-1.414-2.795 2.795 1.414 1.414zm1.38-2.795l2.795 2.795 1.414-1.414-2.795-2.795-1.414 1.414zm4.21 2.795l.704-.705-1.414-1.414-.705.705 1.414 1.414zm.704-2.12L4.912 2.794 3.498 4.207l2.795 2.795 1.414-1.414zm-2.795-1.38l2.795-2.795L6.293-.002 3.498 2.793l1.414 1.414z\",\"fill\":\"#2A2D52\",\"fill-opacity\":\".01\",\"mask\":\"url(#a)\"}})])]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./PlaybookItemAnswerFilters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./PlaybookItemAnswerFilters.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PlaybookItemAnswerFilters.vue?vue&type=template&id=29e342ef&\"\nimport script from \"./PlaybookItemAnswerFilters.vue?vue&type=script&lang=js&\"\nexport * from \"./PlaybookItemAnswerFilters.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from \"axios\"\n\nexport const createMeetingBotApi = async (payload) => {\n // create meeting bot for recording meeting data\n const apiUrl = \"/api/meeting/create_meeting\"\n const resp = await axios.post(apiUrl, payload)\n return resp\n}\n\nexport const fetchCallMeetingDataApi = async (params) => {\n // fetch call meeting data (video_url, summary, speaker list, transcript)\n const apiUrl = \"/api/meeting/get_meeting_data\"\n const resp = await axios.get(apiUrl, { params })\n return resp\n}\n\nexport const fetchMeetingParticipantsApi = async (params) => {\n // fetch meeting participants\n const apiUrl = \"/api/meeting/get_meeting_participants\"\n const resp = await axios.get(apiUrl, { params })\n return resp\n}\n\nexport const fetchMeetingBotStatusApi = async (params) => {\n // fetch meeting bot status - connected, not_connected, connecting\n const apiUrl = \"/api/meeting/get_meeting_bot_status\"\n const resp = await axios.get(apiUrl, { params })\n return resp\n}\n\nexport const removeBotFromMeetingApi = async (payload) => {\n // remove bot from meeting to stop recording of meeting\n const apiUrl = \"/api/meeting/remove_meeting_bot\"\n const resp = await axios.post(apiUrl, payload)\n return resp\n}\n\nexport const pauseMeetingRecordingApi = async (payload) => {\n // pause recording of the meeting for given bot\n const apiUrl = \"/api/meeting/pause_meeting_recording\"\n const resp = await axios.post(apiUrl, payload)\n return resp\n}\n\nexport const resumeMeetingRecordingApi = async (payload) => {\n // resume recording of the meeting for given bot\n const apiUrl = \"/api/meeting/resume_meeting_recording\"\n const resp = await axios.post(apiUrl, payload)\n return resp\n}\n\nexport const getTodayEventsApi = async (params) => {\n // get all future meetings of today\n const apiUrl = \"/api/user_calendar/get_today_events\"\n const resp = await axios.get(apiUrl, {params})\n return resp\n}\n\nexport const checkAndUpdateScheduledBot = async (payload) => {\n // resume recording of the meeting for given bot\n const apiUrl = \"/api/meeting/check_and_update_scheduled_call\"\n const resp = await axios.post(apiUrl, payload)\n return resp\n}","const PlaybookConfigurator = () => import(/* webpackChunkName: \"PlaybookConfigurator\" */ \"./PlaybookConfigurator.vue\")\nconst PlaybookList = () => import(/* webpackChunkName: \"PlaybookList\" */ \"./PlaybookList.vue\")\nconst PlaybookItemLibrary = () => import(/* webpackChunkName: \"PlaybookItemList\" */ \"./PlaybookItemLibrary.vue\")\n\n// exports basic app infos required for other modules and CallViewItem_components\n\n// think of a better solution than to having both routes and url separated!\nconst baseUrl = \"/templates\"\nexport default {\n name: \"Playbook\",\n apiUrl: {\n playbook: \"/api/talkscripts\",\n playbookItem: \"/api/talkscriptitems\",\n objectionChoice: \"/api/objectionchoices\",\n playbookExtend: \"/api/talkscriptextend\",\n pdfdemofile: \"/api/pdfdemofile\",\n libraryItems: \"/api/libraryitems\",\n playbookClone: \"/api/talkscripts/clone_talkscript\"\n },\n route: {\n path: baseUrl,\n component: PlaybookList\n },\n routes: [\n {\n path: \"/itemlibrary\",\n component: PlaybookItemLibrary\n },\n {\n path: baseUrl + \"/edit/:id\",\n component: PlaybookConfigurator\n }\n ]\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"loading-screen-color progress-indicator\",class:{'small': _vm.small},attrs:{\"id\":\"loading-screen-202101082117\"}},[_c('div',{staticClass:\"d-flex justify-content-center\"},[_vm._t(\"before\",null,{\"component\":this}),_c('b-spinner',{staticClass:\"my-auto\",attrs:{\"id\":\"redirecting-spinner-202101081826\",\"small\":_vm.small}}),_vm._t(\"label\",function(){return [(_vm.showLoadingLabel)?_c('h4',{staticClass:\"ml-4 my-auto\",attrs:{\"id\":\"redirecting-label-202101081826\"}},[_vm._v(\" \"+_vm._s(_vm.finalLoadingLabel)+\" \")]):_vm._e()]},{\"component\":this}),(_vm.tooltip)?_vm._t(\"tooltip\",function(){return [_c('b-tooltip',{attrs:{\"target\":\"redirecting-spinner-202101081826\"}},[_vm._v(\" \"+_vm._s(_vm.finalLoadingLabel)+\" \")])]},{\"component\":this}):_vm._e()],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/src/index.js!./ProgressIndicator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/src/index.js!./ProgressIndicator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProgressIndicator.vue?vue&type=template&id=5019c482&scoped=true&\"\nimport script from \"./ProgressIndicator.vue?vue&type=script&lang=js&\"\nexport * from \"./ProgressIndicator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProgressIndicator.vue?vue&type=style&index=0&id=5019c482&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5019c482\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./CriteriaSelector.vue?vue&type=style&index=0&id=4637b542&prod&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetDisplay.vue?vue&type=style&index=0&id=1fb7a1f7&prod&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./TimeframeFilter.vue?vue&type=style&index=0&id=5356e9fa&prod&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"white\":\"#fff\",\"white20\":\"rgba(255,255,255,.2)\",\"slate10\":\"rgba(42,45,82,.1)\",\"slate20\":\"rgba(42,45,82,.2)\",\"slate80\":\"rgba(42,45,82,.8)\",\"orange\":\"#ff5632\",\"orange12\":\"rgba(255,86,50,.12)\",\"bricklight\":\"#dcb6a3\"};","const MeetingBotStatusEnum = Object.freeze({\n NOT_STARTED: \"not_started\",\n CONNECTING: \"connecting\",\n CONNECTED: \"connected\",\n ENDED: \"ended\",\n DONE: \"done\"\n})\n\nconst BotRecordingStatusEnum = Object.freeze({\n NOT_RECORDING: \"not_recording\",\n RECORDING: \"recording\",\n TOGGLING: \"toggling\"\n})\n\nconst BotTerminatedStatusList = [\"meeting_bot_ended\", \"meeting_bot_data_processing_done\"]\nconst MeetingStatusListForVideoData = [\"connected\", \"done\", \"ended\"]\nconst MeetingEndedStatusList = [\"done\", \"ended\"]\nconst MeetingDataProcessingDoneStatus = \"meeting_bot_data_processing_done\"\nconst BotConnectedStatus = \"meeting_bot_connected\"\n\nexport {\n MeetingBotStatusEnum, BotRecordingStatusEnum, BotTerminatedStatusList,\n MeetingStatusListForVideoData, MeetingEndedStatusList, MeetingDataProcessingDoneStatus,\n BotConnectedStatus\n}\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetPlaybookConversionChart.vue?vue&type=style&index=0&id=7aca2f8d&prod&scoped=true&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:['bao-widget-filter w-100 d-flex', { 'advanced-filters' : _vm.isOpenFromAdvancedFilters }]},[_c('bao-widget-filter-container',{attrs:{\"label\":_vm.staticText.browseTranscript,\"label-tag\":\"base-filter-202309081357\",\"hasError\":_vm.hasError,\"error-message\":_vm.staticText.errorMessage}},[_c('div',{staticClass:\"browse-transcript\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.transcript),expression:\"transcript\"}],attrs:{\"id\":\"transcript_text\",\"type\":\"text\",\"placeholder\":_vm.staticText.browseTranscript},domProps:{\"value\":(_vm.transcript)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.handleTranscriptAdded.apply(null, arguments)},\"input\":function($event){if($event.target.composing)return;_vm.transcript=$event.target.value}}}),(!!_vm.transcriptData && _vm.transcriptData.transcript_texts.length)?_c('ul',{staticClass:\"transcript_texts\"},_vm._l((_vm.transcriptData.transcript_texts),function(transcript,index){return _c('li',{key:index},[_c('span',{on:{\"click\":function($event){return _vm.editTranscriptText(index, transcript)}}},[_vm._v(\" \"+_vm._s(transcript)+\" \")]),_c('div',{staticClass:\"delete-btn\",attrs:{\"role\":\"button\"},on:{\"click\":function($event){return _vm.removeTranscriptText(index)}}},[_c('svg',{attrs:{\"width\":\"7\",\"height\":\"7\",\"viewBox\":\"0 0 7 7\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('mask',{attrs:{\"id\":\"a\",\"fill\":\"#fff\"}},[_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\"}})]),_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\",\"fill\":\"#000\",\"fill-opacity\":\".5\"}}),_c('path',{attrs:{\"d\":\"M7 .705l.707.707.707-.707-.707-.707L7 .705zM6.295 0l.707-.707-.707-.707-.707.707.707.707zM3.5 2.795l-.707.707.707.707.707-.707-.707-.707zM.705 0l.707-.707-.707-.707-.707.707L.705 0zM0 .705l-.707-.707-.707.707.707.707L0 .705zM2.795 3.5l.707.707.707-.707-.707-.707-.707.707zM0 6.295l-.707-.707-.707.707.707.707L0 6.295zM.705 7l-.707.707.707.707.707-.707L.705 7zM3.5 4.205l.707-.707L3.5 2.79l-.707.707.707.707zM6.295 7l-.707.707.707.707.707-.707L6.295 7zM7 6.295l.707.707.707-.707-.707-.707L7 6.295zM4.205 3.5l-.707-.707-.707.707.707.707.707-.707zM7.707-.002l-.705-.705L5.588.707l.705.705L7.707-.002zm-2.12-.705L2.794 2.088l1.414 1.414L7.002.707 5.588-.707zm-1.38 2.795L1.412-.707-.002.707l2.795 2.795 1.414-1.414zM-.003-.707l-.704.705L.707 1.412l.705-.705L-.002-.707zm-.704 2.12l2.795 2.794 1.414-1.414L.707-.002-.707 1.412zm2.795 1.38L-.707 5.588.707 7.002l2.795-2.795-1.414-1.414zm-2.795 4.21l.705.704 1.414-1.414-.705-.705-1.414 1.414zm2.12.704l2.794-2.795-1.414-1.414-2.795 2.795 1.414 1.414zm1.38-2.795l2.795 2.795 1.414-1.414-2.795-2.795-1.414 1.414zm4.21 2.795l.704-.705-1.414-1.414-.705.705 1.414 1.414zm.704-2.12L4.912 2.794 3.498 4.207l2.795 2.795 1.414-1.414zm-2.795-1.38l2.795-2.795L6.293-.002 3.498 2.793l1.414 1.414z\",\"fill\":\"#2A2D52\",\"fill-opacity\":\".01\",\"mask\":\"url(#a)\"}})])])])}),0):_vm._e()])]),_c('div',{staticClass:\"ml-3 filter-delete\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('delete')}}},[(!_vm.isOpenFromAdvancedFilters)?_c('i',{staticClass:\"fa fa-trash my-auto\"}):_c('svg',{attrs:{\"width\":\"7\",\"height\":\"7\",\"viewBox\":\"0 0 7 7\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('mask',{attrs:{\"id\":\"a\",\"fill\":\"#fff\"}},[_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\"}})]),_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\",\"fill\":\"#000\",\"fill-opacity\":\".5\"}}),_c('path',{attrs:{\"d\":\"M7 .705l.707.707.707-.707-.707-.707L7 .705zM6.295 0l.707-.707-.707-.707-.707.707.707.707zM3.5 2.795l-.707.707.707.707.707-.707-.707-.707zM.705 0l.707-.707-.707-.707-.707.707L.705 0zM0 .705l-.707-.707-.707.707.707.707L0 .705zM2.795 3.5l.707.707.707-.707-.707-.707-.707.707zM0 6.295l-.707-.707-.707.707.707.707L0 6.295zM.705 7l-.707.707.707.707.707-.707L.705 7zM3.5 4.205l.707-.707L3.5 2.79l-.707.707.707.707zM6.295 7l-.707.707.707.707.707-.707L6.295 7zM7 6.295l.707.707.707-.707-.707-.707L7 6.295zM4.205 3.5l-.707-.707-.707.707.707.707.707-.707zM7.707-.002l-.705-.705L5.588.707l.705.705L7.707-.002zm-2.12-.705L2.794 2.088l1.414 1.414L7.002.707 5.588-.707zm-1.38 2.795L1.412-.707-.002.707l2.795 2.795 1.414-1.414zM-.003-.707l-.704.705L.707 1.412l.705-.705L-.002-.707zm-.704 2.12l2.795 2.794 1.414-1.414L.707-.002-.707 1.412zm2.795 1.38L-.707 5.588.707 7.002l2.795-2.795-1.414-1.414zm-2.795 4.21l.705.704 1.414-1.414-.705-.705-1.414 1.414zm2.12.704l2.794-2.795-1.414-1.414-2.795 2.795 1.414 1.414zm1.38-2.795l2.795 2.795 1.414-1.414-2.795-2.795-1.414 1.414zm4.21 2.795l.704-.705-1.414-1.414-.705.705 1.414 1.414zm.704-2.12L4.912 2.794 3.498 4.207l2.795 2.795 1.414-1.414zm-2.795-1.38l2.795-2.795L6.293-.002 3.498 2.793l1.414 1.414z\",\"fill\":\"#2A2D52\",\"fill-opacity\":\".01\",\"mask\":\"url(#a)\"}})])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./TranscriptSearchFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./TranscriptSearchFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TranscriptSearchFilter.vue?vue&type=template&id=ce4973d4&scoped=true&\"\nimport script from \"./TranscriptSearchFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./TranscriptSearchFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TranscriptSearchFilter.vue?vue&type=style&index=0&id=ce4973d4&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ce4973d4\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\"\nimport { mapMutations } from \"vuex\"\n\nconst GlobalMixin = Vue.mixin({\n computed: {\n isApplicationInIFrame () {\n return window.self !== window.top\n }\n },\n methods: {\n ...mapMutations({\n hideDashboardMenu: \"dashboardStore/hideDashboardMenu\",\n setToastActiveState: \"toast/setToastActiveState\",\n setToastType: \"toast/setToastType\",\n setToastMessage: \"toast/setToastMessage\"\n }),\n sleep (ms) {\n return new Promise(resolve => setTimeout(resolve, ms))\n },\n pushOrReplaceRoute (routeUrl) {\n if (this.isApplicationInIFrame) return this.$router.replace(routeUrl)\n else return this.$router.push(routeUrl)\n },\n toPascalCase (str) {\n if (str.length < 1) return\n // group_number_1 => Group Number 1\n return str.replaceAll(\"_\", \" \").split(\" \").map(word => word[0].toUpperCase().concat(word.slice(1))).join(\" \")\n },\n mixinHideDashboardMenu () {\n this.hideDashboardMenu()\n },\n showGlobalToast ({ status, message }) {\n this.setToastActiveState(true)\n this.setToastType(status)\n this.setToastMessage(message)\n },\n hideGlobalToast () {\n this.setToastActiveState(false)\n this.setToastMessage(null)\n },\n evalString (text) {\n return text.replace(/{{.*?}}/g, match => {\n const variable = match.slice(2, -2)\n // eslint-disable-next-line no-eval\n return eval(\"this.\" + variable)\n })\n },\n async areObjectsEqual (object1, object2) {\n const keys1 = Object.keys(object1)\n const keys2 = Object.keys(object2)\n if (keys1.length !== keys2.length) {\n return false\n }\n for await (const key of keys1) {\n if (!object2[key]) {\n return false\n }\n if (object1[key].toString() !== object2[key].toString()) {\n return false\n }\n }\n return true\n },\n isValidNumber (number) {\n return (!isNaN(Number(number)) && number !== null) || number === 0\n },\n messageBaoSwift (message, shouldSendViaPostMsgAPI = true) {\n // By default, we send messages to bao Swift through the window.parent postMessage\n // API as the main application would be embedded in an iFrame. So it's a child to\n // parent communication\n\n // But in a few other cases, a message might also be sent to bao Swift while on a\n // separate tab altogether. In this case, we send the message using the chrome runtime\n // sendMessage API -> using the extension Id\n if (shouldSendViaPostMsgAPI) {\n if (window.parent && window.parent.postMessage) {\n window.parent.postMessage(message, \"*\")\n console.log(`Successfully sent ${message.type} message to bao SWIFT`)\n }\n } else {\n const extensionId = process.env.VUE_APP_BAO_SWIFT_ID\n\n return new Promise((resolve, reject) => {\n chrome.runtime.sendMessage(extensionId, message, (response) => {\n if (response && response.status === \"success\") {\n console.log(`Successfully sent ${message.type} message to bao SWIFT`)\n resolve(true)\n } else {\n reject(new Error(`Failed to send ${message.type} message to bao SWIFT`))\n }\n })\n })\n }\n },\n retrieveIFrameHostUrl (sender = \"call_setup\") {\n // This sends a message to bao Swift to send the host url to the main application\n // With this data, we can set the right counterpart\n\n // The sender parameter is to know which component sent the message so we know\n // where the return request should be triggered. By default, it's the call setup page\n this.messageBaoSwift({ type: \"retrieveIFrameHostUrl\", sender })\n },\n checkIfParentDomainIsAllowed (url) {\n // Messages from bao swift are only accepted on specific domains for security\n // reasons. So this checks that the message is coming from an accepted domain\n const domain = new URL(url).hostname\n const supportedDomains = [\n \"hubspot.com\", \"lightning.force.com\", \"pipedrive.com\", \"dynamics.com\", \"zendesk.com\",\n \"app.salesloft.com\", \"sugarcrm\", \"meet.google.com\", \"my.salesforce.com\"\n ]\n const domainRegex = new RegExp(supportedDomains.join(\"|\"))\n return domainRegex.test(domain)\n },\n isEmailValid (email) {\n const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/\n return emailRegex.test(email)\n }\n }\n})\n\nexport default GlobalMixin\n","const Signout = () => import(/* webpackChunkName: \"Signout\" */ \"./SignoutModal.vue\")\n\n// exports basic app infos required for other modules and CallViewItem_components\nconst baseUrl = \"/\"\nexport default {\n name: \"Home\",\n apiUrl: \"/api\" + baseUrl,\n route: {\n path: baseUrl,\n redirect: \"/call\"\n },\n routes: [\n { path: \"/signout\", component: Signout }\n ]\n}\n","const BaoValueConfigurator = () => import(/* webpackChunkName: \"BaoValueConfigurator\" */ \"./BaoValueList.vue\")\n\n// exports basic app infos required for other modules and CallViewItem_components\nconst baseUrl = \"/baovalue\"\n\nexport default {\n name: \"BaoValue\",\n apiUrl: \"/api/baovaluemapping\",\n route: {\n path: baseUrl,\n component: BaoValueConfigurator\n }\n}\n","const ResultItemConfigurator = () => import(/* webpackChunkName: \"ResultItemConfigurator\" */ \"./ResultItemList.vue\")\n\n// exports basic app infos required for other modules and CallViewItem_components\nconst baseUrl = \"/conversationresult\"\n\nexport default {\n name: \"CallResult\",\n apiUrl: \"/api/resultitems\",\n route: {\n path: baseUrl,\n component: ResultItemConfigurator\n }\n}\n","const CoPilotCreate = () => import(/* webpackChunkName: \"CoPilotCreate\" */ \"./CoPilotCreate.vue\")\nconst CoPilotHome = () => import(/* webpackChunkName: \"CoPilotHome\" */ \"./CoPilotHome.vue\")\nconst CoPilot = () => import(/* webpackChunkName: \"CoPilot\" */ \"./CoPilot.vue\")\n\nconst baseUrl = \"/co-pilot\"\nexport default {\n name: \"Co-pilot\",\n route: {\n path: baseUrl,\n component: CoPilot,\n children: [\n {\n path: \"\",\n component: CoPilotHome\n },\n {\n path: \"create-playbook\",\n component: CoPilotCreate\n }\n ]\n }\n}\n","import Vue from \"vue\"\nimport VueRouter from \"vue-router\"\nimport store from \"./store\"\n\nimport playbookApp from \"./apps/talkscript\"\nimport counterpartApp from \"./apps/counterpart\"\nimport newCallApp, { callMainApp } from \"./apps/call\"\nimport callHistoryApp from \"./apps/call_history\"\nimport mainApp from \"./apps/base\"\nimport userApp from \"./apps/user\"\nimport dashboardApp from \"./apps/dashboard\"\nimport BaoValue from \"./apps/baovalue\"\nimport CallResult from \"./apps/callresult\"\nimport CoPilot from \"./apps/co_pilot\"\nimport { externalShareComponentUrl } from \"@/apps/call_sharing\"\n\nconst OauthLoginHandler = () => import(/* webpackChunkName: \"OauthLoginHandler\" */ \"./apps/IntegrationHandlers/OauthLoginHandler.vue\")\nconst DRFCharts = () => import(/* webpackChunkName: \"DRFCharts\" */ \"./apps/DRFCharts/DRFCharts.vue\")\nconst MainContainer = () => import(/* webpackChunkName: \"MainContainer\" */ \"./apps/MainApp.vue\")\nconst printCallSummary = () => import(/* webpackChunkName: \"printCallSummary\" */ \"./apps/call_history/CallPrintView.vue\")\nconst LoginView = () => import(/* webpackChunkName: \"LoginView\" */ \"./apps/base/LoginPage.vue\")\nconst PasswordReset = () => import(/* webpackChunkName: \"PasswordReset\" */ \"./apps/base/PasswordResetPage.vue\")\nconst PlentyMarketsLogin = () => import(/* webpackChunkName: \"PlentyMarketsLogin\" */ \"./apps/IntegrationHandlers/PlentyMarketsLogin.vue\")\nconst Dynamics365ResourceSelector = () => import(/* webpackChunkName: \"Dynamics365ResourceSelector\" */ \"./apps/IntegrationHandlers/Dynamics365ResourceSelector.vue\")\nconst SugarCrmLogin = () => import(/* webpackChunkName: \"Dynamics365ResourceSelector\" */ \"./apps/IntegrationHandlers/SugarCrmLogin.vue\")\nconst SharedCall = () => import(/* webpackChunkName: \"SharedCall\" */ \"./apps/call_sharing/SharedCall.vue\")\n\nexport const registeredApps = [\n mainApp, newCallApp, callHistoryApp, playbookApp, counterpartApp, userApp, dashboardApp, BaoValue, CallResult, CoPilot\n]\n\nlet mainContainerChildren = []\nfor (const index in registeredApps) {\n if (registeredApps[index].route) {\n mainContainerChildren.push(registeredApps[index].route)\n }\n if (registeredApps[index].routes && Array.isArray(registeredApps[index].routes)) {\n mainContainerChildren = mainContainerChildren.concat(registeredApps[index].routes)\n }\n}\n\nconst ifNotAuthenticated = (to, from, next) => {\n const userLoggedIn = store.getters[\"auth/isUserAuthenticated\"]\n if (!userLoggedIn) {\n // The route has to be replaced when the application is in an iFrame which would be true if window.self !== window.top\n const nextData = { path: \"/login\", replace: window.self !== window.top }\n if (to.fullPath && to.fullPath.length > 1) {\n nextData.query = { redirect: to.fullPath }\n }\n next(nextData)\n } else {\n const user = store.getters[\"auth/user\"]\n window.sendinblue.identify(user.email, user)\n next()\n }\n}\n\nmainContainerChildren.push({\n name: callMainApp.name,\n path: callMainApp.path,\n component: callMainApp.component,\n beforeEnter: ifNotAuthenticated\n})\n\nconst baseRoutes = [\n {\n path: \"/login\",\n component: LoginView\n },\n {\n path: \"/password_change/:token\",\n component: PasswordReset\n },\n {\n path: \"/\",\n component: MainContainer,\n children: mainContainerChildren,\n beforeEnter: ifNotAuthenticated\n },\n {\n path: \"/print-summary/:callId\",\n component: printCallSummary,\n props: true,\n beforeEnter: ifNotAuthenticated\n },\n {\n path: \"/oauthlogin/:service\",\n component: OauthLoginHandler,\n props: true\n },\n {\n path: \"/plentymarketslogin\",\n component: PlentyMarketsLogin\n },\n {\n path: \"/sugarcrmlogin\",\n component: SugarCrmLogin\n },\n {\n path: \"/dynamics365Resource\",\n component: Dynamics365ResourceSelector\n },\n {\n path: \"/bao-qe\",\n component: DRFCharts,\n beforeEnter: ifNotAuthenticated\n },\n {\n path: `${externalShareComponentUrl}/:id`,\n component: SharedCall\n },\n {\n path: \"*\",\n redirect: \"/\"\n }\n]\n\nVue.use(VueRouter)\n\nconst router = new VueRouter({\n mode: \"history\",\n routes: baseRoutes,\n scrollBehavior (to, from, savedPosition) {\n if (savedPosition) return savedPosition\n if (to.hash) return { selector: to.hash }\n return { x: 0, y: 0 }\n }\n})\n\nrouter.beforeEach((to, from, next) => {\n window.sendinblue.page(to.path, { full_path: to.fullPath })\n next()\n})\n\nexport default router\n","import appInfo from \".\"\nimport axios from \"axios\"\nimport Vue from \"vue\"\nimport { baoDelayService } from \"@/apps/call\"\n\n// exports services required for other modules and CallViewItem_components\nexport const playbookServices = {\n name: \"PlaybookServices\",\n httpRequestService: axios,\n runningIndex: 0,\n methods: {\n getUniqueId () {\n playbookServices.runningIndex += 1\n return \"playbookItem\" + Date.now() + Math.floor(Math.random()) + \"-\" + playbookServices.runningIndex\n },\n getDefaultPlaybookItem ({ parent = null, order = null, isObjection = false, isMainContainer = false } = {}) {\n let itemType = \"static\"\n let name = \"Item Name\"\n if (isMainContainer) {\n itemType = \"container\"\n name = \"MainContainer\"\n }\n let defaultPlaybookItem = {\n additional_talkscripts: [],\n additionalPlaybookFlag: false,\n answer_choices: [],\n display_text: \"\",\n ending_item: false,\n is_objection: isObjection,\n is_library_item: false,\n item_type: itemType,\n linked_field: {},\n name,\n note: true,\n objectionFlag: false,\n objections: [],\n open: true,\n relevant_for_text_match: false,\n settings: false,\n tags: [],\n uniqueId: playbookServices.methods.getUniqueId(),\n versions: []\n }\n // parent id is required so that the newly created item can be attached to the parent in backend\n if (parent || order) {\n defaultPlaybookItem = parent ? { ...defaultPlaybookItem, parent, order } : { ...defaultPlaybookItem, order }\n } else {\n if (!isMainContainer) defaultPlaybookItem = { ...defaultPlaybookItem, is_library_item: true }\n }\n return defaultPlaybookItem\n },\n transformItem (item, mainContainer) {\n item.uniqueId = item.uniqueId || playbookServices.methods.getUniqueId()\n Vue.set(item, \"open\", true)\n Vue.set(item, \"settings\", false)\n if (item.objections && item.objections.length > 0) {\n Vue.set(item, \"objectionFlag\", true)\n } else if (!item.objectionFlag) Vue.set(item, \"objectionFlag\", false)\n Vue.set(item, \"currentVersionId\", playbookServices.methods.getVersionId(item))\n if (mainContainer && mainContainer.id) item.parent = mainContainer.id\n if (!item.linked_field) item.linked_field = {}\n if (item.with_importance === undefined && item.answer_choices && item.answer_choices.length > 0) {\n item.with_importance = item.answer_choices.some(answer => answer.with_importance)\n }\n\n // Used to keep track of all the waiting-update promises. It is loaded when item change request is sent and\n // used when needed to execute all operations instantly\n item.waitingUpdatePromises = []\n return item\n },\n savePlaybook (playbook) {\n return new Promise((resolve, reject) => {\n let method = \"post\"\n let url = appInfo.apiUrl.playbook\n // check if saving as a new playbook only then do a update else create new container and playbook\n if (playbook.id) {\n method = \"patch\"\n url += \"/\" + playbook.id\n }\n playbookServices.httpRequestService[method](url, playbook).then((response) => {\n resolve(response.data)\n }, (error) => {\n reject(error)\n })\n })\n },\n saveMainContainer (mainContainer) {\n return playbookServices.httpRequestService.patch(\n appInfo.apiUrl.playbookItem + \"/\" + mainContainer.id,\n {\n children: mainContainer.children ? mainContainer.children.map(playbookServices.methods.prepareItemForSave) : [],\n objections: mainContainer.objections,\n additional_talkscripts: mainContainer.additional_talkscripts\n }\n )\n },\n prepareItemForSave (playbookItem) {\n // TODO: simplify this method and the general workflow how playbook items are saved\n const {\n id,\n name,\n item_type,\n display_text,\n answer_choices,\n data,\n ending_item,\n note,\n linked_field,\n required,\n collapse,\n additional_talkscripts,\n objections,\n parent,\n order,\n crm_items,\n is_library_item,\n relevant_for_text_match\n } = playbookItem\n const itemToSave = {\n id,\n name,\n item_type,\n display_text,\n answer_choices,\n data,\n ending_item,\n note,\n required,\n collapse,\n parent,\n order,\n objections,\n crm_items,\n is_library_item,\n relevant_for_text_match\n }\n if (additional_talkscripts) {\n itemToSave.additional_talkscripts = additional_talkscripts\n }\n if (objections && objections.length > 0) {\n itemToSave.objections = objections\n }\n if (linked_field && Object.keys(linked_field).length > 0) {\n itemToSave.linked_field = { ...linked_field, crm_object_link: linked_field.crm_object_link.id }\n }\n if (itemToSave.answer_choices) {\n const answerChoices = itemToSave.answer_choices.map((item, index) => {\n return {\n id: item.id ? item.id : null,\n label: item.label,\n with_importance: !!playbookItem.with_importance,\n order: index + 1,\n actions: item.actions.map(answerAction => {\n return {\n type: answerAction.type,\n data: answerAction.data,\n order: answerAction.order\n }\n }),\n tags: item.tags\n }\n })\n itemToSave.data = { input_items: answerChoices }\n }\n return itemToSave\n },\n setImportance (items) {\n if (!items || items.length === 0) {\n return []\n }\n return items.map(item => {\n item.with_importance = item.answer_choices ? item.answer_choices.some(item => item.with_importance) : false\n return item\n })\n },\n saveObjection (objection, relatedItemId) {\n return new Promise((resolve, reject) => {\n const playbook = { name: objection.name, type: \"objection\" }\n if (objection.talkscript) playbook.id = objection.talkscript\n const playbookPromise = playbookServices.methods.savePlaybook(playbook)\n return playbookPromise.then(newPlaybook => {\n const newMainContainer = newPlaybook.main_container\n newMainContainer.children = objection.workflow.children\n\n newMainContainer.objections = []\n const mainContainerPromise = playbookServices.methods.saveMainContainer(newMainContainer)\n return mainContainerPromise.then(() => {\n objection.talkscript = newPlaybook.id\n return playbookServices.methods.saveObjectionChoice(objection, relatedItemId).then(resolve)\n })\n }).catch(error => {\n reject(error)\n })\n })\n },\n getObjectionChoice (objectionChoiceId) {\n const url = appInfo.apiUrl.objectionChoice + \"/\" + objectionChoiceId\n return playbookServices.httpRequestService.get(url)\n },\n saveObjectionChoice (objection, relatedItemId) {\n // save the objection choice itself\n let url = appInfo.apiUrl.objectionChoice\n let method = \"post\"\n if (objection.id) {\n url += \"/\" + objection.id\n method = \"put\"\n }\n let connectedPlaybookItems = objection.talkscript_items\n if (!connectedPlaybookItems) {\n connectedPlaybookItems = [relatedItemId]\n } else if (connectedPlaybookItems.indexOf(relatedItemId) < 0) {\n connectedPlaybookItems.push(relatedItemId)\n }\n return playbookServices.httpRequestService[method](url, {\n name: objection.name,\n talkscript_items: connectedPlaybookItems,\n talkscript: objection.talkscript,\n order: objection.order\n })\n },\n cloneTemplate (playbookId, newPlaybookName, targetSchema = null) {\n return new Promise((resolve, reject) => {\n const data = { id: playbookId, name: newPlaybookName }\n if (targetSchema) data.schema_name = targetSchema\n const url = appInfo.apiUrl.playbookClone\n playbookServices.httpRequestService.post(url, data).then(response => {\n resolve(response.data.id)\n }, error => {\n reject(error)\n })\n })\n },\n addNewPlaybookItem (parent, items, array) {\n /**\n * Adds the newly created items in array(playbook item list) and sends a request to backend for creation\n * if items were added in the middle of the array then, send an order-change request for the parent\n */\n return new Promise((resolve, reject) => {\n const arrayLength = array.length\n if (items[0].order > arrayLength + 1) {\n reject(new Error(\"Item's order out of range\"))\n return\n }\n const itemCreationPromises = []\n for (const item of items) {\n itemCreationPromises.push(playbookServices.methods.saveAndAddItem(item, array))\n }\n Promise.all(itemCreationPromises).then(() => {\n if (items[0].order < arrayLength + 1) {\n return playbookServices.methods.handleOrderChanged(parent, array).then(resolve)\n } else if (items[0].order === arrayLength + 1) {\n resolve()\n }\n }).catch(error => {\n reject(error)\n })\n })\n },\n createNewPlaybookAtEnd (parent, playbookItems, isObjection = false) {\n return new Promise((resolve, reject) => {\n const itemPosition = playbookItems.length + 1\n const item = playbookServices.methods.getDefaultPlaybookItem({\n parent: parent.id,\n order: itemPosition,\n isObjection\n })\n playbookServices.methods.addNewPlaybookItem(parent, [item], playbookItems).then(() => {\n resolve()\n }).catch(error => {\n reject(error)\n })\n })\n },\n saveAndAddItem (item, array) {\n /**\n * This method adds the item to playbook-items list and creates it at the backend\n * it sets the loading flag so that the user is notified of the item being created\n */\n return new Promise((resolve, reject) => {\n Vue.set(item, \"loading\", true)\n const itemIndex = item.order - 1\n array.splice(itemIndex, 0, item)\n item.loadingPromise = playbookServices.methods.savePlaybookItem(item).then(response => {\n Vue.set(item, \"currentVersionId\", playbookServices.methods.getVersionId(response.data))\n Object.assign(item, response.data)\n Vue.set(item, \"loading\", false)\n resolve(item)\n }).catch(error => {\n // During this request if any item was deleted, the index can change, so we find the index of the item based\n // on uniqueId and then remove it from the array\n array.splice(playbookServices.methods.findItemIndex(array, item), 1)\n Vue.set(item, \"error\", error)\n Vue.set(item, \"loading\", false)\n reject(error)\n })\n })\n },\n findItemIndex (array, item) {\n return array.findIndex(element => element.uniqueId === item.uniqueId)\n },\n getResolvedPromise () {\n return Promise.resolve()\n },\n handleSavePlaybookItem (item, delay = 10000) {\n const time = item.noRequestDelay ? 100 : delay\n return new Promise((resolve, reject) => {\n const opId = playbookServices.methods.getSaveItemOpId(item)\n // The item has to be cloned so that during the wait of delayedOperation, if item was updated with invalid data-\n // i.e., for example if the item name was made blank, then we still have the latest \"validated\" version of\n // the item to save\n const clonedItem = JSON.parse(JSON.stringify(item))\n if (clonedItem.clonedItem) delete clonedItem.clonedItem\n item.clonedItem = clonedItem\n // The following line is required so that if the axios request is in-progress then wait for it to complete\n // before adding new request to the queue.\n // getResolvedPromise is used for testing purpose\n const previousItemUpdatePromise = item.updateInProgress ? item.delayedUpdatePromise : playbookServices.methods.getResolvedPromise()\n // Create a pending promise for current request that is used to check if the item's update request is waiting\n // to be added to the delayed queue and resolve it when the current request is added to queue\n // This helps us to keep track of waiting promise in the queue\n let updateRequestAddedToDelayedQueue\n const waitingUpdateRequest = new Promise(function (resolve) {\n updateRequestAddedToDelayedQueue = resolve\n })\n item.waitingUpdatePromises = item.waitingUpdatePromises ? item.waitingUpdatePromises : []\n item.waitingUpdatePromises.push(waitingUpdateRequest)\n previousItemUpdatePromise.then(() => {\n item.delayedUpdatePromise = baoDelayService.methods.delayedOperation(opId,\n playbookServices.methods.saveAndUpdatePlaybookItem, item, time)\n // if the request was added to delayed Queue then resolve the \"waitingUpdateRequest\" promise.\n // This is needed to check if all the waiting promises were completed\n updateRequestAddedToDelayedQueue()\n return item.delayedUpdatePromise.then(() => {\n resolve()\n })\n }).catch(error => {\n reject(error)\n })\n })\n },\n saveAndUpdatePlaybookItem (item, config = { url: appInfo.apiUrl.playbookItem }) {\n return new Promise((resolve, reject) => {\n item.updateInProgress = true\n playbookServices.methods.savePlaybookItem(item, config).then((response) => {\n playbookServices.methods.semiUpdateItem(item, response.data)\n item.updateInProgress = false\n resolve(item)\n }).catch(error => {\n item.updateInProgress = false\n reject(error)\n })\n })\n },\n updateAdcIds (adcs, updatedAdcs) {\n /**\n * The newly created ADC ids in current item must be updated if the talkscript and ADC names of the updated item\n * matches with current item's Adc\n */\n for (const adc of adcs) {\n for (const updatedAdc of updatedAdcs) {\n if (adc.name === updatedAdc.name && adc.talkscript === updatedAdc.talkscript && !adc.id) {\n adc.id = updatedAdc.id\n }\n }\n }\n return adcs\n },\n semiUpdateItem (item, updatedItem) {\n /**\n * This method updates the item's id, versions, updated_at, additional_talkscripts ids and linked field id, enable\n * objectionFlag\n * If the additional_talkscripts' and linked_field ids are not updated, then everytime a new\n * additional_talkscript/linked_field is created when the item is updated\n */\n item.id = updatedItem.id\n item.versions = updatedItem.versions\n item.updated_at = updatedItem.updated_at\n item.currentVersionId = playbookServices.methods.getVersionId(updatedItem)\n if (item.additional_talkscripts.length > 0 && updatedItem.additional_talkscripts.length > 0) {\n item.additional_talkscripts = playbookServices.methods.updateAdcIds(item.additional_talkscripts, updatedItem.additional_talkscripts)\n }\n if (item.linked_field && !item.linked_field.id && updatedItem.linked_field && updatedItem.linked_field.id) {\n item.linked_field.id = updatedItem.linked_field.id\n }\n },\n savePlaybookItem (item, config = { url: appInfo.apiUrl.playbookItem }) {\n /**\n * This method updates/creates the item in the backend\n * Parameter: clonedItem - It is passed because the item might be updated when the system is waiting for the\n * the delay time and if during this delay, the item name/ crm field becomes invalid then the invalid data\n * shall be sent to backend resulting in error.\n * Parameter: item - It is used to check if the request for the item is in progress. It the update was in\n * progress then no request must be sent at the same time to avoid inconsistency\n */\n let method = \"post\"\n let url = config.url\n const data = playbookServices.methods.prepareItemForSave(item.clonedItem || item)\n if (item.id) {\n method = \"put\"\n url = url + \"/\" + item.id\n }\n return playbookServices.httpRequestService[method](url + \"?versioned=True\", data)\n },\n handleOrderChanged (item, children, delayTime = 3000) {\n return new Promise((resolve, reject) => {\n const data = {\n id: item.id,\n children: children.filter(item => !!item.id).map(item => item.id),\n objections: item.objections.filter(item => !!item.id).map(item => item.id)\n }\n const opId = playbookServices.methods.getUpdateOrderOpId(item)\n item.orderChangedPromise = baoDelayService.methods.delayedOperation(opId,\n playbookServices.methods.updateItemsOrder, data, delayTime)\n .then(() => {\n resolve()\n })\n .catch(error => {\n Vue.set(item, \"error\", error)\n reject(error)\n })\n })\n },\n updateItemsOrder (data) {\n return new Promise((resolve, reject) => {\n const url = \"/api/talkscriptitems/\" + data.id + \"/update_order\"\n playbookServices.httpRequestService.put(url, data).then(() => {\n resolve()\n }).catch(error => {\n reject(error)\n })\n })\n },\n getVersionLabel (item, versionId) {\n /**\n * Returns the version name(index + create_at field) that corresponds to the version-id which is selected in dropdown\n */\n const length = item.versions.length\n const index = item.versions.findIndex(version => version.id === versionId)\n if (index > -1) {\n return (length - index) + \" - \" + item.versions[index].created_at\n }\n return null\n },\n getVersionId (item) {\n /**\n * Returns the version id that corresponds to the main item's update_at\n */\n const index = item.versions.findIndex(version => version.updated_at === item.updated_at)\n if (index > -1) {\n return item.versions[index].id\n }\n return null\n },\n getSaveItemOpId (item) {\n // Not using item id because initially item has no id\n return \"save-playbook-item-\" + item.parent + \"-\" + item.uniqueId\n },\n getSavePlaybookOpId (playbook) {\n return \"save-playbook\" + playbook.id\n },\n getUpdateOrderOpId (item) {\n // Not using unique id because mainContainer has no uniqueId\n return \"item-update-order-\" + item.id\n },\n getAllPendingPromisesForItem (item) {\n // TODO. if any item update request is pending(waiting for delete to complete) then this method must also\n // get the pending promise into account.\n // On objection and answer deletion, the item update executes after the deletion request is completed from\n // backend, during the deletion request if this method is called it doesnt wait for that item-update request to\n // complete hence, add it to the queue waitingPromiseQueue\n /**\n * Returns all the pending promises for the item\n */\n const waitingPromises = []\n const opId = playbookServices.methods.getSaveItemOpId(item)\n if (item.loading) {\n // if loading, the item is being created or being updated to a version, then wait for item to finish loading\n waitingPromises.push(item.loadingPromise)\n } else if (item.updateInProgress) {\n // if updateInProgress, the item is being updated(request is sent) and waiting for the server to respond, then wait\n // for update operation to complete and also wait for all operations that were waiting to be put in the queue\n // to execute, then immediately execute it once they are all in the queue\n const promise = playbookServices.methods.waitAndExecuteAllOperations(item, opId)\n waitingPromises.push(promise)\n } else {\n // the operation is not yet executed because the it is waiting for 10 secs delay time so execute it immediately\n waitingPromises.push(baoDelayService.methods.executeDelayedOperation(opId))\n }\n // TODO: Order change on item never happens. It is currently not needed\n // Execute the order update promise immediately if in delayed queue and add it to list\n const updateOrderOpId = playbookServices.methods.getUpdateOrderOpId(item)\n waitingPromises.push(baoDelayService.methods.executeDelayedOperation(updateOrderOpId))\n return waitingPromises\n },\n waitAndExecuteAllOperations (item, opId) {\n return item.delayedUpdatePromise.then(() => {\n Promise.all(item.waitingUpdatePromises).then(() => {\n item.waitingUpdatePromises = []\n baoDelayService.methods.executeDelayedOperation(opId)\n })\n })\n },\n getAllPendingPromisesForPlaybook (playbook, parent, playbookItems) {\n /**\n * Returns all the pending promises for all the items and mainContainer in the playbook\n */\n const pendingPromises = []\n for (const item of playbookItems) {\n pendingPromises.push(...playbookServices.methods.getAllPendingPromisesForItem(item))\n }\n // Execute the parent's order update promise immediately if in delayed queue and add it to list\n const updateOrderOpId = playbookServices.methods.getUpdateOrderOpId(parent)\n pendingPromises.push(baoDelayService.methods.executeDelayedOperation(updateOrderOpId))\n\n // Execute the playbook name change promise immediately if in delayed queue and add it to list\n if (playbook) {\n const playbookOpId = playbookServices.methods.getSavePlaybookOpId(playbook)\n pendingPromises.push(baoDelayService.methods.executeDelayedOperation(playbookOpId))\n }\n return pendingPromises\n },\n executeAllOperationsForPlaybook (playbook, parent, playbookItems) {\n /**\n * Waits(if necessary in-case the request was already sent to backend) and executes all the operations\n * (delayed/waiting/in-progress) on all the playbook items and mainContainer of the playbook\n */\n const pendingPromisesForPlaybook = playbookServices.methods.getAllPendingPromisesForPlaybook(playbook, parent, playbookItems)\n return Promise.all(pendingPromisesForPlaybook)\n },\n deleteObjection (objection, item) {\n return new Promise((resolve, reject) => {\n playbookServices.httpRequestService.delete(\"/api/objectionchoices/\" + objection.id + \"?playbook_item=\" + item.id).then(() => {\n resolve()\n }).catch(error => {\n reject(error)\n })\n })\n },\n extractErrorMessage (error) {\n if (error && error.response) {\n if (error.response.status >= 500) return error\n if (error.response.data && error.response.data.detail) return error.response.data.detail\n return JSON.stringify(error.response.data)\n }\n return error\n },\n linkPlaybookItem (selectedLibraryItem, mainContainer, itemPosition) {\n return new Promise((resolve, reject) => {\n this.$set(selectedLibraryItem, \"loading\", true)\n playbookServices.httpRequestService.put(`${appInfo.apiUrl.playbookItem}/${mainContainer.id}/link_child`,\n { child: selectedLibraryItem.id, order: itemPosition + 1 }).then(response => {\n this.$set(selectedLibraryItem, \"loading\", false)\n resolve()\n }).catch(error => {\n this.$set(selectedLibraryItem, \"loading\", false)\n reject(error)\n })\n })\n }\n }\n\n}\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./PercentageFilter.vue?vue&type=style&index=0&id=39ac8bb2&prod&scoped=true&lang=scss&\"","import axios from \"axios\"\n\nconst state = {\n users: [],\n emailFail: false,\n tokenFail: false\n}\n\nconst getters = {}\n\nconst mutations = {\n setUsers (state, users) {\n state.users = users\n },\n setUser (state, user) {\n state.user = user\n },\n setEmailFail (state, bool) {\n state.emailFail = bool\n },\n setTokenFail (state, bool) {\n state.tokenFail = bool\n }\n}\n\nconst actions = {\n getUsersList (context) {\n return axios.get(\"/api/users\")\n .then(response => { context.commit(\"setUsers\", response.data) })\n .catch(e => { console.log(e) })\n },\n getUser (context, userId) {\n return axios.get(\"/api/users/\" + userId)\n .then(response => { context.commit(\"setUser\", response.data) })\n .catch(e => { console.log(e) })\n },\n createUser (context, payload) {\n const avatar = payload.avatar\n delete payload.avatar\n\n return axios.post(\"/api/users/\", payload)\n .then(response => {\n // Image upload\n if (typeof avatar === \"object\") {\n const data = new FormData()\n data.append(\"avatar\", avatar)\n return axios.patch(\"/api/users/\" + response.data.id, data)\n }\n })\n .catch(e => { console.log(e) })\n },\n editUser (context, payload) {\n const avatar = payload.avatar\n delete payload.avatar\n\n return axios.patch(\"/api/users/\" + payload.id, payload)\n .then(response => {\n // Image upload\n if (typeof avatar === \"object\") {\n const data = new FormData()\n data.append(\"avatar\", avatar)\n return axios.patch(\"/api/users/\" + payload.id, data)\n }\n })\n .catch(e => { console.log(e) })\n },\n deleteUser (context, userId) {\n return axios.delete(\"/api/users/\" + userId)\n .then(response => {})\n .catch(e => { console.log(e) })\n },\n passwordReset (context, user) {\n return axios.post(\"/api/users/password_reset/\", user)\n .then(response => { context.commit(\"setEmailFail\", false) })\n .catch(e => { context.commit(\"setEmailFail\", true) })\n },\n passwordChange (context, payload) {\n return axios.post(\"/api/users/password_change/\", payload)\n .then(response => { context.commit(\"setTokenFail\", false) })\n .catch(e => { context.commit(\"setTokenFail\", true) })\n }\n}\n\nexport default {\n state,\n getters,\n mutations,\n actions\n}\n","import { debug } from \"@/utils/utils\"\n\nexport default {\n registerUser (userData) {\n try {\n if (!pendo) return\n pendo.initialize({\n visitor: {\n ...userData,\n id: userData.email, // Required if user is logged in\n email: userData.email, // Recommended if using Pendo Feedback, or NPS Email\n full_name: userData.full_name // Recommended if using Pendo Feedback\n // role: // Optional\n\n // You can add any additional visitor level key-values here,\n // as long as it's not one of the above reserved names.\n },\n\n account: {\n id: userData.client_schema_name, // Required if using Pendo Feedback\n name: userData.client_name // Optional\n // is_paying: // Recommended if using Pendo Feedback\n // monthly_value:// Recommended if using Pendo Feedback\n // planLevel: // Optional\n // planPrice: // Optional\n // creationDate: // Optional\n\n // You can add any additional account level key-values here,\n // as long as it's not one of the above reserved names.\n }\n })\n } catch (e) {\n debug.log(e)\n }\n }\n}\n","import axios from \"axios\"\nimport { getUserProfile, clearStorage } from \"@/utils/authenticationManager\"\nimport { canDebug } from \"@/utils/utils\"\nimport pendoManager from \"@/utils/pendoManager\"\n\nconst state = {\n isLoggedIn: false,\n user: null,\n crmIntegrations: {},\n crmDataLoading: false\n}\n\nexport const getters = {\n isUserAuthenticated: state => {\n return state.isLoggedIn\n },\n user: state => {\n return state.user\n },\n isGlobalAdmin: state => {\n return state.user.permissions.is_global_admin\n },\n isAdmin: state => {\n return state.user.is_admin\n },\n isSuperUser: state => {\n return state.user.is_superuser\n },\n isAdminOrSuperUser: state => {\n return state.user.is_admin || state.user.is_superuser\n },\n crmIntegrations: state => {\n return state.crmIntegrations\n },\n isCrmDataLoading: state => {\n return state.crmDataLoading\n },\n getCrmIntegrationErrors: state => {\n if (state.crmIntegrations && state.crmIntegrations.errors) return state.crmIntegrations.errors\n return null\n },\n userPermissions: state => {\n return !!state.user &&\n state.user.permissions\n ? state.user.permissions\n : {}\n },\n userCrmFeatures: (state, getters) => {\n return getters.userPermissions.can_use_features\n ? getters.userPermissions.can_use_features\n : []\n },\n canUseSaveToCrmFeature: (state, getters) => {\n return getters.userCrmFeatures.includes(\"saveToCrm\") && getters.userPermissions.allow_save_to_crm\n },\n canUseCrmEvent: (state, getters) => {\n return getters.userCrmFeatures.includes(\"createCrmEvent\")\n },\n canUseCrmTask: (state, getters) => {\n return getters.userCrmFeatures.includes(\"taskcreator\")\n },\n canUsePhoneCall: (state, getters) => {\n return getters.userCrmFeatures.includes(\"phone_call\")\n },\n canUseMeeting: (state, getters) => {\n return getters.userCrmFeatures.includes(\"meeting\")\n },\n canSendEmailThroughCRM: (state, getters) => {\n try {\n return getters.userCrmFeatures.includes(\"sendEmail\")\n } catch (err) {\n console.debug(err)\n }\n return false\n },\n canUseBaoValue: (state, getters) => {\n try {\n return getters.userPermissions.can_use_bao_value\n } catch (err) {\n console.debug(err)\n }\n return false\n },\n canStoreCRMData: (state, getters) => {\n try {\n return getters.userPermissions.can_store_crm_data\n } catch (err) {\n console.debug(err)\n }\n return false\n },\n canUseCallResult: (state, getters) => {\n try {\n return getters.userPermissions.can_use_call_result\n } catch (err) {\n console.debug(err)\n }\n return false\n },\n canUsePsychologicalContent: (state, getters) => {\n // TODO: remove this and it's use in code because this feature is obsolete.\n try {\n return getters.userPermissions.can_use_psychological_content\n } catch (err) {\n console.debug(err)\n }\n return false\n },\n canUseBaoCrm: state => {\n return !!state.crmIntegrations && !!state.crmIntegrations.bao\n },\n canUseCRM (state) {\n return !!state.crmIntegrations && Object.keys(state.crmIntegrations).length > 0\n },\n canUseAirCall: state => {\n return !!state.crmIntegrations && !!state.crmIntegrations.aircall // todo: rename crmIntegrations to integrations as integrated service may not necessarily be a CRM service.\n },\n showTextMatch: (state, getters) => {\n try {\n return (\n !!getters.userPermissions.speech_recognition &&\n !!getters.userPermissions.speech_recognition.show_text_match\n )\n } catch (err) {\n console.debug(err)\n }\n return false\n },\n canUseSpeechRecognition: (state, getters) => {\n try {\n return (\n !!getters.userPermissions.speech_recognition &&\n !!getters.userPermissions.speech_recognition.can_use_speech_recognition\n )\n } catch (err) {\n console.debug(err)\n }\n return false\n },\n canUseBaoAudio: (state, getters) => {\n try {\n return getters.userPermissions.can_use_bao_audio\n } catch (err) {\n console.debug(err)\n }\n return false\n },\n userAudioInputLanguage: state => {\n return state.user && state.user.audio_input_language ? state.user.audio_input_language : null\n },\n canUseBaoCoPilot (state, getters) {\n return getters.userPermissions.can_use_bao_co_pilot\n },\n canUseVideoIntegration (state, getters) {\n return getters.userPermissions.can_use_video_integration\n },\n canUseCalendarIntegration (state, getters) {\n return getters.userPermissions.can_use_calendar_integration\n },\n canUseLiveTranscription (state, getters) {\n return getters.userPermissions.can_use_live_transcription\n },\n canFilterOnUserBasis (state, getters) {\n return getters.userPermissions.can_filter_on_user_basis\n },\n canShowEncouragingMessage (state) {\n return (\n !!state.user &&\n !!state.user.show_celebration_theme\n )\n },\n canModifyCallsRealTag (state, getters) {\n return getters.userPermissions.can_modify_calls_real_tag\n }\n}\n\nexport const mutations = {\n login (state) {\n state.isLoggedIn = true\n },\n logout (state) {\n state.loggedIn = false\n state.user = {}\n clearStorage()\n },\n setUser (state, payload) {\n state.user = payload\n if (!canDebug) {\n pendoManager.registerUser(payload)\n }\n },\n setCRMIntegrations (state, payload) {\n state.crmIntegrations = payload\n },\n setCrmDataLoading (state, value) {\n state.crmDataLoading = value\n }\n}\n\nexport const actions = {\n getUser: async ({ commit, dispatch }) => {\n // TODO: Keep the following if state is store aware\n // const userProfile = state.user\n // if (userProfile) {\n // return Promise.resolve(userProfile)\n // }\n try {\n dispatch(\"getCrmIntegrationsForUser\")\n await getUserProfile().then(userProfile => {\n commit(\"login\")\n commit(\"setUser\", userProfile)\n // send message to bao swift to animate swift with value userProfile.animate_bao_swift\n dispatch(\"sendMessageToBaoSwift\", { type: \"animateBaoSwift\", value: !!userProfile.animate_bao_swift })\n })\n } catch (error) {\n console.log(error)\n commit(\"logout\")\n return Promise.reject(error)\n }\n },\n getCrmIntegrationsForUser ({ commit }) {\n commit(\"setCrmDataLoading\", true)\n return new Promise((resolve, reject) => {\n axios.get(\"/api/users/get_integrated_crms\").then(response => {\n commit(\"setCrmDataLoading\", false)\n commit(\"setCRMIntegrations\", response.data)\n resolve(response)\n }).catch(error => {\n commit(\"setCrmDataLoading\", false)\n reject(error)\n })\n })\n },\n sendMessageToBaoSwift ({ _ }, message) {\n if (window.parent && window.parent.postMessage) {\n window.parent.postMessage(message, \"*\")\n }\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\nimport { getBaoUserFromStorage } from \"@/utils/authenticationManager\"\n\nconst state = {\n i18n: []\n}\n\nconst getters = {\n getI18n: (state, getters, rootState) => (view, staticText) => {\n const filteredDataByView = state.i18n.reduce(function (data, item) {\n if (item.view === view) {\n data[item.key] = item.text\n }\n return data\n }, {})\n\n const errors = {}\n const data = {}\n for (const key in staticText) {\n if (!filteredDataByView[key]) {\n // assign the default static value if not present in backend\n data[key] = staticText[key]\n errors[key] = staticText[key]\n continue\n }\n data[key] = filteredDataByView[key]\n delete filteredDataByView[key]\n }\n for (const key in filteredDataByView) {\n errors[key] = null\n }\n if (\n Object.keys(errors).length &&\n rootState.auth.user &&\n rootState.auth.user.language !== \"en\"\n ) {\n console.log(\"Unable to retrieve these fields from \" + view + \":\" + \"\\n\")\n console.error(errors)\n }\n return data\n }\n}\n\nconst mutations = {\n setI18n (state, data) {\n state.i18n = data\n }\n}\n\nconst actions = {\n async getI18nData (context) {\n const i18nUrl = \"/api/i18n/\"\n if (getBaoUserFromStorage()) {\n return axios.get(i18nUrl).then(response => {\n context.commit(\"setI18n\", response.data)\n })\n }\n return Promise.reject(new Error(\"Not logged in\")).catch(() => {})\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\nimport Vue from \"vue\"\n\nconst state = {\n selectedCalls: {},\n currentCall: {},\n currentCallItem: null\n}\n\nconst getters = {\n getSelectedCalls: state => {\n return state.selectedCalls\n },\n getCurrentCallItem (state) {\n return state.currentCallItem\n }\n}\n\nconst mutations = {\n addToSelectedCalls (state, call) {\n if (!state.selectedCalls[call.id]) {\n Vue.set(state.selectedCalls, call.id, call)\n }\n },\n removeFromSelectedCalls (state, call) {\n if (state.selectedCalls[call.id]) {\n Vue.delete(state.selectedCalls, call.id)\n }\n },\n clearSelectedCalls (state) {\n state.selectedCalls = {}\n },\n setCallItem (state, newItem) {\n state.currentCallItem = newItem\n },\n resetCallItem (state) {\n state.currentCallItem = null\n }\n}\n\nconst actions = {\n setCallItem (context, item) {\n context.commit(\"setCallItem\", item)\n },\n resetCallItem (context) {\n context.commit(\"resetCallItem\")\n },\n callSelected (context, call) {\n context.commit(\"addToSelectedCalls\", call)\n },\n callDeselected (context, call) {\n context.commit(\"removeFromSelectedCalls\", call)\n },\n clearSelectedCalls (context) {\n context.commit(\"clearSelectedCalls\")\n },\n deleteSelectedCalls ({ dispatch, context }, calls) {\n const deletePromises = []\n for (const i in calls) {\n const call = calls[i]\n const deletePromise = axios.delete(\"/api/calls/\" + call.id).then(() => {\n dispatch(\"callDeselected\", call)\n }).catch(error => {\n throw (error)\n })\n deletePromises.push(deletePromise)\n }\n return Promise.all(deletePromises)\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\n\nconst state = {\n allPlaybooks: [],\n defaultPlaybook: null\n}\n\nconst getters = {\n getAllPlaybooks (state) {\n return state.allPlaybooks\n },\n getDefaultPlaybook (state) {\n return state.defaultPlaybook\n }\n}\n\nconst mutations = {\n setAllPlaybooks (state, playbooks) {\n state.allPlaybooks = playbooks\n },\n setDefaultPlaybook (state, playbook) {\n state.defaultPlaybook = playbook\n }\n}\n\nconst actions = {\n async fetchAllPlaybooks ({ commit }, queryParams = {}) {\n try {\n queryParams = { ...queryParams, type: \"default\", active: \"True\" }\n const { data } = await axios.get(\"/api/talkscripts/get_min_view\", { params: queryParams })\n commit(\"setAllPlaybooks\", data.sort((a, b) => a.name.localeCompare(b.name)))\n } catch (error) {\n console.error(error, \"error\")\n }\n },\n async fetchDefaultPlaybook ({ commit }) {\n try {\n const { data } = await axios.get(\"/api/talkscripts/get_default\")\n\n if (data && Object.keys(data).length) commit(\"setDefaultPlaybook\", data)\n else commit(\"setDefaultPlaybook\", null)\n } catch (error) {\n console.error(error, \"error\")\n }\n },\n async setDefaultPlaybook ({ commit }, playbook) {\n try {\n const { data } = await axios.get(`/api/talkscripts/${playbook.id}/set_default`)\n commit(\"setDefaultPlaybook\", data)\n } catch (error) {\n\n }\n },\n async unsetDefaultPlaybook ({ commit }) {\n await axios.get(\"/api/users/unset_default_playbook\")\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\n\nconst state = {\n nonSystemLabels: []\n}\n\nconst getters = {\n getAllNonSystemLabels (state) {\n return state.nonSystemLabels\n }\n}\n\nconst mutations = {\n setAllNonSystemLabels (state, nonSystemLabels) {\n state.nonSystemLabels = nonSystemLabels\n }\n}\n\nconst actions = {\n async fetchAllNonSystemLabels ({ commit }) {\n try {\n const { data } = await axios.get(\"/api/tags/get_non_system_tags\")\n commit(\"setAllNonSystemLabels\", data)\n } catch (error) {\n\n }\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\n\nexport const findCRMLookupFieldValueById = async (crmService, lookupFieldType, crmId) => {\n try {\n const url = `/api/oauthservices/${crmService}/get_lookup_value_by_id/`\n const { data } = await axios.get(url, {\n params: {\n type: lookupFieldType,\n crm_id: crmId\n }\n })\n return data\n } catch (error) {\n console.debug(error)\n }\n}\n","import debounce from \"lodash/debounce\"\nimport axios from \"axios\"\nimport { findCRMLookupFieldValueById } from \"@/store/utils\"\n\nexport const updateCounterpartsWithLoadedDataWithBaoRecord = async (counterpartsWithLoadedData) => {\n const crmService = \"dynamics365\"\n\n for (const [key, counterpart] of Object.entries(counterpartsWithLoadedData)) {\n if (key.startsWith(`${crmService}-`)) {\n const externalResource = counterpart.external_resource\n if (!externalResource) continue\n\n let baoRecordCrmId, baoRecordType, baoRecordData\n\n for (const resourceKey in externalResource) {\n const match = resourceKey.match(/^(.*)_baorecord_value$/)\n if (match) {\n baoRecordType = `${match[1].split(\"_\")[1]}_baorecord`\n baoRecordCrmId = externalResource[resourceKey]\n break\n }\n }\n // Note: All counterparts of various types can have a linked bao record,\n // but we can only display data for one bao record at a time\n if (!baoRecordCrmId) break // CRM Id value can be null or undefined\n\n if (baoRecordCrmId && baoRecordType) {\n baoRecordData = await findCRMLookupFieldValueById(crmService, baoRecordType, baoRecordCrmId)\n baoRecordData.crmDataLoaded = counterpart.crmDataLoaded\n counterpartsWithLoadedData[`${crmService}-${baoRecordType}`] = baoRecordData\n\n break // Update only for the first counterpart with the bao record\n }\n }\n }\n\n return counterpartsWithLoadedData\n}\n\nconst state = {\n crmsSupportingLoadingOfData: { hubspot: true, salesforce: true, pipedrive: true, dynamics365: true, zendesk: true },\n loading: false,\n errors: null,\n searchRequest: null,\n triggerLoading: false,\n counterpartOptions: [],\n counterpartsWithSameCrmTypeAndService: null,\n counterpartsWithLoadedData: null,\n maxCrmServiceOfSameTypeCount: Number.NEGATIVE_INFINITY\n}\n\nconst getters = {\n CRMSupportsLoadingOfData: (state) => (counterpart) => {\n if (counterpart && counterpart.crm_service) {\n const counterpartCrmService = counterpart.crm_service\n return !!state.crmsSupportingLoadingOfData[counterpartCrmService]\n }\n return false\n },\n getLoading (state) {\n return state.loading\n },\n getErrors (state) {\n return state.errors\n },\n getCounterpartOptions (state) {\n return state.counterpartOptions\n },\n getCounterpartsWithSameCrmTypeAndService (state) {\n return state.counterpartsWithSameCrmTypeAndService\n },\n getMaxCrmServiceOfSameTypeCount (state) {\n return state.maxCrmServiceOfSameTypeCount\n },\n getCounterpartsWithLoadedData (state) {\n return state.counterpartsWithLoadedData\n }\n}\n\nconst mutations = {\n setLoading (state, value) {\n state.loading = value\n },\n setTriggerLoading (state, value) {\n state.triggerLoading = value\n },\n setErrors (state, value) {\n state.errors = value\n },\n setCounterpartOptions (state, value) {\n state.counterpartOptions = value\n },\n setSearchRequest (state, value) {\n state.searchRequest = value\n },\n setCounterpartsWithSameCrmTypeAndService (state, value) {\n state.counterpartsWithSameCrmTypeAndService = value\n },\n setMaxCrmServiceOfSameTypeCount (state, value) {\n state.maxCrmServiceOfSameTypeCount = value\n },\n setCounterpartsWithLoadedData (state, value) {\n state.counterpartsWithLoadedData = value\n }\n}\n\nconst actions = {\n asyncSearch: debounce(function ({ dispatch }, query) {\n dispatch(\"searchTerm\", query)\n }, 300),\n async updateCounterpartsWithLoadedData ({ commit }, value) {\n const updatedValue = await updateCounterpartsWithLoadedDataWithBaoRecord(value)\n commit(\"setCounterpartsWithLoadedData\", updatedValue)\n },\n searchTerm ({ state, dispatch, commit }, query) {\n // we cancel the current searchRequest in favor of a new one (either searching or retrieving all contacts)\n if (state.searchRequest && state.searchRequest.cancel) state.searchRequest.cancel()\n\n // In most of the CRM services, search results are returned only if more than one query characters are provided.\n if (!query || query.length < 3) {\n if (!query) {\n // Reset counterparts list\n commit(\"setCounterpartOptions\", [])\n }\n commit(\"setLoading\", false)\n commit(\"setSearchRequest\", null)\n return\n }\n\n commit(\"setLoading\", true)\n commit(\"setTriggerLoading\", true)\n commit(\"setSearchRequest\", axios.CancelToken.source())\n\n return axios.get(\n \"/api/counterpartsnew/search?q=\" + query,\n { cancelToken: state.searchRequest.token } // allows us to cancel the request in case there is a newer one\n ).then(response => {\n commit(\"setCounterpartOptions\", response.data.records)\n commit(\"setErrors\", null)\n if (response.data.errors && Object.keys(response.data.errors).length > 0) {\n commit(\"setErrors\", response.data.errors)\n }\n commit(\"setLoading\", false)\n commit(\"setSearchRequest\", null) // searchRequest was completed, we reset the variable\n })\n },\n\n getNewCounterparts ({ state, commit }) {\n /**\n * retrieves first page with five counterparts per page.\n * */\n commit(\"setErrors\", null)\n commit(\"setLoading\", true)\n return axios.get(\"/api/counterpartsnew?page=1&page_size=5\"\n ).then(response => {\n if (response.data.results && response.data.results.length > 0) {\n commit(\"setCounterpartOptions\", response.data.results)\n }\n commit(\"setLoading\", false)\n commit(\"setTriggerLoading\", false)\n }).catch(errors => {\n commit(\"setErrors\", { ...state.errors, ...errors.response.data })\n })\n },\n sortCounterparts ({ state, getters, commit, dispatch }, { counterparts }) {\n const sortedCounterparts = {}\n const counterpartsWithSameCrmTypeAndService = {}\n const separatedCounterparts = {}\n let maxCrmServiceOfSameTypeCount = Number.NEGATIVE_INFINITY\n for (let [index, counterpart] of counterparts.entries()) {\n const counterpartCRM = counterpart.crm_service\n const counterpartType = counterpart.type\n counterpart = { ...counterpart, index }\n\n if (getters.CRMSupportsLoadingOfData(counterpart)) {\n if (!sortedCounterparts[counterpartCRM]) {\n sortedCounterparts[counterpartCRM] = {}\n sortedCounterparts[counterpartCRM][counterpartType] = [counterpart]\n separatedCounterparts[`${counterpartCRM}-${counterpartType}`] = counterpart\n } else {\n if (!sortedCounterparts[counterpartCRM][counterpartType]) {\n sortedCounterparts[counterpartCRM][counterpartType] = [counterpart]\n separatedCounterparts[`${counterpartCRM}-${counterpartType}`] = counterpart\n } else {\n sortedCounterparts[counterpartCRM][counterpartType].push(counterpart)\n separatedCounterparts[`${counterpartCRM}-${counterpartType}`] = null\n if (!counterpartsWithSameCrmTypeAndService[counterpartCRM]) counterpartsWithSameCrmTypeAndService[counterpartCRM] = {}\n counterpartsWithSameCrmTypeAndService[counterpartCRM][counterpartType] = [...sortedCounterparts[counterpartCRM][counterpartType]]\n }\n }\n\n const counterpartTypeLength = sortedCounterparts[counterpartCRM][counterpartType].length\n if (counterpartTypeLength > maxCrmServiceOfSameTypeCount) maxCrmServiceOfSameTypeCount = counterpartTypeLength\n }\n }\n commit(\"setCounterpartsWithSameCrmTypeAndService\", counterpartsWithSameCrmTypeAndService)\n dispatch(\"updateCounterpartsWithLoadedData\", separatedCounterparts)\n commit(\"setMaxCrmServiceOfSameTypeCount\", maxCrmServiceOfSameTypeCount)\n }\n\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\nimport Vue from \"vue\"\n\nconst state = {\n objectDefinitions: [],\n fieldDefinitions: {},\n loadingFieldDefinitions: [],\n objectDefinitionError: null\n}\n\nconst getters = {\n getObjectDefinitions (state) {\n return state.objectDefinitions\n },\n getFieldDefinitions (state) {\n return state.fieldDefinitions\n },\n getLoadingFieldDefinitions (state) {\n return state.loadingFieldDefinitions\n },\n getObjectDefinitionError (state) {\n return state.objectDefinitionError\n },\n getCrmObjectId (state) {\n const val = state.objectDefinitions.find(val => val.service_key === \"salesforce\" && val.object_type === \"Task\")\n if (!val || !val.id) return null\n return val.id\n }\n}\n\nconst mutations = {\n setObjectDefinitions (state, objectDefinitions) {\n state.objectDefinitions = objectDefinitions\n },\n setObjectDefinitionError (state, { error, label }) {\n state.objectDefinitionError = { error, label }\n }\n}\n\nconst actions = {\n getCRMObjectLink ({ commit }, val = null) {\n /* Retrieves CRMObjectLinks as a list (without an id) or with the fieldDefinitions if an id is provided */\n return new Promise((resolve) => {\n let url = \"/api/crmobjectlinks\"\n if (val !== null) {\n url += \"/\" + val.id\n }\n axios.get(url).then(response => {\n if (val === null) {\n const objectDefinitions = response.data.results ? response.data.results : []\n commit(\"setObjectDefinitions\", objectDefinitions)\n } else {\n resolve(response.data.field_definitions)\n }\n }).catch(error => {\n commit(\"setObjectDefinitionError\", { error, label: val.label })\n }).finally(resolve)\n })\n },\n retrieveFieldDefinitions ({ commit, state, dispatch }, array) {\n /* Retrieves one or more field definitions for the provided CRM Object Links */\n const diff = {}\n for (const val of array) {\n if (!state.fieldDefinitions[val.id]) diff[val.id] = val\n }\n if (Object.keys(diff).length > 0) {\n state.loadingFieldDefinitions = []\n const promiseArray = []\n for (const id in diff) {\n state.loadingFieldDefinitions.push(id)\n promiseArray.push(dispatch(\"getCRMObjectLink\", diff[id]).then(fieldDefinitions => {\n Vue.set(state.fieldDefinitions, id, fieldDefinitions)\n }))\n }\n Promise.all(promiseArray).then(() => {\n state.loadingFieldDefinitions = []\n })\n }\n },\n\n getTaskFieldDefinitions ({ commit, getters, dispatch, state }) {\n // Only loads salesforce task fields for now\n const getAndTransformData = (resolve) => {\n const crmObjectId = getters.getCrmObjectId\n const url = \"/api/crmobjectlinks/\" + crmObjectId\n if (url != null) {\n axios.get(url).then(response => {\n const data = response.data.field_definitions.filter(fieldDefinition => {\n return !fieldDefinition.readonly && fieldDefinition.supported\n }).map(fieldDefinition => {\n return {\n label: fieldDefinition.label,\n raw_definition: fieldDefinition,\n crm_object_link: { id: crmObjectId, key: response.data.service.key },\n logo: response.data.service.extra_options.logo\n }\n })\n resolve(data)\n })\n }\n }\n // If object definitions weren't loaded previously, load them first\n if (state.objectDefinitions.length === 0) {\n return new Promise((resolve, reject) => {\n dispatch(\"getCRMObjectLink\").then(() => {\n getAndTransformData(resolve)\n }).catch((error) => {\n commit(\"setObjectDefinitionError\", { error, label: \"Task\" })\n reject(error)\n })\n })\n }\n return new Promise((resolve) => {\n getAndTransformData(resolve)\n })\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","const IS_NAVBAR_OPEN_KEY = \"bao_is_navbar_open\"\n\nconst state = {\n mainMenuOpen: !!JSON.parse(localStorage.getItem(IS_NAVBAR_OPEN_KEY)) || false,\n closeBtnShown: true\n}\n\nexport const getters = {\n isMainMenuOpen: state => state.mainMenuOpen,\n isCloseBtnShown: state => state.closeBtnShown\n}\n\nexport const mutations = {\n changeMainMenu: (state, open) => {\n state.mainMenuOpen = open\n localStorage.setItem(IS_NAVBAR_OPEN_KEY, open)\n },\n changeCloseBtnState: (state, show) => {\n state.closeBtnShown = show\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations\n}\n","import axios from \"axios\"\n\nfunction getDefaultQueryState () {\n return {\n query: null,\n queryFields: [],\n queryFilters: [],\n queryAggregates: [],\n queryData: null,\n querySettings: {}\n }\n}\n\nfunction getDefaultState () {\n return {\n defaultURL: \"/api/squaapi/genericquery/\",\n saveURL: \"/api/squaapi/queries/\",\n loadedQueries: [],\n queries: [],\n model: null,\n modelFields: [],\n\n ...getDefaultQueryState()\n }\n}\n\nconst state = getDefaultState()\n\nconst getters = {\n getModelFields: state => state.modelFields,\n getModel: state => state.model,\n getQueryFields: state => state.queryFields,\n getQueryFilters: state => state.queryFilters,\n getQueryAggregates: state => state.queryAggregates,\n getQueryData: state => state.queryData,\n getSavedQueries: state => state.queries,\n getQuerySettings: state => state.querySettings,\n getQuery: state => state.query,\n getFilterFunctions: state => (field, includeAll = false) => {\n let lookups = field.lookups\n const defaultLookups = [\n { text: \"Equals\", value: \"=\", type: field.type },\n { text: \"Not Equals\", value: \"!=\", type: field.type }\n ]\n const favoritesObj = {\n gt: { text: \"Greater Than\", value: \"__gt\", type: field.type },\n gte: { text: \"Greater Than or Equal\", value: \"__gte\", type: field.type },\n lt: { text: \"Lesser Than\", value: \"__lt\", type: field.type },\n lte: { text: \"Lesser Than or Equal\", value: \"__lte\", type: field.type },\n icontains: { text: \"Contains (case-insensitive)\", value: \"__icontains\", type: \"text\" },\n istartwith: { text: \"Starts with (case-insensitive)\", value: \"__istartwith\", type: \"text\" },\n iendswith: { text: \"Ends with (case-insensitive)\", value: \"__iendswith\", type: \"text\" },\n isnull: { text: \"Is Null (No Value)\", value: \"__isnull\", type: \"boolean\" },\n in: { text: \"Contained In\", value: \"__in\", type: \"text\" },\n regex: { text: \"Regex\", value: \"__iendswith\", type: \"text\" }\n }\n const additional = [\n { text: \"IRegex\", value: \"__iregex\" }\n // TODO\n // 0: \"contained_by\": {text: \"Contained By\", value:\"__contained_by\"} // unnecessary\n // 1: \"contains\": {text: \"Contains\", value:\"__contains\"} // declined in favor of icontains\n // 2: \"endswith\": {text: \"Ends With\", value:\"__endswith\"}\n // 3: \"exact\": {text: \"Exact\", value:\"__exact\"}\n // 7: \"iendswith\": {text: \"Ends with (case-insensitive)\", value:\"__iendswith\"}\n // 8: \"iexact\": {text: \"Exact (case-insensitive)\", value:\"__iexact\"}\n // 10: \"iregex\"\n // 15: \"range\"\n // 17: \"startswith\"\n ]\n lookups = lookups.map(lookup => {\n if (!includeAll && !favoritesObj[lookup]) return null\n return favoritesObj[lookup] ? favoritesObj[lookup] : additional[lookup]\n }).filter(l => l !== null)\n return defaultLookups.concat(lookups)\n },\n getLoadedQueries: state => state.loadedQueries\n}\n\nconst mutations = {\n setDefaultURL (state, newUrl) {\n state.defaultURL = newUrl\n },\n setModelFields (state, newFields) {\n state.modelFields = newFields\n },\n setModel (state, newModel) {\n state.model = newModel\n },\n setFields (state, newFields) {\n state.queryFields = newFields\n },\n setFilters (state, newFilters) {\n state.queryFilters = newFilters\n },\n setAggregates (state, newAggregates) {\n state.queryAggregates = newAggregates\n },\n setQueryData (state, newData) {\n state.queryData = newData\n },\n setQueries (state, newList) {\n state.queries = newList\n },\n setSettings (state, newSettings) {\n state.querySettings = newSettings\n },\n setQuery (state, newQuery) {\n state.query = newQuery\n },\n resetState (state) {\n const newStore = { ...state, ...getDefaultQueryState() }\n Object.assign(state, newStore)\n }\n}\n\n/**\n * Returns a new list without the provided item\n * */\nfunction without (item, list) {\n list.splice(list.indexOf(item), 1)\n return list\n}\n\n/**\n * Returns only items that have a field active set to a truthy value\n * @param list\n */\nfunction getActive (list) {\n return list.filter(item => !!item.active)\n}\n\nconst actions = {\n retrieveQueries ({ state, commit }) {\n axios.get(state.saveURL).then(response => {\n console.log(response.data)\n commit(\"setQueries\", response.data.results)\n })\n },\n activateQuery ({ state, commit, dispatch }, newQuery) {\n const { queryFields, queryFilters, queryAggregates, querySettings, model } = newQuery.q_data\n commit(\"setQuery\", newQuery)\n commit(\"setAggregates\", queryAggregates)\n commit(\"setFilters\", queryFilters)\n commit(\"setFields\", queryFields)\n commit(\"setSettings\", querySettings)\n commit(\"setModel\", model)\n dispatch(\"doQuery\")\n },\n addLoadedQuery ({ state, commit, dispatch }, query) {\n state.loadedQueries.push(query)\n dispatch(\"activateQuery\", query)\n },\n loadQuery ({ state, commit, dispatch }, query) {\n axios.get(state.saveURL + query.id).then(response => {\n dispatch(\"addLoadedQuery\", response.data)\n })\n },\n saveQuery ({ state, dispatch }, { name, model }) {\n const { queryFields, queryFilters, queryAggregates, querySettings } = state\n const q_data = {\n queryFields,\n queryFilters,\n queryAggregates,\n querySettings,\n model\n }\n\n axios.post(state.saveURL, { name, q_data }).then(response => {\n // TODO: show save successful to user\n dispatch(\"loadQuery\", response.data)\n })\n },\n doQuery ({ state, commit }) {\n // TODO: move into separate utils function\n const groupByQuery = getActive(state.queryFields).map(activeField => `group_by[${activeField.field}]`)\n const filterQuery = getActive(state.queryFilters).map(\n filter => `${filter.field.field + filter.filterFunction.replace(\"=\", \"\")}=${filter.filterValue}`\n )\n const aggregateQuery = getActive(state.queryAggregates).map(\n aggregate => `aggregate[${aggregate.aggregateFunction}]=${aggregate.field.field}`\n )\n\n // TODO: add error handling -> especially if the user want to load a new query\n const baseurl = state.defaultURL + state.model.model\n axios.get(baseurl + \"/?\" + (groupByQuery.concat(filterQuery).concat(aggregateQuery)).join(\"&\")).then(\n response => {\n commit(\"setQueryData\", response.data)\n })\n },\n loadModelFields ({ state, commit }, app_model_name) {\n const fullurl = state.defaultURL + app_model_name + \"/fields\"\n axios.get(fullurl).then(response => {\n commit(\"setModelFields\", response.data)\n })\n },\n addField ({ state, commit, dispatch }, newField) {\n if (state.queryFields.some(item => item.field === newField.field)) {\n // TODO: show error message\n return\n }\n commit(\"setFields\", [...state.queryFields, { field: newField.field, active: true }])\n dispatch(\"doQuery\")\n },\n removeField ({ state, commit, dispatch }, fieldToRemove) {\n commit(\"setFields\", without(fieldToRemove, state.queryFields))\n dispatch(\"doQuery\")\n },\n addFilter ({ state, commit, dispatch }, newFilter) {\n // TODO: Validation - does the filter make sense logically -> very difficult because of the vast possibilities of\n // combinations\n commit(\"setFilters\", [...state.queryFilters, newFilter])\n dispatch(\"doQuery\")\n },\n removeFilter ({ state, commit, dispatch }, filterToRemove) {\n commit(\"setFilters\", without(filterToRemove, state.queryFilters))\n dispatch(\"doQuery\")\n },\n modifyFilter ({ state, commit, dispatch }, oldFilter, newFilter) {\n oldFilter = { ...newFilter }\n dispatch(\"doQuery\")\n },\n modifyAggregate ({ state, commit, dispatch }, newAggregate) {\n dispatch(\"doQuery\")\n },\n addAggregate ({ state, commit, dispatch }, newAggregate) {\n commit(\"setAggregates\", [...state.queryAggregates, newAggregate])\n dispatch(\"doQuery\")\n },\n removeAggregate ({ state, commit, dispatch }, aggregateToRemove) {\n commit(\"setAggregates\", without(aggregateToRemove, state.queryAggregates))\n dispatch(\"doQuery\")\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","export const state = {\n error: null\n}\n\nexport const getters = {\n}\n\nexport const mutations = {\n setError (state, error) {\n state.error = error\n },\n clearError (state) {\n state.error = null\n }\n}\n\nexport const actions = {\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\nimport { getDefaultWidgets } from \"@/apps/dashboard/chartConfig\"\nimport { sortByAlphaNumeric } from \"@/apps/dashboard/chartUtils\"\nimport { dashboardStoreUtils, getTranslation } from \"@/apps/dashboard\"\n\nexport const state = {\n loadedAnalyticsPages: [],\n currentPage: {},\n widgets: [],\n showWidgetSidebar: false,\n widgetToConfigure: null,\n defaultWidgets: {},\n favoritePage: null,\n loadingAnalyticsPages: false,\n showMenu: false,\n loadedDashboardsOnce: false,\n previewChartData: null\n}\n\nexport const getters = {\n getFavoritePage (state) {\n return state.favoritePage\n },\n myDashboards (state, getters) {\n return sortByAlphaNumeric(state.loadedAnalyticsPages.filter(item => getters.isUserCreator(item) && !item.is_among_favorites))\n },\n sharedDashboards (state, getters) {\n return sortByAlphaNumeric(state.loadedAnalyticsPages.filter(item => !getters.isUserCreator(item) && !item.is_among_favorites))\n },\n favoriteDashboards (state) {\n return sortByAlphaNumeric(state.loadedAnalyticsPages.filter(item => item.is_among_favorites))\n },\n getDefaultDashboard (state, getters) {\n if (getters.favoriteDashboards.length > 0) return getters.favoriteDashboards[0]\n if (getters.myDashboards.length > 0) return getters.myDashboards[0]\n if (getters.sharedDashboards.length > 0) return getters.sharedDashboards[0]\n return null\n },\n openConfiguratorView (state) {\n return !!state.widgetToConfigure\n },\n getLoadedAnalyticsPages (state) {\n return state.loadedAnalyticsPages\n },\n getLoadingAnalyticsPages (state) {\n return state.loadingAnalyticsPages\n },\n getCurrentPage (state) {\n return state.currentPage\n },\n getCurrentPageId (state) {\n return state.currentPage.id\n },\n getWidgets (state) {\n return state.widgets\n },\n getDefaultWidgets (state) {\n return state.defaultWidgets\n },\n showWidgetSidebar (state) {\n return state.showWidgetSidebar\n },\n widgetsAvailable (state) {\n return state.widgets.length > 0\n },\n getWidgetToConfigure (state) {\n return state.widgetToConfigure\n },\n getTransformedWidget: (state) => (widget) => {\n try {\n const widgetConfigurations = state.defaultWidgets[widget.type]\n return Object.assign(widget, widgetConfigurations)\n } catch (error) {\n return null\n }\n },\n getTransformedWidgets: (state, getters) => (widgets) => {\n return widgets.map(widget => {\n widget = getters.getTransformedWidget(widget)\n return widget\n })\n },\n getTranslatedInfo: (state, getters, rootState, rootGetters) => (component) => {\n return rootGetters[\"I18nStore/getI18n\"](component.name, component.info)\n },\n isUserCreator: (state, getters, rootState) => (page = null) => {\n page = page || state.currentPage\n const pageCreator = page && page.created_by ? page.created_by.pk : null\n return pageCreator === rootState.auth.user.pk\n },\n canModifyWidgetPage: (state, getters, rootState, rootGetters) => (page = null) => {\n return getters.isUserCreator(page) || rootGetters[\"auth/isAdminOrSuperUser\"]\n },\n showMenu (state) {\n return state.showMenu\n },\n loadedDashboardsOnce (state) {\n return state.loadedDashboardsOnce\n },\n getPreviewChartData (state) {\n return state.previewChartData\n }\n}\n\nexport const mutations = {\n addFavoritePage (state, page) {\n state.favoritePage = page\n },\n setWidgets (state, widgets) {\n state.widgets = widgets\n state.currentPage.widgets = state.widgets\n },\n updateWidgetsList (state, updatedWidget) {\n let index = state.widgets.findIndex(widget => widget.id === updatedWidget.id)\n let deleteCount = 1\n // To show the user that the widget was updated/added the below properties are used\n updatedWidget.added = false\n updatedWidget.alertCountDown = 5\n if (index < 0) {\n index = 0\n deleteCount = 0\n updatedWidget.added = true\n }\n state.widgets.splice(index, deleteCount, updatedWidget)\n },\n showWidgetSidebar (state) {\n state.showWidgetSidebar = true\n },\n closeWidgetSidebar (state) {\n state.showWidgetSidebar = false\n },\n setWidgetToConfigure (state, value) {\n state.previewChartData = null\n state.widgetToConfigure = value\n },\n setAnalyticsPages (state, value) {\n state.loadedAnalyticsPages = value\n },\n updateCurrentPage (state, value) {\n state.currentPage = { ...state.currentPage, ...value }\n },\n deleteWidget (state, widgetId) {\n state.widgets = state.widgets.filter(widget => widget.id !== widgetId)\n // update widgets in the current page\n state.currentPage.widgets = state.widgets\n },\n deletePage (state, pageId) {\n state.loadedAnalyticsPages = state.loadedAnalyticsPages.filter(page => page.id !== pageId)\n },\n showPage (state, page = null) {\n if (page) {\n state.currentPage = page\n state.widgets = page.widgets || []\n } else {\n state.currentPage = {}\n state.widgets = []\n }\n },\n addPage (state, page) {\n state.loadedAnalyticsPages.push(page)\n },\n setDefaultWidgets (state, defaultWidgets) {\n state.defaultWidgets = defaultWidgets\n },\n setLoadingAnalyticsPages (state, value) {\n state.loadingAnalyticsPages = value\n },\n showDashboardMenu (state) {\n state.showMenu = true\n },\n hideDashboardMenu (state) {\n state.showMenu = false\n },\n toggleDashboardMenu (state) {\n state.showMenu = !state.showMenu\n },\n updatePageList (state, page) {\n const index = state.loadedAnalyticsPages.findIndex(widget => widget.id === page.id)\n if (index > -1) {\n state.loadedAnalyticsPages.splice(index, 1, page)\n }\n },\n setLoadedDashboardsOnce (state) {\n state.loadedDashboardsOnce = true\n },\n resetCurrentPage (state) {\n state.currentPage = {}\n state.widgets = []\n },\n setPreviewChartData (state, chartData) {\n state.previewChartData = chartData\n }\n}\n\nexport const actions = {\n duplicateDashboard ({ getters, dispatch, commit }, dashboard) {\n return new Promise((resolve, reject) => {\n const titlePrefix = getTranslation(dashboardStoreUtils).copyOf\n const titleCopy = dashboard.name.startsWith(titlePrefix) ? dashboard.name : `${titlePrefix} ${dashboard.name}`\n const newDashboardTitle = dashboardStoreUtils.getNewDashboardTitle(getters.getLoadedAnalyticsPages, titleCopy)\n dispatch(\"cloneDashboard\", { id: dashboard.id, name: newDashboardTitle })\n .then((newPage) => {\n resolve(newPage)\n }).catch(error => {\n reject(error)\n })\n })\n },\n cloneDashboard ({ getters, commit, dispatch }, widgetPage) {\n return new Promise((resolve, reject) => {\n axios.post(`/api/widgetpages/${widgetPage.id}/clone`, { name: widgetPage.name }).then(response => {\n const widgets = []\n const newPage = response.data\n if (newPage.widgets.length > 0) {\n newPage.widgets.forEach((widget) => {\n widgets.push({ ...widget, ...getters.getDefaultWidgets[widget.type] })\n })\n }\n newPage.widgets = widgets\n commit(\"addPage\", newPage)\n resolve(newPage)\n }).catch(error => {\n reject(error)\n })\n })\n },\n handleWidgetDeleted ({ dispatch, commit }, widgetId) {\n dispatch(\"closeWidgetSidebar\")\n commit(\"deleteWidget\", widgetId)\n },\n handleWidgetCloned ({ dispatch, commit, getters }, widget) {\n dispatch(\"closeWidgetSidebar\")\n return new Promise((resolve, reject) => {\n dispatch(\"updateWidget\", { ...widget, id: null }).then(data => {\n const widgets = getters.getWidgets\n const clonedWidget = {\n ...widget,\n id: data.id,\n order: widget.order + 1,\n added: true,\n alertCountDown: 5\n }\n const newOrder = widgets.slice(0, widget.order).concat([clonedWidget], widgets.slice(widget.order))\n dispatch(\"setNewWidgetsOrder\", newOrder).then(() => resolve())\n }).catch(error => {\n console.debug(error)\n reject(error)\n })\n })\n },\n loadAnalyticsPages ({ commit, getters, dispatch }) {\n return new Promise((resolve, reject) => {\n commit(\"setLoadingAnalyticsPages\", true)\n dispatch(\"loadWidgetTypesComponents\")\n axios.get(\"/api/widgetpages\").then(response => {\n let loadedAnalyticsPages = response.data.results\n loadedAnalyticsPages = loadedAnalyticsPages.map(page => {\n page.widgets = getters.getTransformedWidgets(page.widgets).filter(item => item !== null)\n return page\n })\n commit(\"setAnalyticsPages\", loadedAnalyticsPages)\n commit(\"setLoadingAnalyticsPages\", false)\n commit(\"setLoadedDashboardsOnce\")\n dispatch(\"setFavoritePage\")\n resolve()\n }).catch(error => {\n commit(\"setLoadingAnalyticsPages\", false)\n reject(error)\n })\n })\n },\n loadWidgetTypesComponents ({ commit, getters }) {\n const transformedDefaultWidgets = {}\n for (const widget of Object.values(getDefaultWidgets())) {\n const translatedInfo = getters.getTranslatedInfo(widget.component)\n transformedDefaultWidgets[widget.type] = { ...widget, ...translatedInfo }\n }\n commit(\"setDefaultWidgets\", transformedDefaultWidgets)\n },\n setFavoritePage ({ state, commit, getters }) {\n return new Promise((resolve, reject) => {\n // set as favorite page if a page has \"is_favorite\" value true\n // otherwise reset the value of favorite page on store to initial state (in case of page delete action).\n const favoritePage = getters.getLoadedAnalyticsPages.filter(page => page.is_favorite === true)\n if (favoritePage.length > 0) {\n commit(\"addFavoritePage\", favoritePage[0])\n } else { state.favoritePage = null }\n resolve()\n })\n },\n createFavoritePage ({ dispatch }, pageId) {\n return new Promise((resolve, reject) => {\n axios.post(\"/api/widgetpages/\" + pageId + \"/set_as_favorite\").then((response) => {\n dispatch(\"loadAnalyticsPages\")\n resolve()\n }).catch(error => {\n console.debug(error)\n })\n })\n },\n toggleFavorite ({ commit }, page) {\n return new Promise((resolve, reject) => {\n axios.get(\"/api/widgetpages/\" + page.id + \"/toggle_favorite\").then((response) => {\n commit(\"updatePageList\", { ...page, is_among_favorites: response.data.is_among_favorites })\n resolve()\n }).catch(error => {\n reject(error)\n })\n })\n },\n openWidgetConfigurator ({ dispatch, commit }, widget) {\n commit(\"showWidgetSidebar\")\n commit(\"setWidgetToConfigure\", widget)\n },\n updateWidget ({ getters }, widget) {\n return new Promise((resolve, reject) => {\n const data = {\n ...widget,\n config: widget.config || {},\n order: 0,\n page: getters.getCurrentPageId\n }\n let method = \"post\"\n let url = \"/api/widgets\"\n if (widget.id) {\n method = \"put\"\n url = url + \"/\" + widget.id\n }\n axios[method](url, data).then((response) => {\n resolve(response.data)\n }).catch(error => {\n console.debug(error)\n })\n })\n },\n async previewWidget ({ getters, commit }, widget) {\n try {\n const { name, type, id } = widget\n const widgetData = {\n config: widget.config || {},\n type,\n name,\n id\n }\n const url = \"/api/widgets/preview\"\n const { data } = await axios.post(url, widgetData)\n commit(\"setPreviewChartData\", data)\n } catch (error) {\n console.debug(error)\n }\n },\n updateWidgetAndClose ({ dispatch, commit }, widget) {\n return new Promise((resolve, reject) => {\n dispatch(\"updateWidget\", widget).then((response) => {\n dispatch(\"closeWidgetSidebar\")\n resolve(response)\n }).catch(error => {\n console.log(error)\n })\n })\n },\n setNewWidgetsOrder ({ dispatch, commit }, newWidgetsOrder) {\n commit(\"setWidgets\", newWidgetsOrder)\n dispatch(\"updateWidgetsOrder\")\n },\n updateWidgetsOrder ({ getters }) {\n return new Promise((resolve, reject) => {\n const data = {\n widgets: getters.getWidgets.map(item => item.id)\n }\n axios.post(\"/api/widgets/update_order\", data).then((response) => {\n resolve(response.data)\n }).catch(error => {\n console.debug(error)\n })\n })\n },\n closeWidgetSidebar ({ commit }) {\n commit(\"closeWidgetSidebar\")\n commit(\"setWidgetToConfigure\", null)\n },\n updateWidgetsList ({ dispatch, commit, getters }, updatedWidget) {\n const transformedWidget = getters.getTransformedWidget(updatedWidget)\n commit(\"updateWidgetsList\", transformedWidget)\n dispatch(\"updateWidgetsOrder\")\n },\n getPlaybookNames ({ commit }, playbookIds) {\n return new Promise((resolve, reject) => {\n axios.get(\"/api/talkscripts/get_analytics_view?id__in=\" + playbookIds).then((response) => {\n const playbookNames = response.data.map(item => item.name)\n resolve(playbookNames)\n }).catch(error => {\n console.debug(error)\n reject(error)\n })\n })\n },\n getObjectionNames ({ commit }, { playbookId, objectionIds }) {\n return new Promise((resolve, reject) => {\n axios.get(`/api/talkscripts/${playbookId}/get_objections`).then((response) => {\n const objectionNames = response.data.filter(item => objectionIds.includes(item.id)).map(item => item.name)\n resolve(objectionNames)\n }).catch(error => {\n console.debug(error)\n reject(error)\n })\n })\n },\n getPlaybookItemNames ({ commit }, playbookItemIds) {\n return new Promise((resolve, reject) => {\n axios.get(\"/api/talkscriptitems/get_analytics_view?id__in=\" + playbookItemIds).then((response) => {\n const playbookItemNames = response.data.map(item => item.name)\n resolve(playbookItemNames)\n }).catch(error => {\n console.debug(error)\n reject(error)\n })\n })\n },\n getCounterpartNames ({ commit }, counterpartIds) {\n return new Promise((resolve, reject) => {\n axios.get(\"/api/counterpartsnew/get_saved_counterparts?id__in=\" + counterpartIds).then((response) => {\n const counterpartNames = response.data.results.map(item => item.name)\n resolve(counterpartNames)\n }).catch(error => {\n console.debug(error)\n reject(error)\n })\n })\n },\n downloadWidgetAsPNG ({ getters }, widget) {\n // Problem: svg images are not rendered in the downloaded png\n // useful solution proposals:\n // https://github.com/niklasvh/html2canvas/issues/722\n // https://github.com/zeusstl/html2canvas-proxy-nodejs\n const widgetView = document.getElementById(\"chart-\" + widget.id)\n const filename = (widget.name ? widget.name : widget.title) + \".png\"\n if (widgetView == null) return\n\n import(\"html2canvas\").then((module) => {\n const html2canvas = module.default\n html2canvas(widgetView).then(canvas => downloadCanvasAsPng(canvas, filename))\n })\n },\n createDashboard ({ commit }, data) {\n return new Promise((resolve, reject) => {\n return axios.post(\"/api/widgetpages\", data).then(response => {\n commit(\"addPage\", response.data)\n resolve(response.data)\n }).catch(error => {\n reject(error)\n })\n })\n },\n updateDashboard ({ commit }, widgetPage) {\n return new Promise((resolve, reject) => {\n return axios.put(`/api/widgetpages/${widgetPage.id}`, widgetPage).then(response => {\n commit(\"updatePageList\", response.data)\n resolve(response.data)\n }).catch(error => {\n reject(error)\n })\n })\n }\n}\n\nexport function downloadCanvasAsPng (canvas, filename) {\n const link = document.createElement(\"a\")\n link.download = filename\n link.href = canvas.toDataURL()\n link.click()\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\n\nexport const state = {\n isCallSetUpPage: false,\n counterparts: [],\n counterpartRefetching: false\n}\n\nexport const getters = {\n getIsCallSetUpPage (state) {\n return state.isCallSetUpPage\n },\n getCounterparts (state) {\n return state.counterparts\n },\n getCounterpartRefetching (state) {\n return state.counterpartRefetching\n }\n}\n\nexport const mutations = {\n setIsCallSetUpPage (state, booleanVal) {\n state.isCallSetUpPage = booleanVal\n },\n setCounterparts (state, counterparts) {\n state.counterparts = counterparts\n },\n setCounterpartRefetching (state, counterpartRefetching) {\n state.counterpartRefetching = counterpartRefetching\n },\n addCounterpart (state, newCounterpart) {\n state.counterparts.push(newCounterpart)\n },\n removeCounterpart (state, index) {\n state.counterparts.splice(index, 1)\n }\n}\n\nexport const actions = {\n async getCounterpartsFromUrl ({ state, commit }, { counterpartParams }) {\n try {\n const crmService = counterpartParams.crm_service\n if (!crmService) {\n return\n }\n const url = \"/api/counterpartsnew/get_counterpart?service=\" + crmService\n const { data } = await axios.post(url, counterpartParams)\n const newCounterpart = data\n const counterpartIndex = state.counterparts.findIndex(counterpart => counterpart.id === newCounterpart.id)\n if (counterpartIndex === -1) commit(\"addCounterpart\", newCounterpart)\n } catch (error) {\n console.error(error)\n }\n },\n async resetAndRefetchCounterpartFromUrl ({ commit, dispatch }, counterpartParams) {\n commit(\"setCounterpartRefetching\", true)\n commit(\"setCounterparts\", [])\n await dispatch(\"getCounterpartsFromUrl\", { counterpartParams })\n commit(\"setCounterpartRefetching\", false)\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","const state = {\n active: false,\n message: null,\n status: \"success\"\n}\n\nconst getters = {\n getToastActiveState (state) {\n return state.active\n },\n getToastMessage (state) {\n return state.message\n },\n getToastType (state) {\n return state.status\n }\n}\n\nconst mutations = {\n setToastActiveState (state, active) {\n state.active = active\n },\n setToastMessage (state, message) {\n state.message = message\n },\n setToastType (state, status) {\n state.status = status\n }\n}\n\nconst actions = {\n setToastActiveState ({ commit }, value) {\n commit(\"setToastActiveState\", value)\n },\n setToastMessage ({ commit }, message) {\n commit(\"setToastMessage\", message)\n },\n setToastType ({ commit }, status) {\n commit(\"setToastType\", status)\n }\n}\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\nimport { playbookServices } from \"@/apps/talkscript/PlaybookServices\"\nimport appInfo from \"@/apps/talkscript\"\n\nconst state = {\n playbook: {\n name: \"\",\n updated_at: \"Never\"\n },\n rootContainer: {},\n playbookItems: [],\n currentPlaybookItem: null,\n playbookLoading: false,\n errors: null,\n loadingLibraryItems: false,\n libraryItems: [],\n activeItem: {}\n}\n\nconst getters = {\n getPlaybook (state) {\n return state.playbook\n },\n getRootContainer (state) {\n return state.rootContainer\n },\n getPlaybookItems (state) {\n return state.playbookItems\n },\n getErrors (state) {\n return state.errors\n },\n getPlaybookLoading (state) {\n return state.playbookLoading\n },\n getLibraryItems (state) {\n return state.libraryItems\n },\n getLoadingLibraryItems (state) {\n return state.loadingLibraryItems\n },\n getActiveItem (state) {\n return state.activeItem\n }\n}\n\nconst mutations = {\n setPlaybookLoading (state, value) {\n state.playbookLoading = value\n },\n setErrors (state, value) {\n state.errors = value\n },\n setPlaybook (state, value) {\n state.playbook = value\n },\n setRootContainer (state, value) {\n state.rootContainer = value\n },\n setPlaybookItems (state, value) {\n state.playbookItems = value\n },\n setLoadingLibraryItems (state, value) {\n state.loadingLibraryItems = value\n },\n setLibraryItems (state, value) {\n state.libraryItems = value\n },\n updatePlaybookItem (state, { item, index }) {\n state.playbookItems[index] = item\n },\n addItemToPlaybookList (state, { item, index }) {\n state.playbookItems.splice(index, 0, item)\n },\n removeItemFromPlaybookList (state, { index }) {\n state.playbookItems.splice(index, 1)\n },\n setActiveItem (state, item) {\n state.activeItem = item\n }\n}\n\nconst actions = {\n fetchPlaybook ({ commit }, playbookId) {\n commit(\"setPlaybookLoading\", true)\n return new Promise((resolve, reject) => {\n axios.get(appInfo.apiUrl.playbook + \"/\" + playbookId)\n .then(response => {\n const playbook = response.data\n playbook.main_container.children = playbookServices.methods.setImportance(playbook.main_container.children || []).map(item => {\n if (item.objections && item.objections.length > 0) item.objectionFlag = true\n return item\n })\n commit(\"setPlaybook\", playbook)\n commit(\"setRootContainer\", playbook.main_container)\n commit(\"setPlaybookItems\", playbook.main_container.children)\n commit(\"setPlaybookLoading\", false)\n resolve(playbook)\n }).catch(error => {\n commit(\"setPlaybookLoading\", false)\n const errorMessage = playbookServices.methods.extractErrorMessage(error)\n commit(\"setErrors\", errorMessage)\n reject(errorMessage)\n })\n })\n },\n\n getLibraryItems ({ commit }) {\n return new Promise((resolve, reject) => {\n commit(\"setLoadingLibraryItems\", true)\n axios.get(appInfo.apiUrl.libraryItems).then(response => {\n commit(\"setLibraryItems\", response.data.results)\n resolve()\n }).catch(error => {\n reject(error)\n }).finally(() => {\n commit(\"setLoadingLibraryItems\", false)\n })\n })\n }\n\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\n\nconst state = {\n teamTreeForUser: [],\n errorMessage: null,\n successMessage: null,\n teamsToReload: null\n}\n\nconst getters = {\n getErrorMessage (state) {\n return state.errorMessage\n },\n getSuccessMessage (state) {\n return state.successMessage\n },\n getTeamsToReload (state) {\n return state.teamsToReload\n },\n getTeamTreeForUser (state) {\n return state.teamTreeForUser\n },\n currentUser (state, getters, rootState, rootGetters) {\n return rootGetters[\"auth/user\"]\n },\n multipleTeamsExist (state) {\n if (state.teamTreeForUser.length > 0) {\n return state.teamTreeForUser[0].children.length > 0\n }\n return false\n }\n\n}\n\nconst mutations = {\n setErrorMessage (state, value) {\n state.errorMessage = value\n },\n setSuccessMessage (state, value) {\n state.successMessage = value\n },\n setError (state, value) {\n state.error = value\n },\n setTeamTreeForUser (state, value) {\n state.teamTreeForUser = value\n },\n setTeamsToReload (state, value) {\n // value expected array of team IDs\n state.teamsToReload = value\n }\n}\n\nconst actions = {\n getTeamTreeForUser ({ commit }) {\n return new Promise((resolve, reject) => {\n axios.get(\"/api/teams/get_current_team_tree\").then(response => {\n const teamTree = response.data\n teamTree[0].open = true\n commit(\"setTeamTreeForUser\", teamTree)\n resolve(response.data)\n }).catch(error => {\n reject(error)\n })\n })\n },\n createNewTeam ({ dispatch }, payload) {\n /**\n * payload: serializable tenant Object with valid attributes.\n * - required attributes: name, parent\n * - optional attributes: users, copy_user_settings\n * returns: Serialized data Array of teams and corresponding Array of users nested within.\n * */\n return new Promise((resolve, reject) => {\n // this can take upto two minutes therefore timeout of 2 minutes is set.\n axios.post(\"/api/teams\", payload).then(response => {\n dispatch(\"getTeamTreeForUser\") // refresh team tree\n resolve(response.data)\n }).catch(error => {\n reject(error)\n })\n })\n },\n updateTeam ({ dispatch }, team) {\n /**\n * team: serializable tenant Object with valid attributes.\n * - required attributes: id, name\n * - optional attributes: users\n * returns: Serialized data Array of teams and corresponding Array of users nested within.\n * */\n return new Promise((resolve, reject) => {\n axios.put(`/api/teams/${team.id}`, team).then(response => {\n resolve(response.data)\n }).catch(error => {\n reject(error)\n })\n })\n },\n deleteTeam ({ dispatch, commit }, team) {\n /**\n * team: serializable tenant Object with valid attributes.\n * - required attributes: id\n * returns: Serialized data Array of teams and corresponding Array of users nested within.\n * */\n return new Promise((resolve, reject) => {\n axios.delete(`/api/teams/${team.id}`).then(response => {\n dispatch(\"getTeamTreeForUser\") // refresh team tree\n resolve(response.data)\n }).catch(err => {\n commit(\"setError\", err.error)\n reject(err)\n })\n })\n },\n getMembersForTeams ({ commit }, teams) {\n /**\n * teams: Array of tenant ids.\n * returns: Serialized data Array of teams and corresponding Array of users nested within.\n * */\n return new Promise((resolve, reject) => {\n axios.get(\"/api/teams/get_team_members\", { params: { tenants: teams } }).then(response => {\n resolve(response.data)\n }).catch(err => {\n commit(\"setError\", err.error)\n reject(err)\n })\n })\n }\n\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\nimport { realTimeAssistantService } from \"@/apps/call/RealTimeAssistantComponents/index.js\"\n\nconst getDefaultState = () => {\n return {\n call: null,\n callTranscriptData: null,\n summaryDataLoading: {},\n currentSummaryTab: \"\",\n transcriptDataLoading: false\n }\n}\n\nconst state = getDefaultState()\n\nconst getters = {\n getCall (state) {\n return state.call\n },\n getCallTranscriptData (state) {\n return state.callTranscriptData\n },\n getTranscriptDataLoading (state) {\n return state.transcriptDataLoading\n },\n getSummaryDataLoading (state) {\n return state.summaryDataLoading\n },\n canTriggerSummary (state) {\n return !!state.call &&\n state.call.transcription &&\n state.call.transcription.response_data &&\n state.call.duration > 60000\n },\n getTranscriptSummary (state) {\n if (state.call) {\n return state.call.transcriptSummary\n }\n return null\n },\n getCurrentSummaryTab (state) {\n return state.currentSummaryTab\n }\n}\nconst mutations = {\n setCall (state, value) {\n state.call = value\n },\n updateCall (state, value) {\n state.call = { ...state.call, ...value }\n },\n setTranscriptDataLoading (state, value) {\n state.transcriptDataLoading = value\n },\n setCallTranscriptData (state, value) {\n state.callTranscriptData = value\n },\n resetCallAudioStore (state) {\n Object.assign(state, getDefaultState())\n },\n setSummaryTab (state, summaryTab) {\n state.currentSummaryTab = summaryTab\n }\n\n}\n\nconst actions = {\n\n setSummaryTab ({ commit }, { summaryTab }) {\n commit(\"setSummaryTab\", summaryTab)\n },\n fetchCallTranscriptData ({ commit }, { callId }) {\n realTimeAssistantService.methods.getTranscriptSummary(callId).then(data => {\n commit(\"setCallTranscriptData\", data[0])\n }).catch(error => {\n console.debug(error)\n })\n },\n async getCallById ({ commit }, { callId }) {\n try {\n const response = await axios.get(`/api/calls/${callId}/get_bao_audio_call/`)\n commit(\"setCall\", response.data)\n } catch (error) {\n console.debug(error)\n }\n },\n async getBaoAudioSegments ({ commit }, { callId }) {\n try {\n commit(\"updateCall\", { audioLoading: true })\n const { data } = await axios.get(`/api/callAudioData/?id=${callId}`)\n if (data.final_audio_url === null) {\n data.transcription = { response_data: null }\n }\n commit(\"updateCall\", { ...data, audioLoading: false })\n } catch (error) {\n commit(\"updateCall\", { audioLoading: false, transcription: { response_data: null } })\n console.debug(error)\n }\n },\n async requestAudioTranscripts ({ commit }, { callId }) {\n try {\n commit(\"updateCall\", { transcriptLoading: true })\n const { data } = await axios.get(`/api/callAudioData/get_complete_transcription/?id=${callId}`)\n if (data) {\n const transcription = { response_data: data.sentences }\n commit(\"updateCall\", { transcription, transcriptLoading: false })\n }\n } catch (error) {\n console.debug(error)\n commit(\"updateCall\", { transcriptLoading: false })\n }\n },\n async requestTranscriptSummary ({ commit, state }, { callId, summaryFormat, regenerate = false }) {\n try {\n const summaryLoading = state.summaryDataLoading\n summaryLoading[summaryFormat] = true\n commit(\"updateCall\", { summaryDataLoading: summaryLoading })\n const params = {\n id: callId,\n summary_format: summaryFormat,\n regenerate\n }\n const { data } = await axios.get(\"/api/callAudioData/get_transcription_summary/\", { params })\n summaryLoading[summaryFormat] = false\n const summaryData = { ...state.call.transcriptSummary, ...data }\n commit(\"updateCall\", { transcriptSummary: summaryData, summaryDataLoading: summaryLoading })\n console.log(\"summaryData\", summaryData)\n } catch (error) {\n const summaryLoading = state.summaryDataLoading\n summaryLoading[summaryFormat] = false\n commit(\"updateCall\", { summaryDataLoading: summaryLoading })\n console.debug(error)\n }\n },\n async saveCallTranscripts ({ commit, dispatch }, { callTranscript, shouldCheckForTranscript }) {\n /**\n * saves calculated transcript data for call to database\n * params: call_transcript\n */\n commit(\"setTranscriptDataLoading\", true)\n\n try {\n const { data } = await axios.post(realTimeAssistantService.callTranscriptUrl, {\n ...callTranscript,\n shouldCheckForTranscript\n })\n const callAudioData = { ...data.call_transcript, call_items_transcripts: data.call_items_transcripts }\n commit(\"setCallTranscriptData\", callAudioData)\n } catch (error) {\n console.debug(error)\n }\n commit(\"setTranscriptDataLoading\", false)\n },\n async getRegeneratedTranscriptsAndSummary ({ getters, commit, dispatch, state }, { callId, audioInputLanguage }) {\n try {\n commit(\"updateCall\", { newTranscriptLoading: true })\n const { data } = await axios.get(`/api/callAudioData/get_recreated_tx?tx_lang=${audioInputLanguage}&id=${callId}`)\n if (data) {\n const transcription = { response_data: data.sentences }\n commit(\"updateCall\", { transcription, newTranscriptLoading: false })\n // reset the summary value stored in vuex store\n commit(\"updateCall\", { transcriptSummary: {} })\n if (getters.canTriggerSummary) dispatch(\"requestTranscriptSummary\", { callId, summaryFormat: state.currentSummaryTab })\n }\n } catch (error) {\n commit(\"updateCall\", { newTranscriptLoading: false })\n console.debug(error)\n }\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import axios from \"axios\"\nimport { networkController } from \"@/services/networkController\"\nimport { utils } from \"@/apps/call\"\nimport store from \"@/store\"\nimport Vue from \"vue\"\n\nconst getDefaultState = () => {\n return {\n callSummary: {}, // This ensures that feedback page doesn't throw console errors when doing type check\n callDetails: null,\n callNotes: \"\",\n summaryLoading: false,\n playbookItems: [],\n currentSummaryText: \"\"\n }\n}\n\nconst state = getDefaultState()\n\nconst getters = {\n getCallSummary (state) {\n return state.callSummary\n },\n getCallDetails (state) {\n return state.callDetails\n },\n getCallExternalSharingData (state) {\n return state.callDetails.external_shared_data && state.callDetails.external_shared_data.is_active\n ? state.callDetails.external_shared_data\n : null\n },\n getCallNotes (state) {\n return state.callNotes\n },\n getSummaryLoading (state) {\n return state.summaryLoading\n },\n getPlaybookItems (state) {\n return state.playbookItems\n },\n isUserCreator: (state, getters, rootState) => (created_by_id = null) => {\n if (!created_by_id) {\n created_by_id = state.callDetails && state.callDetails.created_by ? state.callDetails.created_by.pk : null\n }\n return created_by_id === rootState.auth.user.pk\n },\n getCurrentSummaryText (state) {\n return state.currentSummaryText\n }\n}\n\nconst mutations = {\n setCurrentSummaryText (state, summaryText) {\n state.currentSummaryText = summaryText\n },\n setCallSummary (state, callSummary) {\n state.callSummary = callSummary\n state.callNotes = callSummary.notes\n },\n setSummaryLoading (state, value) {\n state.summaryLoading = value\n },\n setCallNotes (state, value) {\n state.callNotes = value\n },\n setCounterparts (state, value) {\n state.callSummary.counterparts = value\n },\n resetCallSummaryStore (state) {\n Object.assign(state, getDefaultState())\n },\n setCallDetails (state, call) {\n state.callDetails = call\n const callItems = call.call_items\n const playbook = call.talkscript\n if (playbook) {\n const attachCallItem = (playbookItem, callItems) => {\n // no call items, we just return the playbookItem as it is\n if (!callItems || !callItems.length) return playbookItem\n\n // 1. get the call items for this particular playbook based on the\n // talkscript_item field and the playbookItem.id\n callItems = callItems.filter(ci => ci.talkscript_item === playbookItem.id)\n\n // could be a bug, could be unfortunate circumstances (race condition much?!)\n if (callItems.length > 1) console.error(\"Found more than 1 call item -> investigate!\")\n\n // 2. call items should be sorted by recency anyway (descending) - so we take the first one\n playbookItem.call_item = callItems[0]\n if (\n playbookItem.call_item &&\n playbookItem.call_item.loaded_additional_data &&\n playbookItem.call_item.loaded_additional_data.length > 0\n ) {\n // 3. if the call item contains loaded_additional_data we also have to attach that to the playbook item\n // then do the same for all playbook items\n playbookItem.loadedData = playbookItem.call_item.loaded_additional_data.map(item => {\n const newItem = { ...item }\n newItem.open = true // the state of newly loaded objections/dyn. playbooks should be open\n newItem.selected_choice.workflow.children = item.selected_choice.workflow.children.map(\n // do the same for all playbook items in the loaded data\n addItem => attachCallItem(addItem, newItem.call_items)\n )\n return newItem\n })\n }\n return playbookItem\n }\n const playbookItemWithCallItems = call.talkscript.main_container.children.map(\n item => {\n if (callItems && !!callItems.length) {\n return attachCallItem(item, callItems.filter(callItem => {\n return callItem.additional_data === null\n }))\n }\n return item\n }\n )\n state.playbookItems = playbookItemWithCallItems\n }\n },\n setCallExternalSharingData (state, value) {\n state.callDetails.external_shared_data = value\n }\n}\n\nconst actions = {\n async setCurrentSummaryText ({ commit }, { summaryText }) {\n commit(\"setCurrentSummaryText\", summaryText)\n },\n\n async fetchCallSummary ({ commit }, { callId, showLoader = true }) {\n if (showLoader) commit(\"setSummaryLoading\", true)\n try {\n const response = await axios.get(`/api/calls/${callId}/get_summary`)\n commit(\"setCallSummary\", response.data)\n } catch (error) {\n console.debug(error)\n }\n commit(\"setSummaryLoading\", false)\n },\n async fetchCallDetails ({ commit }, { callId }) {\n try {\n const response = await axios.get(`/api/calls/${callId}`)\n commit(\"setCallDetails\", response.data)\n } catch (error) {\n console.debug(error)\n }\n },\n saveCallNotes ({ state }, { callId }) {\n const userPK = store.getters[\"auth/user\"].pk\n try {\n const callDetails = {\n user: userPK,\n talkscript: state.callSummary.talkscript.id,\n notes: state.callNotes\n }\n axios.put(`/api/calls/${callId}`, callDetails)\n } catch (error) {\n console.debug(error)\n }\n },\n saveCounterparts ({ state }, { callId }) {\n const userPK = store.getters[\"auth/user\"].pk\n try {\n const callDetails = {\n user: userPK,\n talkscript: state.callSummary.talkscript.id,\n counterparts: state.callSummary.counterparts\n }\n axios.put(`/api/calls/${callId}`, callDetails)\n } catch (error) {\n console.debug(error)\n }\n },\n async handleCallItemChanged ({ getters, commit, dispatch }, { item, callId, retainPreviousAnswers = false }) {\n /***\n * saves/updates call item and refreshes call summary\n */\n try {\n if (!retainPreviousAnswers && item && Object.hasOwn(item, \"hasAIAnswers\")) {\n Vue.delete(item, \"hasAIAnswers\")\n }\n await dispatch(\"saveCallItem\", { item, callId })\n } catch (error) {\n console.debug(error)\n }\n },\n saveCallItem ({ dispatch, getters }, { item, callId }) {\n /***\n * saves(creates/updates) the callItem for the given item and updates\n * the item accordingly\n */\n return new Promise((resolve, reject) => {\n // extract the callItem data from the item\n const callItemData = utils.getCallItemDataToSave(item, callId)\n // prepare the request-callback for saving the callItem\n const request = utils.getCallItemSaveRequest(item, callItemData)\n // send the request via networkController(to avoid race condition)\n item.callItemPromise = networkController.methods.sendRequest(item.uniqueId, request)\n item.callItemPromise.then((callItemResponse) => {\n // update the call_item with recent data.\n item.call_item = callItemResponse.data\n resolve(item)\n }).catch(error => {\n dispatch(\"handleError\", error.response)\n reject(error)\n })\n })\n },\n updateCallExternalSharingData ({ commit }, externalSharedData) {\n commit(\"setCallExternalSharingData\", externalSharedData)\n },\n async assignCounterpartFromUrl ({ commit, dispatch }, { counterpartParams, callId }) {\n const crmService = counterpartParams.crm_service\n if (!crmService) {\n return\n }\n\n try {\n const url = \"/api/counterpartsnew/get_counterpart?service=\" + crmService\n const { data } = await axios.post(url, counterpartParams)\n const counterpartFromUrl = data\n commit(\"setCounterparts\", [counterpartFromUrl])\n dispatch(\"saveCounterparts\", { callId })\n } catch (error) {\n console.log(error)\n }\n }\n}\n\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import {\n fetchCallMeetingDataApi,\n createMeetingBotApi,\n resumeMeetingRecordingApi,\n pauseMeetingRecordingApi,\n fetchMeetingBotStatusApi,\n removeBotFromMeetingApi\n} from \"@/apps/call/api\"\n\nimport {\n MeetingBotStatusEnum,\n BotRecordingStatusEnum,\n BotTerminatedStatusList,\n MeetingStatusListForVideoData,\n MeetingEndedStatusList,\n MeetingDataProcessingDoneStatus,\n BotConnectedStatus\n} from \"@/apps/call/constants\"\n\nconst getDefaultState = () => {\n return {\n isBotDisconnecting: false,\n botRecordingStatus: BotRecordingStatusEnum.NOT_RECORDING,\n meetingSummary: {},\n videoUrl: \"\",\n botId: \"\",\n meetingParticipants: {},\n speakerTimelineBlocks: {},\n meetingBotStatus: MeetingBotStatusEnum.NOT_STARTED,\n meetingTranscription: {},\n speakerTimeline: {},\n ongoingMeeting: false,\n wordsWithTimestamp: []\n }\n}\n\nconst state = getDefaultState()\n\n// getters\nconst getters = {\n isCallVideoMeeting (state) {\n return !!state.botId\n },\n getVideoUrl (state) {\n return state.videoUrl\n },\n getMeetingSummary (state) {\n return state.meetingSummary || {}\n },\n getBotId (state) {\n return state.botId\n },\n getMeetingParticipants (state) {\n return state.meetingParticipants\n },\n getMeetingBotStatus (state) {\n return state.meetingBotStatus\n },\n getMeetingTranscript (state) {\n return state.meetingTranscription ? state.meetingTranscription : []\n },\n getWordsWithTimestamp (state) {\n return state.wordsWithTimestamp ? state.wordsWithTimestamp : []\n },\n getBotRecordingStatus (state) {\n return state.botRecordingStatus\n },\n isMeetingEnded (state) {\n return MeetingEndedStatusList.includes(state.meetingBotStatus)\n },\n isMeetingDataProcessingDone (state) {\n return (\n state.meetingBotStatus === MeetingBotStatusEnum.DONE &&\n Object.keys(state.meetingSummary).length !== 0\n )\n },\n isBotConnecting (state) {\n return state.meetingBotStatus === MeetingBotStatusEnum.CONNECTING\n },\n isBotDisconnecting (state) {\n return state.isBotDisconnecting\n },\n isBotRecording (state) {\n return state.botRecordingStatus === BotRecordingStatusEnum.RECORDING\n },\n isVideoAvailable (state) {\n return MeetingStatusListForVideoData.includes(state.meetingBotStatus)\n },\n isBotActiveForMeeting (state) {\n return (\n !!state.botId &&\n [\n MeetingBotStatusEnum.CONNECTED,\n MeetingBotStatusEnum.CONNECTING\n ].includes(state.meetingBotStatus)\n )\n },\n getSpeakerTimeline (state) {\n return state.speakerTimeline\n },\n getOngoingMeeting (state) {\n return state.ongoingMeeting\n }\n}\n\n// mutations\nconst mutations = {\n resetCallVideoStore (state) {\n Object.assign(state, getDefaultState())\n },\n setVideoUrl (state, videoUrl) {\n state.videoUrl = videoUrl\n },\n setMeetingSummary (state, meetingSummary) {\n state.meetingSummary = meetingSummary\n },\n setBotId (state, botId) {\n state.botId = botId\n },\n setMeetingParticipants (state, meetingParticipants) {\n state.meetingParticipants = meetingParticipants\n },\n setMeetingBotStatus (state, meetingBotStatus) {\n state.meetingBotStatus = meetingBotStatus\n },\n setMeetingTranscription (state, transcription) {\n state.meetingTranscription = transcription\n },\n setIsBotDisConnecting (state, value) {\n state.isBotDisconnecting = value\n },\n setBotRecordingStatus (state, value) {\n state.botRecordingStatus = value\n },\n setSpeakerTimeline (state, speakerTimeline) {\n state.speakerTimeline = speakerTimeline\n },\n setOngoingMeeting (state, data) {\n state.ongoingMeeting = data.ongoing_meeting\n },\n setWordsWithTimestamp (state, words) {\n state.wordsWithTimestamp = words\n }\n}\n\n// actions\nconst actions = {\n setBotRecordingStatus ({ commit }, { botRecordingStatus }) {\n commit(\"setBotRecordingStatus\", botRecordingStatus)\n },\n resetCallVideoStore ({ commit }) {\n commit(\"resetCallVideoStore\")\n },\n async fetchCallMeetingData ({ dispatch }, { callId }) {\n if (!callId) {\n return\n }\n const params = { call_id: callId }\n try {\n const { data } = await fetchCallMeetingDataApi(params)\n const meetingData = data.data\n dispatch(\"setMeetingData\", { meetingData })\n } catch (error) {\n console.debug(error)\n }\n },\n async createMeetingBot ({ commit, dispatch }, { meetingUrl, callId }) {\n const payload = { meeting_url: meetingUrl, call_id: callId }\n commit(\"setMeetingBotStatus\", MeetingBotStatusEnum.CONNECTING)\n try {\n const { data } = await createMeetingBotApi(payload)\n const meetingData = data.data\n commit(\"setBotId\", meetingData.bot_id)\n } catch (error) {\n commit(\"resetCallVideoStore\")\n dispatch(\n \"showWarningMessage\",\n {\n title: \"Something went wrong\",\n errorMsg: \"Error in connecting bot from meeting\"\n }\n )\n }\n },\n async removeBotFromMeeting ({ commit, getters, dispatch }) {\n commit(\"setIsBotDisConnecting\", true)\n try {\n await removeBotFromMeetingApi({ bot_id: getters.getBotId })\n // reset call meeting store\n commit(\"resetCallVideoStore\")\n } catch (error) {\n dispatch(\n \"showWarningMessage\",\n {\n title: \"Something went wrong\",\n errorMsg: \"Error in removing bot from meeting\"\n }\n )\n } finally {\n commit(\"setIsBotDisConnecting\", false)\n }\n },\n async toggleMeetingRecording ({ commit, getters, dispatch }) {\n const currentBotStatus = getters.getBotRecordingStatus\n commit(\"setBotRecordingStatus\", BotRecordingStatusEnum.TOGGLING)\n try {\n if (currentBotStatus === BotRecordingStatusEnum.RECORDING) {\n await pauseMeetingRecordingApi({ bot_id: getters.getBotId })\n commit(\"setBotRecordingStatus\", BotRecordingStatusEnum.NOT_RECORDING)\n } else if (currentBotStatus === BotRecordingStatusEnum.NOT_RECORDING) {\n await resumeMeetingRecordingApi({ bot_id: getters.getBotId })\n commit(\"setBotRecordingStatus\", BotRecordingStatusEnum.RECORDING)\n }\n } catch (error) {\n commit(\"setBotRecordingStatus\", currentBotStatus)\n const errorLabel = getters.isBotRecording ? \"pausing\" : \"resuming\"\n const errorMsg = `Error in ${errorLabel} meeting recording`\n\n dispatch(\n \"showWarningMessage\",\n {\n title: \"Something went wrong\",\n errorMsg\n }\n )\n }\n },\n async fetchMeetingBotStatus ({ commit, getters, dispatch }) {\n const params = { bot_id: getters.getBotId }\n try {\n const { data } = await fetchMeetingBotStatusApi(params)\n if (!!data && !!data.data && !!data.data.meeting_status) {\n dispatch(\"setAppropriateMeetingBotStatus\", data.data.meeting_status)\n }\n } catch (error) {\n console.debug(error)\n }\n },\n async setMeetingData ({ commit, dispatch }, { meetingData, isSetFromExternalSharedCall = false } = {}) {\n // if any of bot_id or meeting_url not available then no bot is connected to the meeting yet\n if (!isSetFromExternalSharedCall && (!meetingData || !meetingData.bot_id || !meetingData.meeting_url)) {\n return\n }\n // set bot id\n commit(\"setBotId\", meetingData.bot_id)\n // set video url\n commit(\"setVideoUrl\", meetingData.video_url)\n // set bot status\n dispatch(\"setAppropriateMeetingBotStatus\", meetingData.meeting_status)\n // set meeting participants\n dispatch(\"setAppropriateMeetingParticipants\", meetingData.participants)\n // set meeting summary\n commit(\"setMeetingSummary\", meetingData.summary_data)\n // set meeting transcription\n commit(\"setMeetingTranscription\", meetingData.transcription)\n // set words with timestamps\n commit(\"setWordsWithTimestamp\", meetingData.words)\n // set speaker timeline\n commit(\"setSpeakerTimeline\", meetingData.speaker_timeline)\n },\n setAppropriateMeetingBotStatus ({ commit }, meetingBotStatus) {\n if (meetingBotStatus === MeetingDataProcessingDoneStatus) {\n commit(\"setMeetingBotStatus\", MeetingBotStatusEnum.DONE)\n } else if (BotTerminatedStatusList.includes(meetingBotStatus)) {\n commit(\"setMeetingBotStatus\", MeetingBotStatusEnum.ENDED)\n } else if (meetingBotStatus === BotConnectedStatus) {\n commit(\"setMeetingBotStatus\", MeetingBotStatusEnum.CONNECTED)\n } else {\n commit(\"setMeetingBotStatus\", MeetingBotStatusEnum.CONNECTING)\n }\n },\n setAppropriateMeetingParticipants ({ commit }, meetingParticipants) {\n if (meetingParticipants.length) {\n const participants = []\n const participantNamesSet = new Set()\n meetingParticipants.forEach((participant) => {\n if (!participantNamesSet.has(participant.name)) {\n participants.push({ name: participant.name })\n participantNamesSet.add(participant.name)\n }\n })\n commit(\"setMeetingParticipants\", participants)\n }\n },\n showWarningMessage ({ dispatch }, { title, errorMsg }) {\n dispatch(\"toast/setToastActiveState\", true, { root: true })\n dispatch(\"toast/setToastType\", \"error\", { root: true })\n dispatch(\n \"toast/setToastMessage\",\n { title, description: errorMsg },\n { root: true }\n )\n }\n}\nexport default {\n namespaced: true,\n state,\n getters,\n mutations,\n actions\n}\n","import Vue from \"vue\"\nimport Vuex from \"vuex\"\nimport users from \"@/store/services/users\"\nimport auth from \"@/store/modules/auth\"\nimport I18nStore from \"@/store/modules/I18nStore\"\nimport calls from \"@/store/services/calls\"\nimport playbook from \"@/store/services/playbook\"\nimport labels from \"@/store/services/labels\"\nimport counterpartStore from \"@/store/services/counterpartStore\"\nimport crmStore from \"@/store/services/crmStore\"\nimport display from \"@/store/modules/display\"\nimport squaapiStore from \"@/store/modules/squaapiStore\"\nimport globalError from \"@/store/services/globalError\"\nimport dashboardStore from \"@/store/services/dashboardStore\"\nimport callSetUpStore from \"@/store/services/callSetUpStore\"\nimport toast from \"@/store/services/toast\"\nimport playbookConfiguratorStore from \"@/store/services/playbookConfiguratorStore\"\nimport teams from \"@/store/services/teams\"\nimport callAudioStore from \"@/store/services/callAudioStore\"\nimport callSummaryStore from \"@/store/services/callSummaryStore\"\nimport callVideoStore from \"@/store/services/callVideoStore\"\n\nVue.use(Vuex)\n\nconst store = new Vuex.Store({\n modules: {\n users,\n auth,\n I18nStore,\n calls,\n playbook,\n labels,\n counterpartStore,\n crmStore,\n display,\n squaapiStore,\n globalError,\n dashboardStore,\n callSetUpStore,\n toast,\n playbookConfiguratorStore,\n teams,\n callAudioStore,\n callSummaryStore,\n callVideoStore\n }\n})\n\nexport default store\n","import { callMainApp } from \"./index\"\nimport axios from \"axios\"\nimport { mapActions, mapGetters, mapMutations } from \"vuex\"\nimport appInfo from \"@/apps/call/index\"\n\nconst CallSetupMixin = {\n name: \"CallSetupMixin\",\n data () {\n return {\n isCallLoading: false\n }\n },\n computed: {\n ...mapGetters({\n user: \"auth/user\",\n defaultPlaybook: \"playbook/getDefaultPlaybook\",\n counterparts: \"callSetUpStore/getCounterparts\"\n })\n },\n methods: {\n ...mapMutations({\n setCounterparts: \"callSetUpStore/setCounterparts\",\n removeCounterpart: \"callSetUpStore/removeCounterpart\"\n }),\n ...mapActions({\n fetchDefaultPlaybook: \"playbook/fetchDefaultPlaybook\",\n getCounterpartsFromUrl: \"callSetUpStore/getCounterpartsFromUrl\"\n }),\n handleQuickStartTriggered (messageData) {\n // First we double-check that a call is not already on\n // This is a case we expect not to happen, but just as a second check\n if (this.$route.path.includes(\"/conversation\")) return\n if (this.defaultPlaybook && !!this.counterparts.length) this.startCall(this.defaultPlaybook.id)\n else this.setUpCallFromUrl(true, messageData.counterpartParams)\n\n // This is to let SWIFT know that this was properly handled, so that\n // there's no duplicate command triggered\n this.messageBaoSwift({ type: \"quickStartHandled\" })\n },\n async setUpCallFromUrl (functionTriggeredManually = false, counterpartParams) {\n if (!counterpartParams) counterpartParams = this.$route.query\n\n const getCounterpartsFromUrl = this.getCounterpartsFromUrl({ counterpartParams })\n const fetchDefaultPlaybook = this.fetchDefaultPlaybook()\n\n const promisesArray = [\n getCounterpartsFromUrl,\n fetchDefaultPlaybook\n ]\n await Promise.all(promisesArray).then(async () => {\n if (this.defaultPlaybook) {\n if (this.isApplicationInIFrame) {\n // For bao Swift, we don't check if there's a counterpart selected. Once, there's a default playbook,\n // we auto start the call with it\n if (functionTriggeredManually) await this.startCall(this.defaultPlaybook.id)\n // This message to swift is happening because if the user clicks on `Quick start` from the extension, and this\n // page has not fully loaded yet, then the swift message will not be received by the page. So, we are sending a\n // message to swift, that the call setup has been loaded. It then checks if quick start was clicked by the user.\n // If yes, then it sends a message back to start the call.\n else this.messageBaoSwift({ type: \"callSetupLoaded\" })\n } else {\n if (this.counterparts.length) await this.startCall(this.defaultPlaybook.id)\n }\n }\n })\n },\n createCall (callData) {\n return new Promise((resolve, reject) => {\n axios.post(appInfo.apiUrl, callData).then(response => {\n resolve(response.data)\n }).catch(error => {\n reject(error)\n })\n })\n },\n startCall (playbookId, routeQuery = {}) {\n const that = this\n if (that.isCallLoading) return\n that.isCallLoading = true\n const callData = {\n user: that.user.pk,\n counterparts: that.counterparts,\n talkscript: playbookId\n }\n const externalCallId = this.$route.query.external_call_id\n if (externalCallId) callData.external_call_id = externalCallId\n\n return this.createCall(callData).then(newCall => {\n that.setCounterparts([])\n that.pushOrReplaceRoute({ path: callMainApp.path.replace(\":callId\", newCall.id), query: routeQuery })\n that.isCallLoading = false\n },\n error => {\n that.isCallLoading = false\n that.error = error.response\n })\n }\n }\n}\n\nexport default CallSetupMixin\n","var map = {\n\t\"./de\": \"b469\",\n\t\"./de.js\": \"b469\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"5178\";","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('router-view')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!../node_modules/vue-svg-inline-loader/src/index.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!../node_modules/vue-svg-inline-loader/src/index.js!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5b0d13ea&lang=html&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint no-undef: 0 */\nwindow._ctrack = []\nwindow.trackEnabled = false\n\nexport function initCustifyTracker (accountId) {\n (function () {\n for (let t = [\"identify\", \"track\", \"setInstance\", \"setAccount\", \"trackTime\", \"stopTrackTime\", \"debug\"],\n a = function (t) {\n return function () {\n _ctrack.push([t].concat(Array.prototype.slice.call(arguments, 0)))\n }\n }, n = 0; n < t.length; n++) {\n _ctrack[t[n]] = a(t[n])\n }\n const g = document.createElement(\"script\")\n const s = document.getElementsByTagName(\"script\")[0]\n g.type = \"text/javascript\"\n g.async = true\n g.defer = true\n g.src = \"https://assets.custify.com/assets/track.min.js\"\n s.parentNode.insertBefore(g, s)\n })()\n\n _ctrack.setAccount(accountId)\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction identifyCustifyUser (user) {\n trackEnabled = (user != null)\n _ctrack.identify(trackEnabled ? user : { email: -1 })\n}\n\n// eslint-disable-next-line no-unused-vars\nfunction track (eventName, data) {\n if (trackEnabled) _ctrack.track(eventName, data)\n}\n","import Vue from \"vue\"\nimport store from \"./store/index\"\nimport router from \"./router\"\nimport axios from \"axios\"\nimport App from \"./App.vue\"\nimport BootstrapVue from \"bootstrap-vue\"\nimport \"@/assets/scss/main.scss\"\nimport \"../public/css/all.min.css\"\nimport VueClipboard from \"vue-clipboard2\"\nimport Donut from \"vue-css-donut-chart\"\nimport \"vue-css-donut-chart/dist/vcdonut.css\"\n\nimport {\n refreshTokensAndRetry,\n getAccessToken,\n getSchemaName,\n clearStorage\n} from \"@/utils/authenticationManager\"\nimport { initCustifyTracker } from \"@/utils/custifyManager\"\nimport GlobalMixin from \"@/mixins/globalMixins\"\nimport vClickOutside from \"v-click-outside\"\n\nVue.use(vClickOutside)\n\nconst BASE_URL = process.env.VUE_APP_BASEURL || \"/\"\n\nif (\n navigator &&\n navigator.serviceWorker &&\n navigator.serviceWorker.getRegistrations\n) {\n // Removes existing service workers, so they no longer take control of the cache!\n navigator.serviceWorker.getRegistrations().then(function (registrations) {\n for (const registration of registrations) {\n registration.unregister()\n }\n })\n}\n\naxios.defaults.xsrfHeaderName = \"X-CSRFToken\"\n\naxios.defaults.headers.post[\"Content-Type\"] =\n \"application/x-www-form-urlencoded\"\n\naxios.interceptors.request.use(\n (config) => {\n // Check if the URL is for S3 bucket\n if (config.url.includes(\"s3.amazonaws.com\")) {\n // Remove Authorization header for S3 requests\n delete config.headers.common.Authorization\n } else {\n // Add Authorization header for non-S3 requests\n config.headers.common.Authorization = `Bearer ${getAccessToken()}`\n }\n if (getSchemaName()) {\n config.headers.common[\"Schema-Name\"] = `${getSchemaName()}`\n }\n return config\n },\n (error) => {\n return Promise.reject(error)\n }\n)\n\naxios.interceptors.response.use(\n /*\n Here we are handling bad response from the server,\n specifically 401 where token is not valid because either it has\n a) expired or b) wrong token\n\n If the token is expired we refresh-Token-And-Retry the request.\n But if token is expired and api/token/refresh/ gives bad token response,\n this means that the refresh token is itself expired, and user should be\n \"logged out\".\n */\n (response) => response,\n (error) => {\n const originalRequest = error.config\n const { status, data } = error.response\n const isBadToken = status === 401 && data.code === \"token_not_valid\"\n const isRefreshRequest =\n originalRequest.url === `${BASE_URL}api/token/refresh/`\n\n if (isBadToken && isRefreshRequest) {\n clearStorage()\n if (!window.location.pathname.startsWith(\"/login\")) {\n window.location.assign(`${BASE_URL}${window.location.search}`)\n }\n } else if (isBadToken) {\n return refreshTokensAndRetry(originalRequest)\n }\n return Promise.reject(error)\n }\n)\n\nVue.config.productionTip = false\n\nVueClipboard.config.autoSetContainer = true\nVue.use(VueClipboard)\nVue.use(Donut)\nVue.use(BootstrapVue)\n\nVue.use(store)\nstore.dispatch(\"I18nStore/getI18nData\")\n\nVue.mixin(GlobalMixin)\n\nnew Vue({\n router,\n render: (h) => h(App),\n store\n}).$mount(\"#app\")\n\nif (window.location.hostname !== \"localhost\") {\n initCustifyTracker(process.env.VUE_APP_CUSTIFY_ACCOUNT_ID)\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('base-filter',{ref:_vm.baseFilterRef,attrs:{\"label\":_vm.staticText.selectUserPlaceholder,\"placeholder\":_vm.staticText.selectUserPlaceholder,\"show-delete\":true,\"showLabel\":false,\"hasError\":_vm.hasError,\"isOpenFromAdvancedFilters\":_vm.isOpenFromAdvancedFilters,\"internal-search\":true,\"postprocess-options\":_vm.postprocessOptions,\"url\":_vm.getUrl,\"multiselect\":!_vm.isSingleSelect,\"group-values\":\"values\",\"group-label\":\"label\",\"key-to-extract-value\":\"pk\"},on:{\"input\":_vm.handleValueChanged,\"delete\":function($event){return _vm.$emit('delete')}},model:{value:(_vm.selectedUser),callback:function ($$v) {_vm.selectedUser=$$v},expression:\"selectedUser\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./UserFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./UserFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserFilter.vue?vue&type=template&id=7fcb3d32&scoped=true&\"\nimport script from \"./UserFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./UserFilter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7fcb3d32\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetCriteriaDisplay.vue?vue&type=style&index=1&id=069b812e&prod&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:['bao-widget-filter w-100 d-flex', { 'advanced-filters' : _vm.isOpenFromAdvancedFilters }]},[_c('div',{staticClass:\"filter-body w-100\"},[_c('label',{staticClass:\"w-100 d-flex justify-content-between filter-title\",attrs:{\"id\":\"label-percentage-filter-202436956\",\"for\":\"percentage-filter-202436956\"}},[_vm._v(\" \"+_vm._s(_vm.percentageFilterLabel)+\" \")]),_c('b-form-row',{staticClass:\"mb-1 w-100 d-flex\"},[_c('div',{staticClass:\"w-50 p-1 inner-label-form\",class:{ 'error-class': _vm.errorMessage }},[_c('label',{staticClass:\"my-auto inner-label\",attrs:{\"for\":\"percentage-min-id-202205261600\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.minPercentage)+\" \")]),_c('b-form-input',{attrs:{\"id\":\"percentage-min-id-202205261600\",\"placeholder\":_vm.staticText.minPercentage,\"type\":\"number\",\"min\":\"0\",\"max\":\"100\",\"oninput\":\"validity.valid||(maxValue=100)\"},on:{\"change\":_vm.handleFilterChanged},model:{value:(_vm.minValue),callback:function ($$v) {_vm.minValue=$$v},expression:\"minValue\"}})],1),_c('div',{staticClass:\"w-50 p-1 inner-label-form\",class:{ 'error-class': _vm.errorMessage }},[_c('label',{staticClass:\"my-auto inner-label\",attrs:{\"for\":\"percentage-max-id-202205261600\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.maxPercentage)+\" \")]),_c('b-form-input',{attrs:{\"id\":\"percentage-max-id-202205261600\",\"placeholder\":_vm.staticText.maxPercentage,\"type\":\"number\",\"min\":\"0\",\"max\":\"100\",\"oninput\":\"validity.valid||(maxValue=100)\"},on:{\"change\":_vm.handleFilterChanged},model:{value:(_vm.maxValue),callback:function ($$v) {_vm.maxValue=$$v},expression:\"maxValue\"}})],1)]),(_vm.errorMessage)?_c('p',{staticClass:\"filter-error-text\"},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1),_c('div',{staticClass:\"ml-3 filter-delete\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('delete')}}},[(!_vm.isOpenFromAdvancedFilters)?_c('i',{staticClass:\"fa fa-trash my-auto\"}):_c('svg',{attrs:{\"width\":\"7\",\"height\":\"7\",\"viewBox\":\"0 0 7 7\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('mask',{attrs:{\"id\":\"a\",\"fill\":\"#fff\"}},[_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\"}})]),_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\",\"fill\":\"#000\",\"fill-opacity\":\".5\"}}),_c('path',{attrs:{\"d\":\"M7 .705l.707.707.707-.707-.707-.707L7 .705zM6.295 0l.707-.707-.707-.707-.707.707.707.707zM3.5 2.795l-.707.707.707.707.707-.707-.707-.707zM.705 0l.707-.707-.707-.707-.707.707L.705 0zM0 .705l-.707-.707-.707.707.707.707L0 .705zM2.795 3.5l.707.707.707-.707-.707-.707-.707.707zM0 6.295l-.707-.707-.707.707.707.707L0 6.295zM.705 7l-.707.707.707.707.707-.707L.705 7zM3.5 4.205l.707-.707L3.5 2.79l-.707.707.707.707zM6.295 7l-.707.707.707.707.707-.707L6.295 7zM7 6.295l.707.707.707-.707-.707-.707L7 6.295zM4.205 3.5l-.707-.707-.707.707.707.707.707-.707zM7.707-.002l-.705-.705L5.588.707l.705.705L7.707-.002zm-2.12-.705L2.794 2.088l1.414 1.414L7.002.707 5.588-.707zm-1.38 2.795L1.412-.707-.002.707l2.795 2.795 1.414-1.414zM-.003-.707l-.704.705L.707 1.412l.705-.705L-.002-.707zm-.704 2.12l2.795 2.794 1.414-1.414L.707-.002-.707 1.412zm2.795 1.38L-.707 5.588.707 7.002l2.795-2.795-1.414-1.414zm-2.795 4.21l.705.704 1.414-1.414-.705-.705-1.414 1.414zm2.12.704l2.794-2.795-1.414-1.414-2.795 2.795 1.414 1.414zm1.38-2.795l2.795 2.795 1.414-1.414-2.795-2.795-1.414 1.414zm4.21 2.795l.704-.705-1.414-1.414-.705.705 1.414 1.414zm.704-2.12L4.912 2.794 3.498 4.207l2.795 2.795 1.414-1.414zm-2.795-1.38l2.795-2.795L6.293-.002 3.498 2.793l1.414 1.414z\",\"fill\":\"#2A2D52\",\"fill-opacity\":\".01\",\"mask\":\"url(#a)\"}})])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./PercentageFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./PercentageFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PercentageFilter.vue?vue&type=template&id=39ac8bb2&scoped=true&\"\nimport script from \"./PercentageFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./PercentageFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PercentageFilter.vue?vue&type=style&index=0&id=39ac8bb2&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"39ac8bb2\",\n null\n \n)\n\nexport default component.exports","/***\n * networkController controls the flow of simultaneous requests for the same object to\n * guarantee consistency and avoid race condition.\n */\nexport const networkController = {\n waitingQueue: {},\n methods: {\n sendRequest (index, request) {\n /**\n * Returns a wrapped promise that waits until waiting/in-progress operation with same index\n * is completed\n * Adds the pending promise to waiting queue\n */\n const promise = networkController.methods.executeRequest(index, request)\n networkController.methods.addToQueue(index, promise)\n return promise\n },\n getQueue (index) {\n /**\n * Returns the queue of waiting operations for given index\n */\n return networkController.waitingQueue[index] ? networkController.waitingQueue[index] : []\n },\n addToQueue (index, data) {\n /**\n * Updates the queue of the given index with given data\n */\n const queue = networkController.methods.getQueue(index)\n queue.push(data)\n networkController.waitingQueue[index] = queue\n },\n getLatestOperation (index) {\n /**\n * Returns the latest operation(promise) from the queue of the given index\n */\n const queue = networkController.methods.getQueue(index)\n return queue.length > 0 ? queue[queue.length - 1] : Promise.resolve()\n },\n removeFromQueue (index) {\n /**\n * Removes the oldest operation(promise) from the queue of the given index\n */\n const queue = networkController.methods.getQueue(index)\n queue.shift()\n networkController.waitingQueue[index] = queue\n },\n executeRequest (index, request) {\n /**\n * Returns a promise that wraps existing waiting/in-progress operation(promise)\n */\n const existingPromise = networkController.methods.getLatestOperation(index)\n return new Promise((resolve, reject) => {\n existingPromise.finally(() => {\n return request().then((response) => {\n networkController.methods.removeFromQueue(index)\n resolve(response)\n }).catch(error => {\n reject(error)\n })\n })\n })\n },\n checkAllRequestsCompleted () {\n /**\n * Waits until all pending requests in the networkController queue to finish before resolving the promise\n * */\n return new Promise((resolve, reject) => {\n const waitFor = []\n for (const index in networkController.waitingQueue) {\n for (const waitingPromise of networkController.waitingQueue[index]) {\n waitFor.push(waitingPromise)\n }\n }\n Promise.all(waitFor).then(() => {\n resolve()\n }).catch(error => {\n reject(error)\n })\n })\n }\n }\n}\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoDashboardCard.vue?vue&type=style&index=0&id=7350d9ae&prod&scoped=true&lang=scss&\"","import axios from \"axios\"\nimport \"./counterpartIcons.css\"\nconst CounterpartList = () => import(/* webpackChunkName: \"CounterpartList\" */ \"./CounterpartList.vue\")\n\n// exports basic app infos required for other modules and components\nconst baseApiUrl = \"/api/counterpartsnew/\"\nconst basePath = \"/counterparts\"\n\nexport default {\n name: \"Counterparts\",\n apiUrl: baseApiUrl,\n route: {\n path: basePath,\n component: CounterpartList\n },\n getCounterpartItems (url, params) {\n const getUrl = url || baseApiUrl + \"get_saved_counterparts\"\n return axios.get(getUrl, params)\n },\n counterpartTypeIcons: {\n contact: \"fas fa-address-card contact-card-color\",\n contacts: \"fas fa-address-card contact-card-color\",\n account: \"fas fa-building account-card-color\",\n accounts: \"fas fa-building account-card-color\",\n company: \"fas fa-building account-card-color\",\n organization: \"fas fa-building account-card-color\",\n opportunity: \"fas fa-crown opportunity-card-color\",\n deal: \"fas fa-crown opportunity-card-color\",\n lead: \"fas fa-search-dollar lead-card-color\",\n leads: \"fas fa-search-dollar lead-card-color\",\n person: \"fas fa-address-card contact-card-color\",\n people: \"fas fa-address-card contact-card-color\"\n },\n getCounterpartIcon (counterpartType) {\n if (!counterpartType) return\n const type = counterpartType.toLowerCase()\n return this.counterpartTypeIcons[type]\n }\n}\n","import axios from \"axios\"\n\nexport const realTimeAssistantService = {\n transcriptUrl: \"/api/transcripts/\",\n callTranscriptUrl: \"/api/calltranscripts/\",\n callItemTranscriptURL: \"/api/callitemtranscripts/\",\n\n methods: {\n saveTranscripts (dataToSave) {\n /**\n * saves raw transcript data, calculated transcript data for call and call items to database\n * params: transcripts\n * optional params: call_item_transcript, call_transcript\n */\n return axios.post(realTimeAssistantService.transcriptUrl, dataToSave)\n },\n saveCallItemTranscripts (dataToSave) {\n /**\n * saves calculated transcript data for call items to database\n * params: call_item_transcript\n */\n return axios.post(realTimeAssistantService.callItemTranscriptURL, dataToSave)\n },\n getTranscripts (callId) {\n /**\n * retrieves raw transcripts data for call items of a call\n * params: call_id\n */\n return this._retrieveData(realTimeAssistantService.transcriptUrl, { call_item__call__id: callId })\n },\n getTranscriptSummary (callId) {\n /**\n * retrieves summary data for provided call and it's call items\n * params: call_id\n * return: call_transcript, call_item_transcript for call items of call\n */\n return this._retrieveData(realTimeAssistantService.callTranscriptUrl, { call_id: callId })\n },\n _retrieveData (url, params) {\n return new Promise((resolve, reject) => {\n axios.get(url, { params }).then(response => {\n resolve(response.data)\n }).catch(error => {\n reject(error)\n })\n })\n }\n }\n}\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./AvailableFilter.vue?vue&type=style&index=0&id=98340740&prod&scoped=true&lang=css&\"","const UserProfileDetails = () => import(/* webpackChunkName: \"UserProfileDetails\" */ \"./profile/UserProfileView\")\nconst IntegrationsModule = () => import(/* webpackChunkName: \"IntegrationsModule\" */ \"./integrations/IntegrationList\")\nconst TeamModule = () => import(/* webpackChunkName: \"TeamModule\" */ \"./TeamList.vue\")\n\n// exports basic app infos required for other modules and CallViewItem_components\n\n// think of a better solution than to having both routes and url separated!\n// -> use navbar item\n\nconst baseUrl = \"/users\"\n\nexport const profileDetailView = {\n name: \"Profile\",\n apiUrl: \"/api/users/profile\",\n route: { path: baseUrl + \"/profile\", component: UserProfileDetails }\n}\n\nexport const integrationView = {\n name: \"Integrations\",\n route: { path: baseUrl + \"/integrations\", component: IntegrationsModule }\n}\n\nexport const teamView = {\n name: \"Team\",\n apiUrl: \"/api/users/team\",\n route: { path: baseUrl + \"/team\", component: TeamModule }\n}\n\nexport default {\n name: \"User\",\n apiUrl: \"/api\" + baseUrl,\n route: {\n path: baseUrl, component: UserProfileDetails\n },\n routes: [\n profileDetailView.route,\n integrationView.route,\n teamView.route\n ]\n}\n","const CallList = () => import(/* webpackChunkName: \"CallList\" */ \"./CallList.vue\")\nconst CallFeedback = () => import(/* webpackChunkName: \"CallFeedback\" */ \"./CallFeedback.vue\")\n\n// exports basic app infos required for other modules and CallViewItem_components\nconst baseUrl = \"/calls\"\n\nexport const callFeedbackView = {\n name: \"Call Feedback\",\n route: {\n path: `${baseUrl}/:id`,\n component: CallFeedback\n }\n}\n\nexport default {\n name: \"Calls\",\n apiUrl: `/api${baseUrl}`,\n route: {\n path: baseUrl,\n component: CallList\n },\n routes: [\n callFeedbackView.route\n ]\n}\n\nfunction findCrmFieldDefinition (item, questionId) {\n if (item.linked_field && item.linked_field.field_definition && item.linked_field.field_definition.length) {\n return item.linked_field.field_definition.find(item => item.id === questionId)\n }\n return null\n}\n\nfunction addAnswers (item, tabs, isFullText) {\n let result = \"\"\n const answers = item.answers\n const fieldLabels = new Set()\n\n for (const answer of answers) {\n const fieldDefinition = findCrmFieldDefinition(item, answer.question_id)\n\n if (fieldDefinition) {\n let editedText\n if (fieldDefinition.fieldType === \"lookup\") {\n // return name instead fo ID(crm_id) for lookup fields.\n editedText = JSON.parse(answer.text).name\n } else if (fieldDefinition.options && fieldDefinition.options.length > 0) {\n // return label instead of value for CRM fields with options to select from.\n const option = fieldDefinition.options.find(option => option.value.toString() === answer.text.toString())\n editedText = option ? option.label : answer.text\n } else {\n editedText = answer.text\n }\n\n const fieldLabel = fieldDefinition.label\n if (isFullText && !fieldLabels.has(fieldLabel)) {\n fieldLabels.add(fieldLabel)\n result += `${tabs}- ${fieldLabel}\\n`\n }\n\n result += `${tabs}${tabs}- ${strip(editedText)}`\n } else {\n result += `${tabs}- ${strip(answer.text)}${answer.has_importance ? ` - Importance: ${answer.importance}` : \"\"}`\n }\n\n result += \"\\n\"\n }\n\n return result\n}\n\nfunction handleCallItem (item, tabs, isFullText) {\n let result = \"\"\n const hasAnswers = item.answers && item.answers.length > 0\n const hasNotes = !!item.note && item.note.length > 0\n\n if (hasAnswers) result += addAnswers(item, tabs, isFullText)\n if (hasNotes) result += strip(item.note)\n return result\n}\n\n// Function to convert HTML entity names to their text equivalents for text summary section\nfunction decodeHTMLEntities (text) {\n const textArea = document.createElement(\"textarea\")\n textArea.innerHTML = text\n return textArea.value\n}\n\nexport const getPlainTextToCopy = (item, isFullText) => {\n let result = \"\"\n if (!item) {\n throw \"Unable to format\"\n }\n\n // Create text-based format of call flow\n if (isFullText && item.bao_values && item.bao_values.length > 0) {\n // handle bao value\n const baoValue = item.bao_values[0]\n result += \"bao value: \" + baoValue.value + \"/\" + baoValue.max_value + \"\\n\"\n }\n\n for (const i in item.call_flow) {\n const tsi = item.call_flow[i]\n const callItem = tsi.call_item\n\n let skip = !callItem && !tsi.additional_data && !tsi.type\n // we don't add items that do not have any data stored\n const emptyItem = isEmptyItem(callItem) && !tsi.type\n\n skip = skip || emptyItem\n if (skip) continue\n\n if (isFullText && result.length > 0) result += \"\\n\"\n if (tsi.type === \"objection\") result += \"Objection: \"\n if (tsi.type === \"default\") result += \"Dynamic Playbook: \"\n if (isFullText || tsi.type) result += tsi.name\n if (callItem) {\n if (isFullText) {\n result += callItem.bao_value ? \" - \" + callItem.bao_value : \"\"\n result += \"\\n\"\n }\n result += handleCallItem(callItem, \"\\t\", isFullText)\n } else {\n if (isFullText) result += \"\\n\"\n }\n\n if (!result.endsWith(\"\\n\")) result += \"\\n\"\n }\n\n // decode the html entities for plain text in text summary field\n result = decodeHTMLEntities(result)\n\n return result\n}\n\nexport const isEmptyItem = (callItem) => {\n return callItem &&\n isUnansweredItem(callItem) &&\n isEmpty(callItem.note) &&\n (!callItem.loaded_additional_data || !callItem.loaded_additional_data.length)\n}\n\nexport const isUnansweredItem = (callItem) => {\n return (!callItem.answers || !callItem.answers.length)\n}\n\nexport const isEmpty = (s) => {\n if (!s || s.length === 0) return true\n s = s.replace(/

\\s*<\\/p>/gi, \"\")\n return s.length === 0\n}\n\nexport const strip = (html) => {\n html = html.replace(//gi, \"\")\n html = html.replace(//gi, \"\")\n html = html.replace(/<\\/div>/ig, \"\\n\")\n html = html.replace(/<\\/li>/ig, \"\\n\")\n html = html.replace(/

  • /ig, \" * \")\n html = html.replace(/<\\/ul>/ig, \"\\n\")\n html = html.replace(/<\\/p>/ig, \"\\n\")\n html = html.replace(//gi, \"\\n\")\n html = html.replace(/<[^>]+>/ig, \"\")\n\n const replaceString1 = \"\"\n const replaceString2 = \"\"\n html = html.replace(/(\\n\\n\\n)+/ig, replaceString1)\n html = html.replace(/(\\n\\n)/ig, replaceString2)\n html = html.replace(//ig, \"\\n\\n\")\n html = html.replace(//ig, \"\\n\")\n return html\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/src/index.js!./ProgressIndicator.vue?vue&type=style&index=0&id=5019c482&prod&scoped=true&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('base-filter',{attrs:{\"value\":_vm.options.value,\"label\":_vm.options.label || _vm.staticText.selectAnswers,\"showLabel\":false,\"url\":_vm.getUrl,\"multiselect\":_vm.options.multiselect,\"key-to-extract-value\":\"name\",\"required\":_vm.options.required,\"internal-search\":true,\"hasError\":_vm.hasError},on:{\"input\":_vm.handleValueChanged}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./AnswerSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./AnswerSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AnswerSelector.vue?vue&type=template&id=60d9d60b&scoped=true&\"\nimport script from \"./AnswerSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./AnswerSelector.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60d9d60b\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetReachabilityMatrixDisplay.vue?vue&type=style&index=0&id=b44b3da6&prod&scoped=true&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.getComponentToDisplay)?_c(_vm.getComponentToDisplay,_vm._b({tag:\"component\",on:{\"update\":_vm.handleUpdate},scopedSlots:_vm._u([{key:\"chart\",fn:function(){return [_c('div',{staticClass:\"w-100 h-100 my-auto mx-auto\"},[(!_vm.showChart)?_c('div',[_c('progress-indicator')],1):_c('div',{staticClass:\"my-auto mx-auto\"},[(_vm.chartComponent)?_c(_vm.chartComponent,_vm._b({tag:\"component\",style:(_vm.chartStyle)},'component',_vm.getChartProps,false)):_vm._e()],1)])]},proxy:true}],null,false,39440430)},'component',_vm.getProps,false)):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetBasicMixin.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetBasicMixin.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetBasicMixin.vue?vue&type=template&id=d62f5334&scoped=true&\"\nimport script from \"./BaoWidgetBasicMixin.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetBasicMixin.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d62f5334\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"w-100 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"d-flex justify-content-between px-5 py-3 border-b-slate20\"},[_c('div',[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('img',{attrs:{\"src\":\"/img/icons/vector.svg\"}}),_c('div',{staticClass:\"font-size-18 ml-2\"},[_vm._v(\" \"+_vm._s(_vm.widgetToConfigure.title)+\" \")])]),_c('div',{staticClass:\"h-32px pl-2\"},[(!_vm.renaming)?_c('div',{staticClass:\"subtitle\",class:!_vm.widgetToConfigure.name?'opacity-50':'',on:{\"click\":function($event){_vm.renaming=true}}},[_vm._v(\" \"+_vm._s(_vm.getSubtitle)+\" \")]):_c('b-form-input',{staticClass:\"input-field-sm\",attrs:{\"placeholder\":_vm.staticText.customNamePlaceholder,\"autofocus\":\"\"},on:{\"blur\":function($event){_vm.renaming=false}},model:{value:(_vm.widgetToConfigure.name),callback:function ($$v) {_vm.$set(_vm.widgetToConfigure, \"name\", $$v)},expression:\"widgetToConfigure.name\"}})],1)]),_c('div',{staticClass:\"d-flex p-2\"},[_c('b-btn',{staticClass:\"mr-3 px-4\",attrs:{\"variant\":\"secondary\"},on:{\"click\":_vm.handleCloseAction}},[_vm._v(\" \"+_vm._s(_vm.staticText.cancel)+\" \")]),_c('b-btn',{staticClass:\"px-4\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.validateFiltersAndApplyChanges}},[_vm._v(\" \"+_vm._s(_vm.staticText.saveLabel)+\" \")])],1)]),_c('div',{staticClass:\"px-5 h-100 d-flex flex-column\"},[_c('div',{staticClass:\"row h-100\"},[_c('div',{staticClass:\"col-md-6 min-h-100 py-3 border-r-slate20\"},[_c('b-form-group',{staticClass:\"w-100\"},[_c('label',{staticClass:\"d-flex align-items-center\",attrs:{\"for\":'widget-description-input'+ _vm.widgetToConfigure.id}},[_c('svg',{class:'mr-2 info-icon',attrs:{\"width\":\"18\",\"height\":\"18\",\"viewBox\":\"0 0 18 18\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"id\":'widget-description-info-icon',\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M0 9c0-4.963 4.037-9 9-9s9 4.037 9 9-4.037 9-9 9-9-4.037-9-9zm8.167-3.674l-.01-.01a.543.543 0 01-.129-.362v-.778c0-.135.042-.26.13-.362l.004-.005.005-.005a.513.513 0 01.372-.154h.907c.144 0 .271.053.372.154a.513.513 0 01.154.372v.778c0 .143-.052.27-.154.372l-.004.005-.006.004a.543.543 0 01-.362.13H8.54a.543.543 0 01-.362-.13l-.01-.009zm.115 8.885l-.01-.01a.543.543 0 01-.129-.363V7.013a.49.49 0 01.14-.358.513.513 0 01.371-.153h.692c.139 0 .264.05.358.153a.468.468 0 01.153.358v6.825c0 .144-.052.271-.154.373a.49.49 0 01-.357.139h-.692a.543.543 0 01-.362-.13l-.01-.01z\",\"fill\":\"#35375B\",\"opacity\":\".6\"}})]),_c('b-tooltip',{attrs:{\"target\":\"widget-description-info-icon\",\"title\":_vm.staticText.widgetDescriptionInfo,\"placement\":\"bottom\"}}),_c('span',[_vm._v(_vm._s(_vm.staticText.widgetDescription))])],1),_c('b-form-textarea',{staticClass:\"border-slate20 overflow-hidden\",attrs:{\"id\":'widget-description-input'+ _vm.widgetToConfigure.id,\"placeholder\":_vm.staticText.writeDescriptionLabel,\"max-rows\":\"6\",\"rows\":\"3\",\"maxlength\":\"300\"},model:{value:(_vm.widgetToConfigure.notes),callback:function ($$v) {_vm.$set(_vm.widgetToConfigure, \"notes\", $$v)},expression:\"widgetToConfigure.notes\"}})],1),_c('div',{staticClass:\"d-flex justify-content-end mb-2\"},[_c('b-btn',{class:[\n 'px-4 widget-refresh-button',\n { visible: _vm.showRefreshButton }\n ],attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.validateFiltersAndPreviewWidget}},[_vm._v(\" \"+_vm._s(_vm.staticText.refreshLabel)+\" \")])],1),_c(_vm.widget.component,_vm._b({tag:\"component\"},'component',{\n widget: _vm.widgetToConfigure,\n previewMode: true\n },false))],1),_c('div',{staticClass:\"col-md-6 py-3\"},[_c('widget-settings',{ref:`settingsConfigurations-${_vm.widget.id}`,attrs:{\"configuration\":{\n widget: _vm.widget,\n configOptions: _vm.configOptions\n }},on:{\"changed\":_vm.settingsChanged}}),_c('filter-configurations',{ref:`filterConfigurations-${_vm.widget.id}`,attrs:{\"widget\":_vm.widget,\"config-options\":_vm.configOptions},on:{\"input\":_vm.filtersChanged}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.configurations.length > 0)?_c('div',{staticClass:\"w-100 mb-4\"},[_c('div',{staticClass:\"d-flex mb-2\"},[_c('svg',{class:'mr-2',attrs:{\"width\":\"20\",\"height\":\"20\",\"viewBox\":\"0 0 20 20\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M1.324 7.23A8.98 8.98 0 013.22 3.97a.533.533 0 01.573-.143l2.04.726a1.065 1.065 0 001.403-.807l.39-2.125a.531.531 0 01.411-.423 9.11 9.11 0 013.78 0 .53.53 0 01.412.423l.39 2.125a1.063 1.063 0 001.402.807l2.04-.726a.533.533 0 01.574.142c.853.94 1.5 2.051 1.893 3.26a.528.528 0 01-.162.567l-1.653 1.397a1.054 1.054 0 000 1.614l1.653 1.397c.165.14.228.363.162.567a8.98 8.98 0 01-1.893 3.26.532.532 0 01-.573.142l-2.04-.726a1.065 1.065 0 00-1.403.807l-.39 2.125a.53.53 0 01-.413.423 9.101 9.101 0 01-3.779 0 .531.531 0 01-.412-.423l-.389-2.125a1.061 1.061 0 00-1.403-.807l-2.04.726a.532.532 0 01-.573-.142 8.98 8.98 0 01-1.893-3.26.528.528 0 01.162-.567l1.653-1.397a1.056 1.056 0 000-1.614L1.488 7.796a.528.528 0 01-.162-.567h-.002zM7.3 10a2.625 2.625 0 105.251 0 2.625 2.625 0 00-5.25 0z\",\"fill\":\"#35375B\",\"opacity\":\".8\"}})]),_c('span',[_vm._v(_vm._s(_vm.staticText.settingsLabel))])]),_vm._l((_vm.configurations),function(configOption,index){return _c('div',{key:''+index + _vm.widget.id,staticClass:\"w-100 mb-3\"},[(configOption.isCriteriaOptions)?_c('bao-widget-criteria-configurator',{ref:`${configOption.fieldName}-${index}`,refInFor:true,attrs:{\"configuration\":{ options: configOption.options, value: configOption.value }},on:{\"change\":value => _vm.successCriteriaChanged(value, configOption)}}):_vm._e(),(configOption.isText || configOption.isNumber || configOption.isTextArea)?_c('basic-type-filter',{ref:`${configOption.fieldName}-${index}`,refInFor:true,attrs:{\"value\":configOption},on:{\"change\":(value) => _vm.basicTypeFilterChanged(value, configOption)}}):_vm._e(),(configOption.isTimeframeFilter)?_c('timeframe-filter',{ref:`${configOption.fieldName}-${index}`,refInFor:true,attrs:{\"multiselect\":configOption.multiselect},on:{\"input\":_vm.configChanged},model:{value:(configOption.value),callback:function ($$v) {_vm.$set(configOption, \"value\", $$v)},expression:\"configOption.value\"}}):_vm._e(),(configOption.isPlaybookFilter)?_c('playbook-selector',{ref:`${configOption.fieldName}-${index}`,refInFor:true,attrs:{\"options\":configOption},on:{\"input\":value => _vm.playbookFilterChanged(value, configOption)}}):_vm._e(),(configOption.isPlaybookItemFilter && _vm.selectedPlaybooks && _vm.selectedPlaybooks.length > 0)?_c('playbook-item-selector',{ref:`${configOption.fieldName}-${index}`,refInFor:true,attrs:{\"options\":configOption,\"selected-playbooks\":_vm.selectedPlaybooks},on:{\"input\":value => _vm.playbookItemFilterChanged(value, configOption)}}):_vm._e(),(configOption.isAnswerFilter && _vm.selectedPlaybookItems && _vm.selectedPlaybookItems.length > 0)?_c('answer-selector',{ref:`${configOption.fieldName}-${index}`,refInFor:true,attrs:{\"options\":configOption,\"selected-playbook-items\":_vm.selectedPlaybookItems},on:{\"input\":value => _vm.answerChanged(value, configOption)}}):_vm._e(),(configOption.isPlaybookAndPlaybookItemFilter)?_c('playbook-item-answer-filters',{ref:`${configOption.fieldName}-${index}`,refInFor:true,attrs:{\"value\":{\n selectedPlaybooks: configOption.value.playbooks,\n selectedPlaybookItems: configOption.value.playbookItems,\n },\"criteria-configurator\":true,\"no-answer-required\":true},on:{\"input\":value => _vm.playbookAndPlaybookItemSelected(value, configOption)}}):_vm._e()],1)})],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"inner-label-form p-1\",class:{ 'error-class': _vm.hasError }},[_c('label',{staticClass:\"my-auto inner-label\"},[_vm._v(\" \"+_vm._s(_vm.configOption.label)+\" \")]),(_vm.configOption.isText)?_c('b-form-input',{attrs:{\"type\":_vm.configOption.type},on:{\"change\":function($event){return _vm.configChanged(_vm.configOption.value)}},model:{value:(_vm.configOption.value),callback:function ($$v) {_vm.$set(_vm.configOption, \"value\", $$v)},expression:\"configOption.value\"}}):_vm._e(),(_vm.configOption.isNumber)?_c('b-form-input',{attrs:{\"type\":_vm.configOption.type,\"min\":\"1\",\"oninput\":\"validity.valid||(value=1)\"},on:{\"change\":function($event){return _vm.configChanged(_vm.configOption.value)}},model:{value:(_vm.configOption.value),callback:function ($$v) {_vm.$set(_vm.configOption, \"value\", $$v)},expression:\"configOption.value\"}}):(_vm.configOption.isTextArea)?_c('b-form-textarea',{attrs:{\"rows\":\"3\",\"max-rows\":\"3\"},on:{\"change\":function($event){return _vm.configChanged(_vm.configOption.value)}},model:{value:(_vm.configOption.value),callback:function ($$v) {_vm.$set(_vm.configOption, \"value\", $$v)},expression:\"configOption.value\"}}):_vm._e()],1),(_vm.hasError)?_c('p',{staticClass:\"filter-error-text\"},[_vm._v(\" \"+_vm._s(_vm.staticText.filterErrorMessage)+\" \")]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BasicTypeFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BasicTypeFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BasicTypeFilter.vue?vue&type=template&id=36b5d568&\"\nimport script from \"./BasicTypeFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./BasicTypeFilter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"w-100\"},[_c('criteria-selector',{attrs:{\"options\":_vm.criteriaOptions,\"multiselect\":false,\"required\":true},on:{\"input\":_vm.configChanged},model:{value:(_vm.selectedCriteria),callback:function ($$v) {_vm.selectedCriteria=$$v},expression:\"selectedCriteria\"}}),(_vm.isPlaybookFilterVisible)?_c('playbook-item-answer-filters',{ref:_vm.filterRefs['isPlaybookFilterVisible'],staticClass:\"mt-3\",attrs:{\"value\":{\n selectedPlaybooks: _vm.selectedPlaybooks,\n selectedPlaybookItems: _vm.selectedPlaybookItems,\n selectedAnswers: _vm.selectedAnswers\n },\"criteria-configurator\":true},on:{\"input\":_vm.playbookItemAnswerSelected}}):_vm._e(),(_vm.isDurationFilterVisible)?_c('duration-classificator',{ref:_vm.filterRefs['isDurationFilterVisible'],staticClass:\"mt-3\",attrs:{\"required\":true},on:{\"input\":_vm.configChanged},model:{value:(_vm.callDuration),callback:function ($$v) {_vm.callDuration=$$v},expression:\"callDuration\"}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"d-flex\"},[_c('bao-widget-filter-container',{attrs:{\"label\":_vm.staticText.selectCriteria,\"label-tag\":\"criteria-filter-202223051346\",\"required\":_vm.required}},[_c('vue-multiselect',{attrs:{\"id\":\"criteria-filter-202223051346\",\"options\":_vm.options,\"label\":\"label\",\"track-by\":\"type\",\"show-labels\":false,\"allow-empty\":false,\"multiple\":false,\"placeholder\":_vm.staticText.selectCriteria},on:{\"input\":inputValue=>_vm.$emit('input', inputValue)},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./CriteriaSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./CriteriaSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CriteriaSelector.vue?vue&type=template&id=4637b542&scoped=true&\"\nimport script from \"./CriteriaSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./CriteriaSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CriteriaSelector.vue?vue&type=style&index=0&id=4637b542&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4637b542\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"bao-widget-filter d-flex\"},[_c('div',{staticClass:\"filter-body w-100\"},[_c('label',{staticClass:\"w-100 d-flex\",attrs:{\"id\":\"label-duration-filter-202112211245\",\"for\":\"target-input\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.durationLabel)+\" \"),(_vm.required)?_c('span',{staticClass:\"required-icon\"},[_vm._v(\"*\")]):_vm._e()]),_c('div',{staticClass:\"d-flex align-items-end justify-content-center\"},[_c('div',{staticClass:\"w-50 p-1 inner-label-form\"},[_c('label',{staticClass:\"inner-label\",attrs:{\"for\":\"minutes-input-202207171246\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.minutes)+\" \")]),_c('b-form-input',{staticClass:\"mr-1\",attrs:{\"id\":\"minutes-input-202207171246\",\"type\":\"number\",\"min\":\"0\",\"oninput\":\"validity.valid||(value=1)\"},on:{\"input\":inputValue=>_vm.$emit('input', (+inputValue) * 60 + (+_vm.durationSeconds))},model:{value:(_vm.durationMinutes),callback:function ($$v) {_vm.durationMinutes=$$v},expression:\"durationMinutes\"}})],1),_c('div',{staticClass:\"w-50 p-1 inner-label-form\"},[_c('label',{staticClass:\"inner-label\",attrs:{\"for\":\"seconds-input-202207171246\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.seconds)+\" \")]),_c('b-form-input',{staticClass:\"ml-1\",attrs:{\"id\":\"seconds-input-202207171246\",\"type\":\"number\",\"min\":\"0\",\"oninput\":\"validity.valid||(value=0)\"},on:{\"input\":inputValue=>_vm.$emit('input', (+_vm.durationMinutes) * 60 + (+inputValue))},model:{value:(_vm.durationSeconds),callback:function ($$v) {_vm.durationSeconds=$$v},expression:\"durationSeconds\"}})],1)])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./DurationClassificator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./DurationClassificator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DurationClassificator.vue?vue&type=template&id=4b9575ba&\"\nimport script from \"./DurationClassificator.vue?vue&type=script&lang=js&\"\nexport * from \"./DurationClassificator.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetCriteriaConfigurator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetCriteriaConfigurator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetCriteriaConfigurator.vue?vue&type=template&id=45fb9b74&\"\nimport script from \"./BaoWidgetCriteriaConfigurator.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetCriteriaConfigurator.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetSettings.vue?vue&type=template&id=6e03ac47&scoped=true&\"\nimport script from \"./BaoWidgetSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetSettings.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6e03ac47\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"d-flex mb-2 align-items-center\"},[_c('svg',{class:'mr-2',attrs:{\"width\":\"12\",\"height\":\"12\",\"viewBox\":\"0 0 12 12\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"d\":\"M.681 1.151C.821.814 1.118.6 1.444.6h9.114c.326 0 .622.214.761.551.141.337.097.735-.127 1.024l-3.841 5.39v3.064c0 .291-.144.559-.374.689a.606.606 0 01-.706-.072l-1.35-1.158a.808.808 0 01-.27-.617V7.564L.79 2.174a1.077 1.077 0 01-.11-1.023z\",\"fill\":\"#555775\"}})]),_c('span',[_vm._v(_vm._s(_vm.staticText.filtersLabel))])]),_vm._l((_vm.filters),function(filter,index){return _c('div',{key:_vm.getNewKey(index),staticClass:\"w-100 mb-3\"},[(!filter.type)?_c('div',{staticClass:\"bao-widget-filter d-flex w-100\"},[_c('div',{staticClass:\"w-100 filter-type-select\"},[_c('vue-multiselect',{attrs:{\"id\":\"filter-type-202205241525\",\"options\":_vm.getFilterTypeOptions,\"placeholder\":_vm.staticText.selectFilterType,\"show-labels\":false,\"allow-empty\":false},on:{\"select\":input => _vm.handleFilterTypeSelected(index, input)},scopedSlots:_vm._u([{key:\"singleLabel\",fn:function({option}){return [_c('div',[_vm._v(\" \"+_vm._s(_vm.getSelectedTypeLabel(option))+\" \")])]}},{key:\"option\",fn:function({option}){return [_c('div',[_vm._v(\" \"+_vm._s(_vm.getLabel(option))+\" \")])]}}],null,true),model:{value:(filter.type),callback:function ($$v) {_vm.$set(filter, \"type\", $$v)},expression:\"filter.type\"}})],1),_c('div',{staticClass:\"ml-3 filter-delete\",on:{\"click\":function($event){return _vm.deleteEmptyFilter(index)}}},[_c('i',{staticClass:\"fa fa-trash my-auto\"})])]):_c('div',{staticClass:\"d-flex w-100\"},[_c(filter.component,_vm._b({ref:`filter-component-${index}`,refInFor:true,tag:\"component\",attrs:{\"value\":filter.value,\"options\":filter.configOptions,\"hasError\":filter.error},on:{\"input\":value => _vm.handleFiltersChanged(filter, value),\"delete\":function($event){return _vm.handleFiltersChanged(filter, null)}}},'component',filter.props,false))],1)])}),(_vm.filterOptions.length > _vm.filters.length)?_c('button',{staticClass:\"new-filter\",attrs:{\"id\":\"new-filter-202205241448\"},on:{\"click\":_vm.addFilter}},[_c('svg',{attrs:{\"width\":\"15\",\"height\":\"15\",\"viewBox\":\"0 0 15 15\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M13.853 6.353H8.647V1.147a1.147 1.147 0 00-2.294 0v5.206H1.147a1.147 1.147 0 000 2.294h5.206v5.206a1.147 1.147 0 002.294 0V8.647h5.206a1.147 1.147 0 000-2.294zM7.65.457a.708.708 0 00-.856.69v5.647H1.147h5.647V1.147a.706.706 0 01.856-.69z\",\"fill\":\"#fff\"}})])]):_vm._e(),_c('b-tooltip',{attrs:{\"id\":\"new-filter-202205241448-tooltip\",\"target\":\"new-filter-202205241448\",\"triggers\":\"hover\",\"placement\":\"bottom\",\"noninteractive\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.newFilterLabel)+\" \")])],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"bao-widget-filter w-100 d-flex\"},[_c('bao-widget-filter-container',{attrs:{\"label\":_vm.staticText.selectTags,\"label-tag\":\"tags-filter\",\"hasError\":_vm.hasError}},[_c('vue-multiselect',{attrs:{\"id\":\"tags-filter\",\"options\":_vm.options,\"show-labels\":false,\"multiple\":true,\"placeholder\":_vm.staticText.selectTags,\"internal-search\":true,\"hide-selected\":true,\"clear-on-select\":false,\"close-on-select\":false,\"show-no-results\":false,\"group-select\":false,\"loading\":_vm.isLoading,\"custom-label\":item => item.tag,\"group-label\":\"group\",\"group-values\":\"tags\",\"track-by\":\"name\"},on:{\"input\":_vm.handleNewTagSelected},scopedSlots:_vm._u([{key:\"tag\",fn:function({ option, remove }){return [_c('span',{staticClass:\"custom__tag d-flex justify-content-between my-1\"},[_c('span',{staticClass:\"w-100\"},[_c('span',{staticClass:\"option__small\"},[_vm._v(\" \"+_vm._s(option.label)+\" \")])]),_c('span',{staticClass:\"custom__remove\",on:{\"click\":function($event){$event.stopPropagation();return remove(option)}}},[_c('i',{staticClass:\"far fa-times-circle\"})])])]}}]),model:{value:(_vm.selectedTags),callback:function ($$v) {_vm.selectedTags=$$v},expression:\"selectedTags\"}},[_c('span',{attrs:{\"slot\":\"noOptions\"},slot:\"noOptions\"},[_vm._v(\" \"+_vm._s(_vm.staticText.listIsEmpty)+\" \")])])],1),_c('div',{staticClass:\"ml-3 filter-delete\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('delete')}}},[_c('i',{staticClass:\"fa fa-trash my-auto\"})])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./TagsFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./TagsFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TagsFilter.vue?vue&type=template&id=6fd9a914&scoped=true&\"\nimport script from \"./TagsFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./TagsFilter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6fd9a914\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"bao-widget-filter w-100 d-flex\"},[_c('div',{staticClass:\"w-100 filter-body\"},[_c('label',[_vm._v(\" \"+_vm._s(_vm.staticText.shortcutsLabel)+\" \")]),_c('playbook-selector',{ref:_vm.filterRefs[0],attrs:{\"options\":_vm.playbookConfigOptions},on:{\"input\":_vm.playbookSelected,\"delete\":function($event){return _vm.$emit('delete')}}}),(_vm.showObjectionsSelection)?_c('objection-selector',{ref:_vm.filterRefs[1],staticClass:\"mt-2\",attrs:{\"options\":_vm.objectionConfigOption,\"selected-playbook-id\":_vm.selectedPlaybookId},on:{\"input\":_vm.objectionSelected,\"delete\":function($event){return _vm.objectionSelected([])}}}):_vm._e()],1),_c('div',{staticClass:\"ml-3 filter-delete\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('delete')}}},[_c('i',{staticClass:\"fa fa-trash my-auto\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('base-filter',{attrs:{\"value\":_vm.options.value,\"label\":_vm.options.label || _vm.staticText.selectShortcuts,\"showLabel\":false,\"url\":_vm.getUrl,\"multiselect\":_vm.options.multiselect,\"key-to-extract-value\":\"id\",\"required\":_vm.options.required,\"internal-search\":true,\"hasError\":_vm.hasError},on:{\"input\":_vm.handleValueChanged}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./ObjectionSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./ObjectionSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ObjectionSelector.vue?vue&type=template&id=7ba5ed61&scoped=true&\"\nimport script from \"./ObjectionSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ObjectionSelector.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7ba5ed61\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./ObjectionsFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./ObjectionsFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ObjectionsFilter.vue?vue&type=template&id=4b363f8d&\"\nimport script from \"./ObjectionsFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./ObjectionsFilter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:['bao-widget-filter w-100 d-flex', { 'advanced-filters' : _vm.isOpenFromAdvancedFilters }]},[_c('div',{staticClass:\"filter-body w-100\"},[_c('label',{staticClass:\"w-100 d-flex justify-content-between filter-title\",attrs:{\"id\":`label-available-filter-${_vm.filterType}`,\"for\":`available-filter-${_vm.filterType}`}},[_vm._v(\" \"+_vm._s(_vm.filterLabel)+\" \")]),_c('b-form-row',{staticClass:\"mb-1 w-100 d-flex\"},[_c('div',{staticClass:\"w-50 p-1 inner-label-form\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterAvailable),expression:\"filterAvailable\"}],staticClass:\"inner-radio\",attrs:{\"type\":\"radio\",\"id\":`${_vm.filterType}-yes`,\"name\":`${_vm.filterType}-available`},domProps:{\"value\":true,\"checked\":_vm._q(_vm.filterAvailable,true)},on:{\"change\":[function($event){_vm.filterAvailable=true},_vm.handleFilterChanged]}}),_c('label',{staticClass:\"my-auto inner-label\",attrs:{\"for\":`${_vm.filterType}-yes`}},[_vm._v(\" \"+_vm._s(_vm.staticText.yesLabel)+\" \")])]),_c('div',{staticClass:\"w-50 p-1 inner-label-form\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filterAvailable),expression:\"filterAvailable\"}],staticClass:\"inner-radio\",attrs:{\"type\":\"radio\",\"id\":`${_vm.filterType}-no`,\"name\":`${_vm.filterType}-available`},domProps:{\"value\":false,\"checked\":_vm._q(_vm.filterAvailable,false)},on:{\"change\":[function($event){_vm.filterAvailable=false},_vm.handleFilterChanged]}}),_c('label',{staticClass:\"my-auto inner-label\",attrs:{\"for\":`${_vm.filterType}-no`}},[_vm._v(\" \"+_vm._s(_vm.staticText.noLabel)+\" \")])])]),(_vm.hasError)?_c('p',{staticClass:\"filter-error-text\"},[_vm._v(\" \"+_vm._s(_vm.staticText.filterErrorMessage)+\" \")]):_vm._e()],1),_c('div',{staticClass:\"ml-3 filter-delete\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('delete')}}},[_c('i',{staticClass:\"fa fa-trash my-auto\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./AvailableFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./AvailableFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AvailableFilter.vue?vue&type=template&id=98340740&scoped=true&\"\nimport script from \"./AvailableFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./AvailableFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AvailableFilter.vue?vue&type=style&index=0&id=98340740&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"98340740\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./FilterConfigurations.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./FilterConfigurations.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FilterConfigurations.vue?vue&type=template&id=a8e3c900&scoped=true&\"\nimport script from \"./FilterConfigurations.vue?vue&type=script&lang=js&\"\nexport * from \"./FilterConfigurations.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FilterConfigurations.vue?vue&type=style&index=0&id=a8e3c900&prod&scoped=true&lang=scss&\"\nimport style1 from \"./FilterConfigurations.vue?vue&type=style&index=1&id=a8e3c900&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a8e3c900\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetConfigurator.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetConfigurator.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetConfigurator.vue?vue&type=template&id=1432241a&scoped=true&\"\nimport script from \"./BaoWidgetConfigurator.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetConfigurator.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaoWidgetConfigurator.vue?vue&type=style&index=0&id=1432241a&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1432241a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-card',{staticClass:\"rounded-border w-100\",class:{ 'h-100': !_vm.previewMode },scopedSlots:_vm._u([(!_vm.previewMode)?{key:\"header\",fn:function(){return [_c('div',{staticClass:\"w-100 d-flex justify-content-between cursor-pointer\"},[_c('div',{staticClass:\"mb-0 d-flex align-items-center slate-80\",attrs:{\"id\":'chartTitle-'+_vm.widget.id}},[_vm._v(\" \"+_vm._s(_vm.getWidgetLabel)+\" \"),_c('img',{staticClass:\"ml-1 action-icon cursor-pointer\",attrs:{\"id\":`chartInfo-${_vm.widget.id}`,\"src\":\"/img/icons/info-icon.svg\"}}),(_vm.widgetDescription)?_c('b-tooltip',{attrs:{\"id\":'chartDescription-' + _vm.widget.id,\"target\":`chartInfo-${_vm.widget.id}`}},[_c('div',{staticClass:\"text-left tooltip-custom-heading\"},[_vm._v(\" \"+_vm._s(_vm.widget.title)+\" \")]),_c('div',{staticClass:\"text-left tooltip-custom-body\"},[_vm._v(\" \"+_vm._s(_vm.widgetDescription)+\" \")])]):_vm._e()],1),_c('div',{staticClass:\"d-flex justify-content-between my-auto\"},[_c('b-alert',{staticClass:\"my-auto alert-class p-0\",attrs:{\"variant\":\"success\",\"size\":\"sm\",\"fade\":\"\"},model:{value:(_vm.widget.alertCountDown),callback:function ($$v) {_vm.$set(_vm.widget, \"alertCountDown\", $$v)},expression:\"widget.alertCountDown\"}},[_vm._v(\" \"+_vm._s(_vm.getAlertLabel)+\" \")]),(!_vm.isNewConversationPage && _vm.canModifyWidgetPage())?_c('b-dropdown',{staticClass:\"my-auto px-1 bao-widget-display-dropdown-202112101416\",attrs:{\"id\":'widget-action-dropdown-202112031303-'+_vm.widget.id,\"toggle-class\":\"text-decoration-none\",\"variant\":\"link\",\"size\":\"sm\",\"no-caret\":\"\",\"right\":\"\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('img',{staticClass:\"action-icon\",attrs:{\"id\":'ellipsisIcon-' + _vm.widget.id,\"src\":\"/img/icons/points-icon.svg\"}}),_c('b-tooltip',{attrs:{\"target\":'ellipsisIcon-' + _vm.widget.id}},[_vm._v(\" \"+_vm._s(_vm.staticText.tooltipMoreText)+\" \")])]},proxy:true}],null,false,430939866)},[_c('b-dropdown-item',[_c('b-btn',{staticClass:\"p-0 w-100\",attrs:{\"variant\":\"btn-outline\"},on:{\"click\":function($event){return _vm.handleWidgetCloned(_vm.widget)}}},[_c('i',{staticClass:\"fas fa-solid fa-clone my-auto text-slate\"}),_c('span',[_vm._v(\" \"+_vm._s(_vm.staticText.duplicate)+\" \")])])],1),_c('b-dropdown-divider'),_c('b-dropdown-item',[_c('bao-delete-button',{staticClass:\"w-100\",attrs:{\"id\":'widget-delete-btn-' + _vm.widget.id,\"label\":_vm.staticText.delete,\"variant\":\"btn-outline\",\"extra-class\":\"p-0 w-100 text-slate\",\"icon\":\"fa fa-trash text-slate\",\"url\":'/api/widgets/'+_vm.widget.id},on:{\"deleted\":function($event){return _vm.handleWidgetDeleted(_vm.widget.id)}}})],1),_c('b-dropdown-divider'),_c('b-dropdown-item',[_c('b-btn',{staticClass:\"p-0 w-100\",attrs:{\"variant\":\"btn-outline\"},on:{\"click\":function($event){return _vm.downloadWidgetAsPNG(_vm.widget)}}},[_c('i',{staticClass:\"fas fa-solid fa-download my-auto text-slate\"}),_c('span',[_vm._v(\" \"+_vm._s(_vm.staticText.download)+\" \")])])],1)],1):_vm._e(),(!_vm.isNewConversationPage && _vm.canModifyWidgetPage())?_c('b-btn',{staticClass:\"p-0 w-100\",attrs:{\"variant\":\"btn-outline\"},on:{\"click\":function($event){return _vm.openWidgetConfigurator(_vm.widget)}}},[_c('img',{staticClass:\"action-icon\",attrs:{\"id\":'edit-icon-202208040043'+_vm.widget.id,\"src\":\"/img/icons/edit-icon.svg\"}}),_c('b-tooltip',{attrs:{\"target\":'edit-icon-202208040043'+_vm.widget.id}},[_vm._v(\" \"+_vm._s(_vm.staticText.tooltipTextEdit)+\" \")])],1):_vm._e()],1)])]},proxy:true}:null],null,true)},[_c('div',{staticClass:\"w-100 h-100 my-auto mx-auto\",attrs:{\"id\":'chart-'+_vm.widget.id}},[(!_vm.previewMode)?_vm._t(\"filters\",function(){return [_c('bao-widget-criteria-display',{staticClass:\"pb-2\",attrs:{\"widget\":_vm.widget}}),_c('bao-widget-filters-display',{staticClass:\"pb-2\",attrs:{\"widget\":_vm.widget}})]}):_vm._e(),_vm._t(\"additional-info\",function(){return [(_vm.shouldShowTotalTime)?_c('div',{staticClass:\"w-100 d-flex justify-content-end legends font-size-16 slate-80\"},[_vm._v(\" \"+_vm._s(_vm.staticText.total)+\" \"+_vm._s(_vm.totalItems)+\" \")]):_vm._e()]}),_vm._t(\"chart\"),(_vm.showGoToConversationsButton)?_vm._t(\"callHistory\",function(){return [_c('button',{staticClass:\"mt-3 float-right btn btn-secondary py-2 px-3\",on:{\"click\":_vm.showConversations}},[_vm._v(\" \"+_vm._s(_vm.staticText.showConversationsLabel)+\" \")])]}):_vm._e()],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"grey-div mw-100 d-inline-block\",class:_vm.filtersExist ? 'cursor-pointer' : '',attrs:{\"id\":'filter-applied-20220902-'+_vm.widget.id},on:{\"click\":_vm.toggleFiltersPopover}},[_c('img',{attrs:{\"src\":\"/img/icons/filter.svg\"}}),_vm._v(_vm._s(_vm.getFilterText)+\" \")]),_c('transition',{attrs:{\"name\":\"animate-down\"}},[(_vm.showFiltersPopover && _vm.filtersExist)?_c('div',{staticClass:\"mt-1 p-2 filters-popover\"},[(_vm.loading)?_c('progress-indicator',{attrs:{\"small\":true,\"show-loading-label\":false}}):_c('ul',{staticClass:\"filters-popover__inner\"},_vm._l((_vm.filtersList),function(filter,index){return _c('li',{key:index+'-'+_vm.widget.id,staticClass:\"filter pb-2\"},[_c('span',{staticClass:\"filter__name pb-1\"},[_vm._v(_vm._s(filter.name))]),(Array.isArray(filter.value))?_c('ul',_vm._l((filter.value),function(value,valueIndex){return _c('li',{key:index+valueIndex,staticClass:\"filter__values\"},[_vm._v(\" \"+_vm._s(value)+\" \")])}),0):_c('div',[_vm._v(_vm._s(filter.value))])])}),0)],1):_vm._e()])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetFiltersDisplay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetFiltersDisplay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetFiltersDisplay.vue?vue&type=template&id=006aab06&scoped=true&\"\nimport script from \"./BaoWidgetFiltersDisplay.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetFiltersDisplay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaoWidgetFiltersDisplay.vue?vue&type=style&index=0&id=006aab06&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"006aab06\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.getCriterion)?_c('div',{staticClass:\"d-inline-block mw-100\"},[_c('div',{staticClass:\"font-size-12 grey-div d-flex align-items-center\"},[_c('img',{attrs:{\"src\":\"/img/icons/settings-icon.svg\"}}),(_vm.getCriterion === 'answer' || _vm.getCriterion === 'playbookItemCriteria')?_c('div',{staticClass:\"d-flex text-overflow-ellipsis\",attrs:{\"id\":'playbook-criteria-filter-20220329-'+_vm.widget.id}},[_c('div',{staticClass:\"text-overflow-ellipsis\"},[_vm._v(_vm._s(_vm.playbooks))]),_c('div',{staticClass:\"text-overflow-ellipsis mx-2\"},[_vm._v(_vm._s(_vm.staticText.item)+\": \"+_vm._s(_vm.playbookItems))]),(_vm.getCriterion === 'answer')?_c('div',{staticClass:\"text-overflow-ellipsis ml-2\"},[_vm._v(_vm._s(_vm.staticText.answer)+\": \"+_vm._s(_vm.getAnswerFilter))]):_vm._e(),_c('b-tooltip',{attrs:{\"target\":'playbook-criteria-filter-20220329-'+_vm.widget.id,\"placement\":\"top\",\"custom-class\":\"long-tooltip\"}},[_c('div',{staticClass:\"tooltip-text\"},[(_vm.playbooks.length > 0)?_c('div',{staticClass:\"pb-3\"},[_vm._v(_vm._s(_vm.playbooks))]):_vm._e(),_c('div',{staticClass:\"w-100 d-flex\"},[_c('div',{staticClass:\"w-30\"},[_vm._v(_vm._s(_vm.staticText.item)+\":\")]),_c('div',{staticClass:\"w-70 main-slate\"},[_vm._v(_vm._s(_vm.playbookItems))])]),(_vm.getCriterion === 'answer')?_c('div',{staticClass:\"w-100 d-flex\"},[_c('div',{staticClass:\"w-30\"},[_vm._v(_vm._s(_vm.staticText.answer)+\":\")]),_c('div',{staticClass:\"w-70 main-slate\"},[_vm._v(_vm._s(_vm.getAnswerFilter))])]):_vm._e()])])],1):(_vm.getCriterion === 'callDuration')?_c('div',{staticClass:\"text-overflow-ellipsis\"},[_vm._v(\" \"+_vm._s(_vm.staticText.duration)+\" ≥ \"+_vm._s(_vm.formatMinutes(_vm.getDurationFilter))+\" \")]):_c('div',{staticClass:\"text-overflow-ellipsis\",attrs:{\"id\":'reachability-item-filter-20220329-'+_vm.widget.id}},[_vm._v(\" \"+_vm._s(_vm.getTextToDisplay(_vm.getCriterion))+\" \")])])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetCriteriaDisplay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetCriteriaDisplay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetCriteriaDisplay.vue?vue&type=template&id=069b812e&scoped=true&\"\nimport script from \"./BaoWidgetCriteriaDisplay.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetCriteriaDisplay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaoWidgetCriteriaDisplay.vue?vue&type=style&index=0&id=069b812e&prod&scoped=true&lang=scss&\"\nimport style1 from \"./BaoWidgetCriteriaDisplay.vue?vue&type=style&index=1&id=069b812e&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"069b812e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetDisplay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetDisplay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetDisplay.vue?vue&type=template&id=1fb7a1f7&scoped=true&\"\nimport script from \"./BaoWidgetDisplay.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetDisplay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaoWidgetDisplay.vue?vue&type=style&index=0&id=1fb7a1f7&prod&lang=scss&\"\nimport style1 from \"./BaoWidgetDisplay.vue?vue&type=style&index=1&id=1fb7a1f7&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fb7a1f7\",\n null\n \n)\n\nexport default component.exports","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n getDefaultHorizontalBarChartOptions\n} from \"@/apps/dashboard/chartUtils\"\nimport { defaultHorizontalDatasetValues } from \"@/apps/dashboard/chartConfig\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst HorizontalBarChart = () => import(/* webpackChunkName: \"HorizontalBarChart\" */ \"@/apps/dashboard/BaoWidgetsBaseComponents/HorizontalBarChart\")\n\nexport default {\n name: \"BaoWidgetMostFrequentShortcuts\",\n info: {\n title: \"Most Used Shortcuts\",\n description: \"Indicates which shortcuts are used most frequently.\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getDefaultHorizontalBarChartOptions,\n chartComponent: HorizontalBarChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay,\n totalObjections: 0\n }\n },\n methods: {\n mappingFunc (items) {\n items = items\n .sort((a, b) => b.countdistinct_additional_data_for_call__created_at - a.countdistinct_additional_data_for_call__created_at)\n .filter(item => item.countiftrue_additional_data_for_call__is_objection > 0)\n .splice(0, 10)\n const labels = []\n const data = []\n const callIds = []\n this.totalObjections = this.getTotalCount(items, \"countdistinct_additional_data_for_call__created_at\")\n for (const item of items) {\n labels.push(item.additional_data_for_call__selected_choice__talkscript__name)\n data.push(item.countdistinct_additional_data_for_call__created_at)\n callIds.push(item.arrayagg_id)\n }\n return {\n labels,\n datasets: [{ ...defaultHorizontalDatasetValues, data }],\n callIds\n }\n },\n getChartOptions () {\n const dataLabelClickCallBack = (dataIndex) => {\n this.showConversations(dataIndex)\n }\n return this.getDefaultHorizontalBarChartOptions(\n this.widget,\n this,\n {\n dataLabelClickCallBack\n }\n )\n },\n getConfigOptions () {\n return []\n },\n getDisplayProps () {\n return { widget: this.widget, totalItems: this.totalObjections }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n createdDateArray,\n getDefaultLineChartOptions\n} from \"@/apps/dashboard/chartUtils\"\nimport moment from \"moment\"\nimport { defaultLineDatasetValues } from \"@/apps/dashboard/chartConfig\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst LineChart = () => import(/* webpackChunkName: \"LineChart\" */ \"../BaoWidgetsBaseComponents/LineChart\")\n\nexport default {\n name: \"BaoWidgetCallsPerDay\",\n info: {\n title: \"Call activity per day\",\n description: \"How many conversations did my team have per day this month? How actively did they pursue this month’s goals?\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getDefaultLineChartOptions,\n createdDateArray,\n chartComponent: LineChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay\n }\n },\n methods: {\n mappingFunc (items) {\n const dateArray = this.createdDateArray(moment().startOf(\"month\"), \"day\", moment().endOf(\"month\"))\n items = dateArray.map(date => {\n const result = { text: date.toLocaleString(\"default\", { month: \"short\", day: \"numeric\" }), count: 0 }\n const data = items.filter(item => item.created_at__date === moment(date).format(\"YYYY-MM-DD\"))\n if (data && data.length > 0) result.count = data[0].count\n return result\n })\n const result = {}\n result.labels = items.map(item => item.text)\n result.datasets = [{\n ...defaultLineDatasetValues,\n data: items.map(item => Math.round(item.count * 100) / 100)\n }]\n return result\n },\n getChartOptions () {\n return this.getDefaultLineChartOptions(this.widget, {})\n },\n getConfigOptions () {\n return [{\n type: \"filterOptions\",\n blacklist: [\"timeframe\"] // TODO: decide on filters\n }]\n },\n getDisplayProps () {\n return { widget: this.widget }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n getDefaultHorizontalBarChartOptions\n} from \"@/apps/dashboard/chartUtils\"\nimport { defaultHorizontalDatasetValues } from \"@/apps/dashboard/chartConfig\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst HorizontalBarChart = () => import(/* webpackChunkName: \"HorizontalBarChart\" */ \"../BaoWidgetsBaseComponents/HorizontalBarChart\")\n\nexport default {\n name: \"BaoWidgetCallsPerPlaybook\",\n info: {\n title: \"Most-Used Playbooks\",\n description: \"Shows which playbooks are used and how often.\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getDefaultHorizontalBarChartOptions,\n chartComponent: HorizontalBarChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay,\n totalCalls: 0\n }\n },\n methods: {\n mappingFunc (items) {\n items = items.sort((a, b) => b.countdistinct_id - a.countdistinct_id)\n .filter(item => item.countdistinct_id > 0)\n .splice(0, 10)\n const labels = []\n const data = []\n const callIds = []\n this.totalCalls = this.getTotalCount(items, \"countdistinct_id\")\n for (const item of items) {\n labels.push(item.talkscript__name)\n data.push(item.countdistinct_id)\n callIds.push(item.arrayagg_id)\n }\n return {\n labels,\n datasets: [{ ...defaultHorizontalDatasetValues, data }],\n callIds\n }\n },\n getChartOptions () {\n const dataLabelClickCallBack = (dataIndex) => {\n this.showConversations(dataIndex)\n }\n return this.getDefaultHorizontalBarChartOptions(\n this.widget,\n this,\n {\n dataLabelClickCallBack\n }\n )\n },\n getConfigOptions () {\n return []\n },\n getDisplayProps () {\n return { widget: this.widget, totalItems: this.totalCalls }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n getDefaultHorizontalBarChartOptions, getUsername\n} from \"@/apps/dashboard/chartUtils\"\nimport { defaultHorizontalDatasetValues } from \"@/apps/dashboard/chartConfig\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst HorizontalBarChart = () => import(/* webpackChunkName: \"HorizontalBarChart\" */ \"../BaoWidgetsBaseComponents/HorizontalBarChart\")\n\nexport default {\n name: \"BaoWidgetCallsPerUser\",\n info: {\n title: \"Call activity per user\",\n description: \"How many conversations did each user in my team have this month? How active were the users in pursuing the team’s goals this month?\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getDefaultHorizontalBarChartOptions,\n getUsername,\n chartComponent: HorizontalBarChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay\n }\n },\n methods: {\n mappingFunc (items) {\n items = items.sort((a, b) => b.count_id - a.count_id).splice(0, 10)\n const labels = []\n const data = []\n for (const item of items) {\n labels.push(this.getUsername(item, \"created_by\"))\n data.push(item.count_id)\n }\n return {\n labels,\n datasets: [{ ...defaultHorizontalDatasetValues, data }]\n }\n },\n getChartOptions () {\n return this.getDefaultHorizontalBarChartOptions(this.widget, this)\n },\n getConfigOptions () {\n return []\n },\n getDisplayProps () {\n return { widget: this.widget }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n createdDateArray,\n getDefaultLineChartOptions\n} from \"@/apps/dashboard/chartUtils\"\nimport moment from \"moment\"\nimport { defaultLineDatasetValues } from \"@/apps/dashboard/chartConfig\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst LineChart = () => import(/* webpackChunkName: \"LineChart\" */ \"../BaoWidgetsBaseComponents/LineChart\")\n\nexport default {\n name: \"BaoWidgetCallsPerMonth\",\n info: {\n title: \"Call activity per month\",\n description: \"How many conversations did my team have in a particular month over a 12-month period?\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getDefaultLineChartOptions,\n createdDateArray,\n chartComponent: LineChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay\n }\n },\n methods: {\n mappingFunc (items) {\n const delta = this.widget.config && this.widget.config.created_at__gte\n ? this.widget.config.created_at__gte - 1\n : 11\n const dateArray = this.createdDateArray(moment().subtract(delta, \"month\"), \"month\")\n const data = dateArray.map(date => {\n const result = { text: date.toLocaleString(\"default\", { month: \"short\", year: \"numeric\" }), count: 0 }\n const data = items.filter(item => {\n return item.created_at__month === moment(date).month() + 1 && item.created_at__year === moment(date).year()\n })\n if (data && data.length > 0) result.count = data[0].count\n return result\n })\n const result = {}\n result.labels = data.map(item => item.text)\n result.datasets = [{\n ...defaultLineDatasetValues,\n data: data.map(item => Math.round(item.count * 100) / 100)\n }]\n return result\n },\n getChartOptions () {\n return this.getDefaultLineChartOptions(this.widget, {})\n },\n getConfigOptions () {\n return []\n },\n getDisplayProps () {\n return { widget: this.widget }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"h-100\"},[_c('b-card',{staticClass:\"h-100 rounded-border\",scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"mb-0 card-title\",attrs:{\"id\":'chartTitle-'+_vm.chart.id}},[_vm._v(\" \"+_vm._s(_vm.chart.title)+\" \")]),_c('img',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"id\":'chartInfo-'+_vm.chart.id,\"src\":require(\"../../../../public/img/icons/info-icon.svg\")}}),_c('b-tooltip',{attrs:{\"id\":'chartDescription-' + _vm.chart.id,\"target\":'chartInfo-'+ _vm.chart.id}},[_vm._v(\" \"+_vm._s(_vm.chart.description)+\" \")])]},proxy:true}])},[_c('div',{staticClass:\"w-100 h-100 my-auto mx-auto\"},[(_vm.loading)?_c('div',{attrs:{\"id\":\"loading-indicator-202012311632\"}},[_c('progress-indicator')],1):_vm._e(),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.loading),expression:\"!loading\"}],staticClass:\"my-auto mx-auto\"},[_c('bao-dashboard-chart',{attrs:{\"widget\":_vm.chart},on:{\"loading-changed\":_vm.setLoading}})],1)])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.chartData && _vm.chartOptions)?_c('div',[(_vm.widget.chartType === 'number')?_c('div',[_c('v-runtime-template',{attrs:{\"template\":_vm.widget.component}})],1):_vm._e(),(_vm.widget.chartType === 'bar')?_c('bar',{attrs:{\"chart-data\":_vm.chartData,\"options\":_vm.chartOptions,\"chart\":_vm.widget,\"styles\":_vm.chartStyle}}):_vm._e(),(_vm.widget.chartType === 'horizontalbar')?_c('horizontal-bar',{attrs:{\"chart-data\":_vm.chartData,\"chart-options\":_vm.chartOptions,\"styles\":_vm.chartStyle}}):_vm._e(),(_vm.widget.chartType === 'line')?_c('line-chart',{attrs:{\"chart-data\":_vm.chartData,\"chart-options\":_vm.chartOptions,\"styles\":_vm.chartStyle}}):_vm._e(),(_vm.chartFilterComponentsExist)?_c('b-card-footer',_vm._l((_vm.chartFilterComponents),function(item,index){return _c('div',{key:index,staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_vm._v(_vm._s(item.label))]),_c('div',{staticClass:\"col\"},[_c('v-runtime-template',{attrs:{\"template\":item.component}})],1)])}),0):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoDashboardChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoDashboardChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoDashboardChart.vue?vue&type=template&id=3819a379&scoped=true&\"\nimport script from \"./BaoDashboardChart.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoDashboardChart.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3819a379\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoDashboardCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoDashboardCard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoDashboardCard.vue?vue&type=template&id=7350d9ae&scoped=true&\"\nimport script from \"./BaoDashboardCard.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoDashboardCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaoDashboardCard.vue?vue&type=style&index=0&id=7350d9ae&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7350d9ae\",\n null\n \n)\n\nexport default component.exports","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n getUsername,\n timeframes,\n FILTER_KEY_TIMEFRAME\n} from \"@/apps/dashboard/chartUtils\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst ArcPieChart = () => import(/* webpackChunkName: \"ArcPieChart\" */ \"../BaoWidgetsBaseComponents/ArcPieChart\")\n\nexport default {\n name: \"BaoWidgetCallAttemptsGoal\",\n info: {\n title: \"Call Attempts Goal\",\n description: \"Number of dialing attempts in a given time period, no matter if a counterpart was reached or not.\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getUsername,\n chartComponent: ArcPieChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay,\n staticTextDefault: {\n target: \"Target\",\n dialingAttempts: \"Dialing Attempts\"\n }\n }\n },\n computed: {\n staticText () {\n return this.$store.getters[\"I18nStore/getI18n\"](this.$options.name, this.staticTextDefault)\n },\n showGoToConversationsButton () {\n return !!(this.chartData && this.chartData.value && Number(this.chartData.value) > 0)\n }\n },\n methods: {\n mappingFunc (data) {\n return {\n color: this.defaultChartColor,\n label: this.staticText.dialingAttempts,\n value: data.calls_count,\n total: data.goal\n }\n },\n getChartOptions () {\n return null\n },\n getConfigOptions () {\n return [\n {\n type: \"filterOptions\",\n defaultFilters: { [FILTER_KEY_TIMEFRAME]: timeframes.today }\n },\n {\n label: this.staticText.target,\n type: \"number\",\n value: 20, // default\n fieldName: \"goal\"\n }\n ]\n },\n getDisplayProps () {\n return { widget: this.widget, showConversationsView: this.showGoToConversationsButton }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n getDefaultHorizontalBarChartOptions, getUsername\n} from \"@/apps/dashboard/chartUtils\"\nimport { defaultHorizontalDatasetValues } from \"@/apps/dashboard/chartConfig\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst HorizontalBarChart = () => import(/* webpackChunkName: \"HorizontalBarChart\" */ \"../BaoWidgetsBaseComponents/HorizontalBarChart\")\n\nexport default {\n name: \"BaoWidgetTeamCallActivity\",\n info: {\n title: \"Team Call Activity\",\n description: \"Displays the number of calls from my team on a user-level.\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getDefaultHorizontalBarChartOptions,\n getUsername,\n chartComponent: HorizontalBarChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay,\n staticTextDefault: {\n maximumUsersDisplayed: \"Maximum users displayed\",\n others: \"Others\"\n },\n totalCalls: 0\n }\n },\n computed: {\n showGoToConversationsButton () {\n return this.totalCalls > 0\n }\n },\n methods: {\n async mappingFunc (items) {\n const usersLimit = this.widget.config.usersLimit || 6\n const sortedItems = items.sort((a, b) => b.countdistinct_id - a.countdistinct_id)\n this.totalCalls = this.getTotalCount(sortedItems, \"countdistinct_id\")\n const usersWithinLimit = sortedItems.splice(0, usersLimit)\n const labels = []\n const data = []\n const callIds = []\n for (const item of usersWithinLimit) {\n labels.push(this.getUsername(item, \"created_by\"))\n data.push(item.countdistinct_id)\n callIds.push(item.arrayagg_id)\n }\n const userOutsideLimit = sortedItems.slice(Math.max(sortedItems.length - usersLimit, 0))\n let userOutsideLimitCount = 0\n let userOutsideLimitCallIds = []\n for await (const item of userOutsideLimit) {\n userOutsideLimitCount += item.countdistinct_id\n userOutsideLimitCallIds = userOutsideLimitCallIds.concat(item.arrayagg_id)\n }\n\n if (userOutsideLimitCount > 0) {\n labels.push(this.staticText.others)\n data.push(userOutsideLimitCount)\n callIds.push(userOutsideLimitCallIds)\n }\n\n return {\n labels,\n datasets: [{ ...defaultHorizontalDatasetValues, data }],\n callIds\n }\n },\n getChartOptions () {\n const dataLabelClickCallBack = (dataIndex) => {\n this.showConversations(dataIndex)\n }\n\n return this.getDefaultHorizontalBarChartOptions(this.widget, this, { dataLabelClickCallBack })\n },\n getConfigOptions () {\n return [\n {\n label: this.staticText.maximumUsersDisplayed,\n type: \"number\",\n value: 6, // default\n fieldName: \"usersLimit\"\n }\n ]\n },\n getDisplayProps () {\n return { widget: this.widget, totalItems: this.totalCalls, showConversationsView: this.showGoToConversationsButton }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('bao-widget-display',{attrs:{\"widget\":_vm.widget,\"previewMode\":_vm.previewMode},scopedSlots:_vm._u([{key:\"additional-info\",fn:function(){return [_c('div',{staticClass:\"d-flex justify-content-end align-items-center w-100 pb-1 main-slate\"},[_c('div',{staticClass:\"mr-3 my-auto font-size-12\"},[_c('span',[_vm._v(_vm._s(_vm.staticText.overallReachability)+\": \"),_c('b',[_vm._v(_vm._s(_vm.overallReachability))]),_vm._v(\" %\")])]),_c('div',{staticClass:\"d-flex font-size-10\"},[_c('div',{staticClass:\"my-auto mr-2\"},[_vm._v(_vm._s(_vm.staticText.low))]),_c('div',{staticClass:\"my-auto mr-2 div-scale\"}),_c('div',{staticClass:\"my-auto\"},[_vm._v(_vm._s(_vm.staticText.high))])])])]},proxy:true},{key:\"chart\",fn:function(){return [_c('div',{staticClass:\"pt-3\"},[_vm._t(\"chart\")],2)]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetReachabilityMatrixDisplay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetReachabilityMatrixDisplay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetReachabilityMatrixDisplay.vue?vue&type=template&id=b44b3da6&scoped=true&\"\nimport script from \"./BaoWidgetReachabilityMatrixDisplay.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetReachabilityMatrixDisplay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaoWidgetReachabilityMatrixDisplay.vue?vue&type=style&index=0&id=b44b3da6&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b44b3da6\",\n null\n \n)\n\nexport default component.exports","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetReachabilityDisplay from \"./BaoWidgetReachabilityMatrixDisplay\"\nimport { getLanguage } from \"@/apps/dashboard\"\n\nconst HeatMapChart = () => import(/* webpackChunkName: \"HeatMapChart\" */ \"../../BaoWidgetsBaseComponents/HeatMapChart\")\n\nexport default {\n name: \"BaoWidgetReachabilityMatrix\",\n info: {\n title: \"Reachability Matrix\",\n description: \"Shows on which day of the week and at what time the counterparts are best reachable.\"\n },\n extends: BaoWidgetBasicMixin,\n beforeDestroy () {\n clearInterval(this.dateTimeInterval)\n },\n mounted () {\n this.dateTimeInterval = setInterval(() => { this.currentDate = new Date() }, 180000)\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getLanguage,\n chartComponent: HeatMapChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetReachabilityDisplay,\n dateTimeInterval: null,\n currentDate: new Date(),\n overallReachability: \"0\",\n staticTextDefault: {\n mon: \"Mon\",\n tue: \"Tue\",\n wed: \"Wed\",\n thu: \"Thu\",\n fri: \"Fri\",\n hour: \"Hour\"\n }\n }\n },\n computed: {\n WeekNames () {\n return {\n 2: this.staticText.mon,\n 3: this.staticText.tue,\n 4: this.staticText.wed,\n 5: this.staticText.thu,\n 6: this.staticText.fri\n }\n },\n getChartProps () {\n return {\n chartData: this.chartData,\n previewMode: this.previewMode,\n currentDate: this.currentDate\n }\n },\n staticText () {\n return this.$store.getters[\"I18nStore/getI18n\"](this.$options.name, this.staticTextDefault)\n }\n },\n methods: {\n mappingFunc (data) {\n const { result, successRatios, overallCalls, overallSuccessCalls } = this.preprocessData(data)\n this.maxSuccesRatio = Math.max(...successRatios)\n this.overallReachability = overallCalls > 0 ? ((overallSuccessCalls / overallCalls) * 100).toFixed(0) : \"0\"\n return {\n id: this.widget.id,\n data: result,\n headerLabels: Object.values(this.WeekNames),\n maxValue: this.maxSuccesRatio\n }\n },\n preprocessData (data) {\n const result = {}\n const successRatios = []\n let overallCalls = 0\n let overallSuccessCalls = 0\n for (let hour = 7; hour < 21; hour++) {\n const hourLabel = this.getHourLabel(hour)\n result[hourLabel] = {}\n for (const week of Object.keys(this.WeekNames)) {\n const weekNumber = parseInt(week)\n let entry = data.find(item =>\n parseInt(item.created_at__hour) === hour && parseInt(item.created_at__week_day) === weekNumber\n )\n if (!entry) {\n entry = {\n total_calls: 0,\n success_calls: 0,\n created_at__hour: hour,\n created_at__week_day: weekNumber\n }\n }\n const successData = this.getSuccessData(entry)\n result[hourLabel][this.WeekNames[week]] = { ...entry, ...successData }\n successRatios.push(successData.successRatio)\n overallCalls = overallCalls + entry.total_calls\n overallSuccessCalls = overallSuccessCalls + entry.success_calls\n }\n }\n return { result, successRatios, overallCalls, overallSuccessCalls }\n },\n getSuccessData (item) {\n const data = { successRatio: 0, successPercentage: 0 }\n if (item.total_calls === 0) return data\n data.successRatio = (item.success_calls / item.total_calls).toPrecision(2)\n data.successPercentage = (data.successRatio * 100).toFixed(0)\n return data\n },\n getChartOptions () {\n return null\n },\n getHourLabel (hour) {\n let meridiem = \"Uhr\"\n let localHour = hour\n if (this.getLanguage() !== \"de\") {\n meridiem = hour < 12 || hour === 24 ? \"AM\" : \"PM\"\n localHour = hour % 12 || 12\n }\n return localHour + \" \" + meridiem\n },\n getConfigOptions () {\n return [{\n type: \"criteriaOptions\",\n value: { type: \"counterpartReachability\" },\n options: [\"counterpartReachability\", \"callDuration\", \"answer\"],\n fieldName: \"successCriteria\"\n }]\n },\n getDisplayProps () {\n return { widget: this.widget, overallReachability: this.overallReachability }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('bao-widget-display',{attrs:{\"widget\":_vm.widget,\"previewMode\":_vm.previewMode,\"showConversationsView\":_vm.showConversationsView},scopedSlots:_vm._u([{key:\"chart\",fn:function(){return [_c('div',[_vm._t(\"chart\")],2)]},proxy:true}],null,true)})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetConversationGoalDisplay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetConversationGoalDisplay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetConversationGoalDisplay.vue?vue&type=template&id=19771e9a&scoped=true&\"\nimport script from \"./BaoWidgetConversationGoalDisplay.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetConversationGoalDisplay.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaoWidgetConversationGoalDisplay.vue?vue&type=style&index=0&id=19771e9a&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"19771e9a\",\n null\n \n)\n\nexport default component.exports","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetConversationGoalDisplay from \"./BaoWidgetConversationGoalDisplay\"\nimport {\n getUsername,\n timeframes,\n FILTER_KEY_TIMEFRAME\n} from \"@/apps/dashboard/chartUtils\"\n\nconst ArcPieChart = () => import(/* webpackChunkName: \"ArcPieChart\" */ \"@/apps/dashboard/BaoWidgetsBaseComponents/ArcPieChart\")\n\nexport default {\n name: \"BaoWidgetConversationGoal\",\n info: {\n title: \"Conversation Goal\",\n description: \"Number of calls in a given time period, in which a counterpart was reached.\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getUsername,\n chartComponent: ArcPieChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetConversationGoalDisplay,\n staticTextDefault: {\n target: \"Target\",\n successfulConversations: \"Successful Conversations\"\n }\n }\n },\n computed: {\n staticText () {\n return this.$store.getters[\"I18nStore/getI18n\"](this.$options.name, this.staticTextDefault)\n },\n showGoToConversationsButton () {\n return !!(this.chartData && this.chartData.value && Number(this.chartData.value) > 0)\n }\n },\n methods: {\n mappingFunc (data) {\n return {\n color: this.defaultChartColor,\n label: this.staticText.successfulConversations,\n value: data.calls_count,\n total: data.goal\n }\n },\n getChartOptions () {\n return null\n },\n getDisplayProps () {\n return { widget: this.widget, showConversationsView: this.showGoToConversationsButton }\n },\n getConfigOptions () {\n return [\n {\n type: \"filterOptions\",\n defaultFilters: { [FILTER_KEY_TIMEFRAME]: timeframes.today }\n },\n {\n type: \"criteriaOptions\",\n value: { type: \"counterpartReachability\" },\n options: [\"counterpartReachability\", \"callDuration\", \"answer\"],\n fieldName: \"successCriteria\"\n },\n {\n label: this.staticText.target,\n type: \"number\",\n value: 20, // default\n fieldName: \"goal\"\n }\n ]\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"w-100 p-1 d-flex justify-content-center flex-column align-items-center\"},[_c('div',{staticClass:\"chart\"},[_c('span',[_vm._v(_vm._s(_vm.successRatio)+\" %\")])]),_c('div',{staticClass:\"pt-2 text-center\"},[_c('span',{staticClass:\"font-size-14 slate-60\"},[_vm._v(\" \"+_vm._s(this.chartData.success_calls)+\" \"+_vm._s(this.staticText.success)+\" / \"+_vm._s(this.chartData.total_calls)+\" \"+_vm._s(this.getConversationLabel)+\" \")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetPlaybookConversionChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetPlaybookConversionChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoWidgetPlaybookConversionChart.vue?vue&type=template&id=7aca2f8d&scoped=true&\"\nimport script from \"./BaoWidgetPlaybookConversionChart.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoWidgetPlaybookConversionChart.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaoWidgetPlaybookConversionChart.vue?vue&type=style&index=0&id=7aca2f8d&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7aca2f8d\",\n null\n \n)\n\nexport default component.exports","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetPlaybookConversionChart from \"./BaoWidgetPlaybookConversionChart\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nexport default {\n name: \"BaoWidgetPlaybookConversion\",\n info: {\n title: \"Conversion\",\n description: \"Shows how many calls lead to success (conversion).\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n chartComponent: BaoWidgetPlaybookConversionChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay,\n staticTextDefault: {\n }\n }\n },\n computed: {\n staticText () {\n return this.$store.getters[\"I18nStore/getI18n\"](this.$options.name, this.staticTextDefault)\n },\n showGoToConversationsButton () {\n return !!(this.chartData && this.chartData.success_calls && Number(this.chartData.success_calls) > 0)\n }\n },\n methods: {\n mappingFunc (data) {\n return data\n },\n getChartOptions () {\n return null\n },\n getConfigOptions () {\n return [\n {\n type: \"criteriaOptions\",\n value: { type: \"callResult\" },\n options: [\"callResult\", \"callDuration\", \"answer\"],\n fieldName: \"successCriteria\"\n }\n ]\n },\n getDisplayProps () {\n return { widget: this.widget, showConversationsView: this.showGoToConversationsButton }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport { getApexLineChartDefaultOptions } from \"@/apps/dashboard/chartConfig\"\nimport {\n computeDateLabelForData,\n createdDateArray,\n FILTER_KEY_TIMEFRAME,\n getBurntUpChartData,\n timeframes,\n today\n} from \"@/apps/dashboard/chartUtils\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst ApexLineChart = () => import(/* webpackChunkName: \"ApexLineChart\" */ \"../BaoWidgetsBaseComponents/ApexCharts/ApexLineChart\")\n\nexport default {\n name: \"BaoWidgetSuccessGoal\",\n info: {\n title: \"Success Goal\",\n description: \"Target number and status quo of successful calls for a given time period.\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getApexLineChartDefaultOptions,\n createdDateArray,\n getBurntUpChartData,\n today,\n chartComponent: ApexLineChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay,\n transformedData: {},\n computeDateLabelForData,\n staticTextDefault: {\n actualGrowth: \"Actual Growth\",\n expectedGrowth: \"Expected Growth\",\n target: \"Target\",\n today: \"Today\"\n },\n chartStyle: { \"aspect-ratio\": 1.5 }\n }\n },\n computed: {\n todayInString () {\n return this.today.toLocaleString(\"default\", { month: \"short\", day: \"numeric\" })\n },\n getTodayCallsCount () {\n const index = this.transformedData.labels.findIndex(item => item === this.todayInString)\n if (index > -1) {\n return this.transformedData.actualSeries[index]\n }\n return 0\n },\n staticText () {\n return this.$store.getters[\"I18nStore/getI18n\"](this.$options.name, this.staticTextDefault)\n }\n },\n methods: {\n mappingFunc (items) {\n const computedDateLabels = this.computeDateLabelForData(items, this.widget, true)\n const data = computedDateLabels.map(item => {\n return { text: item.text, actualData: item.count }\n })\n this.transformedData = this.getBurntUpChartData(data, items.goal)\n return [\n {\n name: this.staticText.actualGrowth,\n data: this.transformedData.actualSeries\n },\n {\n name: this.staticText.expectedGrowth,\n data: this.transformedData.idealSeries\n }\n ]\n },\n getChartOptions () {\n return { ...this.getApexLineChartDefaultOptions(this.widget, this.transformedData.labels), ...this.getAnnotations() }\n },\n getConfigOptions () {\n return [\n {\n type: \"filterOptions\",\n whitelist: [\"tags\", \"user\", \"duration\", \"timeframe\"],\n defaultFilters: { [FILTER_KEY_TIMEFRAME]: timeframes.thisMonth }\n },\n {\n type: \"criteriaOptions\",\n value: { type: \"callResult\" },\n options: [\"callResult\", \"callDuration\", \"answer\"],\n fieldName: \"successCriteria\"\n },\n {\n label: this.staticText.target,\n type: \"number\",\n value: 20, // default\n fieldName: \"goal\"\n }\n ]\n },\n getAnnotations () {\n return {\n annotations: {\n xaxis: [{\n x: this.todayInString,\n strokeDashArray: 1,\n borderColor: \"rgba(0, 0, 0, 0.1)\",\n label: {\n offsetY: 15,\n orientation: \"horizontal\",\n borderColor: \"#ffffff\",\n text: this.staticText.today\n }\n }\n ],\n points: [{\n x: this.transformedData.labels.at(-1),\n y: this.widget.config.goal,\n marker: {\n size: 6,\n colors: \"#ffffff\",\n strokeColor: \"rgba(31, 179, 9, 1)\",\n shape: \"circle\",\n radius: 2\n },\n image: {\n path: \"/img/euro-sign-solid.svg\"\n }\n },\n {\n x: this.todayInString,\n marker: {\n size: 4,\n colors: \"#ffffff\",\n strokeColor: \"rgba(255, 86, 50, 0.4)\",\n shape: \"circle\",\n radius: 2\n }\n },\n {\n x: this.todayInString,\n y: this.getTodayCallsCount,\n marker: {\n size: 4,\n colors: \"#ffffff\",\n strokeColor: \"rgba(255, 86, 50, 0.4)\",\n shape: \"circle\",\n radius: 2\n }\n }]\n }\n }\n },\n getDisplayProps () {\n return { widget: this.widget }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n getDefaultLineChartOptions,\n getUsername,\n computeDateLabelForData,\n formatMillisecondsToHHMMSS\n} from \"@/apps/dashboard/chartUtils\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst LineChart = () => import(/* webpackChunkName: \"LineChart\" */ \"@/apps/dashboard/BaoWidgetsBaseComponents/LineChart\")\n\nexport default {\n name: \"BaoWidgetCallDurationStats\",\n info: {\n title: \"Call Duration Stats\",\n description: \"Shows how long the minimum, maximum, average and median values of the calls are.\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getUsername,\n computeDateLabelForData,\n getDefaultLineChartOptions,\n formatMillisecondsToHHMMSS,\n chartComponent: LineChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay,\n staticTextDefault: {\n avg: \"Average duration\",\n median: \"Median duration\",\n max: \"Maximum duration\",\n min: \"Minimum duration\"\n }\n }\n },\n computed: {\n staticText () {\n return this.$store.getters[\"I18nStore/getI18n\"](this.$options.name, this.staticTextDefault)\n },\n showGoToConversationsButton () {\n return !!(this.chartData && this.chartData.labels && this.chartData.labels.length > 0)\n }\n },\n methods: {\n mappingFunc (data) {\n const transformedData = this.computeDateLabelForData(data, this.widget)\n const { labels, avgDataset, minDataset, maxDataset, medianDataset } = this.getDatasets(transformedData)\n const defaultConfig = {\n fill: false,\n tension: 0.1,\n borderWidth: 0.9\n }\n return {\n labels,\n datasets: [{\n label: this.staticText.avg,\n data: avgDataset,\n borderColor: \"rgba(177, 82, 36, 1)\",\n ...defaultConfig\n },\n {\n label: this.staticText.max,\n data: maxDataset,\n borderColor: \"rgba(42, 45, 82, 0.8)\",\n ...defaultConfig\n },\n {\n label: this.staticText.min,\n data: minDataset,\n borderColor: \"rgba(0, 0, 0, 0.5)\",\n ...defaultConfig\n },\n {\n label: this.staticText.median,\n data: medianDataset,\n borderColor: \"rgba(177, 82, 36, 0.4)\",\n ...defaultConfig\n }]\n }\n },\n getDatasets (transformedData) {\n const labels = []\n const avgDataset = []\n const minDataset = []\n const maxDataset = []\n const medianDataset = []\n for (const item of transformedData) {\n labels.push(item.text)\n if (!item.avg_duration) {\n avgDataset.push(0.0)\n minDataset.push(0)\n maxDataset.push(0)\n medianDataset.push(0.0)\n } else {\n avgDataset.push(item.avg_duration)\n minDataset.push(item.min_duration)\n maxDataset.push(item.max_duration)\n medianDataset.push(item.median_duration)\n }\n }\n return { labels, avgDataset, minDataset, maxDataset, medianDataset }\n },\n getChartOptions () {\n const chartOptions = this.getDefaultLineChartOptions(this.widget, { legend: true })\n chartOptions.scales.yAxes[0].ticks.callback = (milliseconds) => this.formatMillisecondsToHHMMSS(milliseconds)\n chartOptions.scales.yAxes[0].scaleLabel = { display: true, labelString: \"HH:MM:SS\", fontSize: 10, padding: 0 }\n chartOptions.tooltips.callbacks.label = (value) => this.formatMillisecondsToHHMMSS(value.yLabel)\n return chartOptions\n },\n getConfigOptions () {\n return []\n },\n getDisplayProps () {\n return { widget: this.widget, showConversationsView: this.showGoToConversationsButton }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n getDefaultLineChartOptions,\n getUsername,\n computeDateLabelForData,\n formatMillisecondsToHHMMSS\n} from \"@/apps/dashboard/chartUtils\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst LineChart = () => import(/* webpackChunkName: \"LineChart\" */ \"@/apps/dashboard/BaoWidgetsBaseComponents/LineChart\")\n\nexport default {\n name: \"BaoWidgetTotalCallTime\",\n info: {\n title: \"Total Call Time\",\n description: \"Displays the summarized call duration of calls over time.\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getUsername,\n computeDateLabelForData,\n getDefaultLineChartOptions,\n formatMillisecondsToHHMMSS,\n chartComponent: LineChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay,\n totalCallTime: 0,\n staticTextDefault: {\n hourLabel: \"h\",\n minutesLabel: \"min\",\n secondsLabel: \"sec\"\n }\n }\n },\n computed: {\n staticText () {\n return this.$store.getters[\"I18nStore/getI18n\"](this.$options.name, this.staticTextDefault)\n },\n showGoToConversationsButton () {\n return this.totalCallTime > 0\n }\n },\n methods: {\n mappingFunc (data) {\n this.totalCallTime = data.total_call_time\n const transformedData = this.computeDateLabelForData(data, this.widget)\n const { labels, dataSet } = this.getDatasets(transformedData)\n const defaultConfig = {\n fill: false,\n tension: 0.1,\n borderWidth: 0.9\n }\n return {\n labels,\n datasets: [\n {\n label: this.staticText.avg,\n data: dataSet,\n borderColor: \"rgba(177, 82, 36, 1)\",\n ...defaultConfig\n }\n ]\n }\n },\n getDatasets (transformedData) {\n const labels = []\n const dataSet = []\n for (const item of transformedData) {\n labels.push(item.text)\n if (item.sum_duration) dataSet.push(item.sum_duration)\n else dataSet.push(0.0)\n }\n return { labels, dataSet }\n },\n getChartOptions () {\n const chartOptions = this.getDefaultLineChartOptions(this.widget)\n chartOptions.scales.yAxes[0].ticks.callback = (milliseconds) => this.formatMillisecondsToHHMMSS(milliseconds)\n chartOptions.scales.yAxes[0].scaleLabel = { display: true, labelString: \"HH:MM:SS\", fontSize: 10, padding: 0 }\n chartOptions.tooltips.callbacks.label = (value) => this.formatMillisecondsToHHMMSS(value.yLabel)\n return chartOptions\n },\n getConfigOptions () {\n return []\n },\n getDisplayProps () {\n const formattedTotalCallTime = this.formatTotalCallTime(this.formatMillisecondsToHHMMSS(this.totalCallTime))\n return { widget: this.widget, totalItems: formattedTotalCallTime, showConversationsView: this.showGoToConversationsButton }\n },\n formatTotalCallTime (timeInHHMMSS) {\n // This formats time in HH:MM:SS to HH h, MM mins, SS secs\n const timeArray = timeInHHMMSS.split(\":\")\n const hours = Number(timeArray[0])\n const minutes = Number(timeArray[1])\n const seconds = Number(timeArray[2])\n let formattedTime = \"\"\n if (hours > 0 || minutes > 0 || seconds > 0) {\n if (hours > 0) formattedTime += `${hours} ${this.staticText.hourLabel}, `\n if (minutes > 0) formattedTime += `${minutes} ${this.staticText.minutesLabel}, `\n if (seconds > 0) formattedTime += `${seconds} ${this.staticText.secondsLabel}`\n return formattedTime\n } else return 0\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n getDefaultLineChartOptions,\n getUsername,\n computeDateLabelForData,\n formatMillisecondsToHHMMSS\n} from \"@/apps/dashboard/chartUtils\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\nimport { defaultLineDatasetValues } from \"@/apps/dashboard/chartConfig\"\n\nconst LineChart = () => import(/* webpackChunkName: \"LineChart\" */ \"@/apps/dashboard/BaoWidgetsBaseComponents/LineChart\")\nexport default {\n name: \"BaoWidgetTimeGraph\",\n info: {\n title: \"Activity Over Time\",\n description: \"Displays the total number of dial attempts and calls over time.\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getUsername,\n computeDateLabelForData,\n getDefaultLineChartOptions,\n formatMillisecondsToHHMMSS,\n chartComponent: LineChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay,\n totalCalls: 0\n }\n },\n computed: {\n staticText () {\n return this.$store.getters[\"I18nStore/getI18n\"](this.$options.name, this.staticTextDefault)\n },\n showGoToConversationsButton () {\n return this.totalCalls > 0\n }\n },\n methods: {\n mappingFunc (data) {\n const transformedData = this.computeDateLabelForData(data, this.widget)\n const { labels, dataset } = this.getDatasets(transformedData)\n this.totalCalls = this.getTotalCount(data.data)\n return {\n labels,\n datasets: [{\n label: this.staticText.avg,\n data: dataset,\n ...defaultLineDatasetValues\n }]\n }\n },\n getDatasets (transformedData) {\n const labels = []\n const dataset = []\n for (const item of transformedData) {\n labels.push(item.text)\n dataset.push(Math.round(item.count * 100) / 100)\n }\n return { labels, dataset }\n },\n getChartOptions () {\n return this.getDefaultLineChartOptions(this.widget)\n },\n getConfigOptions () {\n return []\n },\n getDisplayProps () {\n return { widget: this.widget, totalItems: this.totalCalls, showConversationsView: this.showGoToConversationsButton }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import BaoWidgetBasicMixin from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetBasicMixin\"\nimport {\n FILTER_KEY_PLAYBOOK,\n getDefaultHorizontalBarChartOptions\n} from \"@/apps/dashboard/chartUtils\"\nimport { defaultHorizontalDatasetValues } from \"@/apps/dashboard/chartConfig\"\nimport BaoWidgetConfigurator from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetConfigurator\"\nimport BaoWidgetDisplay from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoWidgetDisplay\"\n\nconst HorizontalBarChart = () => import(/* webpackChunkName: \"HorizontalBarChart\" */ \"@/apps/dashboard/BaoWidgetsBaseComponents/HorizontalBarChart\")\n\nexport default {\n name: \"BaoWidgetMostFrequentAnswerForItem\",\n info: {\n title: \"Most Frequent Answers\",\n description: \"Shows which answers were given most often per selected item.\"\n },\n extends: BaoWidgetBasicMixin,\n mounted () {\n if (this.chartData) {\n this.customChartRender(this.chartData)\n }\n },\n data () {\n return {\n getDefaultHorizontalBarChartOptions,\n chartComponent: HorizontalBarChart,\n configuratorComponent: BaoWidgetConfigurator,\n displayComponent: BaoWidgetDisplay,\n totalAnswers: 0\n }\n },\n methods: {\n mappingFunc (items) {\n items = items\n .sort((a, b) => b.count_text - a.count_text)\n .filter(item => item.count_text > 0)\n .splice(0, 10)\n // TODO: combine the rest into \"Other\" field\n const labels = []\n const data = []\n const callIds = []\n this.totalAnswers = this.getTotalCount(items, \"count_text\")\n for (const item of items) {\n labels.push(item.text)\n data.push(item.count_text)\n callIds.push(item.arrayagg_call_item__call__id)\n }\n return {\n labels,\n datasets: [{ ...defaultHorizontalDatasetValues, data }],\n callIds\n }\n },\n getChartOptions () {\n const dataLabelClickCallBack = (dataIndex) => {\n this.showConversations(dataIndex)\n }\n return this.getDefaultHorizontalBarChartOptions(\n this.widget,\n this,\n {\n dataLabelClickCallBack\n }\n )\n },\n getConfigOptions () {\n return [\n {\n type: \"filterOptions\",\n blacklist: [FILTER_KEY_PLAYBOOK]\n },\n {\n type: \"playbookAndPlaybookItemFilter\",\n value: {\n playbooks: [],\n playbookItems: []\n }, // default\n fieldName: \"playbookAndPlaybookItemFilter\"\n }\n ]\n },\n getDisplayProps () {\n return { widget: this.widget, totalItems: this.totalAnswers }\n },\n getConfigProps () {\n return { widget: this.widget, configOptions: this.getConfigOptions() }\n }\n }\n}\n","import moment from \"moment\"\nimport {\n createdDateArray,\n getDefaultHorizontalBarChartOptions,\n getDefaultLineChartOptions,\n getThisMonth,\n getUsername,\n transformDateRange\n} from \"./chartUtils\"\nimport axios from \"axios\"\nimport BaoWidgetMostFrequentShortcuts from \"@/apps/dashboard/BaoWidgets/BaoWidgetMostFrequentShortcuts\"\nimport BaoWidgetCallsPerDay from \"@/apps/dashboard/BaoWidgets/BaoWidgetCallsPerDay\"\nimport BaoWidgetCallsPerPlaybook from \"@/apps/dashboard/BaoWidgets/BaoWidgetCallsPerPlaybook\"\nimport BaoWidgetCallsPerUser from \"@/apps/dashboard/BaoWidgets/BaoWidgetCallsPerUser\"\nimport BaoWidgetCallsPerMonth from \"@/apps/dashboard/BaoWidgets/BaoWidgetCallsPerMonth\"\nimport BaoDashboardCard from \"@/apps/dashboard/BaoWidgetsBaseComponents/BaoDashboardCard\"\nimport BaoWidgetCallAttemptsGoal from \"@/apps/dashboard/BaoWidgets/BaoWidgetCallAttemptsGoal\"\nimport BaoWidgetTeamCallActivity from \"@/apps/dashboard/BaoWidgets/BaoWidgetTeamCallActivity\"\nimport BaoWidgetReachabilityMatrix from \"@/apps/dashboard/BaoWidgets/BaoWidgetReachabilityMatrix/BaoWidgetReachabilityMatrix\"\nimport BaoWidgetConversationGoal from \"@/apps/dashboard/BaoWidgets/BaoWidgetConversationGoal/BaoWidgetConversationGoal\"\nimport BaoWidgetPlaybookConversion from \"@/apps/dashboard/BaoWidgets/BaoWidgetPlaybookConversion/BaoWidgetPlaybookConversion\"\nimport BaoWidgetSuccessGoal from \"@/apps/dashboard/BaoWidgets/BaoWidgetSuccessGoal\"\nimport BaoWidgetCallDurationStats from \"@/apps/dashboard/BaoWidgets/BaoWidgetCallDurationStats\"\nimport BaoWidgetTotalCallTime from \"@/apps/dashboard/BaoWidgets/BaoWidgetTotalCallTime\"\nimport BaoWidgetTimeGraph from \"@/apps/dashboard/BaoWidgets/BaoWidgetTimeGraph\"\nimport BaoWidgetMostFrequentAnswersForItem from \"@/apps/dashboard/BaoWidgets/BaoWidgetMostFrequentAnswersForItem\"\n\nconst BaoAnalytics = () => import(/* webpackChunkName: \"BaoAnalytics\" */ \"@/apps/dashboard/BaoAnalytics\")\n\nexport const defaultLineDatasetValues = {\n backgroundColor: \"rgba(255, 86, 50, 0.08)\",\n borderColor: \"#B15224\",\n pointBorderColor: \"#B15224\",\n borderWidth: 1\n}\n\nexport const defaultHorizontalDatasetValues = {\n backgroundColor: \"rgba(42, 45, 82, 0.8)\",\n borderColor: \"rgba(42, 45, 82, 0.8)\",\n borderWidth: 1\n}\n\nexport function getDataForWidget (widget) {\n return new Promise((resolve, reject) => {\n if (!widget.id) reject(new Error(\"Widget has no id, aborting.\"))\n axios.get(`/api/widgets/${widget.id}/query`).then(resolve)\n })\n}\n\nexport function getDefaultWidgets () {\n return {\n activity_over_time: {\n component: BaoWidgetTimeGraph,\n type: \"activity_over_time\",\n thumbnail: \"/img/widgetThumbnails/conversationsPerMonth.svg\",\n deprecated: false\n },\n conversations_per_month: {\n component: BaoWidgetCallsPerMonth,\n type: \"conversations_per_month\",\n thumbnail: \"/img/widgetThumbnails/conversationsPerMonth.svg\",\n deprecated: true\n },\n team_call_activity: {\n component: BaoWidgetTeamCallActivity,\n type: \"team_call_activity\",\n thumbnail: \"/img/widgetThumbnails/conversationsPerUser.svg\",\n deprecated: false\n },\n daily_activity_goal: {\n component: BaoWidgetCallAttemptsGoal,\n type: \"daily_activity_goal\",\n thumbnail: \"/img/widgetThumbnails/daily_activity_goal.svg\",\n deprecated: false\n },\n daily_success_goal: {\n component: BaoWidgetConversationGoal,\n type: \"daily_success_goal\",\n thumbnail: \"/img/widgetThumbnails/dailySuccessGoal.svg\",\n deprecated: false\n },\n conversations_per_day: {\n component: BaoWidgetCallsPerDay,\n type: \"conversations_per_day\",\n thumbnail: \"/img/widgetThumbnails/conversationsPerDay.svg\",\n deprecated: true\n },\n monthly_success_goal: {\n component: BaoWidgetSuccessGoal,\n type: \"monthly_success_goal\",\n thumbnail: \"/img/widgetThumbnails/conversationsPerMonth.svg\",\n deprecated: false\n },\n conversations_per_playbook: {\n component: BaoWidgetCallsPerPlaybook,\n type: \"conversations_per_playbook\",\n thumbnail: \"/img/widgetThumbnails/conversationsPerPlaybook.svg\",\n deprecated: false\n },\n conversations_per_user: {\n component: BaoWidgetCallsPerUser,\n type: \"conversations_per_user\",\n thumbnail: \"/img/widgetThumbnails/conversationsPerUser.svg\",\n deprecated: true\n },\n answers_for_item: {\n component: BaoWidgetMostFrequentAnswersForItem,\n type: \"answers_for_item\",\n thumbnail: \"/img/widgetThumbnails/most_frequent_answers.svg\",\n deprecated: false\n },\n most_frequent_objections: {\n component: BaoWidgetMostFrequentShortcuts,\n type: \"most_frequent_objections\",\n thumbnail: \"/img/widgetThumbnails/mostFrequentObjections.svg\",\n deprecated: false\n },\n reachability_matrix: {\n component: BaoWidgetReachabilityMatrix,\n type: \"reachability_matrix\",\n thumbnail: \"/img/widgetThumbnails/reachabilityMatrix.svg\",\n deprecated: false\n },\n playbook_conversion: {\n component: BaoWidgetPlaybookConversion,\n type: \"playbook_conversion\",\n thumbnail: \"/img/widgetThumbnails/playbookConversion.svg\",\n deprecated: false\n },\n call_duration_stats: {\n component: BaoWidgetCallDurationStats,\n type: \"call_duration_stats\",\n thumbnail: \"/img/widgetThumbnails/conversationsPerDay.svg\",\n deprecated: false\n },\n total_call_time: {\n component: BaoWidgetTotalCallTime,\n type: \"total_call_time\",\n thumbnail: \"/img/widgetThumbnails/baoWidgetTotalCallTime.svg\",\n deprecated: false\n }\n }\n}\n\n/* TODO:can be removed */\nexport function getAvailableCharts (staticText) {\n const MAX_ITEM_NUMBER = 10\n\n return [\n {\n id: 1,\n title: staticText.conversationsPerMonthLabel,\n description: staticText.conversationsPerMonthDescription,\n url: \"/api/calls/stats?group_by[created_at__year]&group_by[created_at__month]&aggregate[Count]=id\",\n filter: {\n created_at__range: {\n field: \"created_at__range\",\n value: {\n start: moment().subtract(11, \"month\").startOf(\"month\"),\n end: moment().endOf(\"month\")\n },\n transform: transformDateRange\n }\n },\n chartType: \"line\",\n mappingFunc (items) {\n const dateArray = createdDateArray(moment().subtract(11, \"month\"), \"month\")\n const data = dateArray.map(date => {\n const result = { text: date.toLocaleString(\"default\", { month: \"short\", year: \"numeric\" }), count: 0 }\n const data = items.filter(item => item.created_at__month === moment(date).month() + 1)\n if (data && data.length > 0) result.count = data[0].count_id\n return result\n })\n const result = {}\n result.labels = data.map(item => item.text)\n result.datasets = [{\n ...defaultLineDatasetValues,\n data: data.map(item => Math.round(item.count * 100) / 100)\n }]\n return result\n },\n getOptions: getDefaultLineChartOptions\n },\n {\n id: 5,\n title: staticText.conversationsPerPlaybookLabel,\n description: staticText.conversationsPerPlaybookDescription,\n url: \"/api/calls/stats?group_by[talkscript__name]&aggregate[Count]=id\",\n filter: {\n created_at__range: {\n field: \"created_at__range\",\n value: getThisMonth(),\n transform: transformDateRange,\n label: \"Date Filter\"\n }\n },\n chartType: \"horizontalbar\",\n mappingFunc (items) {\n items = items.sort((a, b) => b.count_id - a.count_id)\n .filter(item => item.count_id > 0)\n .splice(0, MAX_ITEM_NUMBER)\n const labels = []\n const data = []\n for (const item of items) {\n labels.push(item.talkscript__name)\n data.push(item.count_id)\n }\n return {\n labels,\n datasets: [{ ...defaultHorizontalDatasetValues, data }]\n }\n },\n getOptions: getDefaultHorizontalBarChartOptions\n },\n {\n id: 3,\n title: staticText.conversationsPerUserLabel,\n description: staticText.conversationsPerUserDescription,\n url: \"/api/calls/stats?group_by[user__email]&group_by[user__first_name]&group_by[user__last_name]&aggregate[Count]=id\",\n filter: {\n created_at__range: {\n field: \"created_at__range\",\n value: getThisMonth(),\n transform: transformDateRange\n },\n user__is_active: {\n field: \"user__is_active\",\n value: true\n }\n },\n chartType: \"horizontalbar\",\n mappingFunc (items) {\n items = items.sort((a, b) => b.count_id - a.count_id).splice(0, MAX_ITEM_NUMBER)\n const labels = []\n const data = []\n for (const item of items) {\n labels.push(getUsername(item))\n data.push(item.count_id)\n }\n return {\n labels,\n datasets: [{ ...defaultHorizontalDatasetValues, data }]\n }\n },\n getOptions: getDefaultHorizontalBarChartOptions\n },\n {\n id: 10,\n title: staticText.conversationsPerDayLabel,\n description: staticText.conversationsPerDayDescription,\n url: \"/api/calls/stats?group_by[created_at__date]&aggregate[CountDistinct]=id\",\n filter: {\n created_at__range: {\n field: \"created_at__range\",\n value: getThisMonth(),\n transform: transformDateRange\n }\n },\n chartType: \"line\",\n mappingFunc: items => {\n const dateArray = createdDateArray(moment().startOf(\"month\"), \"day\", moment().endOf(\"month\"))\n items = dateArray.map(date => {\n const result = { text: date.toLocaleString(\"default\", { month: \"short\", day: \"numeric\" }), count: 0 }\n const data = items.filter(item => item.created_at__date === moment(date).format(\"YYYY-MM-DD\"))\n if (data && data.length > 0) result.count = data[0].countdistinct_id\n return result\n })\n const result = {}\n result.labels = items.map(item => item.text)\n result.datasets = [{\n data: items.map(item => Math.round(item.count * 100) / 100),\n ...defaultLineDatasetValues\n }]\n return result\n },\n getOptions: getDefaultLineChartOptions\n },\n {\n id: 8,\n title: staticText.objectionsPerPlaybookLabel,\n description: staticText.objectionsPerPlaybookDescription,\n url: \"/api/calls/stats?group_by[talkscript]&group_by[talkscript__name]&aggregate[CountIfTrue]=additional_data_for_call__is_objection\",\n filter: {\n created_at__range: {\n field: \"created_at__range\",\n value: getThisMonth(),\n transform: transformDateRange,\n label: \"Date Filter\"\n }\n },\n chartType: \"horizontalbar\",\n mappingFunc (items) {\n items = items.map(item => {\n return {\n text: item.talkscript__name,\n count: item.countiftrue_additional_data_for_call__is_objection\n }\n }).sort((a, b) => b.count - a.count).filter(item => item.count > 0).splice(0, MAX_ITEM_NUMBER)\n const result = {}\n result.labels = items.map(item => item.text)\n result.datasets = [{\n data: items.map(item => item.count),\n ...defaultHorizontalDatasetValues\n }]\n return result\n },\n getOptions: getDefaultHorizontalBarChartOptions\n },\n {\n id: 7,\n title: staticText.objectionsPerUserLabel,\n description: staticText.objectionsPerUserDescription,\n url: \"/api/calls/stats?group_by[created_by__email]&group_by[created_by__first_name]&group_by[created_by__last_name]&aggregate[CountIfTrue]=additional_data_for_call__is_objection\",\n filter: {\n created_at__range: {\n field: \"created_at__range\",\n value: getThisMonth(),\n transform: transformDateRange,\n label: \"Date Filter\"\n }\n },\n chartType: \"horizontalbar\",\n mappingFunc (items) {\n items = items.map(item => {\n return {\n text: getUsername(item, \"created_by\"),\n count: item.countiftrue_additional_data_for_call__is_objection\n }\n }).sort((a, b) => b.count - a.count).filter(item => item.count > 0).splice(0, MAX_ITEM_NUMBER)\n const result = {}\n result.labels = items.map(item => item.text)\n result.datasets = [{\n data: items.map(item => item.count),\n ...defaultHorizontalDatasetValues\n }]\n return result\n },\n getOptions: getDefaultHorizontalBarChartOptions\n }\n ].map(item => {\n item.loading = true\n item.component = BaoDashboardCard\n return item\n })\n}\n\nexport function playbookAnalyticsPage (staticText) {\n return {\n id: \"playbookanalytics\",\n name: staticText.playbookAnalytics,\n widgets: [{\n size: 2,\n component: BaoAnalytics\n }],\n static: true,\n icon: \"/img/icons/bar-chart.svg\"\n }\n}\n\nexport function getApexLineChartDefaultOptions (widget, labels) {\n const widgetName = widget.name ? widget.name : widget.title\n const chartId = widgetName.split(\" \").join(\"\") + widget.id\n return {\n chart: {\n type: \"line\",\n id: chartId,\n toolbar: {\n show: false\n }\n },\n colors: [\"rgba(255, 86, 50, 0.4)\", \"rgba(42, 45, 82, 0.4)\"],\n yaxis: {\n labels: {\n formatter: function (val, index) {\n return val.toFixed(0)\n }\n }\n },\n dataLabels: {\n enabled: false\n },\n stroke: {\n width: 1,\n curve: [\"stepline\", \"straight\"]\n },\n grid: {\n padding: {\n right: 30,\n left: 20\n }\n },\n labels,\n tooltip: {\n y: {\n formatter: function (value, { series, seriesIndex, dataPointIndex, w }) {\n return Math.round(value)\n }\n }\n }\n }\n}\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./DurationFilter.vue?vue&type=style&index=0&id=5f694e0a&prod&scoped=true&lang=scss&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"white\":\"#fff\",\"white20\":\"rgba(255,255,255,.2)\",\"slate10\":\"rgba(42,45,82,.1)\",\"slate20\":\"rgba(42,45,82,.2)\",\"slate80\":\"rgba(42,45,82,.8)\",\"orange\":\"#ff5632\",\"orange12\":\"rgba(255,86,50,.12)\",\"bricklight\":\"#dcb6a3\"};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('base-filter',{attrs:{\"value\":_vm.selectedCounterparts,\"label\":_vm.staticText.selectCounterparts,\"url\":_vm.getUrl,\"key-to-extract-value\":\"id\",\"required\":false,\"show-delete\":true,\"internal-search\":true,\"hasError\":_vm.hasError,\"isOpenFromAdvancedFilters\":_vm.isOpenFromAdvancedFilters},on:{\"input\":_vm.handleValueChanged,\"delete\":function($event){return _vm.$emit('delete')}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./CounterpartFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./CounterpartFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CounterpartFilter.vue?vue&type=template&id=0d2a8630&scoped=true&\"\nimport script from \"./CounterpartFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./CounterpartFilter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0d2a8630\",\n null\n \n)\n\nexport default component.exports","import axios from \"axios\"\nimport Vue from \"vue\"\nimport moment from \"moment\"\n\nconst CallMainContainer = () => import(/* webpackChunkName: \"CallMainContainer\" */ \"./CallView.vue\")\nconst CallWrapUp = () => import(/* webpackChunkName: \"CallWrapUp\" */ \"./CallViewSummary.vue\")\nconst CallSetup = () => import(/* webpackChunkName: \"CallSetup\" */ \"./CallSetup.vue\")\n\n// exports basic app infos required for other modules and CallViewItem_components\nconst baseUrl = \"/call\"\nexport const callWrapUpUrl = \"/call/summary\"\n\nexport const CALL_MAIN_APP = \"callMainApp\"\n\nexport const callMainApp = { name: CALL_MAIN_APP, path: \"/conversation/:callId\", component: CallMainContainer }\n\nexport default {\n name: \"New Call\",\n apiUrl: \"/api/calls\",\n route: {\n path: baseUrl,\n component: CallSetup\n },\n routes: [\n {\n path: `${callWrapUpUrl}/:callId`,\n component: CallWrapUp\n }\n ],\n icon: \"fas fa-comments\"\n}\n\nexport const baoDelayService = {\n delayedOperationsArray: [],\n saving: false,\n methods: {\n getIdForItem (item, index) {\n return \"Item\" + index // + item.name.toLowerCase();\n },\n /**\n * Delays the execution of callback by the provided time (default = 1sec)\n *\n * This should lead to a more consistent behavior when saving CallItems to the backend, otherwise there is a\n * possibility of creating multiple call items for the same call and playbook item\n * */\n delayedOperation (index, callback, callbackData, time = 1000) {\n const doa = baoDelayService.delayedOperationsArray\n if (doa[index]) {\n clearTimeout(doa[index].timeout)\n delete (doa[index])\n }\n const callbackMethod = () => {\n if (doa[index]) delete (doa[index])\n return callback(callbackData)\n }\n let timeout = null\n const promise = new Promise((resolve, reject) => {\n timeout = setTimeout(() => {\n callbackMethod().then(response => {\n resolve(response)\n }).catch(error => {\n reject(error)\n })\n }, time)\n })\n doa[index] = { promise, timeout, callbackMethod }\n return promise\n },\n /**\n * Executes the callback function of the delayed operation with index immediately\n * */\n executeDelayedOperation (index) {\n // When executing this method for all the items available in a playbook(in configurator),\n // if the op-id for an item is not available then return a resolved promise.\n if (index in baoDelayService.delayedOperationsArray) {\n const operation = baoDelayService.delayedOperationsArray[index]\n clearTimeout(operation.timeout)\n return operation.callbackMethod()\n }\n return Promise.resolve()\n },\n /**\n * Executes all delayed operations immediately\n * */\n executeAllDelayedOperations () {\n return new Promise((resolve) => {\n const waitFor = []\n for (const i in baoDelayService.delayedOperationsArray) {\n waitFor.push(baoDelayService.methods.executeDelayedOperation(i))\n }\n Promise.all(waitFor).then(() => {\n resolve()\n })\n })\n },\n convertMillisecondsToHHMMSS (milliseconds) {\n // Get hours from milliseconds\n const hours = milliseconds / (1000 * 60 * 60)\n const absoluteHours = Math.floor(hours)\n const h = absoluteHours > 9 ? absoluteHours : \"0\" + absoluteHours\n\n // Get remainder from hours and convert to minutes\n const minutes = (hours - absoluteHours) * 60\n const absoluteMinutes = Math.floor(minutes)\n const m = absoluteMinutes > 9 ? absoluteMinutes : \"0\" + absoluteMinutes\n\n // Get remainder from minutes and convert to seconds\n const seconds = (minutes - absoluteMinutes) * 60\n const absoluteSeconds = Math.floor(seconds)\n const s = absoluteSeconds > 9 ? absoluteSeconds : \"0\" + absoluteSeconds\n return h + \":\" + m + \":\" + s\n }\n }\n}\n\nexport const utils = {\n runningIndex: 0,\n /**\n * Removes the html tag from the string\n * */\n stripHtmlTags (html) {\n if (html) {\n html = html.replace(//gi, \"\")\n html = html.replace(//gi, \"\")\n html = html.replace(/<\\/div>/ig, \"\")\n html = html.replace(/<\\/li>/ig, \"\")\n html = html.replace(/
  • /ig, \"\")\n html = html.replace(/<\\/ul>/ig, \"\")\n html = html.replace(/<\\/p>/ig, \"\")\n html = html.replace(//gi, \"\")\n html = html.replace(/<[^>]+>/ig, \"\")\n }\n return html\n },\n getLoadedData (additionalDataChoice, item) {\n let loadedData = null\n let index = -1\n if (item.loadedData && item.loadedData.length > 0) {\n item.loadedData.forEach((adc, i) => {\n if (adc.selected_choice.id === additionalDataChoice.id) {\n loadedData = adc\n index = i\n }\n })\n }\n return { loadedData, index }\n },\n findActionType (actionType, answerActions) {\n return answerActions.find(item => item.type === actionType)\n },\n getCallItemDataToSave (item, callId) {\n /***\n * Returns an object based on the arguments passed\n * */\n const data = {\n talkscript: item.playbookId,\n call: callId,\n talkscript_item: item.id,\n note: item.notes,\n answers: item.selectedAnswers,\n duration: item.duration || 0\n }\n if (item.additional_data) data.additional_data = item.additional_data\n return data\n },\n getCallItemSaveRequest (item, data) {\n /***\n * Returns a method that executes the post/put axios request based on the callItem.\n * Also, updates the callItem attached to the item\n * */\n return () => {\n let method = \"post\"\n let url = \"/api/callitems/\"\n if (item.callItem) {\n method = \"put\"\n url += item.callItem.id\n }\n return axios[method](url, data).then((response) => {\n // Item has to be updated here so that the next request which is already in queue uses the\n // updated item to check if the request must be post or put\n Vue.set(item, \"callItem\", response.data)\n return response\n })\n }\n },\n getUniqueId () {\n /**\n * Returns a new unique id based on the current datetime and an incremental index\n * */\n utils.runningIndex += 1\n return \"Item\" + Date.now() + \"-\" + utils.runningIndex\n },\n convertFromUnixFormat (value, format) {\n return moment.unix(value / 1000).format(format)\n }\n}\n\nexport const typeServices = {\n isText (type) {\n return typeServices.is(type, \"text\")\n },\n isTag (type) {\n return typeServices.is(type, \"tag\")\n },\n isFormGroup (type) {\n return typeServices.is(type, \"form\")\n },\n isNumber (type) {\n return typeServices.is(type, \"number\")\n },\n isTextArea (type) {\n return typeServices.is(type, \"textarea\")\n },\n isDateTime (type) {\n return typeServices.is(type, \"datetime\")\n },\n isDate (type) {\n return typeServices.is(type, \"date\")\n },\n isTime (type) {\n return typeServices.is(type, \"time\")\n },\n isSelect (type) {\n return typeServices.is(type, \"checkbox\") || typeServices.is(type, \"select\")\n },\n isLookup (type) {\n return typeServices.is(type, \"lookup\")\n },\n isSingleSelectBox (type) {\n return typeServices.is(type, \"booleancheckbox\")\n },\n canSelectMultiple (type) {\n return typeServices.is(type, \"checkbox\")\n },\n isRadio (type) {\n return typeServices.is(type, \"radio\")\n },\n onlyDate (type) {\n return typeServices.isDate(type) && !(typeServices.isDateTime(type) || typeServices.isTime(type))\n },\n onlyTime (type) {\n return typeServices.isTime(type) && !(typeServices.isDateTime(type) || typeServices.isDate(type))\n },\n datetimeFormat (type) {\n if (typeServices.onlyDate(type)) return \"YYYY-MM-DD\"\n if (typeServices.onlyTime(type)) return \"HH:mm\"\n return \"YYYY-MM-DD HH:mm\"\n },\n fieldTypeRecognised (type) {\n return typeServices.isText(type) || typeServices.isNumber(type) || typeServices.isTextArea(type) ||\n typeServices.isDateTime(type) || typeServices.isDate(type) || typeServices.isTime(type) ||\n typeServices.isSelect(type) || typeServices.isSingleSelectBox(type) || typeServices.canSelectMultiple(type) ||\n typeServices.isRadio(type) || typeServices.isTag(type) || typeServices.isFormGroup(type)\n },\n is (type, expected) {\n return type === expected\n },\n shouldUseDropdown (type) {\n return this.isSelect(type) || this.isRadio(type)\n },\n isCrmLink (type) {\n return typeServices.is(type, \"crmlink\")\n },\n\n /* ========== question type items (not CRM items) ======== */\n\n isMultiSelectQuestion (type) {\n return [\"question\", \"rated_multiselect\", \"multi_select_dropdown\"].includes(type)\n },\n isSingleSelectQuestion (type) {\n return [\"single_select_radio\", \"single_select_dropdown\"].includes(type)\n },\n isQuestion (type) {\n return typeServices.isMultiSelectQuestion(type) || typeServices.isSingleSelectQuestion(type)\n }\n\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b-button',{ref:_vm.id,class:_vm.getClass,attrs:{\"id\":_vm.id,\"disabled\":_vm.disabled,\"size\":_vm.size,\"variant\":_vm.variant},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleDeleteButtonClicked.apply(null, arguments)}}},[(!_vm.hideIcon)?_c('i',{class:_vm.icon,attrs:{\"id\":'delete-icon-202103211433-'+_vm.id}}):_vm._e(),(!!_vm.label)?_c('span',{attrs:{\"id\":'delete-label-202103211433-'+_vm.id}},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]):_vm._e()]),(!_vm.label)?_c('b-tooltip',{ref:'delete-tooltip-202103211433-'+_vm.id,attrs:{\"id\":'delete-tooltip-202103211433-'+_vm.id,\"target\":_vm.id,\"delay\":_vm.tooltipDelay,\"placement\":_vm.tooltipPlacement,\"noninteractive\":_vm.noninteractiveTooltip}},[_vm._v(\" \"+_vm._s(_vm.getTooltip)+\" \")]):_vm._e(),_c('bao-delete-confirm-modal',{attrs:{\"id\":'warning-modal-202012241138-'+_vm.id},on:{\"delete\":_vm.deleteItem},model:{value:(_vm.showDeleteWarningModal),callback:function ($$v) {_vm.showDeleteWarningModal=$$v},expression:\"showDeleteWarningModal\"}},[_vm._t(\"default\")],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('b-modal',{ref:_vm.id,attrs:{\"id\":_vm.id,\"ok-only\":_vm.okOnly,\"title\":_vm.getTitle,\"hide-header-close\":_vm.hideHeaderClose,\"no-close-on-esc\":_vm.noCloseOnEsc,\"no-close-on-backdrop\":_vm.noCloseOnBackdrop,\"hide-footer\":\"\"},model:{value:(_vm.showWarning),callback:function ($$v) {_vm.showWarning=$$v},expression:\"showWarning\"}},[_c('div',{staticClass:\"d-flex justify-content-center align-items-center mt-3 mb-5\"},[_c('img',{staticClass:\"mr-3\",attrs:{\"id\":\"alert-icon-202103210125\",\"src\":\"/img/icons/round-exclamation-btn.svg\",\"height\":\"50px\"}}),_c('div',[(_vm.slotPassed)?_vm._t(\"default\",null,{\"id\":\"slot-202103210125\"}):_c('span',{attrs:{\"id\":\"local-warning-message-202103210125\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.warningMessage)+\" \")])],2)]),_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('b-btn',{staticClass:\"font-size-14 px-4 mr-3\",attrs:{\"id\":\"modal-cancel-btn-202103051221\",\"variant\":\"primary\"},on:{\"click\":_vm.cancel}},[_vm._v(\" \"+_vm._s(_vm.staticText.cancel)+\" \")]),_c('b-btn',{staticClass:\"font-size-14 px-4\",attrs:{\"id\":\"modal-delete-btn-202103051221\",\"variant\":\"secondary\"},on:{\"click\":_vm.deleteItem}},[_vm._v(\" \"+_vm._s(_vm.staticText.delete)+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoDeleteConfirmModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoDeleteConfirmModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoDeleteConfirmModal.vue?vue&type=template&id=40cb03b3&scoped=true&\"\nimport script from \"./BaoDeleteConfirmModal.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoDeleteConfirmModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"40cb03b3\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoDeleteButton.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoDeleteButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaoDeleteButton.vue?vue&type=template&id=54638682&scoped=true&\"\nimport script from \"./BaoDeleteButton.vue?vue&type=script&lang=js&\"\nexport * from \"./BaoDeleteButton.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"54638682\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('base-filter',{attrs:{\"value\":_vm.options.value,\"label\":_vm.displayLabel,\"showLabel\":false,\"url\":_vm.getUrl,\"multiselect\":_vm.options.multiselect,\"required\":_vm.options.required,\"hasError\":_vm.hasError},on:{\"input\":_vm.handleValueChanged}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./PlaybookItemSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./PlaybookItemSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PlaybookItemSelector.vue?vue&type=template&id=4418999a&scoped=true&\"\nimport script from \"./PlaybookItemSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./PlaybookItemSelector.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4418999a\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetCriteriaDisplay.vue?vue&type=style&index=0&id=069b812e&prod&scoped=true&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetConversationGoalDisplay.vue?vue&type=style&index=0&id=19771e9a&prod&scoped=true&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('base-filter',{attrs:{\"value\":_vm.value || _vm.options.value,\"show-label\":_vm.options.showLabel,\"label\":_vm.displayLabel,\"placeholder\":_vm.staticText.selectPlaybooks,\"show-delete\":_vm.options.showDelete,\"url\":_vm.getUrl,\"multiselect\":_vm.options.multiselect,\"required\":_vm.options.required,\"hasError\":_vm.hasError,\"group-values\":_vm.options.enableGrouping ? 'values' : '',\"group-label\":_vm.options.enableGrouping ? 'source' : '',\"postprocess-options\":_vm.postprocessOptions,\"isOpenFromAdvancedFilters\":_vm.isOpenFromAdvancedFilters},on:{\"input\":_vm.handleValueChanged,\"delete\":function($event){return _vm.$emit('delete')}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./PlaybookSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./PlaybookSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PlaybookSelector.vue?vue&type=template&id=63820bb6&scoped=true&\"\nimport script from \"./PlaybookSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./PlaybookSelector.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"63820bb6\",\n null\n \n)\n\nexport default component.exports","import axios from \"axios\"\nimport { debug, setCookie, getCookie, removeCookie } from \"@/utils/utils\"\n\nconst BASE_URL = process.env.VUE_APP_BASEURL\nconst FORCE_LOGOUT = process.env.VUE_APP_FORCE_LOGOUT\nconst POPUP_LOGIN_FOR_SWIFT = process.env.VUE_APP_POPUP_LOGIN_FOR_SWIFT\nconst NON_ACCEPTABLE_STORAGE_VALUES = [\"\", undefined, \"undefined\", null]\n\nexport function clearStorage () {\n // TODO: leaving this here for the first release so we clear out\n // user's localStorage. After this following cleanup can be removed.\n localStorage.removeItem(\"access_token\")\n localStorage.removeItem(\"refresh_token\")\n localStorage.removeItem(\"refresh_token_created_at\")\n\n removeBaoUserFromStorage()\n\n removeSocialAuthInProgress()\n}\n\nexport const conditionalForceLogout = () => {\n // If it's set in server then users will be logged out\n if ([\"true\", \"True\"].includes(FORCE_LOGOUT)) {\n // If user force logout has not never been done before\n if (getLocalStorage(\"force_logged_out\") !== \"true\") {\n axios.post(BASE_URL + \"api/users/logout/\")\n clearStorage()\n setLocalStorage(\"force_logged_out\", \"true\")\n window.location.reload()\n }\n }\n // If it's set to false then we remove the force_logged_out flag\n if ([\"false\", \"False\"].includes(FORCE_LOGOUT)) {\n localStorage.removeItem(\"force_logged_out\")\n }\n}\n\nexport const setTokenPair = (accessToken, refreshToken) => {\n if (getLocalStorage(\"access_token\")) {\n clearStorage()\n }\n const refreshTokenCreatedAt = Date.now().toString()\n setLocalStorage(\"access_token\", accessToken)\n setLocalStorage(\"refresh_token\", refreshToken)\n setLocalStorage(\"refresh_token_created_at\", refreshTokenCreatedAt)\n}\n\nexport const areFreshAuthTokens = () => {\n // We are only concerned if the auth tokens are fresh\n // I've arbitrarily set the limit to 60 seconds.\n const accessToken = getLocalStorage(\"access_token\")\n const refreshToken = getLocalStorage(\"refresh_token\")\n const refreshTokenCreatedAt = getLocalStorage(\"refresh_token_created_at\")\n\n if (accessToken && refreshToken && refreshTokenCreatedAt) {\n if (Date.now() - parseInt(refreshTokenCreatedAt) <= 60 * 1000) {\n return true\n }\n }\n return false\n}\n\nexport const isRefreshTokenExpired = () => {\n const refreshTokenCreatedAt = getLocalStorage(\"refresh_token_created_at\")\n if (!refreshTokenCreatedAt) {\n return false\n }\n // Check if refresh token is more than a day old\n if (parseInt(refreshTokenCreatedAt) + 24 * 60 * 60 * 1000 < Date.now()) {\n return true\n }\n return false\n}\n\n// We use cookies for managing schema name\n// so admin console is aware of the schema\nexport const setSchemaName = schemaName => {\n clearSchemaInfo()\n setCookie(\"schema_name\", schemaName)\n}\n\nexport const getSchemaName = () => getCookie(\"schema_name\")\n\nexport const clearSchemaInfo = () => removeCookie(\"schema_name\")\n\nexport const getSocialOTT = () => getLocalStorage(\"social_ott\")\n\nexport const setSocialOTT = socialOTT => {\n setLocalStorage(\"social_ott\", socialOTT)\n}\n\nexport const clearSocialOTT = () => {\n localStorage.removeItem(\"social_ott\")\n}\n\nexport const getEmail = () => getLocalStorage(\"email\")\n\nexport const setEmail = email => setLocalStorage(\"email\", email)\n\nexport const clearEmail = () => localStorage.removeItem(\"email\")\n\nexport const popupLoginForSwift = () => [\"true\", \"True\"].includes(POPUP_LOGIN_FOR_SWIFT)\n\nexport const isSocialAuthInProgress = () =>\n !!getLocalStorage(\"SocialAuthInProgress\")\n\nexport const setSocialAuthInProgress = () => {\n setLocalStorage(\"SocialAuthInProgress\", true)\n setLocalStorage(\"SocialAuthInProgressInitiateTime\", Date.now().toString())\n}\n\nexport const removeSocialAuthInProgress = () => {\n localStorage.removeItem(\"SocialAuthInProgress\")\n localStorage.removeItem(\"SocialAuthInProgressInitiateTime\")\n localStorage.removeItem(\"visit_count\")\n // socialOTT was only needed for social authentication\n clearSocialOTT()\n}\n\n// If social authentication initiated more than 30 seconds ago or\n// user has reloaded the page on existing loading screen, then\n// clear out the SSO data and return true indicating the same\nexport const isSocialAuthProgressOldThenClear = () => {\n if (isSocialAuthInProgress()) {\n if (getLocalStorage(\"visit_count\") === \"1\") {\n setLocalStorage(\"visit_count\", \"2\")\n } else {\n setLocalStorage(\"visit_count\", \"1\")\n }\n const initiateTime = getLocalStorage(\n \"SocialAuthInProgressInitiateTime\"\n )\n if (\n Date.now() - parseInt(initiateTime) > 120000 ||\n parseInt(getLocalStorage(\"visit_count\")) > 1\n ) {\n removeSocialAuthInProgress()\n return true\n }\n }\n return false\n}\n\nexport const getAccessToken = () => getLocalStorage(\"access_token\")\n\nexport const getUserProfile = async () => {\n return axios.get(BASE_URL + \"api/users/profile/\", {\n headers: {\n Authorization: `Bearer ${getAccessToken()}`\n }\n }).then(({ data }) => {\n setLocalStorage(\"bao-user\", JSON.stringify({\n client_name: data.client_name,\n email: data.email,\n full_name: data.full_name,\n language: data.language\n }))\n return Promise.resolve(data)\n }).catch(error => {\n debug.log(\"get user profile error\", error)\n localStorage.removeItem(\"bao-user\")\n return Promise.reject(error)\n })\n}\n\nexport const getBaoUserFromStorage = () => JSON.parse(getLocalStorage(\"bao-user\"))\n\nexport const removeBaoUserFromStorage = () => localStorage.removeItem(\"bao-user\")\n\n// Following is for function refreshAccessTokenAndRetry\n// We que the failed requests and resolve them eventually\nlet isRefreshing = false\nlet failedQueue = []\n\nconst processQueue = (error, token = null) => {\n failedQueue.forEach(prom => {\n if (error) {\n prom.reject(error)\n } else {\n prom.resolve(token)\n }\n })\n failedQueue = []\n}\n\nexport const refreshTokensAndRetry = async (originalRequest) => {\n /*\n All failing requests are queued and retried after a new access token\n has been obtained. If request still fails with good access token,\n we let it fail.\n */\n if (isRefreshing) {\n return new Promise((resolve, reject) => {\n failedQueue.push({ resolve, reject })\n }).then(token => {\n originalRequest.headers.Authorization = `Bearer ${token}`\n return axios(originalRequest)\n }).catch(err => {\n debug.log(\"refreshTokensAndRetry failed\", err)\n clearStorage()\n return Promise.reject(err)\n })\n }\n\n isRefreshing = true\n\n const refreshToken = getLocalStorage(\"refresh_token\")\n return new Promise((resolve, reject) => {\n axios.post(BASE_URL + \"api/token/refresh/\", { refresh: refreshToken })\n .then(({ data }) => {\n const { access, refresh } = data\n setTokenPair(access, refresh)\n axios.defaults.headers.common.Authorization = `Bearer ${data.access}`\n originalRequest.headers.Authorization = `Bearer ${data.access}`\n processQueue(null, data.access)\n resolve(axios(originalRequest))\n })\n .catch((err) => {\n processQueue(err, null)\n reject(err)\n })\n .finally(() => { isRefreshing = false })\n })\n}\n\nexport const getLocalStorage = (key) => {\n const value = localStorage.getItem(key)\n if (!NON_ACCEPTABLE_STORAGE_VALUES.includes(value)) {\n return value\n }\n return null\n}\n\nexport const getValueFromURLParams = (key = \"\") => {\n let decodedURI = decodeURIComponent(window.location.search)\n decodedURI = decodedURI.replaceAll(\"%40\", \"@\")\n // Here decodedURI for email invite looks like:\n // \"?redirect=/call?email=someone@domain.com&...\"\n decodedURI = decodedURI.split(\"?\")[2]\n const urlSearchParams = new URLSearchParams(decodedURI)\n return urlSearchParams.get(key)\n}\n\nexport const lookupEmail = () => {\n const emailParam = getValueFromURLParams(\"email\")\n return emailParam || getLocalStorage(\"email\")\n}\n\nexport const setLocalStorage = (key, value) => {\n if (!NON_ACCEPTABLE_STORAGE_VALUES.includes(value)) {\n localStorage.setItem(key, value)\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"white\":\"#fff\",\"white20\":\"rgba(255,255,255,.2)\",\"slate10\":\"rgba(42,45,82,.1)\",\"slate20\":\"rgba(42,45,82,.2)\",\"slate80\":\"rgba(42,45,82,.8)\",\"orange\":\"#ff5632\",\"orange12\":\"rgba(255,86,50,.12)\",\"bricklight\":\"#dcb6a3\"};","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaseFilter.vue?vue&type=style&index=0&id=4b8478f6&prod&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetConfigurator.vue?vue&type=style&index=0&id=1432241a&prod&scoped=true&lang=scss&\"","import {\n FILTER_KEY_TAGS,\n FILTER_KEY_TEXT_MATCH,\n FILTER_KEY_USER,\n FILTER_KEY_OBJECTIONS,\n FILTER_KEY_COUNTERPART_REACHABILITY,\n FILTER_KEY_CALL_RESULT,\n FILTER_KEY_ANSWER,\n FILTER_KEY_CALL_DURATION,\n FILTER_KEY_OBJECTIONS__OBJECTIONS,\n FILTER_KEY_TIMEFRAME,\n FILTER_KEY_TRANSCRIPT_SEARCH,\n FILTER_KEY_PLAYBOOK\n} from \"@/apps/dashboard/chartUtils\"\n\nexport const MINIMUM_CALL_DURATION_FILTER_KEY = \"duration__gte\"\nexport const MAXIMUM_CALL_DURATION_FILTER_KEY = \"duration__lte\"\nexport const LABELS_FILTER_KEY = \"tags__name__in\"\nexport const PLAYBOOK_FILTER_LABEL = \"playbook_id\"\nexport const USER_PK_FILTER_LABEL = \"user__id__in\"\nexport const CREATED_AT_START_DATE_FILTER_KEY = \"created_at__gte\"\nexport const ITEM_ANSWER_PLAYBOOK_FILTER_KEY = \"call_items__talkscript__id\"\nexport const ITEM_ANSWER_PLAYBOOK_ITEM_FILTER_KEY = \"call_items__talkscript_item__in\"\nexport const ITEM_ANSWER_FILTER_KEY = \"call_items__answers__text__in\"\nexport const OBJECTION_ITEM_FILTER_KEY = \"selected_objections\"\nexport const COUNTERPART_AVAILABLE_FILTER_LABEL = \"counterpart_available\"\nexport const AUDIO_AVAILABLE_FILTER_LABEL = \"audio_available\"\nexport const VIDEO_AVAILABLE_FILTER_LABEL = \"video_available\"\nexport const CALL_DURATION_FILTER_LABEL = \"duration\"\nexport const CREATED_AT_END_DATE_FILTER_KEY = \"created_at_end_date\"\nexport const USER_TYPE_FILTER_KEY = \"user_type\"\nexport const INDIVIDUAL_USERS_LABEL = \"individual_users\"\nexport const SUCCESS_CRITERIA_ITEM_ANSWER_PLAYBOOK_FILTER_KEY = \"successCriteria_playbook_id\"\nexport const SUCCESS_CRITERIA_ITEM_ANSWER_PLAYBOOK_ITEM_FILTER_KEY = \"successCriteria_playbook_item_id\"\nexport const SUCCESS_CRITERIA_ITEM_ANSWER_FILTER_KEY = \"successCriteria_answers_text\"\nexport const SUCCESS_CRITERIA_MINIMUM_CALL_DURATION_FILTER_KEY = \"successCriteria_minimum_duration\"\nexport const PLAYBOOK_ITEM_ANSWER_FILTER_LABEL = \"playbook_item_and_answer\"\nexport const TRANSCRIPTS_SEARCH_FILTER_TEXT = \"transcript_texts\"\nexport const TRANSCRIPTS_SEARCH_FILTER_SIMILARITY = \"transcript_similarity\"\nexport const ARRAY_DATA_TYPE_LABEL = \"array\"\nexport const OBJECT_DATA_TYPE_LABEL = \"object\"\n\nexport const transformFilters = ({ dataType, activeFilters }) => {\n // This function transforms the widgets/conversation history filters in a way that aligns with how the calls are filtered on the backend\n // The widget filters come in Object format and the Conversation History filters come in arrays, hence we have \"dataType\" passed in the\n // function, which is then passed in the filterLength, filterArray, filterKey and filterValue functions to get the length, Array for the\n // loop. the key and the value of the filters\n const transformedFilters = {}\n if (filterLength({ dataType, activeFilters })) transformedFilters.advanced_filters = true\n\n for (const filter of filterArray({ dataType, activeFilters })) {\n const key = filterKey({ dataType, filter })\n const value = filterValue({ dataType, filter })\n\n if (key === CALL_DURATION_FILTER_LABEL) {\n if (value.gte || value.gte === 0) transformedFilters[MINIMUM_CALL_DURATION_FILTER_KEY] = value.gte\n if (value.lte || value.lte === 0) transformedFilters[MAXIMUM_CALL_DURATION_FILTER_KEY] = value.lte\n } else if (key === FILTER_KEY_TIMEFRAME) {\n if (typeof value !== \"string\") {\n transformedFilters[CREATED_AT_START_DATE_FILTER_KEY] = value.created_at__gte\n transformedFilters[CREATED_AT_END_DATE_FILTER_KEY] = value.created_at__lte\n } else transformedFilters[key] = value\n } else if (key === PLAYBOOK_ITEM_ANSWER_FILTER_LABEL) {\n if (value.call_items__talkscript__id__in[0] !== null) transformedFilters[ITEM_ANSWER_PLAYBOOK_FILTER_KEY] = value.call_items__talkscript__id__in.toString()\n transformedFilters[ITEM_ANSWER_PLAYBOOK_ITEM_FILTER_KEY] = value.call_items__talkscript_item__id__in\n transformedFilters[ITEM_ANSWER_FILTER_KEY] = value.call_items__answers__text__in\n } else if (key === FILTER_KEY_OBJECTIONS) {\n transformedFilters[OBJECTION_ITEM_FILTER_KEY] = value[FILTER_KEY_OBJECTIONS__OBJECTIONS].toString()\n } else if (key === FILTER_KEY_TAGS) {\n transformedFilters[LABELS_FILTER_KEY] = value\n } else if (key === FILTER_KEY_TEXT_MATCH) {\n if (Object.entries(value).length) {\n transformedFilters.call_transcript__text_similarity__gte = value.min_value ? value.min_value : 0\n transformedFilters.call_transcript__text_similarity__lte = value.max_value ? value.max_value : 100\n }\n } else if (key === FILTER_KEY_TRANSCRIPT_SEARCH) {\n transformedFilters[TRANSCRIPTS_SEARCH_FILTER_TEXT] = value.transcript_texts\n transformedFilters[TRANSCRIPTS_SEARCH_FILTER_SIMILARITY] = value.includeSimilar\n } else if (key === FILTER_KEY_USER) {\n if (value.filterKey === USER_TYPE_FILTER_KEY) {\n transformedFilters[USER_TYPE_FILTER_KEY] = value.selectedUser.toString()\n } else transformedFilters[INDIVIDUAL_USERS_LABEL] = value.selectedUser\n } else if (key === FILTER_KEY_PLAYBOOK) {\n transformedFilters[PLAYBOOK_FILTER_LABEL] = value\n } else transformedFilters[key] = value.toString()\n }\n\n return transformedFilters\n}\n\nexport const filterLength = ({ dataType, activeFilters }) => {\n if (dataType === ARRAY_DATA_TYPE_LABEL) return activeFilters.length\n else return Object.keys(activeFilters).length\n}\n\nexport const filterArray = ({ dataType, activeFilters }) => {\n if (dataType === ARRAY_DATA_TYPE_LABEL) return activeFilters\n else return Object.entries(activeFilters)\n}\n\nexport const filterKey = ({ dataType, filter }) => {\n if (dataType === ARRAY_DATA_TYPE_LABEL) return filter.query_label\n else return filter[0]\n}\n\nexport const filterValue = ({ dataType, filter }) => {\n if (dataType === ARRAY_DATA_TYPE_LABEL) return filter.value\n else return filter[1]\n}\n\nexport const transformSuccessCriteria = ({ successCriteria, transformedFilters }) => {\n transformedFilters.success_criteria = transformedFilters.advanced_filters = true\n\n if (successCriteria.type === FILTER_KEY_COUNTERPART_REACHABILITY) {\n transformedFilters[FILTER_KEY_COUNTERPART_REACHABILITY] = true\n } else if (successCriteria.type === FILTER_KEY_CALL_RESULT) {\n transformedFilters[FILTER_KEY_CALL_RESULT] = true\n } else if (successCriteria.type === FILTER_KEY_ANSWER) {\n if (successCriteria.playbooks[0] !== null) transformedFilters[SUCCESS_CRITERIA_ITEM_ANSWER_PLAYBOOK_FILTER_KEY] = successCriteria.playbooks.toString()\n transformedFilters[SUCCESS_CRITERIA_ITEM_ANSWER_PLAYBOOK_ITEM_FILTER_KEY] = successCriteria.playbookItems\n transformedFilters[SUCCESS_CRITERIA_ITEM_ANSWER_FILTER_KEY] = successCriteria.answers\n } else if (successCriteria.type === FILTER_KEY_CALL_DURATION) {\n transformedFilters[SUCCESS_CRITERIA_MINIMUM_CALL_DURATION_FILTER_KEY] = Number(successCriteria.callDuration) * 1000\n }\n\n return transformedFilters\n}\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./FilterConfigurations.vue?vue&type=style&index=0&id=a8e3c900&prod&scoped=true&lang=scss&\"","export const externalShareBaseUrl = \"/api/external_sharing\"\n\nexport const externalShareComponentUrl = \"/call_sharing\"\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"white\":\"#fff\",\"white20\":\"rgba(255,255,255,.2)\",\"slate10\":\"rgba(42,45,82,.1)\",\"slate20\":\"rgba(42,45,82,.2)\",\"slate80\":\"rgba(42,45,82,.8)\",\"orange\":\"#ff5632\",\"orange12\":\"rgba(255,86,50,.12)\",\"bricklight\":\"#dcb6a3\"};","export const tooltipDelay = {\n show: 250,\n hide: 50\n}\n\nexport const colors = {\n bao: {\n orange: \"#ef702d\",\n darkblue: \"#1B1D35\",\n lightblue: \"#3B3D85\",\n statsblue: \"#59a4ff\"\n }\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"white\":\"#fff\",\"white20\":\"rgba(255,255,255,.2)\",\"slate10\":\"rgba(42,45,82,.1)\",\"slate20\":\"rgba(42,45,82,.2)\",\"slate80\":\"rgba(42,45,82,.8)\",\"orange\":\"#ff5632\",\"orange12\":\"rgba(255,86,50,.12)\",\"bricklight\":\"#dcb6a3\"};","import store from \"../../store\"\n\nconst BaoDashboard = () => import(/* webpackChunkName: \"BaoDashboard\" */ \"./BaoDashboard.vue\")\n\nexport const baseUrl = \"/dashboard\"\n\nexport default {\n name: \"dashboard\",\n apiUrl: \"/api\" + baseUrl,\n routes: [\n {\n path: `${baseUrl}/:page?`,\n component: BaoDashboard\n }\n ]\n}\n\nexport const getLanguage = () => {\n return store.getters[\"auth/user\"].language\n}\n\nexport const dateFormatingOptions = {\n days: (date) => {\n const options = { weekday: \"long\", year: \"numeric\", month: \"long\", day: \"numeric\" }\n let language = getLanguage()\n if (language === \"en\") language = \"en-GB\"\n return date.toLocaleDateString(language, options)\n },\n weeks: (date) => {\n let start = date\n let end = new Date(date)\n end.setDate(date.getDate() + 7)\n const options = { year: \"numeric\", month: \"short\", day: \"numeric\" }\n let localeStr = getLanguage()\n if (localeStr === \"en\") localeStr = \"en-GB\"\n start = start.toLocaleDateString(localeStr, options)\n end = end.toLocaleDateString(localeStr, options)\n return start + \" - \" + end\n },\n months: (date) => {\n const options = { year: \"numeric\", month: \"long\" }\n let localeStr = getLanguage()\n if (localeStr === \"en\") localeStr = \"en-GB\"\n return date.toLocaleDateString(localeStr, options)\n }\n}\n\nexport const getTranslation = (component) => {\n return store.getters[\"I18nStore/getI18n\"](component.name, component.staticTextDefault)\n}\n\nexport const dashboardStoreUtils = {\n name: \"DashboardStore\",\n staticTextDefault: {\n copyOf: \"Copy of\",\n defaultPageTitle: \"New Dashboard\"\n },\n _getNumericSuffixInfo (title) {\n // get any numeric suffix from end of title and title without numeric suffix\n const titleSuffixArray = title.match(/[0-9]+$/)\n const titleWithoutSuffix = titleSuffixArray ? title.slice(0, titleSuffixArray.index).trim() : title\n return [titleWithoutSuffix, titleSuffixArray]\n },\n _getCurrentTitleNumericSuffix (newTitleWithoutSuffix, currentPageTitle) {\n const [currentPageTitleWithoutSuffix, currentPageSuffixArray] = dashboardStoreUtils._getNumericSuffixInfo(currentPageTitle)\n // if numeric suffix exists and both titles without suffix match exactly, get the suffix from existing title\n if (newTitleWithoutSuffix === currentPageTitleWithoutSuffix) {\n return currentPageSuffixArray ? Number(currentPageSuffixArray[0]) : 0\n }\n return Number.NEGATIVE_INFINITY\n },\n getNewDashboardTitle (dashboards, title = \"\") {\n const newTitle = title || getTranslation(dashboardStoreUtils).defaultPageTitle\n const [newTitleWithoutSuffix] = dashboardStoreUtils._getNumericSuffixInfo(newTitle)\n const newTitleRegex = new RegExp(newTitleWithoutSuffix, \"i\")\n let currentHighestIndex = Number.NEGATIVE_INFINITY\n\n for (const dashboard of dashboards) {\n if (newTitleRegex.test(dashboard.name)) {\n const currentIndex = dashboardStoreUtils._getCurrentTitleNumericSuffix(newTitleWithoutSuffix, dashboard.name)\n if (currentIndex > currentHighestIndex) {\n currentHighestIndex = currentIndex\n }\n }\n }\n\n if (currentHighestIndex < 0) return newTitle\n return `${newTitleWithoutSuffix} ${currentHighestIndex + 1}`\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:['bao-widget-filter w-100 d-flex', { 'advanced-filters' : _vm.isOpenFromAdvancedFilters }]},[_c('bao-widget-filter-container',{attrs:{\"label\":_vm.label,\"label-tag\":\"base-filter-202112211245\",\"required\":_vm.required,\"hasError\":_vm.hasError}},[_c('vue-multiselect',{attrs:{\"id\":\"base-filter-202112211245\",\"options\":_vm.options,\"show-labels\":false,\"multiple\":_vm.multiselect,\"placeholder\":_vm.placeholder ? _vm.placeholder : _vm.label,\"internal-search\":_vm.internalSearch,\"hide-selected\":_vm.multiselect,\"loading\":_vm.isLoading,\"clear-on-select\":!_vm.multiselect,\"close-on-select\":!_vm.multiselect,\"show-no-results\":false,\"custom-label\":item => item.name,\"track-by\":_vm.keyToExtractValue,\"group-values\":_vm.groupValues,\"group-label\":_vm.groupLabel,\"group-select\":false},on:{\"search-change\":searchTerm=>_vm.search(searchTerm, _vm.internalSearch),\"input\":_vm.handleValueSelected},scopedSlots:_vm._u([{key:\"tag\",fn:function({ option, remove }){return [_c('span',{staticClass:\"custom__tag d-flex justify-content-between my-1\"},[_c('span',{staticClass:\"w-100\"},[_c('span',{staticClass:\"option__small\"},[_vm._v(\" \"+_vm._s(option.name)+\" \")])]),_c('span',{staticClass:\"custom__remove\",on:{\"click\":function($event){$event.stopPropagation();return remove(option)}}},[_c('i',{staticClass:\"far fa-times-circle\"})])])]}}]),model:{value:(_vm.selectedValues),callback:function ($$v) {_vm.selectedValues=$$v},expression:\"selectedValues\"}},[_c('span',{attrs:{\"slot\":\"noOptions\"},slot:\"noOptions\"},[_vm._v(\" \"+_vm._s(_vm.staticText.listIsEmpty)+\" \")])])],1),(_vm.showDelete)?_c('div',{staticClass:\"ml-3 filter-delete\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('delete')}}},[(!_vm.isOpenFromAdvancedFilters)?_c('i',{staticClass:\"fa fa-trash my-auto\"}):_c('svg',{attrs:{\"width\":\"7\",\"height\":\"7\",\"viewBox\":\"0 0 7 7\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('mask',{attrs:{\"id\":\"a\",\"fill\":\"#fff\"}},[_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\"}})]),_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\",\"fill\":\"#000\",\"fill-opacity\":\".5\"}}),_c('path',{attrs:{\"d\":\"M7 .705l.707.707.707-.707-.707-.707L7 .705zM6.295 0l.707-.707-.707-.707-.707.707.707.707zM3.5 2.795l-.707.707.707.707.707-.707-.707-.707zM.705 0l.707-.707-.707-.707-.707.707L.705 0zM0 .705l-.707-.707-.707.707.707.707L0 .705zM2.795 3.5l.707.707.707-.707-.707-.707-.707.707zM0 6.295l-.707-.707-.707.707.707.707L0 6.295zM.705 7l-.707.707.707.707.707-.707L.705 7zM3.5 4.205l.707-.707L3.5 2.79l-.707.707.707.707zM6.295 7l-.707.707.707.707.707-.707L6.295 7zM7 6.295l.707.707.707-.707-.707-.707L7 6.295zM4.205 3.5l-.707-.707-.707.707.707.707.707-.707zM7.707-.002l-.705-.705L5.588.707l.705.705L7.707-.002zm-2.12-.705L2.794 2.088l1.414 1.414L7.002.707 5.588-.707zm-1.38 2.795L1.412-.707-.002.707l2.795 2.795 1.414-1.414zM-.003-.707l-.704.705L.707 1.412l.705-.705L-.002-.707zm-.704 2.12l2.795 2.794 1.414-1.414L.707-.002-.707 1.412zm2.795 1.38L-.707 5.588.707 7.002l2.795-2.795-1.414-1.414zm-2.795 4.21l.705.704 1.414-1.414-.705-.705-1.414 1.414zm2.12.704l2.794-2.795-1.414-1.414-2.795 2.795 1.414 1.414zm1.38-2.795l2.795 2.795 1.414-1.414-2.795-2.795-1.414 1.414zm4.21 2.795l.704-.705-1.414-1.414-.705.705 1.414 1.414zm.704-2.12L4.912 2.794 3.498 4.207l2.795 2.795 1.414-1.414zm-2.795-1.38l2.795-2.795L6.293-.002 3.498 2.793l1.414 1.414z\",\"fill\":\"#2A2D52\",\"fill-opacity\":\".01\",\"mask\":\"url(#a)\"}})])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaseFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaseFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BaseFilter.vue?vue&type=template&id=4b8478f6&scoped=true&\"\nimport script from \"./BaseFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./BaseFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./BaseFilter.vue?vue&type=style&index=0&id=4b8478f6&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4b8478f6\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./FilterConfigurations.vue?vue&type=style&index=1&id=a8e3c900&prod&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetDisplay.vue?vue&type=style&index=1&id=1fb7a1f7&prod&scoped=true&lang=scss&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:['bao-widget-filter w-100 d-flex', { 'advanced-filters' : _vm.isOpenFromAdvancedFilters }]},[_c('div',{staticClass:\"w-100 filter-body\"},[_c('label',{staticClass:\"mb-2 filter-title\",attrs:{\"id\":\"label-timeframe-filter-202112211245\",\"for\":\"timeframe-filter-202112211245\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.selectTimeframe)+\" \")]),_c('bao-widget-filter-container',{attrs:{\"label\":_vm.staticText.selectTimeframe,\"label-tag\":\"timeframe-filter-202112211245\",\"hasError\":_vm.noValueError}},[_c('vue-multiselect',{attrs:{\"id\":\"timeframe-filter-202112211245\",\"options\":_vm.timeframeOptions,\"show-labels\":false,\"placeholder\":_vm.staticText.selectTimeframe,\"show-no-results\":false,\"allow-empty\":false,\"track-by\":\"value\",\"label\":\"label\"},on:{\"input\":_vm.handleTimeframeSelected},model:{value:(_vm.selectedTimeframe),callback:function ($$v) {_vm.selectedTimeframe=$$v},expression:\"selectedTimeframe\"}},[_c('span',{attrs:{\"slot\":\"noResult\"},slot:\"noResult\"},[_vm._v(_vm._s(_vm.staticText.noResultMessage))])])],1),(_vm.isStatic(_vm.selectedTimeframe))?_c('div',[_c('div',{staticClass:\"d-flex w-100 mt-2\"},[_c('div',{staticClass:\"w-50 p-1 inner-label-form\",class:{ 'error-class': _vm.customDurationError }},[_c('label',{staticClass:\"inner-label\"},[_vm._v(\" \"+_vm._s(_vm.staticText.startLabel)+\" \")]),_c('b-datepicker',{attrs:{\"placeholder\":_vm.staticText.noDateSelected},model:{value:(_vm.startDate),callback:function ($$v) {_vm.startDate=$$v},expression:\"startDate\"}})],1),_c('div',{staticClass:\"w-50 p-1 inner-label-form\",class:{ 'error-class': _vm.customDurationError }},[_c('label',{staticClass:\"inner-label\"},[_vm._v(\" \"+_vm._s(_vm.staticText.endLabel)+\" \")]),_c('b-datepicker',{attrs:{\"placeholder\":_vm.staticText.noDateSelected},model:{value:(_vm.endDate),callback:function ($$v) {_vm.endDate=$$v},expression:\"endDate\"}})],1)]),(_vm.customDurationError)?_c('p',{staticClass:\"filter-error-text\"},[_vm._v(_vm._s(_vm.customDurationError))]):_vm._e()]):_vm._e()],1),_c('div',{staticClass:\"ml-3 filter-delete\",class:{ hidden: !_vm.options.showDelete },on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('delete')}}},[(!_vm.isOpenFromAdvancedFilters)?_c('i',{staticClass:\"fa fa-trash my-auto\"}):_c('svg',{attrs:{\"width\":\"7\",\"height\":\"7\",\"viewBox\":\"0 0 7 7\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('mask',{attrs:{\"id\":\"a\",\"fill\":\"#fff\"}},[_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\"}})]),_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\",\"fill\":\"#000\",\"fill-opacity\":\".5\"}}),_c('path',{attrs:{\"d\":\"M7 .705l.707.707.707-.707-.707-.707L7 .705zM6.295 0l.707-.707-.707-.707-.707.707.707.707zM3.5 2.795l-.707.707.707.707.707-.707-.707-.707zM.705 0l.707-.707-.707-.707-.707.707L.705 0zM0 .705l-.707-.707-.707.707.707.707L0 .705zM2.795 3.5l.707.707.707-.707-.707-.707-.707.707zM0 6.295l-.707-.707-.707.707.707.707L0 6.295zM.705 7l-.707.707.707.707.707-.707L.705 7zM3.5 4.205l.707-.707L3.5 2.79l-.707.707.707.707zM6.295 7l-.707.707.707.707.707-.707L6.295 7zM7 6.295l.707.707.707-.707-.707-.707L7 6.295zM4.205 3.5l-.707-.707-.707.707.707.707.707-.707zM7.707-.002l-.705-.705L5.588.707l.705.705L7.707-.002zm-2.12-.705L2.794 2.088l1.414 1.414L7.002.707 5.588-.707zm-1.38 2.795L1.412-.707-.002.707l2.795 2.795 1.414-1.414zM-.003-.707l-.704.705L.707 1.412l.705-.705L-.002-.707zm-.704 2.12l2.795 2.794 1.414-1.414L.707-.002-.707 1.412zm2.795 1.38L-.707 5.588.707 7.002l2.795-2.795-1.414-1.414zm-2.795 4.21l.705.704 1.414-1.414-.705-.705-1.414 1.414zm2.12.704l2.794-2.795-1.414-1.414-2.795 2.795 1.414 1.414zm1.38-2.795l2.795 2.795 1.414-1.414-2.795-2.795-1.414 1.414zm4.21 2.795l.704-.705-1.414-1.414-.705.705 1.414 1.414zm.704-2.12L4.912 2.794 3.498 4.207l2.795 2.795 1.414-1.414zm-2.795-1.38l2.795-2.795L6.293-.002 3.498 2.793l1.414 1.414z\",\"fill\":\"#2A2D52\",\"fill-opacity\":\".01\",\"mask\":\"url(#a)\"}})])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./TimeframeFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../node_modules/vue-svg-inline-loader/src/index.js!./TimeframeFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TimeframeFilter.vue?vue&type=template&id=5356e9fa&scoped=true&\"\nimport script from \"./TimeframeFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./TimeframeFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TimeframeFilter.vue?vue&type=style&index=0&id=5356e9fa&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5356e9fa\",\n null\n \n)\n\nexport default component.exports","import moment from \"moment\"\nimport store from \"../../store\"\nimport { getLanguage } from \"./index\"\nimport colors from \"@/assets/scss/main.scss\"\n\nexport const FILTER_KEY_DURATION = \"duration\"\nexport const FILTER_KEY_PLAYBOOK = \"talkscript__id__in\"\nexport const FILTER_KEY_OBJECTIONS = \"playbook_and_objection\"\nexport const FILTER_KEY_COUNTERPART = \"counterparts__id__in\"\nexport const FILTER_KEY_TAGS = \"tags\"\nexport const FILTER_KEY_TEXT_MATCH = \"text_match\"\nexport const FILTER_KEY_TRANSCRIPT_SEARCH = \"transcript_search\"\nexport const FILTER_KEY_TIMEFRAME = \"timeframe\"\nexport const FILTER_KEY_USER = \"user\"\nexport const FILTER_KEY_PLAYBOOK_ITEM_AND_ANSWER = \"playbook_item_and_answer\"\nexport const FILTER_KEY_OBJECTIONS__PLAYBOOK = \"talkscript__id\"\nexport const FILTER_KEY_OBJECTIONS__OBJECTIONS = \"additional_data_for_call__selected_choice__id__contains\"\nexport const FILTER_KEY_PLAYBOOK_ITEM_AND_ANSWER__PLAYBOOKS = \"call_items__talkscript__id__in\"\nexport const FILTER_KEY_PLAYBOOK_ITEM_AND_ANSWER__ITEMS = \"call_items__talkscript_item__id__in\"\nexport const FILTER_KEY_PLAYBOOK_ITEM_AND_ANSWER__TEXT = \"call_items__answers__text__in\"\nexport const FILTER_KEY_COUNTERPART_REACHABILITY = \"counterpartReachability\"\nexport const FILTER_KEY_CALL_RESULT = \"callResult\"\nexport const FILTER_KEY_ANSWER = \"answer\"\nexport const FILTER_KEY_CALL_DURATION = \"callDuration\"\nexport const FILTER_KEY_CALLS_ENDED_WITH_QUICK_END = \"ended_with_quick_call_end\"\nexport const LIBRARY_ITEM_TYPE_LABEL = \"libraryItem\"\nexport const NON_LIBRARY_ITEM_TYPE_LABEL = \"nonLibraryItem\"\nexport const FILTER_KEY_VIDEO_AVAILABLE = \"video_available\"\nexport const FILTER_KEY_AUDIO_AVAILABLE = \"audio_available\"\nexport const HUBSPOT_CALL_OUTCOME_ITEM_TAG = \"item_type/hubspot_call_outcome\"\n\nexport const today = new Date()\n\nexport function sortByAlphaNumeric (data, key = \"name\") {\n /**\n * Sorts data by alphanumeric order\n */\n return data.sort((a, b) => {\n if (!a[key]) return false\n return a[key].localeCompare(b[key], undefined, {\n numeric: true, // numeric is to true to compare the numerical part of a and b\n sensitivity: \"base\" // sensitivity is set to 'base' to compare the case and the alphabet\n })\n })\n}\n\nexport function getFormat (momentDate, f = \"YYYY-MM-DD HH:mm\") {\n return momentDate.format(f)\n}\n\nexport function formatDateRange (startDate, endDate = moment()) {\n return getFormat(startDate) + \",\" + getFormat(endDate)\n}\n\nexport function formatMillisecondsToHHMMSS (milliseconds) {\n // Get hours from milliseconds\n const hours = milliseconds / (1000 * 60 * 60)\n const absoluteHours = Math.floor(hours)\n const h = absoluteHours > 9 ? absoluteHours : \"0\" + absoluteHours\n\n // Get remainder from hours and convert to minutes\n const minutes = (hours - absoluteHours) * 60\n const absoluteMinutes = Math.floor(minutes)\n const m = absoluteMinutes > 9 ? absoluteMinutes : \"0\" + absoluteMinutes\n\n // Get remainder from minutes and convert to seconds\n const seconds = (minutes - absoluteMinutes) * 60\n const absoluteSeconds = Math.floor(seconds)\n const s = absoluteSeconds > 9 ? absoluteSeconds : \"0\" + absoluteSeconds\n return h + \":\" + m + \":\" + s\n}\n\nexport function getThisMonth () {\n return {\n start: moment().startOf(\"month\").toISOString(),\n end: moment().endOf(\"month\").toISOString()\n }\n}\n\nexport function getLocale () {\n const locale = {\n en: \"en-GB\"\n }\n return locale[getLanguage()] || \"default\"\n}\n\nexport function populateDataByDay (dateArray, items) {\n return dateArray.map(date => {\n let result = { text: date.toLocaleString(getLocale(), { month: \"short\", day: \"numeric\" }) }\n const entry = items.find(item => item.created_at__date === moment(date).format(\"YYYY-MM-DD\"))\n if (entry) result = { ...result, ...entry }\n else result = { ...result, count: 0 }\n return result\n })\n}\n\nexport function populateDataByWeek (dateArray, items) {\n return dateArray.map(date => {\n let result = { text: (getLanguage() === \"en\" ? \"Week \" : \"Woche \") + moment(date).week() + \" \" + moment(date).year() }\n const entry = items.find(item =>\n item.created_at__week === moment(date).week() && item.created_at__year === moment(date).year()\n )\n if (entry) result = { ...result, ...entry }\n else result = { ...result, count: 0 }\n return result\n })\n}\n\nexport function populateDataByMonth (dateArray, items) {\n return dateArray.map(date => {\n let result = { text: date.toLocaleString(getLocale(), { month: \"short\", year: \"numeric\" }) }\n const entry = items.find(item =>\n item.created_at__year === moment(date).year() &&\n item.created_at__month === (moment(date).month() + 1)\n )\n if (entry) result = { ...result, ...entry }\n else result = { ...result, count: 0 }\n return result\n })\n}\n\nexport function getDateFromWeekAndYear (weekNumber, year) {\n return moment().day(\"Monday\").week(weekNumber).year(year).set({ second: 0, minute: 0, hour: 0, millisecond: 0 })\n}\n\nexport function getStartAndEndDates (data, timeframeFilter) {\n const items = data.data\n let startDate = new Date(data.start_date)// get start date from backend(null if timeframeFilter = noFilter)\n let endDate = new Date(data.end_date) // get end date from backend(null if timeframeFilter = noFilter)\n if (timeframeFilter === \"noFilter\") {\n if (items.length > 0) {\n // get start date and end date from the data\n startDate = getDateFromWeekAndYear(items[0].created_at__week, items[0].created_at__year)\n endDate = getDateFromWeekAndYear(items[items.length - 1].created_at__week, items[items.length - 1].created_at__year)\n } else {\n // if no data available get start of the year until today\n startDate = moment().startOf(\"year\")\n endDate = moment().endOf(\"month\")\n }\n }\n return { startDate, endDate }\n}\n\nexport function getStartAndEndDatesIncludingFuture (data, timeframeFilter) {\n // Note: for now timeframeFilter is never \"noFilter\". Update this code if timeframeFilter===\"noFilter\"\n const startDate = new Date(data.start_date)\n let endDate = new Date(data.end_date)\n const includeFutureDates = { today: \"day\", thisWeek: \"week\", thisMonth: \"month\", thisYear: \"year\" }\n if (timeframeFilter in includeFutureDates) {\n endDate = moment().endOf(includeFutureDates[timeframeFilter])\n }\n return { startDate, endDate }\n}\n\nexport const populateDateArray = {\n month: populateDataByMonth,\n week: populateDataByWeek,\n day: populateDataByDay\n}\n\nexport function computeDateLabelForData (data, widget, includeFuture = false) {\n const dataset = data.data || data // we want to be able to handle both cases\n let timeframeFilter\n if (widget.config) {\n timeframeFilter = widget.config.filters ? widget.config.filters.timeframe : widget.config.timeframeFilter\n }\n timeframeFilter = timeframeFilter || \"noFilter\"\n const { startDate, endDate } = includeFuture\n ? getStartAndEndDatesIncludingFuture(data, timeframeFilter)\n : getStartAndEndDates(data, timeframeFilter)\n let timeframe = \"day\"\n if (dataset && dataset.length > 0) {\n if (\"created_at__week\" in dataset[0]) timeframe = \"week\"\n else if (\"created_at__month\" in dataset[0]) timeframe = \"month\"\n } else {\n const dateRangeInDays = moment(endDate).diff(moment(startDate), \"days\")\n if (dateRangeInDays > 30) timeframe = \"month\"\n }\n const dateArray = createdDateArray(startDate, timeframe, endDate)\n return populateDateArray[timeframe](dateArray, dataset)\n}\n\nexport function createdDateArray (startDate, timeframe, endDate = null, increment = 1) {\n const dateList = []\n const today = moment().endOf(\"day\").toDate()\n const dateMove = new Date(startDate)\n let convertedStartDate = new Date(startDate)\n let convertedEndDate = endDate\n if (!convertedEndDate) {\n const mapping = {\n day: today,\n week: moment().endOf(\"week\"),\n noFilter: moment().endOf(\"week\")\n }\n if (timeframe in mapping) convertedEndDate = mapping[timeframe]\n else convertedEndDate = moment().endOf(\"month\").toDate()\n }\n const dateRangeInDays = moment(convertedEndDate).diff(moment(convertedStartDate), \"days\")\n while (convertedStartDate <= convertedEndDate) {\n // starting from convertedStartDate until we reach end date, we add the dates to the list and\n // loop(and skip some dates) based on timeframe and the increment value passed\n convertedStartDate = dateMove\n if (timeframe === \"day\") {\n // Below condition is used to exclude saturday and sunday from dates\n // Note: if timeframe value is 'today' or 'yesterday' and if this date falls on saturday or sunday, don't exclude.\n if ((dateMove.getDay() !== 6 && dateMove.getDay() !== 0) || dateRangeInDays <= 1) {\n dateList.push(new Date(dateMove.toISOString()))\n }\n dateMove.setDate(dateMove.getDate() + increment) // days are incremented by increment number passed\n } else {\n dateList.push(new Date(dateMove.toISOString()))\n if (timeframe === \"week\") {\n dateMove.setDate(dateMove.getDate() + 7) // days are incremented by a week\n } else {\n dateMove.setMonth(dateMove.getMonth() + increment) // months are incremented by increment number passed\n }\n }\n }\n return dateList\n}\n\nexport function transformDateRange (value) {\n const startDate = value && value.start ? moment(value.start) : moment(\"1970-01-01\")\n const endDate = value && value.end ? moment(value.end) : moment().endOf(\"month\")\n return formatDateRange(startDate, endDate)\n}\n\nexport function getUsername (item, baseField = \"user\") {\n return item[baseField + \"__first_name\"] + \" \" + item[baseField + \"__last_name\"]\n}\n\nexport function wordWrap (s, w) {\n if (!s) {\n return \"\"\n }\n const splitChar = \"{{cut}}\"\n return (\"\" + s).replace(new RegExp(`(?![^\\\\n]{1,${w}}$)([^\\\\n]{1,${w}})\\\\s`, \"g\"), \"$1\" + splitChar).split(splitChar)\n}\n\nconst wordSlice = (word, fontSize) => {\n const estimatedYAxesWidth = 300\n const maxWordLength = Math.round(estimatedYAxesWidth / fontSize)\n\n return word.length > maxWordLength ? `${word.slice(0, maxWordLength)}...` : word\n}\n\nexport function getDefaultLineChartOptions (widget, config = {}) {\n return {\n addLabel: config.addLabel,\n scales: {\n yAxes: [{\n ticks: {\n beginAtZero: true,\n maxTicksLimit: 4,\n max: config.maxCount\n }\n }],\n xAxes: [{\n categoryPercentage: 3,\n barPercentage: 0.8,\n maxBarThickness: 60,\n minBarLength: 2,\n gridLines: {\n display: false\n },\n ticks: {\n callback: function (label) {\n return wordWrap(label, 25)\n }\n }\n }]\n },\n maintainAspectRatio: false,\n responsive: true,\n legend: {\n display: config.legend ? config.legend : false\n },\n tooltips: {\n callbacks: {\n title: function (tooltipitem) {\n tooltipitem = tooltipitem[0]\n return tooltipitem.xLabel\n }\n },\n backgroundColor: colors.white,\n cornerRadius: 12,\n titleFontColor: colors.slate80,\n bodyFontColor: colors.slate80\n },\n plugins: {\n datalabels: {\n display: false\n }\n }\n }\n}\n\nconst showDataLabelOutside = (context) => {\n for (const contextMeta of Object.values(context.dataset._meta)) {\n const dataWidth = contextMeta.data[context.dataIndex]._model.x\n if (dataWidth < 215) {\n return true\n }\n }\n return false\n}\n\nexport function getDefaultHorizontalBarChartOptions (config, vueComponent, configOptions = {}) {\n const chartData = vueComponent.chartData\n let fontSize = 12\n if (chartData) {\n const totalDataLength = chartData.labels.length\n // The font size is dynamic with the no. of labels we display, but to a max value of 12px\n fontSize = Math.min(Math.floor(400 / totalDataLength), 12)\n }\n\n const disableChartClickBehavior = configOptions.disableChartClickBehavior || false\n\n const labelAdd = config && config.addLabel ? config.addLabel : \"\"\n return {\n scales: {\n xAxes: [{\n ticks: {\n beginAtZero: true,\n callback: function (label) {\n return label + labelAdd\n },\n maxTicksLimit: 8\n },\n gridLines: {\n // display: false\n },\n barPercentage: 1.0\n }],\n yAxes: [{\n maxBarThickness: 60,\n gridLines: {\n display: false\n },\n afterFit: function (scaleInstance) {\n scaleInstance.width = 180 // sets the width to 100px\n },\n ticks: {\n fontSize,\n lineHeight: 1,\n callback: function (label) {\n return wordSlice(label, fontSize)\n }\n }\n }]\n },\n tooltips: {\n enabled: configOptions.showTooltip || false,\n callbacks: {\n title () {\n },\n label: function (tooltipItem, data) {\n let result = tooltipItem.yLabel + \": \" + tooltipItem.value + labelAdd\n try {\n const dataset = data.datasets[tooltipItem.datasetIndex]\n if (dataset.absolut && dataset.absolut[tooltipItem.index]) {\n result += \" (\"\n result += dataset.absolut[tooltipItem.index]\n result += \")\"\n }\n } catch (e) {\n console.error(e)\n }\n return result\n }\n },\n backgroundColor: colors.white,\n cornerRadius: 12,\n titleFontColor: colors.slate80,\n bodyFontColor: colors.slate80,\n displayColors: colors.bricklight\n },\n elements: {\n rectangle: {\n borderWidth: 2\n }\n },\n maintainAspectRatio: false,\n responsive: true,\n legend: {\n display: false\n },\n plugins: {\n datalabels: {\n borderRadius: 12,\n padding: {\n bottom: 2\n },\n font: {\n family: \"'Helvetica', 'Arial', sans-serif, 'Font Awesome 5 Free'\",\n weight: 540,\n size: fontSize\n },\n color: (context) => showDataLabelOutside(context) ? colors.slate80 : colors.white,\n backgroundColor: (context) => {\n if (showDataLabelOutside(context)) {\n return colors.slate10\n }\n return context.hovered ? colors.white20 : \"\"\n },\n anchor: (context) => showDataLabelOutside(context) ? \"end\" : \"center\",\n align: (context) => showDataLabelOutside(context) ? \"right\" : \"center\",\n formatter: (value, context) => {\n value = `${value}${labelAdd}`\n return (context.hovered || context.active) && !disableChartClickBehavior ? `${value} \\uf054` : value\n },\n\n listeners: {\n click: (context) => {\n if (!disableChartClickBehavior) configOptions.dataLabelClickCallBack(context.dataIndex)\n },\n enter: (context) => {\n context.hovered = true\n context.chart.canvas.style.cursor = \"pointer\"\n return true\n },\n leave: (context) => {\n context.hovered = false\n context.chart.canvas.style.cursor = \"default\"\n return true\n }\n }\n }\n }\n }\n}\n\nexport const timeframes = {\n static: \"Custom\",\n today: \"today\",\n yesterday: \"yesterday\",\n last7Days: \"since last 7 days\",\n thisWeek: \"in this week\",\n lastWeek: \"in last week\",\n last14Days: \"since last 14 days\",\n thisMonth: \"in this month\",\n lastMonth: \"in last month\",\n last30Days: \"since last 30 days\",\n thisYear: \"in this year\",\n lastYear: \"in last year\",\n last12Months: \"since last 12 months\"\n}\n\nexport function getTranslatedTimeframes () {\n return store.getters[\"I18nStore/getI18n\"](\"Timeframes\", timeframes)\n}\n\nexport const userFilters = {\n me: \"Me\",\n team: \"Team (excl. me)\"\n}\n\nexport function getTranslatedUserFilters () {\n return store.getters[\"I18nStore/getI18n\"](\"UserFilterOptions\", userFilters)\n}\n\nexport function getBurntUpChartData (data, goal) {\n /***\n * This function computes the data series for actual and ideal growth\n * Actual growth is computed as incremental values(like step)\n * Ideal growth is computed based on the goal and the length of the data\n */\n const idealDataPerDay = goal / data.length\n let previousCount = 0\n const idealSeries = []\n const actualSeries = []\n const labels = []\n for (const index in data) {\n idealSeries.push((idealDataPerDay * (parseInt(index) + 1)).toFixed(2))\n const actualData = data[index].actualData !== null ? previousCount + data[index].actualData : data[index].actualData\n actualSeries.push(actualData)\n labels.push(data[index].text)\n previousCount = actualData\n }\n return { idealSeries, actualSeries, labels }\n}\n\nexport const getDefaultConfigOptions = (options = {}) => {\n return new WidgetConfigOptions({\n value: null,\n showLabel: true,\n multiselect: false,\n required: false,\n showDelete: true,\n ...options\n })\n}\n\nexport class WidgetConfigOptions {\n constructor (newConfigOptions = null, widget = null) {\n this.handleNewConfig(newConfigOptions)\n this.updateWidget(widget)\n }\n\n handleNewConfig (newConfigOptions) {\n if (newConfigOptions instanceof WidgetConfigOptions) {\n // we might get a WidgetConfigOptions itself, then we transform it accordingly\n this.internalConfig = newConfigOptions.internalConfig\n } else {\n this.internalConfig = newConfigOptions\n }\n if (!newConfigOptions) {\n this.internalConfig = new WidgetConfigOptions(getDefaultConfigOptions())\n }\n }\n\n get fieldName () {\n return this.internalConfig.fieldName || null\n }\n\n get label () {\n return this.internalConfig.label || null\n }\n\n get value () {\n return this.internalConfig.value\n }\n\n set value (newVal) {\n this.internalConfig.value = newVal\n }\n\n get type () {\n return this.internalConfig.type || null\n }\n\n isType (type) {\n return !!this.internalConfig.type && !!type && this.internalConfig.type === type\n }\n\n get rawConfig () {\n return this.internalConfig\n }\n\n get multiselect () {\n return this.internalConfig.multiselect || null\n }\n\n get required () {\n return !!this.internalConfig.required\n }\n\n get showDelete () {\n return \"showDelete\" in this.internalConfig ? this.internalConfig.showDelete : true\n }\n\n get showLabel () {\n return \"showLabel\" in this.internalConfig ? this.internalConfig.showLabel : true\n }\n\n get options () {\n return \"options\" in this.internalConfig ? this.internalConfig.options : []\n }\n\n updateWidget (widget) {\n this.widget = widget\n if (!widget) return // dont parse anything if nothing is there\n this.parseWidgetConfig()\n }\n\n parseWidgetConfig () {\n const existingConfig = this.widget.config || {}\n if (this.internalConfig.fieldName && this.internalConfig.fieldName in existingConfig) {\n this.internalConfig.value = existingConfig[this.internalConfig.fieldName]\n }\n }\n\n get isCriteriaOptions () {\n return this.type === \"criteriaOptions\"\n }\n\n get isText () {\n return this.type === \"text\"\n }\n\n get isNumber () {\n return this.type === \"number\"\n }\n\n get isTextArea () {\n return this.type === \"textarea\"\n }\n\n get isPlaybookFilter () {\n return this.type === \"playbookFilter\"\n }\n\n get isPlaybookItemFilter () {\n return this.type === \"playbookItemFilter\"\n }\n\n get isAnswerFilter () {\n return this.type === \"answerFilter\"\n }\n\n get isTimeframeFilter () {\n return this.type === \"timeframeFilter\"\n }\n\n get enableGrouping () {\n return \"enableGrouping\" in this.internalConfig ? this.internalConfig.enableGrouping : false\n }\n\n get isPlaybookAndPlaybookItemFilter () {\n return this.type === \"playbookAndPlaybookItemFilter\"\n }\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:['bao-widget-filter w-100 d-flex', { 'advanced-filters' : _vm.isOpenFromAdvancedFilters }]},[_c('div',{staticClass:\"filter-body w-100\"},[_c('label',{staticClass:\"w-100 d-flex justify-content-between filter-title\",attrs:{\"id\":\"label-duration-filter-202112211245\",\"for\":\"duration-filter-202112211245\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.durationFilterLabel)+\" \"+_vm._s(_vm.staticText.timeframeLabel)+\" \")]),_c('b-form-row',{staticClass:\"mb-1 w-100 d-flex\"},[_c('div',{staticClass:\"w-50 p-1 inner-label-form\",class:{ 'error-class': _vm.errorMessage }},[_c('label',{staticClass:\"my-auto inner-label\",attrs:{\"for\":\"duration-min-id-202205261600\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.minCallDuration)+\" \")]),_c('b-form-input',{attrs:{\"id\":\"duration-min-id-202205261600\",\"placeholder\":_vm.staticText.minCallDuration,\"type\":\"number\",\"min\":\"0\",\"oninput\":\"validity.valid||(minValue=0)\"},on:{\"change\":_vm.handleFilterChanged},model:{value:(_vm.minValue),callback:function ($$v) {_vm.minValue=$$v},expression:\"minValue\"}})],1),_c('div',{staticClass:\"w-50 p-1 inner-label-form\",class:{ 'error-class': _vm.errorMessage }},[_c('label',{staticClass:\"my-auto inner-label\",attrs:{\"for\":\"duration-max-id-202205261600\"}},[_vm._v(\" \"+_vm._s(_vm.staticText.maxCallDuration)+\" \")]),_c('b-form-input',{attrs:{\"id\":\"duration-max-id-202205261600\",\"placeholder\":_vm.staticText.maxCallDuration,\"type\":\"number\",\"min\":\"1\",\"oninput\":\"validity.valid||(maxValue=1)\"},on:{\"change\":_vm.handleFilterChanged},model:{value:(_vm.maxValue),callback:function ($$v) {_vm.maxValue=$$v},expression:\"maxValue\"}})],1)]),(_vm.errorMessage)?_c('p',{staticClass:\"filter-error-text\"},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1),_c('div',{staticClass:\"ml-3 filter-delete\",on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('delete')}}},[(!_vm.isOpenFromAdvancedFilters)?_c('i',{staticClass:\"fa fa-trash my-auto\"}):_c('svg',{attrs:{\"width\":\"7\",\"height\":\"7\",\"viewBox\":\"0 0 7 7\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"svg-inline\":'',\"role\":'presentation',\"focusable\":'false',\"tabindex\":'-1'}},[_c('mask',{attrs:{\"id\":\"a\",\"fill\":\"#fff\"}},[_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\"}})]),_c('path',{attrs:{\"d\":\"M7 .705L6.295 0 3.5 2.795.705 0 0 .705 2.795 3.5 0 6.295.705 7 3.5 4.205 6.295 7 7 6.295 4.205 3.5 7 .705z\",\"fill\":\"#000\",\"fill-opacity\":\".5\"}}),_c('path',{attrs:{\"d\":\"M7 .705l.707.707.707-.707-.707-.707L7 .705zM6.295 0l.707-.707-.707-.707-.707.707.707.707zM3.5 2.795l-.707.707.707.707.707-.707-.707-.707zM.705 0l.707-.707-.707-.707-.707.707L.705 0zM0 .705l-.707-.707-.707.707.707.707L0 .705zM2.795 3.5l.707.707.707-.707-.707-.707-.707.707zM0 6.295l-.707-.707-.707.707.707.707L0 6.295zM.705 7l-.707.707.707.707.707-.707L.705 7zM3.5 4.205l.707-.707L3.5 2.79l-.707.707.707.707zM6.295 7l-.707.707.707.707.707-.707L6.295 7zM7 6.295l.707.707.707-.707-.707-.707L7 6.295zM4.205 3.5l-.707-.707-.707.707.707.707.707-.707zM7.707-.002l-.705-.705L5.588.707l.705.705L7.707-.002zm-2.12-.705L2.794 2.088l1.414 1.414L7.002.707 5.588-.707zm-1.38 2.795L1.412-.707-.002.707l2.795 2.795 1.414-1.414zM-.003-.707l-.704.705L.707 1.412l.705-.705L-.002-.707zm-.704 2.12l2.795 2.794 1.414-1.414L.707-.002-.707 1.412zm2.795 1.38L-.707 5.588.707 7.002l2.795-2.795-1.414-1.414zm-2.795 4.21l.705.704 1.414-1.414-.705-.705-1.414 1.414zm2.12.704l2.794-2.795-1.414-1.414-2.795 2.795 1.414 1.414zm1.38-2.795l2.795 2.795 1.414-1.414-2.795-2.795-1.414 1.414zm4.21 2.795l.704-.705-1.414-1.414-.705.705 1.414 1.414zm.704-2.12L4.912 2.794 3.498 4.207l2.795 2.795 1.414-1.414zm-2.795-1.38l2.795-2.795L6.293-.002 3.498 2.793l1.414 1.414z\",\"fill\":\"#2A2D52\",\"fill-opacity\":\".01\",\"mask\":\"url(#a)\"}})])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./DurationFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./DurationFilter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DurationFilter.vue?vue&type=template&id=5f694e0a&scoped=true&\"\nimport script from \"./DurationFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./DurationFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DurationFilter.vue?vue&type=style&index=0&id=5f694e0a&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5f694e0a\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/vue-svg-inline-loader/src/index.js!./BaoWidgetFilterContainer.vue?vue&type=style&index=0&id=e8f5b090&prod&lang=scss&\"","const BASE_URL = process.env.VUE_APP_BASEURL\nexport const canDebug = BASE_URL && BASE_URL.includes(\"localhost\")\n\nexport const debug = {\n log: (...params) => {\n if (canDebug) {\n console.log(...params)\n console.trace(\"Traceback:\")\n }\n }\n}\n\nexport const getCallIdFromURL = () => {\n return new Promise((resolve) => {\n const MAX_RETRIES = 10\n const retryDelay = 1000\n let retries = 0\n\n const extractCallId = () => {\n const match = window.location.href.match(/\\/(\\d+)(?:\\?|$)/)\n if (match) {\n console.log(\"Found call ID:\", parseInt(match[1]))\n resolve(parseInt(match[1]))\n } else if (retries < MAX_RETRIES) {\n retries++\n console.log(\"Failed to find call ID in URL, retrying in\", retryDelay, \"ms\")\n setTimeout(extractCallId, retryDelay)\n } else {\n console.log(\"Failed to find call ID in URL after\", MAX_RETRIES, \"retries\")\n resolve(null)\n }\n }\n\n extractCallId()\n })\n}\n\nconst cookieString = (cname, cvalue) => {\n return cname + \"=\" + cvalue + \";SameSite=None;Secure;domain=\" + location.hostname + \";path=/\"\n}\n\nexport const removeCookie = (cname) => {\n const cookie = getCookie(cname)\n if (cookie) {\n document.cookie = cookieString(cname) + \";Expires=Thu, 01 Jan 1970 00:00:00 GMT\"\n }\n}\n\n// source: https://www.w3schools.com/js/js_cookies.asp\nexport const getCookie = (cname) => {\n const name = cname + \"=\"\n const decodedCookie = decodeURIComponent(document.cookie)\n const ca = decodedCookie.split(\";\")\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i]\n while (c.charAt(0) === \" \") {\n c = c.substring(1)\n }\n if (c.indexOf(name) === 0) {\n return c.substring(name.length, c.length)\n }\n }\n return \"\"\n}\n\nexport const setCookie = (cname, cvalue) => {\n document.cookie = cookieString(cname, cvalue)\n}\n"],"sourceRoot":""}