{"version":3,"sources":["../lib/utils/instanceTable.ts","../lib/utils/routing.ts","../lib/apps/UserProfile/translations sync nonrecursive //.yaml$","../lib/apps/UserProfile/translations/en.yaml","../lib/apps/UserProfile/translations/zh.yaml","../lib/apps/Overview/translations sync nonrecursive //.yaml$","../lib/apps/Overview/translations/en.yaml","../lib/apps/Overview/translations/zh.yaml","../lib/apps/ClusterInfo/translations sync nonrecursive //.yaml$","../lib/apps/ClusterInfo/translations/en.yaml","../lib/apps/ClusterInfo/translations/zh.yaml","../lib/apps/KeyViz/translations sync nonrecursive //.yaml$","../lib/apps/KeyViz/translations/en.yaml","../lib/apps/KeyViz/translations/zh.yaml","../lib/apps/Statement/translations sync nonrecursive //.yaml$","../lib/apps/Statement/translations/en.yaml","../lib/apps/Statement/translations/zh.yaml","../lib/apps/SlowQuery/translations sync nonrecursive //.yaml$","../lib/apps/SlowQuery/translations/en.yaml","../lib/apps/SlowQuery/translations/zh.yaml","../lib/apps/Diagnose/translations sync nonrecursive //.yaml$","../lib/apps/Diagnose/translations/en.yaml","../lib/apps/Diagnose/translations/zh.yaml","../lib/apps/SearchLogs/translations sync nonrecursive //.yaml$","../lib/apps/SearchLogs/translations/en.yaml","../lib/apps/SearchLogs/translations/zh.yaml","../lib/apps/InstanceProfiling/translations sync nonrecursive //.yaml$","../lib/apps/InstanceProfiling/translations/en.yaml","../lib/apps/InstanceProfiling/translations/zh.yaml","../lib/apps/ContinuousProfiling/translations sync nonrecursive //.yaml$","../lib/apps/ContinuousProfiling/translations/en.yaml","../lib/apps/ContinuousProfiling/translations/zh.yaml","../lib/apps/QueryEditor/translations sync nonrecursive //.yaml$","../lib/apps/QueryEditor/translations/en.yaml","../lib/apps/QueryEditor/translations/zh.yaml","../lib/apps/Configuration/translations sync nonrecursive //.yaml$","../lib/apps/Configuration/translations/en.yaml","../lib/apps/Configuration/translations/zh.yaml","../lib/apps/DebugAPI/translations sync nonrecursive //.yaml$","../lib/apps/DebugAPI/translations/en.yaml","../lib/components/BaseSelect/index.module.less","../lib/apps/DebugAPI/translations/zh.yaml","../dashboardApp/layout/translations sync nonrecursive //.yaml$","../dashboardApp/layout/translations/en.yaml","../dashboardApp/layout/translations/zh.yaml","publicPath.ts","sentry.ts","../lib/utils/registry.ts","../lib/utils/appOptions.ts","../dashboardApp/layout/main/Sider/logo-icon-light.svg","../dashboardApp/layout/main/Sider/Banner.tsx","../dashboardApp/layout/main/Sider/index.tsx","../dashboardApp/layout/main/index.tsx","../dashboardApp/layout/signin/logo.svg","../dashboardApp/layout/signin/index.tsx","../lib/utils/authSSO.ts","../lib/apps/UserProfile/index.meta.ts","../lib/apps/Overview/index.meta.ts","../lib/apps/ClusterInfo/index.meta.ts","../lib/apps/KeyViz/index.meta.ts","../lib/apps/Statement/index.meta.ts","../lib/apps/SlowQuery/index.meta.ts","../lib/apps/Diagnose/index.meta.ts","../lib/apps/SearchLogs/index.meta.ts","../lib/apps/InstanceProfiling/index.meta.ts","../lib/apps/ContinuousProfiling/index.meta.ts","../lib/apps/QueryEditor/index.meta.ts","../lib/apps/Configuration/index.meta.ts","../lib/apps/DebugAPI/index.meta.ts","../dashboardApp/index.ts","../lib/components/Bar/Bar.module.less","../dashboardApp/layout/main/Sider/Banner.module.less","../lib/utils/store.ts","../lib/components/Head/index.module.less","../lib/utils/sentryHelpers.ts","../lib/components/CardTable/index.module.less","../lib/components/TimeRangeSelector/index.module.less","../lib/components/Root/index.tsx","../lib/components/Head/index.tsx","../lib/components/Card/index.tsx","../lib/components/AnimatedSkeleton/index.tsx","../lib/components/ErrorBar/index.tsx","../lib/components/CardTable/GroupHeader.tsx","../lib/components/CardTable/index.tsx","../lib/components/Bar/Bar.tsx","../lib/components/Bar/index.tsx","../lib/components/Pre/index.tsx","../lib/components/HighlightSQL/index.tsx","../lib/components/TextWrap/index.tsx","../lib/components/Descriptions/index.tsx","../lib/components/TextWithInfo/index.tsx","../lib/components/Expand/index.tsx","../lib/components/MetricChart/index.tsx","../lib/components/ColumnsSelector/index.tsx","../lib/components/Toolbar/index.tsx","../lib/components/DatePicker/index.tsx","../lib/components/TimeRangeSelector/index.tsx","../lib/components/InstanceStatusBadge/index.tsx","../lib/components/BaseSelect/index.tsx","../lib/utils/selectionWithFilter.ts","../lib/components/InstanceSelect/TableWithFilter.tsx","../lib/components/InstanceSelect/DropOverlay.tsx","../lib/components/InstanceSelect/ValueDisplay.tsx","../lib/components/InstanceSelect/index.tsx","../lib/components/MultiSelect/DropOverlay.tsx","../lib/components/MultiSelect/index.tsx","../lib/components/MultiSelect/Plain.tsx","../lib/components/ValueWithTooltip/index.tsx","../lib/components/AppearAnimate/index.tsx","../lib/components/Blink/index.tsx","../lib/components/ParamsPageWrapper/index.tsx","../lib/utils/useClientRequest.ts","../lib/components/Descriptions/index.module.less","../lib/components/DateTime/Long.tsx","../lib/components/DateTime/Calendar.tsx","../lib/components/DateTime/calendarPlugin.ts","../lib/components/DateTime/index.tsx","../lib/components/CopyLink/index.tsx","../lib/utils/query.ts","../lib/components/CardTabs/index.tsx","../lib/utils/publicPathPrefix.ts","../lib/components/LanguageDropdown/index.tsx","../lib/components/Toolbar/index.module.less","../dashboardApp/layout/main/index.module.less","../lib/components/CardTabs/index.module.less","../lib/components/Pre/index.module.less","../lib/components/TextWrap/index.module.less","../lib/components/ColumnsSelector/index.module.less","../lib/utils/useLocalStorageState.ts","../lib/utils/sqlFormatter/TiDBSQLFormatter.ts","../lib/utils/sqlFormatter/index.ts","../lib/utils/useQueryParams.ts","../lib/utils/i18n.ts","../lib/components/AnimatedSkeleton/index.module.less","../lib/components/CopyLink/index.module.less","../lib/components/InstanceSelect/TableWithFilter.module.less","../lib/components/Blink/index.module.less","../dashboardApp/layout/main/Sider/index.module.less","../dashboardApp/layout/signin/index.module.less","../lib/client/index.tsx","../lib/client/api/base.ts","../lib/client/api/api.ts","../lib/client/baseUrl.ts","../lib/client/translations sync nonrecursive //.yaml$","../lib/client/translations/en.yaml","../lib/client/translations/zh.yaml","../node_modules/regenerate-unicode-properties sync /^/.//.*/.js$","../lib/utils/auth.ts","../lib/components/Card/index.module.less"],"names":["InstanceStatus","Unreachable","Up","Tombstone","Offline","Down","InstanceKindName","pd","i18next","t","tidb","tikv","tiflash","InstanceKinds","Object","keys","buildInstanceTable","dataPD","dataTiDB","dataTiKV","dataTiFlash","includeTiFlash","tableData","groupData","startIndex","kinds","ik","instances","length","push","key","name","count","level","forEach","instance","ip","port","instanceKind","filterInstanceTable","items","filterKeyword","kw","toLowerCase","filteredItems","filter","i","indexOf","itemsByIk","_","groupBy","signInRoute","isLocationMatch","s","matchPrefix","hash","window","location","trim","isLocationMatchPrefix","isSignInPage","isPortalPage","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","resolve","module","exports","__webpack_public_path__","publicPathPrefix","sentryEnabled","console","log","process","Sentry","dsn","integrations","Integrations","BrowserTracing","tracesSampleRate","release","environment","AppRegistry","appOptions","defaultRouter","apps","app","translations","i18n","singleSpa","newReactSpaApp","reactRoot","routing","routerPrefix","registry","this","indexRoute","isDefaultRouter","mountedApps","undefined","rootComponentAsyncLoader","targetDomId","reactLifecycles","singleSpaReact","React","ReactDOM","loadRootComponent","a","component","default","domElementGetter","document","getElementById","bootstrap","mount","unmount","defAppOptions","hideNav","lang","saveAppOptions","options","localStorage","setItem","JSON","stringify","loadAppOptions","getItem","opt","parse","constructor","_extends","assign","target","arguments","source","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","createElement","className","d","_ref","svgRef","title","props","viewBox","style","enableBackground","ref","ForwardRef","forwardRef","ToggleBanner","fullWidth","collapsedWidth","collapsed","onToggle","useTranslation","bannerRef","useRef","bannerSize","useSize","transBanner","useSpring","opacity","height","transButton","left","width","appInfo","store","useState","version","useMemo","standalone","internal_version","vPrefix","build_git_hash","substr","pd_version","parseVersion","styles","banner","onClick","div","bannerLeftAnimationWrapper","bannerLeft","flexDirection","bannerLogo","bannerContent","bannerTitle","bannerVersion","bannerRight","MenuUnfoldOutlined","margin","MenuFoldOutlined","useAppMenuItem","appId","hideIcon","Item","to","icon","Sider","defaultCollapsed","animationDelay","activeAppId","set","useEventListener","activeApp","getActiveApp","useActiveAppId","whoAmI","profilingSubMenuItems","debugSubMenuItems","SubMenu","AimOutlined","debugSubMenu","BugOutlined","experimentalSubMenuItems","experimentalSubMenu","ExperimentOutlined","menuItems","enable_experimental","displayName","display_name","extraMenuItems","transSider","defaultOpenKeys","sider","trigger","collapsible","theme","subMenuOpenDelay","subMenuCloseDelay","mode","selectedKeys","flexGrow","triggerResizeEvent","event","createEvent","initEvent","dispatchEvent","App","useLocalStorageState","setCollapsed","offset","setOffset","onAnimationStart","useCallback","onAnimationFrame","x","collapsedContentOffset","useEffect","contentLeftOffset","useContentLeftOffset","transContentBack","siderCollapsedWidth","onStart","onFrame","transContainer","from","delay","handleToggle","c","container","contentBack","transform","interpolate","content","marginLeft","DisplayFormType","y","xmlSpace","fill","newRandomString","text","possible","charAt","Math","floor","random","getBaseURL","protocol","host","pathname","getRedirectURL","getAuthURL","codeVerifier","state","sessionStorage","client","getInstance","userSSOGetAuthURL","resp","data","isSSOCallback","URLSearchParams","search","has","handleSSOCallbackInner","p","get","userLogin","type","AuthTypes","SSO","extra","code_verifier","redirect_url","errorStrategy","ErrorStrategy","Custom","r","removeItem","auth","token","replace","handleSSOCallback","error","okText","onOk","AlternativeAuthLink","cx","extraLink","clickable","LockOutlined","LanguageDrop","LanguageDropdown","GlobalOutlined","DownOutlined","AlternativeFormButton","description","restProps","alternativeButton","Text","ArrowRightOutlined","AlternativeAuthForm","onClose","onSwitchForm","supportedAuthTypes","alternativeFormLayer","dialogContainer","dialog","justifyContent","alignItems","alternativeCloseButton","CloseOutlined","tidbCredential","shareCode","Boolean","sso","useSignInSubmit","successRoute","fnLoginForm","onSuccess","onFailure","loading","setLoading","setError","clearErrorMsg","handleSubmit","usePersistFn","form","message","success","handled","errMsg","msg","isDistro","errCode","errComp","href","errorMsg","TiDBSignInForm","onClickAlternative","enableNonRootLogin","useForm","refForm","refPassword","username","password","SQLUser","setFieldsValue","setTimeout","current","focus","useMount","lastLoginUsername","onFinish","layout","initialValues","logo","label","rules","required","tooltip","onInput","prefix","UserOutlined","disabled","data-e2e","help","validateStatus","KeyOutlined","htmlType","size","signInButton","block","CodeSignInForm","SharingCode","allowClear","SSOSignInForm","isLoading","setIsLoading","handleSignIn","url","getDefaultRouter","alternativeVisible","setAlternativeVisible","uninitialized","formType","setFormType","setSupportedAuthTypes","setEnableNonoRootLogin","handleClickAlternative","handleAlternativeClose","handleSwitchForm","k","userGetLoginInfo","loginInfo","supported_auth_types","enable_non_root_login","reload","run","contantContainer","motionName","CSSMotion","visible","landing","require","AppstoreOutlined","ClusterOutlined","EyeOutlined","ThunderboltOutlined","RocketOutlined","SafetyCertificateOutlined","FileSearchOutlined","ConsoleSqlOutlined","ToolOutlined","ApiOutlined","removeSpinner","spinner","remove","webPageStart","changeLanguage","mustLoadAppInfo","info","enable_telemetry","initSentryRoutingInstrument","getAxiosInstance","applySentryTracingInterceptor","NProgress","configure","showSpinner","addEventListener","done","LayoutMain","LayoutSignIn","register","AppUserProfile","AppOverview","AppClusterInfo","AppKeyViz","AppStatement","AppSlowQuery","AppDiagnose","AppSearchLogs","AppInstanceProfiling","AppContinuousProfiling","AppQueryEditor","AppConfiguration","AppDebugAPI","reloadWhoAmI","handlePortalEvent","redirectPath","removeEventListener","main","Store","useIsWriteable","is_writeable","getAuthToken","update","infoWhoami","infoGet","authEvents","on","EVENT_TOKEN_CHANGED","firstMountTransaction","transactionHub","Map","markStart","op","transaction","traceId","markEnd","finish","delete","markTag","value","setTag","reportError","newUrlHash","detail","newUrl","oldUrlHash","oldUrl","stripQueryString","appsByNewStatus","MOUNTED","join","NOT_MOUNTED","interceptors","request","use","config","method","toUpperCase","headers","response","status","Promise","reject","registerIcons","icons","SortUp","ArrowUpOutlined","SortDown","ArrowDownOutlined","chevronrightmed","RightOutlined","tag","createTheme","defaultFontStyle","fontFamily","fontSize","Root","children","locale","language","enUS","zhCN","Customizations","applySettings","Head","titleExtra","back","footer","rest","headContainer","headInner","headTitleSection","headBack","headTitle","headContent","headFooter","Card","subTitle","noMargin","noMarginTop","noMarginBottom","noMarginLeft","noMarginRight","cardContainer","cardInner","hasTitle","cardTitleSection","cardTitle","cardSubTitle","cardTitleSpacer","cardTitleExtra","cardContent","memo","showSkeleton","skeletonAppears","setSkeletonAppears","v","skeletonAnimationFirstTime","skeletonAnimationNotFirstTime","active","paragraph","rows","ErrorBar","errors","errorMsgs","uniq","err","slice","showIcon","idx","getClassNames","classNamesFunction","AntCheckboxGroupHeader","styled","_classNames","selected","isCollapsed","group","compact","_onHeaderClick","onToggleSelectGroup","_onToggleSelectGroupClick","ev","preventDefault","stopPropagation","_onToggleCollapse","onToggleCollapse","root","viewport","minWidth","FocusZone","groupHeaderContainer","direction","FocusZoneDirection","horizontal","check","selectAllButtonProps","checked","GroupSpacer","indentWidth","groupLevel","expand","expandButtonProps","expandIsCollapsed","iconName","getStyles","scope","renderStickyHeader","defaultRender","Sticky","stickyPosition","StickyPositionType","Header","isScrollSynced","tableHeader","renderCheckbox","ImprovedDetailsList","DetailsList","onRenderDetailsHeader","onRenderCheckbox","customName","whyDidYouRender","MemoDetailsList","CardTable","hideLoadingWhenNotEmpty","cardExtra","cardNoMargin","cardNoMarginTop","extendLastColumn","visibleColumnKeys","visibleItemsCount","orderBy","desc","onChangeOrder","onRowClicked","clickedRowIndex","columns","onRenderRow","renderClickableRow","clickedRowIdx","customRender","clickableTableRow","highlightRow","itemIndex","item","useRenderClickableRow","onColumnClick","_ev","column","finalColumns","newColumns","isResizable","isSorted","isSortedDescending","columnActionsMode","ColumnActionsMode","maxWidth","onRender","_rec","finalItems","newItems","curColumn","find","col","columnKey","sort","b","copyAndSort","fieldName","tableRef","scrollToIndex","cardTable","contentExtended","cardTableContent","selectionMode","SelectionMode","none","constrainMode","ConstrainMode","unconstrained","layoutMode","DetailsListLayoutMode","justified","componentRef","Bar","colors","capacity","min","max","textWidth","clampedValues","Array","sum","clamp","valuesSum","bar_container","bar","backgroundColor","error_bar","min_bar","max_bar","Pre","noWrap","pre","preNoWrap","SyntaxHighlighter","registerLanguage","sql","moize","react","formattedSql","f","formatSql","lightTheme","darkTheme","customStyle","background","padding","overflowX","PreTag","maxSize","TextWrap","multiline","multiLine","singleLine","mapItem","itemMultiline","itemSingleline","Descriptions","realChildren","descriptions","isArray","colon","TextWithInfo","textWithIcon","textWithColor","placement","Icon","WarningOutlined","InfoCircleOutlined","TransKey","transKey","defaultValue","fallbackLng","Expand","collapsedContent","expanded","en","expandText","collapseText","zh","addTranslationResource","expandLink","Link","api","metrics","prom_not_found","components","metricChart","changePromButton","getTimeParams","beginTimeSec","Date","now","endTimeSec","MetricChart","series","unit","timeParams","useBatchClientRequest","reqConfig","metricsQueryGet","query","sendRequest","useInterval","inner","valueFormatter","getValueFormat","dataBySeries","seriesIdx","result","rData","format","metric","values","stack","showSymbol","getSeriesProps","xAxis","splitLine","show","minorSplitLine","splitNumber","boundaryGap","axisLabel","formatter","dayjs","showMinLabel","showMaxLabel","axisLine","lineStyle","axisTick","legend","orient","yAxis","axisPointer","animation","snap","axisValue","marker","seriesName","grid","top","right","bottom","containLabel","every","zip","echarts","lazyUpdate","option","ReloadOutlined","LoadingOutlined","trigger_text","select","reset","columnsSelector","ColumnsSelector","defaultVisibleColumnKeys","onChange","foot","indeterminate","setIndeterminate","checkedAll","setCheckedAll","filteredColumns","visibleKeys","reduce","acc","cur","handleCheckChange","newVisibleKeys","columnKeys","checkedKeysCount","updateCheckAllStatus","title_container","marginTop","maxHeight","overflow","paddingTop","paddingBottom","foot_container","cursor","Toolbar","toolbar_container","Children","child","isValidElement","extraClassName","left_space","right_space","cloneElement","DatePicker","generatePicker","dayjsGenerateConfig","RangePicker","RECENT_SECONDS","DEFAULT_TIME_RANGE","calcTimeRange","timeRange","t2","unix","stringifyTimeRange","dropdownVisible","setDropdownVisible","rangePickerValue","sec","handleRecentChange","seconds","handleRangePickerChange","dropdownContent","dropdown_content_container","usual_time_ranges","time_range_items","tabIndex","time_range_item","time_range_item_active","custom_time_ranges","showTime","overlay","onVisibleChange","ClockCircleOutlined","up","down","tombstone","offline","unknown","unreachable","instanceStatusBadge","builtinPlacements","bottomLeft","ignoreShake","points","adjustX","adjustY","dropdownRender","valueRender","placeholder","autoFocus","overlayClassName","onFocus","onBlur","onKeyDown","onOpen","onOpened","onClosed","toggleDropdownVisible","isFocused","setFocused","handleDebouncedContainerFocus","handleDebouncedContainerBlur","debouncedFocusOrBlur","debounce","isFocus","handleContainerFocus","handleContainerBlur","handleContainerKeyDown","which","KeyCode","ENTER","ESC","handleSelectorMouseDown","handleOverlayMouseDown","handlePopupVisibleChange","handleAfterPopupVisibleChange","dropdownOverlayRef","containerRef","onMouseDown","baseSelectOverlay","contains","renderedValue","displayAsPlaceholder","baseSelect","prefixCls","showAction","hideAction","popupPlacement","popupTransitionName","popup","popupVisible","onPopupVisibleChange","afterPopupVisibleChange","baseSelectInner","focused","autoComplete","baseSelectInput","readOnly","baseSelectValueDisplay","isPlaceholder","baseSelectArrow","SelectionWithFilter","_inner","_allItems","_allItemsMap","_allSelectedKeysSet","Set","_itemKeysSet","_allSelectionCache","_onSelectionChangedOriginal","onSelectionChanged","Selection","_handleSelectionChanged","index","canSelectItem","isEnabled","suppressChange","setChangeEvents","getItems","getSelection","getSelectedIndices","getSelectedCount","fromIndex","isRangeSelected","isAllSelected","isKeySelected","isIndexSelected","isSelected","shouldAnchor","setKeySelected","setIndexSelected","clearSelection","selectToKey","selectToIndex","setAllSelected","toggleKeySelected","toggleIndexSelected","toggleRangeSelected","shouldClear","clear","itemSubset","getKey","add","setItems","_triggerSelectionChanged","EventGroup","raise","SELECTION_CHANGE","unChanged","validSelectedKeysCount","selection","filterPlaceholder","onFilterChange","tableMaxHeight","tableWidth","containerProps","handleInputChange","inputRef","useImperativeHandle","focusFilterInput","containerSize","paneStyle","position","containerClassName","containerStyle","containerRestProps","tableWithFilterContainer","ScrollablePane","MarqueeSelection","isDraggingConstrainedToRoot","multiple","selectionPreservedOnEmptyClick","setKey","groupProps","onRenderHeader","filterTableRef","keyword","setKeyword","finalGroups","restContainerProps","finalContainerProps","groups","ValueDisplay","selectedKeysMap","instanceStats","all","hasUnselected","stats","n","partial","instanceSelect","useControllableValue","internalVal","setInternalVal","setInternalValPersist","enableTiFlash","defaultSelectAll","dropContainerProps","useClientRequest","getTiDBTopology","loadingTiDB","getStoreTopology","dataStores","loadingStores","getPDTopology","loadingPD","node","tableItems","getAllSelection","useShallowCompareEffect","resetAllSelection","dataHasLoaded","sel","setAllItems","setAllSelectionSelected","getInstanceByKeys","keyToItemMap","getInstanceByKey","renderValue","renderDropdown","handleOpened","typedMemo","filterFn","it","columnTitle","multiSelect","MultiSelect","selectedValueTransKey","Plain","objectItems","bytesScaler","scaledUnits","ValueWithTooltip","Short","scaledDecimal","ScaledBytes","isFirst","setIsFirst","handleAnimationEnd","Blink","activeId","blink","useQueryParams","blinkActive","ParamsPageWrapper","useLocation","reqFactory","immediate","afterRequest","beforeRequest","setState","cancelTokenSource","mounted","axios","CancelToken","cancelToken","useUnmount","cancel","reqFactories","sendRequestEach","useClientRequestWithPolling","pollingInterval","shouldPoll","pollingTimer","cancelNextPoll","clearTimeout","ret","triggerPoll","retRef","unixTimestampMs","extend","localizedFormat","LT","calendarFormat","lastDay","sameDay","nextDay","sameWeek","nextWeek","lastWeek","sameElse","calendar","referenceTime","formats","$locale","referenceStartOfDay","startOf","diff","weekDiff","week","retVal","currentFormat","weekOfYear","timezone","dateTime","longFormat","Calendar","Long","transKeys","original_sql","formatted_sql","copy","copyOriginal","copyFormatted","copyLink","displayVariant","showCopied","setShowCopied","useTimeoutFn","onCopy","copiedText","parseQueryFn","qs","json","buildQueryFn","q","toString","split","renderCardTabBar","DefaultTabBar","card_tab_navs","CardTabs","tabs","defaultActiveKey","renderTabBar","tabKey","setTabKey","selectedTab","tab","TabPane","querySelector","getAttribute","menu","ALL_LANGUAGES","attachVersion","useAhooksLocalStorageState","tokenizer","reservedWords","reservedTopLevelWords","reservedTopLevelWordsNoIndent","reservedNewlineWords","mySqlFormatter","cfg","Tokenizer","stringTypes","openParens","closeParens","indexedPlaceholderTypes","namedPlaceholderTypes","lineCommentTypes","specialWordChars","Formatter","uppercase","searchParams","_params","addTranslations","requireContext","m","match","addResourceBundle","lng","LanguageDetector","initReactI18next","init","resources","translation","distro","whitelist","interpolation","escapeValue","defaultVariables","basePath","apiClientInstance","rawAxiosInstance","BASE_PATH","COLLECTION_FORMATS","BaseAPI","configuration","globalAxios","RequiredError","field","DefaultApiAxiosParamCreator","cancelProfilingGroup","groupId","localVarPath","encodeURIComponent","String","localVarUrlObj","globalImportUrl","baseOptions","localVarRequestOptions","localVarHeaderParameter","localVarQueryParameter","apiKey","localVarApiKeyValue","headersFromBaseOptions","clusterInfoGetHostsInfo","clusterInfoGetStatistics","configurationEdit","needsSerialization","configurationGetAll","continuousProfilingActionTokenGet","continuousProfilingComponentsGet","continuousProfilingConfigGet","continuousProfilingConfigPost","continuousProfilingDownloadGet","ts","continuousProfilingEstimateSizeGet","continuousProfilingGroupProfileDetailGet","continuousProfilingGroupProfilesGet","beginTime","endTime","continuousProfilingSingleProfileViewGet","address","profileType","debugAPIGetEndpoints","debugAPIRequestEndpoint","debugApiDownloadGet","deleteProfilingGroup","diagnoseGenerateMetricsRelationship","diagnoseMetricsRelationViewGet","diagnoseReportsGet","diagnoseReportsIdDataJsGet","diagnoseReportsIdDetailGet","diagnoseReportsIdStatusGet","diagnoseReportsPost","downloadProfilingGroup","downloadProfilingSingle","getActionToken","action","getAlertManagerCounts","getAlertManagerTopology","getGrafanaTopology","getProfilingGroupDetail","getProfilingGroups","getStoreLocationTopology","infoListDatabases","infoListTables","databaseName","keyvisualConfigGet","keyvisualConfigPut","keyvisualHeatmapsGet","startkey","endkey","starttime","endtime","logsDownloadAcquireTokenGet","logsDownloadGet","logsTaskgroupPut","logsTaskgroupsGet","logsTaskgroupsIdCancelPost","logsTaskgroupsIdDelete","logsTaskgroupsIdGet","logsTaskgroupsIdPreviewGet","logsTaskgroupsIdRetryPost","metricsGetPromAddress","startTimeSec","stepSec","metricsSetCustomPromAddress","profilingConfigGet","profilingConfigPut","queryEditorRun","slowQueryDetailGet","connectId","digest","timestamp","slowQueryDownloadGet","slowQueryDownloadTokenPost","slowQueryListGet","db","fields","limit","plans","slowQueryTableColumnsGet","startProfiling","statementsConfigGet","statementsConfigPost","statementsDownloadGet","statementsDownloadTokenPost","statementsListGet","schemas","stmtTypes","statementsPlanDetailGet","schemaName","statementsPlansGet","statementsStmtTypesGet","statementsTableColumnsGet","statementsTimeRangesGet","topologyTidbAddressDelete","userGetSignOutInfo","redirectUrl","userSSOCreateImpersonation","userSSOGetConfig","userSSOListImpersonations","userSSOSetConfig","userShareSession","viewProfilingSingle","DefaultApiFp","localVarAxiosArgs","axiosRequestArgs","DefaultApi","then","API_HOST","getBasePath","initAxios","create","exists","Default","fullUrl","API","notification","includes","zIndex","applyErrorHandlerInterceptor","axiosInstance","dashboardClient","tokenKey","EventEmitter2","setAuthToken","emit","clearAuthToken","getAuthTokenAsBearer"],"mappings":"sVAWaA,EAAiB,CAC5BC,YAAa,EACbC,GAAI,EACJC,UAAW,EACXC,QAAS,EACTC,KAAM,GAGKC,EAAsD,CACjEC,GAAIC,IAAQC,EAAE,aACdC,KAAMF,IAAQC,EAAE,eAChBE,KAAMH,IAAQC,EAAE,eAChBG,QAASJ,IAAQC,EAAE,mBAGRI,EAAgBC,OAAOC,KAAKT,GAkBlC,SAASU,EAAT,GAMyD,IAL9DC,EAK6D,EAL7DA,OACAC,EAI6D,EAJ7DA,SACAC,EAG6D,EAH7DA,SACAC,EAE6D,EAF7DA,YACAC,EAC6D,EAD7DA,eAEMC,EAAkC,GAClCC,EAAsB,GACxBC,EAAa,EAEXC,EAMF,GACJA,EAAMlB,GAAKU,EACXQ,EAAMf,KAAOQ,EACbO,EAAMd,KAAOQ,EACTE,IACFI,EAAMb,QAAUQ,GAhB2C,oBAmB5CP,GAnB4C,yBAmBlDa,EAnBkD,QAoBrDC,EAAYF,EAAMC,GACxB,IAAKC,GAAkC,IAArBA,EAAUC,OAC1B,iBAEFL,EAAUM,KAAK,CACbC,IAAKJ,EACLK,KAAMzB,EAAiBoB,GACvBF,WAAYA,EACZQ,MAAOL,EAAUC,OACjBK,MAAO,IAETT,GAAcG,EAAUC,OACxBD,EAAUO,SAAQ,SAACC,GACjB,IAAML,EAAG,UAAMK,EAASC,GAAf,YAAqBD,EAASE,MACvCf,EAAUO,KAAV,aACEC,IAAKA,EACLQ,aAAcZ,GACXS,QAlBT,2BAAgC,IAnB6B,8BAyC7D,MAAO,CAACb,EAAWC,GAGd,SAASgB,EACdC,EACAC,GAEA,IADkC,EAC5BnB,EAAkC,GAClCC,EAAsB,GACxBC,EAAa,EAEXkB,EAAKD,EAAcE,cACnBC,EAAgBJ,EAAMK,QAAO,SAACC,GAClC,OAA6B,IAAzBL,EAAcb,SAIhBkB,EAAEhB,IAAIa,cAAcI,QAAQL,IAAO,GAAKI,EAAER,aAAaS,QAAQL,IAAO,MAGpEM,EAAYC,IAAEC,QAAQN,EAAe,gBAdT,cAiBjB/B,GAjBiB,IAiBlC,2BAAgC,CAAC,IAAtBa,EAAqB,QACxBC,EAAYqB,EAAUtB,GACvBC,GAAkC,IAArBA,EAAUC,SAG5BL,EAAUM,KAAK,CACbC,IAAKJ,EACLK,KAAMzB,EAAiBoB,GACvBF,WAAYA,EACZQ,MAAOL,EAAUC,OACjBK,MAAO,IAETT,GAAcG,EAAUC,OACxBD,EAAUO,SAAQ,SAACC,GACjBb,EAAUO,KAAKM,QA/Be,8BAkClC,MAAO,CAACb,EAAWC,K,iCCnIrB,0KAAO,IAAM4B,EAAc,UAGpB,SAASC,EAAgBC,GAAkC,IAA/BC,EAA8B,wDAC3DC,EAAOC,OAAOC,SAASF,KAI3B,OAHKA,GAAiB,MAATA,IACXA,EAAO,MAELD,EAC+B,IAA1BC,EAAKR,QAAL,WAAiBM,IAEjBE,EAAKG,SAAL,WAAoBL,GAIxB,SAASM,EAAsBN,GACpC,OAAOD,EAAgBC,GAAG,GAGrB,SAASO,IACd,OAAOD,EAAsBR,GAGxB,SAASU,IACd,OAAOF,EAvBkB,a,qBCD3B,IAAIG,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,aAAe,CAAC,IAAM,CAAC,MAAQ,uBAAuB,OAAS,CAAC,MAAQ,6DAA6D,MAAQ,+BAA+B,KAAO,CAAC,UAAY,iBAAiB,cAAgB,qBAAqB,aAAe,iCAAiC,KAAO,CAAC,MAAQ,uBAAuB,MAAQ,wHAAwH,UAAY,iCAAiC,aAAe,0BAA0B,oBAAsB,uBAAuB,aAAe,CAAC,MAAQ,0BAA0B,KAAO,0BAA0B,SAAW,oBAAoB,KAAO,0HAA0H,OAAS,qBAAqB,MAAQ,UAAU,aAAe,CAAC,GAAK,aAAa,YAAc,oDAAoD,wBAA0B,0FAA0F,OAAS,SAAS,OAAS,WAAW,kBAAoB,CAAC,MAAQ,oBAAoB,WAAa,CAAC,MAAQ,yBAAyB,KAAO,CAAC,SAAW,uBAAuB,aAAe,6BAA6B,OAAS,yBAAyB,OAAS,SAAS,OAAS,UAAU,YAAc,CAAC,QAAU,kCAAkC,KAAO,CAAC,MAAQ,0BAA0B,SAAW,YAAY,QAAU,CAAC,MAAQ,UAAU,SAAW,WAAW,MAAQ,wBAAwB,0BAA4B,+CAA+C,cAAgB,CAAC,KAAO,6UAA6U,QAAU,2HAA2H,KAAO,CAAC,OAAS,YAAY,UAAY,+BAA+B,OAAS,+BAA+B,MAAQ,QAAQ,eAAiB,CAAC,MAAQ,+BAA+B,KAAO,OAAO,OAAS,WAAW,QAAU,CAAC,MAAQ,sBAAsB,iBAAmB,6CAA6C,eAAiB,2CAA2C,WAAa,uCAAuC,WAAa,mDAAmD,WAAa,4B,mBCAroFD,EAAOC,QAAU,CAAC,aAAe,CAAC,IAAM,CAAC,MAAQ,iCAAa,OAAS,CAAC,MAAQ,4EAAyC,MAAQ,yDAAsB,KAAO,CAAC,UAAY,iBAAiB,cAAgB,qBAAqB,aAAe,6CAAU,KAAO,CAAC,MAAQ,4CAAc,MAAQ,4OAAuE,UAAY,qEAAc,aAAe,2BAAO,oBAAsB,2BAAO,aAAe,CAAC,MAAQ,+BAAW,KAAO,wDAAgB,SAAW,iDAAc,KAAO,qOAAiD,OAAS,iCAAQ,MAAQ,gBAAM,aAAe,CAAC,GAAK,qBAAM,YAAc,+EAAmB,wBAA0B,oHAA8C,OAAS,eAAK,OAAS,iBAAO,kBAAoB,CAAC,MAAQ,2BAAO,WAAa,CAAC,MAAQ,gCAAiB,KAAO,CAAC,SAAW,+DAAa,aAAe,6CAAoB,OAAS,6CAAU,OAAS,eAAK,OAAS,gBAAM,YAAc,CAAC,QAAU,kEAA0B,KAAO,CAAC,MAAQ,uCAAS,SAAW,gBAAM,QAAU,CAAC,MAAQ,eAAK,SAAW,eAAK,MAAQ,uCAAS,0BAA4B,0DAAa,cAAgB,CAAC,KAAO,qhBAAgI,QAAU,iQAA+C,KAAO,CAAC,OAAS,2BAAO,UAAY,6CAAU,OAAS,kCAAS,MAAQ,eAAK,eAAiB,CAAC,MAAQ,uCAAS,KAAO,eAAK,OAAS,uBAAQ,QAAU,CAAC,MAAQ,2BAAO,iBAAmB,2DAAkC,eAAiB,kDAAwC,WAAa,qDAAiC,WAAa,uEAAoC,WAAa,uC,qBCA/sD,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,SAAW,CAAC,UAAY,WAAW,eAAiB,CAAC,MAAQ,sBAAsB,kBAAoB,CAAC,MAAQ,uBAAuB,UAAY,CAAC,MAAQ,mBAAmB,cAAgB,CAAC,MAAQ,kBAAkB,aAAe,eAAe,kBAAoB,sBAAsB,YAAc,6BAA6B,iBAAmB,cAAc,iBAAmB,oBAAoB,aAAe,mBAAmB,QAAU,CAAC,eAAiB,MAAM,QAAU,c,mBCArfD,EAAOC,QAAU,CAAC,SAAW,CAAC,UAAY,eAAK,eAAiB,CAAC,MAAQ,wBAAc,kBAAoB,CAAC,MAAQ,kCAAS,UAAY,CAAC,MAAQ,4BAAQ,cAAgB,CAAC,MAAQ,iCAAQ,aAAe,2BAAO,kBAAoB,iCAAQ,YAAc,iDAAwB,iBAAmB,2BAAO,iBAAmB,iCAAQ,aAAe,4BAAQ,QAAU,CAAC,eAAiB,MAAM,QAAU,mB,qBCA3Y,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,aAAe,CAAC,UAAY,eAAe,KAAO,CAAC,eAAiB,CAAC,MAAQ,YAAY,QAAU,CAAC,KAAO,UAAU,QAAU,UAAU,OAAS,SAAS,QAAU,UAAU,YAAc,uBAAuB,SAAW,YAAY,QAAU,CAAC,QAAU,CAAC,QAAU,OAAO,QAAU,wDAAwD,WAAa,CAAC,MAAQ,QAAQ,QAAU,CAAC,KAAO,eAAe,IAAM,MAAM,SAAW,WAAW,UAAY,YAAY,OAAS,SAAS,aAAe,eAAe,UAAY,aAAa,oBAAsB,wEAAwE,WAAa,CAAC,MAAQ,QAAQ,QAAU,CAAC,KAAO,eAAe,UAAY,kBAAkB,GAAK,cAAc,UAAY,gBAAgB,WAAa,aAAa,UAAY,cAAc,eAAiB,CAAC,MAAQ,iBAAiB,QAAU,0EAA0E,WAAa,CAAC,MAAQ,aAAa,cAAgB,kBAAkB,MAAQ,CAAC,QAAU,UAAU,UAAY,cAAc,MAAQ,kCAAkC,gBAAkB,wCAAmC,eAAiB,2CAAsC,cAAgB,2CAAsC,QAAU,CAAC,cAAgB,8FAA8F,eAAiB,2LAA6L,MAAQ,CAAC,KAAO,+C,mBCApmDD,EAAOC,QAAU,CAAC,aAAe,CAAC,UAAY,2BAAO,KAAO,CAAC,eAAiB,CAAC,MAAQ,eAAK,QAAU,CAAC,KAAO,eAAK,QAAU,eAAK,OAAS,eAAK,QAAU,2BAAO,YAAc,2BAAO,SAAW,0BAAW,QAAU,CAAC,QAAU,CAAC,QAAU,eAAK,QAAU,oFAAkC,WAAa,CAAC,MAAQ,eAAK,QAAU,CAAC,KAAO,2BAAO,IAAM,MAAM,SAAW,mBAAS,UAAY,yBAAU,OAAS,2BAAO,aAAe,iCAAQ,UAAY,gBAAM,oBAAsB,8IAA2B,WAAa,CAAC,MAAQ,eAAK,QAAU,CAAC,KAAO,2BAAO,UAAY,iCAAQ,GAAK,2BAAO,UAAY,2BAAO,WAAa,iCAAQ,UAAY,iBAAO,eAAiB,CAAC,MAAQ,2BAAO,QAAU,oGAAyB,WAAa,CAAC,MAAQ,eAAK,cAAgB,2BAAO,MAAQ,CAAC,QAAU,eAAK,UAAY,iCAAQ,MAAQ,+DAAa,gBAAkB,sGAAsB,eAAiB,gHAA2B,cAAgB,iHAA4B,QAAU,CAAC,cAAgB,gQAAmD,eAAiB,kWAAgE,MAAQ,CAAC,KAAO,gE,qBCAtmC,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,OAAS,CAAC,UAAY,iBAAiB,QAAU,CAAC,WAAa,aAAa,KAAO,CAAC,OAAS,gBAAgB,MAAQ,SAAS,QAAU,UAAU,aAAe,CAAC,MAAQ,eAAe,IAAM,OAAO,UAAY,CAAC,WAAa,eAAe,YAAc,gBAAgB,UAAY,cAAc,WAAa,eAAe,IAAM,QAAQ,SAAW,CAAC,MAAQ,WAAW,gBAAkB,CAAC,MAAQ,sBAAsB,UAAY,0KAA0K,aAAe,gBAAgB,aAAe,iCAAiC,qBAAuB,qFAAqF,OAAS,iBAAiB,eAAiB,yFAAyF,OAAS,SAAS,UAAY,kBAAkB,UAAY,SAAS,UAAY,YAAY,sBAAwB,kCAAkC,wBAA0B,uCAAuC,QAAU,CAAC,KAAO,OAAO,MAAQ,UAAU,OAAS,c,mBCAprCD,EAAOC,QAAU,CAAC,OAAS,CAAC,UAAY,iCAAQ,QAAU,CAAC,WAAa,2BAAO,KAAO,CAAC,OAAS,eAAK,MAAQ,gBAAM,QAAU,eAAK,aAAe,CAAC,MAAQ,2BAAO,IAAM,gBAAM,UAAY,CAAC,WAAa,iCAAQ,YAAc,iCAAQ,UAAY,2BAAO,WAAa,2BAAO,IAAM,iBAAO,SAAW,CAAC,MAAQ,eAAK,gBAAkB,CAAC,MAAQ,uCAAS,UAAY,gRAAoD,aAAe,2BAAO,aAAe,yDAAY,qBAAuB,yJAA4B,OAAS,2BAAO,eAAiB,uQAA+D,OAAS,eAAK,UAAY,kBAAkB,UAAY,kBAAQ,UAAY,qBAAM,sBAAwB,wDAAgB,wBAA0B,2FAAqB,QAAU,CAAC,KAAO,eAAK,MAAQ,eAAK,OAAS,oB,qBCAhzB,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,UAAY,CAAC,UAAY,iBAAiB,MAAQ,CAAC,OAAS,CAAC,KAAO,CAAC,KAAO,OAAO,MAAQ,yBAAyB,KAAO,CAAC,WAAa,sBAAsB,MAAQ,CAAC,KAAO,qHAAqH,MAAQ,CAAC,YAAc,mBAAmB,IAAM,gCAAgC,KAAO,8CAA8C,KAAO,CAAC,MAAQ,QAAQ,KAAO,OAAO,KAAO,mBAAmB,IAAM,cAAc,WAAa,eAAe,SAAW,CAAC,QAAU,CAAC,QAAU,CAAC,YAAc,gBAAgB,SAAW,oBAAoB,YAAc,iBAAiB,gBAAkB,CAAC,YAAc,YAAY,SAAW,gBAAgB,YAAc,kBAAkB,eAAiB,CAAC,cAAgB,wBAAwB,QAAU,UAAU,iBAAmB,8DAAgE,oBAAsB,CAAC,KAAO,oBAAoB,OAAS,SAAS,kBAAoB,SAAS,mBAAqB,UAAU,OAAS,SAAS,UAAY,eAAe,SAAW,CAAC,MAAQ,WAAW,gBAAkB,CAAC,MAAQ,sBAAsB,UAAY,wKAAwK,aAAe,gBAAgB,gBAAkB,4BAA4B,wBAA0B,wFAAwF,OAAS,iBAAiB,eAAiB,8GAA8G,SAAW,kBAAkB,iBAAmB,qNAAqN,iBAAmB,oBAAoB,yBAA2B,qEAAqE,aAAe,YAAY,qBAAuB,+FAA+F,cAAgB,6BAA6B,sBAAwB,qCAAkC,eAAiB,2BAA2B,uBAAyB,6EAA6E,QAAU,CAAC,KAAO,OAAO,MAAQ,UAAU,OAAS,WAAW,OAAS,CAAC,YAAc,cAAc,gBAAkB,WAAW,wBAA0B,qCAAqC,YAAc,UAAU,oBAAsB,mDAAmD,YAAc,qBAAqB,oBAAsB,mFAAmF,YAAc,gBAAgB,oBAAsB,kDAAkD,WAAa,SAAS,mBAAqB,mDAAmD,WAAa,UAAU,mBAAqB,6EAA6E,YAAc,eAAe,oBAAsB,iCAAiC,QAAU,cAAc,gBAAkB,+BAA+B,QAAU,aAAa,gBAAkB,uCAAuC,SAAW,YAAY,iBAAmB,6BAA6B,SAAW,WAAW,iBAAmB,qCAAqC,YAAc,aAAa,oBAAsB,6BAA6B,WAAa,aAAa,UAAY,YAAY,YAAc,iBAAiB,oBAAsB,6CAA6C,WAAa,eAAe,aAAe,iBAAiB,gBAAkB,oBAAoB,wBAA0B,kCAAkC,cAAgB,aAAa,sBAAwB,uCAAuC,gBAAkB,UAAU,wBAA0B,0CAA0C,UAAY,wBAAwB,aAAe,6BAA6B,mBAAqB,uBAAuB,gBAAkB,kBAAkB,aAAe,qBAAqB,qBAAuB,oFAAoF,mBAAqB,qBAAqB,sBAAwB,wBAAwB,kBAAoB,oBAAoB,cAAgB,gBAAgB,YAAc,cAAc,oBAAsB,4BAA4B,QAAU,QAAQ,YAAc,aAAa,oBAAsB,qHAAqH,iBAAmB,0BAA0B,mBAAqB,kCAAkC,mBAAqB,iCAAiC,eAAiB,+BAA+B,uBAAyB,yDAAyD,eAAiB,8BAA8B,kBAAoB,qBAAqB,kBAAoB,sBAAsB,eAAiB,oBAAoB,eAAiB,mBAAmB,eAAiB,yBAAyB,eAAiB,wBAAwB,qBAAuB,wBAAwB,qBAAuB,uBAAuB,cAAgB,2BAA2B,cAAgB,0BAA0B,OAAS,oBAAoB,eAAiB,sBAAsB,YAAc,qBAAqB,oBAAsB,yCAAyC,kBAAoB,eAAe,iBAAmB,wBAAwB,KAAO,iBAAiB,iCAAmC,iCAAiC,yCAA2C,2HAA2H,iCAAmC,gCAAgC,8BAAgC,4BAA4B,sCAAwC,4EAA4E,8BAAgC,2BAA2B,kCAAoC,gCAAgC,0CAA4C,4EAA4E,kCAAoC,+BAA+B,6BAA+B,2BAA2B,qCAAuC,2EAA2E,6BAA+B,0BAA0B,4BAA8B,4BAA4B,oCAAsC,yEAAyE,4BAA8B,+B,mBCA5gOD,EAAOC,QAAU,CAAC,UAAY,CAAC,UAAY,+BAAW,MAAQ,CAAC,OAAS,CAAC,KAAO,CAAC,KAAO,2BAAO,MAAQ,gCAAY,KAAO,CAAC,WAAa,2BAAO,MAAQ,CAAC,KAAO,kPAA+C,MAAQ,CAAC,YAAc,2BAAO,IAAM,qEAAc,KAAO,wEAAsB,KAAO,CAAC,MAAQ,2BAAO,KAAO,2BAAO,KAAO,2BAAiB,IAAM,eAAK,WAAa,uBAAQ,SAAW,CAAC,QAAU,CAAC,QAAU,CAAC,YAAc,iCAAQ,SAAW,6BAAc,YAAc,4BAAQ,gBAAkB,CAAC,YAAc,2BAAO,SAAW,uBAAa,YAAc,gCAAY,eAAiB,CAAC,cAAgB,6CAAe,QAAU,eAAK,iBAAmB,2HAAuB,oBAAsB,CAAC,KAAO,iCAAQ,OAAS,eAAK,kBAAoB,uCAAS,mBAAqB,8CAAW,OAAS,eAAK,UAAY,8BAAU,SAAW,CAAC,MAAQ,eAAK,gBAAkB,CAAC,MAAQ,uCAAS,UAAY,wQAAsD,aAAe,2BAAO,gBAAkB,wDAAgB,wBAA0B,yJAA4B,OAAS,2BAAO,eAAiB,gPAAiE,SAAW,wDAAgB,iBAAmB,+dAAmG,iBAAmB,uCAAc,yBAA2B,uIAAyB,aAAe,iCAAQ,qBAAuB,+MAAqC,cAAgB,uDAAe,sBAAwB,qEAAgB,eAAiB,uCAAS,uBAAyB,qIAA2C,QAAU,CAAC,KAAO,eAAK,MAAQ,eAAK,OAAS,iBAAO,OAAS,CAAC,gBAAkB,qBAAM,wBAA0B,uDAAe,YAAc,8BAAU,oBAAsB,wEAAiB,YAAc,mBAAS,oBAAsB,iJAAmC,YAAc,2BAAO,oBAAsB,wGAAwB,WAAa,2BAAO,mBAAqB,wGAAwB,WAAa,qBAAM,mBAAqB,oHAA0B,YAAc,2BAAO,oBAAsB,8DAAiB,QAAU,2BAAO,gBAAkB,0EAAmB,QAAU,2BAAO,gBAAkB,gFAAoB,SAAW,uCAAS,iBAAmB,sFAAqB,SAAW,uCAAS,iBAAmB,kGAAuB,YAAc,eAAK,YAAc,qBAAM,oBAAsB,mEAAiB,WAAa,uCAAS,UAAY,uCAAS,YAAc,iCAAQ,oBAAsB,gLAAoC,WAAa,kCAAc,aAAe,oCAAgB,gBAAkB,8BAAU,wBAA0B,yDAAY,cAAgB,2BAAO,sBAAwB,kDAAe,gBAAkB,2BAAO,wBAA0B,oEAAkB,UAAY,uCAAmB,kBAAoB,kNAAgF,aAAe,uCAAmB,qBAAuB,gMAA6E,mBAAqB,uCAAS,gBAAkB,uCAAS,aAAe,uCAAS,qBAAuB,sFAAqB,mBAAqB,gCAAiB,2BAA6B,wHAAmC,sBAAwB,gCAAsB,8BAAgC,wJAA0C,kBAAoB,4BAAkB,0BAA4B,8JAA2C,cAAgB,oCAAgB,YAAc,kCAAc,oBAAsB,8CAAgB,QAAU,2BAAO,YAAc,+BAAW,oBAAsB,oKAAkC,iBAAmB,8CAAqB,yBAA2B,qHAAqC,mBAAqB,oEAAkB,mBAAqB,oEAAkB,eAAiB,oEAAkB,uBAAyB,+EAAmB,eAAiB,oEAAkB,kBAAoB,uCAAS,kBAAoB,uCAAS,0BAA4B,gIAA4B,eAAiB,4CAAc,eAAiB,4CAAc,eAAiB,6CAAU,eAAiB,6CAAU,qBAAuB,wDAA0B,qBAAuB,wDAA0B,cAAgB,mDAAW,cAAgB,mDAAW,OAAS,sBAAY,eAAiB,6EAAsB,YAAc,iCAAQ,oBAAsB,4FAAsB,kBAAoB,+BAAW,iBAAmB,kDAAe,yBAA2B,kIAAmC,KAAO,2BAAO,iCAAmC,gEAAwB,yCAA2C,2HAA+D,iCAAmC,gEAAwB,8BAAgC,6CAAoB,sCAAwC,sGAA+C,8BAAgC,6CAAoB,kCAAoC,qDAAkB,0CAA4C,4GAA0D,kCAAoC,qDAAkB,6BAA+B,iEAAoB,qCAAuC,sGAA0C,6BAA+B,iEAAoB,4BAA8B,uEAAqB,oCAAsC,2GAA0C,4BAA8B,2E,qBCArjL,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,WAAa,CAAC,UAAY,eAAe,OAAS,CAAC,SAAW,2BAA2B,iBAAmB,qDAAqD,cAAgB,gBAAgB,sBAAwB,oCAAoC,IAAM,QAAQ,MAAQ,QAAQ,UAAY,cAAc,kBAAoB,yCAAyC,WAAa,UAAU,mBAAqB,8BAA8B,WAAa,aAAa,mBAAqB,oCAAoC,SAAW,WAAW,iBAAmB,kCAAkC,OAAS,oBAAoB,eAAiB,sBAAsB,YAAc,eAAe,oBAAsB,oCAAoC,WAAa,cAAc,mBAAqB,yCAAyC,OAAS,SAAS,eAAiB,yCAAyC,YAAc,cAAc,oBAAsB,6BAA6B,MAAQ,kBAAkB,cAAgB,gBAAgB,KAAO,iBAAiB,aAAe,mCAAmC,KAAO,iBAAiB,aAAe,iDAAiD,GAAK,qBAAqB,WAAa,yCAAyC,YAAc,aAAa,oBAAsB,iDAAiD,WAAa,aAAa,mBAAqB,uCAAuC,aAAe,qBAAqB,aAAe,oBAAoB,wBAA0B,4BAA4B,gCAAkC,+EAA+E,cAAgB,qBAAqB,QAAU,oBAAoB,gBAAkB,uEAAuE,SAAW,4BAA4B,iBAAmB,sRAAsR,UAAY,wBAAwB,kBAAoB,0PAA0P,aAAe,2BAA2B,qBAAuB,gKAAgK,aAAe,yBAAyB,qBAAuB,oKAAoK,eAAiB,iBAAiB,uBAAyB,6DAA6D,mBAAqB,qBAAqB,2BAA6B,8FAA8F,sBAAwB,wBAAwB,8BAAgC,iJAAiJ,kBAAoB,oBAAoB,0BAA4B,2HAA2H,cAAgB,gBAAgB,sBAAwB,+DAA+D,0BAA4B,4BAA4B,kCAAoC,uDAAuD,YAAc,cAAc,oBAAsB,6DAA6D,oBAAsB,sBAAsB,4BAA8B,0JAA0J,yBAA2B,qBAAqB,iCAAmC,wDAAwD,gBAAkB,yBAAyB,wBAA0B,oGAAoG,cAAgB,gBAAgB,aAAe,eAAe,WAAa,aAAa,cAAgB,yBAAyB,sBAAwB,0FAA0F,cAAgB,sBAAsB,sBAAwB,uFAAuF,aAAe,kBAAkB,qBAAuB,qDAAqD,WAAa,aAAa,WAAa,aAAa,gBAAkB,mBAAmB,UAAY,sBAAsB,UAAY,iBAAiB,KAAO,iBAAiB,aAAe,gBAAgB,aAAe,gBAAgB,6BAA+B,4BAA4B,qCAAuC,2HAA2H,0BAA4B,uBAAuB,kCAAoC,4EAA4E,8BAAgC,2BAA2B,sCAAwC,4EAA4E,yBAA2B,sBAAsB,iCAAmC,2EAA2E,wBAA0B,oBAAoB,gCAAkC,0EAA0E,OAAS,CAAC,OAAS,CAAC,QAAU,UAAU,MAAQ,WAAW,OAAS,CAAC,KAAO,CAAC,MAAQ,oBAAoB,KAAO,OAAO,IAAM,QAAQ,aAAe,iBAAiB,KAAO,QAAQ,KAAO,CAAC,MAAQ,QAAQ,KAAO,OAAO,KAAO,cAAc,IAAM,gBAAgB,QAAU,CAAC,QAAU,CAAC,YAAc,gBAAgB,SAAW,oBAAoB,YAAc,iBAAiB,eAAiB,CAAC,cAAgB,wBAAwB,QAAU,UAAU,OAAS,SAAS,UAAY,gB,mBCA3iND,EAAOC,QAAU,CAAC,WAAa,CAAC,UAAY,qBAAM,OAAS,CAAC,SAAW,+BAAqB,iBAAmB,qFAAmC,cAAgB,qBAAM,sBAAwB,oDAAiB,IAAM,MAAM,MAAQ,MAAM,YAAc,MAAM,UAAY,uCAAS,kBAAoB,0EAAmB,WAAa,iCAAQ,mBAAqB,8DAAiB,WAAa,2BAAO,mBAAqB,kGAAuB,SAAW,uCAAS,iBAAmB,kGAAuB,OAAS,sBAAY,eAAiB,6EAAsB,YAAc,kDAAe,WAAa,uCAAS,mBAAqB,uDAAe,OAAS,2BAAO,eAAiB,uDAAe,YAAc,qBAAM,oBAAsB,+EAAmB,MAAQ,6CAAU,cAAgB,2BAAO,KAAO,iCAAQ,aAAe,sLAAqC,KAAO,iCAAQ,aAAe,oEAAkB,GAAK,iCAAQ,WAAa,4FAAsB,YAAc,+BAAW,oBAAsB,8DAAiB,WAAa,2BAAO,mBAAqB,wDAAgB,aAAe,mDAAW,qBAAuB,0EAAmB,aAAe,mDAAW,qBAAuB,yGAAoB,wBAA0B,mDAAW,cAAgB,mDAAW,sBAAwB,qKAA8B,QAAU,2CAAkB,gBAAkB,sGAAgC,SAAW,uCAAmB,iBAAmB,obAAkJ,UAAY,mDAAqB,kBAAoB,kZAAgH,aAAe,mDAAqB,qBAAuB,wQAAoF,eAAiB,2BAAO,uBAAyB,+GAAqB,aAAe,4DAAoB,qBAAuB,oVAAgF,mBAAqB,4CAAmB,2BAA6B,wHAAmC,sBAAwB,uDAAyB,8BAAgC,wJAA0C,kBAAoB,2BAAO,0BAA4B,2KAA+B,cAAgB,oCAAgB,sBAAwB,8HAA+B,0BAA4B,2CAAuB,kCAAoC,8DAA2B,YAAc,kCAAc,oBAAsB,4HAA6B,oBAAsB,uDAAyB,4BAA8B,0VAAiF,yBAA2B,uCAAS,iCAAmC,kGAAuB,gBAAkB,uCAAS,wBAA0B,qZAAsE,cAAgB,iCAAkB,aAAe,iCAAQ,WAAa,iCAAQ,mBAAqB,+EAAmB,cAAgB,mDAAW,sBAAwB,2HAAgD,cAAgB,mDAAW,sBAAwB,2HAAgD,aAAe,qBAAM,qBAAuB,6FAAkB,WAAa,gCAAY,WAAa,iCAAQ,gBAAkB,6CAAyB,UAAY,uCAAS,UAAY,sCAAa,KAAO,2BAAO,aAAe,2BAAO,aAAe,2BAAO,6BAA+B,oDAAsB,qCAAuC,2HAA+D,0BAA4B,iCAAkB,kCAAoC,sGAA+C,8BAAgC,yCAAgB,sCAAwC,4GAA0D,yBAA2B,qDAAkB,iCAAmC,sGAA0C,wBAA0B,2DAAmB,gCAAkC,4GAA2C,OAAS,CAAC,OAAS,CAAC,QAAU,eAAK,MAAQ,iBAAO,OAAS,CAAC,KAAO,CAAC,MAAQ,iCAAQ,KAAO,eAAK,IAAM,mBAAS,aAAe,sCAAa,KAAO,4BAAQ,KAAO,CAAC,MAAQ,2BAAO,KAAO,2BAAO,KAAO,2BAAiB,IAAM,iBAAO,QAAU,CAAC,QAAU,CAAC,YAAc,iCAAQ,SAAW,6BAAc,YAAc,4BAAQ,eAAiB,CAAC,cAAgB,6CAAe,QAAU,eAAK,OAAS,eAAK,UAAY,+B,qBCA3oJ,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,SAAW,CAAC,UAAY,sBAAsB,SAAW,CAAC,MAAQ,wBAAwB,YAAc,mBAAmB,eAAiB,iBAAiB,WAAa,sBAAsB,oBAAsB,4BAA4B,OAAS,QAAQ,iBAAmB,6BAA6B,WAAa,CAAC,GAAK,YAAY,qBAAuB,cAAc,OAAS,SAAS,eAAiB,UAAU,cAAgB,SAAS,MAAQ,QAAQ,cAAgB,kBAAkB,OAAS,CAAC,KAAO,CAAC,MAAQ,oBAAoB,KAAO,wBAAwB,KAAO,oBAAoB,YAAc,mBAAmB,UAAY,iBAAiB,eAAiB,4BAA4B,SAAW,YAAY,cAAgB,CAAC,OAAS,UAAU,iBAAmB,CAAC,QAAU,CAAC,MAAQ,+CAA+C,OAAS,kB,mBCA92BD,EAAOC,QAAU,CAAC,SAAW,CAAC,UAAY,2BAAO,SAAW,CAAC,MAAQ,uCAAS,YAAc,uCAAS,eAAiB,2BAAO,WAAa,6CAAU,oBAAsB,mDAAW,OAAS,eAAK,iBAAmB,8CAAW,WAAa,CAAC,GAAK,kBAAQ,qBAAuB,2BAAO,OAAS,eAAK,eAAiB,qBAAM,cAAgB,eAAK,MAAQ,2BAAO,cAAgB,4BAAQ,OAAS,CAAC,KAAO,CAAC,MAAQ,2BAAO,KAAO,uCAAS,KAAO,oDAAY,YAAc,uCAAS,UAAY,uCAAS,eAAiB,mDAAW,SAAW,4BAAQ,cAAgB,CAAC,OAAS,sBAAO,iBAAmB,CAAC,QAAU,CAAC,MAAQ,qEAAc,OAAS,sC,qBCAznB,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,YAAc,CAAC,UAAY,cAAc,IAAM,CAAC,YAAc,cAAc,OAAS,gBAAgB,QAAU,WAAW,KAAO,CAAC,MAAQ,+CAA+C,IAAM,4CAA4C,KAAO,OAAO,eAAiB,kBAAkB,OAAS,CAAC,WAAa,aAAa,WAAa,aAAa,SAAW,WAAW,UAAY,YAAY,WAAa,YAAY,SAAW,WAAW,qBAAuB,0CAA0C,OAAS,SAAS,SAAW,WAAW,kBAAoB,oBAAoB,OAAS,SAAS,MAAQ,SAAS,SAAW,CAAC,QAAU,UAAU,QAAU,YAAY,OAAS,UAAU,QAAU,CAAC,aAAe,gEAAgE,YAAc,+DAA+D,QAAU,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,YAAY,IAAM,OAAO,QAAU,CAAC,UAAY,YAAY,QAAU,UAAU,SAAW,WAAW,gBAAkB,kBAAkB,WAAa,aAAa,OAAS,SAAS,OAAS,SAAS,OAAS,SAAS,OAAS,SAAS,qBAAuB,8BAA8B,gCAAkC,iEAAiE,2BAA6B,gE,mBCAn0CD,EAAOC,QAAU,CAAC,YAAc,CAAC,UAAY,2BAAO,IAAM,CAAC,YAAc,2BAAO,OAAS,2BAAO,QAAU,4BAAQ,KAAO,CAAC,MAAQ,qEAAc,IAAM,8DAAiB,KAAO,eAAK,eAAiB,4BAAQ,OAAS,CAAC,WAAa,2BAAO,WAAa,2BAAO,SAAW,2BAAO,UAAY,2BAAO,WAAa,2BAAO,SAAW,qBAAM,qBAAuB,uFAAiB,OAAS,eAAK,SAAW,2BAAO,kBAAoB,uCAAS,OAAS,eAAK,MAAQ,gBAAM,SAAW,CAAC,QAAU,2BAAO,QAAU,eAAK,OAAS,gBAAM,QAAU,CAAC,aAAe,+GAAqB,YAAc,gHAAsB,QAAU,CAAC,KAAO,eAAK,MAAQ,2BAAO,UAAY,eAAK,IAAM,gBAAM,QAAU,CAAC,UAAY,eAAK,QAAU,2BAAO,SAAW,qBAAM,gBAAkB,6CAAU,WAAa,uCAAS,OAAS,eAAK,OAAS,eAAK,OAAS,2BAAO,OAAS,eAAK,qBAAuB,uCAAS,gCAAkC,uFAAiB,2BAA6B,2F,qBCAp7B,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,UAAY,CAAC,UAAY,qBAAqB,mBAAqB,CAAC,UAAY,mBAAmB,KAAO,CAAC,aAAe,CAAC,MAAQ,4BAA4B,UAAY,CAAC,MAAQ,oBAAoB,SAAW,CAAC,MAAQ,YAAY,OAAS,mBAAmB,gBAAkB,uJAAuJ,MAAQ,CAAC,MAAQ,oBAAoB,QAAU,CAAC,QAAU,YAAY,SAAW,WAAW,SAAW,iBAAiB,OAAS,UAAU,OAAS,CAAC,QAAU,UAAU,SAAW,WAAW,OAAS,SAAS,iBAAmB,mBAAmB,QAAU,WAAW,QAAU,CAAC,OAAS,YAAY,OAAS,CAAC,KAAO,CAAC,KAAO,UAAU,MAAQ,mBAAmB,SAAW,YAAY,SAAW,4BAA4B,MAAQ,CAAC,QAAU,CAAC,SAAW,WAAW,KAAO,YAAY,QAAU,UAAU,OAAS,UAAU,OAAS,CAAC,SAAW,iB,mBCAh+BD,EAAOC,QAAU,CAAC,UAAY,CAAC,UAAY,wCAAU,mBAAqB,CAAC,UAAY,2BAAO,KAAO,CAAC,aAAe,CAAC,MAAQ,uCAAS,UAAY,CAAC,MAAQ,4BAAQ,SAAW,CAAC,MAAQ,4BAAQ,OAAS,4BAAQ,gBAAkB,6RAAkD,MAAQ,CAAC,MAAQ,uCAAS,QAAU,CAAC,QAAU,eAAK,SAAW,2BAAO,SAAW,iCAAQ,OAAS,gBAAM,OAAS,CAAC,QAAU,qBAAM,SAAW,eAAK,OAAS,eAAK,iBAAmB,2BAAO,QAAU,gBAAM,QAAU,CAAC,OAAS,kBAAQ,OAAS,CAAC,KAAO,CAAC,KAAO,2BAAO,MAAQ,uCAAS,SAAW,4BAAQ,SAAW,mDAAW,MAAQ,CAAC,QAAU,CAAC,SAAW,eAAK,KAAO,eAAK,QAAU,eAAK,OAAS,gBAAM,OAAS,CAAC,SAAW,qB,qBCAxrB,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,qBAAuB,CAAC,UAAY,qBAAqB,KAAO,CAAC,QAAU,CAAC,QAAU,UAAU,SAAW,YAAY,aAAe,CAAC,MAAQ,4BAA4B,eAAiB,8DAA8D,gBAAkB,kEAAkE,MAAQ,CAAC,MAAQ,oBAAoB,QAAU,CAAC,QAAU,YAAY,SAAW,WAAW,SAAW,iBAAiB,OAAS,UAAU,OAAS,CAAC,QAAU,UAAU,SAAW,WAAW,OAAS,SAAS,iBAAmB,mBAAmB,QAAU,WAAW,QAAU,CAAC,OAAS,YAAY,OAAS,CAAC,KAAO,CAAC,KAAO,UAAU,MAAQ,mBAAmB,SAAW,YAAY,SAAW,4BAA4B,MAAQ,CAAC,QAAU,CAAC,SAAW,WAAW,KAAO,YAAY,QAAU,UAAU,OAAS,UAAU,OAAS,CAAC,SAAW,cAAc,SAAW,CAAC,MAAQ,WAAW,gBAAkB,CAAC,MAAQ,sBAAsB,UAAY,mIAAmI,sBAAwB,mIAAmI,cAAgB,gBAAgB,OAAS,iBAAiB,eAAiB,0HAA0H,gBAAkB,kBAAkB,wBAA0B,uKAAuK,iBAAmB,mBAAmB,yBAA2B,KAAK,iBAAmB,mBAAmB,yBAA2B,KAAK,2BAA6B,qBAAqB,mCAAqC,kKAAkK,kCAAoC,aAAa,cAAgB,uCAAuC,sBAAwB,2GAA2G,QAAU,CAAC,MAAQ,UAAU,OAAS,c,mBCAz0ED,EAAOC,QAAU,CAAC,qBAAuB,CAAC,UAAY,2BAAO,QAAU,CAAC,QAAU,WAAW,KAAO,CAAC,QAAU,CAAC,QAAU,eAAK,SAAW,gBAAM,aAAe,CAAC,MAAQ,uCAAS,eAAiB,mGAAmB,gBAAkB,oGAAoB,MAAQ,CAAC,MAAQ,uCAAS,QAAU,CAAC,QAAU,eAAK,SAAW,2BAAO,SAAW,iCAAQ,OAAS,gBAAM,OAAS,CAAC,QAAU,qBAAM,SAAW,eAAK,OAAS,eAAK,iBAAmB,2BAAO,QAAU,gBAAM,QAAU,CAAC,OAAS,kBAAQ,OAAS,CAAC,KAAO,CAAC,KAAO,2BAAO,MAAQ,uCAAS,SAAW,4BAAQ,SAAW,mDAAW,MAAQ,CAAC,QAAU,CAAC,SAAW,eAAK,KAAO,eAAK,QAAU,eAAK,OAAS,gBAAM,OAAS,CAAC,SAAW,kBAAQ,SAAW,CAAC,MAAQ,eAAK,gBAAkB,CAAC,MAAQ,uCAAS,UAAY,0MAAqC,sBAAwB,iOAAwC,cAAgB,2BAAO,OAAS,2BAAO,eAAiB,iLAAgC,gBAAkB,2BAAO,wBAA0B,4SAAsE,iBAAmB,2BAAO,yBAA2B,KAAK,iBAAmB,2BAAO,yBAA2B,KAAK,2BAA6B,2BAAO,mCAAqC,+PAA6C,kCAAoC,eAAU,cAAgB,mDAAW,sBAAwB,6LAAkC,QAAU,CAAC,MAAQ,eAAK,OAAS,oB,qBCAn7C,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,aAAe,CAAC,UAAY,kB,mBCA9CD,EAAOC,QAAU,CAAC,aAAe,CAAC,UAAY,oC,qBCA9C,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,cAAgB,CAAC,UAAY,iBAAiB,OAAS,CAAC,KAAO,CAAC,cAAgB,4BAA4B,UAAY,+BAA+B,YAAc,iCAAiC,YAAc,sC,mBCAtOD,EAAOC,QAAU,CAAC,cAAgB,CAAC,UAAY,2BAAO,OAAS,CAAC,KAAO,CAAC,cAAgB,+BAAqB,UAAY,6BAAmB,YAAc,+BAAqB,YAAc,oC,qBCA7L,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,UAAY,CAAC,UAAY,aAAa,eAAiB,oBAAoB,oBAAsB,sBAAsB,eAAiB,CAAC,MAAQ,UAAU,KAAO,gMAAgM,KAAO,CAAC,SAAW,WAAW,MAAQ,SAAS,QAAU,CAAC,wBAA0B,0CAA0C,KAAO,6BAA6B,KAAO,6BAA6B,IAAM,6BAA6B,KAAO,8BAA8B,GAAK,6DAA6D,MAAQ,uDAAuD,SAAW,yDAAyD,KAAO,CAAC,KAAO,kBAAkB,UAAY,CAAC,gBAAkB,+BAA+B,0BAA4B,6CAA6C,+BAAiC,yDAAyD,YAAc,iCAAiC,YAAc,wCAAwC,eAAiB,mCAAmC,qBAAuB,2CAA2C,qBAAuB,4CAA4C,iBAAmB,oBAAoB,UAAY,+CAA+C,cAAgB,mEAAmE,kBAAoB,eAAe,eAAiB,uBAAuB,mBAAqB,+BAA+B,iBAAmB,cAAc,WAAa,wBAAwB,gBAAkB,kFAAkF,KAAO,CAAC,KAAO,kBAAkB,UAAY,CAAC,YAAc,iCAAiC,aAAe,4BAA4B,QAAU,CAAC,KAAO,qBAAqB,UAAY,CAAC,eAAiB,oCAAoC,gBAAkB,+BAA+B,GAAK,CAAC,KAAO,gBAAgB,UAAY,CAAC,WAAa,uCAAuC,kBAAoB,iBAAiB,mBAAqB,+BAA+B,UAAY,6CAA6C,YAAc,+BAA+B,aAAe,iCAAiC,cAAgB,kCAAkC,UAAY,4BAA4B,gBAAkB,2DAA2D,gBAAkB,0CAA0C,eAAiB,iDAAiD,iBAAmB,uCAAuC,WAAa,gCAAgC,aAAe,4CAA4C,cAAgB,sDAAsD,eAAiB,0CAA0C,kBAAoB,qEAAqE,oBAAsB,2EAA2E,iBAAmB,oEAAoE,mBAAqB,kDAAkD,oBAAsB,mDAAmD,uBAAyB,wDAAwD,sBAAwB,mDAAmD,mBAAqB,6CAA6C,gBAAkB,wEAAwE,kBAAoB,yCAAyC,UAAY,8BAA8B,YAAc,yCAAyC,SAAW,sBAAsB,cAAgB,qF,oBCCp6HD,EAAOC,QAAU,CAAC,YAAY,mBAAmB,oBAAoB,2BAA2B,aAAa,oBAAoB,cAAc,qBAAqB,iBAAiB,wBAAwB,yBAAyB,gCAAgC,wBAAwB,+BAA+B,gCAAgC,uCAAuC,iBAAiB,wBAAwB,yBAAyB,gCAAgC,oBAAoB,2BAA2B,sBAAsB,6BAA6B,8BAA8B,qCAAqC,oCAAoC,2CAA2C,4BAA4B,mCAAmC,mCAAmC,0CAA0C,wBAAwB,+BAA+B,kBAAkB,yBAAyB,6BAA6B,oCAAoC,gBAAgB,uBAAuB,gBAAgB,uBAAuB,sBAAsB,6BAA6B,yBAAyB,gCAAgC,sBAAsB,6BAA6B,yBAAyB,gCAAgC,oCAAoC,2CAA2C,mCAAmC,0CAA0C,wCAAwC,+CAA+C,QAAU,iBAAiB,qCAAqC,4CAA4C,aAAa,oBAAoB,qBAAqB,4BAA4B,mBAAmB,0BAA0B,wBAAwB,+BAA+B,oBAAoB,2BAA2B,mBAAmB,0BAA0B,sBAAsB,6BAA6B,iBAAiB,wBAAwB,wBAAwB,+BAA+B,2CAA2C,kDAAkD,kBAAkB,yBAAyB,yBAAyB,gCAAgC,aAAe,sBAAsB,wCAAwC,+CAA+C,eAAiB,wBAAwB,iBAAiB,wBAAwB,wBAAwB,+BAA+B,cAAgB,uBAAuB,gBAAkB,yBAAyB,6BAA6B,oCAAoC,4BAA4B,mCAAmC,wBAAwB,+BAA+B,kBAAkB,yBAAyB,wBAAwB,+BAA+B,yBAAyB,gCAAgC,iCAAiC,wCAAwC,+BAA+B,sCAAsC,gCAAgC,uCAAuC,kCAAkC,yCAAyC,kCAAkC,yCAAyC,iCAAiC,wCAAwC,wBAAwB,+BAA+B,iBAAiB,wBAAwB,0BAA0B,iCAAiC,WAAa,oBAAoB,gBAAkB,yBAAyB,QAAU,iBAAiB,SAAW,kBAAkB,gBAAkB,yBAAyB,uBAAyB,gCAAgC,cAAgB,uBAAuB,gBAAkB,yBAAyB,kBAAoB,6B,mBCD1zHD,EAAOC,QAAU,CAAC,UAAY,CAAC,UAAY,uCAAS,eAAiB,mDAAW,oBAAsB,6CAAU,eAAiB,CAAC,MAAQ,eAAK,KAAO,8TAAwF,KAAO,CAAC,SAAW,eAAK,MAAQ,gBAAM,QAAU,CAAC,wBAA0B,6DAA+B,KAAO,+BAAgB,KAAO,+BAAgB,IAAM,+BAAgB,KAAO,+BAAgB,GAAK,iHAAsC,MAAQ,2GAAgC,SAAW,qGAAoC,KAAO,CAAC,UAAY,CAAC,+BAAiC,kEAA0B,gBAAkB,iFAA8C,GAAK,CAAC,UAAY,CAAC,cAAgB,oF,qBCAxuB,IAAIZ,EAAM,CACT,YAAa,KACb,YAAa,MAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,M,mBCvBpBQ,EAAOC,QAAU,CAAC,OAAS,CAAC,QAAU,CAAC,MAAQ,4BAA4B,QAAU,uBAAuB,WAAa,OAAO,gBAAkB,uDAAuD,KAAO,CAAC,SAAW,WAAW,iBAAmB,+DAA+D,SAAW,WAAW,OAAS,UAAU,UAAY,CAAC,MAAQ,mBAAmB,OAAS,CAAC,MAAQ,WAAW,YAAc,gEAAgE,UAAY,CAAC,MAAQ,6BAA6B,OAAS,CAAC,MAAQ,qBAAqB,YAAc,sDAAsD,KAAO,QAAQ,IAAM,CAAC,OAAS,oCAAoC,OAAS,CAAC,MAAQ,MAAM,YAAc,6CAA6C,gBAAkB,iCAAiC,YAAc,CAAC,MAAQ,2BAA2B,IAAM,CAAC,KAAO,CAAC,QAAU,YAAY,MAAQ,CAAC,MAAQ,qBAAqB,aAAe,4B,mBCAv+BD,EAAOC,QAAU,CAAC,OAAS,CAAC,QAAU,CAAC,MAAQ,sCAAkB,QAAU,2BAAO,WAAa,eAAK,gBAAkB,0DAA0D,KAAO,CAAC,SAAW,qBAAM,iBAAmB,mHAA8B,SAAW,eAAK,OAAS,eAAK,UAAY,CAAC,MAAQ,+BAAW,OAAS,CAAC,MAAQ,mBAAS,YAAc,+FAAoB,UAAY,CAAC,MAAQ,iCAAQ,OAAS,CAAC,MAAQ,qBAAM,YAAc,kFAAiB,KAAO,sBAAO,IAAM,CAAC,OAAS,wDAAgB,OAAS,CAAC,MAAQ,MAAM,YAAc,qDAAa,gBAAkB,mDAAW,YAAc,CAAC,MAAQ,0CAAY,IAAM,CAAC,KAAO,CAAC,QAAU,gBAAM,MAAQ,CAAC,MAAQ,2BAAO,aAAe,qC,2JCChrBC,IAA0BC,IAAmB,I,+BCI7C,GAAIC,IAAe,CAIjBC,QAAQC,IAAI,oBAHIC,gBAShBC,IAAY,CACVC,IAAKF,4EACLG,aAAc,CAAC,IAAIC,IAAaC,gBAChCC,iBAPuB,GASvBC,QAdcP,eAedQ,YAAaR,e,mKCbIS,E,WAGnB,WAA0BC,GAAyB,yBAAzBA,aAAwB,KAF3CC,cAAgB,GAE2B,KAD3CC,KAAO,G,qDAsCLC,GAuBP,OAtBIA,EAAIC,cACNC,IAAqBF,EAAIC,cAG3BE,IACEH,EAAI5B,GACJwB,EAAYQ,eAAeJ,EAAIK,UAAW,oBAC1C,WACE,OAAOC,IAA8BN,EAAIO,gBAE3C,CACEC,SAAUC,KACVT,QAGCA,EAAIU,aACPV,EAAIU,WAAaV,EAAIO,cAElBE,KAAKX,gBAAiBE,EAAIW,kBAC7BF,KAAKX,cAAgBE,EAAIU,YAE3BD,KAAKV,KAAKC,EAAI5B,IAAM4B,EACbS,O,yCAOP,OAAOA,KAAKX,eAAiB,M,qCAQ7B,IADA,IAAMc,EAAcT,MACXlD,EAAI,EAAGA,EAAI2D,EAAY7E,OAAQkB,IAAK,CAC3C,IAAM+C,EAAMY,EAAY3D,GACxB,QAAuB4D,IAAnBJ,KAAKV,KAAKC,GACZ,OAAOS,KAAKV,KAAKC,Q,KAjFJJ,EAKZQ,eAAiB,SAAUU,EAA0BC,GAC1D,IAAMC,EAAkBC,YAAe,CACrCC,UACAC,aACAC,kBAAkB,WAAD,4BAAE,4BAAAC,EAAA,sEACOP,IADP,YACXQ,EADW,QAEHC,QAFG,yCAGRD,EAAUC,SAHF,gCAKVD,GALU,2CAAF,kDAAC,GAOlBE,iBAAkB,kBAAMC,SAASC,eAAeX,MAElD,MAAO,CACLY,UAAW,CAACX,EAAgBW,WAC5BC,MAAO,CAACZ,EAAgBY,OACxBC,QAAS,CAACb,EAAgBa,W,YCxB1BC,EAA4B,CAChCC,SAAS,EACTC,KAAM,IAKD,SAASC,EAAeC,GAC7BC,aAAaC,QAHI,wBAGgBC,KAAKC,UAAUJ,IAG3C,SAASK,IACd,IAAM/E,EAAI2E,aAAaK,QAPN,yBAQjB,GAAU,OAANhF,EACF,OAAOsE,EAET,IAAMW,EAAMJ,KAAKK,MAAMlF,GACvB,OAAMiF,GAAOA,EAAIE,cAAgB1H,OACxBwH,EAEFX,E,8LCzBT,SAASc,IAA2Q,OAA9PA,EAAW3H,OAAO4H,QAAU,SAAUC,GAAU,IAAK,IAAI7F,EAAI,EAAGA,EAAI8F,UAAUhH,OAAQkB,IAAK,CAAE,IAAI+F,EAASD,UAAU9F,GAAI,IAAK,IAAIhB,KAAO+G,EAAc/H,OAAOgI,UAAUC,eAAeC,KAAKH,EAAQ/G,KAAQ6G,EAAO7G,GAAO+G,EAAO/G,IAAY,OAAO6G,IAA2BM,MAAM3C,KAAMsC,WAEhT,SAASM,EAAyBL,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkE/G,EAAKgB,EAAnE6F,EAEzF,SAAuCE,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2D/G,EAAKgB,EAA5D6F,EAAS,GAAQS,EAAatI,OAAOC,KAAK8H,GAAqB,IAAK/F,EAAI,EAAGA,EAAIsG,EAAWxH,OAAQkB,IAAOhB,EAAMsH,EAAWtG,GAAQqG,EAASpG,QAAQjB,IAAQ,IAAa6G,EAAO7G,GAAO+G,EAAO/G,IAAQ,OAAO6G,EAFxMU,CAA8BR,EAAQM,GAAuB,GAAIrI,OAAOwI,sBAAuB,CAAE,IAAIC,EAAmBzI,OAAOwI,sBAAsBT,GAAS,IAAK/F,EAAI,EAAGA,EAAIyG,EAAiB3H,OAAQkB,IAAOhB,EAAMyH,EAAiBzG,GAAQqG,EAASpG,QAAQjB,IAAQ,GAAkBhB,OAAOgI,UAAUU,qBAAqBR,KAAKH,EAAQ/G,KAAgB6G,EAAO7G,GAAO+G,EAAO/G,IAAU,OAAO6G,EAMne,IAAI,EAAqB,IAAMc,cAAc,QAAS,KAAM,mBAExD,EAAqB,IAAMA,cAAc,OAAQ,CACnDxF,GAAI,YACJyF,UAAW,MACXC,EAAG,qFAGD,EAAqB,IAAMF,cAAc,OAAQ,CACnDxF,GAAI,YACJyF,UAAW,MACXC,EAAG,oDAGD,EAAqB,IAAMF,cAAc,OAAQ,CACnDxF,GAAI,YACJyF,UAAW,MACXC,EAAG,yHAGD,EAAmB,SAA0BC,GAC/C,IAAIC,EAASD,EAAKC,OACdC,EAAQF,EAAKE,MACbC,EAAQb,EAAyBU,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMH,cAAc,MAAOhB,EAAS,CACtDuB,QAAS,cACTC,MAAO,CACLC,iBAAkB,mBAEpBC,IAAKN,GACJE,GAAQD,EAAqB,IAAML,cAAc,QAAS,KAAMK,GAAS,KAAM,EAAO,EAAO,EAAO,IAGrGM,GAAa,IAAMC,YAAW,SAAUN,EAAOI,GACjD,OAAoB,IAAMV,cAAc,EAAkBhB,EAAS,CACjEoB,OAAQM,GACPJ,O,IAEU,I,6BCJA,SAASO,GAAT,GAKX,IAJFC,EAIC,EAJDA,UACAC,EAGC,EAHDA,eACAC,EAEC,EAFDA,UACAC,EACC,EADDA,SAEQjK,EAAMkK,cAANlK,EACFmK,EAAYC,iBAAO,MACnBC,EAAaC,YAAQH,GACrBI,EAAcC,YAAU,CAC5BC,QAAST,EAAY,EAAI,EACzBU,OAAQV,EAxCS,GAwCkBK,EAAWK,QAAU,IAEpDC,EAAcH,YAAU,CAC5BI,KAAMZ,EAAY,EAAIF,EA5CN,GA6ChBe,MAAOb,EAAYD,EA7CH,KAgDZe,EAAUC,KAAMC,UAAS,SAACpI,GAAD,OAAOA,EAAEkI,WAElCG,EAAUC,mBAAQ,WACtB,OAAIJ,EAhDR,SAAsBzI,EAAqBrC,GACzC,IAAKqC,EAAE4I,QACL,OAAO,KAET,GAA6B,OAAzB5I,EAAE4I,QAAQE,WAAqB,CAEjC,GAAmC,YAA/B9I,EAAE4I,QAAQG,iBAAgC,CAC5C,IAAIC,EAAUhJ,EAAE4I,QAAQG,iBAKxB,OAJI/I,EAAE4I,QAAQK,iBACZD,GAAO,WAAQhJ,EAAE4I,QAAQK,eAAeC,OAAO,EAAG,KAG7CF,EAET,OAAIhJ,EAAE4I,QAAQG,iBAEN,IAAN,OAAW/I,EAAE4I,QAAQG,kBAEhB,KAGT,OAAI/I,EAAE4I,QAAQO,WAEN,GAAN,OAAUxL,EAAE,aAAZ,YAA4BqC,EAAE4I,QAAQO,iBAFxC,EA4BWC,CAAaX,EAAS9K,GAExB,OACN,CAAC8K,EAAS9K,IAEb,OACE,yBAAKiJ,UAAWyC,KAAOC,OAAQC,QAAS3B,GACtC,kBAAC,IAAS4B,IAAV,CACErC,MAAOe,EACPtB,UAAWyC,KAAOI,4BAElB,yBACEpC,IAAKS,EACLlB,UAAWyC,KAAOK,WAClBvC,MAAO,CAAEqB,MAAOf,EAlEN,KAoEV,kBAAC,IAAD,CAASkC,cAAc,OACrB,yBAAK/C,UAAWyC,KAAOO,YACrB,kBAAC,GAAD,CAAMvB,OAAQ,MAEhB,yBAAKzB,UAAWyC,KAAOQ,eACrB,yBAAKjD,UAAWyC,KAAOS,aACpBnM,EAAE,eADL,cAGA,yBAAKiJ,UAAWyC,KAAOU,eACpBnB,GAAW,uBAMtB,kBAAC,IAASY,IAAV,CAAcrC,MAAOmB,EAAa1B,UAAWyC,KAAOW,aACjDrC,EACC,kBAACsC,EAAA,EAAD,CAAoB9C,MAAO,CAAE+C,OAAQ,UAErC,kBAACC,EAAA,EAAD,CAAkBhD,MAAO,CAAE+C,OAAQ,Y,yBCzF7C,SAASE,GAAe7G,EAAU8G,EAAOrD,EAAgBsD,GAAqB,IACpE3M,EAAMkK,cAANlK,EACFoF,EAAMQ,EAAST,KAAKuH,GAC1B,OAAKtH,EAIH,sBAAMwH,KAAN,CAAWvL,IAAKqL,GACd,kBAAC,IAAD,CAAMG,GAAIzH,EAAIU,WAAYtC,GAAIkJ,IAC1BC,GAAYvH,EAAI0H,KAAO,kBAAC1H,EAAI0H,KAAL,MAAe,KACxC,8BAAOzD,GAAgBrJ,EAAE,GAAD,OAAI0M,EAAJ,cAAuBA,MAN5C,KA2KIK,OApJf,YAQI,IAPFnH,EAOC,EAPDA,SACAkE,EAMC,EANDA,UACAkD,EAKC,EALDA,iBACAhD,EAIC,EAJDA,UACAD,EAGC,EAHDA,eACAE,EAEC,EAFDA,SACAgD,EACC,EADDA,eAEQjN,EAAMkK,cAANlK,EACFkN,EArBR,SAAwBtH,GAAW,IAAD,EACXoF,mBAAS,IADE,mBACzB0B,EADyB,KAClBS,EADkB,KAQhC,OANAC,YAAiB,4BAA4B,WAC3C,IAAMC,EAAYzH,EAAS0H,eACvBD,GACFF,EAAIE,EAAU7J,OAGXkJ,EAaaa,CAAe3H,GAE7B4H,EAASzC,KAAMC,UAAS,SAACpI,GAAD,OAAOA,EAAE4K,UACjC1C,EAAUC,KAAMC,UAAS,SAACpI,GAAD,OAAOA,EAAEkI,WAElC2C,EAAwB,CAC5BhB,GAAe7G,EAAU,qBAAsB,IAAI,GACnD6G,GAAe7G,EAAU,uBAAwB,IAAI,IAiBjD8H,EAAoB,CAbxB,sBAAMC,QAAN,CACEtM,IAAI,YACJgI,MACE,8BACE,kBAACuE,EAAA,EAAD,MACA,8BAAO5N,EAAE,0BAIZyN,GAMHhB,GAAe7G,EAAU,cAGrBiI,EACJ,sBAAMF,QAAN,CACEtM,IAAI,QACJgI,MACE,8BACE,kBAACyE,EAAA,EAAD,MACA,8BAAO9N,EAAE,sBAIZ0N,GAICK,EAA2B,CAC/BtB,GAAe7G,EAAU,gBACzB6G,GAAe7G,EAAU,kBAErBoI,EACJ,sBAAML,QAAN,CACEtM,IAAI,eACJgI,MACE,8BACE,kBAAC4E,EAAA,EAAD,MACA,8BAAOjO,EAAE,6BAIZ+N,GAICG,EAAY,CAChBzB,GAAe7G,EAAU,YACzB6G,GAAe7G,EAAU,gBACzB6G,GAAe7G,EAAU,aACzB6G,GAAe7G,EAAU,cACzB6G,GAAe7G,EAAU,UACzB6G,GAAe7G,EAAU,YACzB6G,GAAe7G,EAAU,eAGzBiI,IAGF,OAAI/C,QAAJ,IAAIA,OAAJ,EAAIA,EAASqD,sBACXD,EAAU9M,KAAK4M,GAGjB,IAAII,GAAoB,OAANZ,QAAM,IAANA,OAAA,EAAAA,EAAQa,eAAgB,MAEpCC,EAAiB,CACrB7B,GAAe7G,EAAU,sBACzB6G,GAAe7G,EAAU,eAAgBwI,IAGrCG,EAAa/D,YAAU,CAC3BK,MAAOb,EAAYD,EAAiBD,IAGhC0E,EAAkBtD,mBAAQ,WAC9B,OAAI8B,EACK,GAEA,CAAC,QAAS,eAAgB,eAElC,CAACA,IAEJ,OACE,kBAAC,IAASnB,IAAV,CAAcrC,MAAO+E,GACnB,sBAAQxB,MAAR,CACE9D,UAAWyC,KAAO+C,MAClB5D,MAAOf,EACP4E,QAAS,KACTC,aAAW,EACX3E,UAAWA,EACXD,eAAgBD,EAChBkD,iBAAkBA,EAClB4B,MAAM,SAEN,kBAAC,GAAD,CACE5E,UAAWA,EACXC,SAAUA,EACVH,UAAWA,EACXC,eAAgBA,IAElB,uBACE8E,iBAAkB5B,EAClB6B,kBAAmB7B,EAAiB,GACpC8B,KAAK,SACLC,aAAc,CAAC9B,GACf1D,MAAO,CAAEyF,SAAU,GACnBT,gBAAiBA,GAEhBN,GAEH,uBACEW,iBAAkB5B,EAClB6B,kBAAmB7B,EACnB8B,KAAK,SACLC,aAAc,CAAC9B,IAEdoB,M,qBCpKX,SAASY,KACP,IAAMC,EAAQtI,SAASuI,YAAY,cACnCD,EAAME,UAAU,UAAU,GAAM,GAChCtM,OAAOuM,cAAcH,GA0BR,SAASI,GAAT,GAA4B,IAAb3J,EAAY,EAAZA,SAAY,EACN4J,YAChC,0BACA,GAHsC,mBACjCxF,EADiC,KACtByF,EADsB,OAKbzE,mBAAShB,GAA7BgD,EALiC,sBAvBb,SAAChD,GAAe,IAAD,EACdgB,mBAZX,KAWyB,mBACnC0E,EADmC,KAC3BC,EAD2B,KAEpCC,EAAmBC,uBAAY,WAC9B7F,GACH2F,EAfa,OAiBd,CAAC3F,IACE8F,EAAmBD,uBACvB,YAAY,IAATE,EAAQ,EAARA,EACG/F,GAAa+F,GAjBMC,OAkBrBL,EApBoB,MAuBxB,CAAC3F,IAGH,OADAiG,oBAAUf,GAAoB,CAACQ,IACxB,CACLQ,kBAAmBR,EACnBE,mBACAE,oBAcEK,CAAqBnG,GAHvBkG,EAPsC,EAOtCA,kBACAN,EARsC,EAQtCA,iBACAE,EATsC,EAStCA,iBAEIM,EAAmB5F,YAAU,CACjCuF,EAAG/F,GA5CwBqG,IA4Ca,EACxCC,QAASV,EACTW,QAAST,IAELU,EAAiBhG,YAAU,CAC/BC,QAAS,EACTgG,KAAM,CAAEhG,QAAS,GACjBiG,MAAO,MAGHC,EAAed,uBAAY,WAC/BJ,GAAa,SAACmB,GAAD,OAAQA,OACpB,CAACnB,IAEIxK,EAAeW,EAAfX,WAER,OACE,kBAAC,IAAD,KACE,kBAAC,IAAD,KACE,kBAAC,IAAS4G,IAAV,CAAc5C,UAAWyC,KAAOmF,UAAWrH,MAAOgH,IAC9CvL,EAAWkC,SACX,oCACE,kBAAC,GAAD,CACEvB,SAAUA,EACVkE,UAtEG,IAuEHG,SAAU0G,EACV3D,iBAAkBA,EAClBhD,UAAWA,EACXD,eAzEY,GA0EZkD,eAAgB,IAElB,kBAAC,IAASpB,IAAV,CACE5C,UAAWyC,KAAOoF,YAClBtH,MAAO,CACLoB,KAAK,GAAD,OAhFH,IAgFG,MACJmG,UAAWX,EAAiBL,EAAEiB,aAC5B,SAACjB,GAAD,4BAAsBA,EAAtB,oBAMV,yBACE9G,UAAWyC,KAAOuF,QAClBzH,MACEvE,EAAWkC,QACP,GACA,CACE+J,WAAYhB,IAIpB,yBAAK1M,GAAG,wB,iPC5GpB,SAAS,KAA2Q,OAA9P,GAAWnD,OAAO4H,QAAU,SAAUC,GAAU,IAAK,IAAI7F,EAAI,EAAGA,EAAI8F,UAAUhH,OAAQkB,IAAK,CAAE,IAAI+F,EAASD,UAAU9F,GAAI,IAAK,IAAIhB,KAAO+G,EAAc/H,OAAOgI,UAAUC,eAAeC,KAAKH,EAAQ/G,KAAQ6G,EAAO7G,GAAO+G,EAAO/G,IAAY,OAAO6G,IAA2BM,MAAM3C,KAAMsC,WAEhT,SAAS,GAAyBC,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAAkE/G,EAAKgB,EAAnE6F,EAEzF,SAAuCE,EAAQM,GAAY,GAAc,MAAVN,EAAgB,MAAO,GAAI,IAA2D/G,EAAKgB,EAA5D6F,EAAS,GAAQS,EAAatI,OAAOC,KAAK8H,GAAqB,IAAK/F,EAAI,EAAGA,EAAIsG,EAAWxH,OAAQkB,IAAOhB,EAAMsH,EAAWtG,GAAQqG,EAASpG,QAAQjB,IAAQ,IAAa6G,EAAO7G,GAAO+G,EAAO/G,IAAQ,OAAO6G,EAFxM,CAA8BE,EAAQM,GAAuB,GAAIrI,OAAOwI,sBAAuB,CAAE,IAAIC,EAAmBzI,OAAOwI,sBAAsBT,GAAS,IAAK/F,EAAI,EAAGA,EAAIyG,EAAiB3H,OAAQkB,IAAOhB,EAAMyH,EAAiBzG,GAAQqG,EAASpG,QAAQjB,IAAQ,GAAkBhB,OAAOgI,UAAUU,qBAAqBR,KAAKH,EAAQ/G,KAAgB6G,EAAO7G,GAAO+G,EAAO/G,IAAU,OAAO6G,EAMne,ICqBKiJ,GDrBD,GAAqB,IAAMnI,cAAc,QAAS,KAAM,mBAExD,GAAqB,IAAMA,cAAc,OAAQ,CACnDC,UAAW,MACXC,EAAG,+GAGD,GAAqB,IAAMF,cAAc,IAAK,KAAmB,IAAMA,cAAc,OAAQ,CAC/FE,EAAG,u9FAGD,GAAU,SAAiBC,GAC7B,IAAIC,EAASD,EAAKC,OACdC,EAAQF,EAAKE,MACbC,EAAQ,GAAyBH,EAAM,CAAC,SAAU,UAEtD,OAAoB,IAAMH,cAAc,MAAO,GAAS,CACtD+G,EAAG,EACHqB,EAAG,EACH7H,QAAS,aACTC,MAAO,CACLC,iBAAkB,kBAEpB4H,SAAU,WACV3H,IAAKN,GACJE,GAAQD,EAAqB,IAAML,cAAc,QAAS,KAAMK,GAAS,KAAM,GAAoB,IAAML,cAAc,OAAQ,CAChIQ,MAAO,CACL8H,KAAM,WAERpI,EAAG,0DACD,GAAO,KAGT,GAAa,IAAMU,YAAW,SAAUN,EAAOI,GACjD,OAAoB,IAAMV,cAAc,GAAS,GAAS,CACxDI,OAAQM,GACPJ,O,IAEU,I,kBEzCf,SAASiI,GAAgBpQ,GAIvB,IAHA,IAAIqQ,EAAO,GACLC,EACJ,iEACOpP,EAAI,EAAGA,EAAIlB,EAAQkB,IAC1BmP,GAAQC,EAASC,OAAOC,KAAKC,MAAMD,KAAKE,SAAWJ,EAAStQ,SAE9D,OAAOqQ,EAGT,SAASM,KACP,MAAM,GAAN,OAAU/O,OAAOC,SAAS+O,SAA1B,aAAuChP,OAAOC,SAASgP,MAAvD,OAA8DjP,OAAOC,SAASiP,UAGhF,SAASC,KACP,MAAM,GAAN,OAAUJ,KAAV,mBAGK,SAAeK,KAAtB,gC,8CAAO,gCAAA1L,EAAA,6DACC2L,EAAeb,GAAgB,KAC/Bc,EAAQd,GAAgB,IAE9Be,eAAe9K,QAAQ,mBAAoB4K,GAC3CE,eAAe9K,QAAQ,YAAa6K,GAL/B,SAMcE,IAChBC,cACAC,kBAAkBL,EAAcF,KAAkBG,GARhD,cAMCK,EAND,yBASEA,EAAKC,MATP,4C,sBAYA,SAASC,KAEd,OADU,IAAIC,gBAAgB9P,OAAOC,SAAS8P,QACrCC,IAAI,gB,SAGAC,K,8EAAf,8BAAAvM,EAAA,0DACQwM,EAAI,IAAIJ,gBAAgB9P,OAAOC,SAAS8P,SACxCI,IAAI,WAAaZ,eAAe1K,QAAQ,aAFhD,sBAGU,IAAI/D,MACR,iFAJN,uBAOkB0O,IAAOC,cAAcW,UACnC,CACEC,KAAMC,IAAUC,IAChBC,MAAO9L,KAAKC,UAAU,CACpB5D,KAAMmP,EAAEC,IAAI,QACZM,cAAelB,eAAe1K,QAAQ,oBACtC6L,aAAcvB,QAGlB,CAAEwB,cAAeC,IAAcC,SAhBnC,OAOQC,EAPR,OAmBEvB,eAAewB,WAAW,oBAC1BxB,eAAewB,WAAW,aAE1BC,IAAkBF,EAAElB,KAAKqB,OACzBjR,OAAOC,SAASiR,QAAQnC,MAvB1B,6C,sBA0BO,SAAeoC,KAAtB,gC,8CAAO,sBAAAzN,EAAA,+EAEGuM,KAFH,sDAIH,IAAMmB,MAAM,CACV9K,MAAO,qBACP4H,QAAS,QACTmD,OAAQ,gBACRC,KAAM,kBAAMtR,OAAOC,SAASiR,QAAQnC,SARnC,yD,sBD9BP,SAASwC,GAAT,GAA2C,IAAZ1I,EAAW,EAAXA,QACrB5L,EAAMkK,cAANlK,EACR,OACE,yBAAKiJ,UAAWsL,KAAG7I,KAAO8I,UAAW9I,KAAO+I,YAC1C,uBAAG7I,QAASA,GACV,kBAAC8I,GAAA,EAAD,MADF,IACoB1U,EAAE,iCAM5B,SAAS2U,KACP,OACE,yBAAK1L,UAAWyC,KAAO8I,WACrB,kBAACI,GAAA,EAAD,KACE,2BACE,kBAACC,GAAA,EAAD,MADF,oBACqC,kBAACC,GAAA,EAAD,SAc7C,SAASC,GAAT,GAKiC,IAJ/B1L,EAI8B,EAJ9BA,MACA2L,EAG8B,EAH9BA,YACA/L,EAE8B,EAF9BA,UACGgM,EAC2B,oDAC9B,OACE,0CAAQhM,UAAWsL,KAAGtL,EAAWyC,KAAOwJ,oBAAwBD,GAC9D,yBAAKhM,UAAWyC,KAAOrC,OAAQA,GAC/B,6BACE,uBAAY8L,KAAZ,CAAiB/B,KAAK,aACpB,+BAAQ4B,KAGZ,yBAAK/L,UAAWyC,KAAOoB,MACrB,kBAACsI,GAAA,EAAD,QAMR,SAASC,GAAT,GAMI,IALFpM,EAKC,EALDA,UACAqM,EAIC,EAJDA,QACAC,EAGC,EAHDA,aACAC,EAEC,EAFDA,mBACGP,EACF,4EACOjV,EAAMkK,cAANlK,EAER,OACE,uCAAKiJ,UAAWsL,KAAGtL,EAAWyC,KAAO+J,uBAA2BR,GAC9D,yBAAKhM,UAAWyC,KAAOgK,iBACrB,yBAAKzM,UAAWyC,KAAOiK,QACrB,4BACE,uBAAM/I,KAAN,KACE,4BACE,kBAAC,IAAD,CACEZ,cAAc,MACd4J,eAAe,gBACfC,WAAW,UAEX,6BAAM7V,EAAE,kCACR,4BACEiJ,UAAWyC,KAAOoK,uBAClBlK,QAAS0J,GAET,kBAACS,GAAA,EAAD,UAKR,uBAAMnJ,KAAN,KACE,kBAACmI,GAAD,CACE1L,MAAOrJ,EAAE,sCACTgV,YAAahV,EAAE,4CACf4L,QAAS,kBAAM2J,EAAapE,GAAgB6E,oBAGhD,uBAAMpJ,KAAN,KACE,kBAACmI,GAAD,CACE1L,MAAOrJ,EAAE,sCACTgV,YAAahV,EAAE,4CACf4L,QAAS,kBAAM2J,EAAapE,GAAgB8E,eAG/CC,QAAQV,EAAmBlT,QAAQ+Q,IAAUC,MAAQ,IACpD,uBAAM1G,KAAN,KACE,kBAACmI,GAAD,CACE1L,MAAOrJ,EAAE,gCACTgV,YAAahV,EAAE,sCACf4L,QAAS,kBAAM2J,EAAapE,GAAgBgF,SAIlD,kBAACxB,GAAD,UAQZ,SAASyB,GACPC,EACAC,EACAC,EACAC,GACC,IACOxW,EAAMkK,cAANlK,EADR,EAE8BgL,oBAAS,GAFvC,mBAEOyL,EAFP,KAEgBC,EAFhB,OAG0B1L,mBAAoC,MAH9D,mBAGOmJ,EAHP,KAGcwC,EAHd,KAKMC,EAAgB/G,uBAAY,WAChC8G,EAAS,QACR,IAwCH,MAAO,CAAEE,aAtCYC,aAAY,uCAAC,WAAOC,GAAP,mBAAAtQ,EAAA,sEAE9BmQ,IACAF,GAAW,GAHmB,SAIdnE,IAAOC,cAAcW,UAAUmD,EAAYS,GAAO,CAChErD,cAAeC,IAAcC,SALD,OAIxBC,EAJwB,OAO9BE,IAAkBF,EAAElB,KAAKqB,OACzBgD,GAAA,EAAQC,QAAQjX,EAAE,2BAClBuF,IAAwB8Q,GACxBE,EAAUQ,GAVoB,kDAYzB,KAAEG,UACCC,EAASnX,EAAE,uBAAwB,CAAEoX,IAAK,KAAEJ,UAEhDK,KACc,2CAAd,KAAEC,QAEFX,EAASQ,IAGHI,EACJ,oCACGJ,EACD,uBAAGK,KAAMxX,EAAE,mCACRA,EAAE,+BAIT2W,EAASY,IAEXf,KA/B4B,yBAkC9BE,GAAW,GAlCmB,6EAAD,uDAsCVD,UAASgB,SAAUtD,EAAOyC,kB,SA5K9CzF,O,iCAAAA,I,mCAAAA,I,yBAAAA,I,cAAAA,Q,KAiLL,SAASuG,GAAT,GAII,IAHFrB,EAGC,EAHDA,aACAsB,EAEC,EAFDA,mBAEC,IADDC,0BACC,SACO5X,EAAMkK,cAANlK,EADP,EAGiB,KAAK6X,UAAhBC,EAHN,oBAIKC,EAAc3N,iBAAc,MAJjC,EAM0DgM,GACzDC,GACA,SAACU,GAAD,MAAW,CACTiB,SAAUjB,EAAKiB,SACfC,SAAUlB,EAAKkB,SACf7E,KAAMC,IAAU6E,YAElB,SAACnB,GACCxP,aAAaC,QApBa,gCAoBoBuP,EAAKiB,aAErD,WACEF,EAAQK,eAAe,CAAEF,SAAU,KACnCG,YAAW,WAAO,IAAD,EACf,UAAAL,EAAYM,eAAZ,SAAqBC,UACpB,MAdCzB,EANP,EAMOA,aAAcJ,EANrB,EAMqBA,QAASgB,EAN9B,EAM8BA,SAAUb,EANxC,EAMwCA,cAkBzC2B,cAAS,WAAO,IAAD,EACF,OAAXR,QAAW,IAAXA,GAAA,UAAAA,EAAaM,eAAb,SAAsBC,WAGxB,IAAME,EAAoBtN,mBAAQ,WAChC,OAAO3D,aAAaK,QAnCQ,kCAmC4B,SACvD,IAEH,OACE,yBAAKqB,UAAWyC,KAAOgK,iBACrB,yBAAKzM,UAAWyC,KAAOiK,QACrB,wBACErU,KAAK,cACLmX,SAAU5B,EACV6B,OAAO,WACPC,cAAe,CAAEX,SAAUQ,GAC3BzB,KAAMe,GAEN,kBAAC,GAAD,CAAM7O,UAAWyC,KAAOkN,OACxB,uBAAMhM,KAAN,KACE,4BAAK5M,EAAE,iCAET,uBAAM4M,KAAN,CACEtL,KAAK,WACLuX,MAAO7Y,EAAE,wBACT8Y,MAAO,CAAC,CAAEC,UAAU,IACpBC,SAAUpB,GAAsB5X,EAAE,iCAElC,wBACEiZ,QAASrC,EACTsC,OAAQ,kBAACC,GAAA,EAAD,MACRC,UAAWxB,KAGf,uBAAMhL,KAAN,eACEyM,WAAS,4BACT/X,KAAK,WACLuX,MAAO7Y,EAAE,yBACJyX,GAAY,CACf6B,KAAM7B,EACN8B,eAAgB,UAGlB,wBACEL,OAAQ,kBAACM,GAAA,EAAD,MACRpG,KAAK,WACLgG,SAAU3C,EACVwC,QAASrC,EACTlN,IAAKqO,EACLsB,WAAS,2BAGb,uBAAMzM,KAAN,KACE,wBACEyM,WAAS,gBACTjG,KAAK,UACLqG,SAAS,SACTC,KAAK,QACLjD,QAASA,EACTxN,UAAWyC,KAAOiO,aAClBC,OAAK,GAEJ5Z,EAAE,wBAGP,kBAACsU,GAAD,CAAqB1I,QAAS+L,IAC9B,kBAAChD,GAAD,SAOV,SAASkF,GAAT,GAA+D,IAArCxD,EAAoC,EAApCA,aAAcsB,EAAsB,EAAtBA,mBAC9B3X,EAAMkK,cAANlK,EADoD,EAG1C,KAAK6X,UAAhBC,EAHqD,oBAItDC,EAAc3N,iBAAc,MAJ0B,EAMDgM,GACzDC,GACA,SAACU,GAAD,MAAW,CACTkB,SAAUlB,EAAKjT,KACfsP,KAAMC,IAAUyG,gBAElB,eACA,WACEhC,EAAQK,eAAe,CAAErU,KAAM,KAC/BsU,YAAW,WAAO,IAAD,EACf,UAAAL,EAAYM,eAAZ,SAAqBC,UACpB,MAXCzB,EANoD,EAMpDA,aAAcJ,EANsC,EAMtCA,QAASgB,EAN6B,EAM7BA,SAAUb,EANmB,EAMnBA,cAmBzC,OAJA2B,cAAS,WAAO,IAAD,EACF,OAAXR,QAAW,IAAXA,GAAA,UAAAA,EAAaM,eAAb,SAAsBC,WAItB,yBAAKrP,UAAWyC,KAAOgK,iBACrB,yBAAKzM,UAAWyC,KAAOiK,QACrB,wBAAM8C,SAAU5B,EAAc6B,OAAO,WAAW3B,KAAMe,GACpD,kBAAC,GAAD,CAAM7O,UAAWyC,KAAOkN,OACxB,uBAAMhM,KAAN,KACE,4BAAK5M,EAAE,iCAET,uBAAM4M,KAAN,eACEtL,KAAK,OACLuX,MAAO7Y,EAAE,+BACJyX,GAAY,CACf6B,KAAM7B,EACN8B,eAAgB,UAGlB,wBACEL,OAAQ,kBAACM,GAAA,EAAD,MACRpG,KAAK,WACL6F,QAASrC,EACTwC,SAAU3C,EACV/M,IAAKqO,EACLgC,YAAU,KAGd,uBAAMnN,KAAN,KACE,wBACEwG,KAAK,UACLqG,SAAS,SACTC,KAAK,QACLjD,QAASA,EACTxN,UAAWyC,KAAOiO,aAClBC,OAAK,GAEJ5Z,EAAE,wBAGP,kBAACsU,GAAD,CAAqB1I,QAAS+L,IAC9B,kBAAChD,GAAD,SAOV,SAASqF,GAAT,GAA6D,EAApC3D,aAAqC,IAAvBsB,EAAsB,EAAtBA,mBAC7B3X,EAAMkK,cAANlK,EADmD,EAEzBgL,oBAAS,GAFgB,mBAEpDiP,EAFoD,KAEzCC,EAFyC,KAIrDC,EAAetK,sBAAW,sBAAC,4BAAApJ,EAAA,6DAC/ByT,GAAa,GADkB,kBAGX/H,KAHW,OAGvBiI,EAHuB,OAI7BrX,OAAOC,SAASwU,KAAO4C,EAJM,gDAO7BF,GAAa,GAPgB,yDAS9B,IAEH,OACE,yBAAKjR,UAAWyC,KAAOgK,iBACrB,yBAAKzM,UAAWyC,KAAOiK,QACrB,4BACE,kBAAC,GAAD,CAAM1M,UAAWyC,KAAOkN,OACxB,uBAAMhM,KAAN,KACE,wBACEwG,KAAK,UACLqG,SAAS,SACTC,KAAK,QACLjD,QAASwD,EACThR,UAAWyC,KAAOiO,aAClBC,OAAK,EACLhO,QAASuO,GAERna,EAAE,4BAGP,kBAACsU,GAAD,CAAqB1I,QAAS+L,IAC9B,kBAAChD,GAAD,SAwGKpF,OAjGf,YAA4B,IAAb3J,EAAY,EAAZA,SACPyQ,EAAenL,mBAAQ,4BAAUtF,EAASyU,sBAAsB,CACpEzU,IAFuB,EAI2BoF,oBAAS,GAJpC,mBAIlBsP,EAJkB,KAIEC,EAJF,OAKOvP,mBAASmG,GAAgBqJ,eALhC,mBAKlBC,EALkB,KAKRC,EALQ,OAM2B1P,mBAAwB,CAC1E,IAPuB,mBAMlBwK,EANkB,KAMEmF,EANF,OAS4B3P,oBAAS,GATrC,mBASlB4M,EATkB,KASEgD,EATF,KAWnBC,EAAyBhL,uBAAY,WACzC0K,GAAsB,KACrB,IAEGO,EAAyBjL,uBAAY,WACzC0K,GAAsB,KACrB,IAEGQ,EAAmBlL,uBAAY,SAACmL,GACpCN,EAAYM,GACZT,GAAsB,KACrB,IA4BH,OA1BAtK,qBAAU,WAAM,4CACd,sCAAAxJ,EAAA,+EAEuB8L,IAAOC,cAAcyI,mBAF5C,OAEUvI,EAFV,OAGUwI,EAAYxI,EAAKC,MAErB,oBAACuI,EAAUC,4BAAX,aAAC,EAAgC7Y,QAAQ+Q,IAAUC,YAAnD,SAA4D,IAAM,EAElEoH,EAAYvJ,GAAgBgF,KAE5BuE,EAAYvJ,GAAgB6E,gBAE9B2E,EAAqB,UAACO,EAAUC,4BAAX,QAAmC,IACxDP,EAAsB,UAACM,EAAUE,6BAAX,UAZ1B,kDAcI,IAAMjH,MAAM,CACV9K,MAAO,4BACP4H,QAAS,QACTmD,OAAQ,SACRC,KAAM,kBAAMtR,OAAOC,SAASqY,YAlBlC,2DADc,uBAAC,WAAD,wBAuBdC,KACC,IAGD,kBAAC,IAAD,KACE,yBAAKrS,UAAWyC,KAAOmF,WACrB,kBAAC,IAAD,CACE5H,UAAWyC,KAAO6P,iBAClBC,WAAW,iBAEX,kBAACC,GAAA,EAAD,CAAWC,QAASpB,EAAoBkB,WAAW,SAChD,gBAAGhS,EAAH,EAAGA,MAAOP,EAAV,EAAUA,UAAV,OACC,kBAACoM,GAAD,CACE7L,MAAOA,EACPP,UAAWA,EACXqM,QAASwF,EACTvF,aAAcwF,EACdvF,mBAAoBA,OAIzBiF,IAAatJ,GAAgB6E,gBAC5B,kBAAC0B,GAAD,CACErB,aAAcA,EACdsB,mBAAoBkD,EACpBjD,mBAAoBA,IAGvB6C,IAAatJ,GAAgB8E,WAC5B,kBAAC4D,GAAD,CACExD,aAAcA,EACdsB,mBAAoBkD,IAGvBJ,IAAatJ,GAAgBgF,KAC5B,kBAAC6D,GAAD,CACE3D,aAAcA,EACdsB,mBAAoBkD,KAI1B,kBAAC,IAAD,CACE5R,UAAWyC,KAAOiQ,QAClBH,WAAW,wBE1fN,IACbhY,GAAI,eACJmC,aAAc,gBACdmH,KAAMqM,KACN9T,aAAcuW,QACdnW,UAAW,kBAAM,uECLJ,IACbjC,GAAI,WACJmC,aAAc,YACdmH,K,QAAM+O,EACN9V,iBAAiB,EACjBV,aAAcuW,QACdnW,UAAW,kBAAM,8ECNJ,IACbjC,GAAI,eACJmC,aAAc,gBACdmH,K,QAAMgP,EACNzW,aAAcuW,QACdnW,UAAW,kBAAM,uDCLJ,IACbjC,GAAI,SACJmC,aAAc,UACdmH,K,QAAMiP,EACN1W,aAAcuW,QACdnW,UAAW,kBAAM,6ECLJ,IACbjC,GAAI,YACJmC,aAAc,aACdmH,K,QAAMkP,EACN3W,aAAcuW,QACdnW,UAAW,kBAAM,sECLJ,IACbjC,GAAI,aACJmC,aAAc,cACdmH,K,QAAMmP,EACN5W,aAAcuW,QACdnW,UAAW,kBAAM,+DCLJ,IACbjC,GAAI,WACJmC,aAAc,YACdmH,K,QAAMoP,EACN7W,aAAcuW,QACdnW,UAAW,kBAAM,sECLJ,IACbjC,GAAI,cACJmC,aAAc,eACdmH,K,QAAMqP,EACN9W,aAAcuW,QACdnW,UAAW,kBAAM,gECLJ,IACbjC,GAAI,qBACJmC,aAAc,sBACdmH,KAAMc,IACNvI,aAAcuW,QACdnW,UAAW,kBAAM,+DCLJ,IACbjC,GAAI,uBACJmC,aAAc,wBACdmH,KAAMc,IACNvI,aAAcuW,QACdnW,UAAW,kBACT,+DCNW,IACbjC,GAAI,eACJmC,aAAc,gBACdmH,K,QAAMsP,EACN/W,aAAcuW,QACdnW,UAAW,kBAAM,yDCLJ,IACbjC,GAAI,gBACJmC,aAAc,iBACdmH,K,QAAMuP,EACNhX,aAAcuW,QACdnW,UAAW,kBAAM,yDCLJ,IACbjC,GAAI,YACJmC,aAAc,aACdmH,K,QAAMwP,EACNjX,aAAcuW,QACdnW,UAAW,kBAAM,uECiCnB,SAAS8W,KACP,IAAMC,EAAU3V,SAASC,eAAe,0BACpC0V,GACFA,EAAQC,S,SAIGC,K,8EAAf,oCAAAjW,EAAA,6DACQa,EAAUK,KACJP,MACVrH,IAAQ4c,eAAerV,EAAQF,MAEjC9B,IACEsW,SANJ,kBAYiBgB,eAZjB,OAYIC,EAZJ,8DAcI,IAAM1I,MAAM,CACV9K,MAAM,8BACN4H,QAAS,QACTmD,OAAQ,SACRC,KAAM,kBAAMtR,OAAOC,SAASqY,YAE9BkB,KApBJ,kCAwBE,UAAIM,SAAJ,aAAI,EAAMC,oBACRC,cACMrb,EAAW6Q,IAAOyK,mBACxBC,YAA8Bvb,IAG1BkE,EAAW,IAAIZ,EAAYsC,GAEjC4V,IAAUC,UAAU,CAClBC,aAAa,IAEfra,OAAOsa,iBAAiB,mCAAmC,WACzDH,IAAU/P,IAAI,OAEhBpK,OAAOsa,iBAAiB,4BAA4B,WAClDH,IAAUI,MAAK,MAGjB/X,IACE,SACAP,EAAYQ,gBAAe,kBAAM+X,KAAY,SAC7C,WACE,OAAQ7X,QAEV,CAAEE,aAGJL,IACE,SACAP,EAAYQ,gBAAe,kBAAMgY,KAAc,SAC/C,WACE,OAAO9X,QAET,CAAEE,aAGJA,EACG6X,SAASC,IACTD,SAASE,IACTF,SAASG,IACTH,SAASI,IACTJ,SAASK,IACTL,SAASM,IACTN,SAASO,IACTP,SAASQ,IACTR,SAASS,IACTT,SAASU,IACTV,SAASW,IACTX,SAASY,IACTZ,SAASa,IAzEd,oBA8EUC,eA9EV,QAgFQ7Y,IAAwB,MAC1BH,IAAwB,IAAMK,EAASyU,oBAjF7C,2DAuFEtX,OAAOsa,iBAAiB,yBAAyB,WAC1C3X,OACEqO,OACHxO,IAAwB,IAAMG,QAKpC3C,OAAOsa,iBAAiB,0BAA0B,WAChDd,QAGFhX,MAnGF,kE,oEAsGA,4BAAAkB,EAAA,0DACMf,MADN,uBAGa8Y,EAAT,SAASA,EAAkBrP,GAAQ,IAAD,EACqBA,EAAMwD,KAAnDS,EADwB,EACxBA,KAAMY,EADkB,EAClBA,MAAO5M,EADW,EACXA,KAAMD,EADK,EACLA,QAASsX,EADJ,EACIA,aAEvB,2BAATrL,IAIJW,IAAkBC,GAClB3M,EAAe,CAAEF,UAASC,SAC1BrE,OAAOC,SAASF,KAAhB,WAA2B2b,GAC3B1b,OAAOC,SAASqY,SAEhBtY,OAAO2b,oBAAoB,UAAWF,KAGxCzb,OAAOsa,iBAAiB,UAAWmB,GAlBvC,8BAsBM5L,KAtBN,gCAuBUsB,KAvBV,yDA2BQwI,KA3BR,6C,2DA8BAiC,I,oBClLA3a,EAAOC,QAAU,CAAC,UAAY,mBAAmB,KAAO,cAAc,cAAgB,uBAAuB,IAAM,aAAa,UAAY,mBAAmB,QAAU,iBAAiB,QAAU,mB,oBCApMD,EAAOC,QAAU,CAAC,OAAS,gBAAgB,WAAa,oBAAoB,YAAc,qBAAqB,WAAa,oBAAoB,cAAgB,uBAAuB,YAAc,qBAAqB,cAAgB,yB,6NCY7N8G,EAAQ,IAAI6T,IAAkB,IAE9BC,EAAiB,kBAC5B9T,EAAMC,UAAS,SAACpI,GAAD,OAAOsT,QAAQtT,EAAE4K,QAAU5K,EAAE4K,OAAOsR,kBAE9C,SAAeP,IAAtB,+B,4CAAO,4BAAA9X,EAAA,yDACAsY,cADA,uBAEHhU,EAAMiU,QAAO,SAACpc,GACZA,EAAE4K,YAASvH,KAHV,mDASgBsM,IAAOC,cAAcyM,WAAW,CACjDvL,cAAeC,IAAcC,SAV5B,OASGlB,EATH,OAYH3H,EAAMiU,QAAO,SAACpc,GACZA,EAAE4K,OAASkF,EAAKC,QAbf,kDAgBH5H,EAAMiU,QAAO,SAACpc,GACZA,EAAE4K,YAASvH,KAjBV,2D,sBAsBA,SAAe2W,IAAtB,+B,4CAAO,4BAAAnW,EAAA,sEACc8L,IAAOC,cAAc0M,QAAQ,CAC9CxL,cAAeC,IAAcC,SAF1B,cACClB,EADD,OAIL3H,EAAMiU,QAAO,SAACpc,GACZA,EAAEkI,QAAU4H,EAAKC,QALd,kBAOED,EAAKC,MAPP,4C,sBAUPwM,IAAWC,GAAGC,IAAd,cAAA5Y,EAAA,MAAmC,sBAAAA,EAAA,sEAC3B8X,IAD2B,6C,oBCjDnCva,EAAOC,QAAU,CAAC,UAAY,mBAAmB,iBAAmB,0BAA0B,SAAW,kBAAkB,UAAY,mBAAmB,YAAc,qBAAqB,WAAa,sB,iCCD1M,8KAKMqb,EAAwB9a,IAAwB,CAAElD,KAAM,gBACxDie,EAAiB,IAAIC,IAEdpb,GAAgBG,EAEtB,SAASkb,EAAUne,EAAcoe,GACtC,IAAMC,EAAcnb,IAAwB,CAAElD,OAAMoe,OAGpD,OAFAH,EAAepS,IAAIwS,EAAYre,KAAMqe,GACrCJ,EAAepS,IAAIwS,EAAYC,QAASD,GACjCA,EAGF,SAASE,EAAQve,EAAcse,GACpC,IAAMD,EAAcC,EAChBL,EAAerM,IAAI0M,GACnBL,EAAerM,IAAI5R,GACnBqe,IACFA,EAAYG,SACZP,EAAeQ,OAAOze,GAClBse,GACFL,EAAeQ,OAAOH,IAKrB,SAASI,EAAQ3e,EAAa4e,EAAwBL,GAC3D,IAAMD,EAAcJ,EAAerM,IAAI0M,GACnCD,GACFA,EAAYO,OAAO7e,EAAK4e,GAIrB,IAAME,EAA8C,WACzD,OAAI/b,EACKI,IAAA,MAAAA,EAAM,WAER,IAGF,SAASuY,IACdha,OAAOsa,iBAAiB,0BAA0B,WAChDiC,EAAsBQ,YAGxB/c,OAAOsa,iBAAiB,mCAAmC,SAACzZ,GAAY,IACxDwc,EAAehG,QAAUxW,EAAEyc,OAAOC,QAAxCxd,KACMyd,EAAenG,QAAUxW,EAAEyc,OAAOG,QAAxC1d,KAER,GAAKsd,EAAL,CAEA,IAAM3P,EAAOgQ,YAAiBF,GAAc,KACtC1T,EAAK4T,YAAiBL,GACtBT,EAAcF,EAAU5S,EAAI,WAClC8S,EAAYO,OAAO,eAAgBzP,GACnCkP,EAAYO,OAAO,aAAcrT,GACjC8S,EAAYO,OACV,gBACAtc,EAAEyc,OAAOK,gBAAgBC,QAAQC,KAAK,MAExCjB,EAAYO,OACV,kBACAtc,EAAEyc,OAAOK,gBAAgBG,YAAYD,KAAK,UAI9C7d,OAAOsa,iBAAiB,4BAA4B,SAACzZ,GAAY,IACjDwc,EAAehG,QAAUxW,EAAEyc,OAAOC,QAAxCxd,KACR+c,EAAQY,YAAiBL,OAItB,SAASnD,EAA8Bvb,GAC5CA,EAASof,aAAaC,QAAQC,KAAI,SAACC,GACjC,GAAIA,EAAO7G,KAAO6G,EAAOC,OAAQ,CAAC,IAE1BvB,EAAcF,EADCrF,QAAU6G,EAAO7G,KAA9BnI,SACiC,QACzC0N,EAAYO,OAAO,cAAee,EAAOC,OAAOC,eAChDF,EAAOG,QAAQ,kBAAoBzB,EAAYC,QAEjD,OAAOqB,KAGTvf,EAASof,aAAaO,SAASL,KAC7B,SAACK,GAAc,IAAD,EACN7d,EAAE,UAAG6d,EAASJ,cAAZ,aAAG,EAAiBG,QAAQ,kBACpC,GAAI5d,EAAI,CAAC,IACCyO,EAAamI,QAAUiH,EAASJ,OAAO7G,KAAvCnI,SACR+N,EAAQ,cAAeqB,EAASC,OAAQ9d,GACxCqc,EAAQ5N,EAAWzO,GAErB,OAAO6d,KAET,SAAClN,GAAW,IAAD,EACH3Q,EAAE,OAAG2Q,QAAH,IAAGA,GAAH,UAAGA,EAAO8M,cAAV,aAAG,EAAeG,QAAQ,kBAClC,GAAI5d,EAAI,CAAC,IACCyO,EAAamI,QAAUjG,EAAM8M,OAAO7G,KAApCnI,SACR+N,EAAQxc,EAAI,QAAS2Q,EAAM6C,SAC3B6I,EAAQ5N,EAAWzO,GAGrB,OAAO+d,QAAQC,OAAOrN,Q,oBCxG5BnQ,EAAOC,QAAU,CAAC,UAAY,mBAAmB,gBAAkB,yBAAyB,YAAc,qBAAqB,kBAAoB,2BAA2B,aAAe,sBAAsB,iBAAmB,4B,oBCAtOD,EAAOC,QAAU,CAAC,2BAA6B,oCAAoC,kBAAoB,2BAA2B,mBAAqB,4BAA4B,iBAAmB,0BAA0B,gBAAkB,yBAAyB,uBAAyB,kC,0xCCcpSwd,YAAc,CACZC,MAAO,CACLC,OAAQ,kBAACC,EAAA,EAAD,MACRC,SAAU,kBAACC,EAAA,EAAD,MACVC,gBAAiB,kBAACC,EAAA,EAAD,MACjBC,IAAK,kBAACnN,EAAA,EAAD,SAIT,IAAMlG,EAAQsT,YAAY,CACxBC,iBAAkB,CAAEC,WAAY,UAAWC,SAAU,SAKxC,SAASC,EAAT,GAA6B,IAAbC,EAAY,EAAZA,SAC7B,OACE,uBAAgBC,OAA6B,OAArBziB,IAAQ0iB,SAAoBC,IAAOC,KACxDJ,GALPK,IAAeC,cAAc,CAAEjU,U,8CCWhBkU,MA1Bf,YAQgB,IAPdzZ,EAOa,EAPbA,MACA0Z,EAMa,EANbA,WACAC,EAKa,EALbA,KACAC,EAIa,EAJbA,OACAha,EAGa,EAHbA,UACAsZ,EAEa,EAFbA,SACGW,EACU,6EACb,OACE,uCAAKja,UAAWsL,IAAG7I,IAAOyX,cAAela,IAAgBia,GACvD,yBAAKja,UAAWyC,IAAO0X,YACnB/Z,GAAS0Z,GAAcC,IACvB,yBAAK/Z,UAAWyC,IAAO2X,kBACpBL,GAAQ,yBAAK/Z,UAAWyC,IAAO4X,UAAWN,GAC1C3Z,GAAS,yBAAKJ,UAAWyC,IAAO6X,WAAYla,GAC5C0Z,GAAc,6BAAMA,IAGxBR,GAAY,yBAAKtZ,UAAWyC,IAAO8X,aAAcjB,GACjDU,GAAU,yBAAKha,UAAWyC,IAAO+X,YAAaR,M,yBChBxC,SAASS,EAAT,GAaC,IAAD,EAZbra,EAYa,EAZbA,MACAsa,EAWa,EAXbA,SACApQ,EAUa,EAVbA,MACAtK,EASa,EATbA,UACA2a,EAQa,EARbA,SACAC,EAOa,EAPbA,YACAC,EAMa,EANbA,eACAC,EAKa,EALbA,aACAC,EAIa,EAJbA,cACA/U,EAGa,EAHbA,SACAsT,EAEa,EAFbA,SACGW,EACU,uJACb,OACE,uCACEja,UAAWsL,IAAG7I,IAAOuY,cAAehb,EAAvB,eACVyC,IAAOuD,SAAWA,KAEjBiU,GAEJ,yBACEja,UAAWsL,IAAG7I,IAAOwY,WAAR,mBACVxY,IAAOkY,SAAWA,GADR,cAEVlY,IAAOmY,YAAcA,GAFX,cAGVnY,IAAOoY,eAAiBA,GAHd,cAIVpY,IAAOqY,aAAeA,GAJZ,cAKVrY,IAAOsY,cAAgBA,GALb,cAMVtY,IAAOyY,SAAW9a,GAASsa,GAAYpQ,GAN7B,MASXlK,GAASsa,GAAYpQ,IACrB,yBAAKtK,UAAWyC,IAAO0Y,kBACpB/a,GAAS,yBAAKJ,UAAWyC,IAAO2Y,WAAYhb,GAC5Csa,GAAY,yBAAK1a,UAAWyC,IAAO4Y,cAAeX,GACnD,yBAAK1a,UAAWyC,IAAO6Y,kBACtBhR,GAAS,yBAAKtK,UAAWyC,IAAO8Y,gBAAiBjR,IAGrDgP,GAAY,yBAAKtZ,UAAWyC,IAAO+Y,aAAclC,K,yICJ3Cjc,UAAMoe,MAtCrB,YAK4B,IAJ1BC,EAIyB,EAJzBA,aACApC,EAGyB,EAHzBA,SACA/Y,EAEyB,EAFzBA,MACGyL,EACsB,qDACqBjK,mBAAS,GAD9B,mBAClB4Z,EADkB,KACDC,EADC,KASzB,OANA5U,qBAAU,WACJ0U,GACFE,GAAmB,SAACC,GAAD,OAAOA,EAAI,OAE/B,CAACH,IAGF,yBAAK1b,UAAWsL,IAAG7I,IAAOmF,WAAYrH,MAAOA,GAC1Cmb,GACC,yBACE1b,UAAWsL,IAAG,CACZwQ,2BAAgD,IAApBH,EAC5BI,8BAA+BJ,EAAkB,KAGnD,qCACEK,QAAM,EACN5b,OAAO,EACP6b,UAAW,CAAEC,KAAM,IACflQ,MAIR0P,GACA,kBAAC,GAAD,CAAenJ,WAAW,oBAAoB+G,O,oCCtCvC,SAAS6C,EAAT,GAA+C,IAA3BC,EAA0B,EAA1BA,OAE3BC,EAAYpa,mBAChB,kBACE1I,IAAE+iB,KAAK/iB,IAAEa,IAAIgiB,GAAQ,SAACG,GAAD,OAAY,OAAHA,QAAG,IAAHA,OAAA,EAAAA,EAAKxO,UAAW,OAC3C5U,QAAO,SAACgV,GAAD,MAAiB,KAARA,KAChBqO,MAAM,EAAG,KACd,CAACJ,IAGH,OAAyB,IAArBC,EAAUnkB,OACL,KACuB,IAArBmkB,EAAUnkB,OACZ,uBAAO6V,QAASsO,EAAU,GAAII,UAAQ,EAACtS,KAAK,UAGjD,uBACE4D,QAAQ,SACR0O,UAAQ,EACRtS,KAAK,QACL4B,YACE,4BACGsQ,EAAUjiB,KAAI,SAAC+T,EAAKuO,GAAN,OACb,wBAAItkB,IAAKskB,GAAMvO,S,wFCPvBwO,GAAgBC,cAkFf,IAAMC,GAAqEC,aA7ElF,SAAoCzc,GAA2B,IAAD,IACtD0c,EAAcJ,GAActc,EAAMoC,OAAQ,CAC9CkD,MAAOtF,EAAMsF,MACb3F,UAAWK,EAAML,UACjBgd,SAAU3c,EAAM2c,SAChBC,YAAW,UAAE5c,EAAM6c,aAAR,aAAE,EAAaD,YAC1BE,QAAS9c,EAAM8c,UAGXC,EAAiBvP,aAAa,WAC9BxN,EAAMgd,qBACRhd,EAAMgd,oBAAoBhd,EAAM6c,UAI9BI,EAA4BzP,aAChC,SAAC0P,GACKld,EAAMgd,qBACRhd,EAAMgd,oBAAoBhd,EAAM6c,OAElCK,EAAGC,iBACHD,EAAGE,qBAIDC,EAAoB7P,aACxB,SAAC0P,GACKld,EAAMsd,kBACRtd,EAAMsd,iBAAiBtd,EAAM6c,OAE/BK,EAAGE,kBACHF,EAAGC,oBAIP,OACE,yBACExd,UAAW+c,EAAYa,KACvBrd,MAAOF,EAAMwd,SAAW,CAAEC,SAAUzd,EAAMwd,SAASjc,OAAU,GAC7De,QAASya,GAET,kBAACW,EAAA,EAAD,CACE/d,UAAW+c,EAAYiB,qBACvBC,UAAWC,IAAmBC,YAE9B,0CACEhU,KAAK,SACLnK,UAAW+c,EAAYqB,MACvBzb,QAAS2a,GACLjd,EAAMge,sBAEV,uBAAUC,QAASje,EAAM2c,YAG3B,kBAACuB,EAAA,EAAD,CACEC,YAAane,EAAMme,YACnBlmB,MAAO+H,EAAMoe,aAEf,0CACEtU,KAAK,SACLnK,UAAW+c,EAAY2B,OACvB/b,QAAS+a,GACLrd,EAAMse,mBAEV,kBAAC,IAAD,CACE3e,UAAW+c,EAAY6B,kBACvBC,SAAU,qBAGd,yBAAK7e,UAAW+c,EAAY3c,OAC1B,wCAAOC,EAAM6c,aAAb,aAAO,EAAa7kB,WAWAymB,SAAW9hB,EAAW,CAClD+hB,MAAO,gBCjFT,SAASC,GAAmB3e,EAAO4e,GACjC,OAAK5e,EAIH,kBAAC6e,EAAA,EAAD,CAAQC,eAAgBC,IAAmBC,OAAQC,gBAAc,GAC/D,yBAAKtf,UAAWyC,IAAO8c,aAAcN,EAAe5e,KAJ/C,KASX,SAASmf,GAAenf,GACtB,OAAO,uBAAUie,QAAO,OAAEje,QAAF,IAAEA,OAAF,EAAEA,EAAOie,UAG5B,SAASmB,GAAoBpf,GAClC,OACE,kBAACqf,EAAA,EAAD,eACEC,sBAAuBX,GACvBY,iBAAkBJ,IACdnf,IAxBVqf,IAAW,gBAAsB,CAC/BG,WAAY,eA4BdJ,GAAoBK,iBAAkB,EAE/B,IAAMC,GAAkB1iB,IAAMoe,KAAKgE,IAkF3B,SAASO,GAAU3f,GAAyB,IAEvDD,EAsBEC,EAtBFD,MACAsa,EAqBEra,EArBFqa,SACA1a,EAoBEK,EApBFL,UACAO,EAmBEF,EAnBFE,MALsD,EAwBpDF,EAlBFmN,eANsD,SAOtDyS,EAiBE5f,EAjBF4f,wBAPsD,EAwBpD5f,EAhBF+b,cARsD,MAQ7C,GAR6C,EAStD8D,EAeE7f,EAfF6f,UACAC,EAcE9f,EAdF8f,aACAC,EAaE/f,EAbF+f,gBACAC,EAYEhgB,EAZFggB,iBACAC,EAWEjgB,EAXFigB,kBACAC,EAUElgB,EAVFkgB,kBACAC,EASEngB,EATFmgB,QAfsD,EAwBpDngB,EARFogB,YAhBsD,SAiBtDC,EAOErgB,EAPFqgB,cACAC,EAMEtgB,EANFsgB,aACAC,EAKEvgB,EALFugB,gBACAC,EAIExgB,EAJFwgB,QACA/nB,EAGEuH,EAHFvH,MACAgoB,EAEEzgB,EAFFygB,YACG9U,EAvBmD,YAwBpD3L,EAxBoD,iSAyBlD0gB,EA5DR,SACEJ,EACAK,EACAC,GAEA,OAAOra,uBACL,SAACvG,EAAO4e,GACN,OAAK5e,EAIH,yBACEL,UAAWsL,IAAG7I,IAAOye,kBAAR,eACVze,IAAO0e,aAAeH,IAAkB3gB,EAAM+gB,YAEjDze,QAAS,SAAC4a,GAAD,cAAQoD,QAAR,IAAQA,OAAR,EAAQA,EAAetgB,EAAMghB,KAAMhhB,EAAM+gB,UAAW7D,KAE5D0D,EAAeA,EAAa5gB,GAAS4e,EAAe5e,IAThD,OAaX,CAACsgB,EAAcK,EAAeC,IAuCLK,CACzBX,EACAC,IAAoB,EACpBE,GAGIS,EAAgB1T,aACpB,SAAC2T,EAAoCC,GAC9Bf,IAGDe,EAAOrpB,MAAQooB,EACjBE,EAAcF,GAAUC,GAExBC,EAAce,EAAOrpB,KAAK,OAK1BspB,EAAezf,mBAAQ,WAC3B,IAAI0f,EAAwBd,GAAW,GAevC,OAdyB,MAArBP,IACFqB,EAAaA,EAAWxoB,QAAO,SAACwO,GAAD,OAAO2Y,EAAkB3Y,EAAEvP,SAE5DupB,EAAaA,EAAWvnB,KAAI,SAACuN,GAAD,yBAAC,eACxBA,GADuB,IAE1Bia,YAAW,UAAEja,EAAEia,mBAAJ,SACXC,SAAUla,EAAEvP,MAAQooB,EACpBsB,mBAAoBrB,EACpBc,gBACAQ,kBAAmBpa,EAAEoa,mBAAqBC,IAAkB7R,cAEzDkQ,GACHsB,EAAWxpB,KAnER,CACLE,KAAM,GACND,IAAK,QACL0lB,SAAU,GACVmE,SAAU,GACVC,SAAU,SAACC,GAAD,OAAU,QAgEbR,IACN,CACDJ,EACAV,EACAP,EACAE,EACAC,EACAJ,IAGI+B,EAAangB,mBAAQ,WACzB,IAAIogB,EAAWvpB,GAAS,GAClBwpB,EAAYZ,EAAaa,MAAK,SAACC,GAAD,OAASA,EAAIpqB,MAAQooB,KAWzD,OAVI8B,IACFD,EA1JN,SACEvpB,EACA2pB,EACAX,GAEA,IAAM1pB,EAAMqqB,EACZ,OAAO3pB,EACJ0jB,MAAM,GACNkG,MAAK,SAACllB,EAAMmlB,GAAP,OACHb,EAAqBtkB,EAAEpF,GAAOuqB,EAAEvqB,GAAOoF,EAAEpF,GAAOuqB,EAAEvqB,IAAQ,GAAK,KAiJrDwqB,CACTP,EACAC,EAAUO,UACVP,EAAUR,qBAGW,MAArBvB,IACF8B,EAAWA,EAAS7F,MAAM,EAAG+D,IAExB8B,IACN,CAAC9B,EAAmBznB,EAAO0nB,EAASkB,IAEjCoB,EAAW3hB,iBAAqB,MAOtC,OANA6F,qBAAU,WAC0B,IAAD,GAA7B,OAAC4Z,QAAD,IAACA,KAAoB,GAAK,IAC5B,UAAAkC,EAAS1T,eAAT,SAAkB2T,cAAcnC,OAKlC,kBAACnG,EAAD,CACEra,MAAOA,EACPsa,SAAUA,EACVna,MAAOA,EACPP,UAAWsL,IAAG7I,IAAOugB,UAAWhjB,EAAnB,eACVyC,IAAOwgB,gBAAkB5C,IAE5B1F,SAAUwF,EACVvF,YAAawF,EACb9V,MAAO4V,GAEP,kBAAC/D,EAAD,CAAUC,OAAQA,IAClB,kBAAC,EAAD,CACEV,cACIuE,GAA2BzS,GACX,IAAjB1U,EAAMZ,QAAgBsV,GAGzB,yBAAKxN,UAAWyC,IAAOygB,kBACrB,kBAACnD,GAAD,eACEoD,cAAeC,IAAcC,KAC7BC,cAAeC,IAAcC,cAC7BC,WAAYC,IAAsBC,UAClC7C,YAAaH,EAAeI,EAAqBD,EACjDD,QAASa,EACT5oB,MAAOspB,EACPwB,aAAcd,GACV9W,O,mECtJD6X,IC5GAA,GDgBf,YAUe,IATb7M,EASY,EATZA,MACA8M,EAQY,EARZA,OACAC,EAOY,EAPZA,SACAC,EAMY,EANZA,IACAC,EAKY,EALZA,IACAjkB,EAIY,EAJZA,UACAsZ,EAGY,EAHZA,SACA4K,EAEY,EAFZA,UACGjK,EACS,4FACNkK,EAAgBliB,mBAAQ,WAC5B,GAAI+U,aAAiBoN,MAAO,CAC1B,IAAMxZ,EAAwB,GAC1ByZ,EAAM,EAaV,OAZArN,EAAMxe,SAAQ,SAACwe,GACb,IAAI6E,EAEFA,EADEwI,EAAMrN,GAAS+M,EACb/M,EACKqN,EAAMN,EACXA,EAAWM,EAEX,EAENzZ,EAAEzS,KAAK,CAACksB,EAAKxI,IACbwI,GAAOxI,KAEFjR,EAEP,MAAO,CAAC,CAAC,EAAG0Z,KAAMtN,EAAO,EAAG+M,OAE7B,CAAC/M,EAAO+M,IAELQ,EAAYtiB,mBAAQ,kBAAMoiB,KAAIF,EAAc/pB,KAAI,0DAAkB,CACtE+pB,IAgBF,OAbW,MAAPH,IAEGO,GADLP,EAAMM,KAAMN,EAAK,EAAGO,KACIR,EAAW,MACjCC,OAAMhnB,GAGC,MAAPinB,KACFA,EAAMK,KAAML,EAAKM,EAAWR,IACjBQ,GAAaR,EAAW,MACjCE,OAAMjnB,GAKR,uCAAKgD,UAAWsL,IAAG7I,KAAOmF,UAAW5H,IAAgBia,GAClDX,GACC,yBAAKtZ,UAAWyC,KAAO8F,KAAMhI,MAAO,CAAEqB,MAAOsiB,IAC1C5K,GAGL,yBAAKtZ,UAAWyC,KAAO+hB,eACpBL,EAAc/pB,KAAI,WAAkBsiB,GAAlB,uBAAEjW,EAAF,KAAUuQ,EAAV,YACjB,yBACEhX,UAAWsL,IAAG7I,KAAOgiB,KACrBlkB,MAAO,CACLqB,MAAM,GAAD,OAAMoV,EAAQ+M,EAAY,IAA1B,KACLpiB,KAAK,GAAD,OAAM8E,EAASsd,EAAY,IAA3B,KACJW,iBAAuB,OAANZ,QAAM,IAANA,OAAA,EAAAA,EAASpH,UAAQ1f,GAEpC5E,IAAKskB,OAGD,MAAPsH,GACC,yBACEhkB,UAAWsL,IAAG7I,KAAOkiB,UAAWliB,KAAOmiB,SACvCrkB,MAAO,CACLoB,KAAK,GAAD,OAAMqiB,EAAMD,EAAY,IAAxB,KACJniB,MAAM,GAAD,QAAO2iB,EAAYP,GAAOD,EAAY,IAAtC,QAIH,MAAPE,GACC,yBACEjkB,UAAWsL,IAAG7I,KAAOkiB,UAAWliB,KAAOoiB,SACvCtkB,MAAO,CACLoB,KAAK,GAAD,OAAM4iB,EAAYR,EAAY,IAA9B,KACJniB,MAAM,GAAD,QAAOqiB,EAAMM,GAAaR,EAAY,IAAtC,W,8DE7FJ,SAASe,GAAT,GAKA,IAJbC,EAIY,EAJZA,OACA/kB,EAGY,EAHZA,UACAsZ,EAEY,EAFZA,SACGW,EACS,iDACZ,OACE,uCACEja,UAAWsL,IAAG7I,KAAOuiB,IAAKhlB,EAAb,eAA2ByC,KAAOwiB,UAAYF,KACvD9K,GAEHX,G,mCCTP4L,KAAkBC,iBAAiB,MAAOC,MA2C3BC,YAAMC,OAzBrB,YAAiE,IAAzCF,EAAwC,EAAxCA,IAAKjI,EAAmC,EAAnCA,QAAmC,IAA1BxX,aAA0B,MAAlB,QAAkB,EACxD4f,EAAetjB,mBAAQ,WAC3B,IAAIujB,EAAIC,aAAUL,GAIlB,OAHIjI,IACFqI,EAAoBA,EAZrBxa,QAAQ,UAAW,KACnBA,QAAQ,YAAa,KACrBA,QAAQ,YAAa,KACrBA,QAAQ,WAAY,KACpBA,QAAQ,cAAe,MACvBA,QAAQ,cAAe,OASjBwa,IACN,CAACJ,EAAKjI,IAET,OACE,kBAAC,KAAD,CACE3D,SAAS,MACTjZ,MAAiB,UAAVoF,EAAoB+f,KAAaC,KACxCC,YAAa,CACXC,WAAY,OACZC,QAAS,EACTC,UAAW,UAEbC,OAAQlB,IAEPS,KAKkC,CACvCU,QAAS,M,qBC3CI,SAASC,GAAT,GAKK,IAAD,EAJjBC,EAIiB,EAJjBA,UACAnmB,EAGiB,EAHjBA,UACAsZ,EAEiB,EAFjBA,SACGW,EACc,oDACXtS,EAAI2D,IAAGtL,GAAD,mBACTyC,KAAO2jB,UAAYD,GADV,cAET1jB,KAAO4jB,YAAcF,GAFZ,IAIZ,OACE,uCAAKnmB,UAAW2H,GAAOsS,GACpBX,G,0CCDP,SAASgN,GAAQjF,GAAmD,IAAD,EACzDhhB,EAAUghB,EAAVhhB,MACA8lB,EAAiD9lB,EAAjD8lB,UAAWnmB,EAAsCK,EAAtCL,UAAWsZ,EAA2BjZ,EAA3BiZ,SAAatN,EAFsB,YAER3L,EAFQ,sCAG3DsH,EAAI2D,IAAGtL,EAAWyC,KAAO4e,MAAnB,mBACT5e,KAAO8jB,cAAgBJ,GADd,cAET1jB,KAAO+jB,gBAAkBL,GAFhB,IAIZ,OACE,uBAAiBxiB,KAAjB,eAAsB3D,UAAW2H,EAAGvP,IAAKipB,EAAKjpB,KAAO,IAAQ4T,GAC1DsN,GAKP,SAASmN,GAAT,GAKwB,IAElBC,EANJ1mB,EAIqB,EAJrBA,UACAsZ,EAGqB,EAHrBA,SACAmI,EAEqB,EAFrBA,OACGzV,EACkB,iDACfrE,EAAI2D,IAAGtL,EAAWyC,KAAOkkB,cAS/B,OAPIrN,IAEAoN,EADEtC,MAAMwC,QAAQtN,GACDA,EAASngB,QAAO,SAAC0iB,GAAD,OAAY,MAALA,KAAWzhB,KAAI,SAACyhB,GAAD,OAAOyK,GAAQzK,MAErDyK,GAAQhN,IAIzB,sCACE7J,OAAO,WACPoX,OAAO,EACP7mB,UAAW2H,EACX8Z,OAAM,OAAEA,QAAF,IAAEA,IAAU,GACdzV,GAEH0a,GAKPD,GAAa9iB,KAAO,KAAgBA,KAErB8iB,U,qECrDf,SAASK,GAAT,GAKwB,IAClBC,EAYAC,EAjBJjX,EAIqB,EAJrBA,QACAkX,EAGqB,EAHrBA,UACA3N,EAEqB,EAFrBA,SACAnP,EACqB,EADrBA,KAGA,GAAI4F,EAAS,CACX,IAAMmX,EAAO/c,EAAOgd,KAAkBC,KACtCL,EACE,8BACGzN,EADH,IACa,kBAAC4N,EAAD,YAIfH,EAAezN,EAYjB,OAPE0N,EADE7c,EAEA,uBAAY+B,KAAZ,CAAiB/B,KAAMA,GAAO4c,GAGhBA,EAGbhX,EAKH,wBAAS3P,MAAO2P,EAASkX,UAAWA,GACjCD,GALIA,EA8BXF,GAAaO,SAdb,YAAyE,IAArDC,EAAoD,EAApDA,SAAUL,EAA0C,EAA1CA,UAAW9c,EAA+B,EAA/BA,KAC/BpT,EAAMkK,eAANlK,EACFwR,EAAOxR,EAAEuwB,GACTvX,EAAUhZ,EAAE,GAAD,OAAIuwB,EAAJ,YAAwB,CACvCC,aAAc,GACdC,YAAa,MAEf,OACE,kBAACV,GAAD,CAAc/W,QAASA,EAASkX,UAAWA,EAAW9c,KAAMA,GACzD5B,IAOQue,U,mBC/Df,SAASW,GAAT,GAAyE,IAAvDC,EAAsD,EAAtDA,iBAAkBpO,EAAoC,EAApCA,SAAUqO,EAA0B,EAA1BA,SAE5C,OAAO,6BAAMA,EAAWrO,EAAH,OAAcoO,QAAd,IAAcA,IAAoBpO,GAGzD,IAAMld,GAAe,CACnBwrB,GAAI,CACFC,WAAY,SACZC,aAAc,YAEhBC,GAAI,CACFF,WAAY,eACZC,aAAc,iBAIlB,IAAK,IAAM1vB,MAAOgE,GAChB4rB,aAAuB5vB,GAAK,CAC1BqF,UAAW,CACTwqB,WAAY7rB,GAAahE,OAqB/BqvB,GAAOS,KAXP,YAA6D,IAA7CP,EAA4C,EAA5CA,SAAa3b,EAA+B,4BAClDjV,EAAMkK,eAANlK,EACR,OACE,sBAAOiV,EAEDjV,EADH4wB,EACK,oCACA,qCAOGF,U,iOCzBTrrB,GAAe,CACnBwrB,GAAI,CACF1c,MAAO,CACLid,IAAK,CACHC,QAAS,CACPC,eACE,yEAIRC,WAAY,CACVC,YAAa,CACXC,iBAAkB,8BAIxBT,GAAI,CACF7c,MAAO,CACLid,IAAK,CACHC,QAAS,CACPC,eAAgB,4GAItBC,WAAY,CACVC,YAAa,CACXC,iBAAkB,qCAM1B,IAAK,IAAMpwB,MAAOgE,GAChB4rB,aAAuB5vB,GAAKgE,GAAahE,KAkC3C,SAASqwB,KACP,MAAO,CACLC,aAAchgB,KAAKC,OAAOggB,KAAKC,MAAQ,MAAkB,KACzDC,WAAYngB,KAAKC,MAAMggB,KAAKC,MAAQ,MAIzB,SAASE,GAAT,GAQQ,IAPrB1oB,EAOoB,EAPpBA,MACA2oB,EAMoB,EANpBA,OAIAC,EAEoB,EAFpBA,KACA7e,EACoB,EADpBA,KAEM8e,EAAa9nB,iBAAOsnB,MAClB1xB,EAAMkK,eAANlK,EAFY,EAI4BmyB,aAC9CH,EAAO3uB,KAAI,SAACT,GAAD,OAAO,SAACwvB,GAAD,OAChB7f,KACGC,cACA6f,gBACCH,EAAW7Z,QAAQyZ,WACnBlvB,EAAE0vB,MACFJ,EAAW7Z,QAAQsZ,aACnB,GACAS,QATAnY,EAJY,EAIZA,UAAWtH,EAJC,EAIDA,KAAMwB,EAJL,EAIKA,MAAOoe,EAJZ,EAIYA,YAc1BvT,EAAS,WACbkT,EAAW7Z,QAAUqZ,KACrBa,KAGFC,aAAYxT,EAAQ,KAEpB,IAwHIyT,EAxHEC,EAAiBxnB,mBAAQ,kBAAMynB,0BAAeV,KAAO,CAACA,IAEtDpqB,EAAMqD,mBAAQ,WAClB,IAAMtI,EAAW,GAyBjB,OAxBA+P,EAAKlR,SAAQ,SAACmxB,EAAcC,GAAe,IAAD,EACxC,GAAKD,GAGuB,YAAxBA,EAAatR,OAAjB,CAGA,IAAMzN,EAAC,UAAI+e,EAAajgB,YAAjB,aAAG,EAA4BmgB,OACjCjf,GAGLA,EAAEpS,SAAQ,SAACsxB,GAAW,IAAD,EACnBnwB,EAAExB,KAAF,aACEE,KAAM0xB,KAAOhB,EAAOa,GAAWvxB,KAAMyxB,EAAME,QAC3CtgB,KAAI,UACFogB,EAAMG,OAAO7vB,KAAI,YAAkB,IAAD,mBAChC,MAAO,CAAM,IADmB,qBADhC,QAGI,GACR+P,QA3EV,SAAwBA,GACtB,MAAa,QAATA,EACK,CACL+f,MAAO,aAES,SAAT/f,EACF,CACLggB,YAAY,QAFT,EAuEIC,CAAejgB,YAKjB,CACLkgB,MAAO,CACLlgB,KAAM,OACNmgB,UAAW,CACTC,MAAM,GAERC,eAAgB,CACdD,MAAM,GAERE,YAAa,GACbC,aAAa,EACbC,UAAW,CACTC,UAAW,SAAC/O,GACV,OAAOgP,KAAMhP,GAAGkO,OAAO,UAEzBe,cAAc,EACdC,cAAc,GAEhBC,SAAU,CACRC,UAAW,CACTrpB,MAAO,IAGXspB,SAAU,CACRD,UAAW,CACTrpB,MAAO,KAIbupB,OAAQ,CACNC,OAAQ,aACRtkB,EAAG,OACHqB,EAAG,UAELkjB,MAAO,CACLlhB,KAAM,QACNwgB,UAAW,CACTC,UAAW,SAAC/O,GACV,OAAO4N,EAAe5N,EAAG,KAG7ByO,UAAW,CACTC,MAAM,GAERS,SAAU,CACRC,UAAW,CACTrpB,MAAO,IAGXspB,SAAU,CACRD,UAAW,CACTrpB,MAAO,KAIbmO,QAAS,CACPtK,QAAS,OACT6lB,YAAa,CACXnhB,KAAM,OACNohB,WAAW,EACXC,MAAM,GAERZ,UAAW,SAAC7B,GACV,IAAIhZ,EAAU,GAER3P,EAAQyqB,KAAM9B,EAAO,GAAG0C,WAAW1B,OAAO,uBAUhD,OATAha,GAAO,eAAY3P,EAAZ,UAEP2oB,EAAOvwB,SAAQ,SAACmB,GACdoW,GAAO,eAAYpW,EAAE+xB,OAAd,YAAwB/xB,EAAEgyB,WAA1B,aAAyClC,EAC9C9vB,EAAEqd,MAAM,GACR,GAFK,aAMFjH,IAGXwb,WAAW,EACXK,KAAM,CACJC,IAAK,GACLlqB,KAAM,GACNmqB,MAAO,EACPC,OAAQ,GACRC,cAAc,GAEhBjD,OAAQpvB,KAET,CAAC+P,EAAM+f,EAAgBV,EAAQ5e,IAE5BuR,EAAe1K,GAAazX,IAAE0yB,MAAMviB,GAAM,SAACzJ,GAAD,OAAa,OAANA,KAKrDupB,EADE9N,EACM,KAERniB,IAAE0yB,MACA1yB,IAAE2yB,IAAIxiB,EAAMwB,IACZ,mCAAExB,EAAF,mBAAyBA,GAAyB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAM2O,WAIvC,yBAAK9X,MAAO,CAAEkB,OA1LL,MA2LP,wBAAOwc,UAAU,YACf,kBAAC9B,EAAD,CAAUC,OAAQlR,IAClB,kBAAC,KAAD,CAAMtH,GAAG,0CACN7M,EAAE,8CAOT,kBAAC,KAAD,CACEo1B,QAASA,KACTC,YAAY,EACZ7rB,MAAO,CAAEkB,OAxMF,KAyMP4qB,OAAQztB,EACR+G,MAAO,UAKb,IAAM+U,EACJ,4BACE,uBAAG/X,QAASoT,GACV,kBAACuW,GAAA,EAAD,OAEDtb,EAAY,kBAACub,GAAA,EAAD,MAAsB,MAIvC,OACE,kBAAC9R,EAAD,CAAMra,MAAOA,EAAOsa,SAAUA,GAC5B,kBAAC,EAAD,CAAkBgB,aAAcA,EAAcnb,MAAO,CAAEkB,OA1N9C,MA2NN+nB,I,4DCjSHptB,GAAe,CACnBwrB,GAAI,CACF4E,aAAc,UACdC,OAAQ,SACRC,MAAO,SAET3E,GAAI,CACFyE,aAAc,qBACdC,OAAQ,eACRC,MAAO,iBAIX,IAAK,IAAMt0B,MAAOgE,GAChB4rB,aAAuB5vB,GAAK,CAC1BqF,UAAW,CACTkvB,gBAAiBvwB,GAAahE,OAiBrB,SAASw0B,GAAT,GAMY,IALzB/L,EAKwB,EALxBA,QACAP,EAIwB,EAJxBA,kBACAuM,EAGwB,EAHxBA,yBACAC,EAEwB,EAFxBA,SACAC,EACwB,EADxBA,KAEQh2B,EAAMkK,eAANlK,EADgB,EAEkBgL,oBAAS,GAF3B,mBAEjBirB,EAFiB,KAEFC,EAFE,OAGYlrB,oBAAS,GAHrB,mBAGjBmrB,EAHiB,KAGLC,EAHK,KAKlBC,EAAkBnrB,mBACtB,kBAAM4e,EAAQ1nB,QAAO,SAACwO,GAAD,MAAiB,UAAVA,EAAEvP,SAC9B,CAACyoB,IAGGwM,EAAcprB,mBAAQ,WAC1B,OAAIqe,GAGGO,EAAQyM,QAAO,SAACC,EAAKC,GAE1B,OADAD,EAAIC,EAAIp1B,MAAO,EACRm1B,IACN,MACF,CAACjN,EAAmBO,IAyBvB,SAAS4M,EAAkB9yB,EAAG8mB,GAC5B,IAAMnD,EAAU3jB,EAAEsE,OAAOqf,QACnBoP,EAAc,2BACfL,GADe,kBAEjB5L,EAAOrpB,IAAMkmB,IAEhBwO,GAAYA,EAASY,GA7BvB1mB,qBAAU,YACR,SAA8B2mB,GAC5B,IAAMC,EAAmBx2B,OAAOC,KAAKs2B,GAAYx0B,QAC/C,SAAC4Y,GAAD,OAAO4b,EAAW5b,IAAY,UAANA,KACxB7Z,OACF+0B,EACEW,EAAmB,GAAKA,EAAmBR,EAAgBl1B,QAE7Di1B,EAAcS,IAAqBR,EAAgBl1B,QAGrD21B,CAAqBR,KACpB,CAACA,EAAaD,IAoBjB,IAAMhtB,EACJ,yBAAKJ,UAAWyC,KAAOqrB,iBACrB,uBACEd,cAAeA,EACf1O,QAAS4O,EACTJ,SAvBN,SAA8BnyB,GAC5B,IAAM2jB,EAAU3jB,EAAEsE,OAAOqf,QACnBoP,EAAiB7M,EAAQyM,QAAO,SAACC,EAAKC,GAE1C,OADAD,EAAIC,EAAIp1B,KAAOkmB,EACRiP,IACN,IACHT,GAAYA,EAASY,KAmBhB32B,EAAE,qCAEJ81B,GACC,wBACE1iB,KAAK,OACLxH,QAAS,kBAAMmqB,GAAYA,EAASD,KAEnC91B,EAAE,qCAMLiR,EACJ,yBAAKzH,MAAO,CAAEwtB,WAAY,KACxB,wBACE9P,UAAU,WACV1d,MAAO,CACLytB,UAAW,IACXC,SAAU,OACVC,WAAY,EACZC,cAAe,IAGhBf,EAAgBhzB,KAAI,SAACqnB,GAAD,OACnB,uBACErpB,IAAKqpB,EAAOrpB,IACZkmB,QAAS+O,EAAY5L,EAAOrpB,KAC5B00B,SAAU,SAACnyB,GAAD,OAAO8yB,EAAkB9yB,EAAG8mB,KAErCA,EAAOppB,UAIb00B,GAAQ,yBAAK/sB,UAAWyC,KAAO2rB,gBAAiBrB,IAIrD,OACE,wBAAS/kB,QAASA,EAAS5H,MAAOA,EAAO6mB,UAAU,cACjD,0BAAM1mB,MAAO,CAAE8tB,OAAQ,YACpBt3B,EAAE,0CADL,IACgD,kBAAC8U,EAAA,EAAD,Q,yBC9IvC,SAASyiB,GAAQjuB,GAA8C,IACpEL,EAAiCK,EAAjCL,UAAWsZ,EAAsBjZ,EAAtBiZ,SAAaW,EAD2C,YAClC5Z,EADkC,0BAErEsH,EAAI2D,IAAGtL,EAAWyC,KAAO8rB,mBAS/B,OANAlxB,IAAMmxB,SAASh2B,QAAQ8gB,GAAU,SAACmV,GAC3BpxB,IAAMqxB,eAAeD,IAAUA,EAAMtkB,OAAN,MAClC/O,QAAQ8P,MAAM,mDAKhB,uCAAKlL,UAAW2H,GAAOsS,GACpB5c,IAAMmxB,SAASp0B,IAAIkf,GAAU,SAACmV,EAAO/R,GAEpC,GAAIrf,IAAMqxB,eAAeD,IAAUA,EAAMtkB,OAAN,KAAsB,CACvD,IAAMwkB,EACI,IAARjS,EAAYja,KAAOmsB,WAAansB,KAAOosB,YACzC,OAAOxxB,IAAMyxB,aAAaL,EAAO,CAC/BzuB,UAAWsL,IAAGmjB,EAAMpuB,MAAML,UAAW2uB,GACrCle,KAAMge,EAAMpuB,MAAMoQ,MAAQ,gB,oDCnBvBse,I,QAFIC,aAAsBC,O,gCCMjCC,GAAgBH,GAAhBG,YAEFC,GAAiB,CACrB,IACA,KACA,KAEA,KACA,MACA,MAEA,MACA,OACA,OAEA,OACA,QACA,SAGIC,GAAgC,CACpCjlB,KAAM,SACN6M,MAAO,MAeF,SAASqY,GAAcC,GAC5B,IAAIC,EAAE,OAAGD,QAAH,IAAGA,IAAaF,GACtB,GAAgB,aAAZG,EAAGplB,KACL,OAAOolB,EAAGvY,MAEV,IAAM4R,EAAMiC,OAAQ2E,OACpB,MAAO,CAAC5G,EAAM2G,EAAGvY,MAAO4R,GAIrB,SAAS6G,GAAmBH,GACjC,IAAIC,EAAE,OAAGD,QAAH,IAAGA,IAAaF,GACtB,MAAgB,aAAZG,EAAGplB,KACC,GAAN,OAAUolB,EAAGplB,KAAb,YAAqBolB,EAAGvY,MAAM,GAA9B,YAAoCuY,EAAGvY,MAAM,IAEvC,GAAN,OAAUuY,EAAGplB,KAAb,YAAqBolB,EAAGvY,OA8Hb3Z,WAAMoe,MArHrB,YAA0E,IAA7CzE,EAA4C,EAA5CA,MAAO8V,EAAqC,EAArCA,SAC1B/1B,EAAMkK,eAANlK,EAD+D,EAEzBgL,oBAAS,GAFgB,mBAEhE2tB,EAFgE,KAE/CC,EAF+C,KAIvE3oB,qBAAU,WACHgQ,GACK,OAAR8V,QAAQ,IAARA,KAAWsC,MAIZ,CAACpY,IAEJ,IAAM4Y,EAAmB3tB,mBAAQ,WAC/B,MAAoB,cAAX,OAAL+U,QAAK,IAALA,OAAA,EAAAA,EAAO7M,MACF,KAEF6M,EAAMA,MAAM5c,KAAI,SAACy1B,GAAD,OAAShF,KAAY,IAANgF,QACrC,CAAC7Y,IAEE8Y,EAAqBlpB,uBACzB,SAACmpB,GACS,OAARjD,QAAQ,IAARA,KAAW,CACT3iB,KAAM,SACN6M,MAAO+Y,IAETJ,GAAmB,KAErB,CAAC7C,IAGGkD,EAA0BppB,uBAC9B,SAACqjB,GACgB,OAAXA,EACM,OAAR6C,QAAQ,IAARA,KAAWsC,IAEH,OAARtC,QAAQ,IAARA,KAAW,CACT3iB,KAAM,WACN6M,MAAOiT,EAAO7vB,KAAI,SAACyhB,GAAD,OAAOA,EAAE2T,YAG/BG,GAAmB,KAErB,CAAC7C,IAGGmD,EACJ,yBAAKjwB,UAAWyC,KAAOytB,4BACrB,yBAAKlwB,UAAWyC,KAAO0tB,mBACrB,8BACGp5B,EACC,2EAGJ,yBAAKiJ,UAAWyC,KAAO2tB,iBAAkBhgB,WAAS,qBAC/C+e,GAAe/0B,KAAI,SAAC21B,GAAD,OAClB,yBACEM,UAAW,EACXj4B,IAAK23B,EACL/vB,UAAWsL,IAAG7I,KAAO6tB,gBAAR,eACV7tB,KAAO8tB,uBACNvZ,GAAwB,WAAfA,EAAM7M,MAAqB6M,EAAMA,QAAU+Y,IAExDptB,QAAS,kBAAMmtB,EAAmBC,IAClC3f,WAAA,oBAAuB2f,IAEtBh5B,EAAE,+DAAgE,IAClE2yB,0BAAe,IAAfA,CAAoBqG,EAAS,SAKtC,yBAAK/vB,UAAWyC,KAAO+tB,oBACrB,8BACGz5B,EACC,4EAGJ,yBAAKwJ,MAAO,CAAEwtB,UAAW,IACvB,kBAACmB,GAAD,CACEuB,UAAQ,EACR1G,OAAO,sBACP/S,MAAO4Y,EACP9C,SAAUkD,OAOpB,OACE,wBACEU,QAAST,EACTxqB,QAAS,CAAC,SACVgN,QAASid,EACTiB,gBAAiBhB,GAEjB,wBAAQ9rB,KAAM,kBAAC+sB,GAAA,EAAD,MAAyBxgB,WAAS,sBAC7C4G,GAAwB,WAAfA,EAAM7M,MACd,8BACGpT,EAAE,+DAAgE,IAClE2yB,0BAAe,IAAfA,CAAoB1S,EAAMA,MAAO,IAGrCA,GAAwB,aAAfA,EAAM7M,MACd,8BACG6M,EAAMA,MACJ5c,KAAI,SAACyhB,GAAD,OAAOgP,KAAM2E,KAAK3T,GAAGkO,OAAO,qBAChCpS,KAAK,SAGVX,GAAS,cACX,kBAACnL,EAAA,EAAD,W,6BCjLFzP,GAAe,CACnBwrB,GAAI,CACFvP,OAAQ,CACNwY,GAAI,KACJC,KAAM,OACNC,UAAW,YACXC,QAAS,UACTC,QAAS,UACTC,YAAa,gBAGjBnJ,GAAI,CACF1P,OAAQ,CACNwY,GAAI,eACJC,KAAM,eACNC,UAAW,iCACXC,QAAS,qBACTC,QAAS,eACTC,YAAa,8BAKnB,IAAK,IAAM94B,MAAOgE,GAChB4rB,aAAuB5vB,GAAK,CAC1BqF,UAAW,CACT0zB,oBAAqB/0B,GAAahE,OAyDzBiF,WAAMoe,MAhDrB,YAAqE,IAAtCpD,EAAqC,EAArCA,OACrBthB,EAAMkK,eAANlK,EACR,OAAQshB,GACN,KAAK/hB,KAAeK,KAClB,OACE,wBACE0hB,OAAO,QACP9P,KAAMxR,EAAE,+CAGd,KAAKT,KAAeC,YAClB,OACE,wBACE8hB,OAAO,QACP9P,KAAMxR,EAAE,sDAGd,KAAKT,KAAeE,GAClB,OACE,wBACE6hB,OAAO,UACP9P,KAAMxR,EAAE,6CAGd,KAAKT,KAAeG,UAClB,OACE,wBACE4hB,OAAO,UACP9P,KAAMxR,EAAE,oDAGd,KAAKT,KAAeI,QAClB,OACE,wBACE2hB,OAAO,aACP9P,KAAMxR,EAAE,kDAGd,QACE,OACE,wBACEshB,OAAO,QACP9P,KAAMxR,EAAE,sD,+DCpDZq6B,GAAoB,CACxBC,WAAY,CACVC,aAAa,EACbC,OAAQ,CAAC,KAAM,MACf9qB,OAAQ,CAAC,EAAG,GACZwnB,SAAU,CACRuD,QAAS,EACTC,QAAS,KAiOAp0B,WAAMoe,MA5NrB,YAkByB,IAAD,EAjBtBiW,EAiBsB,EAjBtBA,eACA1a,EAgBsB,EAhBtBA,MACA2a,EAesB,EAftBA,YACAC,EAcsB,EAdtBA,YACAzhB,EAasB,EAbtBA,SACAkgB,EAYsB,EAZtBA,SACAwB,EAWsB,EAXtBA,UACA7xB,EAUsB,EAVtBA,UACA8xB,EASsB,EATtBA,iBACAC,EAQsB,EARtBA,QACAC,EAOsB,EAPtBA,OACAC,EAMsB,EANtBA,UACAC,EAKsB,EALtBA,OACAC,EAIsB,EAJtBA,SACA9lB,EAGsB,EAHtBA,QACA+lB,EAEsB,EAFtBA,SACGpmB,EACmB,iNACwBjK,oBAAS,GADjC,mBACf2tB,EADe,KACEC,EADF,KAEhB0C,EAAwBzrB,uBAAY,WACpCuJ,GAGJwf,GAAmB,SAAC9T,GAAD,OAAQA,OAC1B,CAAC1L,IAPkB,EASUpO,oBAAS,GATnB,mBASfuwB,EATe,KASJC,EATI,KAWhBC,EAAgC5rB,uBACpC,SAAC2W,GACCgV,GAAW,GACXR,GAAWA,EAAQxU,KAErB,CAACwU,IAGGU,EAA+B7rB,uBACnC,SAAC2W,GACCoS,GAAmB,GACnB4C,GAAW,GACXP,GAAUA,EAAOzU,KAEnB,CAACyU,IAGGU,EAAuBzwB,mBAAQ,WACnC,OAAO1I,IAAEo5B,UACP,SAACC,EAAkBrV,GACbqV,EACFJ,EAA8BjV,GAE9BkV,EAA6BlV,KAGjC,MAED,CAACiV,EAA+BC,IAE7BI,EAAuBjsB,uBAC3B,SAAC2W,GACCmV,GAAqB,EAAMnV,KAE7B,CAACmV,IAGGI,EAAsBlsB,uBAC1B,SAAC2W,GACCmV,GAAqB,EAAOnV,KAE9B,CAACmV,IAGGK,EAAyBnsB,uBAC7B,SAAC2W,GACKA,EAAGyV,QAAUC,KAAQC,MACvBb,IACS9U,EAAGyV,QAAUC,KAAQE,KAC9BxD,GAAmB,GAErBsC,GAAaA,EAAU1U,KAEzB,CAAC8U,EAAuBJ,IAGpBmB,EAA0BxsB,uBAAY,WAC1CyrB,MACC,CAACA,IAEEgB,EAAyBzsB,uBAC7B,SAAC2W,GAECA,EAAGC,mBAEL,IAGI8V,EAA2B1sB,uBAC/B,SAAC6L,GACKA,EACI,OAANyf,QAAM,IAANA,OAEO,OAAP7lB,QAAO,IAAPA,SAGJ,CAAC6lB,EAAQ7lB,IAGLknB,EAAgC3sB,uBACpC,SAAC6L,GACKA,EACM,OAAR0f,QAAQ,IAARA,OAEQ,OAARC,QAAQ,IAARA,SAGJ,CAACD,EAAUC,IAGPoB,EAAqBryB,iBAAuB,MAC5CsyB,EAAetyB,iBAAuB,MAEtCuvB,EAAUzuB,mBAAQ,WACtB,OACE,yBACExB,IAAK+yB,EACLE,YAAaL,EACbrzB,UAAWsL,IAAG7I,KAAOkxB,kBAAmB7B,IAEvCJ,OAGJ,CAACA,EAAgBI,EAAkBuB,IAEtClvB,aAAiB,aAAa,SAACoZ,GAExBmS,IAGe,CAAC8D,EAAmBpkB,QAASqkB,EAAarkB,SAEhD6c,OACV,SAACtxB,GAAD,OACGA,IACA4iB,EAAGte,SACFtE,EAAEi5B,SAASrW,EAAGte,SAA0BtE,IAAM4iB,EAAGte,WAGvD0wB,GAAmB,OAKvBtyB,IAAM2J,WAAU,WACd2oB,GAAmB,SAAC9T,GAClB,QAAIA,IAAM1L,IAGH0L,OAER,CAAC1L,IAEJ,IAAM0jB,EAAgBlC,EAAY3a,GAC5B8c,EAAwC,MAAjBD,EAE7B,OACE,uCACE7zB,UAAWsL,IAAG7I,KAAOsxB,WAAY/zB,GACjC+xB,QAASc,EACTb,OAAQc,EACRb,UAAWc,EACXtyB,IAAKgzB,GACDznB,GAEJ,kBAAC,KAAD,CACEgoB,UAAU,eACV5C,kBAAmBA,GACnB6C,WAAY,GACZC,WAAY,GACZC,eAAe,aACfC,oBAAoB,aACpBC,MAAO3D,EACP4D,aAAc5E,EACd6E,qBAAsBjB,EACtBkB,wBAAyBjB,GAEzB,yBAAKG,YAAaN,GAChB,yBACEpzB,UAAWsL,IAAG7I,KAAOgyB,iBAAR,mBACVhyB,KAAOiyB,QAAUpC,GADP,cAEV7vB,KAAO0N,SAAWA,GAFR,KAKb,2BACEwkB,aAAa,MACb30B,UAAWyC,KAAOmyB,gBAClBzkB,SAAUA,EACVkgB,SAAUA,EACVwB,UAAWA,EACXgD,UAAQ,IAEV,yBACE70B,UAAWsL,IAAG7I,KAAOqyB,uBAAR,eACVryB,KAAOsyB,cAAgBjB,KAG1B,kBAAC5N,GAAD,KACG4N,EAAuBlC,EAAciC,KAI5C,yBAAK7zB,UAAWyC,KAAOuyB,iBACrB,kBAACnpB,EAAA,EAAD,a,+ECpPSopB,G,WAqInB,aAIG,IAAD,iCAvIMC,YAuIN,OArIMC,UAAiB,GAqIvB,KApIMC,aAA+B,IAAI7e,IAoIzC,KAnIM8e,oBAAmC,IAAIC,IAmI7C,KAlIMC,aAA4B,IAAID,IAkItC,KAhIME,mBAAiC,KAgIvC,KA/HMC,iCA+HN,SAEE,0CAAe,GADTC,EADR,EACQA,mBAAuBzb,EAD/B,sCAGArd,KAAK64B,4BAA8BC,EACnC94B,KAAKs4B,OAAS,IAAKS,KAAL,aACZD,mBAAoB,kBAAM,EAAKE,4BAC5B3b,I,2DA1HOoH,EAASwU,GACrB,OAAOj5B,KAAKs4B,OAAOY,cAAczU,EAAMwU,K,sCAEzBE,EAAoBC,GAClC,OAAOp5B,KAAKs4B,OAAOe,gBAAgBF,EAAWC,K,iCAG9C,OAAOp5B,KAAKs4B,OAAOgB,a,qCAGnB,OAAOt5B,KAAKs4B,OAAOiB,iB,2CAGnB,OAAOv5B,KAAKs4B,OAAOkB,uB,yCAGnB,OAAOx5B,KAAKs4B,OAAOmB,qB,sCAELC,EAAmBh+B,GACjC,OAAOsE,KAAKs4B,OAAOqB,gBAAgBD,EAAWh+B,K,sCAG9C,OAAOsE,KAAKs4B,OAAOsB,kB,oCAEPp+B,GACZ,OAAOwE,KAAKs4B,OAAOuB,cAAcr+B,K,sCAEnBy9B,GACd,OAAOj5B,KAAKs4B,OAAOwB,gBAAgBb,K,qCAGnCz9B,EACAu+B,EACAC,GAEAh6B,KAAKs4B,OAAO2B,eAAez+B,EAAKu+B,EAAYC,K,uCAG5Cf,EACAc,EACAC,GAEAh6B,KAAKs4B,OAAO4B,iBAAiBjB,EAAOc,EAAYC,K,kCAEtCx+B,EAAa2+B,GACvBn6B,KAAKs4B,OAAO8B,YAAY5+B,EAAK2+B,K,oCAEjBlB,EAAekB,GAC3Bn6B,KAAKs4B,OAAO+B,cAAcpB,EAAOkB,K,0CAGjCn6B,KAAKs6B,gBAAgBt6B,KAAKs4B,OAAOsB,mB,wCAEjBp+B,GAChBwE,KAAKs4B,OAAOiC,kBAAkB/+B,K,0CAEZy9B,GAClBj5B,KAAKs4B,OAAOkC,oBAAoBvB,K,0CAEdS,EAAmBh+B,GACrCsE,KAAKs4B,OAAOmC,oBAAoBf,EAAWh+B,K,+BAGpCQ,EAAYw+B,GACnB16B,KAAK44B,mBAAqB,KACtB8B,GACF16B,KAAKy4B,oBAAoBkC,QAI3B,IAAMC,EAAkB,GACxB56B,KAAK24B,aAAagC,QARwB,qBASvBz+B,GATuB,IAS1C,2BAA0B,CAAC,IAAhBuoB,EAAe,QAClBjpB,EAAMwE,KAAKs4B,OAAOuC,OAAOpW,GAC3BzkB,KAAKw4B,aAAatrB,IAAI1R,KACxBwE,KAAK24B,aAAamC,IAAIt/B,GACtBo/B,EAAWr/B,KAAKkpB,KAbsB,8BAyB1CzkB,KAAKs4B,OAAOe,iBAAgB,GAC5Br5B,KAAKs4B,OAAOyC,SAASH,EAAYF,GA1BS,qBA4BxB16B,KAAKy4B,qBA5BmB,IA4B1C,2BAA4C,CAAC,IAAlCj9B,EAAiC,QACtCwE,KAAK24B,aAAazrB,IAAI1R,IACxBwE,KAAKs4B,OAAO2B,eAAez+B,GAAK,GAAM,IA9BA,8BAiC1CwE,KAAKs4B,OAAOe,iBAAgB,K,qCAGfO,GACb,GAAIA,GAAiB55B,KAAK24B,aAAa9kB,OAAS7T,KAAKw4B,aAAa3kB,KAAM,CAEtE7T,KAAKs4B,OAAOe,iBAAgB,GAF0C,qBAGpDr5B,KAAK24B,cAH+C,IAGtE,2BAAqC,CAAC,IAA3Bn9B,EAA0B,QACnCwE,KAAKs4B,OAAO2B,eAAez+B,GAAK,GAAM,IAJ8B,8BAMtEwE,KAAKs4B,OAAOe,iBAAgB,QAE5Br5B,KAAKs4B,OAAOgC,eAAeV,K,4BApH7B,OAAO55B,KAAKs4B,OAAO58B,O,aAEXujB,GACRjf,KAAKs4B,OAAO58B,MAAQujB,I,2BAGpB,OAAOjf,KAAKs4B,OAAOpvB,S,gEAiInBlJ,KAAKg7B,6B,iDAILh7B,KAAK44B,mBAAqB,KAC1BqC,KAAWC,MAAMl7B,KAAMm7B,KACnBn7B,KAAK64B,6BACP74B,KAAK64B,gC,kCAIG38B,GACV8D,KAAK44B,mBAAqB,KAC1B54B,KAAKu4B,UAAYr8B,EACjB8D,KAAKw4B,aAAamC,QAHI,qBAIHz+B,GAJG,IAItB,2BAA0B,CAAC,IAAhBuoB,EAAe,QAClBjpB,EAAMwE,KAAKs4B,OAAOuC,OAAOpW,GAC/BzkB,KAAKw4B,aAAalxB,IAAI9L,EAAKipB,IANP,8BAStB,IATsB,EAShBnoB,EAAgB0D,KAAKs4B,OAAOgB,WAC5B7T,EAAgB,GAVA,eAWHnpB,GAXG,IAWtB,2BAAkC,CAAC,IAAxBmoB,EAAuB,QAC1BjpB,EAAMwE,KAAKs4B,OAAOuC,OAAOpW,GAC3BzkB,KAAKw4B,aAAatrB,IAAI1R,IACxBiqB,EAASlqB,KAAKkpB,IAdI,8BAyBlBnoB,EAAchB,SAAWmqB,EAASnqB,QACpC0E,KAAK+6B,SAAStV,K,oCAKhB,OAAOzlB,KAAKu4B,Y,wCAIZ,IAAKv4B,KAAK44B,mBAAoB,CAC5B54B,KAAK44B,mBAAqB,GADE,qBAEF54B,KAAKw4B,cAFH,IAE5B,2BAA6C,CAAC,IAAD,yBAAjCh9B,EAAiC,KAA5BipB,EAA4B,KAEvCzkB,KAAK24B,aAAazrB,IAAI1R,GACpBwE,KAAKs4B,OAAOuB,cAAcr+B,IAC5BwE,KAAK44B,mBAAmBr9B,KAAKkpB,GAG3BzkB,KAAKy4B,oBAAoBvrB,IAAI1R,IAC/BwE,KAAK44B,mBAAmBr9B,KAAKkpB,IAVP,8BAiB5BzkB,KAAKy4B,oBAAoBkC,QAjBG,qBAkBV36B,KAAK44B,oBAlBK,IAkB5B,2BAA2C,CAAC,IAAjCp9B,EAAgC,QACzCwE,KAAKy4B,oBAAoBqC,IAAI96B,KAAKs4B,OAAOuC,OAAOr/B,KAnBtB,+BAuB9B,OAAOwE,KAAK44B,qB,wCAGIzvB,GAQhB,IARwC,EAQpCiyB,GAAY,EACZC,EAAyB,EATW,eAUtBlyB,GAVsB,IAUxC,2BAAgC,CAAC,IAAtB3N,EAAqB,QAC9B,GAAIwE,KAAKw4B,aAAatrB,IAAI1R,KACxB6/B,KACKr7B,KAAKy4B,oBAAoBvrB,IAAI1R,IAAM,CACtC4/B,GAAY,EACZ,QAfkC,8BAsBxC,GAHIC,IAA2Br7B,KAAKy4B,oBAAoB5kB,OACtDunB,GAAY,IAEVA,EAAJ,CAIAp7B,KAAKy4B,oBAAoBkC,QA1Be,qBA2BtBxxB,GA3BsB,IA2BxC,2BAAgC,CAAC,IAAtB3N,EAAqB,QAC1BwE,KAAKw4B,aAAatrB,IAAI1R,IACxBwE,KAAKy4B,oBAAoBqC,IAAIt/B,IA7BO,8BAiCxCwE,KAAKs4B,OAAOe,iBAAgB,GAC5Br5B,KAAKs4B,OAAOgC,gBAAe,GAlCa,qBAmCtBnxB,GAnCsB,IAmCxC,2BAAgC,CAAC,IAAtB3N,EAAqB,QAC1BwE,KAAK24B,aAAazrB,IAAI1R,IACxBwE,KAAKs4B,OAAO2B,eAAez+B,GAAK,GAAM,IArCF,8BAwCxCwE,KAAKs4B,OAAOe,iBAAgB,GAAM,GAClCr5B,KAAKg7B,8B,8CAGiBpB,GAEtB,GADA55B,KAAKs4B,OAAOe,iBAAgB,GACvBO,EAGE,CAAC,IAAD,iBACa55B,KAAKw4B,aAAa/9B,QAD/B,IACL,2BAA4C,CAAC,IAAlCe,EAAiC,QAC1CwE,KAAKy4B,oBAAoBqC,IAAIt/B,IAF1B,8BAILwE,KAAKs4B,OAAOgC,gBAAe,QAN3Bt6B,KAAKy4B,oBAAoBkC,QACzB36B,KAAKs4B,OAAOgC,gBAAe,GAO7Bt6B,KAAKs4B,OAAOe,iBAAgB,GAAM,GAClCr5B,KAAKg7B,+B,8EC/KMv6B,WAAMoe,KAAKpe,IAAMsD,YAlFhC,WAWEF,GACC,IAVCy3B,EAUF,EAVEA,UACAC,EASF,EATEA,kBACAh/B,EAQF,EAREA,OACAi/B,EAOF,EAPEA,eACAC,EAMF,EANEA,eACAC,EAKF,EALEA,WACAC,EAIF,EAJEA,eACGvsB,EAGL,0HACMwsB,EAAoB5xB,uBACxB,SAACjM,GACe,OAAdy9B,QAAc,IAAdA,KAAiBz9B,EAAEsE,OAAO+X,SAE5B,CAACohB,IAGGK,EAAWt3B,iBAAc,MAE/B9D,IAAMq7B,oBAAoBj4B,GAAK,iBAAO,CACpCk4B,iBADoC,WAChB,IAAD,EACjB,UAAAF,EAASrpB,eAAT,SAAkBC,aAMtB,IAAMokB,EAAetyB,iBAAO,MACtBy3B,EAAgBv3B,aAAQoyB,GAExBoF,EAAY52B,mBAChB,iBACG,CACC62B,SAAU,WACVr3B,OAAQm3B,EAAcn3B,OACtBusB,UAAS,OAAEqK,QAAF,IAAEA,IAAkB,IAC7Bz2B,MAAK,OAAE02B,QAAF,IAAEA,IAAc,OAEzB,CAACM,EAAcn3B,OAAQ42B,EAAgBC,IA7BzC,SAoCIC,QApCJ,IAoCIA,IAAkB,GAHTQ,EAjCb,EAiCE/4B,UACOg5B,EAlCT,EAkCEz4B,MACG04B,EAnCL,qCAsCA,OACE,uCACEj5B,UAAWsL,IAAG7I,KAAOy2B,yBAA0BH,GAC/Cx4B,MAAOy4B,GACHC,GAEJ,wBACErH,YAAauG,EACbrnB,YAAU,EACVgc,SAAU0L,EACVxhB,MAAO7d,EACPsH,IAAKg4B,IAEP,kBAACU,GAAA,EAAD,CAAgB54B,MAAOs4B,GACrB,yBAAKp4B,IAAKgzB,GACR,kBAAC2F,GAAA,EAAD,CAAkBlB,UAAWA,EAAWmB,6BAA2B,GACjE,kBAACtZ,GAAD,eACEoD,cAAeC,IAAckW,SAC7BpB,UAAWA,EACXqB,gCAA8B,EAC9B9V,WAAYC,IAAsBC,UAClC6V,OAAO,MACPrc,SAAO,GACHnR,YC7FZytB,GAAa,CACjBC,eAAgB,SAACr5B,GAAD,OAAW,kBAACwc,GAA2Bxc,KAuD1ChD,WAAMoe,MA5CrB,YAMuB,IALrByc,EAKoB,EALpBA,UACArX,EAIoB,EAJpBA,QACA/nB,EAGoB,EAHpBA,MACA6gC,EAEoB,EAFpBA,eACApB,EACoB,EADpBA,eAEQxhC,EAAMkK,eAANlK,EADY,EAEUgL,mBAAS,IAFnB,mBAEb63B,EAFa,KAEJC,EAFI,OAIc53B,mBAAQ,WACxC,OAAOpJ,aAAoBC,EAAO8gC,KACjC,CAAC9gC,EAAO8gC,IANS,mBAIbxX,EAJa,KAID0X,EAJC,cAQqCvB,QARrC,IAQqCA,IAAkB,GAA5DS,EARK,EAQZz4B,MAA0Bw5B,EARd,yBASdC,EAAsB/3B,mBAAQ,WAClC,IAAM1B,EAA0B,aAC9B6Y,SAAU,UACP4f,GAEL,OAAO,aACLz4B,SACGw5B,KAEJ,CAACf,EAAgBe,IAEpB,OACE,kBAAC,GAAD,CACE7B,UAAWA,EACXC,kBAAmBphC,EAAE,8CACrBoC,OAAQygC,EACRxB,eAAgByB,EAChBxB,eAAgB,IAChBC,WAAY,IACZzX,QAASA,EACT/nB,MAAOspB,EACP6X,OAAQH,EACRL,WAAYA,GACZlB,eAAgByB,EAChBv5B,IAAKk5B,OCpCI,SAASO,GAAT,GAGS,IAFtBphC,EAEqB,EAFrBA,MACAiN,EACqB,EADrBA,aAEQhP,EAAMkK,eAANlK,EAEFwR,EAAOtG,mBAAQ,WACnB,IAAMk4B,EAAkB,GACxBp0B,EAAavN,SAAQ,SAACJ,GAAD,OAAU+hC,EAAgB/hC,IAAO,KACtD,IAAMgiC,EAAyD,CAC7DvjC,GArBG,CACLwjC,IAAK,EACLrd,SAAU,GAoBRhmB,KAtBG,CACLqjC,IAAK,EACLrd,SAAU,GAqBR/lB,KAvBG,CACLojC,IAAK,EACLrd,SAAU,GAsBR9lB,QAxBG,CACLmjC,IAAK,EACLrd,SAAU,IAwBVlkB,EAAMN,SAAQ,SAAC6oB,GACb+Y,EAAc/Y,EAAKzoB,cAAcyhC,MAC7BF,EAAgB9Y,EAAKjpB,MACvBgiC,EAAc/Y,EAAKzoB,cAAcokB,cAIrC,IAAIsd,GAAgB,EACdtwB,EAAc,GACpB,IAAK,IAAMhS,KAAMoiC,EAAe,CAC9B,IAAMG,EAAQH,EAAcpiC,GACxBuiC,EAAMvd,WAAaud,EAAMF,MAC3BC,GAAgB,GAEdC,EAAMvd,SAAW,IACfud,EAAMF,MAAQE,EAAMvd,SACtBhT,EAAE7R,KACApB,EAAE,gDAAiD,CACjD0G,UAAW7G,KAAiBoB,MAIhCgS,EAAE7R,KACApB,EAAE,8CAA+C,CAC/CyjC,EAAGD,EAAMvd,SACTvf,UAAW7G,KAAiBoB,OAOtC,OAAKsiC,EAIEtwB,EAAE2N,KAAK,MAHL5gB,EAAE,2CAIV,CAACA,EAAG+B,EAAOiN,IAEd,OAAO,oCAAGwC,GCzCZ,IAAMnM,GAAe,CACnBwrB,GAAI,CACFgK,YAAa,mBACbuG,kBAAmB,kBACnBnb,SAAU,CACRqd,IAAK,gBACLI,QAAS,CACPD,EAAG,sBACHH,IAAK,sBAGTxZ,QAAS,CACPzoB,IAAK,WACLigB,OAAQ,WAGZ0P,GAAI,CACF6J,YAAa,2BACbuG,kBAAmB,2BACnBnb,SAAU,CACRqd,IAAK,2BACLI,QAAS,CACPD,EAAG,sBACHH,IAAK,+BAGTxZ,QAAS,CACPzoB,IAAK,eACLigB,OAAQ,kBAKd,IAAK,IAAMjgB,MAAOgE,GAChB4rB,aAAuB5vB,GAAK,CAC1BqF,UAAW,CACTi9B,eAAgBt+B,GAAahE,OAoMpBiF,WAAMsD,YA/LrB,SACEN,EACAI,GACC,IAAD,EACsCk6B,aAA+Bt6B,GADrE,mBACOu6B,EADP,KACoBC,EADpB,KAEMC,EAAwBjtB,YAAagtB,GAEzCE,EAME16B,EANF06B,cACAC,EAKE36B,EALF26B,iBACAC,EAIE56B,EAJF46B,mBAGGjvB,GACD3L,EAHF2W,MAGE3W,EAFFysB,SARF,YAUIzsB,EAVJ,+EAYQtJ,EAAMkK,eAANlK,EAZR,EAiBImkC,cAAiB,SAAC/R,GAAD,OACnB7f,KAAOC,cAAc4xB,gBAAgBhS,MAH/B3xB,EAfR,EAeEkS,KACW0xB,EAhBb,EAgBEpqB,UAhBF,EAuBIkqB,cAAiB,SAAC/R,GAAD,OACnB7f,KAAOC,cAAc8xB,iBAAiBlS,MAHhCmS,EArBR,EAqBE5xB,KACW6xB,EAtBb,EAsBEvqB,UAtBF,EA0B+CkqB,cAAiB,SAAC/R,GAAD,OAC9D7f,KAAOC,cAAciyB,cAAcrS,MADvB5xB,EA1Bd,EA0BQmS,KAAyB+xB,EA1BjC,EA0BsBzqB,UAIhB6P,EAAqB5e,mBACzB,iBAAM,CACJ,CACE5J,KAAMtB,EAAE,wCACRqB,IAAK,MACL0lB,SAAU,IACVmE,SAAU,IACVC,SAAU,SAACwZ,GACT,OACE,kBAACxV,GAAD,KACE,wBAAS9lB,MAAOs7B,EAAKtjC,KACnB,8BAAOsjC,EAAKtjC,SAMtB,CACEC,KAAMtB,EAAE,2CACRqB,IAAK,SACL0lB,SAAU,IACVmE,SAAU,IACVC,SAAU,SAACwZ,GACT,OACE,kBAACxV,GAAD,KACE,kBAAC,GAAD,CAAqB7N,OAAQqjB,EAAKrjB,eAM5C,CAACthB,IA7DH,EAgEqBkL,mBAAQ,WAC3B,OAAIm5B,GAAeG,GAAiBE,EAC3B,CAAC,GAAI,IAEPnkC,aAAmB,CACxBC,SACAC,WACAC,SAAQ,OAAE6jC,QAAF,IAAEA,OAAF,EAAEA,EAAYrkC,KACtBS,YAAW,OAAE4jC,QAAF,IAAEA,OAAF,EAAEA,EAAYpkC,QACzBS,eAAgBojC,MAEjB,CACDA,EACAvjC,EACA8jC,EACA/jC,EACA6jC,EACAG,EACAE,IAlBKE,EAhEP,oBAqFMzD,EAAY/2B,iBAChB,IAAI8zB,GAAoB,CACtBS,mBAAoB,WAClB,IACMr+B,EADI6gC,EAAU9oB,QAAQwsB,kBACbxhC,KAAI,SAACyhB,GAAD,OAAOA,EAAEzjB,OAC5B0iC,EAAsB,aAAIzjC,QAKhCwkC,cAAwB,WAAO,IAAD,EAC5B,UAAA3D,EAAU9oB,eAAV,SAAmB0sB,kBAAnB,OAAqClB,QAArC,IAAqCA,IAAe,MACnD,CAACA,IAEJ,IAAMmB,EAAgB56B,kBAAO,GAE7B6F,qBAAU,WAIR,IAAI+0B,EAAc3sB,SAGQ,IAAtBusB,EAAWzjC,OAAf,CAGA,IAAM8jC,EAAM9D,EAAU9oB,QACtB4sB,EAAI/F,iBAAgB,GACpB+F,EAAIC,YAAYN,GACZf,GAAeA,EAAY1iC,OAAS,EACtC8jC,EAAIF,kBAAkBlB,GACbI,GACTgB,EAAIE,yBAAwB,GAE9BF,EAAI/F,iBAAgB,GACpB8F,EAAc3sB,SAAU,KAGvB,CAACusB,IAEJ,IAAMQ,EAAoBtuB,aAAa,SAACxW,GACtC,IADyD,EACnD+kC,EAAe,GADoC,eAEtCT,GAFsC,IAEzD,2BAA+B,CAAC,IAArBta,EAAoB,QAC7B+a,EAAa/a,EAAKjpB,KAAOipB,GAH8B,8BAKzD,OAAOhqB,EAAK+C,KAAI,SAAChC,GAAD,OAASgkC,EAAahkC,SAGlCikC,EAAmBxuB,aAAa,SAACzV,GACrC,OAAO+jC,EAAkB,CAAC/jC,IAAM,MAGlCiF,IAAMq7B,oBAAoBj4B,GAAK,iBAAO,CACpC47B,mBACAF,wBAGF,IAAMG,EAAc11B,uBAClB,SAACb,GACC,OACwB,IAAtB41B,EAAWzjC,QACV6N,GACuB,IAAxBA,EAAa7N,OAIR,kBAACgiC,GAAD,CAAcphC,MAAO6iC,EAAY51B,aAAcA,IAF7C,OAIX,CAAC41B,IAGGhC,EAAiBx4B,iBAAiC,MAElDo7B,EAAiB31B,uBACrB,kBACE,kBAAC,GAAD,CACEia,QAASA,EACT/nB,MAAO6iC,EACPzD,UAAWA,EAAU9oB,QACrBuqB,eAAgBA,EAChBpB,eAAgB0C,MAGpB,CAACpa,EAAS8a,EAAYV,IAGlBuB,EAAe51B,uBAAY,WAAO,IAAD,EACrC,UAAA+yB,EAAevqB,eAAf,SAAwBupB,qBACvB,IAEH,OACE,kBAAC,GAAD,eACEjH,eAAgB6K,EAChBvlB,MAAO4jB,EACPjJ,YAAa2K,EACbnsB,SAAUirB,GAAeG,GAAiBE,EAC1C7J,YAAa76B,EAAE,wCACfo7B,SAAUqK,GACNxwB,OCjQJusB,GAAuD,CAC3Dh4B,MAAO,CAAE6Y,SAAU,WAmDrB,IAEeqjB,MAFmBp/B,IAAMoe,OAxCxC,YAM0B,IALxByc,EAKuB,EALvBA,UACArX,EAIuB,EAJvBA,QACA/nB,EAGuB,EAHvBA,MACA4jC,EAEuB,EAFvBA,SACA/C,EACuB,EADvBA,eAEQ5iC,EAAMkK,eAANlK,EADe,EAEOgL,mBAAS,IAFhB,mBAEhB63B,EAFgB,KAEPC,EAFO,KAIjB3gC,EAAgB+I,mBAAQ,WAC5B,GAAuB,IAAnB23B,EAAQ1hC,OACV,OAAOY,EAET,IAAME,EAAK4gC,EAAQ3gC,cACbE,EACQ,MAAZujC,EACI,SAACC,GAAD,aACEA,EAAGvkC,IAAIa,cAAcI,QAAQL,IAAO,IACpC,UAAC2jC,EAAG/sB,aAAJ,QAAa,IAAI3W,cAAcI,QAAQL,IAAO,GAChD,SAAC2jC,GAAD,OAAWD,EAAS9C,EAAS+C,IACnC,OAAO7jC,EAAMK,OAAOA,KACnB,CAACL,EAAO8gC,EAAS8C,IAEpB,OACE,kBAAC,GAAD,CACExE,UAAWA,EACXC,kBAAmBphC,EAAE,2CACrBoC,OAAQygC,EACRxB,eAAgByB,EAChBxB,eAAgB,IAChBC,WAAY,IACZzX,QAASA,EACT/nB,MAAOI,EACPq/B,eAAgBA,GAChB93B,IAAKk5B,OCzCX,IAAMv9B,GAAe,CACnBwrB,GAAI,CACFuQ,kBAAmB,SACnBnb,SAAU,iBACV4f,YAAa,SAEf7U,GAAI,CACFoQ,kBAAmB,eACnBnb,SAAU,kCACV4f,YAAa,uBAIjB,IAAK,IAAMxkC,MAAOgE,GAChB4rB,aAAuB5vB,GAAK,CAC1BqF,UAAW,CACTo/B,YAAazgC,GAAahE,OAmBhC,SAAS0kC,GAA6Bz8B,GAA8B,IAAD,EAC3Bs6B,aAA+Bt6B,GADJ,mBAC1Du6B,EAD0D,KAC7CC,EAD6C,KAE3DC,EAAwBjtB,YAAagtB,GAEzC/hC,EAQEuH,EARFvH,MACA4jC,EAOEr8B,EAPFq8B,SACAK,EAME18B,EANF08B,sBACAH,EAKEv8B,EALFu8B,YACAhL,EAIEvxB,EAJFuxB,YAGG5lB,GACD3L,EAHF2W,MAGE3W,EAFFysB,SAV+D,YAY7DzsB,EAZ6D,8FAczDtJ,EAAMkK,eAANlK,EAEF8pB,EAAqB5e,mBACzB,iBAAM,CACJ,CACE5J,KAAI,OAAEukC,QAAF,IAAEA,IAAe7lC,EAAE,qCACvBqB,IAAK,OACL0lB,SAAU,IACVoE,SAAU,SAACwZ,GACT,IAAI9rB,EAMJ,OAJEA,EADE,UAAW8rB,EACLA,EAAK9rB,MAEL8rB,EAAKtjC,IAGb,kBAAC8tB,GAAD,KACE,wBAAS9lB,MAAOwP,GACd,8BAAOA,UAOnB,CAAC7Y,EAAG6lC,IAGA1E,EAAY/2B,iBAChB,IAAI8zB,GAAoB,CACtBS,mBAAoB,WASlB,IACMr+B,EADI6gC,EAAU9oB,QAAQwsB,kBACbxhC,KAAI,SAACyhB,GAAD,OAAOA,EAAEzjB,OAC5B0iC,EAAsBzjC,OAK5BwkC,cAAwB,WAAO,IAAD,EAC5B,UAAA3D,EAAU9oB,eAAV,SAAmB0sB,kBAAnB,OAAqClB,QAArC,IAAqCA,IAAe,MACnD,CAACA,IAEJ5zB,qBAAU,WAAO,IAAD,IACd,UAAAkxB,EAAU9oB,eAAV,SAAmB6sB,YAAnB,OAA+BnjC,QAA/B,IAA+BA,IAAS,IAIxC,UAAAo/B,EAAU9oB,eAAV,SAAmB0sB,kBAAnB,OAAqClB,QAArC,IAAqCA,IAAe,MAGnD,CAAC9hC,IAEJ,IAAM6gC,EAAiBx4B,iBAAiC,MAElDo7B,EAAiB31B,uBACrB,kBACE,kBAAC,GAAD,CACEia,QAASA,EACT/nB,MAAK,OAAEA,QAAF,IAAEA,IAAS,GAChBo/B,UAAWA,EAAU9oB,QACrBstB,SAAUA,EACV/C,eAAgBA,MAGpB,CAAC9Y,EAAS/nB,EAAO4jC,IAGbF,EAAe51B,uBAAY,WAAO,IAAD,EACrC,UAAA+yB,EAAevqB,eAAf,SAAwBupB,qBACvB,IAEG2D,EAAc11B,uBAAY,WAAO,IAAD,EACpC,OAAIgrB,GAAiBgJ,GAAsC,IAAvBA,EAAY1iC,OAGzCnB,EAAC,OAACgmC,QAAD,IAACA,IAAyB,iCAAkC,CAClEvC,EAAC,iBAAEI,QAAF,IAAEA,OAAF,EAAEA,EAAa1iC,cAAf,QAAyB,IAHnB,OAKR,CAACnB,EAAG6jC,EAAamC,EAAuBnL,IAE3C,OACE,kBAAC,GAAD,eACEF,eAAgB6K,EAChBvlB,MAAO4jB,EACPjJ,YAAa2K,EACb1K,YAAaA,EACbO,SAAUqK,GACNxwB,IAKV8wB,GAAYE,MC1JG,YAGa,IAF1BlkC,EAEyB,EAFzBA,MACGkT,EACsB,yBACnBixB,EAAch7B,mBAAQ,yCAAMnJ,QAAN,IAAMA,OAAN,EAAMA,EAAOsB,KAAI,SAACyhB,GAAD,MAAQ,CAAEzjB,IAAKyjB,aAAhC,QAAyC,KAAI,CACvE/iB,IAEF,OAAO,kBAAC,GAAD,eAAaA,MAAOmkC,GAAiBjxB,KDqJ/B8wB,UE/Hf,IAAMI,GAAcC,uBAAY,KAAM,CAAC,GAAI,IAAK,IAAK,IAAK,MAa1D,IAAMC,GArCN,YAAwE,IAApCh9B,EAAmC,EAAnCA,MAAO4W,EAA4B,EAA5BA,MACzC,OACE,wBAAS5W,MAAOA,GACd,8BAAO4W,KAoCbomB,GAAiBC,MA1BjB,YAG4B,IAAD,IAFzBrmB,aAEyB,MAFjB,EAEiB,MADzBsmB,qBACyB,MADT,EACS,EACzB,OACE,wBAASl9B,MAAO4W,GACd,8BAAO0S,0BAAe,QAAfA,CAAwB1S,GAAS,EAAG,EAAGsmB,MAqBpDF,GAAiBG,YAdjB,YAG4B,IAAD,IAFzBvmB,aAEyB,MAFjB,EAEiB,MADzBsmB,qBACyB,MADT,EACS,EACzB,OACE,wBAASl9B,MAAOspB,0BAAe,QAAfA,CAAwB1S,GAAS,EAAG,EAAGsmB,IACrD,8BAAOJ,GAAYlmB,GAAS,EAAG,EAAGsmB,MCdzBjgC,WAAMoe,MArBrB,YAIyB,IAHvBzb,EAGsB,EAHtBA,UACAuS,EAEsB,EAFtBA,WACA+G,EACsB,EADtBA,SACsB,EACQvX,oBAAS,GADjB,mBACfy7B,EADe,KACNC,EADM,KAGhBC,EAAqB92B,uBAAY,WACrC62B,GAAW,KACV,IAEGh9B,EAAMU,iBAAO,MAGnB,OAFAgD,aAAiB,eAAgBu5B,EAAoB,CAAEz+B,OAAQwB,IAG7D,yBAAKA,IAAKA,EAAKT,UAAWsL,IAAGtL,EAAD,eAAeuS,EAAairB,KACrDlkB,M,+BCjBQ,SAASqkB,GAAT,GAKE,IAJfC,EAIc,EAJdA,SACAtkB,EAGc,EAHdA,SACAtZ,EAEc,EAFdA,UACGgM,EACW,mDACN6xB,EAAUC,eAAVD,MAER,OACE,uCACE79B,UAAWsL,IAAGtL,EAAD,eACVyC,KAAOs7B,YAAcF,IAAUD,KAE9B5xB,GAEHsN,G,oBCtBQ,SAAS0kB,GAAT,GAIX,IAHF1kB,EAGC,EAHDA,SAIQzP,EAAWo0B,eAAXp0B,OACR,OAAIxM,IAAMqxB,eAAepV,GAChBjc,IAAMyxB,aAAaxV,EAAU,CAAElhB,IAAKyR,IAEtC,O,oPCeF,SAASqxB,EACdgD,EACA7/B,GACC,IAAD,EAEEA,GAAW,GAFb,IACQ8/B,iBADR,aAC0BC,oBAD1B,MACyC,KADzC,MAC+CC,qBAD/C,MAC+D,KAD/D,IAI0Bt8B,mBAAmB,CAC3CiP,UAAWmtB,IALb,mBAIO/0B,EAJP,KAIck1B,EAJd,KASMC,EAAoBp9B,iBAAiC,MACrDq9B,EAAUr9B,kBAAO,GAEjBmoB,EAAczb,YAAY,sBAAC,8BAAArQ,EAAA,yDAC1BghC,EAAQpvB,QADkB,qDAI3BmvB,EAAkBnvB,QAJS,wDAQ/BivB,GAAiBA,IAEjBE,EAAkBnvB,QAAUqvB,IAAMC,YAAYv/B,SAE9Cm/B,GAAS,SAAC3kC,GAAD,mBAAC,eACLA,GADI,IAEPqX,WAAW,EACX9F,WAAOlO,OAfsB,SAmBvBmsB,EAAuB,CAC3BwV,YAAaJ,EAAkBnvB,QAAQrE,MACvCN,cAAeC,IAAcC,QArBF,UAuBVuzB,EAAW/U,GAvBD,QAuBvB1f,EAvBuB,OAwBzB+0B,EAAQpvB,SACVkvB,EAAS,CACP50B,KAAMD,EAAKC,KACXsH,WAAW,IA3Bc,kDA+BzBwtB,EAAQpvB,SACVkvB,EAAS,CACPpzB,MAAM,EAAD,GACL8F,WAAW,IAlCc,QAuC/ButB,EAAkBnvB,QAAU,KAE5BgvB,GAAgBA,IAzCe,2DA2DjC,OAfA9uB,aAAS,WACPkvB,EAAQpvB,SAAU,EACd+uB,GACF7U,OAIJsV,aAAW,WACTJ,EAAQpvB,SAAU,EACe,MAA7BmvB,EAAkBnvB,UACpBmvB,EAAkBnvB,QAAQyvB,SAC1BN,EAAkBnvB,QAAU,SAIzB,2BACFhG,GADL,IAEEkgB,gBAUG,SAASJ,EACd4V,EACAzgC,GACC,IAAD,EAEEA,GAAW,GAFb,IACQ8/B,iBADR,aAC0BC,oBAD1B,MACyC,KADzC,MAC+CC,qBAD/C,MAC+D,KAD/D,IAI0Bt8B,mBAAwB,CAChDiP,UAAWmtB,EACXz0B,KAAMo1B,EAAa1kC,KAAI,SAACb,GAAD,OAAO,QAC9B2R,MAAO4zB,EAAa1kC,KAAI,SAACb,GAAD,OAAO,UAPjC,mBAIO6P,EAJP,KAIck1B,EAJd,KAUMC,EAAoBp9B,iBAAmC,MACvDq9B,EAAUr9B,kBAAO,GAEjB49B,EAAe,uCAAG,WAAOriB,GAAP,iBAAAlf,EAAA,sEAEd2rB,EAAuB,CAC3BwV,YAAaJ,EAAkBnvB,QAASsN,GAAK3R,MAC7CN,cAAeC,IAAcC,QAJX,SAMDm0B,EAAapiB,GAAKyM,GANjB,OAMd1f,EANc,OAOhB+0B,EAAQpvB,SACVkvB,GAAS,SAAC3kC,GAER,OADAA,EAAE+P,KAAKgT,GAAOjT,EAAKC,KACZ,2BAAK/P,GAAZ,IAAe+P,KAAK,YAAK/P,EAAE+P,WAVX,gDAchB80B,EAAQpvB,SACVkvB,GAAS,SAAC3kC,GAER,OADAA,EAAEuR,MAAMwR,GAAR,KACO,2BAAK/iB,GAAZ,IAAeuR,MAAM,YAAKvR,EAAEuR,YAjBZ,yDAAH,sDAuBfoe,EAAczb,YAAY,sBAAC,4BAAArQ,EAAA,yDAC1BghC,EAAQpvB,QADkB,qDAI3BmvB,EAAkBnvB,QAJS,wDAQ/BivB,GAAiBA,IAEjBE,EAAkBnvB,QAAU0vB,EAAa1kC,KAAI,SAACb,GAAD,OAC3CklC,IAAMC,YAAYv/B,YAEpBm/B,GAAS,SAAC3kC,GAAD,mBAAC,eACLA,GADI,IAEPqX,WAAW,EACX9F,MAAO4zB,EAAa1kC,KAAI,SAACb,GAAD,OAAO,aAG3ByQ,EAAI80B,EAAa1kC,KAAI,SAACb,EAAGmjB,GAAJ,OAAYqiB,EAAgBriB,MAnBxB,UAoBzBpE,QAAQ+hB,IAAIrwB,GApBa,QAqB3Bw0B,EAAQpvB,SACVkvB,GAAS,SAAC3kC,GAAD,mBAAC,eACLA,GADI,IAEPqX,WAAW,OAIfutB,EAAkBnvB,QAAU,KAE5BgvB,GAAgBA,IA9Be,6CAgDjC,OAfA9uB,aAAS,WACPkvB,EAAQpvB,SAAU,EACd+uB,GACF7U,OAIJsV,aAAW,WACTJ,EAAQpvB,SAAU,EACe,MAA7BmvB,EAAkBnvB,UACpBmvB,EAAkBnvB,QAAQ5W,SAAQ,SAACmP,GAAD,OAAOA,EAAEk3B,YAC3CN,EAAkBnvB,QAAU,SAIzB,2BACFhG,GADL,IAEEkgB,gBASG,SAAS0V,EACdd,EACA7/B,GACC,IAAD,EAOIA,GAAW,GAPf,IAEE4gC,uBAFF,MAEoB,IAFpB,MAGEC,kBAHF,MAGe,KAHf,MAIEd,oBAJF,MAIiB,KAJjB,MAKEC,qBALF,MAKkB,KALlB,MAMEF,iBANF,SAQMK,EAAUr9B,kBAAO,GACjBg+B,EAAeh+B,iBAA6C,MAW5Di+B,EAAiB,WACO,MAAxBD,EAAa/vB,UACfiwB,aAAaF,EAAa/vB,SAC1B+vB,EAAa/vB,QAAU,OAsBrBkwB,EAAMpE,EAAiBgD,EAAY,CACvCC,YACAE,cApBsB,WACT,OAAbA,QAAa,IAAbA,OACAe,KAmBAhB,aAhBqB,WACrB,IAAImB,GAAc,EACdC,EAAOpwB,QAAQlE,MACjBq0B,GAAc,EACLC,EAAOpwB,QAAQ1F,MAAQw1B,IAChCK,EAAcL,EAAWM,EAAOpwB,QAAQ1F,OAEtC61B,GA3BwB,MAAxBJ,EAAa/vB,SAAmBovB,EAAQpvB,UAC1C+vB,EAAa/vB,QAAUD,YAAW,WAChCqwB,EAAOpwB,QAAQka,cACf6V,EAAa/vB,QAAU,OACtB6vB,IA0BO,OAAZb,QAAY,IAAZA,UASIoB,EAASr+B,iBAAOm+B,GAetB,OAbAt4B,qBAAU,WACRw4B,EAAOpwB,QAAUkwB,IAChB,CAACA,IAEJhwB,aAAS,WACPkvB,EAAQpvB,SAAU,KAGpBwvB,aAAW,WACTJ,EAAQpvB,SAAU,EAClBgwB,OAGKE,I,oBCvRTvkC,EAAOC,QAAU,CAAC,aAAe,sBAAsB,eAAiB,wBAAwB,cAAgB,yB,wICkBzG,SAAS+uB,EAAO0V,GACrB,OAAO5U,IAAM4U,GAAiB1V,OAAO,cAZvCc,IAAM6U,OAAOC,KAeEtiC,UAAMoe,MAbrB,YAA6D,IAA7CgkB,EAA4C,EAA5CA,gBAAoBxlB,EAAwB,mCAE1D,OADAhZ,cAEE,qCAASb,MAAO2pB,EAAO0V,IAAsBxlB,GAC3C,8BAAO8P,EAAO0V,Q,oCCApB5U,IAAM6U,QCUS,SAAChlC,EAAGiN,EAAG1H,GACpB,IAAM2/B,EAAK,SAELC,EAAiB,CACrBC,QAAQ,kBAAD,OAAoBF,GAC3BG,QAAQ,cAAD,OAAgBH,GACvBI,QAAQ,iBAAD,OAAmBJ,GAC1BK,SAAS,aAAD,OAAeL,GACvBM,SAAS,oBAAD,OAAsBN,GAC9BO,SAAS,oBAAD,OAAsBP,GAC9BQ,SARQ,cAUIz4B,EAAEvI,UACVihC,SAAW,SAAUC,EAAeC,GACxC,IAAMxW,EAASwW,GAAW3jC,KAAK4jC,UAAUH,UAAYR,EAC/CY,EAAsBxgC,EAAEqgC,QAAiBtjC,GAAW0jC,QAAQ,KAC5DC,EAAO/jC,KAAK+jC,KAAKF,EAAqB,KAAK,GAC3CG,EAAWhkC,KAAKikC,OAASJ,EAAoBI,OAG7CC,EACJF,GAAY,GAAKA,EAAW,EAHb,WAKXD,GAAQ,EACK,IAAbC,EACE,WACA,WACFD,EAAO,EACP,UACAA,EAAO,EACP,UACAA,EAAO,EACP,UACa,IAAbC,EACA,WACA,WAEAG,EAAgBhX,EAAO+W,IAAWjB,EAAeiB,GACvD,MAA6B,oBAAlBC,EACFA,EAAczhC,KAAK1C,KAAMqD,KAE3BrD,KAAKmtB,OAAOgX,ODlDvBlW,IAAM6U,OAAOsB,KACbnW,IAAM6U,OAAOC,KACb9U,IAAM6U,OAAOuB,KAEb,IAAM7kC,EAAe,CACnBwrB,GAAI,CACFmY,QAAS,wBACTE,SAAU,kBACVD,QAAS,wBACTE,SAAU,yBACVJ,QAAS,yBACTK,SAAU,yBACVC,SAAU,WAEZrY,GAAI,CACFgY,QAAS,2BACTE,SAAU,iBACVD,QAAS,2BACTE,SAAU,yBACVJ,QAAS,2BACTK,SAAU,yBACVC,SAAU,YAId,IAAK,IAAMhoC,KAAOgE,EAChB4rB,YAAuB5vB,EAAK,CAC1BqF,UAAW,CACTyjC,SAAU,CACRb,SAAUjkC,EAAahE,OA2BhBiF,UAAMoe,MArBrB,YAAiE,IAA7CgkB,EAA4C,EAA5CA,gBAAoBxlB,EAAwB,mCAE9D,OADAhZ,cAEE,qCAASb,MAAO+gC,EAAW1B,IAAsBxlB,GAC/C,8BAKC,SAAgBwlB,GACrB,OAAO5U,IAAM4U,GAAiBY,cAASrjC,EAAW,CAChD+iC,QAASjpC,IAAQC,EAAE,uCACnBkpC,SAAUnpC,IAAQC,EAAE,wCACpBipC,QAASlpC,IAAQC,EAAE,uCACnBmpC,SAAUppC,IAAQC,EAAE,wCACpB+oC,QAAShpC,IAAQC,EAAE,uCACnBopC,SAAUrpC,IAAQC,EAAE,wCACpBqpC,SAAUtpC,IAAQC,EAAE,0CAbXgzB,CAAO0V,QE/CL,KAAE2B,WAAUC,S,uICGrBC,EAA+C,CACnD5jC,QAAS,OACT6jC,aAAc,eACdC,cAAe,iBAQXplC,EAAe,CACnBwrB,GAAI,CACF6Z,KAAM,OACNC,aAAc,gBACdC,cAAe,iBACf3zB,QAAS,UAEX+Z,GAAI,CACF0Z,KAAM,eACNC,aAAc,+BACdC,cAAe,qCACf3zB,QAAS,uBAIb,IAAK,IAAM5V,KAAOgE,EAChB4rB,YAAuB5vB,EAAK,CAC1BqF,UAAW,CACTmkC,SAAUxlC,EAAahE,MAqCdiF,QAAMoe,MAhCrB,YAAyE,IAArD/R,EAAoD,EAApDA,KAAoD,IAA9Cm4B,sBAA8C,MAA7B,UAA6B,EAC9D9qC,EAAMkK,cAANlK,EAD8D,EAElCgL,oBAAS,GAFyB,mBAE/D+/B,EAF+D,KAEnDC,EAFmD,KAIhErV,EAAQsV,aAAa,WACzBD,GAAc,KACb,MAAM,GAOT,OACE,+BACID,GACA,kBAAC,kBAAD,CAAiBv5B,KAAI,OAAEmB,QAAF,IAAEA,IAAQ,GAAIu4B,OARtB,WACjBF,GAAc,GACdrV,MAOM,2BACG31B,EAAE,sBAAD,OAAuBuqC,EAAUO,KAAoB,IACvD,kBAAC,IAAD,QAILC,GACC,0BAAM9hC,UAAWyC,IAAOy/B,YACtB,kBAAC,IAAD,MADF,IACqBnrC,EAAE,oC,iCCjExB,SAASorC,IACd,OAAO,SAACC,GACN,IACMC,EADI,IAAIz4B,gBAAgBw4B,GACfn4B,IAAI,SACnB,GAAY,MAARo4B,EACF,MAAO,GAET,IAAMz3B,EAAIpM,KAAKK,MAAMwjC,GACrB,OAAMz3B,GAAKA,EAAE9L,cAAgB1H,OACpBwT,EAEF,IAIJ,SAAS03B,IACd,OAAO,SAACC,GACN,IAAMF,EAAO7jC,KAAKC,UAAU8jC,GACtBv4B,EAAI,IAAIJ,gBAEd,OADAI,EAAE9F,IAAI,QAASm+B,GACRr4B,EAAEw4B,YAIN,SAAShrB,EAAiBrG,GAC/B,OAAOA,EAAIsxB,MAAM,KAAK,GAzBxB,uG,uHCaA,SAASC,EAAiBriC,EAAOsiC,GAC/B,OAAO,kBAACA,EAAD,iBAAmBtiC,EAAnB,CAA0BL,UAAWyC,IAAOmgC,iBAsCtCC,IAnCf,YAOoB,IANlB7iC,EAMiB,EANjBA,UACA8iC,EAKiB,EALjBA,KACAC,EAIiB,EAJjBA,iBACAjW,EAGiB,EAHjBA,SACAkW,EAEiB,EAFjBA,aACGh3B,EACc,mFACWjK,mBAASghC,GAAoBD,EAAK,GAAG1qC,KADhD,mBACV6qC,EADU,KACFC,EADE,KAEXv7B,EAAI2D,IAAG7I,IAAOqgC,KAAM9iC,GACpBmjC,EAAcL,EAAKvgB,MAAK,SAAC6gB,GAAD,OAASA,EAAIhrC,MAAQ6qC,KAOnD,OACE,oCACE,qCACEjjC,UAAW2H,EACXo7B,iBAAkBE,EAClBnW,SAVN,SAAmBmW,GACjBC,EAAUD,GACVnW,GAAYA,EAASmW,IASjBD,aAAcA,GAAgBN,GAC1B12B,GAEH82B,EAAK1oC,KAAI,SAACgpC,GAAD,OACR,sBAAMC,QAAN,CAAcD,IAAKA,EAAIhjC,MAAOhI,IAAKgrC,EAAIhrC,UAT7C,OAYG+qC,QAZH,IAYGA,OAZH,EAYGA,EAAan7B,a,uCCnDhBiI,EAAM,UAAGrS,SACV0lC,cAAc,4CADP,aAAG,EAETC,aAAa,WAEF,2BAAXtzB,IACFA,EAAS,cAGIA,O,0HCqBAtE,IAtBf,YAAkE,IAAtC2N,EAAqC,EAArCA,SAClBjd,EAAS4E,cAAT5E,KAMFmnC,EACJ,uBAAM7gC,QALR,SAAqBhI,GACnB0B,EAAKqX,eAAe/Y,EAAEvC,MAIM2N,aAAc,CAAC1J,EAAKmd,WAC7CjgB,IAAEa,IAAIqpC,KAAe,SAACprC,EAAMD,GAC3B,OAAO,sBAAMuL,KAAN,CAAWvL,IAAKA,GAAMC,OAKnC,OACE,uBAAUq4B,QAAS8S,EAAMvc,UAAU,eAChC3N,K,oBCvBPve,EAAOC,QAAU,CAAC,kBAAoB,2BAA2B,WAAa,oBAAoB,YAAc,uB,oBCAhHD,EAAOC,QAAU,CAAC,UAAY,mBAAmB,QAAU,iBAAiB,YAAc,uB,oBCA1FD,EAAOC,QAAU,CAAC,KAAO,cAAc,cAAgB,yB,oBCAvDD,EAAOC,QAAU,CAAC,IAAM,aAAa,UAAY,qB,oBCAjDD,EAAOC,QAAU,CAAC,WAAa,oBAAoB,UAAY,qB,oBCA/DD,EAAOC,QAAU,CAAC,gBAAkB,yBAAyB,eAAiB,0B,iCCD9E,gDAIO,SAASuL,EACdnO,EACAmvB,GAEC,IADDmc,EACA,wDACA,OAAOC,YACLD,EAAa,UAAMtrC,EAAN,aAAckD,SAAkClD,EAC7DmvB,K,uECqUAqc,E,kCAvUEC,EAAgB,CACpB,aACA,SACA,UACA,YACA,YACA,MACA,QACA,UACA,UACA,KACA,MACA,aACA,iBACA,SACA,QACA,UACA,SACA,OACA,UACA,OACA,SACA,UACA,gBACA,UACA,QACA,WACA,UACA,YACA,SACA,UACA,UACA,SACA,YACA,aACA,aACA,aACA,WACA,UACA,SACA,QACA,oBACA,WACA,YACA,MACA,WACA,aACA,aACA,UACA,UACA,UACA,SACA,OACA,WACA,gBACA,WACA,cACA,MACA,KACA,OACA,WACA,YACA,UACA,OACA,WACA,MACA,SACA,UACA,cACA,SACA,UACA,SACA,OACA,UACA,SACA,UACA,WACA,OACA,QACA,SACA,OACA,QACA,QACA,QACA,MACA,QACA,UACA,OACA,WACA,WACA,SACA,QACA,SACA,eACA,OACA,gBACA,QACA,OACA,cACA,cACA,aACA,KACA,SACA,SACA,KACA,QACA,UACA,SACA,SACA,YACA,gBACA,WACA,OACA,UACA,KACA,YACA,MACA,OACA,OACA,iBACA,UACA,QACA,OACA,SACA,QACA,OACA,QACA,OACA,QACA,OACA,eACA,QACA,SACA,uBACA,cACA,kBACA,QACA,2BACA,uBACA,WACA,uBACA,uBACA,SACA,QACA,SACA,gBACA,WACA,OACA,SACA,QACA,aACA,SACA,QACA,UACA,MACA,QACA,OACA,SACA,YACA,YACA,KACA,OACA,OACA,WACA,SACA,aACA,UACA,YACA,OACA,UACA,YACA,aACA,WACA,UACA,aACA,YACA,UACA,cACA,QACA,QACA,QACA,cACA,iBACA,YACA,QACA,OACA,YACA,aACA,aACA,SACA,SACA,SACA,SACA,aACA,UACA,cACA,QACA,UACA,WACA,SACA,UACA,SACA,QACA,WACA,MACA,OACA,aACA,SACA,WACA,YACA,eACA,UACA,QACA,OACA,WACA,QACA,SACA,SACA,MACA,mBACA,iBACA,kBACA,iBACA,oBACA,YACA,sBACA,cACA,cACA,iBACA,2BACA,oBACA,eACA,wBACA,mBACA,mBACA,yBACA,mBACA,eACA,QACA,WACA,SACA,OACA,UACA,gBACA,SACA,UACA,QACA,QACA,SACA,YACA,aACA,OACA,KACA,WACA,gBACA,OACA,WACA,OACA,QACA,cACA,SACA,SACA,WACA,QACA,MACA,QACA,YACA,OACA,OACA,OACA,OACA,QACA,cAGIC,EAAwB,CAC5B,MACA,QACA,eACA,cACA,cACA,SACA,cACA,OACA,WACA,KACA,SACA,cACA,SACA,QACA,SACA,WACA,SACA,qBACA,aACA,MACA,SACA,SACA,SAGIC,EAAgC,CACpC,YACA,gBACA,QACA,QACA,aAGIC,EAAuB,CAC3B,MACA,cACA,aACA,OACA,aACA,OACA,YACA,kBACA,KACA,cACA,aACA,aACA,mBACA,OACA,OC3UIC,EAAiB,I,WDoVrB,WAAmBC,GAAM,yBAANA,MACjBtnC,KAAKsnC,IAAMA,E,mDASN7a,GAgBL,OAfKua,IACHA,EAAY,IAAIO,IAAU,CACxBN,gBACAC,wBACAE,uBACAD,gCACAK,YAAa,CAAC,KAAM,MAAO,KAAM,KAAM,MACvCC,WAAY,CAAC,IAAK,QAClBC,YAAa,CAAC,IAAK,OACnBC,wBAAyB,CAAC,KAC1BC,sBAAuB,CAAC,KACxBC,iBAAkB,CAAC,IAAK,MACxBC,iBAAkB,CAAC,QAGhB,IAAIC,IAAU/nC,KAAKsnC,IAAKN,GAAW7Z,OAAOV,O,KC9W9B,CAAqB,CAAEub,WAAW,IAE1C,SAASnf,EAAUL,GAChC,OAAO6e,EAAela,OAAO3E,GAAO,M,sGCFvB,SAAS0Y,IAAiB,IAG/Bj0B,EAAWo0B,cAAXp0B,OAWR,OATe5H,mBAAQ,WACrB,IAD2B,EACrB4iC,EAAe,IAAIj7B,gBAAgBC,GACrCi7B,EAAgC,GAFT,cAGND,GAHM,IAG3B,2BAAmC,CAAC,IAAD,yBAAvB9yB,EAAuB,KAApB8J,EAAoB,KACjCipB,EAAQ/yB,GAAK8J,GAJY,8BAM3B,OAAOipB,IACN,CAACj7B,M,gCCfN,uMAaO,SAASk7B,EAAgBC,GACA,kBAAnBA,EAQEA,EAAe3tC,OACvBmB,SAAQ,SAACJ,GACZ,IAAM6sC,EAAI7sC,EAAI8sC,MAAM,gBACfD,GAKLjd,EAFaid,EAAE,GACMD,EAAe5sC,OAdpChB,OAAOC,KAAK2tC,GAAgBxsC,SAAQ,SAACJ,GAEnC4vB,EAAuB5vB,EADF4sC,EAAe5sC,OAkBnC,SAAS4vB,EAAuB7pB,EAAM/B,GAC3CtF,IAAQquC,kBAAkBhnC,EAAM,cAAe/B,GAAc,GAAM,GAnCrE,kCASAtF,IAAQqf,GAAG,mBAAmB,SAAUivB,GACtCva,IAAMtR,OAAO6rB,EAAInsC,kBA4BZ,IAAMwqC,EAAgB,CAC3B1b,GAAI,2BACJH,GAAI,WAGN9wB,IACGihB,IAAIstB,KACJttB,IAAIutB,KACJC,KAAK,CACJC,UAAW,CACT5d,GAAI,CACF6d,YAAa,CACXC,YAINle,YAAa,KACbme,UAAW,CAAC,KAAM,MAClBC,cAAe,CACbC,aAAa,EACbC,iBAAkB,CAAEJ,aAI1B,IAAMt3B,GAAW9S,G,oBC7DjBP,EAAOC,QAAU,CAAC,UAAY,qB,oBCA9BD,EAAOC,QAAU,CAAC,WAAa,sB,oBCA/BD,EAAOC,QAAU,CAAC,yBAA2B,oC,oBCA7CD,EAAOC,QAAU,CAAC,YAAc,qBAAqB,MAAQ,iB,oBCA7DD,EAAOC,QAAU,CAAC,MAAQ,iB,mBCA1BD,EAAOC,QAAU,CAAC,UAAY,mBAAmB,iBAAmB,0BAA0B,gBAAkB,yBAAyB,OAAS,gBAAgB,QAAU,iBAAiB,KAAO,cAAc,aAAe,sBAAsB,UAAY,mBAAmB,UAAY,mBAAmB,qBAAuB,8BAA8B,uBAAyB,gCAAgC,kBAAoB,2BAA2B,QAAU,iBAAiB,uBAAuB,8BAA8B,uBAAuB,8BAA8B,MAAQ,eAAe,KAAO,gB,mICiBjnB+qC,EACAC,EACAC,E,0NCDSC,EAAY,iCAAiCl7B,QAAQ,OAAQ,IAM7Dm7B,EACJ,IAqBIC,EAGT,WAAYC,GAAsH,IAA7EN,EAA4E,uDAAzDG,EAAqBzH,EAAoC,uDAAb6H,IAAa,yBAA5EP,WAA4E,KAApCtH,QAAoC,KAFvH4H,mBAEuH,EACzHA,IACAzpC,KAAKypC,cAAgBA,EACrBzpC,KAAKmpC,SAAWM,EAAcN,UAAYnpC,KAAKmpC,WAW9CQ,EAAb,kDAEI,WAAmBC,EAAer4B,GAAe,IAAD,8BAC5C,cAAMA,IADSq4B,QAA6B,EADhDnuC,KAAwB,gBACwB,EAFpD,sBAAmCuC,QC+kGtB6rC,EAA8B,SAAUJ,GACjD,MAAO,CAQHK,qBAAqB,WAAD,4BAAE,WAAOC,GAAP,2CAAAnpC,EAAA,yDAAwBa,EAAxB,+BAAuC,GAEzC,OAAZsoC,QAAgC3pC,IAAZ2pC,EAFN,sBAGR,IAAIJ,EAAc,UAAU,uFAHpB,UAKZK,EAAe,oCAChB57B,QADgB,WACJ,UADI,KACU67B,mBAAmBC,OAAOH,KACnDI,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZY,yBAYejvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBjB,oBAkB8C,oBAAzBhB,EAAcgB,OAlBnC,kCAmBFhB,EAAcgB,OAAO,iBAnBnB,6DAoBFhB,EAAcgB,OApBZ,4BAkBRC,EAlBQ,KAqBdH,EAAuB,cAAoBG,EArB7B,eA0BlBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9BlF,kBAgCX,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCK,4CAAF,mDAAC,GA2CrBM,wBAAwB,WAAD,4BAAE,wDAAAhqC,EAAA,yDAAOa,EAAP,+BAAsB,GACrCuoC,EADe,YAEfG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPe,yBAOYjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZd,oBAa2C,oBAAzBhB,EAAcgB,OAbhC,kCAcLhB,EAAcgB,OAAO,iBAdhB,6DAeLhB,EAAcgB,OAfT,4BAaXC,EAbW,KAgBjBH,EAAuB,cAAoBG,EAhB1B,eAqBrBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB/E,kBA2Bd,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BQ,4CAAF,kDAAC,GAsCxBO,yBAAyB,WAAD,4BAAE,wDAAAjqC,EAAA,yDAAOa,EAAP,+BAAsB,GACtCuoC,EADgB,mBAEhBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPgB,yBAOWjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZb,oBAa0C,oBAAzBhB,EAAcgB,OAb/B,kCAcNhB,EAAcgB,OAAO,iBAdf,6DAeNhB,EAAcgB,OAfR,4BAaZC,EAbY,KAgBlBH,EAAuB,cAAoBG,EAhBzB,eAqBtBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB9E,kBA2Bf,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BS,4CAAF,kDAAC,GAuCzBQ,kBAAkB,WAAD,4BAAE,WAAO5vB,GAAP,6CAAAta,EAAA,yDAA0Ca,EAA1C,+BAAyD,GAExD,OAAZyZ,QAAgC9a,IAAZ8a,EAFT,sBAGL,IAAIyuB,EAAc,UAAU,oFAHvB,UAKTK,EALS,sBAMTG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXS,yBAWkBjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBpB,oBAiBiD,oBAAzBhB,EAAcgB,OAjBtC,kCAkBChB,EAAcgB,OAAO,iBAlBtB,6DAmBChB,EAAcgB,OAnBf,4BAiBLC,EAjBK,KAoBXH,EAAuB,cAAoBG,EApBhC,eAyBfH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjCxG,kBAmCR,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCE,4CAAF,mDAAC,GA8ClBU,oBAAoB,WAAD,4BAAE,wDAAApqC,EAAA,yDAAOa,EAAP,+BAAsB,GACjCuoC,EADW,qBAEXG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPW,yBAOgBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZlB,oBAa+C,oBAAzBhB,EAAcgB,OAbpC,kCAcDhB,EAAcgB,OAAO,iBAdpB,6DAeDhB,EAAcgB,OAfb,4BAaPC,EAbO,KAgBbH,EAAuB,cAAoBG,EAhB9B,eAqBjBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBnF,kBA2BV,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BI,4CAAF,kDAAC,GAuCpBW,kCAAkC,WAAD,4BAAE,WAAOtF,GAAP,2CAAA/kC,EAAA,yDAAkBa,EAAlB,+BAAiC,GAEtD,OAANkkC,QAAoBvlC,IAANulC,EAFa,sBAGrB,IAAIgE,EAAc,IAAI,8FAHD,UAKzBK,EALyB,qCAMzBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXyB,yBAWEjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBJ,oBAiBiC,oBAAzBhB,EAAcgB,OAjBtB,kCAkBfhB,EAAcgB,OAAO,iBAlBN,6DAmBfhB,EAAcgB,OAnBC,4BAiBrBC,EAjBqB,KAoB3BH,EAAuB,cAAoBG,EApBhB,oBAuBrBtqC,IAANulC,IACA6E,EAAsB,EAAQ7E,GAKlCwE,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjCrE,kBAmCxB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCkB,4CAAF,mDAAC,GA8ClCY,iCAAiC,WAAD,4BAAE,wDAAAtqC,EAAA,yDAAOa,EAAP,+BAAsB,GAC9CuoC,EADwB,mCAExBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPwB,yBAOGjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZL,oBAakC,oBAAzBhB,EAAcgB,OAbvB,kCAcdhB,EAAcgB,OAAO,iBAdP,6DAedhB,EAAcgB,OAfA,4BAapBC,EAboB,KAgB1BH,EAAuB,cAAoBG,EAhBjB,eAqB9BP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBtE,kBA2BvB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BiB,4CAAF,kDAAC,GAsCjCa,6BAA6B,WAAD,4BAAE,wDAAAvqC,EAAA,yDAAOa,EAAP,+BAAsB,GAC1CuoC,EADoB,+BAEpBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPoB,yBAOOjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZT,oBAasC,oBAAzBhB,EAAcgB,OAb3B,kCAcVhB,EAAcgB,OAAO,iBAdX,6DAeVhB,EAAcgB,OAfJ,4BAahBC,EAbgB,KAgBtBH,EAAuB,cAAoBG,EAhBrB,eAqB1BP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB1E,kBA2BnB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7Ba,4CAAF,kDAAC,GAuC7Bc,8BAA8B,WAAD,4BAAE,WAAOlwB,GAAP,6CAAAta,EAAA,yDAA6Ca,EAA7C,+BAA4D,GAEvE,OAAZyZ,QAAgC9a,IAAZ8a,EAFG,sBAGjB,IAAIyuB,EAAc,UAAU,gGAHX,UAKrBK,EALqB,+BAMrBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXqB,yBAWMjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBR,oBAiBqC,oBAAzBhB,EAAcgB,OAjB1B,kCAkBXhB,EAAcgB,OAAO,iBAlBV,6DAmBXhB,EAAcgB,OAnBH,4BAiBjBC,EAjBiB,KAoBvBH,EAAuB,cAAoBG,EApBpB,eAyB3BH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjC5F,kBAmCpB,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCc,4CAAF,mDAAC,GA+C9Be,+BAA+B,WAAD,4BAAE,WAAOC,GAAP,2CAAA1qC,EAAA,yDAAmBa,EAAnB,+BAAkC,GAEnD,OAAP6pC,QAAsBlrC,IAAPkrC,EAFS,sBAGlB,IAAI3B,EAAc,KAAK,4FAHL,UAKtBK,EALsB,iCAMtBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXsB,yBAWKjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBP,oBAiBoC,oBAAzBhB,EAAcgB,OAjBzB,kCAkBZhB,EAAcgB,OAAO,iBAlBT,6DAmBZhB,EAAcgB,OAnBF,4BAiBlBC,EAjBkB,KAoBxBH,EAAuB,cAAoBG,EApBnB,oBAuBjBtqC,IAAPkrC,IACAd,EAAsB,GAASc,GAKnCnB,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjCxE,kBAmCrB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCe,4CAAF,mDAAC,GA8C/BiB,mCAAmC,WAAD,4BAAE,wDAAA3qC,EAAA,yDAAOa,EAAP,+BAAsB,GAChDuoC,EAD0B,sCAE1BG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAP0B,yBAOCjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZH,oBAagC,oBAAzBhB,EAAcgB,OAbrB,kCAchBhB,EAAcgB,OAAO,iBAdL,6DAehBhB,EAAcgB,OAfE,4BAatBC,EAbsB,KAgB5BH,EAAuB,cAAoBG,EAhBf,eAqBhCP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBpE,kBA2BzB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BmB,4CAAF,kDAAC,GAuCnCkB,yCAAyC,WAAD,4BAAE,WAAOF,GAAP,2CAAA1qC,EAAA,yDAAmBa,EAAnB,+BAAkC,GAE7D,OAAP6pC,QAAsBlrC,IAAPkrC,EAFmB,sBAG5B,IAAI3B,EAAc,KAAK,sGAHK,UAKhCK,EALgC,6CAMhCG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXgC,yBAWLjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBG,oBAiB0B,oBAAzBhB,EAAcgB,OAjBf,kCAkBtBhB,EAAcgB,OAAO,iBAlBC,6DAmBtBhB,EAAcgB,OAnBQ,4BAiB5BC,EAjB4B,KAoBlCH,EAAuB,cAAoBG,EApBT,oBAuB3BtqC,IAAPkrC,IACAd,EAAsB,GAASc,GAKnCnB,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjC9D,kBAmC/B,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCyB,4CAAF,mDAAC,GAgDzCmB,oCAAoC,WAAD,4BAAE,WAAOC,EAAoBC,GAA3B,2CAAA/qC,EAAA,yDAA6Ca,EAA7C,+BAA4D,GACvFuoC,EAD2B,uCAE3BG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAP2B,yBAOAjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZF,oBAa+B,oBAAzBhB,EAAcgB,OAbpB,kCAcjBhB,EAAcgB,OAAO,iBAdJ,6DAejBhB,EAAcgB,OAfG,4BAavBC,EAbuB,KAgB7BH,EAAuB,cAAoBG,EAhBd,oBAmBftqC,IAAdsrC,IACAlB,EAAsB,WAAiBkB,QAG3BtrC,IAAZurC,IACAnB,EAAsB,SAAemB,GAKzCxB,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjCnE,kBAmC1B,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCoB,4CAAF,qDAAC,GAkDpCsB,wCAAwC,WAAD,4BAAE,WAAOC,EAAkBhrC,EAAoBirC,EAAsBR,GAAnE,2CAAA1qC,EAAA,yDAAgFa,EAAhF,+BAA+F,GAC9HuoC,EAD+B,4CAE/BG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAP+B,yBAOJjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZE,oBAa2B,oBAAzBhB,EAAcgB,OAbhB,kCAcrBhB,EAAcgB,OAAO,iBAdA,6DAerBhB,EAAcgB,OAfO,4BAa3BC,EAb2B,KAgBjCH,EAAuB,cAAoBG,EAhBV,oBAmBrBtqC,IAAZyrC,IACArB,EAAsB,QAAcqB,QAGtBzrC,IAAdS,IACA2pC,EAAsB,UAAgB3pC,QAGtBT,IAAhB0rC,IACAtB,EAAsB,aAAmBsB,QAGlC1rC,IAAPkrC,IACAd,EAAsB,GAASc,GAKnCnB,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzC/D,kBA2C9B,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7CwB,4CAAF,yDAAC,GAsDxCyB,qBAAqB,WAAD,4BAAE,wDAAAnrC,EAAA,yDAAOa,EAAP,+BAAsB,GAClCuoC,EADY,uBAEZG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPY,yBAOejvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZjB,oBAa8C,oBAAzBhB,EAAcgB,OAbnC,kCAcFhB,EAAcgB,OAAO,iBAdnB,6DAeFhB,EAAcgB,OAfZ,4BAaRC,EAbQ,KAgBdH,EAAuB,cAAoBG,EAhB7B,eAqBlBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBlF,kBA2BX,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BK,4CAAF,kDAAC,GAuCrB0B,wBAAwB,WAAD,4BAAE,WAAOtuC,GAAP,6CAAAkD,EAAA,yDAAoCa,EAApC,+BAAmD,GAE5D,OAAR/D,QAAwB0C,IAAR1C,EAFC,sBAGX,IAAIisC,EAAc,MAAM,sFAHb,UAKfK,EALe,sBAMfG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXe,yBAWYjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBd,oBAiB2C,oBAAzBhB,EAAcgB,OAjBhC,kCAkBLhB,EAAcgB,OAAO,iBAlBhB,6DAmBLhB,EAAcgB,OAnBT,4BAiBXC,EAjBW,KAoBjBH,EAAuB,cAAoBG,EApB1B,eAyBrBH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAqC,kBAARrtC,GAAwE,qBAAnD4sC,EAAuB/uB,QAAQ,gBACvF+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAkBzB,IAAR1C,EAAoBA,EAAM,IAAOA,GAAO,GAjCtF,kBAmCd,CACH6W,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCQ,4CAAF,mDAAC,GA+CxB2B,oBAAoB,WAAD,4BAAE,WAAO99B,GAAP,yCAAAvN,EAAA,yDAAsBa,EAAtB,+BAAqC,GAExC,OAAV0M,QAA4B/N,IAAV+N,EAFL,sBAGP,IAAIw7B,EAAc,QAAQ,oFAHnB,cAKXK,EALW,sBAMXG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXW,yBAWgBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,QAEjBpqC,IAAV+N,IACAq8B,EAAsB,MAAYr8B,GAKtCg8B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBnF,kBA2BV,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BI,4CAAF,mDAAC,GAuCpB4B,qBAAqB,WAAD,4BAAE,WAAOnC,GAAP,2CAAAnpC,EAAA,yDAAwBa,EAAxB,+BAAuC,GAEzC,OAAZsoC,QAAgC3pC,IAAZ2pC,EAFN,sBAGR,IAAIJ,EAAc,UAAU,uFAHpB,UAKZK,EAAe,oCAChB57B,QADgB,WACJ,UADI,KACU67B,mBAAmBC,OAAOH,KACnDI,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZY,yBAYejvB,OAAQ,UAAagvB,GAAgB5oC,GAChE8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBjB,oBAkB8C,oBAAzBhB,EAAcgB,OAlBnC,kCAmBFhB,EAAcgB,OAAO,iBAnBnB,6DAoBFhB,EAAcgB,OApBZ,4BAkBRC,EAlBQ,KAqBdH,EAAuB,cAAoBG,EArB7B,eA0BlBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9BlF,kBAgCX,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCK,4CAAF,mDAAC,GA4CrB6B,oCAAoC,WAAD,4BAAE,WAAOjxB,GAAP,6CAAAta,EAAA,yDAAwDa,EAAxD,+BAAuE,GAExF,OAAZyZ,QAAgC9a,IAAZ8a,EAFS,sBAGvB,IAAIyuB,EAAc,UAAU,sGAHL,UAK3BK,EAL2B,sCAM3BG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAX2B,yBAWAjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBF,oBAiB+B,oBAAzBhB,EAAcgB,OAjBpB,kCAkBjBhB,EAAcgB,OAAO,iBAlBJ,6DAmBjBhB,EAAcgB,OAnBG,4BAiBvBC,EAjBuB,KAoB7BH,EAAuB,cAAoBG,EApBd,eAyBjCH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjCtF,kBAmC1B,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCoB,4CAAF,mDAAC,GA+CpC8B,+BAA+B,WAAD,4BAAE,WAAOj+B,GAAP,yCAAAvN,EAAA,yDAAsBa,EAAtB,+BAAqC,GAEnD,OAAV0M,QAA4B/N,IAAV+N,EAFM,sBAGlB,IAAIw7B,EAAc,QAAQ,+FAHR,cAKtBK,EALsB,kCAMtBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXsB,yBAWKjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,QAEjBpqC,IAAV+N,IACAq8B,EAAsB,MAAYr8B,GAKtCg8B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBxE,kBA2BrB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7Be,4CAAF,mDAAC,GAsC/B+B,mBAAmB,WAAD,4BAAE,wDAAAzrC,EAAA,yDAAOa,EAAP,+BAAsB,GAChCuoC,EADU,oBAEVG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPU,yBAOiBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZnB,oBAagD,oBAAzBhB,EAAcgB,OAbrC,kCAcAhB,EAAcgB,OAAO,iBAdrB,6DAeAhB,EAAcgB,OAfd,4BAaNC,EAbM,KAgBZH,EAAuB,cAAoBG,EAhB/B,eAqBhBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBpF,kBA2BT,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BG,4CAAF,kDAAC,GAuCnBgC,2BAA2B,WAAD,4BAAE,WAAO3uC,GAAP,yCAAAiD,EAAA,yDAAmBa,EAAnB,+BAAkC,GAE/C,OAAP9D,QAAsByC,IAAPzC,EAFK,sBAGd,IAAIgsC,EAAc,KAAK,wFAHT,cAKlBK,EAAe,iCAChB57B,QADgB,WACJ,KADI,KACK67B,mBAAmBC,OAAOvsC,KAC9CwsC,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZkB,yBAYSjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,GAI/BL,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAtB5E,kBAwBjB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA1BW,4CAAF,mDAAC,GAoC3BiC,2BAA2B,WAAD,4BAAE,WAAO5uC,GAAP,yCAAAiD,EAAA,yDAAmBa,EAAnB,+BAAkC,GAE/C,OAAP9D,QAAsByC,IAAPzC,EAFK,sBAGd,IAAIgsC,EAAc,KAAK,wFAHT,cAKlBK,EAAe,gCAChB57B,QADgB,WACJ,KADI,KACK67B,mBAAmBC,OAAOvsC,KAC9CwsC,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZkB,yBAYSjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,GAI/BL,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAtB5E,kBAwBjB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA1BW,4CAAF,mDAAC,GAoC3BkC,2BAA2B,WAAD,4BAAE,WAAO7uC,GAAP,2CAAAiD,EAAA,yDAAmBa,EAAnB,+BAAkC,GAE/C,OAAP9D,QAAsByC,IAAPzC,EAFK,sBAGd,IAAIgsC,EAAc,KAAK,wFAHT,UAKlBK,EAAe,gCAChB57B,QADgB,WACJ,KADI,KACK67B,mBAAmBC,OAAOvsC,KAC9CwsC,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZkB,yBAYSjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBX,oBAkBwC,oBAAzBhB,EAAcgB,OAlB7B,kCAmBRhB,EAAcgB,OAAO,iBAnBb,6DAoBRhB,EAAcgB,OApBN,4BAkBdC,EAlBc,KAqBpBH,EAAuB,cAAoBG,EArBvB,eA0BxBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9B5E,kBAgCjB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCW,4CAAF,mDAAC,GA4C3BmC,oBAAoB,WAAD,4BAAE,WAAOvxB,GAAP,6CAAAta,EAAA,yDAA+Ca,EAA/C,+BAA8D,GAE/D,OAAZyZ,QAAgC9a,IAAZ8a,EAFP,sBAGP,IAAIyuB,EAAc,UAAU,sFAHrB,UAKXK,EALW,oBAMXG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXW,yBAWgBjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBlB,oBAiB+C,oBAAzBhB,EAAcgB,OAjBpC,kCAkBDhB,EAAcgB,OAAO,iBAlBpB,6DAmBDhB,EAAcgB,OAnBb,4BAiBPC,EAjBO,KAoBbH,EAAuB,cAAoBG,EApB9B,eAyBjBH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjCtG,kBAmCV,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCI,4CAAF,mDAAC,GA+CpBoC,uBAAuB,WAAD,4BAAE,WAAOv+B,GAAP,2CAAAvN,EAAA,yDAAsBa,EAAtB,+BAAqC,GAE3C,OAAV0M,QAA4B/N,IAAV+N,EAFF,sBAGV,IAAIw7B,EAAc,QAAQ,uFAHhB,UAKdK,EALc,4BAMdG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXc,yBAWajvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBf,oBAiB4C,oBAAzBhB,EAAcgB,OAjBjC,kCAkBJhB,EAAcgB,OAAO,iBAlBjB,6DAmBJhB,EAAcgB,OAnBV,4BAiBVC,EAjBU,KAoBhBH,EAAuB,cAAoBG,EApB3B,oBAuBNtqC,IAAV+N,IACAq8B,EAAsB,MAAYr8B,GAKtCg8B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjChF,kBAmCb,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCO,4CAAF,mDAAC,GA+CvBqC,wBAAwB,WAAD,4BAAE,WAAOx+B,GAAP,2CAAAvN,EAAA,yDAAsBa,EAAtB,+BAAqC,GAE5C,OAAV0M,QAA4B/N,IAAV+N,EAFD,sBAGX,IAAIw7B,EAAc,QAAQ,wFAHf,UAKfK,EALe,6BAMfG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXe,yBAWYjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBd,oBAiB2C,oBAAzBhB,EAAcgB,OAjBhC,kCAkBLhB,EAAcgB,OAAO,iBAlBhB,6DAmBLhB,EAAcgB,OAnBT,4BAiBXC,EAjBW,KAoBjBH,EAAuB,cAAoBG,EApB1B,oBAuBPtqC,IAAV+N,IACAq8B,EAAsB,MAAYr8B,GAKtCg8B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjC/E,kBAmCd,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCQ,4CAAF,mDAAC,GAgDxBsC,eAAe,WAAD,4BAAE,WAAOjvC,EAAakvC,GAApB,2CAAAjsC,EAAA,yDAAqCa,EAArC,+BAAoD,GAC1DuoC,EADM,0BAENG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPM,yBAOqBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZvB,oBAaoD,oBAAzBhB,EAAcgB,OAbzC,kCAcIhB,EAAcgB,OAAO,iBAdzB,6DAeIhB,EAAcgB,OAflB,4BAaFC,EAbE,KAgBRH,EAAuB,cAAoBG,EAhBnC,oBAmBDtqC,IAAPzC,IACA6sC,EAAsB,GAAS7sC,QAGpByC,IAAXysC,IACArC,EAAsB,OAAaqC,GAKvC1C,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjCxF,kBAmCL,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCD,4CAAF,qDAAC,GA+CfwC,sBAAsB,WAAD,4BAAE,WAAOjB,GAAP,2CAAAjrC,EAAA,yDAAwBa,EAAxB,+BAAuC,GAE1C,OAAZoqC,QAAgCzrC,IAAZyrC,EAFL,sBAGT,IAAIlC,EAAc,UAAU,wFAHnB,UAKbK,EAAe,yCAChB57B,QADgB,WACJ,UADI,KACU67B,mBAAmBC,OAAO2B,KACnD1B,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZa,yBAYcjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBhB,oBAkB6C,oBAAzBhB,EAAcgB,OAlBlC,kCAmBHhB,EAAcgB,OAAO,iBAnBlB,6DAoBHhB,EAAcgB,OApBX,4BAkBTC,EAlBS,KAqBfH,EAAuB,cAAoBG,EArB5B,eA0BnBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9BjF,kBAgCZ,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCM,4CAAF,mDAAC,GA2CtByC,wBAAwB,WAAD,4BAAE,wDAAAnsC,EAAA,yDAAOa,EAAP,+BAAsB,GACrCuoC,EADe,yBAEfG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPe,yBAOYjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZd,oBAa2C,oBAAzBhB,EAAcgB,OAbhC,kCAcLhB,EAAcgB,OAAO,iBAdhB,6DAeLhB,EAAcgB,OAfT,4BAaXC,EAbW,KAgBjBH,EAAuB,cAAoBG,EAhB1B,eAqBrBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB/E,kBA2Bd,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BQ,4CAAF,kDAAC,GAsCxB0C,mBAAmB,WAAD,4BAAE,wDAAApsC,EAAA,yDAAOa,EAAP,+BAAsB,GAChCuoC,EADU,oBAEVG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPU,yBAOiBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZnB,oBAagD,oBAAzBhB,EAAcgB,OAbrC,kCAcAhB,EAAcgB,OAAO,iBAdrB,6DAeAhB,EAAcgB,OAfd,4BAaNC,EAbM,KAgBZH,EAAuB,cAAoBG,EAhB/B,eAqBhBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBpF,kBA2BT,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BG,4CAAF,kDAAC,GAsCnB1L,cAAc,WAAD,4BAAE,wDAAAh+B,EAAA,yDAAOa,EAAP,+BAAsB,GAC3BuoC,EADK,eAELG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPK,yBAOsBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZxB,oBAaqD,oBAAzBhB,EAAcgB,OAb1C,kCAcKhB,EAAcgB,OAAO,iBAd1B,6DAeKhB,EAAcgB,OAfnB,4BAaDC,EAbC,KAgBPH,EAAuB,cAAoBG,EAhBpC,eAqBXP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBzF,kBA2BJ,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BF,4CAAF,kDAAC,GAuCd2C,wBAAwB,WAAD,4BAAE,WAAOlD,GAAP,2CAAAnpC,EAAA,yDAAwBa,EAAxB,+BAAuC,GAE5C,OAAZsoC,QAAgC3pC,IAAZ2pC,EAFH,sBAGX,IAAIJ,EAAc,UAAU,0FAHjB,UAKfK,EAAe,oCAChB57B,QADgB,WACJ,UADI,KACU67B,mBAAmBC,OAAOH,KACnDI,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZe,yBAYYjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBd,oBAkB2C,oBAAzBhB,EAAcgB,OAlBhC,kCAmBLhB,EAAcgB,OAAO,iBAnBhB,6DAoBLhB,EAAcgB,OApBT,4BAkBXC,EAlBW,KAqBjBH,EAAuB,cAAoBG,EArB1B,eA0BrBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9B/E,kBAgCd,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCQ,4CAAF,mDAAC,GA2CxB4C,mBAAmB,WAAD,4BAAE,wDAAAtsC,EAAA,yDAAOa,EAAP,+BAAsB,GAChCuoC,EADU,wBAEVG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPU,yBAOiBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZnB,oBAagD,oBAAzBhB,EAAcgB,OAbrC,kCAcAhB,EAAcgB,OAAO,iBAdrB,6DAeAhB,EAAcgB,OAfd,4BAaNC,EAbM,KAgBZH,EAAuB,cAAoBG,EAhB/B,eAqBhBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBpF,kBA2BT,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BG,4CAAF,kDAAC,GAsCnB6C,yBAAyB,WAAD,4BAAE,wDAAAvsC,EAAA,yDAAOa,EAAP,+BAAsB,GACtCuoC,EADgB,2BAEhBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPgB,yBAOWjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZb,oBAa0C,oBAAzBhB,EAAcgB,OAb/B,kCAcNhB,EAAcgB,OAAO,iBAdf,6DAeNhB,EAAcgB,OAfR,4BAaZC,EAbY,KAgBlBH,EAAuB,cAAoBG,EAhBzB,eAqBtBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB9E,kBA2Bf,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BS,4CAAF,kDAAC,GAsCzB7L,iBAAiB,WAAD,4BAAE,wDAAA79B,EAAA,yDAAOa,EAAP,+BAAsB,GAC9BuoC,EADQ,kBAERG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPQ,yBAOmBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZrB,oBAakD,oBAAzBhB,EAAcgB,OAbvC,kCAcEhB,EAAcgB,OAAO,iBAdvB,6DAeEhB,EAAcgB,OAfhB,4BAaJC,EAbI,KAgBVH,EAAuB,cAAoBG,EAhBjC,eAqBdP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBtF,kBA2BP,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BC,4CAAF,kDAAC,GAsCjB/L,gBAAgB,WAAD,4BAAE,wDAAA39B,EAAA,yDAAOa,EAAP,+BAAsB,GAC7BuoC,EADO,iBAEPG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPO,yBAOoBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZtB,oBAamD,oBAAzBhB,EAAcgB,OAbxC,kCAcGhB,EAAcgB,OAAO,iBAdxB,6DAeGhB,EAAcgB,OAfjB,4BAaHC,EAbG,KAgBTH,EAAuB,cAAoBG,EAhBlC,eAqBbP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBvF,kBA2BN,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BA,4CAAF,kDAAC,GAsChBjxB,QAAQ,WAAD,4BAAE,wDAAAzY,EAAA,yDAAOa,EAAP,+BAAsB,GACrBuoC,EADD,aAECG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPD,yBAO4BjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZ9B,oBAa2D,oBAAzBhB,EAAcgB,OAbhD,kCAcWhB,EAAcgB,OAAO,iBAdhC,6DAeWhB,EAAcgB,OAfzB,4BAaKC,EAbL,KAgBDH,EAAuB,cAAoBG,EAhB1C,eAqBLP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB/F,kBA2BE,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BR,4CAAF,kDAAC,GAsCR8C,kBAAkB,WAAD,4BAAE,wDAAAxsC,EAAA,yDAAOa,EAAP,+BAAsB,GAC/BuoC,EADS,kBAETG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPS,yBAOkBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZpB,oBAaiD,oBAAzBhB,EAAcgB,OAbtC,kCAcChB,EAAcgB,OAAO,iBAdtB,6DAeChB,EAAcgB,OAff,4BAaLC,EAbK,KAgBXH,EAAuB,cAAoBG,EAhBhC,eAqBfP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBrF,kBA2BR,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BE,4CAAF,kDAAC,GAuClB+C,eAAe,WAAD,4BAAE,WAAOC,GAAP,2CAAA1sC,EAAA,yDAA8Ba,EAA9B,+BAA6C,GACnDuoC,EADM,eAENG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPM,yBAOqBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZvB,oBAaoD,oBAAzBhB,EAAcgB,OAbzC,kCAcIhB,EAAcgB,OAAO,iBAdzB,6DAeIhB,EAAcgB,OAflB,4BAaFC,EAbE,KAgBRH,EAAuB,cAAoBG,EAhBnC,oBAmBStqC,IAAjBktC,IACA9C,EAAsB,cAAoB8C,GAK9CnD,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA7BxF,kBA+BL,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAjCD,4CAAF,mDAAC,GA0CflxB,WAAW,WAAD,4BAAE,wDAAAxY,EAAA,yDAAOa,EAAP,+BAAsB,GACxBuoC,EADE,eAEFG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPE,yBAOyBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZ3B,oBAawD,oBAAzBhB,EAAcgB,OAb7C,kCAcQhB,EAAcgB,OAAO,iBAd7B,6DAeQhB,EAAcgB,OAftB,4BAaEC,EAbF,KAgBJH,EAAuB,cAAoBG,EAhBvC,eAqBRP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB5F,kBA2BD,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BL,4CAAF,kDAAC,GAsCXiD,mBAAmB,WAAD,4BAAE,wDAAA3sC,EAAA,yDAAOa,EAAP,+BAAsB,GAChCuoC,EADU,oBAEVG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPU,yBAOiBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZnB,oBAagD,oBAAzBhB,EAAcgB,OAbrC,kCAcAhB,EAAcgB,OAAO,iBAdrB,6DAeAhB,EAAcgB,OAfd,4BAaNC,EAbM,KAgBZH,EAAuB,cAAoBG,EAhB/B,eAqBhBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBpF,kBA2BT,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BG,4CAAF,kDAAC,GAuCnBkD,mBAAmB,WAAD,4BAAE,WAAOtyB,GAAP,6CAAAta,EAAA,yDAAuCa,EAAvC,+BAAsD,GAEtD,OAAZyZ,QAAgC9a,IAAZ8a,EAFR,sBAGN,IAAIyuB,EAAc,UAAU,qFAHtB,UAKVK,EALU,oBAMVG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXU,yBAWiBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBnB,oBAiBgD,oBAAzBhB,EAAcgB,OAjBrC,kCAkBAhB,EAAcgB,OAAO,iBAlBrB,6DAmBAhB,EAAcgB,OAnBd,4BAiBNC,EAjBM,KAoBZH,EAAuB,cAAoBG,EApB/B,eAyBhBH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjCvG,kBAmCT,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCG,4CAAF,mDAAC,GAmDnBmD,qBAAqB,WAAD,4BAAE,WAAOC,EAAmBC,EAAiBC,EAAoBC,EAAkBtgC,GAAjF,2CAAA3M,EAAA,yDAAuKa,EAAvK,+BAAsL,GAClMuoC,EADY,sBAEZG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPY,yBAOejvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZjB,oBAa8C,oBAAzBhB,EAAcgB,OAbnC,kCAcFhB,EAAcgB,OAAO,iBAdnB,6DAeFhB,EAAcgB,OAfZ,4BAaRC,EAbQ,KAgBdH,EAAuB,cAAoBG,EAhB7B,oBAmBDtqC,IAAbstC,IACAlD,EAAsB,SAAekD,QAG1BttC,IAAXutC,IACAnD,EAAsB,OAAamD,QAGrBvtC,IAAdwtC,IACApD,EAAsB,UAAgBoD,QAG1BxtC,IAAZytC,IACArD,EAAsB,QAAcqD,QAG3BztC,IAATmN,IACAi9B,EAAsB,KAAWj9B,GAKrC48B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA7ClF,kBA+CX,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAjDK,4CAAF,2DAAC,GA2DrBwD,4BAA4B,WAAD,4BAAE,WAAOnwC,GAAP,2CAAAiD,EAAA,yDAA2Ba,EAA3B,+BAA0C,GAC7DuoC,EADmB,+BAEnBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPmB,yBAOQjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZV,oBAauC,oBAAzBhB,EAAcgB,OAb5B,kCAcThB,EAAcgB,OAAO,iBAdZ,6DAeThB,EAAcgB,OAfL,4BAafC,EAbe,KAgBrBH,EAAuB,cAAoBG,EAhBtB,eAmBrB/sC,IACA6sC,EAAsB,GAAS7sC,EAAGod,KAAKwuB,IAK3CY,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA7B3E,kBA+BlB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAjCY,4CAAF,mDAAC,GA2C5ByD,gBAAgB,WAAD,4BAAE,WAAO5/B,GAAP,yCAAAvN,EAAA,yDAAsBa,EAAtB,+BAAqC,GAEpC,OAAV0M,QAA4B/N,IAAV+N,EAFT,sBAGH,IAAIw7B,EAAc,QAAQ,gFAHvB,cAKPK,EALO,iBAMPG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXO,yBAWoBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,QAEjBpqC,IAAV+N,IACAq8B,EAAsB,MAAYr8B,GAKtCg8B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBvF,kBA2BN,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BA,4CAAF,mDAAC,GAuChB0D,iBAAiB,WAAD,4BAAE,WAAO9yB,GAAP,6CAAAta,EAAA,yDAAiDa,EAAjD,+BAAgE,GAE9D,OAAZyZ,QAAgC9a,IAAZ8a,EAFV,sBAGJ,IAAIyuB,EAAc,UAAU,mFAHxB,UAKRK,EALQ,kBAMRG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXQ,yBAWmBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBrB,oBAiBkD,oBAAzBhB,EAAcgB,OAjBvC,kCAkBEhB,EAAcgB,OAAO,iBAlBvB,6DAmBEhB,EAAcgB,OAnBhB,4BAiBJC,EAjBI,KAoBVH,EAAuB,cAAoBG,EApBjC,eAyBdH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjCzG,kBAmCP,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCC,4CAAF,mDAAC,GA8CjB2D,kBAAkB,WAAD,4BAAE,wDAAArtC,EAAA,yDAAOa,EAAP,+BAAsB,GAC/BuoC,EADS,mBAETG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPS,yBAOkBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZpB,oBAaiD,oBAAzBhB,EAAcgB,OAbtC,kCAcChB,EAAcgB,OAAO,iBAdtB,6DAeChB,EAAcgB,OAff,4BAaLC,EAbK,KAgBXH,EAAuB,cAAoBG,EAhBhC,eAqBfP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBrF,kBA2BR,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BE,4CAAF,kDAAC,GAuClB4D,2BAA2B,WAAD,4BAAE,WAAOvwC,GAAP,2CAAAiD,EAAA,yDAAmBa,EAAnB,+BAAkC,GAE/C,OAAP9D,QAAsByC,IAAPzC,EAFK,sBAGd,IAAIgsC,EAAc,KAAK,wFAHT,UAKlBK,EAAe,+BAChB57B,QADgB,WACJ,KADI,KACK67B,mBAAmBC,OAAOvsC,KAC9CwsC,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZkB,yBAYSjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBX,oBAkBwC,oBAAzBhB,EAAcgB,OAlB7B,kCAmBRhB,EAAcgB,OAAO,iBAnBb,6DAoBRhB,EAAcgB,OApBN,4BAkBdC,EAlBc,KAqBpBH,EAAuB,cAAoBG,EArBvB,eA0BxBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9B5E,kBAgCjB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCW,4CAAF,mDAAC,GA4C3B6D,uBAAuB,WAAD,4BAAE,WAAOxwC,GAAP,2CAAAiD,EAAA,yDAAmBa,EAAnB,+BAAkC,GAE3C,OAAP9D,QAAsByC,IAAPzC,EAFC,sBAGV,IAAIgsC,EAAc,KAAK,oFAHb,UAKdK,EAAe,wBAChB57B,QADgB,WACJ,KADI,KACK67B,mBAAmBC,OAAOvsC,KAC9CwsC,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZc,yBAYajvB,OAAQ,UAAagvB,GAAgB5oC,GAChE8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBf,oBAkB4C,oBAAzBhB,EAAcgB,OAlBjC,kCAmBJhB,EAAcgB,OAAO,iBAnBjB,6DAoBJhB,EAAcgB,OApBV,4BAkBVC,EAlBU,KAqBhBH,EAAuB,cAAoBG,EArB3B,eA0BpBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9BhF,kBAgCb,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCO,4CAAF,mDAAC,GA4CvB8D,oBAAoB,WAAD,4BAAE,WAAOzwC,GAAP,2CAAAiD,EAAA,yDAAmBa,EAAnB,+BAAkC,GAExC,OAAP9D,QAAsByC,IAAPzC,EAFF,sBAGP,IAAIgsC,EAAc,KAAK,iFAHhB,UAKXK,EAAe,wBAChB57B,QADgB,WACJ,KADI,KACK67B,mBAAmBC,OAAOvsC,KAC9CwsC,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZW,yBAYgBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBlB,oBAkB+C,oBAAzBhB,EAAcgB,OAlBpC,kCAmBDhB,EAAcgB,OAAO,iBAnBpB,6DAoBDhB,EAAcgB,OApBb,4BAkBPC,EAlBO,KAqBbH,EAAuB,cAAoBG,EArB9B,eA0BjBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9BnF,kBAgCV,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCI,4CAAF,mDAAC,GA4CpB+D,2BAA2B,WAAD,4BAAE,WAAO1wC,GAAP,2CAAAiD,EAAA,yDAAmBa,EAAnB,+BAAkC,GAE/C,OAAP9D,QAAsByC,IAAPzC,EAFK,sBAGd,IAAIgsC,EAAc,KAAK,wFAHT,UAKlBK,EAAe,gCAChB57B,QADgB,WACJ,KADI,KACK67B,mBAAmBC,OAAOvsC,KAC9CwsC,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZkB,yBAYSjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBX,oBAkBwC,oBAAzBhB,EAAcgB,OAlB7B,kCAmBRhB,EAAcgB,OAAO,iBAnBb,6DAoBRhB,EAAcgB,OApBN,4BAkBdC,EAlBc,KAqBpBH,EAAuB,cAAoBG,EArBvB,eA0BxBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9B5E,kBAgCjB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCW,4CAAF,mDAAC,GA4C3BgE,0BAA0B,WAAD,4BAAE,WAAO3wC,GAAP,2CAAAiD,EAAA,yDAAmBa,EAAnB,+BAAkC,GAE9C,OAAP9D,QAAsByC,IAAPzC,EAFI,sBAGb,IAAIgsC,EAAc,KAAK,uFAHV,UAKjBK,EAAe,8BAChB57B,QADgB,WACJ,KADI,KACK67B,mBAAmBC,OAAOvsC,KAC9CwsC,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZiB,yBAYUjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBZ,oBAkByC,oBAAzBhB,EAAcgB,OAlB9B,kCAmBPhB,EAAcgB,OAAO,iBAnBd,6DAoBPhB,EAAcgB,OApBP,4BAkBbC,EAlBa,KAqBnBH,EAAuB,cAAoBG,EArBxB,eA0BvBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9B7E,kBAgChB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCU,4CAAF,mDAAC,GA2C1BiE,sBAAsB,WAAD,4BAAE,wDAAA3tC,EAAA,yDAAOa,EAAP,+BAAsB,GACnCuoC,EADa,wBAEbG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPa,yBAOcjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZhB,oBAa6C,oBAAzBhB,EAAcgB,OAblC,kCAcHhB,EAAcgB,OAAO,iBAdlB,6DAeHhB,EAAcgB,OAfX,4BAaTC,EAbS,KAgBfH,EAAuB,cAAoBG,EAhB5B,eAqBnBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBjF,kBA2BZ,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BM,4CAAF,kDAAC,GA0CtB9d,gBAAgB,WAAD,4BAAE,WAAOP,EAAqBQ,EAAgB+hB,EAAuBC,GAAnE,2CAAA7tC,EAAA,yDAAqFa,EAArF,+BAAoG,GAC3GuoC,EADO,iBAEPG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPO,yBAOoBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZtB,oBAamD,oBAAzBhB,EAAcgB,OAbxC,kCAcGhB,EAAcgB,OAAO,iBAdxB,6DAeGhB,EAAcgB,OAfjB,4BAaHC,EAbG,KAgBTH,EAAuB,cAAoBG,EAhBlC,oBAmBMtqC,IAAf6rB,IACAue,EAAsB,aAAmBve,QAG/B7rB,IAAVqsB,IACA+d,EAAsB,MAAY/d,QAGjBrsB,IAAjBouC,IACAhE,EAAsB,eAAqBgE,QAG/BpuC,IAAZquC,IACAjE,EAAsB,SAAeiE,GAKzCtE,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzCvF,kBA2CN,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7CA,4CAAF,yDAAC,GAuDhBoE,4BAA4B,WAAD,4BAAE,WAAOxzB,GAAP,6CAAAta,EAAA,yDAAoDa,EAApD,+BAAmE,GAE5E,OAAZyZ,QAAgC9a,IAAZ8a,EAFC,sBAGf,IAAIyuB,EAAc,UAAU,8FAHb,UAKnBK,EALmB,wBAMnBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXmB,yBAWQjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBV,oBAiBuC,oBAAzBhB,EAAcgB,OAjB5B,kCAkBThB,EAAcgB,OAAO,iBAlBZ,6DAmBThB,EAAcgB,OAnBL,4BAiBfC,EAjBe,KAoBrBH,EAAuB,cAAoBG,EApBtB,eAyBzBH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjC9F,kBAmClB,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCY,4CAAF,mDAAC,GA8C5BqE,mBAAmB,WAAD,4BAAE,wDAAA/tC,EAAA,yDAAOa,EAAP,+BAAsB,GAChCuoC,EADU,oBAEVG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPU,yBAOiBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZnB,oBAagD,oBAAzBhB,EAAcgB,OAbrC,kCAcAhB,EAAcgB,OAAO,iBAdrB,6DAeAhB,EAAcgB,OAfd,4BAaNC,EAbM,KAgBZH,EAAuB,cAAoBG,EAhB/B,eAqBhBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBpF,kBA2BT,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BG,4CAAF,kDAAC,GAuCnBsE,mBAAmB,WAAD,4BAAE,WAAO1zB,GAAP,6CAAAta,EAAA,yDAAuCa,EAAvC,+BAAsD,GAEtD,OAAZyZ,QAAgC9a,IAAZ8a,EAFR,sBAGN,IAAIyuB,EAAc,UAAU,qFAHtB,UAKVK,EALU,oBAMVG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXU,yBAWiBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBnB,oBAiBgD,oBAAzBhB,EAAcgB,OAjBrC,kCAkBAhB,EAAcgB,OAAO,iBAlBrB,6DAmBAhB,EAAcgB,OAnBd,4BAiBNC,EAjBM,KAoBZH,EAAuB,cAAoBG,EApB/B,eAyBhBH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjCvG,kBAmCT,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCG,4CAAF,mDAAC,GA+CnBuE,eAAe,WAAD,4BAAE,WAAO3zB,GAAP,6CAAAta,EAAA,yDAAuCa,EAAvC,+BAAsD,GAElD,OAAZyZ,QAAgC9a,IAAZ8a,EAFZ,sBAGF,IAAIyuB,EAAc,UAAU,iFAH1B,UAKNK,EALM,oBAMNG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXM,yBAWqBjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBvB,oBAiBoD,oBAAzBhB,EAAcgB,OAjBzC,kCAkBIhB,EAAcgB,OAAO,iBAlBzB,6DAmBIhB,EAAcgB,OAnBlB,4BAiBFC,EAjBE,KAoBRH,EAAuB,cAAoBG,EApBnC,eAyBZH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjC3G,kBAmCL,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCD,4CAAF,mDAAC,GAiDfwE,mBAAmB,WAAD,4BAAE,WAAOC,EAAoBC,EAAiBC,GAA5C,2CAAAruC,EAAA,yDAAgEa,EAAhE,+BAA+E,GACzFuoC,EADU,qBAEVG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPU,yBAOiBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZnB,oBAagD,oBAAzBhB,EAAcgB,OAbrC,kCAcAhB,EAAcgB,OAAO,iBAdrB,6DAeAhB,EAAcgB,OAfd,4BAaNC,EAbM,KAgBZH,EAAuB,cAAoBG,EAhB/B,oBAmBEtqC,IAAd2uC,IACAvE,EAAsB,WAAiBuE,QAG5B3uC,IAAX4uC,IACAxE,EAAsB,OAAawE,QAGrB5uC,IAAd6uC,IACAzE,EAAsB,UAAgByE,GAK1C9E,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SArCpF,kBAuCT,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAzCG,4CAAF,uDAAC,GAmDnB4E,qBAAqB,WAAD,4BAAE,WAAO/gC,GAAP,yCAAAvN,EAAA,yDAAsBa,EAAtB,+BAAqC,GAEzC,OAAV0M,QAA4B/N,IAAV+N,EAFJ,sBAGR,IAAIw7B,EAAc,QAAQ,qFAHlB,cAKZK,EALY,uBAMZG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXY,yBAWejvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,QAEjBpqC,IAAV+N,IACAq8B,EAAsB,MAAYr8B,GAKtCg8B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBlF,kBA2BX,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BK,4CAAF,mDAAC,GAuCrB6E,2BAA2B,WAAD,4BAAE,WAAOj0B,GAAP,6CAAAta,EAAA,yDAAyCa,EAAzC,+BAAwD,GAEhE,OAAZyZ,QAAgC9a,IAAZ8a,EAFA,sBAGd,IAAIyuB,EAAc,UAAU,6FAHd,UAKlBK,EALkB,6BAMlBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXkB,yBAWSjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBX,oBAiBwC,oBAAzBhB,EAAcgB,OAjB7B,kCAkBRhB,EAAcgB,OAAO,iBAlBb,6DAmBRhB,EAAcgB,OAnBN,4BAiBdC,EAjBc,KAoBpBH,EAAuB,cAAoBG,EApBvB,eAyBxBH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjC/F,kBAmCjB,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCW,4CAAF,mDAAC,GAwD3B8E,iBAAiB,WAAD,4BAAE,WAAO1D,EAAoB2D,EAAoBxrB,EAAgBmrB,EAAiBrD,EAAkB2D,EAAiBC,EAAgB3rB,EAAkB4rB,EAAuB7jC,GAA5K,2CAAA/K,EAAA,yDAA2La,EAA3L,kCAA0M,GAClNuoC,EADQ,mBAERG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPQ,yBAOmBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZrB,oBAakD,oBAAzBhB,EAAcgB,OAbvC,kCAcEhB,EAAcgB,OAAO,iBAdvB,6DAeEhB,EAAcgB,OAfhB,4BAaJC,EAbI,KAgBVH,EAAuB,cAAoBG,EAhBjC,oBAmBItqC,IAAdsrC,IACAlB,EAAsB,WAAiBkB,GAGvC2D,IACA7E,EAAsB,GAAS6E,QAGtBjvC,IAATyjB,IACA2mB,EAAsB,KAAW3mB,QAGtBzjB,IAAX4uC,IACAxE,EAAsB,OAAawE,QAGvB5uC,IAAZurC,IACAnB,EAAsB,SAAemB,QAG1BvrC,IAAXkvC,IACA9E,EAAsB,OAAa8E,QAGzBlvC,IAAVmvC,IACA/E,EAAsB,MAAY+E,QAGtBnvC,IAAZwjB,IACA4mB,EAAsB,QAAc5mB,GAGpC4rB,IACAhF,EAAsB,MAAYgF,QAGzBpvC,IAATuL,IACA6+B,EAAsB,KAAW7+B,GAKrCw+B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjEtF,kBAmEP,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArEC,4CAAF,qEAAC,GA8EjBmF,yBAAyB,WAAD,4BAAE,wDAAA7uC,EAAA,yDAAOa,EAAP,+BAAsB,GACtCuoC,EADgB,4BAEhBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPgB,yBAOWjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZb,oBAa0C,oBAAzBhB,EAAcgB,OAb/B,kCAcNhB,EAAcgB,OAAO,iBAdf,6DAeNhB,EAAcgB,OAfR,4BAaZC,EAbY,KAgBlBH,EAAuB,cAAoBG,EAhBzB,eAqBtBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB9E,kBA2Bf,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BS,4CAAF,kDAAC,GAuCzBoF,eAAe,WAAD,4BAAE,WAAOhyC,GAAP,6CAAAkD,EAAA,yDAAmCa,EAAnC,+BAAkD,GAElD,OAAR/D,QAAwB0C,IAAR1C,EAFR,sBAGF,IAAIisC,EAAc,MAAM,6EAHtB,UAKNK,EALM,yBAMNG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXM,yBAWqBjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBvB,oBAiBoD,oBAAzBhB,EAAcgB,OAjBzC,kCAkBIhB,EAAcgB,OAAO,iBAlBzB,6DAmBIhB,EAAcgB,OAnBlB,4BAiBFC,EAjBE,KAoBRH,EAAuB,cAAoBG,EApBnC,eAyBZH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAqC,kBAARrtC,GAAwE,qBAAnD4sC,EAAuB/uB,QAAQ,gBACvF+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAkBzB,IAAR1C,EAAoBA,EAAM,IAAOA,GAAO,GAjC/F,kBAmCL,CACH6W,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCD,4CAAF,mDAAC,GA8CfqF,oBAAoB,WAAD,4BAAE,wDAAA/uC,EAAA,yDAAOa,EAAP,+BAAsB,GACjCuoC,EADW,qBAEXG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPW,yBAOgBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZlB,oBAa+C,oBAAzBhB,EAAcgB,OAbpC,kCAcDhB,EAAcgB,OAAO,iBAdpB,6DAeDhB,EAAcgB,OAfb,4BAaPC,EAbO,KAgBbH,EAAuB,cAAoBG,EAhB9B,eAqBjBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBnF,kBA2BV,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BI,4CAAF,kDAAC,GAuCpBsF,qBAAqB,WAAD,4BAAE,WAAO10B,GAAP,6CAAAta,EAAA,yDAAyCa,EAAzC,+BAAwD,GAE1D,OAAZyZ,QAAgC9a,IAAZ8a,EAFN,sBAGR,IAAIyuB,EAAc,UAAU,uFAHpB,UAKZK,EALY,qBAMZG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXY,yBAWejvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBjB,oBAiB8C,oBAAzBhB,EAAcgB,OAjBnC,kCAkBFhB,EAAcgB,OAAO,iBAlBnB,6DAmBFhB,EAAcgB,OAnBZ,4BAiBRC,EAjBQ,KAoBdH,EAAuB,cAAoBG,EApB7B,eAyBlBH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjCrG,kBAmCX,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCK,4CAAF,mDAAC,GA+CrBuF,sBAAsB,WAAD,4BAAE,WAAO1hC,GAAP,yCAAAvN,EAAA,yDAAsBa,EAAtB,+BAAqC,GAE1C,OAAV0M,QAA4B/N,IAAV+N,EAFH,sBAGT,IAAIw7B,EAAc,QAAQ,sFAHjB,cAKbK,EALa,uBAMbG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXa,yBAWcjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,QAEjBpqC,IAAV+N,IACAq8B,EAAsB,MAAYr8B,GAKtCg8B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBjF,kBA2BZ,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BM,4CAAF,mDAAC,GAuCtBwF,4BAA4B,WAAD,4BAAE,WAAO50B,GAAP,6CAAAta,EAAA,yDAA+Ca,EAA/C,+BAA8D,GAEvE,OAAZyZ,QAAgC9a,IAAZ8a,EAFC,sBAGf,IAAIyuB,EAAc,UAAU,8FAHb,UAKnBK,EALmB,6BAMnBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXmB,yBAWQjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBV,oBAiBuC,oBAAzBhB,EAAcgB,OAjB5B,kCAkBThB,EAAcgB,OAAO,iBAlBZ,6DAmBThB,EAAcgB,OAnBL,4BAiBfC,EAjBe,KAoBrBH,EAAuB,cAAoBG,EApBtB,eAyBzBH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjC9F,kBAmClB,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCY,4CAAF,mDAAC,GAoD5ByF,kBAAkB,WAAD,4BAAE,WAAOrE,EAAoBC,EAAkB2D,EAAiBU,EAAyBC,EAA2BtkC,GAAlH,2CAAA/K,EAAA,yDAAiIa,EAAjI,+BAAgJ,GACzJuoC,EADS,mBAETG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPS,yBAOkBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZpB,oBAaiD,oBAAzBhB,EAAcgB,OAbtC,kCAcChB,EAAcgB,OAAO,iBAdtB,6DAeChB,EAAcgB,OAff,4BAaLC,EAbK,KAgBXH,EAAuB,cAAoBG,EAhBhC,oBAmBGtqC,IAAdsrC,IACAlB,EAAsB,WAAiBkB,QAG3BtrC,IAAZurC,IACAnB,EAAsB,SAAemB,QAG1BvrC,IAAXkvC,IACA9E,EAAsB,OAAa8E,GAGnCU,IACAxF,EAAsB,QAAcwF,GAGpCC,IACAzF,EAAsB,WAAiByF,QAG9B7vC,IAATuL,IACA6+B,EAAsB,KAAW7+B,GAKrCw+B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjDrF,kBAmDR,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArDE,4CAAF,6DAAC,GAmElB4F,wBAAwB,WAAD,4BAAE,WAAOxE,EAAoBsD,EAAiBrD,EAAkB6D,EAAuBW,GAArF,2CAAAvvC,EAAA,yDAA0Ga,EAA1G,+BAAyH,GACxIuoC,EADe,0BAEfG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPe,yBAOYjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZd,oBAa2C,oBAAzBhB,EAAcgB,OAbhC,kCAcLhB,EAAcgB,OAAO,iBAdhB,6DAeLhB,EAAcgB,OAfT,4BAaXC,EAbW,KAgBjBH,EAAuB,cAAoBG,EAhB1B,oBAmBHtqC,IAAdsrC,IACAlB,EAAsB,WAAiBkB,QAG5BtrC,IAAX4uC,IACAxE,EAAsB,OAAawE,QAGvB5uC,IAAZurC,IACAnB,EAAsB,SAAemB,GAGrC6D,IACAhF,EAAsB,MAAYgF,QAGnBpvC,IAAf+vC,IACA3F,EAAsB,YAAkB2F,GAK5ChG,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA7C/E,kBA+Cd,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAjDQ,4CAAF,2DAAC,GA8DxB8F,mBAAmB,WAAD,4BAAE,WAAO1E,EAAoBsD,EAAiBrD,EAAkBwE,GAA9D,2CAAAvvC,EAAA,yDAAmFa,EAAnF,+BAAkG,GAC5GuoC,EADU,oBAEVG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPU,yBAOiBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZnB,oBAagD,oBAAzBhB,EAAcgB,OAbrC,kCAcAhB,EAAcgB,OAAO,iBAdrB,6DAeAhB,EAAcgB,OAfd,4BAaNC,EAbM,KAgBZH,EAAuB,cAAoBG,EAhB/B,oBAmBEtqC,IAAdsrC,IACAlB,EAAsB,WAAiBkB,QAG5BtrC,IAAX4uC,IACAxE,EAAsB,OAAawE,QAGvB5uC,IAAZurC,IACAnB,EAAsB,SAAemB,QAGtBvrC,IAAf+vC,IACA3F,EAAsB,YAAkB2F,GAK5ChG,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzCpF,kBA2CT,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7CG,4CAAF,yDAAC,GAsDnB+F,uBAAuB,WAAD,4BAAE,wDAAAzvC,EAAA,yDAAOa,EAAP,+BAAsB,GACpCuoC,EADc,yBAEdG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPc,yBAOajvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZf,oBAa4C,oBAAzBhB,EAAcgB,OAbjC,kCAcJhB,EAAcgB,OAAO,iBAdjB,6DAeJhB,EAAcgB,OAfV,4BAaVC,EAbU,KAgBhBH,EAAuB,cAAoBG,EAhB3B,eAqBpBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBhF,kBA2Bb,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BO,4CAAF,kDAAC,GAsCvBgG,0BAA0B,WAAD,4BAAE,wDAAA1vC,EAAA,yDAAOa,EAAP,+BAAsB,GACvCuoC,EADiB,4BAEjBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPiB,yBAOUjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZZ,oBAayC,oBAAzBhB,EAAcgB,OAb9B,kCAcPhB,EAAcgB,OAAO,iBAdd,6DAePhB,EAAcgB,OAfP,4BAabC,EAba,KAgBnBH,EAAuB,cAAoBG,EAhBxB,eAqBvBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB7E,kBA2BhB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BU,4CAAF,kDAAC,GAsC1BiG,wBAAwB,WAAD,4BAAE,wDAAA3vC,EAAA,yDAAOa,EAAP,+BAAsB,GACrCuoC,EADe,0BAEfG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPe,yBAOYjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZd,oBAa2C,oBAAzBhB,EAAcgB,OAbhC,kCAcLhB,EAAcgB,OAAO,iBAdhB,6DAeLhB,EAAcgB,OAfT,4BAaXC,EAbW,KAgBjBH,EAAuB,cAAoBG,EAhB1B,eAqBrBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB/E,kBA2Bd,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BQ,4CAAF,kDAAC,GAuCxBkG,0BAA0B,WAAD,4BAAE,WAAO3E,GAAP,2CAAAjrC,EAAA,yDAAwBa,EAAxB,+BAAuC,GAE9C,OAAZoqC,QAAgCzrC,IAAZyrC,EAFD,sBAGb,IAAIlC,EAAc,UAAU,4FAHf,UAKjBK,EAAe,2BAChB57B,QADgB,WACJ,UADI,KACU67B,mBAAmBC,OAAO2B,KACnD1B,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAZiB,yBAYUjvB,OAAQ,UAAagvB,GAAgB5oC,GAChE8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAjBZ,oBAkByC,oBAAzBhB,EAAcgB,OAlB9B,kCAmBPhB,EAAcgB,OAAO,iBAnBd,6DAoBPhB,EAAcgB,OApBP,4BAkBbC,EAlBa,KAqBnBH,EAAuB,cAAoBG,EArBxB,eA0BvBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA9B7E,kBAgChB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAlCU,4CAAF,mDAAC,GA2C1Bl1B,iBAAiB,WAAD,4BAAE,sDAAAxU,EAAA,6DAAOa,EAAP,+BAAsB,GAC9BuoC,EADQ,mBAERG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPQ,yBAOmBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,GAI/BL,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjBtF,kBAmBP,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArBC,4CAAF,kDAAC,GA+BjBmG,mBAAmB,WAAD,4BAAE,WAAOC,GAAP,2CAAA9vC,EAAA,yDAA6Ba,EAA7B,+BAA4C,GACtDuoC,EADU,sBAEVG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPU,yBAOiBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZnB,oBAagD,oBAAzBhB,EAAcgB,OAbrC,kCAcAhB,EAAcgB,OAAO,iBAdrB,6DAeAhB,EAAcgB,OAfd,4BAaNC,EAbM,KAgBZH,EAAuB,cAAoBG,EAhB/B,oBAmBItqC,IAAhBswC,IACAlG,EAAsB,aAAmBkG,GAK7CvG,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA7BpF,kBA+BT,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAjCG,4CAAF,mDAAC,GA2CnBh9B,UAAU,WAAD,4BAAE,WAAO6D,GAAP,2CAAAvQ,EAAA,yDAAsCa,EAAtC,+BAAqD,GAE5C,OAAZ0P,QAAgC/Q,IAAZ+Q,EAFjB,sBAGG,IAAIw4B,EAAc,UAAU,4EAH/B,cAKDK,EALC,cAMDG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXC,yBAW0BjvB,OAAQ,QAAWgvB,GAAgB5oC,GAE9D+oC,EAAyB,IADzBD,EAA0B,IAKR,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ55B,GAA4E,qBAAnDm5B,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ+Q,EAAwBA,EAAU,IAAOA,GAAW,GAzBhH,kBA2BA,CACHoD,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BN,4CAAF,mDAAC,GAuCVqG,2BAA2B,WAAD,4BAAE,WAAOz1B,GAAP,6CAAAta,EAAA,yDAA+Ca,EAA/C,+BAA8D,GAEtE,OAAZyZ,QAAgC9a,IAAZ8a,EAFA,sBAGd,IAAIyuB,EAAc,UAAU,6FAHd,UAKlBK,EALkB,0BAMlBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXkB,yBAWSjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBX,oBAiBwC,oBAAzBhB,EAAcgB,OAjB7B,kCAkBRhB,EAAcgB,OAAO,iBAlBb,6DAmBRhB,EAAcgB,OAnBN,4BAiBdC,EAjBc,KAoBpBH,EAAuB,cAAoBG,EApBvB,eAyBxBH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjC/F,kBAmCjB,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCW,4CAAF,mDAAC,GAiD3B19B,kBAAkB,WAAD,4BAAE,WAAOL,EAAuBmkC,EAAsBlkC,GAApD,yCAAA5L,EAAA,6DAAoEa,EAApE,+BAAmF,GAC5FuoC,EADS,qBAETG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPS,yBAOkBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,QAEVpqC,IAAjBmM,IACAi+B,EAAsB,cAAoBj+B,QAG1BnM,IAAhBswC,IACAlG,EAAsB,aAAmBkG,QAG/BtwC,IAAVoM,IACAg+B,EAAsB,MAAYh+B,GAKtC29B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SA7BrF,kBA+BR,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IAjCE,4CAAF,uDAAC,GA0ClBsG,iBAAiB,WAAD,4BAAE,wDAAAhwC,EAAA,yDAAOa,EAAP,+BAAsB,GAC9BuoC,EADQ,mBAERG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPQ,yBAOmBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZrB,oBAakD,oBAAzBhB,EAAcgB,OAbvC,kCAcEhB,EAAcgB,OAAO,iBAdvB,6DAeEhB,EAAcgB,OAfhB,4BAaJC,EAbI,KAgBVH,EAAuB,cAAoBG,EAhBjC,eAqBdP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzBtF,kBA2BP,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BC,4CAAF,kDAAC,GAsCjBuG,0BAA0B,WAAD,4BAAE,wDAAAjwC,EAAA,yDAAOa,EAAP,+BAAsB,GACvCuoC,EADiB,gCAEjBG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAPiB,yBAOUjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAZZ,oBAayC,oBAAzBhB,EAAcgB,OAb9B,kCAcPhB,EAAcgB,OAAO,iBAdd,6DAePhB,EAAcgB,OAfP,4BAabC,EAba,KAgBnBH,EAAuB,cAAoBG,EAhBxB,eAqBvBP,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAzB7E,kBA2BhB,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IA7BU,4CAAF,kDAAC,GAuC1BwG,iBAAiB,WAAD,4BAAE,WAAO51B,GAAP,6CAAAta,EAAA,yDAAqCa,EAArC,+BAAoD,GAElD,OAAZyZ,QAAgC9a,IAAZ8a,EAFV,sBAGJ,IAAIyuB,EAAc,UAAU,mFAHxB,UAKRK,EALQ,mBAMRG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXQ,yBAWmBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBrB,oBAiBkD,oBAAzBhB,EAAcgB,OAjBvC,kCAkBEhB,EAAcgB,OAAO,iBAlBvB,6DAmBEhB,EAAcgB,OAnBhB,4BAiBJC,EAjBI,KAoBVH,EAAuB,cAAoBG,EApBjC,eAyBdH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjCzG,kBAmCP,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCC,4CAAF,mDAAC,GA+CjByG,iBAAiB,WAAD,4BAAE,WAAO71B,GAAP,6CAAAta,EAAA,yDAAkCa,EAAlC,+BAAiD,GAE/C,OAAZyZ,QAAgC9a,IAAZ8a,EAFV,sBAGJ,IAAIyuB,EAAc,UAAU,mFAHxB,UAKRK,EALQ,mBAMRG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXQ,yBAWmBjvB,OAAQ,QAAWgvB,GAAgB5oC,GAC9D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBrB,oBAiBkD,oBAAzBhB,EAAcgB,OAjBvC,kCAkBEhB,EAAcgB,OAAO,iBAlBvB,6DAmBEhB,EAAcgB,OAnBhB,4BAiBJC,EAjBI,KAoBVH,EAAuB,cAAoBG,EApBjC,eAyBdH,EAAwB,gBAAkB,mBAE1CJ,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAC9FwvB,EAAyC,kBAAZ7vB,GAA4E,qBAAnDovB,EAAuB/uB,QAAQ,gBAC3F+uB,EAAuBx9B,KAAQi+B,EAAqBnpC,KAAKC,eAAsBzB,IAAZ8a,EAAwBA,EAAU,IAAOA,GAAW,GAjCzG,kBAmCP,CACH3G,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCC,4CAAF,mDAAC,GA+CjB0G,oBAAoB,WAAD,4BAAE,WAAO7iC,GAAP,2CAAAvN,EAAA,yDAAsBa,EAAtB,+BAAqC,GAExC,OAAV0M,QAA4B/N,IAAV+N,EAFL,sBAGP,IAAIw7B,EAAc,QAAQ,oFAHnB,UAKXK,EALW,yBAMXG,EAAiBC,QAAsBJ,GAAc,GAEvDP,IACAY,EAAcZ,EAAcY,aAE1BC,EAXW,yBAWgBjvB,OAAQ,OAAUgvB,GAAgB5oC,GAC7D8oC,EAA0B,GAC1BC,EAAyB,IAG3Bf,IAAiBA,EAAcgB,OAhBlB,oBAiB+C,oBAAzBhB,EAAcgB,OAjBpC,kCAkBDhB,EAAcgB,OAAO,iBAlBpB,6DAmBDhB,EAAcgB,OAnBb,4BAiBPC,EAjBO,KAoBbH,EAAuB,cAAoBG,EApB9B,oBAuBHtqC,IAAV+N,IACAq8B,EAAsB,MAAYr8B,GAKtCg8B,EAAe1d,MAAf,uCAA2B0d,EAAe1d,OAAU+d,GAA2B/oC,EAAQgrB,cAEhF0d,EAAel9B,OAClB09B,EAAyBN,GAAeA,EAAY9uB,QAAU8uB,EAAY9uB,QAAU,GACxF+uB,EAAuB/uB,QAAvB,uCAAqCgvB,GAA4BI,GAA2BlpC,EAAQ8Z,SAjCnF,kBAmCV,CACHhH,IAAK61B,SAAuBD,GAC5B1oC,QAAS6oC,IArCI,4CAAF,mDAAC,KA+Cf2G,EAAe,SAASxH,GACjC,MAAO,CAQGK,qBARH,SAQwBC,EAAiBtoC,GAA6F,OAAD,0HACpGooC,EAA4BJ,GAAeK,qBAAqBC,EAAStoC,GAD2B,cAC9HyvC,EAD8H,0BAE7H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ2G,8CAalIvG,wBArBH,SAqB2BnpC,GAAsH,OAAD,0HAC/GooC,EAA4BJ,GAAemB,wBAAwBnpC,GAD4C,cACzIyvC,EADyI,0BAExI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJsH,8CAa7ItG,yBAlCH,SAkC4BppC,GAAmH,OAAD,0HAC7GooC,EAA4BJ,GAAeoB,yBAAyBppC,GADyC,cACvIyvC,EADuI,0BAEtI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJoH,8CAc3IrG,kBAhDH,SAgDqB5vB,EAAmCzZ,GAAgH,OAAD,0HACtIooC,EAA4BJ,GAAeqB,kBAAkB5vB,EAASzZ,GADgE,cAChKyvC,EADgK,0BAE/J,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ6I,8CAapKnG,oBA7DH,SA6DuBvpC,GAAkH,OAAD,0HACvGooC,EAA4BJ,GAAeuB,oBAAoBvpC,GADwC,cACjIyvC,EADiI,0BAEhI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ8G,8CAcrIlG,kCA3EH,SA2EqCtF,EAAWlkC,GAA6F,OAAD,0HAC3GooC,EAA4BJ,GAAewB,kCAAkCtF,EAAGlkC,GAD2B,cACrIyvC,EADqI,0BAEpI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJkH,8CAazIjG,iCAxFH,SAwFoCzpC,GAAgH,OAAD,0HAClHooC,EAA4BJ,GAAeyB,iCAAiCzpC,GADsC,cAC5IyvC,EAD4I,0BAE3I,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJyH,8CAahJhG,6BArGH,SAqGgC1pC,GAAkH,OAAD,0HAChHooC,EAA4BJ,GAAe0B,6BAA6B1pC,GADwC,cAC1IyvC,EAD0I,0BAEzI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJuH,8CAc9I/F,8BAnHH,SAmHiClwB,EAAsCzZ,GAA6F,OAAD,0HAClIooC,EAA4BJ,GAAe2B,8BAA8BlwB,EAASzZ,GADgD,cAC5JyvC,EAD4J,0BAE3J,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJyI,8CAchK9F,+BAjIH,SAiIkCC,EAAY7pC,GAA2F,OAAD,0HACvGooC,EAA4BJ,GAAe4B,+BAA+BC,EAAI7pC,GADyB,cACjIyvC,EADiI,0BAEhI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ8G,8CAarI5F,mCA9IH,SA8IsC9pC,GAA+G,OAAD,0HACnHooC,EAA4BJ,GAAe8B,mCAAmC9pC,GADqC,cAC7IyvC,EAD6I,0BAE5I,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ0H,8CAcjJ3F,yCA5JH,SA4J4CF,EAAY7pC,GAAkH,OAAD,0HACxIooC,EAA4BJ,GAAe+B,yCAAyCF,EAAI7pC,GADgD,cAClKyvC,EADkK,0BAEjK,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ+I,8CAetK1F,oCA3KH,SA2KuCC,EAAoBC,EAAkBlqC,GAAoH,OAAD,0HAC/JooC,EAA4BJ,GAAegC,oCAAoCC,EAAWC,EAASlqC,GAD4D,cACzLyvC,EADyL,0BAExL,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJsK,8CAiB7LvF,wCA5LH,SA4L2CC,EAAkBhrC,EAAoBirC,EAAsBR,EAAa7pC,GAA2F,OAAD,0HAC7KooC,EAA4BJ,GAAemC,wCAAwCC,EAAShrC,EAAWirC,EAAaR,EAAI7pC,GADqD,cACvMyvC,EADuM,0BAEtM,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJoL,8CAa3MpF,qBAzMH,SAyMwBtqC,GAA8G,OAAD,0HACpGooC,EAA4BJ,GAAesC,qBAAqBtqC,GADoC,cAC9HyvC,EAD8H,0BAE7H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ2G,8CAclInF,wBAvNH,SAuN2BtuC,EAA6B+D,GAA6F,OAAD,0HACnHooC,EAA4BJ,GAAeuC,wBAAwBtuC,EAAK+D,GAD2C,cAC7IyvC,EAD6I,0BAE5I,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ0H,8CAcjJlF,oBArOH,SAqOuB99B,EAAe1M,GAA6F,OAAD,0HACjGooC,EAA4BJ,GAAewC,oBAAoB99B,EAAO1M,GAD2B,cAC3HyvC,EAD2H,0BAE1H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJwG,8CAc/HjF,qBAnPH,SAmPwBnC,EAAiBtoC,GAA6F,OAAD,0HACpGooC,EAA4BJ,GAAeyC,qBAAqBnC,EAAStoC,GAD2B,cAC9HyvC,EAD8H,0BAE7H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ2G,8CAclIhF,oCAjQH,SAiQuCjxB,EAAiDzZ,GAA6F,OAAD,0HACnJooC,EAA4BJ,GAAe0C,oCAAoCjxB,EAASzZ,GAD2D,cAC7KyvC,EAD6K,0BAE5K,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ0J,8CAcjL/E,+BA/QH,SA+QkCj+B,EAAe1M,GAA2F,OAAD,0HAC1GooC,EAA4BJ,GAAe2C,+BAA+Bj+B,EAAO1M,GADyB,cACpIyvC,EADoI,0BAEnI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJiH,8CAaxI9E,mBA5RH,SA4RsB5qC,GAA4G,OAAD,0HAChGooC,EAA4BJ,GAAe4C,mBAAmB5qC,GADkC,cAC1HyvC,EAD0H,0BAEzH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJuG,8CAc9H7E,2BA1SH,SA0S8B3uC,EAAY8D,GAA6F,OAAD,0HACrGooC,EAA4BJ,GAAe6C,2BAA2B3uC,EAAI8D,GAD2B,cAC/HyvC,EAD+H,0BAE9H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ4G,8CAcnI5E,2BAxTH,SAwT8B5uC,EAAY8D,GAA6F,OAAD,0HACrGooC,EAA4BJ,GAAe8C,2BAA2B5uC,EAAI8D,GAD2B,cAC/HyvC,EAD+H,0BAE9H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ4G,8CAcnI3E,2BAtUH,SAsU8B7uC,EAAY8D,GAAqG,OAAD,0HAC7GooC,EAA4BJ,GAAe+C,2BAA2B7uC,EAAI8D,GADmC,cACvIyvC,EADuI,0BAEtI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJoH,8CAc3I1E,oBApVH,SAoVuBvxB,EAAwCzZ,GAA6F,OAAD,0HAC1HooC,EAA4BJ,GAAegD,oBAAoBvxB,EAASzZ,GADkD,cACpJyvC,EADoJ,0BAEnJ,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJiI,8CAcxJzE,uBAlWH,SAkW0Bv+B,EAAe1M,GAA2F,OAAD,0HAClGooC,EAA4BJ,GAAeiD,uBAAuBv+B,EAAO1M,GADyB,cAC5HyvC,EAD4H,0BAE3H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJyG,8CAchIxE,wBAhXH,SAgX2Bx+B,EAAe1M,GAA2F,OAAD,0HACnGooC,EAA4BJ,GAAekD,wBAAwBx+B,EAAO1M,GADyB,cAC7HyvC,EAD6H,0BAE5H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ0G,8CAejIvE,eA/XH,SA+XkBjvC,EAAakvC,EAAiBprC,GAA6F,OAAD,0HAC3GooC,EAA4BJ,GAAemD,eAAejvC,EAAIkvC,EAAQprC,GADqC,cACrIyvC,EADqI,0BAEpI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJkH,8CAczIrE,sBA7YH,SA6YyBjB,EAAiBpqC,GAA6F,OAAD,0HACrGooC,EAA4BJ,GAAeqD,sBAAsBjB,EAASpqC,GAD2B,cAC/HyvC,EAD+H,0BAE9H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ4G,8CAanIpE,wBA1ZH,SA0Z2BtrC,GAA+G,OAAD,0HACxGooC,EAA4BJ,GAAesD,wBAAwBtrC,GADqC,cAClIyvC,EADkI,0BAEjI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ+G,8CAatInE,mBAvaH,SAuasBvrC,GAA0G,OAAD,0HAC9FooC,EAA4BJ,GAAeuD,mBAAmBvrC,GADgC,cACxHyvC,EADwH,0BAEvH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJqG,8CAa5HvS,cApbH,SAobiBn9B,GAA4G,OAAD,0HAC3FooC,EAA4BJ,GAAe7K,cAAcn9B,GADkC,cACrHyvC,EADqH,0BAEpH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJkG,8CAczHlE,wBAlcH,SAkc2BlD,EAAiBtoC,GAAmH,OAAD,0HAC7HooC,EAA4BJ,GAAewD,wBAAwBlD,EAAStoC,GADiD,cACvJyvC,EADuJ,0BAEtJ,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJoI,8CAa3JjE,mBA/cH,SA+csBzrC,GAAqH,OAAD,0HACzGooC,EAA4BJ,GAAeyD,mBAAmBzrC,GAD2C,cACnIyvC,EADmI,0BAElI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJgH,8CAavIhE,yBA5dH,SA4d4B1rC,GAA4G,OAAD,0HACtGooC,EAA4BJ,GAAe0D,yBAAyB1rC,GADkC,cAChIyvC,EADgI,0BAE/H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ6G,8CAapI1S,iBAzeH,SAyeoBh9B,GAAuH,OAAD,0HACzGooC,EAA4BJ,GAAehL,iBAAiBh9B,GAD6C,cACnIyvC,EADmI,0BAElI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJgH,8CAavI5S,gBAtfH,SAsfmB98B,GAA8G,OAAD,0HAC/FooC,EAA4BJ,GAAelL,gBAAgB98B,GADoC,cACzHyvC,EADyH,0BAExH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJsG,8CAa7H93B,QAngBH,SAmgBW5X,GAAuG,OAAD,0HAChFooC,EAA4BJ,GAAepwB,QAAQ5X,GAD6B,cAC1GyvC,EAD0G,0BAEzG,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJuF,8CAa9G/D,kBAhhBH,SAghBqB3rC,GAAoG,OAAD,0HACvFooC,EAA4BJ,GAAe2D,kBAAkB3rC,GAD0B,cACjHyvC,EADiH,0BAEhH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ8F,8CAcrH9D,eA9hBH,SA8hBkBC,EAAuB7rC,GAA6G,OAAD,0HACpHooC,EAA4BJ,GAAe4D,eAAeC,EAAc7rC,GAD4C,cAC9IyvC,EAD8I,0BAE7I,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ2H,8CAalJ/3B,WA3iBH,SA2iBc3X,GAAyG,OAAD,0HACrFooC,EAA4BJ,GAAerwB,WAAW3X,GAD+B,cAC/GyvC,EAD+G,0BAE9G,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ4F,8CAanH5D,mBAxjBH,SAwjBsB9rC,GAA4G,OAAD,0HAChGooC,EAA4BJ,GAAe8D,mBAAmB9rC,GADkC,cAC1HyvC,EAD0H,0BAEzH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJuG,8CAc9H3D,mBAtkBH,SAskBsBtyB,EAAgCzZ,GAA4G,OAAD,0HAChIooC,EAA4BJ,GAAe+D,mBAAmBtyB,EAASzZ,GADyD,cAC1JyvC,EAD0J,0BAEzJ,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJuI,8CAkB9J1D,qBAxlBH,SAwlBwBC,EAAmBC,EAAiBC,EAAoBC,EAAkBtgC,EAAsF9L,GAAmG,OAAD,0HACzPooC,EAA4BJ,GAAegE,qBAAqBC,EAAUC,EAAQC,EAAWC,EAAStgC,EAAM9L,GAD6I,cACnRyvC,EADmR,0BAElR,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJgQ,8CAcvRrD,4BAtmBH,SAsmB+BnwC,EAAoB8D,GAA6F,OAAD,0HAC9GooC,EAA4BJ,GAAeqE,4BAA4BnwC,EAAI8D,GADmC,cACxIyvC,EADwI,0BAEvI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJqH,8CAc5IpD,gBApnBH,SAonBmB5/B,EAAe1M,GAA2F,OAAD,0HAC3FooC,EAA4BJ,GAAesE,gBAAgB5/B,EAAO1M,GADyB,cACrHyvC,EADqH,0BAEpH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJkG,8CAczHnD,iBAloBH,SAkoBoB9yB,EAA0CzZ,GAAiH,OAAD,0HAC7IooC,EAA4BJ,GAAeuE,iBAAiB9yB,EAASzZ,GADwE,cACvKyvC,EADuK,0BAEtK,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJoJ,8CAa3KlD,kBA/oBH,SA+oBqBxsC,GAAqH,OAAD,0HACxGooC,EAA4BJ,GAAewE,kBAAkBxsC,GAD2C,cAClIyvC,EADkI,0BAEjI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ+G,8CActIjD,2BA7pBH,SA6pB8BvwC,EAAY8D,GAA6F,OAAD,0HACrGooC,EAA4BJ,GAAeyE,2BAA2BvwC,EAAI8D,GAD2B,cAC/HyvC,EAD+H,0BAE9H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ4G,8CAcnIhD,uBA3qBH,SA2qB0BxwC,EAAY8D,GAA6F,OAAD,0HACjGooC,EAA4BJ,GAAe0E,uBAAuBxwC,EAAI8D,GAD2B,cAC3HyvC,EAD2H,0BAE1H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJwG,8CAc/H/C,oBAzrBH,SAyrBuBzwC,EAAY8D,GAAiH,OAAD,0HAClHooC,EAA4BJ,GAAe2E,oBAAoBzwC,EAAI8D,GAD+C,cAC5IyvC,EAD4I,0BAE3I,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJyH,8CAchJ9C,2BAvsBH,SAusB8B1wC,EAAY8D,GAAmH,OAAD,0HAC3HooC,EAA4BJ,GAAe4E,2BAA2B1wC,EAAI8D,GADiD,cACrJyvC,EADqJ,0BAEpJ,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJkI,8CAczJ7C,0BArtBH,SAqtB6B3wC,EAAY8D,GAA6F,OAAD,0HACpGooC,EAA4BJ,GAAe6E,0BAA0B3wC,EAAI8D,GAD2B,cAC9HyvC,EAD8H,0BAE7H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ2G,8CAalI5C,sBAluBH,SAkuByB9sC,GAA0H,OAAD,0HACjHooC,EAA4BJ,GAAe8E,sBAAsB9sC,GADgD,cAC3IyvC,EAD2I,0BAE1I,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJwH,8CAiB/I3kB,gBAnvBH,SAmvBmBP,EAAqBQ,EAAgB+hB,EAAuBC,EAAkBhtC,GAA2G,OAAD,0HAC1KooC,EAA4BJ,GAAejd,gBAAgBP,EAAYQ,EAAO+hB,EAAcC,EAAShtC,GADqE,cACpMyvC,EADoM,0BAEnM,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJiL,8CAcxMzC,4BAjwBH,SAiwB+BxzB,EAA6CzZ,GAA0H,OAAD,0HACpKooC,EAA4BJ,GAAeiF,4BAA4BxzB,EAASzZ,GADoF,cAC9LyvC,EAD8L,0BAE7L,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ2K,8CAalMxC,mBA9wBH,SA8wBsBltC,GAA4G,OAAD,0HAChGooC,EAA4BJ,GAAekF,mBAAmBltC,GADkC,cAC1HyvC,EAD0H,0BAEzH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJuG,8CAc9HvC,mBA5xBH,SA4xBsB1zB,EAAgCzZ,GAA4G,OAAD,0HAChIooC,EAA4BJ,GAAemF,mBAAmB1zB,EAASzZ,GADyD,cAC1JyvC,EAD0J,0BAEzJ,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJuI,8CAc9JtC,eA1yBH,SA0yBkB3zB,EAAgCzZ,GAA6G,OAAD,0HAC7HooC,EAA4BJ,GAAeoF,eAAe3zB,EAASzZ,GAD0D,cACvJyvC,EADuJ,0BAEtJ,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJoI,8CAgB3JrC,mBA1zBH,SA0zBsBC,EAAoBC,EAAiBC,EAAoBxtC,GAAqG,OAAD,0HAClJooC,EAA4BJ,GAAeqF,mBAAmBC,EAAWC,EAAQC,EAAWxtC,GADsD,cAC5KyvC,EAD4K,0BAE3K,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJyJ,8CAchLjC,qBAx0BH,SAw0BwB/gC,EAAe1M,GAA2F,OAAD,0HAChGooC,EAA4BJ,GAAeyF,qBAAqB/gC,EAAO1M,GADyB,cAC1HyvC,EAD0H,0BAEzH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJuG,8CAc9HhC,2BAt1BH,SAs1B8Bj0B,EAAkCzZ,GAA6F,OAAD,0HAC3HooC,EAA4BJ,GAAe0F,2BAA2Bj0B,EAASzZ,GAD4C,cACrJyvC,EADqJ,0BAEpJ,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJkI,8CAuBzJ/B,iBA72BH,SA62BoB1D,EAAoB2D,EAAoBxrB,EAAgBmrB,EAAiBrD,EAAkB2D,EAAiBC,EAAgB3rB,EAAkB4rB,EAAuB7jC,EAAelK,GAA4G,OAAD,0HAClRooC,EAA4BJ,GAAe2F,iBAAiB1D,EAAW2D,EAAIxrB,EAAMmrB,EAAQrD,EAAS2D,EAAQC,EAAO3rB,EAAS4rB,EAAO7jC,EAAMlK,GAD2I,cAC5SyvC,EAD4S,0BAE3S,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJyR,8CAahT1B,yBA13BH,SA03B4BhuC,GAAoG,OAAD,0HAC9FooC,EAA4BJ,GAAegG,yBAAyBhuC,GAD0B,cACxHyvC,EADwH,0BAEvH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJqG,8CAc5HzB,eAx4BH,SAw4BkBhyC,EAA4B+D,GAA8G,OAAD,0HAC1HooC,EAA4BJ,GAAeiG,eAAehyC,EAAK+D,GAD2D,cACpJyvC,EADoJ,0BAEnJ,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJiI,8CAaxJxB,oBAr5BH,SAq5BuBluC,GAA8G,OAAD,0HACnGooC,EAA4BJ,GAAekG,oBAAoBluC,GADoC,cAC7HyvC,EAD6H,0BAE5H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ0G,8CAcjIvB,qBAn6BH,SAm6BwB10B,EAAkCzZ,GAA6F,OAAD,0HACrHooC,EAA4BJ,GAAemG,qBAAqB10B,EAASzZ,GAD4C,cAC/IyvC,EAD+I,0BAE9I,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ4H,8CAcnJtB,sBAj7BH,SAi7ByB1hC,EAAe1M,GAA2F,OAAD,0HACjGooC,EAA4BJ,GAAeoG,sBAAsB1hC,EAAO1M,GADyB,cAC3HyvC,EAD2H,0BAE1H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJwG,8CAc/HrB,4BA/7BH,SA+7B+B50B,EAAwCzZ,GAA6F,OAAD,0HAClIooC,EAA4BJ,GAAeqG,4BAA4B50B,EAASzZ,GADkD,cAC5JyvC,EAD4J,0BAE3J,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJyI,8CAmBhKpB,kBAl9BH,SAk9BqBrE,EAAoBC,EAAkB2D,EAAiBU,EAAyBC,EAA2BtkC,EAAelK,GAA4G,OAAD,0HACzNooC,EAA4BJ,GAAesG,kBAAkBrE,EAAWC,EAAS2D,EAAQU,EAASC,EAAWtkC,EAAMlK,GADsG,cACnPyvC,EADmP,0BAElP,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJgO,8CAkBvPjB,wBAp+BH,SAo+B2BxE,EAAoBsD,EAAiBrD,EAAkB6D,EAAuBW,EAAqB1uC,GAAqG,OAAD,0HACjMooC,EAA4BJ,GAAeyG,wBAAwBxE,EAAWsD,EAAQrD,EAAS6D,EAAOW,EAAY1uC,GAD+E,cAC3NyvC,EAD2N,0BAE1N,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJwM,8CAiB/Nf,mBAr/BH,SAq/BsB1E,EAAoBsD,EAAiBrD,EAAkBwE,EAAqB1uC,GAA4G,OAAD,0HAC5KooC,EAA4BJ,GAAe2G,mBAAmB1E,EAAWsD,EAAQrD,EAASwE,EAAY1uC,GADsE,cACtMyvC,EADsM,0BAErM,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJmL,8CAa1Md,uBAlgCH,SAkgC0B5uC,GAAoG,OAAD,0HAC5FooC,EAA4BJ,GAAe4G,uBAAuB5uC,GAD0B,cACtHyvC,EADsH,0BAErH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJmG,8CAa1Hb,0BA/gCH,SA+gC6B7uC,GAAoG,OAAD,0HAC/FooC,EAA4BJ,GAAe6G,0BAA0B7uC,GAD0B,cACzHyvC,EADyH,0BAExH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJsG,8CAa7HZ,wBA5hCH,SA4hC2B9uC,GAAgH,OAAD,0HACzGooC,EAA4BJ,GAAe8G,wBAAwB9uC,GADsC,cACnIyvC,EADmI,0BAElI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJgH,8CAcvIX,0BA1iCH,SA0iC6B3E,EAAiBpqC,GAA2F,OAAD,0HACvGooC,EAA4BJ,GAAe+G,0BAA0B3E,EAASpqC,GADyB,cACjIyvC,EADiI,0BAEhI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ8G,8CAarI/7B,iBAvjCH,SAujCoB3T,GAA+G,OAAD,0HACjGooC,EAA4BJ,GAAer0B,iBAAiB3T,GADqC,cAC3HyvC,EAD2H,0BAE1H,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJwG,8CAc/HV,mBArkCH,SAqkCsBC,EAAsBjvC,GAAsG,OAAD,0HAChHooC,EAA4BJ,GAAegH,mBAAmBC,EAAajvC,GADqC,cAC1IyvC,EAD0I,0BAEzI,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJuH,8CAc9I7jC,UAnlCH,SAmlCa6D,EAA+B1P,GAAwG,OAAD,0HAClHooC,EAA4BJ,GAAen8B,UAAU6D,EAAS1P,GADoD,cAC5IyvC,EAD4I,0BAE3I,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJyH,8CAchJR,2BAjmCH,SAimC8Bz1B,EAAwCzZ,GAA+G,OAAD,0HACnJooC,EAA4BJ,GAAekH,2BAA2Bz1B,EAASzZ,GADoE,cAC7KyvC,EAD6K,0BAE5K,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ0J,8CAgBjLvkC,kBAjnCH,SAinCqBL,EAAuBmkC,EAAsBlkC,EAAgB/K,GAA6F,OAAD,0HAC7IooC,EAA4BJ,GAAe78B,kBAAkBL,EAAcmkC,EAAalkC,EAAO/K,GAD8C,cACvKyvC,EADuK,0BAEtK,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJoJ,8CAa3KP,iBA9nCH,SA8nCoBnvC,GAA0G,OAAD,0HAC5FooC,EAA4BJ,GAAemH,iBAAiBnvC,GADgC,cACtHyvC,EADsH,0BAErH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJmG,8CAa1HN,0BA3oCH,SA2oC6BpvC,GAAsH,OAAD,0HACjHooC,EAA4BJ,GAAeoH,0BAA0BpvC,GAD4C,cAC3IyvC,EAD2I,0BAE1I,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJwH,8CAc/IL,iBAzpCH,SAypCoB51B,EAA8BzZ,GAA0G,OAAD,0HAC1HooC,EAA4BJ,GAAeqH,iBAAiB51B,EAASzZ,GADqD,cACpJyvC,EADoJ,0BAEnJ,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJiI,8CAcxJJ,iBAvqCH,SAuqCoB71B,EAA2BzZ,GAAwG,OAAD,0HACrHooC,EAA4BJ,GAAesH,iBAAiB71B,EAASzZ,GADgD,cAC/IyvC,EAD+I,0BAE9I,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJ4H,8CAcnJH,oBArrCH,SAqrCuB7iC,EAAe1M,GAA2F,OAAD,0HAC/FooC,EAA4BJ,GAAeuH,oBAAoB7iC,EAAO1M,GADyB,cACzHyvC,EADyH,0BAExH,WAAuE,IAAtErP,EAAqE,uDAA9C6H,IAAaP,EAAiC,uDAAdG,EACrD6H,EAAgB,2BAAOD,EAAkBzvC,SAAzB,IAAkC8S,IAAK40B,EAAW+H,EAAkB38B,MAC1F,OAAOstB,EAAM3mB,QAAQi2B,MAJsG,gDA43B9HC,EAAb,mLASgCrH,EAAiBtoC,GAAgB,IAAD,OACxD,OAAOwvC,EAAajxC,KAAKypC,eAAeK,qBAAqBC,EAAStoC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAVlI,8CAoBmC1nC,GAAgB,IAAD,OAC1C,OAAOwvC,EAAajxC,KAAKypC,eAAemB,wBAAwBnpC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eArB5H,+CA+BoC1nC,GAAgB,IAAD,OAC3C,OAAOwvC,EAAajxC,KAAKypC,eAAeoB,yBAAyBppC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAhC7H,wCA2C6BjuB,EAAmCzZ,GAAgB,IAAD,OACvE,OAAOwvC,EAAajxC,KAAKypC,eAAeqB,kBAAkB5vB,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA5C/H,0CAsD+B1nC,GAAgB,IAAD,OACtC,OAAOwvC,EAAajxC,KAAKypC,eAAeuB,oBAAoBvpC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAvDxH,wDAkE6CxD,EAAWlkC,GAAgB,IAAD,OAC/D,OAAOwvC,EAAajxC,KAAKypC,eAAewB,kCAAkCtF,EAAGlkC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAnEzI,uDA6E4C1nC,GAAgB,IAAD,OACnD,OAAOwvC,EAAajxC,KAAKypC,eAAeyB,iCAAiCzpC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA9ErI,mDAwFwC1nC,GAAgB,IAAD,OAC/C,OAAOwvC,EAAajxC,KAAKypC,eAAe0B,6BAA6B1pC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAzFjI,oDAoGyCjuB,EAAsCzZ,GAAgB,IAAD,OACtF,OAAOwvC,EAAajxC,KAAKypC,eAAe2B,8BAA8BlwB,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eArG3I,qDAgH0CmC,EAAY7pC,GAAgB,IAAD,OAC7D,OAAOwvC,EAAajxC,KAAKypC,eAAe4B,+BAA+BC,EAAI7pC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAjHvI,yDA2H8C1nC,GAAgB,IAAD,OACrD,OAAOwvC,EAAajxC,KAAKypC,eAAe8B,mCAAmC9pC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA5HvI,+DAuIoDmC,EAAY7pC,GAAgB,IAAD,OACvE,OAAOwvC,EAAajxC,KAAKypC,eAAe+B,yCAAyCF,EAAI7pC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAxIjJ,0DAoJ+CuC,EAAoBC,EAAkBlqC,GAAgB,IAAD,OAC5F,OAAOwvC,EAAajxC,KAAKypC,eAAegC,oCAAoCC,EAAWC,EAASlqC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eArJ5J,8DAmKmD0C,EAAkBhrC,EAAoBirC,EAAsBR,EAAa7pC,GAAgB,IAAD,OACnI,OAAOwvC,EAAajxC,KAAKypC,eAAemC,wCAAwCC,EAAShrC,EAAWirC,EAAaR,EAAI7pC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eApKjL,2CA8KgC1nC,GAAgB,IAAD,OACvC,OAAOwvC,EAAajxC,KAAKypC,eAAesC,qBAAqBtqC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA/KzH,8CA0LmCzrC,EAA6B+D,GAAgB,IAAD,OACvE,OAAOwvC,EAAajxC,KAAKypC,eAAeuC,wBAAwBtuC,EAAK+D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA3LjI,0CAsM+Bh7B,EAAe1M,GAAgB,IAAD,OACrD,OAAOwvC,EAAajxC,KAAKypC,eAAewC,oBAAoB99B,EAAO1M,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAvM/H,2CAkNgCY,EAAiBtoC,GAAgB,IAAD,OACxD,OAAOwvC,EAAajxC,KAAKypC,eAAeyC,qBAAqBnC,EAAStoC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAnNlI,0DA8N+CjuB,EAAiDzZ,GAAgB,IAAD,OACvG,OAAOwvC,EAAajxC,KAAKypC,eAAe0C,oCAAoCjxB,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA/NjJ,qDA0O0Ch7B,EAAe1M,GAAgB,IAAD,OAChE,OAAOwvC,EAAajxC,KAAKypC,eAAe2C,+BAA+Bj+B,EAAO1M,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA3O1I,yCAqP8B1nC,GAAgB,IAAD,OACrC,OAAOwvC,EAAajxC,KAAKypC,eAAe4C,mBAAmB5qC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAtPvH,iDAiQsCxrC,EAAY8D,GAAgB,IAAD,OACzD,OAAOwvC,EAAajxC,KAAKypC,eAAe6C,2BAA2B3uC,EAAI8D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAlQnI,iDA6QsCxrC,EAAY8D,GAAgB,IAAD,OACzD,OAAOwvC,EAAajxC,KAAKypC,eAAe8C,2BAA2B5uC,EAAI8D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA9QnI,iDAyRsCxrC,EAAY8D,GAAgB,IAAD,OACzD,OAAOwvC,EAAajxC,KAAKypC,eAAe+C,2BAA2B7uC,EAAI8D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA1RnI,0CAqS+BjuB,EAAwCzZ,GAAgB,IAAD,OAC9E,OAAOwvC,EAAajxC,KAAKypC,eAAegD,oBAAoBvxB,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAtSjI,6CAiTkCh7B,EAAe1M,GAAgB,IAAD,OACxD,OAAOwvC,EAAajxC,KAAKypC,eAAeiD,uBAAuBv+B,EAAO1M,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAlTlI,8CA6TmCh7B,EAAe1M,GAAgB,IAAD,OACzD,OAAOwvC,EAAajxC,KAAKypC,eAAekD,wBAAwBx+B,EAAO1M,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA9TnI,qCA0U0BxrC,EAAakvC,EAAiBprC,GAAgB,IAAD,OAC/D,OAAOwvC,EAAajxC,KAAKypC,eAAemD,eAAejvC,EAAIkvC,EAAQprC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA3U/H,4CAsViC0C,EAAiBpqC,GAAgB,IAAD,OACzD,OAAOwvC,EAAajxC,KAAKypC,eAAeqD,sBAAsBjB,EAASpqC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAvVnI,8CAiWmC1nC,GAAgB,IAAD,OAC1C,OAAOwvC,EAAajxC,KAAKypC,eAAesD,wBAAwBtrC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAlW5H,yCA4W8B1nC,GAAgB,IAAD,OACrC,OAAOwvC,EAAajxC,KAAKypC,eAAeuD,mBAAmBvrC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA7WvH,oCAuXyB1nC,GAAgB,IAAD,OAChC,OAAOwvC,EAAajxC,KAAKypC,eAAe7K,cAAcn9B,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAxXlH,8CAmYmCY,EAAiBtoC,GAAgB,IAAD,OAC3D,OAAOwvC,EAAajxC,KAAKypC,eAAewD,wBAAwBlD,EAAStoC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eApYrI,yCA8Y8B1nC,GAAgB,IAAD,OACrC,OAAOwvC,EAAajxC,KAAKypC,eAAeyD,mBAAmBzrC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA/YvH,+CAyZoC1nC,GAAgB,IAAD,OAC3C,OAAOwvC,EAAajxC,KAAKypC,eAAe0D,yBAAyB1rC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA1Z7H,uCAoa4B1nC,GAAgB,IAAD,OACnC,OAAOwvC,EAAajxC,KAAKypC,eAAehL,iBAAiBh9B,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eArarH,sCA+a2B1nC,GAAgB,IAAD,OAClC,OAAOwvC,EAAajxC,KAAKypC,eAAelL,gBAAgB98B,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAhbpH,8BA0bmB1nC,GAAgB,IAAD,OAC1B,OAAOwvC,EAAajxC,KAAKypC,eAAepwB,QAAQ5X,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA3b5G,wCAqc6B1nC,GAAgB,IAAD,OACpC,OAAOwvC,EAAajxC,KAAKypC,eAAe2D,kBAAkB3rC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAtctH,qCAid0BmE,EAAuB7rC,GAAgB,IAAD,OACxD,OAAOwvC,EAAajxC,KAAKypC,eAAe4D,eAAeC,EAAc7rC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAldjI,iCA4dsB1nC,GAAgB,IAAD,OAC7B,OAAOwvC,EAAajxC,KAAKypC,eAAerwB,WAAW3X,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA7d/G,yCAue8B1nC,GAAgB,IAAD,OACrC,OAAOwvC,EAAajxC,KAAKypC,eAAe8D,mBAAmB9rC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAxevH,yCAmf8BjuB,EAAgCzZ,GAAgB,IAAD,OACrE,OAAOwvC,EAAajxC,KAAKypC,eAAe+D,mBAAmBtyB,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eApfhI,2CAmgBgCuE,EAAmBC,EAAiBC,EAAoBC,EAAkBtgC,EAAsF9L,GAAgB,IAAD,OACvM,OAAOwvC,EAAajxC,KAAKypC,eAAegE,qBAAqBC,EAAUC,EAAQC,EAAWC,EAAStgC,EAAM9L,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eApgBrK,kDA+gBuCxrC,EAAoB8D,GAAgB,IAAD,OAClE,OAAOwvC,EAAajxC,KAAKypC,eAAeqE,4BAA4BnwC,EAAI8D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAhhBpI,sCA2hB2Bh7B,EAAe1M,GAAgB,IAAD,OACjD,OAAOwvC,EAAajxC,KAAKypC,eAAesE,gBAAgB5/B,EAAO1M,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA5hB3H,uCAuiB4BjuB,EAA0CzZ,GAAgB,IAAD,OAC7E,OAAOwvC,EAAajxC,KAAKypC,eAAeuE,iBAAiB9yB,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAxiB9H,wCAkjB6B1nC,GAAgB,IAAD,OACpC,OAAOwvC,EAAajxC,KAAKypC,eAAewE,kBAAkBxsC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAnjBtH,iDA8jBsCxrC,EAAY8D,GAAgB,IAAD,OACzD,OAAOwvC,EAAajxC,KAAKypC,eAAeyE,2BAA2BvwC,EAAI8D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA/jBnI,6CA0kBkCxrC,EAAY8D,GAAgB,IAAD,OACrD,OAAOwvC,EAAajxC,KAAKypC,eAAe0E,uBAAuBxwC,EAAI8D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA3kB/H,0CAslB+BxrC,EAAY8D,GAAgB,IAAD,OAClD,OAAOwvC,EAAajxC,KAAKypC,eAAe2E,oBAAoBzwC,EAAI8D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAvlB5H,iDAkmBsCxrC,EAAY8D,GAAgB,IAAD,OACzD,OAAOwvC,EAAajxC,KAAKypC,eAAe4E,2BAA2B1wC,EAAI8D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAnmBnI,gDA8mBqCxrC,EAAY8D,GAAgB,IAAD,OACxD,OAAOwvC,EAAajxC,KAAKypC,eAAe6E,0BAA0B3wC,EAAI8D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA/mBlI,4CAynBiC1nC,GAAgB,IAAD,OACxC,OAAOwvC,EAAajxC,KAAKypC,eAAe8E,sBAAsB9sC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA1nB1H,sCAwoB2Bld,EAAqBQ,EAAgB+hB,EAAuBC,EAAkBhtC,GAAgB,IAAD,OAChH,OAAOwvC,EAAajxC,KAAKypC,eAAejd,gBAAgBP,EAAYQ,EAAO+hB,EAAcC,EAAShtC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAzoB9J,kDAopBuCjuB,EAA6CzZ,GAAgB,IAAD,OAC3F,OAAOwvC,EAAajxC,KAAKypC,eAAeiF,4BAA4BxzB,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eArpBzI,yCA+pB8B1nC,GAAgB,IAAD,OACrC,OAAOwvC,EAAajxC,KAAKypC,eAAekF,mBAAmBltC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAhqBvH,yCA2qB8BjuB,EAAgCzZ,GAAgB,IAAD,OACrE,OAAOwvC,EAAajxC,KAAKypC,eAAemF,mBAAmB1zB,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA5qBhI,qCAurB0BjuB,EAAgCzZ,GAAgB,IAAD,OACjE,OAAOwvC,EAAajxC,KAAKypC,eAAeoF,eAAe3zB,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAxrB5H,yCAqsB8B4F,EAAoBC,EAAiBC,EAAoBxtC,GAAgB,IAAD,OAC9F,OAAOwvC,EAAajxC,KAAKypC,eAAeqF,mBAAmBC,EAAWC,EAAQC,EAAWxtC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAtsBrJ,2CAitBgCh7B,EAAe1M,GAAgB,IAAD,OACtD,OAAOwvC,EAAajxC,KAAKypC,eAAeyF,qBAAqB/gC,EAAO1M,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAltBhI,iDA6tBsCjuB,EAAkCzZ,GAAgB,IAAD,OAC/E,OAAOwvC,EAAajxC,KAAKypC,eAAe0F,2BAA2Bj0B,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA9tBxI,uCAkvB4BuC,EAAoB2D,EAAoBxrB,EAAgBmrB,EAAiBrD,EAAkB2D,EAAiBC,EAAgB3rB,EAAkB4rB,EAAuB7jC,EAAelK,GAAgB,IAAD,OACvN,OAAOwvC,EAAajxC,KAAKypC,eAAe2F,iBAAiB1D,EAAW2D,EAAIxrB,EAAMmrB,EAAQrD,EAAS2D,EAAQC,EAAO3rB,EAAS4rB,EAAO7jC,EAAMlK,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAnvBhM,+CA6vBoC1nC,GAAgB,IAAD,OAC3C,OAAOwvC,EAAajxC,KAAKypC,eAAegG,yBAAyBhuC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA9vB7H,qCAywB0BzrC,EAA4B+D,GAAgB,IAAD,OAC7D,OAAOwvC,EAAajxC,KAAKypC,eAAeiG,eAAehyC,EAAK+D,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA1wBxH,0CAoxB+B1nC,GAAgB,IAAD,OACtC,OAAOwvC,EAAajxC,KAAKypC,eAAekG,oBAAoBluC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eArxBxH,2CAgyBgCjuB,EAAkCzZ,GAAgB,IAAD,OACzE,OAAOwvC,EAAajxC,KAAKypC,eAAemG,qBAAqB10B,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAjyBlI,4CA4yBiCh7B,EAAe1M,GAAgB,IAAD,OACvD,OAAOwvC,EAAajxC,KAAKypC,eAAeoG,sBAAsB1hC,EAAO1M,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA7yBjI,kDAwzBuCjuB,EAAwCzZ,GAAgB,IAAD,OACtF,OAAOwvC,EAAajxC,KAAKypC,eAAeqG,4BAA4B50B,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAzzBzI,wCAy0B6BuC,EAAoBC,EAAkB2D,EAAiBU,EAAyBC,EAA2BtkC,EAAelK,GAAgB,IAAD,OAC9J,OAAOwvC,EAAajxC,KAAKypC,eAAesG,kBAAkBrE,EAAWC,EAAS2D,EAAQU,EAASC,EAAWtkC,EAAMlK,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA10B5K,8CAy1BmCuC,EAAoBsD,EAAiBrD,EAAkB6D,EAAuBW,EAAqB1uC,GAAgB,IAAD,OAC7I,OAAOwvC,EAAajxC,KAAKypC,eAAeyG,wBAAwBxE,EAAWsD,EAAQrD,EAAS6D,EAAOW,EAAY1uC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA11B3K,yCAw2B8BuC,EAAoBsD,EAAiBrD,EAAkBwE,EAAqB1uC,GAAgB,IAAD,OACjH,OAAOwvC,EAAajxC,KAAKypC,eAAe2G,mBAAmB1E,EAAWsD,EAAQrD,EAASwE,EAAY1uC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAz2B/J,6CAm3BkC1nC,GAAgB,IAAD,OACzC,OAAOwvC,EAAajxC,KAAKypC,eAAe4G,uBAAuB5uC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAp3B3H,gDA83BqC1nC,GAAgB,IAAD,OAC5C,OAAOwvC,EAAajxC,KAAKypC,eAAe6G,0BAA0B7uC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA/3B9H,8CAy4BmC1nC,GAAgB,IAAD,OAC1C,OAAOwvC,EAAajxC,KAAKypC,eAAe8G,wBAAwB9uC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA14B5H,gDAq5BqC0C,EAAiBpqC,GAAgB,IAAD,OAC7D,OAAOwvC,EAAajxC,KAAKypC,eAAe+G,0BAA0B3E,EAASpqC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAt5BvI,uCAg6B4B1nC,GAAgB,IAAD,OACnC,OAAOwvC,EAAajxC,KAAKypC,eAAer0B,iBAAiB3T,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAj6BrH,yCA46B8BuH,EAAsBjvC,GAAgB,IAAD,OAC3D,OAAOwvC,EAAajxC,KAAKypC,eAAegH,mBAAmBC,EAAajvC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA76BpI,gCAw7BqBh4B,EAA+B1P,GAAgB,IAAD,OAC3D,OAAOwvC,EAAajxC,KAAKypC,eAAen8B,UAAU6D,EAAS1P,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAz7BvH,iDAo8BsCjuB,EAAwCzZ,GAAgB,IAAD,OACrF,OAAOwvC,EAAajxC,KAAKypC,eAAekH,2BAA2Bz1B,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAr8BxI,wCAk9B6B58B,EAAuBmkC,EAAsBlkC,EAAgB/K,GAAgB,IAAD,OACjG,OAAOwvC,EAAajxC,KAAKypC,eAAe78B,kBAAkBL,EAAcmkC,EAAalkC,EAAO/K,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAn9BxJ,uCA69B4B1nC,GAAgB,IAAD,OACnC,OAAOwvC,EAAajxC,KAAKypC,eAAemH,iBAAiBnvC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eA99BrH,gDAw+BqC1nC,GAAgB,IAAD,OAC5C,OAAOwvC,EAAajxC,KAAKypC,eAAeoH,0BAA0BpvC,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAz+B9H,uCAo/B4BjuB,EAA8BzZ,GAAgB,IAAD,OACjE,OAAOwvC,EAAajxC,KAAKypC,eAAeqH,iBAAiB51B,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAr/B9H,uCAggC4BjuB,EAA2BzZ,GAAgB,IAAD,OAC9D,OAAOwvC,EAAajxC,KAAKypC,eAAesH,iBAAiB71B,EAASzZ,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,eAjgC9H,0CA4gC+Bh7B,EAAe1M,GAAgB,IAAD,OACrD,OAAOwvC,EAAajxC,KAAKypC,eAAeuH,oBAAoB7iC,EAAO1M,GAAS4vC,MAAK,SAACn2B,GAAD,OAAaA,EAAQ,EAAK2mB,MAAO,EAAKsH,iBA7gC/H,GAAgCK,GC94RnB8H,E,OASGhzC,EHyBhB,SAASizC,IACP,OAAOpI,EAOM,IAIHr7B,EAJG,KAAEnB,YAZjB,WACE,OAAOy8B,GAWqBmI,cAAap6B,iBAJ3C,WACE,OAAOkyB,K,SAOGv7B,K,kBAAAA,E,iBAAAA,M,KAmEZ,SAAS0jC,IACP/xC,IAAqBsW,QAErB,IAAMla,EAAWgmC,IAAM4P,SAGvB,OAlEF,SAAsC51C,GACpCA,EAASof,aAAaO,SAASL,SAAI/a,EAAnC,uCAA8C,WAAgBuf,GAAhB,mCAAA/e,EAAA,6DACpC4a,EAAqBmE,EAArBnE,SAAUJ,EAAWuE,EAAXvE,OACZvN,EAAgBuN,EAAOvN,cACvBwN,EAAUD,EAAOC,OAAkBhf,cAKvCoV,EADkB,kBAAhBkO,EAAIxO,QACI,gBAEH,OAAGqK,QAAH,IAAGA,GAAH,UAAGA,EAAU1O,YAAb,aAAG,EAAgB7O,KAG1BmN,EAhBiB,oBAefqG,GAA8BvX,IAAQw3C,OAAR,UAAejgC,SAAf,QAA0B,IAChDvX,IAAQC,EAAEsX,IAGV,OAAR+J,QAAQ,IAARA,GAAA,UAAAA,EAAU1O,YAAV,eAAgBqE,UAAWwO,EAAIxO,SAAWjX,IAAQC,EAnBnC,mBAqBnBwlB,EAAIxO,QAAU/F,EACduU,EAAIlO,QAAUA,EAEE,2BAAZA,GAEG5R,IAAwB,MAASA,OACpC,IAAQyO,MAAM,CAAElD,UAAS5P,IAAKiW,IAEhCvD,MACAxO,IAAwB,IAAMG,KAC9B8f,EAAItO,SAAU,GACLxD,IAAkBC,EAAc6jC,UAC1B,QAAXt2B,GACIu2B,EAAUx2B,EAAO7G,IACjBs9B,EAAMD,EAAQxjC,QAAQmjC,IAAe,IAAI1L,MAAM,KAAK,GAC1DiM,EAAA,EAAaxjC,MAAM,CACjB9S,IAAKq2C,EACL1gC,QAASjX,IAAQC,EAAE,eACnBgV,YACE,sCACQ0iC,EACN,6BACCzmC,MAIE,CAAC,OAAQ,MAAO,SAAU,SAAS2mC,SAAS12B,IACrD,IAAM/M,MAAM,CACV9K,MAAOtJ,IAAQC,EAAE,eACjBiR,QAASA,EACT4mC,OAAQ,MAGZryB,EAAItO,SAAU,GAGhBiJ,YAAYqF,GAtDgC,kBAuDrCjE,QAAQC,OAAOgE,IAvDsB,4CAA9C,uDA+DAsyB,CAA6Bp2C,GAEtBA,GAGT,WACE,IAAMstC,EG3GA,GAAN,OAAUmI,EAAV,QH4GMY,EAAgBV,IAChBW,EAAkB,IAAIf,EAC1B,CACEjI,WACAsB,OAAQ,kBAAMv8B,OAA+B,IAC7Cm8B,YAAa,CACXx8B,cAAeC,EAAc6jC,eAGjCvxC,EACA8xC,GA7GF/I,EAgHKA,EA/GLC,EA+Ge+I,EA9Gf9I,EA8GgC6I,EAGlCvJ,I,oBI9IA,IAAInrC,EAAM,CACT,YAAa,IACb,YAAa,KAId,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,K,kBCvBpBQ,EAAOC,QAAU,CAAC,MAAQ,CAAC,MAAQ,QAAQ,QAAU,2BAA2B,IAAM,CAAC,aAAe,4CAA4C,uBAAyB,8DAA8D,KAAO,CAAC,OAAS,CAAC,aAAe,4CAA4C,wBAA0B,sFAAsF,WAAa,CAAC,eAAiB,mCAAmC,UAAY,CAAC,eAAiB,iCAAiC,qBAAuB,CAAC,yBAA2B,sPAAwP,wBAA0B,uPAAyP,MAAQ,eAAe,KAAO,CAAC,cAAgB,oCAAoC,iBAAmB,sCAAsC,iBAAmB,uCAAuC,iBAAmB,4C,kBCA9zCD,EAAOC,QAAU,CAAC,MAAQ,CAAC,MAAQ,eAAK,QAAU,uCAAS,IAAM,CAAC,aAAe,qEAAc,uBAAyB,iFAAgB,KAAO,CAAC,OAAS,CAAC,aAAe,0DAAa,wBAA0B,6GAA4C,WAAa,CAAC,eAAiB,sEAAe,UAAY,CAAC,eAAiB,oDAAY,qBAAuB,CAAC,yBAA2B,sYAAqF,wBAA0B,uYAAsF,MAAQ,4BAAQ,KAAO,CAAC,cAAgB,0EAA6B,iBAAmB,sDAAwB,iBAAmB,iDAAwB,iBAAmB,2D,oBCA1vB,IAAIZ,EAAM,CACT,6BAA8B,IAC9B,uCAAwC,IACxC,kCAAmC,IACnC,2BAA4B,IAC5B,gCAAiC,IACjC,oCAAqC,IACrC,qCAAsC,IACtC,sCAAuC,IACvC,6BAA8B,IAC9B,+CAAgD,IAChD,+CAAgD,IAChD,+CAAgD,IAChD,oDAAqD,IACrD,+CAAgD,IAChD,+CAAgD,IAChD,4BAA6B,IAC7B,oDAAqD,IACrD,kCAAmC,IACnC,iCAAkC,IAClC,6BAA8B,IAC9B,uCAAwC,IACxC,sCAAuC,IACvC,2CAA4C,IAC5C,0CAA2C,IAC3C,6CAA8C,IAC9C,gCAAiC,IACjC,qCAAsC,IACtC,uCAAwC,IACxC,iCAAkC,IAClC,2CAA4C,IAC5C,4CAA6C,IAC7C,mCAAoC,IACpC,gCAAiC,IACjC,mCAAoC,IACpC,oCAAqC,IACrC,+CAAgD,IAChD,iCAAkC,IAClC,4BAA6B,IAC7B,+CAAgD,IAChD,sCAAuC,IACvC,2CAA4C,IAC5C,sCAAuC,IACvC,+BAAgC,IAChC,0CAA2C,IAC3C,yCAA0C,IAC1C,mCAAoC,IACpC,4CAA6C,IAC7C,yCAA0C,IAC1C,iCAAkC,IAClC,0CAA2C,IAC3C,mCAAoC,IACpC,oCAAqC,IACrC,iCAAkC,IAClC,qCAAsC,IACtC,0CAA2C,IAC3C,8CAA+C,IAC/C,gCAAiC,IACjC,wCAAyC,IACzC,yCAA0C,IAC1C,uCAAwC,IACxC,uCAAwC,IACxC,0CAA2C,IAC3C,+BAAgC,IAChC,4CAA6C,IAC7C,+BAAgC,IAChC,sCAAuC,IACvC,uCAAwC,IACxC,yCAA0C,IAC1C,6BAA8B,IAC9B,oCAAqC,IACrC,wCAAyC,IACzC,wCAAyC,IACzC,wCAAyC,IACzC,+BAAgC,IAChC,yCAA0C,IAC1C,8BAA+B,IAC/B,qCAAsC,IACtC,qCAAsC,IACtC,0CAA2C,IAC3C,qCAAsC,IACtC,4CAA6C,IAC7C,oCAAqC,IACrC,oCAAqC,IACrC,kCAAmC,IACnC,wCAAyC,IACzC,qCAAsC,IACtC,kCAAmC,IACnC,+BAAgC,IAChC,yCAA0C,IAC1C,mCAAoC,IACpC,yCAA0C,IAC1C,oBAAqB,IACrB,mBAAoB,IACpB,oCAAqC,IACrC,qBAAsB,IACtB,uBAAwB,IACxB,sBAAuB,IACvB,uBAAwB,IACxB,oBAAqB,IACrB,wBAAyB,IACzB,oBAAqB,IACrB,sBAAuB,IACvB,wBAAyB,IACzB,uBAAwB,IACxB,qBAAsB,IACtB,sBAAuB,IACvB,uBAAwB,IACxB,oBAAqB,IACrB,kCAAmC,IACnC,qBAAsB,IACtB,iCAAkC,IAClC,qBAAsB,IACtB,mBAAoB,IACpB,uBAAwB,IACxB,yBAA0B,IAC1B,qBAAsB,IACtB,qBAAsB,IACtB,wBAAyB,IACzB,sBAAuB,IACvB,uBAAwB,IACxB,sBAAuB,IACvB,yBAA0B,IAC1B,0BAA2B,IAC3B,oBAAqB,IACrB,uBAAwB,IACxB,mCAAoC,IACpC,sBAAuB,IACvB,sBAAuB,IACvB,uBAAwB,IACxB,uBAAwB,IACxB,yBAA0B,IAC1B,qBAAsB,IACtB,sBAAuB,IACvB,oBAAqB,IACrB,uBAAwB,IACxB,4BAA6B,IAC7B,uBAAwB,IACxB,kBAAmB,IACnB,qBAAsB,IACtB,8BAA+B,IAC/B,sBAAuB,IACvB,qBAAsB,IACtB,qBAAsB,IACtB,uBAAwB,IACxB,+BAAgC,IAChC,wBAAyB,IACzB,oCAAqC,IACrC,qCAAsC,IACtC,uBAAwB,IACxB,qBAAsB,IACtB,sBAAuB,IACvB,uBAAwB,IACxB,uBAAwB,IACxB,yBAA0B,IAC1B,kCAAmC,IACnC,oBAAqB,IACrB,qBAAsB,IACtB,wBAAyB,IACzB,kBAAmB,IACnB,oBAAqB,IACrB,qBAAsB,IACtB,oBAAqB,IACrB,uBAAwB,IACxB,uBAAwB,IACxB,mBAAoB,IACpB,qBAAsB,IACtB,qBAAsB,IACtB,uBAAwB,IACxB,sBAAuB,IACvB,wBAAyB,IACzB,sBAAuB,IACvB,yBAA0B,IAC1B,sBAAuB,IACvB,4BAA6B,IAC7B,0BAA2B,IAC3B,2BAA4B,IAC5B,4BAA6B,IAC7B,+BAAgC,IAChC,mCAAoC,IACpC,mBAAoB,IACpB,mBAAoB,IACpB,wBAAyB,IACzB,kBAAmB,IACnB,sBAAuB,IACvB,sBAAuB,IACvB,wBAAyB,IACzB,0BAA2B,IAC3B,0BAA2B,IAC3B,mBAAoB,IACpB,kBAAmB,IACnB,oBAAqB,IACrB,qCAAsC,IACtC,oBAAqB,IACrB,uBAAwB,IACxB,4BAA6B,IAC7B,yBAA0B,IAC1B,gCAAiC,IACjC,yBAA0B,IAC1B,0BAA2B,IAC3B,0BAA2B,IAC3B,gCAAiC,IACjC,yBAA0B,IAC1B,oBAAqB,IACrB,oBAAqB,IACrB,sBAAuB,IACvB,2BAA4B,IAC5B,wBAAyB,IACzB,0BAA2B,IAC3B,uBAAwB,IACxB,yBAA0B,IAC1B,8BAA+B,IAC/B,qBAAsB,IACtB,oBAAqB,IACrB,wBAAyB,IACzB,yBAA0B,IAC1B,sBAAuB,IACvB,sBAAuB,IACvB,sBAAuB,IACvB,0BAA2B,IAC3B,sBAAuB,IACvB,sBAAuB,IACvB,2BAA4B,IAC5B,sBAAuB,IACvB,wBAAyB,IACzB,2BAA4B,IAC5B,qBAAsB,IACtB,sBAAuB,IACvB,uBAAwB,IACxB,qBAAsB,IACtB,uBAAwB,IACxB,uBAAwB,IACxB,oBAAqB,IACrB,oBAAqB,IACrB,qBAAsB,IACtB,qBAAsB,IACtB,qBAAsB,IACtB,mBAAoB,IACpB,sBAAuB,IACvB,uBAAwB,IACxB,sBAAuB,IACvB,uBAAwB,IACxB,kBAAmB,IACnB,qBAAsB,IACtB,0BAA2B,IAC3B,qBAAsB,IACtB,iBAAkB,IAClB,+BAAgC,IAChC,+BAAgC,IAChC,8BAA+B,IAC/B,+CAAgD,IAChD,gCAAiC,IACjC,kCAAmC,IACnC,iCAAkC,IAClC,kCAAmC,IACnC,+BAAgC,IAChC,mCAAoC,IACpC,+BAAgC,IAChC,iCAAkC,IAClC,mCAAoC,KACpC,kCAAmC,KACnC,gCAAiC,KACjC,iCAAkC,KAClC,kCAAmC,KACnC,+BAAgC,KAChC,6CAA8C,KAC9C,gCAAiC,KACjC,4CAA6C,KAC7C,gCAAiC,KACjC,8BAA+B,KAC/B,kCAAmC,KACnC,oCAAqC,KACrC,gCAAiC,KACjC,gCAAiC,KACjC,mCAAoC,KACpC,iCAAkC,KAClC,kCAAmC,KACnC,iCAAkC,KAClC,oCAAqC,KACrC,qCAAsC,KACtC,+BAAgC,KAChC,kCAAmC,KACnC,8CAA+C,KAC/C,iCAAkC,KAClC,iCAAkC,KAClC,kCAAmC,KACnC,kCAAmC,KACnC,oCAAqC,KACrC,gCAAiC,KACjC,iCAAkC,KAClC,+BAAgC,KAChC,kCAAmC,KACnC,uCAAwC,KACxC,kCAAmC,KACnC,6BAA8B,KAC9B,gCAAiC,KACjC,yCAA0C,KAC1C,iCAAkC,KAClC,gCAAiC,KACjC,gCAAiC,KACjC,kCAAmC,KACnC,0CAA2C,KAC3C,mCAAoC,KACpC,+CAAgD,KAChD,gDAAiD,KACjD,kCAAmC,KACnC,gCAAiC,KACjC,iCAAkC,KAClC,kCAAmC,KACnC,kCAAmC,KACnC,oCAAqC,KACrC,6CAA8C,KAC9C,+BAAgC,KAChC,gCAAiC,KACjC,mCAAoC,KACpC,6BAA8B,KAC9B,+BAAgC,KAChC,gCAAiC,KACjC,+BAAgC,KAChC,kCAAmC,KACnC,kCAAmC,KACnC,8BAA+B,KAC/B,gCAAiC,KACjC,gCAAiC,KACjC,kCAAmC,KACnC,iCAAkC,KAClC,mCAAoC,KACpC,iCAAkC,KAClC,oCAAqC,KACrC,iCAAkC,KAClC,uCAAwC,KACxC,qCAAsC,KACtC,sCAAuC,KACvC,uCAAwC,KACxC,0CAA2C,KAC3C,8CAA+C,KAC/C,8BAA+B,KAC/B,8BAA+B,KAC/B,mCAAoC,KACpC,6BAA8B,KAC9B,iCAAkC,KAClC,iCAAkC,KAClC,mCAAoC,KACpC,qCAAsC,KACtC,qCAAsC,KACtC,8BAA+B,KAC/B,6BAA8B,KAC9B,+BAAgC,KAChC,gDAAiD,KACjD,+BAAgC,KAChC,kCAAmC,KACnC,uCAAwC,KACxC,oCAAqC,KACrC,2CAA4C,KAC5C,oCAAqC,KACrC,qCAAsC,KACtC,qCAAsC,KACtC,2CAA4C,KAC5C,oCAAqC,KACrC,+BAAgC,KAChC,+BAAgC,KAChC,iCAAkC,KAClC,sCAAuC,KACvC,mCAAoC,KACpC,qCAAsC,KACtC,kCAAmC,KACnC,oCAAqC,KACrC,yCAA0C,KAC1C,gCAAiC,KACjC,+BAAgC,KAChC,mCAAoC,KACpC,oCAAqC,KACrC,iCAAkC,KAClC,iCAAkC,KAClC,iCAAkC,KAClC,qCAAsC,KACtC,iCAAkC,KAClC,iCAAkC,KAClC,sCAAuC,KACvC,iCAAkC,KAClC,mCAAoC,KACpC,sCAAuC,KACvC,gCAAiC,KACjC,iCAAkC,KAClC,kCAAmC,KACnC,gCAAiC,KACjC,kCAAmC,KACnC,kCAAmC,KACnC,+BAAgC,KAChC,+BAAgC,KAChC,gCAAiC,KACjC,gCAAiC,KACjC,gCAAiC,KACjC,8BAA+B,KAC/B,iCAAkC,KAClC,kCAAmC,KACnC,iCAAkC,KAClC,kCAAmC,KACnC,6BAA8B,KAC9B,gCAAiC,KACjC,qCAAsC,KACtC,gCAAiC,KACjC,4BAA6B,KAC7B,0CAA2C,KAC3C,aAAc,KACd,uBAAwB,MAIzB,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,GAE5B,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,EAEP,OAAOP,EAAIE,GAEZD,EAAehD,KAAO,WACrB,OAAOD,OAAOC,KAAK+C,IAEpBC,EAAeS,QAAUN,EACzBO,EAAOC,QAAUX,EACjBA,EAAeE,GAAK,K,qDC1apB,kPAoCY6P,EApCZ,SAEM4kC,EAAW,uBAEJ94B,EAAa,IAAI+4B,gBAEjB74B,EAAsB,eAE5B,SAASN,IACd,OAAOxX,aAAaK,QAAQqwC,GAGvB,SAASE,EAAankC,GACT+K,MACA/K,IAChBzM,aAAaC,QAAQywC,EAAUjkC,GAC/BmL,EAAWi5B,KAAK/4B,EAAqBrL,IAIlC,SAASqkC,IACIt5B,MAEhBxX,aAAauM,WAAWmkC,GACxB94B,EAAWi5B,KAAK/4B,EAAqB,OAIlC,SAASi5B,IACd,IAAMtkC,EAAQ+K,IACd,OAAK/K,EAGC,UAAN,OAAiBA,GAFR,M,SAKCX,O,qBAAAA,I,6BAAAA,I,cAAAA,M,yBCnCZrP,EAAOC,QAAU,CAAC,UAAY,mBAAmB,SAAW,kBAAkB,YAAc,qBAAqB,eAAiB,wBAAwB,aAAe,sBAAsB,cAAgB,uBAAuB,iBAAmB,0BAA0B,UAAY,mBAAmB,aAAe,sBAAsB,gBAAkB,yBAAyB,SAAW,kBAAkB,YAAc,qBAAqB,cAAgB,uBAAuB,SAAW,qB","file":"static/js/main.50e05a17.chunk.js","sourcesContent":["import {\n TopologyPDInfo,\n TopologyTiDBInfo,\n TopologyStoreInfo,\n} from '@lib/client'\nimport { IGroup } from 'office-ui-fabric-react/lib/DetailsList'\nimport _ from 'lodash'\nimport i18next from 'i18next'\n\nexport type InstanceKind = 'pd' | 'tidb' | 'tikv' | 'tiflash'\n\nexport const InstanceStatus = {\n Unreachable: 0,\n Up: 1,\n Tombstone: 2,\n Offline: 3,\n Down: 4,\n}\n\nexport const InstanceKindName: { [key in InstanceKind]: string } = {\n pd: i18next.t('distro.pd'),\n tidb: i18next.t('distro.tidb'),\n tikv: i18next.t('distro.tikv'),\n tiflash: i18next.t('distro.tiflash'),\n}\n\nexport const InstanceKinds = Object.keys(InstanceKindName) as InstanceKind[]\n\nexport interface IInstanceTableItem\n extends TopologyPDInfo,\n TopologyTiDBInfo,\n TopologyStoreInfo {\n key: string\n instanceKind: InstanceKind\n}\n\nexport interface IBuildInstanceTableProps {\n dataPD?: TopologyPDInfo[]\n dataTiDB?: TopologyTiDBInfo[]\n dataTiKV?: TopologyStoreInfo[]\n dataTiFlash?: TopologyStoreInfo[]\n includeTiFlash?: boolean\n}\n\nexport function buildInstanceTable({\n dataPD,\n dataTiDB,\n dataTiKV,\n dataTiFlash,\n includeTiFlash,\n}: IBuildInstanceTableProps): [IInstanceTableItem[], IGroup[]] {\n const tableData: IInstanceTableItem[] = []\n const groupData: IGroup[] = []\n let startIndex = 0\n\n const kinds: {\n [key in InstanceKind]?:\n | TopologyPDInfo[]\n | TopologyTiDBInfo[]\n | TopologyStoreInfo[]\n | undefined\n } = {}\n kinds.pd = dataPD\n kinds.tidb = dataTiDB\n kinds.tikv = dataTiKV\n if (includeTiFlash) {\n kinds.tiflash = dataTiFlash\n }\n\n for (const ik of InstanceKinds) {\n const instances = kinds[ik]\n if (!instances || instances.length === 0) {\n continue\n }\n groupData.push({\n key: ik,\n name: InstanceKindName[ik],\n startIndex: startIndex,\n count: instances.length,\n level: 0,\n })\n startIndex += instances.length\n instances.forEach((instance) => {\n const key = `${instance.ip}:${instance.port}`\n tableData.push({\n key: key,\n instanceKind: ik,\n ...instance,\n })\n })\n }\n return [tableData, groupData]\n}\n\nexport function filterInstanceTable(\n items: IInstanceTableItem[],\n filterKeyword: string\n): [IInstanceTableItem[], IGroup[]] {\n const tableData: IInstanceTableItem[] = []\n const groupData: IGroup[] = []\n let startIndex = 0\n\n const kw = filterKeyword.toLowerCase()\n const filteredItems = items.filter((i) => {\n if (filterKeyword.length === 0) {\n return true\n }\n return (\n i.key.toLowerCase().indexOf(kw) > -1 || i.instanceKind.indexOf(kw) > -1\n )\n })\n const itemsByIk = _.groupBy(filteredItems, 'instanceKind') as {\n [key in InstanceKind]: IInstanceTableItem[]\n }\n for (const ik of InstanceKinds) {\n const instances = itemsByIk[ik]\n if (!instances || instances.length === 0) {\n continue\n }\n groupData.push({\n key: ik,\n name: InstanceKindName[ik],\n startIndex: startIndex,\n count: instances.length,\n level: 0,\n })\n startIndex += instances.length\n instances.forEach((instance) => {\n tableData.push(instance)\n })\n }\n return [tableData, groupData]\n}\n","export const signInRoute = '/signin'\nexport const portalRoute = '/portal'\n\nexport function isLocationMatch(s, matchPrefix = false): boolean {\n let hash = window.location.hash\n if (!hash || hash === '#') {\n hash = '#/'\n }\n if (matchPrefix) {\n return hash.indexOf(`#${s}`) === 0\n } else {\n return hash.trim() === `#${s}`\n }\n}\n\nexport function isLocationMatchPrefix(s): boolean {\n return isLocationMatch(s, true)\n}\n\nexport function isSignInPage(): boolean {\n return isLocationMatchPrefix(signInRoute)\n}\n\nexport function isPortalPage(): boolean {\n return isLocationMatchPrefix(portalRoute)\n}\n\nexport function getPathInLocationHash(): string {\n const hash = window.location.hash\n const pos = hash.indexOf('?')\n if (pos === -1) {\n return hash\n }\n return hash.substring(0, pos)\n}\n","var map = {\n\t\"./en.yaml\": 1393,\n\t\"./zh.yaml\": 1394\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 = 1392;","module.exports = {\"user_profile\":{\"sso\":{\"title\":\"Single Sign-On (SSO)\",\"switch\":{\"label\":\"Enable to use SSO when sign into {{distro.tidb}} Dashboard\",\"extra\":\"OIDC based SSO is supported\"},\"form\":{\"client_id\":\"OIDC Client ID\",\"discovery_url\":\"OIDC Discovery URL\",\"is_read_only\":\"Sign in as read-only privilege\",\"user\":{\"label\":\"Impersonate SQL User\",\"extra\":\"The SSO signed-in user will be using {{distro.tidb}} Dashboard on behalf of this SQL user and shares its permissions.\",\"must_auth\":\"You must authorize to continue\",\"authn_button\":\"Authorize Impersonation\",\"modify_authn_button\":\"Modify Authorization\",\"authn_dialog\":{\"title\":\"Authorize Impersonation\",\"user\":\"SQL User to Impersonate\",\"password\":\"SQL User Password\",\"info\":\"The password of the SQL user will be stored encrypted. The impersonation will fail after SQL user changes the password.\",\"submit\":\"Authorize and Save\",\"close\":\"Cancel\"},\"authn_status\":{\"ok\":\"Authorized\",\"auth_failed\":\"Cannot impersonate: SQL user password is changed.\",\"insufficient_privileges\":\"Cannot impersonate: Has no sufficient privileges to accsss {{distro.tidb}} dashboard.\"}},\"update\":\"Update\",\"cancel\":\"Cancel\"}},\"service_endpoints\":{\"title\":\"Service Endpoints\",\"prometheus\":{\"title\":\"Prometheus Data Source\",\"form\":{\"deployed\":\"Use deployed address\",\"not_deployed\":\"Prometheus is not deployed\",\"custom\":\"Use customized address\",\"update\":\"Update\",\"cancel\":\"Cancel\"},\"custom_form\":{\"address\":\"Customize Prometheus Address\"}}},\"i18n\":{\"title\":\"Language & Localization\",\"language\":\"Language\"},\"session\":{\"title\":\"Session\",\"sign_out\":\"Sign Out\",\"share\":\"Share Current Session\",\"share_unavailable_tooltip\":\"Current session is not allowed to be shared\"},\"share_session\":{\"text\":\"You can invite others to access this {{distro.tidb}} Dashboard by sharing your current session via an **Authorization Code**:\\n- The Authorization Code can be used multiple times.\\n- The shared session will be invalidated after the expiry time you specified.\\n- The shared session has the same privilege as your current session.\\n\",\"warning\":\"Warning: Shared session will remain valid and cannot be revoked until it is expired. Keep the Authorization Code safe!\\n\",\"form\":{\"expire\":\"Expire in\",\"read_only\":\"Share as read-only privilege\",\"submit\":\"Generate Authorization Code\"},\"close\":\"Close\",\"success_dialog\":{\"title\":\"Authorization Code Generated\",\"copy\":\"Copy\",\"copied\":\"Copied\"}},\"version\":{\"title\":\"Version Information\",\"internal_version\":\"{{distro.tidb}} Dashboard Internal Version\",\"build_git_hash\":\"{{distro.tidb}} Dashboard Build Git Hash\",\"build_time\":\"{{distro.tidb}} Dashboard Build Time\",\"standalone\":\"{{distro.tidb}} Dashboard Run in Standalone Mode\",\"pd_version\":\"{{distro.pd}} Version\"}}}","module.exports = {\"user_profile\":{\"sso\":{\"title\":\"单点登录 (SSO)\",\"switch\":{\"label\":\"允许使用 SSO 登录到 {{distro.tidb}} Dashboard\",\"extra\":\"支持基于 OIDC 的 SSO 登录\"},\"form\":{\"client_id\":\"OIDC Client ID\",\"discovery_url\":\"OIDC Discovery URL\",\"is_read_only\":\"以只读权限登录\",\"user\":{\"label\":\"实际登录 SQL 用户\",\"extra\":\"SSO 登录成功后将被视为使用该 SQL 用户登录使用 {{distro.tidb}} Dashboard,并具有该用户对应的操作权限。\",\"must_auth\":\"必须完成授权后才能继续\",\"authn_button\":\"授权登录\",\"modify_authn_button\":\"修改授权\",\"authn_dialog\":{\"title\":\"SSO 登录授权\",\"user\":\"实际被登录的 SQL 用户\",\"password\":\"SQL 用户的登录密码\",\"info\":\"登录密码将被加密存储;在 SQL 用户修改密码后 SSO 登录将失败(可重新进行登录授权)。\",\"submit\":\"授权并保存\",\"close\":\"取消\"},\"authn_status\":{\"ok\":\"已授权\",\"auth_failed\":\"授权失败:SQL 用户密码已变更\",\"insufficient_privileges\":\"授权失败:缺少访问 {{distro.tidb}} Dashboard 所需的权限\"}},\"update\":\"更新\",\"cancel\":\"取消\"}},\"service_endpoints\":{\"title\":\"服务端点\",\"prometheus\":{\"title\":\"Prometheus 数据源\",\"form\":{\"deployed\":\"使用已部署的组件地址\",\"not_deployed\":\"未部署 Prometheus 组件\",\"custom\":\"使用自定义地址\",\"update\":\"更新\",\"cancel\":\"取消\"},\"custom_form\":{\"address\":\"自定义 Prometheus 数据源地址\"}}},\"i18n\":{\"title\":\"语言和本地化\",\"language\":\"语言\"},\"session\":{\"title\":\"会话\",\"sign_out\":\"登出\",\"share\":\"分享当前会话\",\"share_unavailable_tooltip\":\"当前会话被禁止分享\"},\"share_session\":{\"text\":\"您可以生成一个**授权码**来将您当前的会话分享给其他人、邀请他们使用该 {{distro.tidb}} Dashboard:\\n- 授权码可以被重复使用。\\n- 分享的会话将在您指定的有效时间后过期。\\n- 分享的会话和您当前会话具有相同权限。\\n\",\"warning\":\"警告:已分享的会话无法被提前注销,将保持有效直到有效时间过期,因此请妥善保管授权码。\\n\",\"form\":{\"expire\":\"有效时间\",\"read_only\":\"以只读权限分享\",\"submit\":\"生成授权码\"},\"close\":\"关闭\",\"success_dialog\":{\"title\":\"授权码已生成\",\"copy\":\"复制\",\"copied\":\"已复制\"}},\"version\":{\"title\":\"版本信息\",\"internal_version\":\"{{distro.tidb}} Dashboard 内部版本号\",\"build_git_hash\":\"{{distro.tidb}} Dashboard 编译 Git Hash\",\"build_time\":\"{{distro.tidb}} Dashboard 编译时间\",\"standalone\":\"{{distro.tidb}} Dashboard 运行于独立模式\",\"pd_version\":\"{{distro.pd}} 版本号\"}}}","var map = {\n\t\"./en.yaml\": 1396,\n\t\"./zh.yaml\": 1397\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 = 1395;","module.exports = {\"overview\":{\"nav_title\":\"Overview\",\"top_statements\":{\"title\":\"Top SQL Statements\"},\"recent_slow_query\":{\"title\":\"Recent Slow Queries\"},\"instances\":{\"title\":\"Alive Instances\"},\"monitor_alert\":{\"title\":\"Monitor & Alert\",\"view_monitor\":\"View Metrics\",\"view_monitor_warn\":\"Metrics unavailable\",\"view_alerts\":\"View {{alertCount}} Alerts\",\"view_zero_alerts\":\"View Alerts\",\"view_alerts_warn\":\"Alert unavailable\",\"run_diagnose\":\"Run Diagnostics\"},\"metrics\":{\"total_requests\":\"QPS\",\"latency\":\"Latency\"}}}","module.exports = {\"overview\":{\"nav_title\":\"概况\",\"top_statements\":{\"title\":\"Top SQL 语句\"},\"recent_slow_query\":{\"title\":\"最近慢查询\"},\"instances\":{\"title\":\"在线实例\"},\"monitor_alert\":{\"title\":\"监控和告警\",\"view_monitor\":\"查看监控\",\"view_monitor_warn\":\"监控不可用\",\"view_alerts\":\"查看 {{alertCount}} 条告警\",\"view_zero_alerts\":\"查看告警\",\"view_alerts_warn\":\"告警不可用\",\"run_diagnose\":\"运行诊断\"},\"metrics\":{\"total_requests\":\"QPS\",\"latency\":\"延迟\"}}}","var map = {\n\t\"./en.yaml\": 1399,\n\t\"./zh.yaml\": 1400\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 = 1398;","module.exports = {\"cluster_info\":{\"nav_title\":\"Cluster Info\",\"list\":{\"instance_table\":{\"title\":\"Instances\",\"columns\":{\"node\":\"Address\",\"version\":\"Version\",\"status\":\"Status\",\"up_time\":\"Up Time\",\"deploy_path\":\"Deployment Directory\",\"git_hash\":\"Git Hash\"},\"actions\":{\"hide_db\":{\"tooltip\":\"Hide\",\"confirm\":\"Do you want to hide this {{distro.tidb}} instance?\"}}},\"host_table\":{\"title\":\"Hosts\",\"columns\":{\"host\":\"Host Address\",\"cpu\":\"CPU\",\"cpu_arch\":\"CPU Arch\",\"cpu_usage\":\"CPU Usage\",\"memory\":\"Memory\",\"memory_usage\":\"Memory Usage\",\"instances\":\"Instances\"},\"instanceUnavailable\":\"Host information is unavailable due to instances on the host is down\"},\"disk_table\":{\"title\":\"Disks\",\"columns\":{\"host\":\"Host Address\",\"mount_dir\":\"Mount Directory\",\"fs\":\"File System\",\"disk_size\":\"Disk Capacity\",\"disk_usage\":\"Disk Usage\",\"instances\":\"Instances\"}},\"store_topology\":{\"title\":\"Store Topology\",\"tooltip\":\"You can also zoom in or out by pressing CTRL and scrolling mouse wheel\"},\"statistics\":{\"title\":\"Statistics\",\"summary_title\":\"Cluster Summary\",\"field\":{\"version\":\"Version\",\"instances\":\"# Instances\",\"hosts\":\"# Hosts that instances deployed\",\"memory_capacity\":\"Σ Memory capacity (of all hosts)\",\"physical_cores\":\"Σ CPU physical cores (of all hosts)\",\"logical_cores\":\"Σ CPU logical cores (of all hosts)\"},\"message\":{\"instance_down\":\"Some instances are down in {{n}} host(s) so that host related information may be inccurate.\",\"sub_statistics\":\"Sub-statistics below are counted by instance kinds. The sum of host metrics in sub-statistics can be larger \\\"Cluster Summary\\\" when different instances are deployed in the same host.\"}}},\"error\":{\"load\":\"Load component {{comp}} error: {{cause}}\"}}}","module.exports = {\"cluster_info\":{\"nav_title\":\"集群信息\",\"list\":{\"instance_table\":{\"title\":\"实例\",\"columns\":{\"node\":\"地址\",\"version\":\"版本\",\"status\":\"状态\",\"up_time\":\"启动时间\",\"deploy_path\":\"部署路径\",\"git_hash\":\"Git 哈希值\"},\"actions\":{\"hide_db\":{\"tooltip\":\"隐藏\",\"confirm\":\"您确认要隐藏该 {{distro.tidb}} 实例吗?\"}}},\"host_table\":{\"title\":\"主机\",\"columns\":{\"host\":\"主机地址\",\"cpu\":\"CPU\",\"cpu_arch\":\"CPU 架构\",\"cpu_usage\":\"CPU 使用率\",\"memory\":\"物理内存\",\"memory_usage\":\"内存使用率\",\"instances\":\"实例\"},\"instanceUnavailable\":\"由于该主机上没有实例存活,因此无法获取主机信息\"},\"disk_table\":{\"title\":\"磁盘\",\"columns\":{\"host\":\"主机地址\",\"mount_dir\":\"磁盘挂载点\",\"fs\":\"文件系统\",\"disk_size\":\"磁盘容量\",\"disk_usage\":\"磁盘使用率\",\"instances\":\"实例\"}},\"store_topology\":{\"title\":\"存储拓扑\",\"tooltip\":\"按住 Ctrl 键并滑动鼠标滚轮也可以缩放\"},\"statistics\":{\"title\":\"统计\",\"summary_title\":\"集群总计\",\"field\":{\"version\":\"版本\",\"instances\":\"总实例数量\",\"hosts\":\"实例部署的总机器数量\",\"memory_capacity\":\"内存总量总和 (按实例部署的机器计算)\",\"physical_cores\":\"CPU 物理核心数总和 (按实例部署的机器计算)\",\"logical_cores\":\"CPU 逻辑核心数总和 (按实例部署的机器计算)\"},\"message\":{\"instance_down\":\"由于有 {{n}} 台机器上的所有实例都未启动或无法访问,因此统计中关于机器的指标可能会不准确。\",\"sub_statistics\":\"子统计按不同实例类型分别计算。当一个机器上部署了不同类型实例时,以下子统计的机器指标累加起来会超过“集群总计”数量。\"}}},\"error\":{\"load\":\"加载组件 {{comp}} 失败: {{cause}}\"}}}","var map = {\n\t\"./en.yaml\": 1402,\n\t\"./zh.yaml\": 1403\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 = 1401;","module.exports = {\"keyviz\":{\"nav_title\":\"Key Visualizer\",\"toolbar\":{\"brightness\":\"Brightness\",\"zoom\":{\"select\":\"Select & Zoom\",\"reset\":\"Reset\"},\"refresh\":\"Refresh\",\"auto_refresh\":{\"title\":\"Auto Refresh\",\"off\":\"Off\"},\"view_type\":{\"read_bytes\":\"Read (bytes)\",\"write_bytes\":\"Write (bytes)\",\"read_keys\":\"Read (keys)\",\"write_keys\":\"Write (keys)\",\"all\":\"All\"}},\"settings\":{\"title\":\"Settings\",\"disabled_result\":{\"title\":\"Feature Not Enabled\",\"sub_title\":\"Key Visualizer feature is not enabled so that visual reports cannot be viewed.\\nYou can modify settings to enable the feature and wait for new data being collected.\\n\"},\"open_setting\":\"Open Settings\",\"close_keyviz\":\"Disable Key Visualizer Feature\",\"close_keyviz_warning\":\"Are you sure want to disable this feature? Current visual reports will be cleared.\",\"switch\":\"Enable Feature\",\"switch_tooltip\":\"Whether Key Visualizer feature is enabled. When enabled, there will be small overhead.\",\"policy\":\"Policy\",\"policy_db\":\"{{distro.tidb}}\",\"policy_kv\":\"Raw KV\",\"separator\":\"Separator\",\"separator_placeholder\":\"The separator used to split Key\",\"separator_empty_warning\":\"If left blank, Key will not be split\",\"actions\":{\"save\":\"Save\",\"close\":\"Disable\",\"cancel\":\"Cancel\"}}}}","module.exports = {\"keyviz\":{\"nav_title\":\"流量可视化\",\"toolbar\":{\"brightness\":\"调整亮度\",\"zoom\":{\"select\":\"框选\",\"reset\":\"重置\"},\"refresh\":\"刷新\",\"auto_refresh\":{\"title\":\"自动刷新\",\"off\":\"关闭\"},\"view_type\":{\"read_bytes\":\"读取字节量\",\"write_bytes\":\"写入字节量\",\"read_keys\":\"读取次数\",\"write_keys\":\"写入次数\",\"all\":\"所有\"}},\"settings\":{\"title\":\"设置\",\"disabled_result\":{\"title\":\"该功能未启用\",\"sub_title\":\"流量可视化功能未启用,因此无法查看可视化报告。\\n您可以修改设置打开该功能后等待新数据收集。\\n\"},\"open_setting\":\"打开设置\",\"close_keyviz\":\"关闭流量可视化功能\",\"close_keyviz_warning\":\"确认要关闭该功能吗?关闭后现有历史记录也将被清空!\",\"switch\":\"启用功能\",\"switch_tooltip\":\"是否启用流量可视化功能,关闭后将不能使用流量可视化功能,但能减少一些 {{distro.pd}} 的 CPU 资源开销。\",\"policy\":\"模式\",\"policy_db\":\"{{distro.tidb}}\",\"policy_kv\":\"原生 KV\",\"separator\":\"分隔符\",\"separator_placeholder\":\"用于切分 Key 的分隔符\",\"separator_empty_warning\":\"分隔符为空串时,Key 将不会被切分\",\"actions\":{\"save\":\"保存\",\"close\":\"确认\",\"cancel\":\"取消\"}}}}","var map = {\n\t\"./en.yaml\": 1405,\n\t\"./zh.yaml\": 1406\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 = 1404;","module.exports = {\"statement\":{\"nav_title\":\"SQL Statements\",\"pages\":{\"detail\":{\"head\":{\"back\":\"List\",\"title\":\"Statement Information\"},\"desc\":{\"time_range\":\"Selected Time Range\",\"plans\":{\"note\":\"There are multiple execution plans for this kind of SQL statement. You can choose to view one or multiple of them.\",\"title\":{\"one_for_all\":\"Execution Detail\",\"all\":\"Execution Detail of All Plans\",\"some\":\"Execution Detail of Selected {{n}} Plans\"}}},\"tabs\":{\"basic\":\"Basic\",\"time\":\"Time\",\"copr\":\"Coprocessor Read\",\"txn\":\"Transaction\",\"slow_query\":\"Slow Query\"}},\"overview\":{\"toolbar\":{\"schemas\":{\"placeholder\":\"All Databases\",\"selected\":\"{{ n }} Databases\",\"columnTitle\":\"Database Name\"},\"statement_types\":{\"placeholder\":\"All Kinds\",\"selected\":\"{{ n }} Kinds\",\"columnTitle\":\"Statement Kind\"},\"select_columns\":{\"show_full_sql\":\"Show Full Query Text\"},\"refresh\":\"Refresh\",\"refresh_outdated\":\"This list is outdated. To see latest data, click \\\"Refresh\\\".\",\"time_range_selector\":{\"name\":\"Select Time Range\",\"recent\":\"Recent\",\"usual_time_ranges\":\"Common\",\"custom_time_ranges\":\"Custom\"},\"export\":\"Export\",\"exporting\":\"Exporting\"}}},\"settings\":{\"title\":\"Settings\",\"disabled_result\":{\"title\":\"Feature Not Enabled\",\"sub_title\":\"Statement feature is not enabled so that statement history cannot be viewed.\\nYou can modify settings to enable the feature and wait for new data being collected.\\n\"},\"open_setting\":\"Open Settings\",\"close_statement\":\"Disable Statement Feature\",\"close_statement_warning\":\"Are you sure want to disable this feature? Current statement history will be cleared.\",\"switch\":\"Enable Feature\",\"switch_tooltip\":\"Whether Statement feature is enabled. When enabled, there will be a small SQL statement execution overhead.\",\"max_size\":\"Max # Statement\",\"max_size_tooltip\":\"Max number of statement to collect. After exceeding, old statement information will be dropped. You may enlarge this setting when memory is sufficient and you discovered that data displayed in UI is incomplete.\",\"refresh_interval\":\"Window Size (min)\",\"refresh_interval_tooltip\":\"By reducing this setting you can select time range more precisely.\",\"history_size\":\"# Windows\",\"history_size_tooltip\":\"By enlarging this setting more statement history will be preserved, with larger memory cost.\",\"keep_duration\":\"SQL Statement History Size\",\"keep_duration_tooltip\":\"Window Size × Number of Windows\",\"internal_query\":\"Collect Internal Queries\",\"internal_query_tooltip\":\"After enabled, {{distro.tidb}} internal queries will be collected as well.\",\"actions\":{\"save\":\"Save\",\"close\":\"Disable\",\"cancel\":\"Cancel\"}},\"fields\":{\"table_names\":\"Table Names\",\"related_schemas\":\"Database\",\"related_schemas_tooltip\":\"Related databases of the statement\",\"plan_digest\":\"Plan ID\",\"plan_digest_tooltip\":\"Different execution plans have different plan ID\",\"digest_text\":\"Statement Template\",\"digest_text_tooltip\":\"Similar queries have same statement template even for different query parameters\",\"sum_latency\":\"Total Latency\",\"sum_latency_tooltip\":\"Total execution time for this kind of statement\",\"exec_count\":\"# Exec\",\"exec_count_tooltip\":\"Total execution count for this kind of statement\",\"plan_count\":\"# Plans\",\"plan_count_tooltip\":\"Number of distinct execution plans of this statement in current time range\",\"avg_latency\":\"Mean Latency\",\"avg_latency_tooltip\":\"Execution time of single query\",\"avg_mem\":\"Mean Memory\",\"avg_mem_tooltip\":\"Memory usage of single query\",\"max_mem\":\"Max Memory\",\"max_mem_tooltip\":\"Maximum memory usage of single query\",\"avg_disk\":\"Mean Disk\",\"avg_disk_tooltip\":\"Disk usage of single query\",\"max_disk\":\"Max Disk\",\"max_disk_tooltip\":\"Maximum disk usage of single query\",\"index_names\":\"Index Name\",\"index_names_tooltip\":\"The name of the used index\",\"first_seen\":\"First Seen\",\"last_seen\":\"Last Seen\",\"sample_user\":\"Execution User\",\"sample_user_tooltip\":\"The user that executes the query (sampled)\",\"sum_errors\":\"Total Errors\",\"sum_warnings\":\"Total Warnings\",\"errors_warnings\":\"Errors / Warnings\",\"errors_warnings_tooltip\":\"Total Errors and Total Warnings\",\"parse_latency\":\"Parse Time\",\"parse_latency_tooltip\":\"Time consumed when parsing the query\",\"compile_latency\":\"Compile\",\"compile_latency_tooltip\":\"Time consumed when optimizing the query\",\"wait_time\":\"Coprocessor Wait Time\",\"process_time\":\"Coprocessor Execution Time\",\"total_process_time\":\"Total Execution Time\",\"total_wait_time\":\"Total Wait Time\",\"backoff_time\":\"Backoff Retry Time\",\"backoff_time_tooltip\":\"The waiting time before retry when a query encounters errors that require a retry\",\"get_commit_ts_time\":\"Get Commit Ts Time\",\"local_latch_wait_time\":\"Local Latch Wait Time\",\"resolve_lock_time\":\"Resolve Lock Time\",\"prewrite_time\":\"Prewrite Time\",\"commit_time\":\"Commit Time\",\"commit_backoff_time\":\"Commit Backoff Retry Time\",\"latency\":\"Query\",\"query_time2\":\"Query Time\",\"query_time2_tooltip\":\"The execution time of a query (due to the parallel execution, it may be significantly smaller than the above time)\",\"sum_cop_task_num\":\"Total Coprocessor Tasks\",\"avg_processed_keys\":\"Mean Visible Versions Per Query\",\"max_processed_keys\":\"Max Visible Versions Per Query\",\"avg_total_keys\":\"Mean Meet Versions Per Query\",\"avg_total_keys_tooltip\":\"Meet versions contains overwritten or deleted versions\",\"max_total_keys\":\"Max Meet Versions Per Query\",\"avg_affected_rows\":\"Mean Affected Rows\",\"sum_backoff_times\":\"Total Backoff Count\",\"avg_write_keys\":\"Mean Written Keys\",\"max_write_keys\":\"Max Written Keys\",\"avg_write_size\":\"Mean Written Data Size\",\"max_write_size\":\"Max Written Data Size\",\"avg_prewrite_regions\":\"Mean Prewrite Regions\",\"max_prewrite_regions\":\"Max Prewrite Regions\",\"avg_txn_retry\":\"Mean Transaction Retries\",\"max_txn_retry\":\"Max Transaction Retries\",\"digest\":\"Query Template ID\",\"digest_tooltip\":\"a.k.a. Query digest\",\"schema_name\":\"Execution Database\",\"schema_name_tooltip\":\"The database used to execute the query\",\"query_sample_text\":\"Query Sample\",\"prev_sample_text\":\"Previous Query Sample\",\"plan\":\"Execution Plan\",\"avg_rocksdb_delete_skipped_count\":\"Mean RocksDB Skipped Deletions\",\"avg_rocksdb_delete_skipped_count_tooltip\":\"Total number of deleted (a.k.a. tombstone) key versions that are skipped during iteration (RocksDB delete_skipped_count)\",\"max_rocksdb_delete_skipped_count\":\"Max RocksDB Skipped Deletions\",\"avg_rocksdb_key_skipped_count\":\"Mean RocksDB Skipped Keys\",\"avg_rocksdb_key_skipped_count_tooltip\":\"Total number of keys skipped during iteration (RocksDB key_skipped_count)\",\"max_rocksdb_key_skipped_count\":\"Max RocksDB Skipped Keys\",\"avg_rocksdb_block_cache_hit_count\":\"Mean RocksDB Block Cache Hits\",\"avg_rocksdb_block_cache_hit_count_tooltip\":\"Total number of hits from the block cache (RocksDB block_cache_hit_count)\",\"max_rocksdb_block_cache_hit_count\":\"Max RocksDB Block Cache Hits\",\"avg_rocksdb_block_read_count\":\"Mean RocksDB Block Reads\",\"avg_rocksdb_block_read_count_tooltip\":\"Total number of blocks RocksDB read from file (RocksDB block_read_count)\",\"max_rocksdb_block_read_count\":\"Max RocksDB Block Reads\",\"avg_rocksdb_block_read_byte\":\"Mean RocksDB FS Read Size\",\"avg_rocksdb_block_read_byte_tooltip\":\"Total number of bytes RocksDB read from file (RocksDB block_read_byte)\",\"max_rocksdb_block_read_byte\":\"Max RocksDB FS Read Size\"}}}","module.exports = {\"statement\":{\"nav_title\":\"SQL 语句分析\",\"pages\":{\"detail\":{\"head\":{\"back\":\"返回列表\",\"title\":\"SQL 语句信息\"},\"desc\":{\"time_range\":\"时间范围\",\"plans\":{\"note\":\"该 SQL 模板在选定的时间范围内有多个执行计划,您可以选择查看其中一个或多个执行计划。\",\"title\":{\"one_for_all\":\"执行详情\",\"all\":\"所有执行计划的执行详情\",\"some\":\"{{n}} 个执行计划的执行详情\"}}},\"tabs\":{\"basic\":\"基本信息\",\"time\":\"执行时间\",\"copr\":\"Coprocessor 读取\",\"txn\":\"事务\",\"slow_query\":\"慢查询\"}},\"overview\":{\"toolbar\":{\"schemas\":{\"placeholder\":\"所有数据库\",\"selected\":\"{{ n }} 数据库\",\"columnTitle\":\"数据库名\"},\"statement_types\":{\"placeholder\":\"所有类型\",\"selected\":\"{{ n }} 类型\",\"columnTitle\":\"SQL 语句类型\"},\"select_columns\":{\"show_full_sql\":\"显示完整 SQL 文本\"},\"refresh\":\"刷新\",\"refresh_outdated\":\"列表数据已非最近数据,刷新以查看最新数据\",\"time_range_selector\":{\"name\":\"选择时间段\",\"recent\":\"最近\",\"usual_time_ranges\":\"常用时间范围\",\"custom_time_ranges\":\"自定义时间范围\"},\"export\":\"导出\",\"exporting\":\"正在导出\"}}},\"settings\":{\"title\":\"设置\",\"disabled_result\":{\"title\":\"该功能未启用\",\"sub_title\":\"SQL 语句分析功能未启用,因此无法查看历史记录。\\n您可以修改设置打开该功能后等待新数据收集。\\n\"},\"open_setting\":\"打开设置\",\"close_statement\":\"关闭 SQL 语句分析功能\",\"close_statement_warning\":\"确认要关闭该功能吗?关闭后现有历史记录也将被清空!\",\"switch\":\"启用功能\",\"switch_tooltip\":\"是否启用 SQL 语句分析功能,关闭后将不能使用 SQL 语句分析功能,但能提升少量 {{distro.tidb}} 性能。\",\"max_size\":\"最大收集 SQL 语句个数\",\"max_size_tooltip\":\"收集的 SQL 语句个数上限,当实际执行的 SQL 语句种类超过设定个数后最早执行的 SQL 语句信息将被丢弃。若您发现界面上呈现的 SQL 语句信息不完整,建议在内存允许的情况下调大本参数。\",\"refresh_interval\":\"时间窗大小 (min)\",\"refresh_interval_tooltip\":\"缩小时间窗大小可以使得选择的时间范围更精细。\",\"history_size\":\"时间窗个数\",\"history_size_tooltip\":\"扩大时间窗个数可以保留更长时间的执行历史,但也会引入更大的内存开销。\",\"keep_duration\":\"SQL 语句历史保留时长\",\"keep_duration_tooltip\":\"时间窗大小 × 时间窗个数\",\"internal_query\":\"收集内部查询\",\"internal_query_tooltip\":\"开启后 {{distro.tidb}} 内部执行的 SQL 语句信息也将被收集。\",\"actions\":{\"save\":\"保存\",\"close\":\"确认\",\"cancel\":\"取消\"}},\"fields\":{\"related_schemas\":\"数据库\",\"related_schemas_tooltip\":\"SQL 语句涉及的数据库\",\"plan_digest\":\"执行计划 ID\",\"plan_digest_tooltip\":\"不同的执行计划有不同的 ID\",\"digest_text\":\"SQL 模板\",\"digest_text_tooltip\":\"相似的 SQL 查询即使查询参数不一样也具有相同的 SQL 模板\",\"sum_latency\":\"累计耗时\",\"sum_latency_tooltip\":\"该类 SQL 语句在时间段内的累计执行时间\",\"exec_count\":\"执行次数\",\"exec_count_tooltip\":\"该类 SQL 语句在时间段内被执行的总次数\",\"plan_count\":\"计划数\",\"plan_count_tooltip\":\"该类 SQL 语句在时间段内的不同执行计划数量\",\"avg_latency\":\"平均耗时\",\"avg_latency_tooltip\":\"单条 SQL 查询的执行时间\",\"avg_mem\":\"平均内存\",\"avg_mem_tooltip\":\"单条 SQL 查询的消耗内存大小\",\"max_mem\":\"最大内存\",\"max_mem_tooltip\":\"最大单条 SQL 查询消耗内存大小\",\"avg_disk\":\"平均磁盘空间\",\"avg_disk_tooltip\":\"单条 SQL 查询占用的磁盘空间大小\",\"max_disk\":\"最大磁盘空间\",\"max_disk_tooltip\":\"最大单条 SQL 查询占用的磁盘空间大小\",\"table_names\":\"表名\",\"index_names\":\"索引名\",\"index_names_tooltip\":\"SQL 执行时使用的索引名称\",\"first_seen\":\"首次出现时间\",\"last_seen\":\"最后出现时间\",\"sample_user\":\"执行用户名\",\"sample_user_tooltip\":\"执行该类 SQL 的用户名,可能存在多个执行用户,仅显示其中某一个\",\"sum_errors\":\"累计 Error 个数\",\"sum_warnings\":\"累计 Warning 个数\",\"errors_warnings\":\"错误 / 警告\",\"errors_warnings_tooltip\":\"累计错误和警告个数\",\"parse_latency\":\"解析耗时\",\"parse_latency_tooltip\":\"解析 SQL 查询的耗时\",\"compile_latency\":\"优化耗时\",\"compile_latency_tooltip\":\"编译并优化 SQL 查询的耗时\",\"wait_time\":\"Coprocessor 等待耗时\",\"wait_time_tooltip\":\"SQL 查询在 {{distro.tikv}} Coprocessor 上被等待执行的耗时,单个 SQL 查询所有 Coprocessor 任务累计后计算\",\"process_time\":\"Coprocessor 执行耗时\",\"process_time_tooltip\":\"SQL 查询在 {{distro.tikv}} Coprocessor 上的执行耗时,单个 SQL 查询所有 Coprocessor 任务累计后计算\",\"total_process_time\":\"所有执行耗时\",\"total_wait_time\":\"所有等待耗时\",\"backoff_time\":\"重试等待耗时\",\"backoff_time_tooltip\":\"单个 SQL 查询所有重试累计后计算\",\"get_commit_ts_time\":\"取 Commit Ts 耗时\",\"get_commit_ts_time_tooltip\":\"从 {{distro.pd}} 取递交时间戳(事务号)步骤的耗时\",\"local_latch_wait_time\":\"Local Latch Wait 耗时\",\"local_latch_wait_time_tooltip\":\"事务在 {{distro.tidb}} 本地与其他事务产生了锁冲突并等待的耗时\",\"resolve_lock_time\":\"Resolve Lock 耗时\",\"resolve_lock_time_tooltip\":\"事务在 {{distro.tikv}} 与其他事务产生了锁冲突并处理锁冲突的耗时\",\"prewrite_time\":\"Prewrite 阶段耗时\",\"commit_time\":\"Commit 阶段耗时\",\"commit_backoff_time\":\"Commit 重试等待耗时\",\"latency\":\"执行耗时\",\"query_time2\":\"SQL 执行时间\",\"query_time2_tooltip\":\"由于存在并行执行,因此 SQL 执行时间可能远小于上述各项时间\",\"sum_cop_task_num\":\"累计 Coprocessor 请求数\",\"sum_cop_task_num_tooltip\":\"时间段内该类 SQL 语句累计发送的 Coprocessor 请求数\",\"avg_processed_keys\":\"单 SQL 查询平均可见版本数\",\"max_processed_keys\":\"单 SQL 查询最大可见版本数\",\"avg_total_keys\":\"单 SQL 查询平均遇到版本数\",\"avg_total_keys_tooltip\":\"含已删除或覆盖但未 GC 的版本\",\"max_total_keys\":\"单 SQL 查询最大遇到版本数\",\"avg_affected_rows\":\"平均影响行数\",\"sum_backoff_times\":\"累计重试次数\",\"sum_backoff_times_tooltip\":\"这类 SQL 语句遇到需要重试的错误后的总重试次数\",\"avg_write_keys\":\"平均写入 Key 个数\",\"max_write_keys\":\"最大写入 Key 个数\",\"avg_write_size\":\"平均写入数据量\",\"max_write_size\":\"最大写入数据量\",\"avg_prewrite_regions\":\"Prewrite 平均涉及 Region 个数\",\"max_prewrite_regions\":\"Prewrite 最大涉及 Region 个数\",\"avg_txn_retry\":\"事务平均重试次数\",\"max_txn_retry\":\"事务最大重试次数\",\"digest\":\"SQL 模板 ID\",\"digest_tooltip\":\"SQL 模板的唯一标识(SQL 指纹)\",\"schema_name\":\"执行数据库\",\"schema_name_tooltip\":\"执行该 SQL 查询时使用的数据库名称\",\"query_sample_text\":\"SQL 查询样例\",\"prev_sample_text\":\"前一条 SQL 查询样例\",\"prev_sample_text_tooltip\":\"一般来说你可能只需要看 COMMIT 语句的前一条 SQL 查询\",\"plan\":\"执行计划\",\"avg_rocksdb_delete_skipped_count\":\"RocksDB 已删除 Key 平均扫描数\",\"avg_rocksdb_delete_skipped_count_tooltip\":\"RocksDB 扫数据时遇到的已删除 (tombstone) Key 数量 (delete_skipped_count)\",\"max_rocksdb_delete_skipped_count\":\"RocksDB 已删除 Key 最大扫描数\",\"avg_rocksdb_key_skipped_count\":\"RocksDB Key 平均扫描数\",\"avg_rocksdb_key_skipped_count_tooltip\":\"RocksDB 扫数据时所有遇到的 Key 数量 (key_skipped_count)\",\"max_rocksdb_key_skipped_count\":\"RocksDB Key 最大扫描数\",\"avg_rocksdb_block_cache_hit_count\":\"RocksDB 缓存平均读次数\",\"avg_rocksdb_block_cache_hit_count_tooltip\":\"RocksDB 从 Block Cache 缓存中读数据的次数 (block_cache_hit_count)\",\"max_rocksdb_block_cache_hit_count\":\"RocksDB 缓存最大读次数\",\"avg_rocksdb_block_read_count\":\"RocksDB 文件系统平均读次数\",\"avg_rocksdb_block_read_count_tooltip\":\"RocksDB 从文件系统中读数据的次数 (block_read_count)\",\"max_rocksdb_block_read_count\":\"RocksDB 文件系统最大读次数\",\"avg_rocksdb_block_read_byte\":\"RocksDB 文件系统平均读数据量\",\"avg_rocksdb_block_read_byte_tooltip\":\"RocksDB 从文件系统中读数据的数据量 (block_read_byte)\",\"max_rocksdb_block_read_byte\":\"RocksDB 文件系统最大读数据量\"}}}","var map = {\n\t\"./en.yaml\": 1408,\n\t\"./zh.yaml\": 1409\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 = 1407;","module.exports = {\"slow_query\":{\"nav_title\":\"Slow Queries\",\"fields\":{\"instance\":\"{{distro.tidb}} Instance\",\"instance_tooltip\":\"The {{distro.tidb}} address that handles the query\",\"connection_id\":\"Connection ID\",\"connection_id_tooltip\":\"Unique connection ID of the query\",\"sql\":\"Query\",\"query\":\"Query\",\"timestamp\":\"Finish Time\",\"timestamp_tooltip\":\"The time this query finished execution\",\"query_time\":\"Latency\",\"query_time_tooltip\":\"Execution time of the query\",\"memory_max\":\"Max Memory\",\"memory_max_tooltip\":\"Maximum memory usage of the query\",\"disk_max\":\"Max Disk\",\"disk_max_tooltip\":\"Maximum disk usage of the query\",\"digest\":\"Query Template ID\",\"digest_tooltip\":\"a.k.a. Query digest\",\"is_internal\":\"Is Internal?\",\"is_internal_tooltip\":\"Whether this is an internal query\",\"is_success\":\"Is Success?\",\"is_success_tooltip\":\"Whether query is executed successfully\",\"result\":\"Result\",\"result_tooltip\":\"Whether query is executed successfully\",\"index_names\":\"Index Names\",\"index_names_tooltip\":\"The name of the used index\",\"stats\":\"Used Statistics\",\"backoff_types\":\"Backoff Types\",\"user\":\"Execution User\",\"user_tooltip\":\"The user that executes the query\",\"host\":\"Client Address\",\"host_tooltip\":\"The address of the client that sends the query\",\"db\":\"Execution Database\",\"db_tooltip\":\"The database used to execute the query\",\"query_time2\":\"Query Time\",\"query_time2_tooltip\":\"The elapsed wall time when execution the query\",\"parse_time\":\"Parse Time\",\"parse_time_tooltip\":\"Time consumed when parsing the query\",\"compile_time\":\"Generate Plan Time\",\"rewrite_time\":\"Rewrite Plan Time\",\"preproc_subqueries_time\":\"Preprocess Sub-Query Time\",\"preproc_subqueries_time_tooltip\":\"Time consumed when pre-processing the subquery during the rewrite plan phase\",\"optimize_time\":\"Optimize Plan Time\",\"wait_ts\":\"Get Start Ts Time\",\"wait_ts_tooltip\":\"Time consumed when getting a start timestamp when transaction begins\",\"cop_time\":\"Coprocessor Executor Time\",\"cop_time_tooltip\":\"The elapsed wall time when {{distro.tidb}} Coprocessor executor waiting all Coprocessor requests to finish (note: when there are JOIN in SQL statement, multiple {{distro.tidb}} Coprocessor executors may be running in parallel, which may cause this time not being a wall time)\",\"wait_time\":\"Coprocessor Wait Time\",\"wait_time_tooltip\":\"The total time of Coprocessor request is prepared and wait to execute in {{distro.tikv}}, which may happen when retrieving a snapshot though Raft concensus protocol (note: {{distro.tikv}} waits requests in parallel so that this is not a wall time)\",\"process_time\":\"Coprocessor Process Time\",\"process_time_tooltip\":\"The total time of Coprocessor request being executed in {{distro.tikv}} (note: {{distro.tikv}} executes requests in parallel so that this is not a wall time)\",\"backoff_time\":\"Execution Backoff Time\",\"backoff_time_tooltip\":\"The total backoff waiting time before retry when a query encounters errors (note: there may be multiple backoffs in parallel so that this may not be a wall time)\",\"lock_keys_time\":\"Lock Keys Time\",\"lock_keys_time_tooltip\":\"Time consumed when locking keys in pessimistic transaction\",\"get_commit_ts_time\":\"Get Commit Ts Time\",\"get_commit_ts_time_tooltip\":\"Time consumed when getting a commit timestamp for 2PC commit phase when transaction commits\",\"local_latch_wait_time\":\"Local Latch Wait Time\",\"local_latch_wait_time_tooltip\":\"Time consumed when {{distro.tidb}} waits for the lock in the current {{distro.tidb}} instance before 2PC commit phase when transaction commits\",\"resolve_lock_time\":\"Resolve Lock Time\",\"resolve_lock_time_tooltip\":\"Time consumed when {{distro.tidb}} resolves locks from other transactions in 2PC prewrite phase when transaction commits\",\"prewrite_time\":\"Prewrite Time\",\"prewrite_time_tooltip\":\"Time consumed in 2PC prewrite phase when transaction commits\",\"wait_prewrite_binlog_time\":\"Wait Binlog Prewrite Time\",\"wait_prewrite_binlog_time_tooltip\":\"Time consumed when waiting Binlog prewrite to finish\",\"commit_time\":\"Commit Time\",\"commit_time_tooltip\":\"Time consumed in 2PC commit phase when transaction commits\",\"commit_backoff_time\":\"Commit Backoff Time\",\"commit_backoff_time_tooltip\":\"The total backoff waiting time when 2PC commit encounters errors (note: there may be multiple backoffs in parallel so that this may not be a wall time)\",\"write_sql_response_total\":\"Send response Time\",\"write_sql_response_total_tooltip\":\"Time consumed when sending response to the SQL client\",\"exec_retry_time\":\"Retried execution Time\",\"exec_retry_time_tooltip\":\"Wall time consumed when SQL statement is retried and executed again, except for the last exection\",\"request_count\":\"Request Count\",\"process_keys\":\"Process Keys\",\"total_keys\":\"Total Keys\",\"cop_proc_addr\":\"Copr Address (Process)\",\"cop_proc_addr_tooltip\":\"The address of the {{distro.tikv}} that takes most time process the Coprocessor request\",\"cop_wait_addr\":\"Copr Address (Wait)\",\"cop_wait_addr_tooltip\":\"The address of the {{distro.tikv}} that takes most time wait the Coprocessor request\",\"txn_start_ts\":\"Start Timestamp\",\"txn_start_ts_tooltip\":\"Transaction start timestamp, a.k.a. Transaction ID\",\"write_keys\":\"Write Keys\",\"write_size\":\"Write Size\",\"prewrite_region\":\"Prewrite Regions\",\"txn_retry\":\"Transaction Retries\",\"prev_stmt\":\"Previous Query\",\"plan\":\"Execution Plan\",\"cop_proc_avg\":\"Mean Cop Proc\",\"cop_wait_avg\":\"Mean Cop Wait\",\"rocksdb_delete_skipped_count\":\"RocksDB Skipped Deletions\",\"rocksdb_delete_skipped_count_tooltip\":\"Total number of deleted (a.k.a. tombstone) key versions that are skipped during iteration (RocksDB delete_skipped_count)\",\"rocksdb_key_skipped_count\":\"RocksDB Skipped Keys\",\"rocksdb_key_skipped_count_tooltip\":\"Total number of keys skipped during iteration (RocksDB key_skipped_count)\",\"rocksdb_block_cache_hit_count\":\"RocksDB Block Cache Hits\",\"rocksdb_block_cache_hit_count_tooltip\":\"Total number of hits from the block cache (RocksDB block_cache_hit_count)\",\"rocksdb_block_read_count\":\"RocksDB Block Reads\",\"rocksdb_block_read_count_tooltip\":\"Total number of blocks RocksDB read from file (RocksDB block_read_count)\",\"rocksdb_block_read_byte\":\"RocksDB Read Size\",\"rocksdb_block_read_byte_tooltip\":\"Total number of bytes RocksDB read from file (RocksDB block_read_byte)\"},\"common\":{\"status\":{\"success\":\"Success\",\"error\":\"Failed\"}},\"detail\":{\"head\":{\"title\":\"Slow Query Detail\",\"back\":\"List\",\"sql\":\"Query\",\"previous_sql\":\"Previous Query\",\"plan\":\"Plan\"},\"tabs\":{\"basic\":\"Basic\",\"time\":\"Time\",\"copr\":\"Coprocessor\",\"txn\":\"Transaction\"}},\"toolbar\":{\"schemas\":{\"placeholder\":\"All Databases\",\"selected\":\"{{ n }} Databases\",\"columnTitle\":\"Database Name\"},\"select_columns\":{\"show_full_sql\":\"Show Full Query Text\"},\"refresh\":\"Refresh\",\"export\":\"Export\",\"exporting\":\"Exporting\"}}}","module.exports = {\"slow_query\":{\"nav_title\":\"慢查询\",\"fields\":{\"instance\":\"{{distro.tidb}} 实例\",\"instance_tooltip\":\"处理该 SQL 查询的 {{distro.tidb}} 实例地址\",\"connection_id\":\"连接号\",\"connection_id_tooltip\":\"SQL 查询客户端连接 ID\",\"sql\":\"SQL\",\"query\":\"SQL\",\"sql_tooltip\":\"SQL\",\"timestamp\":\"结束运行时间\",\"timestamp_tooltip\":\"该 SQL 查询结束运行时的时间\",\"query_time\":\"总执行时间\",\"query_time_tooltip\":\"该 SQL 查询总的执行时间\",\"memory_max\":\"最大内存\",\"memory_max_tooltip\":\"该 SQL 查询执行时占用的最大内存空间\",\"disk_max\":\"最大磁盘空间\",\"disk_max_tooltip\":\"该 SQL 查询执行时占用的最大磁盘空间\",\"digest\":\"SQL 模板 ID\",\"digest_tooltip\":\"SQL 模板的唯一标识(SQL 指纹)\",\"is_internal\":\"是否为内部 SQL 查询\",\"is_success\":\"是否执行成功\",\"is_success_tooltip\":\"SQL 查询是否执行成功\",\"result\":\"执行结果\",\"result_tooltip\":\"SQL 查询是否执行成功\",\"index_names\":\"索引名\",\"index_names_tooltip\":\"SQL 查询执行时使用的索引名称\",\"stats\":\"使用的统计信息\",\"backoff_types\":\"重试类型\",\"user\":\"执行用户名\",\"user_tooltip\":\"执行该 SQL 查询的用户名,可能存在多个执行用户,仅显示其中某一个\",\"host\":\"客户端地址\",\"host_tooltip\":\"发送 SQL 查询的客户端地址\",\"db\":\"执行数据库\",\"db_tooltip\":\"执行该 SQL 查询时使用的数据库名称\",\"query_time2\":\"SQL 执行时间\",\"query_time2_tooltip\":\"执行 SQL 耗费的自然时间\",\"parse_time\":\"解析耗时\",\"parse_time_tooltip\":\"解析该 SQL 查询的耗时\",\"compile_time\":\"生成执行计划耗时\",\"compile_time_tooltip\":\"生成该 SQL 的执行计划的耗时\",\"rewrite_time\":\"重写执行计划耗时\",\"rewrite_time_tooltip\":\"重写执行计划的耗时,例如常量折叠等\",\"preproc_subqueries_time\":\"子查询预处理耗时\",\"optimize_time\":\"优化执行计划耗时\",\"optimize_time_tooltip\":\"优化器寻找执行计划的耗时,包括规则优化和物理优化的耗时\",\"wait_ts\":\"取事务 Start Ts 耗时\",\"wait_ts_tooltip\":\"从 {{distro.pd}} 取事务开始时间戳步骤的耗时\",\"cop_time\":\"Coprocessor 执行耗时\",\"cop_time_tooltip\":\"{{distro.tidb}} Coprocessor 算子等待所有任务在 {{distro.tikv}} 上并行执行完毕耗费的自然时间(注:当 SQL 语句中包含 JOIN 时,多个 {{distro.tidb}} Coprocessor 算子可能会并行执行,此时不再等同于自然时间)\",\"wait_time\":\"Coprocessor 累计等待耗时\",\"wait_time_tooltip\":\"{{distro.tikv}} 准备并等待 Coprocessor 任务执行的累计时间,等待过程中包括通过 Raft 一致性协议取快照等(注:{{distro.tikv}} 会并行等待任务,因此该时间不是自然流逝时间)\",\"process_time\":\"Coprocessor 累计执行耗时\",\"process_time_tooltip\":\"{{distro.tikv}} 执行 Coprocessor 任务的累计处理时间(注:{{distro.tikv}} 会并行处理任务,因此该时间不是自然流逝时间)\",\"lock_keys_time\":\"上锁耗时\",\"lock_keys_time_tooltip\":\"悲观事务中对相关行数据进行上锁的耗时\",\"backoff_time\":\"执行阶段累计 Backoff 耗时\",\"backoff_time_tooltip\":\"在执行失败时,Backoff 机制等待一段时间再重试时的 Backoff 累计耗时(注:可能同时存在多个 Backoff,因此该时间可能不是自然流逝时间)\",\"get_commit_ts_time\":\"取事务 Commit Ts 耗时\",\"get_commit_ts_time_tooltip\":\"从 {{distro.pd}} 取提交时间戳(事务号)步骤的耗时\",\"local_latch_wait_time\":\"{{distro.tidb}} 本地等锁耗时\",\"local_latch_wait_time_tooltip\":\"事务在 {{distro.tidb}} 本地与其他事务产生了锁冲突并等待的耗时\",\"resolve_lock_time\":\"解锁耗时\",\"resolve_lock_time_tooltip\":\"事务在提交过程中与其他事务产生了锁冲突并处理锁冲突的耗时\",\"prewrite_time\":\"Prewrite 阶段耗时\",\"prewrite_time_tooltip\":\"事务两阶段提交中第一阶段(prewrite 阶段)的耗时\",\"wait_prewrite_binlog_time\":\"Binlog Prewrite 等待耗时\",\"wait_prewrite_binlog_time_tooltip\":\"等待 Binlog Prewrite 完成的耗时\",\"commit_time\":\"Commit 阶段耗时\",\"commit_time_tooltip\":\"事务两阶段提交中第二阶段(commit 阶段)的耗时\",\"commit_backoff_time\":\"Commit 阶段累计 Backoff 耗时\",\"commit_backoff_time_tooltip\":\"事务递交失败时,Backoff 机制等待一段时间再重试时的 Backoff 累计耗时(注:可能同时存在多个 Backoff,因此该时间可能不是自然流逝时间)\",\"write_sql_response_total\":\"发送结果耗时\",\"write_sql_response_total_tooltip\":\"发送 SQL 语句执行结果给客户端的耗时\",\"exec_retry_time\":\"前序执行耗时\",\"exec_retry_time_tooltip\":\"由于锁冲突或错误,计划可能会执行失败并重试执行多次,该时间是不包含最后一次执行的前序执行自然时间(注:执行计划中的时间不含该前序时间)\",\"request_count\":\"Coprocessor 请求数\",\"process_keys\":\"可见版本数\",\"total_keys\":\"遇到版本数\",\"total_keys_tooltip\":\"含已删除或覆盖但未 GC 的版本\",\"cop_proc_addr\":\"最长处理时间实例\",\"cop_proc_addr_tooltip\":\"耗费最长时间处理 Coprocessor 请求的 {{distro.tikv}} 实例地址\",\"cop_wait_addr\":\"最长等待时间实例\",\"cop_wait_addr_tooltip\":\"耗费最长时间等待 Coprocessor 请求的 {{distro.tikv}} 实例地址\",\"txn_start_ts\":\"事务号\",\"txn_start_ts_tooltip\":\"事务开始的时间戳,也即是事务号\",\"write_keys\":\"写入 Key 个数\",\"write_size\":\"写入数据量\",\"prewrite_region\":\"Prewrite 涉及 Regions 个数\",\"txn_retry\":\"事务重试次数\",\"prev_stmt\":\"前一条 SQL 查询\",\"plan\":\"执行计划\",\"cop_proc_avg\":\"平均处理\",\"cop_wait_avg\":\"平均等待\",\"rocksdb_delete_skipped_count\":\"RocksDB 已删除 Key 扫描数\",\"rocksdb_delete_skipped_count_tooltip\":\"RocksDB 扫数据时遇到的已删除 (tombstone) Key 数量 (delete_skipped_count)\",\"rocksdb_key_skipped_count\":\"RocksDB Key 扫描数\",\"rocksdb_key_skipped_count_tooltip\":\"RocksDB 扫数据时所有遇到的 Key 数量 (key_skipped_count)\",\"rocksdb_block_cache_hit_count\":\"RocksDB 缓存读次数\",\"rocksdb_block_cache_hit_count_tooltip\":\"RocksDB 从 Block Cache 缓存中读数据的次数 (block_cache_hit_count)\",\"rocksdb_block_read_count\":\"RocksDB 文件系统读次数\",\"rocksdb_block_read_count_tooltip\":\"RocksDB 从文件系统中读数据的次数 (block_read_count)\",\"rocksdb_block_read_byte\":\"RocksDB 文件系统读数据量\",\"rocksdb_block_read_byte_tooltip\":\"RocksDB 从文件系统中读数据的数据量 (block_read_byte)\"},\"common\":{\"status\":{\"success\":\"成功\",\"error\":\"失败\"}},\"detail\":{\"head\":{\"title\":\"慢查询详情\",\"back\":\"列表\",\"sql\":\"SQL 查询\",\"previous_sql\":\"上一条 SQL 查询\",\"plan\":\"执行计划\"},\"tabs\":{\"basic\":\"基本信息\",\"time\":\"执行时间\",\"copr\":\"Coprocessor 读取\",\"txn\":\"事务\"}},\"toolbar\":{\"schemas\":{\"placeholder\":\"所有数据库\",\"selected\":\"{{ n }} 数据库\",\"columnTitle\":\"数据库名\"},\"select_columns\":{\"show_full_sql\":\"显示完整 SQL 文本\"},\"refresh\":\"刷新\",\"export\":\"导出\",\"exporting\":\"正在导出\"}}}","var map = {\n\t\"./en.yaml\": 1411,\n\t\"./zh.yaml\": 1412\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 = 1410;","module.exports = {\"diagnose\":{\"nav_title\":\"Cluster Diagnostics\",\"generate\":{\"title\":\"New Diagnostic Report\",\"range_begin\":\"Range Start Time\",\"range_duration\":\"Range Duration\",\"is_compare\":\"Compare by Baseline\",\"compare_range_begin\":\"Baseline Range Start Time\",\"submit\":\"Start\",\"metrics_relation\":\"Generate Metrics Relation\"},\"list_table\":{\"id\":\"Report ID\",\"diagnose_create_time\":\"Diagnose At\",\"status\":\"Status\",\"status_running\":\"Running\",\"status_finish\":\"Finish\",\"range\":\"Range\",\"compare_range\":\"Baseline Range\"},\"status\":{\"head\":{\"title\":\"Diagnostic Status\",\"back\":\"New Diagnostic Report\",\"view\":\"View Full Report\"},\"range_begin\":\"Range Start Time\",\"range_end\":\"Range End Time\",\"baseline_begin\":\"Baseline Range Start Time\",\"progress\":\"Progress\"},\"time_duration\":{\"custom\":\"Custom\"},\"metrics_relation\":{\"success\":{\"title\":\"Generate metrics relation graph successfully\",\"button\":\"View Graph\"}}}}","module.exports = {\"diagnose\":{\"nav_title\":\"集群诊断\",\"generate\":{\"title\":\"生成诊断报告\",\"range_begin\":\"区间起始时间\",\"range_duration\":\"区间长度\",\"is_compare\":\"与基线区间对比\",\"compare_range_begin\":\"基线区间起始时间\",\"submit\":\"开始\",\"metrics_relation\":\"生成监控关系图\"},\"list_table\":{\"id\":\"报告 ID\",\"diagnose_create_time\":\"诊断时间\",\"status\":\"状态\",\"status_running\":\"诊断中\",\"status_finish\":\"完成\",\"range\":\"诊断区间\",\"compare_range\":\"对比区间\"},\"status\":{\"head\":{\"title\":\"诊断状态\",\"back\":\"生成诊断报告\",\"view\":\"查看完整诊断报告\"},\"range_begin\":\"区间起始时间\",\"range_end\":\"区间结束时间\",\"baseline_begin\":\"基线区间起始时间\",\"progress\":\"生成进度\"},\"time_duration\":{\"custom\":\"自定义\"},\"metrics_relation\":{\"success\":{\"title\":\"监控耗时关系图生成成功\",\"button\":\"查看关系图\"}}}}","var map = {\n\t\"./en.yaml\": 1414,\n\t\"./zh.yaml\": 1415\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 = 1413;","module.exports = {\"search_logs\":{\"nav_title\":\"Search Logs\",\"nav\":{\"search_logs\":\"Search Logs\",\"detail\":\"Search Result\",\"history\":\"History\"},\"page\":{\"intro\":\"Preview and download logs by clicking Search\",\"tip\":\"The preview shows only the first 500 logs\",\"view\":\"View\",\"search_histroy\":\"search histroy\"},\"common\":{\"time_range\":\"Time Range\",\"start_time\":\"Start Time\",\"end_time\":\"End Time\",\"log_level\":\"Log Level\",\"components\":\"instances\",\"keywords\":\"Keywords\",\"keywords_placeholder\":\"Keywords, Optional, separated by spaces\",\"search\":\"Search\",\"progress\":\"Progress\",\"download_selected\":\"Download selected\",\"cancel\":\"Cancel\",\"retry\":\"Retry\"},\"progress\":{\"running\":\"running\",\"success\":\"completed\",\"failed\":\"failed\"},\"confirm\":{\"cancel_tasks\":\"Are you sure you want to cancel all running log search tasks?\",\"retry_tasks\":\"Are you sure you want to retry all failed log search tasks?\"},\"preview\":{\"time\":\"Time\",\"level\":\"Level\",\"component\":\"Component\",\"log\":\"Log\"},\"history\":{\"instances\":\"Instances\",\"running\":\"Running\",\"finished\":\"Finished\",\"delete_selected\":\"Delete selected\",\"delete_all\":\"Delete All\",\"status\":\"Status\",\"action\":\"Action\",\"detail\":\"Detail\",\"delete\":\"Delete\",\"delete_confirm_title\":\"Delete Log Search Histories\",\"delete_selected_confirm_content\":\"Are you sure you want to delete selected log search histories?\",\"delete_all_confirm_content\":\"Are you sure you want to delete all log search histories?\"}}}","module.exports = {\"search_logs\":{\"nav_title\":\"日志搜索\",\"nav\":{\"search_logs\":\"日志搜索\",\"detail\":\"搜索结果\",\"history\":\"历史搜索\"},\"page\":{\"intro\":\"点击搜索预览和下载日志\",\"tip\":\"预览仅显示前 500 项日志\",\"view\":\"查看\",\"search_histroy\":\"搜索历史\"},\"common\":{\"time_range\":\"时间范围\",\"start_time\":\"起始时间\",\"end_time\":\"结束时间\",\"log_level\":\"日志等级\",\"components\":\"选择实例\",\"keywords\":\"关键字\",\"keywords_placeholder\":\"搜索关键字,可选,以空格分割\",\"search\":\"搜索\",\"progress\":\"搜索进度\",\"download_selected\":\"下载选中日志\",\"cancel\":\"取消\",\"retry\":\"重试\"},\"progress\":{\"running\":\"正在运行\",\"success\":\"成功\",\"failed\":\"失败\"},\"confirm\":{\"cancel_tasks\":\"确认要取消正在运行的日志搜索任务么?\",\"retry_tasks\":\"确认要重试所有失败的日志搜索任务么?\"},\"preview\":{\"time\":\"时间\",\"level\":\"日志等级\",\"component\":\"组件\",\"log\":\"日志\"},\"history\":{\"instances\":\"实例\",\"running\":\"正在搜索\",\"finished\":\"已完成\",\"delete_selected\":\"删除选中的任务\",\"delete_all\":\"删除全部任务\",\"status\":\"状态\",\"action\":\"操作\",\"detail\":\"查看详情\",\"delete\":\"删除\",\"delete_confirm_title\":\"删除搜索历史\",\"delete_selected_confirm_content\":\"确认要删除选中的搜索历史吗?\",\"delete_all_confirm_content\":\"确认要删除所有的搜索历史吗?\"}}}","var map = {\n\t\"./en.yaml\": 1417,\n\t\"./zh.yaml\": 1418\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 = 1416;","module.exports = {\"profiling\":{\"nav_title\":\"Profile Instances\"},\"instance_profiling\":{\"nav_title\":\"Manually Profile\",\"list\":{\"control_form\":{\"title\":\"Start Profiling Instances\",\"instances\":{\"label\":\"Select instances\"},\"duration\":{\"label\":\"Duration\"},\"submit\":\"Start Profiling\"},\"disable_warning\":\"Already enabled continuous profiling, so manually profiling is disabled. You can see all instances profile results in the continuous profiling page.\",\"table\":{\"title\":\"Profiling History\",\"columns\":{\"targets\":\"Instances\",\"start_at\":\"Start At\",\"duration\":\"Duration (sec)\",\"status\":\"Status\"},\"status\":{\"running\":\"Running\",\"finished\":\"Finished\",\"failed\":\"Failed\",\"partial_finished\":\"Partial Finished\",\"unknown\":\"Unknown\"},\"actions\":{\"detail\":\"Detail\"}}},\"detail\":{\"head\":{\"back\":\"History\",\"title\":\"Profiling Detail\",\"start_at\":\"Start At\"},\"download\":\"Download Profiling Result\",\"table\":{\"columns\":{\"instance\":\"Instance\",\"kind\":\"Component\",\"content\":\"Content\",\"status\":\"Status\"},\"status\":{\"finished\":\"Finished\"}}}}}","module.exports = {\"profiling\":{\"nav_title\":\"实例性能分析\"},\"instance_profiling\":{\"nav_title\":\"手动分析\",\"list\":{\"control_form\":{\"title\":\"开始性能分析\",\"instances\":{\"label\":\"选择实例\"},\"duration\":{\"label\":\"分析时长\"},\"submit\":\"开始分析\"},\"disable_warning\":\"已启用持续性能分析功能,因此手动性能分析不可用。可在持续性能分析页面查看当前及过往的分析结果。\",\"table\":{\"title\":\"性能分析历史\",\"columns\":{\"targets\":\"实例\",\"start_at\":\"开始时间\",\"duration\":\"时长(秒)\",\"status\":\"状态\"},\"status\":{\"running\":\"分析中\",\"finished\":\"完成\",\"failed\":\"失败\",\"partial_finished\":\"部分完成\",\"unknown\":\"未知\"},\"actions\":{\"detail\":\"详情\"}}},\"detail\":{\"head\":{\"back\":\"历史记录\",\"title\":\"性能分析详情\",\"start_at\":\"开始时间\"},\"download\":\"下载性能分析结果\",\"table\":{\"columns\":{\"instance\":\"实例\",\"kind\":\"组件\",\"content\":\"内容\",\"status\":\"状态\"},\"status\":{\"finished\":\"完成\"}}}}}","var map = {\n\t\"./en.yaml\": 1420,\n\t\"./zh.yaml\": 1421\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 = 1419;","module.exports = {\"continuous_profiling\":{\"nav_title\":\"Continuous Profile\",\"list\":{\"toolbar\":{\"refresh\":\"Refresh\",\"settings\":\"Settings\"},\"control_form\":{\"title\":\"Start Profiling Instances\",\"enable_tooltip\":\"This feature is enabled, you can disable it in the settings\",\"disable_tooltip\":\"This feature is not enabled, you can enable it in the settings\"},\"table\":{\"title\":\"Profiling History\",\"columns\":{\"targets\":\"Instances\",\"start_at\":\"Start At\",\"duration\":\"Duration (sec)\",\"status\":\"Status\"},\"status\":{\"running\":\"Running\",\"finished\":\"Finished\",\"failed\":\"Failed\",\"partial_finished\":\"Partial Finished\",\"unknown\":\"Unknown\"},\"actions\":{\"detail\":\"Detail\"}}},\"detail\":{\"head\":{\"back\":\"History\",\"title\":\"Profiling Detail\",\"start_at\":\"Start At\"},\"download\":\"Download Profiling Result\",\"table\":{\"columns\":{\"instance\":\"Instance\",\"kind\":\"Component\",\"content\":\"Content\",\"status\":\"Status\"},\"status\":{\"finished\":\"Finished\"}}},\"settings\":{\"title\":\"Settings\",\"disabled_result\":{\"title\":\"Feature Not Enabled\",\"sub_title\":\"Continuous Profile feature is not enabled. You can modify settings to enable the feature and wait for new data being collected.\"},\"disabled_with_history\":\"Continuous Profile feature is not enabled, but you still can view history result. You can modify settings to enable the feature.\",\"open_settings\":\"Open Settings\",\"switch\":\"Enable Feature\",\"switch_tooltip\":\"Whether Continuous Profiling feature is enabled. When enabled, it generates the instances profile results continuously.\",\"profile_targets\":\"Profile Targets\",\"profile_targets_tooltip\":\"Profile all instances, new created instance will be profiled automatically.\\nIt has {{n}} instances, it is estimated to generate {{size}} profile result each day.\\n\",\"profile_duration\":\"Profile Duration\",\"profile_duration_tooltip\":null,\"profile_interval\":\"Profile Interval\",\"profile_interval_tooltip\":null,\"profile_retention_duration\":\"Retention Duration\",\"profile_retention_duration_tooltip\":\"The profile result is persisted in the disk, and will be deleted beyond the retention duration. This setting works for all result, includes the history result.\",\"profile_retention_duration_option\":\"{{d}} days\",\"close_feature\":\"Disable Continuous Profiling Feature\",\"close_feature_confirm\":\"Are you sure want to disable this feature, it will stop continuous profile, history result will be kept.\",\"actions\":{\"close\":\"Disable\",\"cancel\":\"Cancel\"}}}}","module.exports = {\"continuous_profiling\":{\"nav_title\":\"持续分析\",\"toolbar\":{\"refresh\":\"Refresh\"},\"list\":{\"toolbar\":{\"refresh\":\"刷新\",\"settings\":\"设置\"},\"control_form\":{\"title\":\"开始性能分析\",\"enable_tooltip\":\"该功能已开启,你可以在设置中关闭\",\"disable_tooltip\":\"该功能未启用,你可以在设置中启用\"},\"table\":{\"title\":\"性能分析历史\",\"columns\":{\"targets\":\"实例\",\"start_at\":\"开始时间\",\"duration\":\"时长(秒)\",\"status\":\"状态\"},\"status\":{\"running\":\"分析中\",\"finished\":\"完成\",\"failed\":\"失败\",\"partial_finished\":\"部分完成\",\"unknown\":\"未知\"},\"actions\":{\"detail\":\"详情\"}}},\"detail\":{\"head\":{\"back\":\"历史记录\",\"title\":\"性能分析详情\",\"start_at\":\"开始时间\"},\"download\":\"下载性能分析结果\",\"table\":{\"columns\":{\"instance\":\"实例\",\"kind\":\"组件\",\"content\":\"内容\",\"status\":\"状态\"},\"status\":{\"finished\":\"完成\"}}},\"settings\":{\"title\":\"设置\",\"disabled_result\":{\"title\":\"该功能未启用\",\"sub_title\":\"持续性能分析功能未启用。您可以修改设置打开该功能后等待新数据收集。\"},\"disabled_with_history\":\"持续性能分析功能未启用,但仍然可以查看历史数据。您可以修改设置打开该功能。\",\"open_settings\":\"打开设置\",\"switch\":\"启用功能\",\"switch_tooltip\":\"是否启用持续分析功能,启用后,会持续产出实例性能分析结果。\",\"profile_targets\":\"分析范围\",\"profile_targets_tooltip\":\"分析所有实例,在新实例创建后,也会自动加入分析范围。\\n目前有 {{n}} 个实例,预计每日生成 {{size}} 分析结果文件。\\n\",\"profile_duration\":\"分析时长\",\"profile_duration_tooltip\":null,\"profile_interval\":\"执行周期\",\"profile_interval_tooltip\":null,\"profile_retention_duration\":\"保留时间\",\"profile_retention_duration_tooltip\":\"分析结果会持久化到磁盘中,超过保留时间会被回收。该配置对所有结果生效,包括历史结果。\",\"profile_retention_duration_option\":\"{{d}} 天\",\"close_feature\":\"关闭持续分析功能\",\"close_feature_confirm\":\"确认要关闭该功能吗?关闭后将停止持续分析,历史结果会继续保留。\",\"actions\":{\"close\":\"确认\",\"cancel\":\"取消\"}}}}","var map = {\n\t\"./en.yaml\": 1423,\n\t\"./zh.yaml\": 1424\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 = 1422;","module.exports = {\"query_editor\":{\"nav_title\":\"Query Editor\"}}","module.exports = {\"query_editor\":{\"nav_title\":\"查询编辑器\"}}","var map = {\n\t\"./en.yaml\": 1426,\n\t\"./zh.yaml\": 1427\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 = 1425;","module.exports = {\"configuration\":{\"nav_title\":\"Configurations\",\"common\":{\"kind\":{\"tidb_variable\":\"{{distro.tidb}} Variables\",\"pd_config\":\"{{distro.pd}} Configurations\",\"tikv_config\":\"{{distro.tikv}} Configurations\",\"tidb_config\":\"{{distro.tidb}} Configurations\"}}}}","module.exports = {\"configuration\":{\"nav_title\":\"实例配置\",\"common\":{\"kind\":{\"tidb_variable\":\"{{distro.tidb}} 变量\",\"pd_config\":\"{{distro.pd}} 配置\",\"tikv_config\":\"{{distro.tikv}} 配置\",\"tidb_config\":\"{{distro.tidb}} 配置\"}}}}","var map = {\n\t\"./en.yaml\": 1429,\n\t\"./zh.yaml\": 1430\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 = 1428;","module.exports = {\"debug_api\":{\"nav_title\":\"Debug Data\",\"keyword_search\":\"Filter by keyword\",\"endpoints_not_found\":\"Endpoints not found\",\"warning_header\":{\"title\":\"Warning\",\"body\":\"These debug endpoints and data are largely internal and intended for use by {{ distro.tidb }} developers. Please use this feature under the guidance of {{ distro.tidb }} technical support.\"},\"form\":{\"download\":\"Download\",\"reset\":\"Reset\"},\"widgets\":{\"host_select_placeholder\":\"Please select the {{endpointType}} host\",\"text\":\"Please enter the {{param}}\",\"tags\":\"Please enter the {{param}}\",\"int\":\"Please enter the {{param}}\",\"enum\":\"Please select the {{param}}\",\"db\":\"Please select the database or enter the full database name\",\"table\":\"Please select the table or enter the full table name\",\"table_id\":\"Please select the table ID or enter the full table ID\"},\"tidb\":{\"name\":\"{{distro.tidb}}\",\"endpoints\":{\"tidb_stats_dump\":\"Statistics Data - of a Table\",\"tidb_stats_dump_timestamp\":\"Statistics Data - of a Table and Timestamp\",\"tidb_stats_dump_timestamp_desc\":\"The timestamp needs to be set within the GC safe point\",\"tidb_config\":\"Current {{distro.tidb}} Config\",\"tidb_schema\":\"Schema Information - All / by TableID\",\"tidb_schema_db\":\"Schema Information - by Database\",\"tidb_schema_db_table\":\"Schema Information - by Database + Table\",\"tidb_dbtable_tableid\":\"schema and Table Information - by TableID\",\"tidb_ddl_history\":\"DDL History - All\",\"tidb_info\":\"{{distro.tidb}} Server Information - Current\",\"tidb_info_all\":\"{{distro.tidb}} Server Information - All {{distro.tidb}} Servers\",\"tidb_regions_meta\":\"Region - All\",\"tidb_region_id\":\"Region - by RegionID\",\"tidb_table_regions\":\"Region - by Database + Table\",\"tidb_hot_regions\":\"Hot Regions\",\"tidb_pprof\":\"{{distro.tidb}} pprof\",\"tidb_pprof_desc\":\"The `seconds` parameter is only effective to `kind=profile` and `kind=trace`.\"}},\"tikv\":{\"name\":\"{{distro.tikv}}\",\"endpoints\":{\"tikv_config\":\"Current {{distro.tikv}} Config\",\"tikv_profile\":\"{{distro.tikv}} Profile\"}},\"tiflash\":{\"name\":\"{{distro.tiflash}}\",\"endpoints\":{\"tiflash_config\":\"Current {{distro.tiflash}} Config\",\"tiflash_profile\":\"{{distro.tiflash}} Profile\"}},\"pd\":{\"name\":\"{{distro.pd}}\",\"endpoints\":{\"pd_cluster\":\"Cluster Information (pd-ctl cluster)\",\"pd_cluster_status\":\"Cluster Status\",\"pd_config_show_all\":\"Current {{distro.pd}} Config\",\"pd_health\":\"Cluster Health Information (pd-ctl health)\",\"pd_hot_read\":\"Hot - Read (pd-ctl hot read)\",\"pd_hot_write\":\"Hot - Write (pd-ctl hot write)\",\"pd_hot_stores\":\"Hot - Stores (pd-ctl hot store)\",\"pd_labels\":\"All Labels (pd-ctl label)\",\"pd_label_stores\":\"List Stores by Label (pd-ctl label store [name] [value])\",\"pd_members_show\":\"All Members Information (pd-ctl member)\",\"pd_leader_show\":\"Leader Information (pd-ctl member leader show)\",\"pd_operator_show\":\"All Operators (pd-ctl operator show)\",\"pd_regions\":\"Regions - All (pd-ctl region)\",\"pd_region_id\":\"Region - by RegionID (pd-ctl region [id])\",\"pd_region_key\":\"Region - by Key Reside in (pd-ctl region key [key])\",\"pd_region_scan\":\"Regions - Scan All (pd-ctl region scan)\",\"pd_region_sibling\":\"Regions - Sibling Regions by RegionID (pd-ctl region sibling [id])\",\"pd_region_start_key\":\"Regions - All Regions Starting from a Key (pd-ctl region startkey [key])\",\"pd_regions_store\":\"Regions - All Regions of a Store (pd-ctl region store [store-id])\",\"pd_region_top_read\":\"Regions - Top Read Flow (pd-ctl region topread)\",\"pd_region_top_write\":\"Regions - Top Write Flow (pd-ctl region topread)\",\"pd_region_top_conf_ver\":\"Regions - Top Conf Version (pd-ctl region topconfver)\",\"pd_region_top_version\":\"Regions - Top Version (pd-ctl region topversion)\",\"pd_region_top_size\":\"Regions - Top Size (pd-ctl region topsize)\",\"pd_region_check\":\"Regions - Check Regions in Abnormal Conditions (region check [state])\",\"pd_scheduler_show\":\"All Schedulers (pd-ctl scheduler show)\",\"pd_stores\":\"Stores - All (pd-ctl store)\",\"pd_store_id\":\"Store - by StoreID (pd-ctl store [id])\",\"pd_pprof\":\"{{distro.pd}} pprof\",\"pd_pprof_desc\":\"The `seconds` parameter is only effective to `kind=profile` and `kind=trace`.\"}}}}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ant-modal\":\"ant-modal--3HVZq\",\"ant-image-preview\":\"ant-image-preview--2cl2y\",\"zoom-enter\":\"zoom-enter--27wl-\",\"zoom-appear\":\"zoom-appear--2R0iE\",\"ant-modal-mask\":\"ant-modal-mask--j9biK\",\"ant-image-preview-mask\":\"ant-image-preview-mask--zUDdp\",\"ant-modal-mask-hidden\":\"ant-modal-mask-hidden--f_olN\",\"ant-image-preview-mask-hidden\":\"ant-image-preview-mask-hidden--2vJEr\",\"ant-modal-wrap\":\"ant-modal-wrap--2v94G\",\"ant-image-preview-wrap\":\"ant-image-preview-wrap--3GdyU\",\"ant-select-single\":\"ant-select-single--acv7t\",\"ant-select-selector\":\"ant-select-selector--3DJtI\",\"ant-select-selection-search\":\"ant-select-selection-search--3Sglm\",\"ant-select-selection-search-input\":\"ant-select-selection-search-input--3ezL9\",\"ant-select-selection-item\":\"ant-select-selection-item--w9cnh\",\"ant-select-selection-placeholder\":\"ant-select-selection-placeholder--1vjjI\",\"ant-select-show-arrow\":\"ant-select-show-arrow--2AmVs\",\"ant-select-open\":\"ant-select-open--XWm6t\",\"ant-select-customize-input\":\"ant-select-customize-input--ubS94\",\"ant-select-lg\":\"ant-select-lg--1GC5z\",\"ant-select-sm\":\"ant-select-sm--15SuW\",\"ant-select-multiple\":\"ant-select-multiple--2d9Fz\",\"ant-select-show-search\":\"ant-select-show-search--mvMEu\",\"ant-select-disabled\":\"ant-select-disabled--2BwFS\",\"ant-select-allow-clear\":\"ant-select-allow-clear--1a9q4\",\"ant-select-selection-item-content\":\"ant-select-selection-item-content--1x7nB\",\"ant-select-selection-item-remove\":\"ant-select-selection-item-remove--3Vzml\",\"ant-select-selection-item-remove-icon\":\"ant-select-selection-item-remove-icon--Ia7VB\",\"anticon\":\"anticon--EjNzf\",\"ant-select-selection-search-mirror\":\"ant-select-selection-search-mirror--2Msar\",\"ant-select\":\"ant-select--1na9F\",\"ant-select-focused\":\"ant-select-focused--30Wb4\",\"ant-select-arrow\":\"ant-select-arrow--1JdEc\",\"ant-select-arrow-icon\":\"ant-select-arrow-icon--1xQjW\",\"ant-select-suffix\":\"ant-select-suffix--3bdS7\",\"ant-select-clear\":\"ant-select-clear--F5OtM\",\"ant-select-dropdown\":\"ant-select-dropdown--Pp2Up\",\"slide-up-enter\":\"slide-up-enter--2Vf8C\",\"slide-up-enter-active\":\"slide-up-enter-active--3AhYu\",\"ant-select-dropdown-placement-bottomLeft\":\"ant-select-dropdown-placement-bottomLeft--1R3WJ\",\"slide-up-appear\":\"slide-up-appear--3-G9U\",\"slide-up-appear-active\":\"slide-up-appear-active--1Yy_n\",\"antSlideUpIn\":\"antSlideUpIn--rvj4b\",\"ant-select-dropdown-placement-topLeft\":\"ant-select-dropdown-placement-topLeft--2_mJ9\",\"antSlideDownIn\":\"antSlideDownIn--4Pt8Z\",\"slide-up-leave\":\"slide-up-leave--2E4-8\",\"slide-up-leave-active\":\"slide-up-leave-active--yQWdD\",\"antSlideUpOut\":\"antSlideUpOut--3GgUw\",\"antSlideDownOut\":\"antSlideDownOut--ug64c\",\"ant-select-dropdown-hidden\":\"ant-select-dropdown-hidden--12Flt\",\"ant-select-dropdown-empty\":\"ant-select-dropdown-empty--2XoNH\",\"ant-select-item-empty\":\"ant-select-item-empty--vFb5w\",\"ant-select-item\":\"ant-select-item--T42nH\",\"ant-select-item-group\":\"ant-select-item-group--3Duxe\",\"ant-select-item-option\":\"ant-select-item-option--1pjjN\",\"ant-select-item-option-content\":\"ant-select-item-option-content--3n0iI\",\"ant-select-item-option-state\":\"ant-select-item-option-state--36Qju\",\"ant-select-item-option-active\":\"ant-select-item-option-active--1Vtfk\",\"ant-select-item-option-disabled\":\"ant-select-item-option-disabled--3A0cU\",\"ant-select-item-option-selected\":\"ant-select-item-option-selected--3Z3UG\",\"ant-select-item-option-grouped\":\"ant-select-item-option-grouped--326dA\",\"ant-select-borderless\":\"ant-select-borderless--j6vYE\",\"ant-select-rtl\":\"ant-select-rtl--2qZdG\",\"ant-select-dropdown-rtl\":\"ant-select-dropdown-rtl--_ZIdu\",\"baseSelect\":\"baseSelect--2bmxm\",\"baseSelectInner\":\"baseSelectInner--3BGHW\",\"focused\":\"focused--218eR\",\"disabled\":\"disabled--uxUXY\",\"baseSelectInput\":\"baseSelectInput--25-p6\",\"baseSelectValueDisplay\":\"baseSelectValueDisplay--3NLQn\",\"isPlaceholder\":\"isPlaceholder--2BLyV\",\"baseSelectArrow\":\"baseSelectArrow--3xAI1\",\"baseSelectOverlay\":\"baseSelectOverlay--2F_PR\"};","module.exports = {\"debug_api\":{\"nav_title\":\"内部调试数据\",\"keyword_search\":\"按关键字过滤接口\",\"endpoints_not_found\":\"找不到对应接口\",\"warning_header\":{\"title\":\"警告\",\"body\":\"本页面提供的调试接口主要面向 {{ distro.tidb }} 开发者、提供数据库内部运行数据。请在 {{ distro.tidb }} 技术支持的指导下使用本功能。\"},\"form\":{\"download\":\"下载\",\"reset\":\"重置\"},\"widgets\":{\"host_select_placeholder\":\"请选择对应的 {{endpointType}} host\",\"text\":\"请输入 {{param}}\",\"tags\":\"请输入 {{param}}\",\"int\":\"请输入 {{param}}\",\"enum\":\"请选择 {{param}}\",\"db\":\"请从列表中选择 database 或输入完整的 database 名称\",\"table\":\"请从列表中选择 table 或输入完整的 table 名称\",\"table_id\":\"请从列表中选择 table ID 或输入完整的 table ID\"},\"tidb\":{\"endpoints\":{\"tidb_stats_dump_timestamp_desc\":\"时间戳应当在 GC Safe Point 以后\",\"tidb_pprof_desc\":\"seconds 参数仅对 kind=profile 和 kind=trace 生效\"}},\"pd\":{\"endpoints\":{\"pd_pprof_desc\":\"seconds 参数仅对 kind=profile 和 kind=trace 生效\"}}}}","var map = {\n\t\"./en.yaml\": 1432,\n\t\"./zh.yaml\": 1433\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 = 1431;","module.exports = {\"signin\":{\"message\":{\"error\":\"Sign in failed: {{ msg }}\",\"success\":\"Sign in successfully\",\"access_doc\":\"Help\",\"access_doc_link\":\"https://docs.pingcap.com/tidb/stable/dashboard-user\"},\"form\":{\"username\":\"Username\",\"username_tooltip\":\"Sign in user can be customized in TiDB 5.3 or later versions\",\"password\":\"Password\",\"button\":\"Sign In\",\"tidb_auth\":{\"title\":\"SQL User Sign In\",\"switch\":{\"title\":\"SQL User\",\"description\":\"I know the username and password to connect to the database\"}},\"code_auth\":{\"title\":\"Authorization Code Sign In\",\"switch\":{\"title\":\"Authorization Code\",\"description\":\"I was invited by others with an authorization code\"},\"code\":\"Code\"},\"sso\":{\"button\":\"Sign In via Company Account (SSO)\",\"switch\":{\"title\":\"SSO\",\"description\":\"I want to sign in use my company account\"}},\"use_alternative\":\"Use Alternative Authentication\",\"alternative\":{\"title\":\"Select Authentication\"}}},\"nav\":{\"user\":{\"signout\":\"Sign Out\"},\"sider\":{\"debug\":\"Advanced Debugging\",\"experimental\":\"Experimental Features\"}}}","module.exports = {\"signin\":{\"message\":{\"error\":\"登录失败: {{ msg }}\",\"success\":\"登录成功\",\"access_doc\":\"帮助\",\"access_doc_link\":\"https://docs.pingcap.com/zh/tidb/stable/dashboard-user\"},\"form\":{\"username\":\"用户名\",\"username_tooltip\":\"升级到 TiDB 5.3 及更高版本后可自定义登录用户\",\"password\":\"密码\",\"button\":\"登录\",\"tidb_auth\":{\"title\":\"SQL 用户登录\",\"switch\":{\"title\":\"SQL 用户\",\"description\":\"我知道数据库的登录用户名和密码\"}},\"code_auth\":{\"title\":\"授权码登录\",\"switch\":{\"title\":\"授权码\",\"description\":\"其他人通过授权码邀请我使用\"},\"code\":\"授权码\"},\"sso\":{\"button\":\"使用公司账号 SSO 登录\",\"switch\":{\"title\":\"SSO\",\"description\":\"使用公司账号登录\"}},\"use_alternative\":\"使用其他登录方式\",\"alternative\":{\"title\":\"选择登录方式\"}}},\"nav\":{\"user\":{\"signout\":\"登出\"},\"sider\":{\"debug\":\"高级调试\",\"experimental\":\"实验性功能\"}}}","import publicPathPrefix from '@lib/utils/publicPathPrefix'\n__webpack_public_path__ = publicPathPrefix + '/'\n","import * as Sentry from '@sentry/react'\nimport { Integrations } from '@sentry/tracing'\n\nimport { sentryEnabled } from '@lib/utils/sentryHelpers'\n\nif (sentryEnabled) {\n const release = process.env.REACT_APP_RELEASE_VERSION\n\n // this is on purpose\n console.log('current release: ', release)\n\n const SAMPLE_RATE_PROD = 0.6\n\n // sentry also provides a beforeSend hook, but it intentionally ignores transactions.\n // see https://github.com/getsentry/sentry-javascript/blob/de87032dbe0dc4720400e92f673c5292d452f51c/packages/core/src/baseclient.ts#L510-L512\n Sentry.init({\n dsn: process.env.REACT_APP_SENTRY_DSN,\n integrations: [new Integrations.BrowserTracing()],\n tracesSampleRate:\n process.env.NODE_ENV === 'production' ? SAMPLE_RATE_PROD : 1.0,\n release,\n environment: process.env.NODE_ENV,\n })\n}\n","import React from 'react'\nimport ReactDOM from 'react-dom'\nimport singleSpaReact from 'single-spa-react'\nimport * as singleSpa from 'single-spa'\nimport * as i18n from './i18n'\nimport * as routing from './routing'\nimport { AppOptions } from './appOptions'\n\nexport default class AppRegistry {\n public defaultRouter = ''\n public apps = {}\n public constructor(public appOptions: AppOptions) {}\n\n static newReactSpaApp = function (rootComponentAsyncLoader, targetDomId) {\n const reactLifecycles = singleSpaReact({\n React,\n ReactDOM,\n loadRootComponent: async () => {\n const component = await rootComponentAsyncLoader()\n if (component.default) {\n return component.default\n }\n return component\n },\n domElementGetter: () => document.getElementById(targetDomId),\n })\n return {\n bootstrap: [reactLifecycles.bootstrap],\n mount: [reactLifecycles.mount],\n unmount: [reactLifecycles.unmount],\n }\n }\n\n /**\n * Register a TiDB Dashboard application.\n *\n * This function is a light encapsulation over single-spa's registerApplication\n * which provides some extra registry capabilities.\n *\n * @param {{\n * id: string,\n * reactRoot: Function,\n * routerPrefix: string,\n * indexRoute: string,\n * isDefaultRouter: boolean,\n * icon: string,\n * }} app\n */\n register(app) {\n if (app.translations) {\n i18n.addTranslations(app.translations)\n }\n\n singleSpa.registerApplication(\n app.id,\n AppRegistry.newReactSpaApp(app.reactRoot, '__spa_content__'),\n () => {\n return routing.isLocationMatchPrefix(app.routerPrefix)\n },\n {\n registry: this,\n app,\n }\n )\n if (!app.indexRoute) {\n app.indexRoute = app.routerPrefix\n }\n if (!this.defaultRouter || app.isDefaultRouter) {\n this.defaultRouter = app.indexRoute\n }\n this.apps[app.id] = app\n return this\n }\n\n /**\n * Get the default router for initial routing.\n */\n getDefaultRouter() {\n return this.defaultRouter || '/'\n }\n\n /**\n * Get the registry of the current active app.\n */\n getActiveApp() {\n const mountedApps = singleSpa.getMountedApps()\n for (let i = 0; i < mountedApps.length; i++) {\n const app = mountedApps[i]\n if (this.apps[app] !== undefined) {\n return this.apps[app]\n }\n }\n }\n}\n","export type AppOptions = {\n hideNav: boolean\n lang: string\n}\n\nconst defAppOptions: AppOptions = {\n hideNav: false,\n lang: '',\n}\n\nconst optionsKey = 'dashboard_app_options'\n\nexport function saveAppOptions(options: AppOptions) {\n localStorage.setItem(optionsKey, JSON.stringify(options))\n}\n\nexport function loadAppOptions(): AppOptions {\n const s = localStorage.getItem(optionsKey)\n if (s === null) {\n return defAppOptions\n }\n const opt = JSON.parse(s)\n if (!!opt && opt.constructor === Object) {\n return opt\n }\n return defAppOptions\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", null, \".st0{fill:#fff}\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_3639\",\n className: \"st0\",\n d: \"M86.66 33.25L28.83 66.5v33.25l29-16.63v66.83l28.83 16.63V66.5l29-16.63-29-16.62z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_3640\",\n className: \"st0\",\n d: \"M115.66 82.96v67l28.83-16.63V66.5l-28.83 16.46z\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_3642\",\n className: \"st0\",\n d: \"M87 200L0 149.96V50.04L87 0l87 50.04v99.92L87 200zM4.72 147.27L87 194.62l82.28-47.35V52.73L87 5.37 4.72 52.73v94.54z\"\n});\n\nvar SvgLogoIconLight = function SvgLogoIconLight(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 174 200\",\n style: {\n enableBackground: \"new 0 0 174 200\"\n },\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLogoIconLight, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/logo-icon-light.beade831.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useMemo, useRef } from 'react'\nimport { MenuUnfoldOutlined, MenuFoldOutlined } from '@ant-design/icons'\nimport { useSize } from 'ahooks'\nimport Flexbox from '@g07cha/flexbox-react'\nimport { useSpring, animated } from 'react-spring'\nimport { InfoInfoResponse } from '@lib/client'\nimport { useTranslation } from 'react-i18next'\nimport { TFunction } from 'i18next'\n\nimport { ReactComponent as Logo } from './logo-icon-light.svg'\nimport styles from './Banner.module.less'\nimport { store } from '@lib/utils/store'\n\nconst toggleWidth = 40\nconst toggleHeight = 50\n\nfunction parseVersion(i: InfoInfoResponse, t: TFunction) {\n if (!i.version) {\n return null\n }\n if (i.version.standalone !== 'No') {\n // For Standalone == Yes / Unknown, display internal version\n if (i.version.internal_version === 'nightly') {\n let vPrefix = i.version.internal_version\n if (i.version.build_git_hash) {\n vPrefix += `-${i.version.build_git_hash.substr(0, 8)}`\n }\n // e.g. nightly-xxxxxxxx\n return vPrefix\n }\n if (i.version.internal_version) {\n // e.g. v2020.07.01.1\n return `v${i.version.internal_version}`\n }\n return null\n }\n\n if (i.version.pd_version) {\n // e.g. PD v4.0.1\n return `${t('distro.pd')} ${i.version.pd_version}`\n }\n}\n\nexport default function ToggleBanner({\n fullWidth,\n collapsedWidth,\n collapsed,\n onToggle,\n}) {\n const { t } = useTranslation()\n const bannerRef = useRef(null)\n const bannerSize = useSize(bannerRef)\n const transBanner = useSpring({\n opacity: collapsed ? 0 : 1,\n height: collapsed ? toggleHeight : bannerSize.height || 0,\n })\n const transButton = useSpring({\n left: collapsed ? 0 : fullWidth - toggleWidth,\n width: collapsed ? collapsedWidth : toggleWidth,\n })\n\n const appInfo = store.useState((s) => s.appInfo)\n\n const version = useMemo(() => {\n if (appInfo) {\n return parseVersion(appInfo, t)\n }\n return null\n }, [appInfo, t])\n\n return (\n
\n \n \n \n
\n \n
\n
\n
\n {t('distro.tidb')} Dashboard\n
\n
\n {version || 'Version unknown'}\n
\n
\n
\n
\n \n \n {collapsed ? (\n \n ) : (\n \n )}\n \n \n )\n}\n","import React, { useState, useMemo } from 'react'\nimport { ExperimentOutlined, BugOutlined, AimOutlined } from '@ant-design/icons'\nimport { Layout, Menu } from 'antd'\nimport { Link } from 'react-router-dom'\nimport { useEventListener } from 'ahooks'\nimport { useTranslation } from 'react-i18next'\nimport { useSpring, animated } from 'react-spring'\nimport Banner from './Banner'\nimport styles from './index.module.less'\nimport { store } from '@lib/utils/store'\n\nfunction useAppMenuItem(registry, appId, title?: string, hideIcon?: boolean) {\n const { t } = useTranslation()\n const app = registry.apps[appId]\n if (!app) {\n return null\n }\n return (\n \n \n {!hideIcon && app.icon ? : null}\n {title ? title : t(`${appId}.nav_title`, appId)}\n \n \n )\n}\n\nfunction useActiveAppId(registry) {\n const [appId, set] = useState('')\n useEventListener('single-spa:routing-event', () => {\n const activeApp = registry.getActiveApp()\n if (activeApp) {\n set(activeApp.id)\n }\n })\n return appId\n}\n\nfunction Sider({\n registry,\n fullWidth,\n defaultCollapsed,\n collapsed,\n collapsedWidth,\n onToggle,\n animationDelay,\n}) {\n const { t } = useTranslation()\n const activeAppId = useActiveAppId(registry)\n\n const whoAmI = store.useState((s) => s.whoAmI)\n const appInfo = store.useState((s) => s.appInfo)\n\n const profilingSubMenuItems = [\n useAppMenuItem(registry, 'instance_profiling', '', true),\n useAppMenuItem(registry, 'continuous_profiling', '', true),\n ]\n\n const profilingSubMenu = (\n \n \n {t('profiling.nav_title')}\n \n }\n >\n {profilingSubMenuItems}\n \n )\n\n const debugSubMenuItems = [\n profilingSubMenu,\n useAppMenuItem(registry, 'debug_api'),\n ]\n\n const debugSubMenu = (\n \n \n {t('nav.sider.debug')}\n \n }\n >\n {debugSubMenuItems}\n \n )\n\n const experimentalSubMenuItems = [\n useAppMenuItem(registry, 'query_editor'),\n useAppMenuItem(registry, 'configuration'),\n ]\n const experimentalSubMenu = (\n \n \n {t('nav.sider.experimental')}\n \n }\n >\n {experimentalSubMenuItems}\n \n )\n\n const menuItems = [\n useAppMenuItem(registry, 'overview'),\n useAppMenuItem(registry, 'cluster_info'),\n useAppMenuItem(registry, 'statement'),\n useAppMenuItem(registry, 'slow_query'),\n useAppMenuItem(registry, 'keyviz'),\n useAppMenuItem(registry, 'diagnose'),\n useAppMenuItem(registry, 'search_logs'),\n // useAppMenuItem(registry, '__APP_NAME__'),\n // NOTE: Don't remove above comment line, it is a placeholder for code generator\n debugSubMenu,\n ]\n\n if (appInfo?.enable_experimental) {\n menuItems.push(experimentalSubMenu)\n }\n\n let displayName = whoAmI?.display_name || '...'\n\n const extraMenuItems = [\n useAppMenuItem(registry, 'dashboard_settings'),\n useAppMenuItem(registry, 'user_profile', displayName),\n ]\n\n const transSider = useSpring({\n width: collapsed ? collapsedWidth : fullWidth,\n })\n\n const defaultOpenKeys = useMemo(() => {\n if (defaultCollapsed) {\n return []\n } else {\n return ['debug', 'experimental', 'profiling']\n }\n }, [defaultCollapsed])\n\n return (\n \n \n \n \n {menuItems}\n \n \n {extraMenuItems}\n \n \n \n )\n}\n\nexport default Sider\n","import React, { useState, useCallback, useEffect } from 'react'\nimport { Root } from '@lib/components'\nimport { HashRouter as Router } from 'react-router-dom'\nimport { useSpring, animated } from 'react-spring'\n\nimport { useLocalStorageState } from '@lib/utils/useLocalStorageState'\n\nimport Sider from './Sider'\nimport styles from './index.module.less'\n\nconst siderWidth = 260\nconst siderCollapsedWidth = 80\nconst collapsedContentOffset = siderCollapsedWidth - siderWidth\nconst contentOffsetTrigger = collapsedContentOffset * 0.99\n\nfunction triggerResizeEvent() {\n const event = document.createEvent('HTMLEvents')\n event.initEvent('resize', true, false)\n window.dispatchEvent(event)\n}\n\nconst useContentLeftOffset = (collapsed) => {\n const [offset, setOffset] = useState(siderWidth)\n const onAnimationStart = useCallback(() => {\n if (!collapsed) {\n setOffset(siderWidth)\n }\n }, [collapsed])\n const onAnimationFrame = useCallback(\n ({ x }) => {\n if (collapsed && x < contentOffsetTrigger) {\n setOffset(siderCollapsedWidth)\n }\n },\n [collapsed]\n )\n useEffect(triggerResizeEvent, [offset])\n return {\n contentLeftOffset: offset,\n onAnimationStart,\n onAnimationFrame,\n }\n}\n\nexport default function App({ registry }) {\n const [collapsed, setCollapsed] = useLocalStorageState(\n 'layout.sider.collapsed',\n false\n )\n const [defaultCollapsed] = useState(collapsed)\n const {\n contentLeftOffset,\n onAnimationStart,\n onAnimationFrame,\n } = useContentLeftOffset(collapsed)\n const transContentBack = useSpring({\n x: collapsed ? collapsedContentOffset : 0,\n onStart: onAnimationStart,\n onFrame: onAnimationFrame,\n })\n const transContainer = useSpring({\n opacity: 1,\n from: { opacity: 0 },\n delay: 100,\n })\n\n const handleToggle = useCallback(() => {\n setCollapsed((c) => !c)\n }, [setCollapsed])\n\n const { appOptions } = registry\n\n return (\n \n \n \n {!appOptions.hideNav && (\n <>\n \n `translate3d(${x}px, 0, 0)`\n ),\n }}\n >\n \n )}\n \n
\n \n \n
\n
\n )\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", null, \".st1{fill:#fff}\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M24.76 10.48L9.64 19.21v8.74l7.56-4.37v17.58l7.56 4.36V19.21l7.57-4.36zM32.37 23.62v17.53l7.59-4.38V19.23z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M72.83 18.78h-7.58v-1.43h16.81v1.43h-7.58v22.37h-1.66V18.78zM85.82 18.2c0-.9.66-1.42 1.45-1.42.79 0 1.45.52 1.45 1.42 0 .83-.66 1.42-1.45 1.42-.79 0-1.45-.58-1.45-1.42zm.62 5.61h1.6v17.34h-1.6V23.81zM94.89 17.35h5.5c7.34 0 10.83 4.62 10.83 11.82s-3.48 11.97-10.79 11.97h-5.54V17.35zm5.34 22.39c6.45 0 9.25-4.36 9.25-10.57 0-6.2-2.8-10.41-9.25-10.41h-3.68v20.98h3.68zM116.7 17.35h6.43c4.78 0 7.84 1.81 7.84 5.79 0 2.48-1.29 4.46-3.68 5.19v.14c3.08.52 5.15 2.45 5.15 5.75 0 4.58-3.47 6.93-8.85 6.93h-6.9v-23.8zm5.77 10.47c4.88 0 6.86-1.72 6.86-4.53 0-3.33-2.3-4.56-6.67-4.56h-4.3v9.09h4.11zm.69 11.94c4.73 0 7.64-1.71 7.64-5.53 0-3.42-2.78-5.05-7.64-5.05h-4.8v10.57h4.8zM144.79 17.35h5.5c7.34 0 10.83 4.62 10.83 11.82s-3.48 11.97-10.79 11.97h-5.54V17.35zm5.34 22.39c6.45 0 9.25-4.36 9.25-10.57 0-6.2-2.8-10.41-9.25-10.41h-3.68v20.98h3.68zM165.18 36.83c0-3.85 3.47-5.69 11.19-6.54.05-2.66-.68-5.52-4.09-5.52-2.34 0-4.36 1.16-5.53 2.04l-.74-1.18c1.23-.87 3.63-2.25 6.45-2.25 4.11 0 5.5 2.98 5.5 6.69v11.08h-1.35l-.17-2.25h-.08c-1.77 1.43-3.88 2.69-6.15 2.69-2.74-.01-5.03-1.5-5.03-4.76zm11.19.58v-5.9c-7.12.82-9.56 2.48-9.56 5.24 0 2.49 1.68 3.44 3.68 3.44 1.99.01 3.74-.95 5.88-2.78zM182 39.19l.93-1.16c1.47 1.23 3.04 2.2 5.51 2.2 2.73 0 4.15-1.6 4.15-3.42 0-2.17-2.25-3.13-4.25-3.85-2.61-.93-5.53-1.99-5.53-4.95 0-2.5 1.98-4.61 5.59-4.61 1.86 0 3.69.77 4.95 1.8l-.86 1.15c-1.17-.87-2.4-1.58-4.14-1.58-2.7 0-3.93 1.56-3.93 3.16 0 1.98 2.04 2.73 4.11 3.51 2.69 1.02 5.66 1.91 5.66 5.29 0 2.61-2.09 4.89-5.84 4.89-2.57-.04-4.8-1.11-6.35-2.43zM198.78 15.17h1.6v7.54l-.03 3.82c1.81-1.8 3.61-3.16 6-3.16 3.58 0 5.24 2.17 5.24 6.65v11.12H210v-10.9c0-3.68-1.16-5.42-3.95-5.42-2.07 0-3.56 1.09-5.67 3.26v13.08h-1.6V15.17zM219.44 39.39h-.08l-.18 1.76h-1.33V15.17h1.6v7.54l-.08 3.38c1.75-1.48 3.86-2.72 5.97-2.72 4.65 0 6.94 3.48 6.94 8.84 0 5.89-3.55 9.36-7.64 9.36-1.66.01-3.57-.85-5.2-2.18zm11.16-7.16c0-4.26-1.52-7.44-5.52-7.44-1.72 0-3.61 1.01-5.64 2.86v10.28c1.89 1.63 3.79 2.23 5.11 2.23 3.53.01 6.05-3.23 6.05-7.93zM235.96 32.51c0-5.8 3.62-9.14 7.79-9.14s7.79 3.34 7.79 9.14c0 5.73-3.62 9.07-7.79 9.07s-7.79-3.33-7.79-9.07zm13.9 0c0-4.56-2.61-7.73-6.11-7.73-3.5 0-6.11 3.16-6.11 7.73s2.61 7.66 6.11 7.66c3.5 0 6.11-3.09 6.11-7.66zM254.96 36.83c0-3.85 3.47-5.69 11.19-6.54.05-2.66-.68-5.52-4.09-5.52-2.34 0-4.36 1.16-5.53 2.04l-.74-1.18c1.23-.87 3.63-2.25 6.45-2.25 4.11 0 5.5 2.98 5.5 6.69v11.08h-1.35l-.17-2.25h-.08c-1.77 1.43-3.88 2.69-6.15 2.69-2.75-.01-5.03-1.5-5.03-4.76zm11.18.58v-5.9c-7.12.82-9.56 2.48-9.56 5.24 0 2.49 1.68 3.44 3.68 3.44 1.99.01 3.74-.95 5.88-2.78zM273.93 23.81h1.35l.17 3.24h.08c1.17-2.13 2.87-3.67 4.93-3.67.63 0 1.15.08 1.72.36l-.36 1.44c-.59-.21-.9-.29-1.57-.29-1.56 0-3.41 1.18-4.73 4.46v11.79h-1.6V23.81zM283.57 32.51c0-5.6 3.55-9.14 7.69-9.14 2.08 0 3.5.79 5.23 2.13l-.09-3.18v-7.15h1.6v25.98h-1.35l-.17-2.25h-.08c-1.42 1.42-3.35 2.68-5.65 2.68-4.36 0-7.18-3.22-7.18-9.07zm12.83 4.8V27.02c-1.83-1.62-3.35-2.23-5.06-2.23-3.44 0-6.1 3.37-6.1 7.71 0 4.62 2.05 7.66 5.73 7.66 1.92.01 3.61-1 5.43-2.85z\"\n}));\n\nvar SvgLogo = function SvgLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n x: 0,\n y: 0,\n viewBox: \"0 0 300 56\",\n style: {\n enableBackground: \"new 0 0 300 56\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n fill: \"#e30c34\"\n },\n d: \"M2 14.85v26.3L24.78 54.3l22.77-13.15v-26.3L24.78 1.7z\"\n }), _ref3, _ref4);\n};\n\nvar ForwardRef = React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/logo.b788eedd.svg\";\nexport { ForwardRef as ReactComponent };","import CSSMotion from 'rc-animate/es/CSSMotion'\nimport cx from 'classnames'\nimport * as singleSpa from 'single-spa'\nimport { Root, AppearAnimate } from '@lib/components'\nimport React, { useState, useRef, useCallback, useMemo, ReactNode } from 'react'\nimport {\n DownOutlined,\n GlobalOutlined,\n LockOutlined,\n UserOutlined,\n KeyOutlined,\n ArrowRightOutlined,\n CloseOutlined,\n} from '@ant-design/icons'\nimport { Form, Input, Button, message, Typography, Modal } from 'antd'\nimport { useTranslation } from 'react-i18next'\nimport LanguageDropdown from '@lib/components/LanguageDropdown'\nimport client, { ErrorStrategy, UserAuthenticateForm } from '@lib/client'\nimport * as auth from '@lib/utils/auth'\nimport { useMount } from 'react-use'\nimport Flexbox from '@g07cha/flexbox-react'\nimport { usePersistFn } from 'ahooks'\nimport { ReactComponent as Logo } from './logo.svg'\nimport styles from './index.module.less'\nimport { useEffect } from 'react'\nimport { getAuthURL } from '@lib/utils/authSSO'\nimport { AuthTypes } from '@lib/utils/auth'\nimport { isDistro } from '@lib/utils/i18n'\n\nenum DisplayFormType {\n uninitialized,\n tidbCredential,\n shareCode,\n sso,\n}\n\nfunction AlternativeAuthLink({ onClick }) {\n const { t } = useTranslation()\n return (\n \n )\n}\n\nfunction LanguageDrop() {\n return (\n \n )\n}\n\ninterface IAlternativeFormButtonProps\n extends React.ButtonHTMLAttributes {\n title: string\n description: string\n className?: string\n}\n\nfunction AlternativeFormButton({\n title,\n description,\n className,\n ...restProps\n}: IAlternativeFormButtonProps) {\n return (\n \n )\n}\n\nfunction AlternativeAuthForm({\n className,\n onClose,\n onSwitchForm,\n supportedAuthTypes,\n ...restProps\n}) {\n const { t } = useTranslation()\n\n return (\n
\n
\n
\n
\n \n

\n \n
{t('signin.form.alternative.title')}
\n \n \n \n \n

\n
\n \n onSwitchForm(DisplayFormType.tidbCredential)}\n />\n \n \n onSwitchForm(DisplayFormType.shareCode)}\n />\n \n {Boolean(supportedAuthTypes.indexOf(AuthTypes.SSO) > -1) && (\n \n onSwitchForm(DisplayFormType.sso)}\n />\n \n )}\n \n \n
\n
\n
\n )\n}\n\nfunction useSignInSubmit(\n successRoute,\n fnLoginForm: (form) => UserAuthenticateForm,\n onSuccess: (form) => void,\n onFailure: () => void\n) {\n const { t } = useTranslation()\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState(null)\n\n const clearErrorMsg = useCallback(() => {\n setError(null)\n }, [])\n\n const handleSubmit = usePersistFn(async (form) => {\n try {\n clearErrorMsg()\n setLoading(true)\n const r = await client.getInstance().userLogin(fnLoginForm(form), {\n errorStrategy: ErrorStrategy.Custom,\n })\n auth.setAuthToken(r.data.token)\n message.success(t('signin.message.success'))\n singleSpa.navigateToUrl(successRoute)\n onSuccess(form)\n } catch (e) {\n if (!e.handled) {\n const errMsg = t('signin.message.error', { msg: e.message })\n if (\n isDistro ||\n e.errCode !== 'error.api.user.insufficient_privileges'\n ) {\n setError(errMsg)\n } else {\n // only add help link for TiDB distro when meeting insufficient_privileges error\n const errComp = (\n <>\n {errMsg}\n \n {t('signin.message.access_doc')}\n \n \n )\n setError(errComp)\n }\n onFailure()\n }\n } finally {\n setLoading(false)\n }\n })\n\n return { handleSubmit, loading, errorMsg: error, clearErrorMsg }\n}\n\nconst LAST_LOGIN_USERNAME_KEY = 'dashboard_last_login_username'\n\nfunction TiDBSignInForm({\n successRoute,\n onClickAlternative,\n enableNonRootLogin = false,\n}) {\n const { t } = useTranslation()\n\n const [refForm] = Form.useForm()\n const refPassword = useRef(null)\n\n const { handleSubmit, loading, errorMsg, clearErrorMsg } = useSignInSubmit(\n successRoute,\n (form) => ({\n username: form.username,\n password: form.password,\n type: AuthTypes.SQLUser,\n }),\n (form) => {\n localStorage.setItem(LAST_LOGIN_USERNAME_KEY, form.username)\n },\n () => {\n refForm.setFieldsValue({ password: '' })\n setTimeout(() => {\n refPassword.current?.focus()\n }, 0)\n }\n )\n\n useMount(() => {\n refPassword?.current?.focus()\n })\n\n const lastLoginUsername = useMemo(() => {\n return localStorage.getItem(LAST_LOGIN_USERNAME_KEY) || 'root'\n }, [])\n\n return (\n
\n
\n \n \n \n

{t('signin.form.tidb_auth.title')}

\n
\n \n }\n disabled={!enableNonRootLogin}\n />\n \n \n }\n type=\"password\"\n disabled={loading}\n onInput={clearErrorMsg}\n ref={refPassword}\n data-e2e=\"signin_password_input\"\n />\n \n \n \n {t('signin.form.button')}\n \n \n \n \n \n
\n
\n )\n}\n\nfunction CodeSignInForm({ successRoute, onClickAlternative }) {\n const { t } = useTranslation()\n\n const [refForm] = Form.useForm()\n const refPassword = useRef(null)\n\n const { handleSubmit, loading, errorMsg, clearErrorMsg } = useSignInSubmit(\n successRoute,\n (form) => ({\n password: form.code,\n type: AuthTypes.SharingCode,\n }),\n () => {},\n () => {\n refForm.setFieldsValue({ code: '' })\n setTimeout(() => {\n refPassword.current?.focus()\n }, 0)\n }\n )\n\n useMount(() => {\n refPassword?.current?.focus()\n })\n\n return (\n
\n
\n
\n \n \n

{t('signin.form.code_auth.title')}

\n
\n \n }\n type=\"password\"\n onInput={clearErrorMsg}\n disabled={loading}\n ref={refPassword}\n allowClear\n />\n \n \n \n {t('signin.form.button')}\n \n \n \n \n \n
\n
\n )\n}\n\nfunction SSOSignInForm({ successRoute, onClickAlternative }) {\n const { t } = useTranslation()\n const [isLoading, setIsLoading] = useState(false)\n\n const handleSignIn = useCallback(async () => {\n setIsLoading(true)\n try {\n const url = await getAuthURL()\n window.location.href = url\n // Do not hide loading status when url is resolved, since we are now jumping\n } catch (e) {\n setIsLoading(false)\n }\n }, [])\n\n return (\n
\n
\n
\n \n \n \n {t('signin.form.sso.button')}\n \n \n \n \n \n
\n
\n )\n}\n\nfunction App({ registry }) {\n const successRoute = useMemo(() => `#${registry.getDefaultRouter()}`, [\n registry,\n ])\n const [alternativeVisible, setAlternativeVisible] = useState(false)\n const [formType, setFormType] = useState(DisplayFormType.uninitialized)\n const [supportedAuthTypes, setSupportedAuthTypes] = useState>([\n 0,\n ])\n const [enableNonRootLogin, setEnableNonoRootLogin] = useState(false)\n\n const handleClickAlternative = useCallback(() => {\n setAlternativeVisible(true)\n }, [])\n\n const handleAlternativeClose = useCallback(() => {\n setAlternativeVisible(false)\n }, [])\n\n const handleSwitchForm = useCallback((k: DisplayFormType) => {\n setFormType(k)\n setAlternativeVisible(false)\n }, [])\n\n useEffect(() => {\n async function run() {\n try {\n const resp = await client.getInstance().userGetLoginInfo()\n const loginInfo = resp.data\n if (\n (loginInfo.supported_auth_types?.indexOf(AuthTypes.SSO) ?? -1) > -1\n ) {\n setFormType(DisplayFormType.sso)\n } else {\n setFormType(DisplayFormType.tidbCredential)\n }\n setSupportedAuthTypes(loginInfo.supported_auth_types ?? [])\n setEnableNonoRootLogin(loginInfo.enable_non_root_login ?? false)\n } catch (e) {\n Modal.error({\n title: 'Initialize Sign in failed',\n content: '' + e,\n okText: 'Reload',\n onOk: () => window.location.reload(),\n })\n }\n }\n run()\n }, [])\n\n return (\n \n
\n \n \n {({ style, className }) => (\n \n )}\n \n {formType === DisplayFormType.tidbCredential && (\n \n )}\n {formType === DisplayFormType.shareCode && (\n \n )}\n {formType === DisplayFormType.sso && (\n \n )}\n \n \n
\n
\n )\n}\n\nexport default App\n","import client, { ErrorStrategy } from '@lib/client'\nimport { Modal } from 'antd'\nimport * as auth from './auth'\nimport { AuthTypes } from './auth'\n\nfunction newRandomString(length: number) {\n let text = ''\n const possible =\n 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n for (let i = 0; i < length; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length))\n }\n return text\n}\n\nfunction getBaseURL() {\n return `${window.location.protocol}//${window.location.host}${window.location.pathname}`\n}\n\nfunction getRedirectURL() {\n return `${getBaseURL()}?sso_callback=1`\n}\n\nexport async function getAuthURL() {\n const codeVerifier = newRandomString(128)\n const state = newRandomString(32)\n\n sessionStorage.setItem('sso.codeVerifier', codeVerifier)\n sessionStorage.setItem('sso.state', state)\n const resp = await client\n .getInstance()\n .userSSOGetAuthURL(codeVerifier, getRedirectURL(), state)\n return resp.data\n}\n\nexport function isSSOCallback() {\n const p = new URLSearchParams(window.location.search)\n return p.has('sso_callback')\n}\n\nasync function handleSSOCallbackInner() {\n const p = new URLSearchParams(window.location.search)\n if (p.get('state') !== sessionStorage.getItem('sso.state')) {\n throw new Error(\n 'Invalid OIDC state: You may see this error when your SSO sign in is outdated.'\n )\n }\n const r = await client.getInstance().userLogin(\n {\n type: AuthTypes.SSO,\n extra: JSON.stringify({\n code: p.get('code'),\n code_verifier: sessionStorage.getItem('sso.codeVerifier'),\n redirect_url: getRedirectURL(),\n }),\n },\n { errorStrategy: ErrorStrategy.Custom }\n )\n\n sessionStorage.removeItem('sso.codeVerifier')\n sessionStorage.removeItem('sso.state')\n\n auth.setAuthToken(r.data.token)\n window.location.replace(getBaseURL())\n}\n\nexport async function handleSSOCallback() {\n try {\n await handleSSOCallbackInner()\n } catch (e) {\n Modal.error({\n title: 'SSO Sign In Failed',\n content: '' + e,\n okText: 'Sign In Again',\n onOk: () => window.location.replace(getBaseURL()),\n })\n }\n}\n","import { UserOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'user_profile',\n routerPrefix: '/user_profile',\n icon: UserOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_user_profile\" */ '.'),\n}\n","import { AppstoreOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'overview',\n routerPrefix: '/overview',\n icon: AppstoreOutlined,\n isDefaultRouter: true,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_overview\" */ '.'),\n}\n","import { ClusterOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'cluster_info',\n routerPrefix: '/cluster_info',\n icon: ClusterOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_cluster_info\" */ '.'),\n}\n","import { EyeOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'keyviz',\n routerPrefix: '/keyviz',\n icon: EyeOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_keyviz\" */ '.'),\n}\n","import { ThunderboltOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'statement',\n routerPrefix: '/statement',\n icon: ThunderboltOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_statement\" */ '.'),\n}\n","import { RocketOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'slow_query',\n routerPrefix: '/slow_query',\n icon: RocketOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_slow_query\" */ '.'),\n}\n","import { SafetyCertificateOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'diagnose',\n routerPrefix: '/diagnose',\n icon: SafetyCertificateOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_diagnose\" */ '.'),\n}\n","import { FileSearchOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'search_logs',\n routerPrefix: '/search_logs',\n icon: FileSearchOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_search_logs\" */ '.'),\n}\n","import { AimOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'instance_profiling',\n routerPrefix: '/instance_profiling',\n icon: AimOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_instance_profiling\" */ '.'),\n}\n","import { AimOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'continuous_profiling',\n routerPrefix: '/continuous_profiling',\n icon: AimOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () =>\n import(/* webpackChunkName: \"app_continuous_profiling\" */ '.'),\n}\n","import { ConsoleSqlOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'query_editor',\n routerPrefix: '/query_editor',\n icon: ConsoleSqlOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"query_editor\" */ '.'),\n}\n","import { ToolOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'configuration',\n routerPrefix: '/configuration',\n icon: ToolOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_configuration\" */ '.'),\n}\n","import { ApiOutlined } from '@ant-design/icons'\n\nexport default {\n id: 'debug_api',\n routerPrefix: '/debug_api',\n icon: ApiOutlined,\n translations: require.context('./translations/', false, /\\.yaml$/),\n reactRoot: () => import(/* webpackChunkName: \"app_debug_api\" */ '.'),\n}\n","import '@lib/utils/wdyr'\n\nimport * as singleSpa from 'single-spa'\nimport i18next from 'i18next'\nimport { Modal } from 'antd'\nimport NProgress from 'nprogress'\nimport './nprogress.less'\n\nimport AppRegistry from '@lib/utils/registry'\nimport * as routing from '@lib/utils/routing'\nimport * as auth from '@lib/utils/auth'\nimport * as i18n from '@lib/utils/i18n'\nimport { saveAppOptions, loadAppOptions } from '@lib/utils/appOptions'\nimport {\n initSentryRoutingInstrument,\n applySentryTracingInterceptor,\n} from '@lib/utils/sentryHelpers'\nimport client, { InfoInfoResponse } from '@lib/client'\n\nimport LayoutMain from '@dashboard/layout/main'\nimport LayoutSignIn from '@dashboard/layout/signin'\n\nimport AppUserProfile from '@lib/apps/UserProfile/index.meta'\nimport AppOverview from '@lib/apps/Overview/index.meta'\nimport AppClusterInfo from '@lib/apps/ClusterInfo/index.meta'\nimport AppKeyViz from '@lib/apps/KeyViz/index.meta'\nimport AppStatement from '@lib/apps/Statement/index.meta'\nimport AppSlowQuery from '@lib/apps/SlowQuery/index.meta'\nimport AppDiagnose from '@lib/apps/Diagnose/index.meta'\nimport AppSearchLogs from '@lib/apps/SearchLogs/index.meta'\nimport AppInstanceProfiling from '@lib/apps/InstanceProfiling/index.meta'\nimport AppContinuousProfiling from '@lib/apps/ContinuousProfiling/index.meta'\nimport AppQueryEditor from '@lib/apps/QueryEditor/index.meta'\nimport AppConfiguration from '@lib/apps/Configuration/index.meta'\nimport AppDebugAPI from '@lib/apps/DebugAPI/index.meta'\nimport { handleSSOCallback, isSSOCallback } from '@lib/utils/authSSO'\nimport { mustLoadAppInfo, reloadWhoAmI } from '@lib/utils/store'\n// import __APP_NAME__ from '@lib/apps/__APP_NAME__/index.meta'\n// NOTE: Don't remove above comment line, it is a placeholder for code generator\n\nfunction removeSpinner() {\n const spinner = document.getElementById('dashboard_page_spinner')\n if (spinner) {\n spinner.remove()\n }\n}\n\nasync function webPageStart() {\n const options = loadAppOptions()\n if (options.lang) {\n i18next.changeLanguage(options.lang)\n }\n i18n.addTranslations(\n require.context('@dashboard/layout/translations/', false, /\\.yaml$/)\n )\n\n let info: InfoInfoResponse\n\n try {\n info = await mustLoadAppInfo()\n } catch (e) {\n Modal.error({\n title: `Failed to connect to server`,\n content: '' + e,\n okText: 'Reload',\n onOk: () => window.location.reload(),\n })\n removeSpinner()\n return\n }\n\n if (info?.enable_telemetry) {\n initSentryRoutingInstrument()\n const instance = client.getAxiosInstance()\n applySentryTracingInterceptor(instance)\n }\n\n const registry = new AppRegistry(options)\n\n NProgress.configure({\n showSpinner: false,\n })\n window.addEventListener('single-spa:before-routing-event', () => {\n NProgress.set(0.2)\n })\n window.addEventListener('single-spa:routing-event', () => {\n NProgress.done(true)\n })\n\n singleSpa.registerApplication(\n 'layout',\n AppRegistry.newReactSpaApp(() => LayoutMain, 'root'),\n () => {\n return !routing.isSignInPage()\n },\n { registry }\n )\n\n singleSpa.registerApplication(\n 'signin',\n AppRegistry.newReactSpaApp(() => LayoutSignIn, 'root'),\n () => {\n return routing.isSignInPage()\n },\n { registry }\n )\n\n registry\n .register(AppUserProfile)\n .register(AppOverview)\n .register(AppClusterInfo)\n .register(AppKeyViz)\n .register(AppStatement)\n .register(AppSlowQuery)\n .register(AppDiagnose)\n .register(AppSearchLogs)\n .register(AppInstanceProfiling)\n .register(AppContinuousProfiling)\n .register(AppQueryEditor)\n .register(AppConfiguration)\n .register(AppDebugAPI)\n // .register(__APP_NAME__)\n // NOTE: Don't remove above comment line, it is a placeholder for code generator\n\n try {\n await reloadWhoAmI()\n\n if (routing.isLocationMatch('/')) {\n singleSpa.navigateToUrl('#' + registry.getDefaultRouter())\n }\n } catch (e) {\n // If there are auth errors, redirection will happen any way. So we continue.\n }\n\n window.addEventListener('single-spa:app-change', () => {\n if (!routing.isSignInPage()) {\n if (!auth.getAuthTokenAsBearer()) {\n singleSpa.navigateToUrl('#' + routing.signInRoute)\n }\n }\n })\n\n window.addEventListener('single-spa:first-mount', () => {\n removeSpinner()\n })\n\n singleSpa.start()\n}\n\nasync function main() {\n if (routing.isPortalPage()) {\n // the portal page is only used to receive options\n function handlePortalEvent(event) {\n const { type, token, lang, hideNav, redirectPath } = event.data\n // the event type must be \"DASHBOARD_PORTAL_EVENT\"\n if (type !== 'DASHBOARD_PORTAL_EVENT') {\n return\n }\n\n auth.setAuthToken(token)\n saveAppOptions({ hideNav, lang })\n window.location.hash = `#${redirectPath}`\n window.location.reload()\n\n window.removeEventListener('message', handlePortalEvent)\n }\n\n window.addEventListener('message', handlePortalEvent)\n return\n }\n\n if (isSSOCallback()) {\n await handleSSOCallback()\n return\n }\n\n await webPageStart()\n}\n\nmain()\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"container--1Bm1L\",\"text\":\"text--3emth\",\"bar_container\":\"bar_container--1Ko_P\",\"bar\":\"bar--EJQk_\",\"error_bar\":\"error_bar--3MScu\",\"min_bar\":\"min_bar--3LEsO\",\"max_bar\":\"max_bar--tb3rU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"banner\":\"banner--2llEz\",\"bannerLeft\":\"bannerLeft--2OvuP\",\"bannerRight\":\"bannerRight--3dOpk\",\"bannerLogo\":\"bannerLogo--BGdev\",\"bannerContent\":\"bannerContent--2Q-Dl\",\"bannerTitle\":\"bannerTitle--1h28N\",\"bannerVersion\":\"bannerVersion--1QYrn\"};","import client, {\n ErrorStrategy,\n InfoInfoResponse,\n InfoWhoAmIResponse,\n} from '@lib/client'\nimport { Store } from 'pullstate'\nimport { authEvents, EVENT_TOKEN_CHANGED, getAuthToken } from './auth'\n\ninterface StoreState {\n whoAmI?: InfoWhoAmIResponse\n appInfo?: InfoInfoResponse\n}\n\nexport const store = new Store({})\n\nexport const useIsWriteable = () =>\n store.useState((s) => Boolean(s.whoAmI && s.whoAmI.is_writeable))\n\nexport async function reloadWhoAmI() {\n if (!getAuthToken()) {\n store.update((s) => {\n s.whoAmI = undefined\n })\n return\n }\n\n try {\n const resp = await client.getInstance().infoWhoami({\n errorStrategy: ErrorStrategy.Custom,\n })\n store.update((s) => {\n s.whoAmI = resp.data\n })\n } catch (ex) {\n store.update((s) => {\n s.whoAmI = undefined\n })\n }\n}\n\nexport async function mustLoadAppInfo(): Promise {\n const resp = await client.getInstance().infoGet({\n errorStrategy: ErrorStrategy.Custom,\n })\n store.update((s) => {\n s.appInfo = resp.data\n })\n return resp.data\n}\n\nauthEvents.on(EVENT_TOKEN_CHANGED, async () => {\n await reloadWhoAmI()\n})\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"headInner\":\"headInner--3exj0\",\"headTitleSection\":\"headTitleSection--3sYRF\",\"headBack\":\"headBack--11aIm\",\"headTitle\":\"headTitle--2Ub4U\",\"headContent\":\"headContent--Da1kk\",\"headFooter\":\"headFooter--15iZs\"};","import * as url from 'url'\nimport { AxiosInstance } from 'axios'\nimport * as Sentry from '@sentry/react'\nimport { stripQueryString } from './query'\n\nconst firstMountTransaction = Sentry.startTransaction({ name: 'first mount' })\nconst transactionHub = new Map()\n\nexport const sentryEnabled = process.env.REACT_APP_SENTRY_ENABLED === 'true'\n\nexport function markStart(name: string, op?: string) {\n const transaction = Sentry.startTransaction({ name, op })\n transactionHub.set(transaction.name, transaction)\n transactionHub.set(transaction.traceId, transaction)\n return transaction\n}\n\nexport function markEnd(name: string, traceId?: string) {\n const transaction = traceId\n ? transactionHub.get(traceId)\n : transactionHub.get(name)\n if (transaction) {\n transaction.finish()\n transactionHub.delete(name)\n if (traceId) {\n transactionHub.delete(traceId)\n }\n }\n}\n\nexport function markTag(key: string, value: string | number, traceId: string) {\n const transaction = transactionHub.get(traceId)\n if (transaction) {\n transaction.setTag(key, value)\n }\n}\n\nexport const reportError: typeof Sentry.captureException = (...args) => {\n if (sentryEnabled) {\n return Sentry.captureException(...args)\n }\n return ''\n}\n\nexport function initSentryRoutingInstrument() {\n window.addEventListener('single-spa:first-mount', () => {\n firstMountTransaction.finish()\n })\n\n window.addEventListener('single-spa:before-routing-event', (e: any) => {\n const { hash: newUrlHash } = url.parse(e.detail.newUrl)\n const { hash: oldUrlHash } = url.parse(e.detail.oldUrl)\n\n if (!newUrlHash) return\n\n const from = stripQueryString(oldUrlHash || '/')\n const to = stripQueryString(newUrlHash)\n const transaction = markStart(to, 'routing')\n transaction.setTag('routing.from', from)\n transaction.setTag('routing.to', to)\n transaction.setTag(\n 'routing.mount',\n e.detail.appsByNewStatus.MOUNTED.join(',')\n )\n transaction.setTag(\n 'routing.unmount',\n e.detail.appsByNewStatus.NOT_MOUNTED.join(',')\n )\n })\n\n window.addEventListener('single-spa:routing-event', (e: any) => {\n const { hash: newUrlHash } = url.parse(e.detail.newUrl)\n markEnd(stripQueryString(newUrlHash!))\n })\n}\n\nexport function applySentryTracingInterceptor(instance: AxiosInstance) {\n instance.interceptors.request.use((config) => {\n if (config.url && config.method) {\n const { pathname } = url.parse(config.url)\n const transaction = markStart(pathname!, 'http')\n transaction.setTag('http.method', config.method.toUpperCase())\n config.headers['x-sentry-trace'] = transaction.traceId\n }\n return config\n })\n\n instance.interceptors.response.use(\n (response) => {\n const id = response.config?.headers['x-sentry-trace']\n if (id) {\n const { pathname } = url.parse(response.config.url!)\n markTag('http.status', response.status, id)\n markEnd(pathname!, id)\n }\n return response\n },\n (error) => {\n const id = error?.config?.headers['x-sentry-trace']\n if (id) {\n const { pathname } = url.parse(error.config.url)\n markTag(id, 'error', error.message)\n markEnd(pathname!, id)\n }\n\n return Promise.reject(error)\n }\n )\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardTable\":\"cardTable--1D9Gw\",\"contentExtended\":\"contentExtended--2LNH1\",\"tableHeader\":\"tableHeader--2tfze\",\"clickableTableRow\":\"clickableTableRow--XJRDe\",\"highlightRow\":\"highlightRow--1cizP\",\"cardTableContent\":\"cardTableContent--1Y2dq\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"dropdown_content_container\":\"dropdown_content_container--CmTRA\",\"usual_time_ranges\":\"usual_time_ranges--2etQ-\",\"custom_time_ranges\":\"custom_time_ranges--2-aME\",\"time_range_items\":\"time_range_items--3ZZi9\",\"time_range_item\":\"time_range_item--3_kX2\",\"time_range_item_active\":\"time_range_item_active--1pdd_\"};","import React from 'react'\nimport {\n ArrowUpOutlined,\n ArrowDownOutlined,\n DownOutlined,\n RightOutlined,\n} from '@ant-design/icons'\nimport { createTheme, registerIcons } from 'office-ui-fabric-react/lib/Styling'\nimport { Customizations } from 'office-ui-fabric-react/lib/Utilities'\n\nimport { ConfigProvider } from 'antd'\nimport i18next from 'i18next'\nimport enUS from 'antd/es/locale/en_US'\nimport zhCN from 'antd/es/locale/zh_CN'\n\nregisterIcons({\n icons: {\n SortUp: ,\n SortDown: ,\n chevronrightmed: ,\n tag: ,\n },\n})\n\nconst theme = createTheme({\n defaultFontStyle: { fontFamily: 'inherit', fontSize: '1em' },\n})\n\nCustomizations.applySettings({ theme })\n\nexport default function Root({ children }) {\n return (\n \n {children}\n \n )\n}\n","import React, { ReactNode } from 'react'\nimport cx from 'classnames'\nimport styles from './index.module.less'\n\nexport interface IHeadProps {\n title: string\n titleExtra?: ReactNode\n back?: ReactNode\n footer?: ReactNode\n className?: string\n children?: ReactNode\n}\n\nfunction Head({\n title,\n titleExtra,\n back,\n footer,\n className,\n children,\n ...rest\n}: IHeadProps) {\n return (\n
\n
\n {(title || titleExtra || back) && (\n
\n {back &&
{back}
}\n {title &&
{title}
}\n {titleExtra &&
{titleExtra}
}\n
\n )}\n {children &&
{children}
}\n {footer &&
{footer}
}\n
\n
\n )\n}\n\nexport default Head\n","import React, { ReactNode } from 'react'\nimport cx from 'classnames'\nimport styles from './index.module.less'\n\nexport interface ICardProps\n extends Omit, 'title'> {\n title?: ReactNode\n subTitle?: ReactNode\n extra?: ReactNode\n noMargin?: boolean\n noMarginTop?: boolean\n noMarginBottom?: boolean\n noMarginLeft?: boolean\n noMarginRight?: boolean\n flexGrow?: boolean\n}\n\nexport default function Card({\n title,\n subTitle,\n extra,\n className,\n noMargin,\n noMarginTop,\n noMarginBottom,\n noMarginLeft,\n noMarginRight,\n flexGrow,\n children,\n ...rest\n}: ICardProps) {\n return (\n \n \n {(title || subTitle || extra) && (\n
\n {title &&
{title}
}\n {subTitle &&
{subTitle}
}\n
\n {extra &&
{extra}
}\n
\n )}\n {children &&
{children}
}\n
\n \n )\n}\n","import React, { useEffect, useState } from 'react'\nimport cx from 'classnames'\nimport { Skeleton } from 'antd'\nimport { SkeletonProps } from 'antd/lib/skeleton'\nimport { AppearAnimate } from '..'\n\nimport styles from './index.module.less'\n\nexport interface IAnimatedSkeletonProps extends SkeletonProps {\n showSkeleton?: boolean\n children?: React.ReactNode\n style?: React.CSSProperties\n}\n\nfunction AnimatedSkeleton({\n showSkeleton,\n children,\n style,\n ...restProps\n}: IAnimatedSkeletonProps) {\n const [skeletonAppears, setSkeletonAppears] = useState(0)\n\n useEffect(() => {\n if (showSkeleton) {\n setSkeletonAppears((v) => v + 1)\n }\n }, [showSkeleton])\n\n return (\n
\n {showSkeleton && (\n 1,\n })}\n >\n \n
\n )}\n {!showSkeleton && (\n {children}\n )}\n \n )\n}\n\nexport default React.memo(AnimatedSkeleton)\n","import { Alert } from 'antd'\nimport _ from 'lodash'\nimport React, { useMemo } from 'react'\n\nexport interface IErrorBarProps {\n errors: any[]\n}\n\nexport default function ErrorBar({ errors }: IErrorBarProps) {\n // show at most 3 kinds of errors\n const errorMsgs = useMemo(\n () =>\n _.uniq(_.map(errors, (err) => err?.message || ''))\n .filter((msg) => msg !== '')\n .slice(0, 3),\n [errors]\n )\n\n if (errorMsgs.length === 0) {\n return null\n } else if (errorMsgs.length === 1) {\n return \n } else {\n return (\n \n {errorMsgs.map((msg, idx) => (\n
  • {msg}
  • \n ))}\n \n }\n />\n )\n }\n}\n","// FIXME: This is mostly a clone from https://github.com/microsoft/fluentui/blob/master/packages/office-ui-fabric-react/src/components/GroupedList/GroupHeader.base.tsx, but replaced with Ant'd Checkbox\n// Drop it after https://github.com/microsoft/fluentui/issues/13144 is resolved\n\nimport React from 'react'\nimport {\n classNamesFunction,\n styled,\n} from 'office-ui-fabric-react/lib/Utilities'\nimport {\n IGroupHeaderStyleProps,\n IGroupHeaderStyles,\n IGroupHeaderProps,\n GroupSpacer,\n} from 'office-ui-fabric-react/lib/GroupedList'\nimport {\n FocusZone,\n FocusZoneDirection,\n} from 'office-ui-fabric-react/lib/FocusZone'\nimport { getStyles } from 'office-ui-fabric-react/lib/components/GroupedList/GroupHeader.styles'\n\nimport { Icon } from 'office-ui-fabric-react/lib/Icon'\nimport { Checkbox } from 'antd'\nimport { usePersistFn } from 'ahooks'\n\nconst getClassNames = classNamesFunction<\n IGroupHeaderStyleProps,\n IGroupHeaderStyles\n>()\n\nfunction BaseAntCheckboxGroupHeader(props: IGroupHeaderProps) {\n const _classNames = getClassNames(props.styles, {\n theme: props.theme!,\n className: props.className,\n selected: props.selected,\n isCollapsed: props.group?.isCollapsed,\n compact: props.compact,\n })\n\n const _onHeaderClick = usePersistFn(() => {\n if (props.onToggleSelectGroup) {\n props.onToggleSelectGroup(props.group!)\n }\n })\n\n const _onToggleSelectGroupClick = usePersistFn(\n (ev: React.MouseEvent) => {\n if (props.onToggleSelectGroup) {\n props.onToggleSelectGroup(props.group!)\n }\n ev.preventDefault()\n ev.stopPropagation()\n }\n )\n\n const _onToggleCollapse = usePersistFn(\n (ev: React.MouseEvent) => {\n if (props.onToggleCollapse) {\n props.onToggleCollapse(props.group!)\n }\n ev.stopPropagation()\n ev.preventDefault()\n }\n )\n\n return (\n \n \n \n \n \n\n \n \n \n \n
    \n {props.group?.name}\n
    \n \n \n )\n}\n\nexport const AntCheckboxGroupHeader: React.FunctionComponent = styled<\n IGroupHeaderProps,\n IGroupHeaderStyleProps,\n IGroupHeaderStyles\n>(BaseAntCheckboxGroupHeader, getStyles, undefined, {\n scope: 'GroupHeader',\n})\n","import { IRenderFunction } from '@uifabric/utilities'\nimport { usePersistFn } from 'ahooks'\nimport { Checkbox } from 'antd'\nimport cx from 'classnames'\nimport {\n ColumnActionsMode,\n ConstrainMode,\n DetailsList,\n DetailsListLayoutMode,\n IColumn,\n IDetailsList,\n IDetailsListProps,\n SelectionMode,\n IDetailsRowProps,\n} from 'office-ui-fabric-react/lib/DetailsList'\nimport { Sticky, StickyPositionType } from 'office-ui-fabric-react/lib/Sticky'\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react'\n\nimport AnimatedSkeleton from '../AnimatedSkeleton'\nimport Card from '../Card'\nimport ErrorBar from '../ErrorBar'\n\nimport styles from './index.module.less'\n\nexport { AntCheckboxGroupHeader } from './GroupHeader'\n\nDetailsList['whyDidYouRender'] = {\n customName: 'DetailsList',\n}\n\nfunction renderStickyHeader(props, defaultRender) {\n if (!props) {\n return null\n }\n return (\n \n
    {defaultRender!(props)}
    \n
    \n )\n}\n\nfunction renderCheckbox(props) {\n return \n}\n\nexport function ImprovedDetailsList(props: IDetailsListProps) {\n return (\n \n )\n}\n\nImprovedDetailsList.whyDidYouRender = true\n\nexport const MemoDetailsList = React.memo(ImprovedDetailsList)\n\nfunction copyAndSort(\n items: T[],\n columnKey: string,\n isSortedDescending?: boolean\n): T[] {\n const key = columnKey as keyof T\n return items\n .slice(0)\n .sort((a: T, b: T) =>\n (isSortedDescending ? a[key] < b[key] : a[key] > b[key]) ? 1 : -1\n )\n}\n\nexport interface ICardTableProps extends IDetailsListProps {\n title?: React.ReactNode\n subTitle?: React.ReactNode\n className?: string\n style?: object\n loading?: boolean\n hideLoadingWhenNotEmpty?: boolean // Whether loading animation should not show when data is not empty\n errors?: any[]\n\n cardExtra?: React.ReactNode\n cardNoMargin?: boolean\n cardNoMarginTop?: boolean\n extendLastColumn?: boolean\n\n // The keys of visible columns. If null, all columns will be shown.\n visibleColumnKeys?: { [key: string]: boolean }\n visibleItemsCount?: number\n\n // Handle sort\n orderBy?: string\n desc?: boolean\n onChangeOrder?: (orderBy: string, desc: boolean) => void\n\n // Event triggered when a row is clicked.\n onRowClicked?: (\n item: any,\n itemIndex: number,\n ev: React.MouseEvent\n ) => void\n clickedRowIndex?: number\n}\n\nfunction useRenderClickableRow(\n onRowClicked,\n clickedRowIdx,\n customRender?: IRenderFunction | undefined\n) {\n return useCallback(\n (props, defaultRender) => {\n if (!props) {\n return null\n }\n return (\n onRowClicked?.(props.item, props.itemIndex, ev)}\n >\n {customRender ? customRender(props) : defaultRender!(props)}\n \n )\n },\n [onRowClicked, clickedRowIdx, customRender]\n )\n}\n\nfunction dummyColumn(): IColumn {\n return {\n name: '',\n key: 'dummy',\n minWidth: 28,\n maxWidth: 28,\n onRender: (_rec) => null,\n }\n}\n\nexport default function CardTable(props: ICardTableProps) {\n const {\n title,\n subTitle,\n className,\n style,\n loading = false,\n hideLoadingWhenNotEmpty,\n errors = [],\n cardExtra,\n cardNoMargin,\n cardNoMarginTop,\n extendLastColumn,\n visibleColumnKeys,\n visibleItemsCount,\n orderBy,\n desc = true,\n onChangeOrder,\n onRowClicked,\n clickedRowIndex,\n columns,\n items,\n onRenderRow,\n ...restProps\n } = props\n const renderClickableRow = useRenderClickableRow(\n onRowClicked,\n clickedRowIndex || -1,\n onRenderRow\n )\n\n const onColumnClick = usePersistFn(\n (_ev: React.MouseEvent, column: IColumn) => {\n if (!onChangeOrder) {\n return\n }\n if (column.key === orderBy) {\n onChangeOrder(orderBy, !desc)\n } else {\n onChangeOrder(column.key, true)\n }\n }\n )\n\n const finalColumns = useMemo(() => {\n let newColumns: IColumn[] = columns || []\n if (visibleColumnKeys != null) {\n newColumns = newColumns.filter((c) => visibleColumnKeys[c.key])\n }\n newColumns = newColumns.map((c) => ({\n ...c,\n isResizable: c.isResizable ?? true,\n isSorted: c.key === orderBy,\n isSortedDescending: desc,\n onColumnClick,\n columnActionsMode: c.columnActionsMode || ColumnActionsMode.disabled,\n }))\n if (!extendLastColumn) {\n newColumns.push(dummyColumn())\n }\n return newColumns\n }, [\n onColumnClick,\n columns,\n visibleColumnKeys,\n orderBy,\n desc,\n extendLastColumn,\n ])\n\n const finalItems = useMemo(() => {\n let newItems = items || []\n const curColumn = finalColumns.find((col) => col.key === orderBy)\n if (curColumn) {\n newItems = copyAndSort(\n newItems,\n curColumn.fieldName!,\n curColumn.isSortedDescending\n )\n }\n if (visibleItemsCount != null) {\n newItems = newItems.slice(0, visibleItemsCount)\n }\n return newItems\n }, [visibleItemsCount, items, orderBy, finalColumns])\n\n const tableRef = useRef(null)\n useEffect(() => {\n if ((clickedRowIndex ?? -1) > 0) {\n tableRef.current?.scrollToIndex(clickedRowIndex!)\n }\n })\n\n return (\n \n \n \n
    \n \n
    \n \n \n )\n}\n","import React, { useMemo } from 'react'\nimport cx from 'classnames'\nimport clamp from 'lodash/clamp'\nimport sum from 'lodash/sum'\n\nimport styles from './Bar.module.less'\n\nexport interface IBarProps {\n value: number[] | number\n colors?: (string | null)[]\n capacity: number\n min?: number\n max?: number\n className?: string\n children?: React.ReactNode\n textWidth?: number | string\n}\n\nfunction Bar({\n value,\n colors,\n capacity,\n min,\n max,\n className,\n children,\n textWidth,\n ...rest\n}: IBarProps) {\n const clampedValues = useMemo(() => {\n if (value instanceof Array) {\n const r: [number, number][] = []\n let sum = 0\n value.forEach((value) => {\n let v: number\n if (sum + value <= capacity) {\n v = value\n } else if (sum < capacity) {\n v = capacity - sum\n } else {\n v = 0\n }\n r.push([sum, v])\n sum += v\n })\n return r\n } else {\n return [[0, clamp(value, 0, capacity)]]\n }\n }, [value, capacity])\n\n const valuesSum = useMemo(() => sum(clampedValues.map(([_s, v]) => v)), [\n clampedValues,\n ])\n\n if (min != null) {\n min = clamp(min, 0, valuesSum)\n if ((valuesSum - min) / capacity < 0.01) {\n min = undefined\n }\n }\n if (max != null) {\n max = clamp(max, valuesSum, capacity)\n if ((max - valuesSum) / capacity < 0.01) {\n max = undefined\n }\n }\n\n return (\n
    \n {children && (\n
    \n {children}\n
    \n )}\n
    \n {clampedValues.map(([offset, value], idx) => (\n \n ))}\n {min != null && (\n \n )}\n {max != null && (\n \n )}\n
    \n
    \n )\n}\n\nexport default Bar\n","import Bar from './Bar'\nexport * from './Bar'\nexport default Bar\n","import React from 'react'\nimport cx from 'classnames'\nimport styles from './index.module.less'\n\nexport interface IPreProps extends React.HTMLAttributes {\n noWrap?: boolean\n}\n\nexport default function Pre({\n noWrap,\n className,\n children,\n ...rest\n}: IPreProps) {\n return (\n \n {children}\n \n )\n}\n","import React, { useMemo } from 'react'\n\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter'\nimport sql from 'react-syntax-highlighter/dist/esm/languages/hljs/sql'\nimport lightTheme from 'react-syntax-highlighter/dist/esm/styles/hljs/atom-one-light'\nimport darkTheme from 'react-syntax-highlighter/dist/esm/styles/hljs/atom-one-dark'\nimport Pre from '../Pre'\nimport formatSql from '@lib/utils/sqlFormatter'\nimport moize from 'moize'\n\nSyntaxHighlighter.registerLanguage('sql', sql)\n\ninterface Props {\n sql: string\n compact?: boolean\n theme?: 'dark' | 'light'\n}\n\nfunction simpleSqlMinify(str) {\n return str\n .replace(/\\s{1,}/g, ' ')\n .replace(/\\{\\s{1,}/g, '{')\n .replace(/\\}\\s{1,}/g, '}')\n .replace(/;\\s{1,}/g, ';')\n .replace(/\\/\\*\\s{1,}/g, '/*')\n .replace(/\\*\\/\\s{1,}/g, '*/')\n}\n\nfunction HighlightSQL({ sql, compact, theme = 'light' }: Props) {\n const formattedSql = useMemo(() => {\n let f = formatSql(sql)\n if (compact) {\n f = simpleSqlMinify(f)\n }\n return f\n }, [sql, compact])\n\n return (\n \n {formattedSql}\n \n )\n}\n\nexport default moize.react(HighlightSQL, {\n maxSize: 1000,\n})\n","import React from 'react'\nimport cx from 'classnames'\n\nimport styles from './index.module.less'\n\nexport interface ITextWrapProps extends React.HTMLAttributes {\n // When multiline enabled, text will be wrapped. When multiline disabled,\n // overflow texts will be truncated with ellipsis.\n multiline?: boolean\n}\n\nexport default function TextWrap({\n multiline,\n className,\n children,\n ...rest\n}: ITextWrapProps) {\n const c = cx(className, {\n [styles.multiLine]: multiline,\n [styles.singleLine]: !multiline,\n })\n return (\n
    \n {children}\n
    \n )\n}\n","import React from 'react'\nimport { Descriptions as AntDescriptions } from 'antd'\nimport type { DescriptionsItemProps } from 'antd/es/descriptions/Item'\nimport cx from 'classnames'\n\nimport styles from './index.module.less'\n\nexport interface IDescriptionsProps {\n className?: string\n children?:\n | (React.ReactElement | null | undefined)[]\n | React.ReactElement\n column?: number\n}\n\nexport interface IDescriptionsItemProps extends DescriptionsItemProps {\n className?: string\n children: React.ReactNode\n multiline?: boolean\n}\n\n// FIXME: This logic duplicates to \nfunction mapItem(item: React.ReactElement) {\n const { props } = item\n const { multiline, className, children, ...restProps } = props\n const c = cx(className, styles.item, {\n [styles.itemMultiline]: multiline,\n [styles.itemSingleline]: !multiline,\n })\n return (\n \n {children}\n \n )\n}\n\nfunction Descriptions({\n className,\n children,\n column,\n ...restProps\n}: IDescriptionsProps) {\n const c = cx(className, styles.descriptions)\n let realChildren\n if (children) {\n if (Array.isArray(children)) {\n realChildren = children.filter((v) => v != null).map((v) => mapItem(v!))\n } else {\n realChildren = mapItem(children)\n }\n }\n return (\n \n {realChildren}\n \n )\n}\n\nDescriptions.Item = AntDescriptions.Item as React.FC\n\nexport default Descriptions\n","import React from 'react'\nimport { Tooltip, Typography } from 'antd'\nimport type { TooltipPlacement } from 'antd/es/tooltip'\nimport { InfoCircleOutlined, WarningOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\n\nexport interface ITextWithInfoProps {\n tooltip?: React.ReactNode\n placement?: TooltipPlacement\n children: React.ReactNode\n type?: 'warning' | 'danger'\n}\n\nfunction TextWithInfo({\n tooltip,\n placement,\n children,\n type,\n}: ITextWithInfoProps) {\n let textWithIcon\n if (tooltip) {\n const Icon = type ? WarningOutlined : InfoCircleOutlined\n textWithIcon = (\n \n {children} \n \n )\n } else {\n textWithIcon = children\n }\n\n let textWithColor\n if (type) {\n textWithColor = (\n {textWithIcon}\n )\n } else {\n textWithColor = textWithIcon\n }\n\n if (!tooltip) {\n return textWithColor\n }\n\n return (\n \n {textWithColor}\n \n )\n}\n\nexport interface ITransKeyTextWithInfo {\n transKey: string\n placement?: TooltipPlacement\n type?: 'warning' | 'danger'\n}\n\nfunction TransKey({ transKey, placement, type }: ITransKeyTextWithInfo) {\n const { t } = useTranslation()\n const text = t(transKey)\n const tooltip = t(`${transKey}_tooltip`, {\n defaultValue: '',\n fallbackLng: '_',\n })\n return (\n \n {text}\n \n )\n}\n\nTextWithInfo.TransKey = TransKey\n\nexport default TextWithInfo\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { addTranslationResource } from '@lib/utils/i18n'\n\nexport interface IExpandProps {\n expanded?: boolean\n collapsedContent?: React.ReactNode\n children: React.ReactNode\n}\n\nfunction Expand({ collapsedContent, children, expanded }: IExpandProps) {\n // FIXME: Animations\n return
    {expanded ? children : collapsedContent ?? children}
    \n}\n\nconst translations = {\n en: {\n expandText: 'Expand',\n collapseText: 'Collapse',\n },\n zh: {\n expandText: '展开',\n collapseText: '收起',\n },\n}\n\nfor (const key in translations) {\n addTranslationResource(key, {\n component: {\n expandLink: translations[key],\n },\n })\n}\n\nexport interface IExpandLinkProps\n extends React.AnchorHTMLAttributes {\n expanded?: boolean\n}\n\nfunction Link({ expanded, ...restProps }: IExpandLinkProps) {\n const { t } = useTranslation()\n return (\n \n {expanded\n ? t('component.expandLink.collapseText')\n : t('component.expandLink.expandText')}\n \n )\n}\n\nExpand.Link = Link\n\nexport default Expand\n","import 'echarts/lib/chart/bar'\nimport 'echarts/lib/chart/line'\nimport 'echarts/lib/component/grid'\nimport 'echarts/lib/component/legend'\nimport 'echarts/lib/component/tooltip'\n\nimport { Space } from 'antd'\nimport dayjs from 'dayjs'\nimport ReactEchartsCore from 'echarts-for-react/lib/core'\nimport echarts from 'echarts/lib/echarts'\nimport _ from 'lodash'\nimport React, { useMemo, useRef } from 'react'\nimport { useInterval } from 'react-use'\nimport format from 'string-template'\nimport { LoadingOutlined, ReloadOutlined } from '@ant-design/icons'\nimport { getValueFormat } from '@baurine/grafana-value-formats'\n\nimport client from '@lib/client'\nimport { AnimatedSkeleton, Card } from '@lib/components'\nimport { useBatchClientRequest } from '@lib/utils/useClientRequest'\nimport ErrorBar from '../ErrorBar'\nimport { addTranslationResource } from '@lib/utils/i18n'\nimport { Link } from 'react-router-dom'\nimport { useTranslation } from 'react-i18next'\n\nexport type GraphType = 'bar' | 'line'\n\nconst translations = {\n en: {\n error: {\n api: {\n metrics: {\n prom_not_found:\n 'Prometheus is not deployed in the cluster. Metrics are unavailable.',\n },\n },\n },\n components: {\n metricChart: {\n changePromButton: 'Change Prometheus Source',\n },\n },\n },\n zh: {\n error: {\n api: {\n metrics: {\n prom_not_found: '集群中未部署 Prometheus 组件,监控不可用。',\n },\n },\n },\n components: {\n metricChart: {\n changePromButton: '修改 Prometheus 源',\n },\n },\n },\n}\n\nfor (const key in translations) {\n addTranslationResource(key, translations[key])\n}\n\nexport interface ISeries {\n query: string\n name: string\n}\n\nexport interface IMetricChartProps {\n title: React.ReactNode\n\n series: ISeries[]\n // stepSec: number\n // beginTimeSec: number\n // endTimeSec: number\n unit: string\n type: GraphType\n}\n\nconst HEIGHT = 250\n\nfunction getSeriesProps(type: GraphType) {\n if (type === 'bar') {\n return {\n stack: 'bar_stack',\n }\n } else if (type === 'line') {\n return {\n showSymbol: false,\n }\n }\n}\n\n// FIXME\nfunction getTimeParams() {\n return {\n beginTimeSec: Math.floor((Date.now() - 60 * 60 * 1000) / 1000),\n endTimeSec: Math.floor(Date.now() / 1000),\n }\n}\n\nexport default function MetricChart({\n title,\n series,\n // stepSec,\n // beginTimeSec,\n // endTimeSec,\n unit,\n type,\n}: IMetricChartProps) {\n const timeParams = useRef(getTimeParams())\n const { t } = useTranslation()\n\n const { isLoading, data, error, sendRequest } = useBatchClientRequest(\n series.map((s) => (reqConfig) =>\n client\n .getInstance()\n .metricsQueryGet(\n timeParams.current.endTimeSec,\n s.query,\n timeParams.current.beginTimeSec,\n 30,\n reqConfig\n )\n )\n )\n\n const update = () => {\n timeParams.current = getTimeParams()\n sendRequest()\n }\n\n useInterval(update, 60 * 1000)\n\n const valueFormatter = useMemo(() => getValueFormat(unit), [unit])\n\n const opt = useMemo(() => {\n const s: any[] = []\n data.forEach((dataBySeries, seriesIdx) => {\n if (!dataBySeries) {\n return\n }\n if (dataBySeries.status !== 'success') {\n return\n }\n const r = (dataBySeries.data as any)?.result\n if (!r) {\n return\n }\n r.forEach((rData) => {\n s.push({\n name: format(series[seriesIdx].name, rData.metric),\n data:\n rData.values.map(([ts, value]) => {\n return [ts * 1000, value]\n }) ?? [],\n type,\n ...getSeriesProps(type),\n })\n })\n })\n\n return {\n xAxis: {\n type: 'time',\n splitLine: {\n show: true,\n },\n minorSplitLine: {\n show: true,\n },\n splitNumber: 10,\n boundaryGap: false,\n axisLabel: {\n formatter: (v) => {\n return dayjs(v).format('HH:mm')\n },\n showMinLabel: false,\n showMaxLabel: false,\n },\n axisLine: {\n lineStyle: {\n width: 0,\n },\n },\n axisTick: {\n lineStyle: {\n width: 0,\n },\n },\n },\n legend: {\n orient: 'horizontal',\n x: 'left', // 'center' | 'left' | {number},\n y: 'bottom',\n },\n yAxis: {\n type: 'value',\n axisLabel: {\n formatter: (v) => {\n return valueFormatter(v, 1)\n },\n },\n splitLine: {\n show: true,\n },\n axisLine: {\n lineStyle: {\n width: 0,\n },\n },\n axisTick: {\n lineStyle: {\n width: 0,\n },\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'line',\n animation: false,\n snap: true,\n },\n formatter: (series) => {\n let tooltip = ''\n\n const title = dayjs(series[0].axisValue).format('YYYY-MM-DD HH:mm:ss')\n tooltip += `
    ${title}
    `\n\n series.forEach((s) => {\n tooltip += `
    ${s.marker} ${s.seriesName}: ${valueFormatter(\n s.value[1],\n 1\n )}
    `\n })\n\n return tooltip\n },\n },\n animation: false,\n grid: {\n top: 10,\n left: 10,\n right: 0,\n bottom: 60,\n containLabel: true,\n },\n series: s,\n }\n }, [data, valueFormatter, series, type])\n\n const showSkeleton = isLoading && _.every(data, (d) => d === null)\n\n let inner\n\n if (showSkeleton) {\n inner = null\n } else if (\n _.every(\n _.zip(data, error),\n ([data, err]) => err || !data || data?.status !== 'success'\n )\n ) {\n inner = (\n
    \n \n \n \n {t('components.metricChart.changePromButton')}\n \n \n
    \n )\n } else {\n inner = (\n \n )\n }\n\n const subTitle = (\n \n \n \n \n {isLoading ? : null}\n \n )\n\n return (\n \n \n {inner}\n \n \n )\n}\n","import React, { ReactNode, useMemo, useState, useEffect } from 'react'\nimport { Checkbox, Popover, Space, Button } from 'antd'\nimport { DownOutlined } from '@ant-design/icons'\nimport { useTranslation } from 'react-i18next'\nimport { IColumn } from 'office-ui-fabric-react/lib/DetailsList'\nimport { addTranslationResource } from '@lib/utils/i18n'\n\nimport styles from './index.module.less'\n\nconst translations = {\n en: {\n trigger_text: 'Columns',\n select: 'Select',\n reset: 'Reset',\n },\n zh: {\n trigger_text: '选择列',\n select: '选择',\n reset: '重置',\n },\n}\n\nfor (const key in translations) {\n addTranslationResource(key, {\n component: {\n columnsSelector: translations[key],\n },\n })\n}\n\nexport interface IColumnKeys {\n [key: string]: boolean\n}\n\nexport interface IColumnsSelectorProps {\n columns: IColumn[]\n visibleColumnKeys?: IColumnKeys\n defaultVisibleColumnKeys?: IColumnKeys\n onChange?: (visibleKeys: IColumnKeys) => void\n foot?: ReactNode\n}\n\nexport default function ColumnsSelector({\n columns,\n visibleColumnKeys,\n defaultVisibleColumnKeys,\n onChange,\n foot,\n}: IColumnsSelectorProps) {\n const { t } = useTranslation()\n const [indeterminate, setIndeterminate] = useState(true)\n const [checkedAll, setCheckedAll] = useState(false)\n\n const filteredColumns = useMemo(\n () => columns.filter((c) => c.key !== 'dummy'),\n [columns]\n )\n\n const visibleKeys = useMemo(() => {\n if (visibleColumnKeys) {\n return visibleColumnKeys\n }\n return columns.reduce((acc, cur) => {\n acc[cur.key] = true\n return acc\n }, {})\n }, [visibleColumnKeys, columns])\n\n useEffect(() => {\n function updateCheckAllStatus(columnKeys) {\n const checkedKeysCount = Object.keys(columnKeys).filter(\n (k) => columnKeys[k] && k !== 'dummy'\n ).length\n setIndeterminate(\n checkedKeysCount > 0 && checkedKeysCount < filteredColumns.length\n )\n setCheckedAll(checkedKeysCount === filteredColumns.length)\n }\n\n updateCheckAllStatus(visibleKeys)\n }, [visibleKeys, filteredColumns])\n\n function handleCheckAllChange(e) {\n const checked = e.target.checked\n const newVisibleKeys = columns.reduce((acc, cur) => {\n acc[cur.key] = checked\n return acc\n }, {})\n onChange && onChange(newVisibleKeys)\n }\n\n function handleCheckChange(e, column: IColumn) {\n const checked = e.target.checked\n const newVisibleKeys = {\n ...visibleKeys,\n [column.key]: checked,\n }\n onChange && onChange(newVisibleKeys)\n }\n\n const title = (\n
    \n \n {t('component.columnsSelector.select')}\n \n {defaultVisibleColumnKeys && (\n onChange && onChange(defaultVisibleColumnKeys)}\n >\n {t('component.columnsSelector.reset')}\n \n )}\n
    \n )\n\n const content = (\n
    \n \n {filteredColumns.map((column) => (\n handleCheckChange(e, column)}\n >\n {column.name}\n \n ))}\n \n {foot &&
    {foot}
    }\n
    \n )\n\n return (\n \n \n {t('component.columnsSelector.trigger_text')} \n \n \n )\n}\n","import React from 'react'\nimport cx from 'classnames'\nimport { Space } from 'antd'\n\nimport styles from './index.module.less'\n\nexport default function Toolbar(props: React.HTMLAttributes) {\n const { className, children, ...rest } = props\n const c = cx(className, styles.toolbar_container)\n\n // https://stackoverflow.com/questions/27366077\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child) || child.type !== Space) {\n console.error('Toolbar children only can be Space component')\n }\n })\n\n return (\n
    \n {React.Children.map(children, (child, idx) => {\n // https://stackoverflow.com/questions/42261783\n if (React.isValidElement(child) && child.type === Space) {\n const extraClassName =\n idx === 0 ? styles.left_space : styles.right_space\n return React.cloneElement(child, {\n className: cx(child.props.className, extraClassName),\n size: child.props.size || 'middle',\n })\n }\n })}\n
    \n )\n}\n","import { Dayjs } from 'dayjs'\nimport dayjsGenerateConfig from 'rc-picker/lib/generate/dayjs'\nimport generatePicker from 'antd/es/date-picker/generatePicker'\nimport 'antd/es/date-picker/style/index'\n\nconst DatePicker = generatePicker(dayjsGenerateConfig)\n\nexport default DatePicker\n","import React, { useState, useMemo, useCallback, useEffect } from 'react'\nimport { Dropdown, Button } from 'antd'\nimport DatePicker from '../DatePicker'\nimport { ClockCircleOutlined, DownOutlined } from '@ant-design/icons'\nimport { getValueFormat } from '@baurine/grafana-value-formats'\nimport cx from 'classnames'\nimport dayjs, { Dayjs } from 'dayjs'\nimport { useTranslation } from 'react-i18next'\n\nimport styles from './index.module.less'\n\nconst { RangePicker } = DatePicker\n\nconst RECENT_SECONDS = [\n 15 * 60,\n 30 * 60,\n 60 * 60,\n\n 2 * 60 * 60,\n 6 * 60 * 60,\n 12 * 60 * 60,\n\n 24 * 60 * 60,\n 2 * 24 * 60 * 60,\n 3 * 24 * 60 * 60,\n\n 7 * 24 * 60 * 60,\n 14 * 24 * 60 * 60,\n 28 * 24 * 60 * 60,\n]\n\nconst DEFAULT_TIME_RANGE: TimeRange = {\n type: 'recent',\n value: 30 * 60,\n}\n\ninterface RecentSecTime {\n type: 'recent'\n value: number // unit: seconds\n}\n\ninterface RangeTime {\n type: 'absolute'\n value: [number, number] // unit: seconds\n}\n\nexport type TimeRange = RecentSecTime | RangeTime\n\nexport function calcTimeRange(timeRange?: TimeRange): [number, number] {\n let t2 = timeRange ?? DEFAULT_TIME_RANGE\n if (t2.type === 'absolute') {\n return t2.value\n } else {\n const now = dayjs().unix()\n return [now - t2.value, now]\n }\n}\n\nexport function stringifyTimeRange(timeRange?: TimeRange): string {\n let t2 = timeRange ?? DEFAULT_TIME_RANGE\n if (t2.type === 'absolute') {\n return `${t2.type}_${t2.value[0]}_${t2.value[1]}`\n } else {\n return `${t2.type}_${t2.value}`\n }\n}\n\nexport interface ITimeRangeSelectorProps {\n value?: TimeRange\n onChange?: (val: TimeRange) => void\n}\n\nfunction TimeRangeSelector({ value, onChange }: ITimeRangeSelectorProps) {\n const { t } = useTranslation()\n const [dropdownVisible, setDropdownVisible] = useState(false)\n\n useEffect(() => {\n if (!value) {\n onChange?.(DEFAULT_TIME_RANGE)\n }\n // ignore [onChange]\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value])\n\n const rangePickerValue = useMemo(() => {\n if (value?.type !== 'absolute') {\n return null\n }\n return value.value.map((sec) => dayjs(sec * 1000)) as [Dayjs, Dayjs]\n }, [value])\n\n const handleRecentChange = useCallback(\n (seconds: number) => {\n onChange?.({\n type: 'recent',\n value: seconds,\n })\n setDropdownVisible(false)\n },\n [onChange]\n )\n\n const handleRangePickerChange = useCallback(\n (values) => {\n if (values === null) {\n onChange?.(DEFAULT_TIME_RANGE)\n } else {\n onChange?.({\n type: 'absolute',\n value: values.map((v) => v.unix()),\n })\n }\n setDropdownVisible(false)\n },\n [onChange]\n )\n\n const dropdownContent = (\n
    \n
    \n \n {t(\n 'statement.pages.overview.toolbar.time_range_selector.usual_time_ranges'\n )}\n \n
    \n {RECENT_SECONDS.map((seconds) => (\n handleRecentChange(seconds)}\n data-e2e={`timerange-${seconds}`}\n >\n {t('statement.pages.overview.toolbar.time_range_selector.recent')}{' '}\n {getValueFormat('s')(seconds, 0)}\n
    \n ))}\n
    \n
    \n
    \n \n {t(\n 'statement.pages.overview.toolbar.time_range_selector.custom_time_ranges'\n )}\n \n
    \n \n
    \n
    \n \n )\n\n return (\n \n \n \n )\n}\n\nexport default React.memo(TimeRangeSelector)\n","import React from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { InstanceStatus } from '@lib/utils/instanceTable'\nimport { Badge } from 'antd'\nimport { addTranslationResource } from '@lib/utils/i18n'\n\nconst translations = {\n en: {\n status: {\n up: 'Up',\n down: 'Down',\n tombstone: 'Tombstone',\n offline: 'Leaving',\n unknown: 'Unknown',\n unreachable: 'Unreachable',\n },\n },\n zh: {\n status: {\n up: '在线',\n down: '离线',\n tombstone: '已缩容下线',\n offline: '下线中',\n unknown: '未知',\n unreachable: '无法访问',\n },\n },\n}\n\nfor (const key in translations) {\n addTranslationResource(key, {\n component: {\n instanceStatusBadge: translations[key],\n },\n })\n}\n\nexport interface IInstanceStatusBadgeProps {\n status?: number\n}\n\nfunction InstanceStatusBadge({ status }: IInstanceStatusBadgeProps) {\n const { t } = useTranslation()\n switch (status) {\n case InstanceStatus.Down:\n return (\n \n )\n case InstanceStatus.Unreachable:\n return (\n \n )\n case InstanceStatus.Up:\n return (\n \n )\n case InstanceStatus.Tombstone:\n return (\n \n )\n case InstanceStatus.Offline:\n return (\n \n )\n default:\n return (\n \n )\n }\n}\n\nexport default React.memo(InstanceStatusBadge)\n","import React, { useState, useCallback, useRef, useMemo } from 'react'\nimport cx from 'classnames'\nimport { useEventListener } from 'ahooks'\nimport { DownOutlined } from '@ant-design/icons'\nimport Trigger from 'rc-trigger'\nimport KeyCode from 'rc-util/lib/KeyCode'\nimport _ from 'lodash'\n\nimport { TextWrap } from '..'\n\nimport styles from './index.module.less'\n\nexport interface IBaseSelectProps\n extends Omit<\n React.HTMLAttributes,\n 'onChange' | 'placeholder'\n > {\n dropdownRender: () => React.ReactElement\n value?: T\n valueRender: (value?: T) => React.ReactNode\n placeholder?: React.ReactNode\n overlayClassName?: string\n disabled?: boolean\n tabIndex?: number\n autoFocus?: boolean\n onOpen?: () => void\n onOpened?: () => void\n onClose?: () => void\n onClosed?: () => void\n}\n\nconst builtinPlacements = {\n bottomLeft: {\n ignoreShake: true,\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: 0,\n adjustY: 0,\n },\n },\n}\n\nfunction BaseSelect({\n dropdownRender,\n value,\n valueRender,\n placeholder,\n disabled,\n tabIndex,\n autoFocus,\n className,\n overlayClassName,\n onFocus,\n onBlur,\n onKeyDown,\n onOpen,\n onOpened,\n onClose,\n onClosed,\n ...restProps\n}: IBaseSelectProps) {\n const [dropdownVisible, setDropdownVisible] = useState(false)\n const toggleDropdownVisible = useCallback(() => {\n if (disabled) {\n return\n }\n setDropdownVisible((v) => !v)\n }, [disabled])\n\n const [isFocused, setFocused] = useState(false)\n\n const handleDebouncedContainerFocus = useCallback(\n (ev: React.FocusEvent) => {\n setFocused(true)\n onFocus && onFocus(ev)\n },\n [onFocus]\n )\n\n const handleDebouncedContainerBlur = useCallback(\n (ev: React.FocusEvent) => {\n setDropdownVisible(false)\n setFocused(false)\n onBlur && onBlur(ev)\n },\n [onBlur]\n )\n\n const debouncedFocusOrBlur = useMemo(() => {\n return _.debounce(\n (isFocus: boolean, ev: React.FocusEvent) => {\n if (isFocus) {\n handleDebouncedContainerFocus(ev)\n } else {\n handleDebouncedContainerBlur(ev)\n }\n },\n 50\n )\n }, [handleDebouncedContainerFocus, handleDebouncedContainerBlur])\n\n const handleContainerFocus = useCallback(\n (ev) => {\n debouncedFocusOrBlur(true, ev)\n },\n [debouncedFocusOrBlur]\n )\n\n const handleContainerBlur = useCallback(\n (ev) => {\n debouncedFocusOrBlur(false, ev)\n },\n [debouncedFocusOrBlur]\n )\n\n const handleContainerKeyDown = useCallback(\n (ev: React.KeyboardEvent) => {\n if (ev.which === KeyCode.ENTER) {\n toggleDropdownVisible()\n } else if (ev.which === KeyCode.ESC) {\n setDropdownVisible(false)\n }\n onKeyDown && onKeyDown(ev)\n },\n [toggleDropdownVisible, onKeyDown]\n )\n\n const handleSelectorMouseDown = useCallback(() => {\n toggleDropdownVisible()\n }, [toggleDropdownVisible])\n\n const handleOverlayMouseDown = useCallback(\n (ev: React.MouseEvent) => {\n // Prevent dropdown container blur event\n ev.preventDefault()\n },\n []\n )\n\n const handlePopupVisibleChange = useCallback(\n (visible: boolean) => {\n if (visible) {\n onOpen?.()\n } else {\n onClose?.()\n }\n },\n [onOpen, onClose]\n )\n\n const handleAfterPopupVisibleChange = useCallback(\n (visible: boolean) => {\n if (visible) {\n onOpened?.()\n } else {\n onClosed?.()\n }\n },\n [onOpened, onClosed]\n )\n\n const dropdownOverlayRef = useRef(null)\n const containerRef = useRef(null)\n\n const overlay = useMemo(() => {\n return (\n \n {dropdownRender()}\n \n )\n }, [dropdownRender, overlayClassName, handleOverlayMouseDown])\n\n useEventListener('mousedown', (ev: MouseEvent) => {\n // Close the dropdown if click outside\n if (!dropdownVisible) {\n return\n }\n const hitElements = [dropdownOverlayRef.current, containerRef.current]\n if (\n hitElements.every(\n (e) =>\n !e ||\n !ev.target ||\n (!e.contains(ev.target as HTMLElement) && e !== ev.target)\n )\n ) {\n setDropdownVisible(false)\n }\n })\n\n // Close dropdown when disabled change\n React.useEffect(() => {\n setDropdownVisible((v) => {\n if (v && !disabled) {\n return false\n }\n return v\n })\n }, [disabled])\n\n const renderedValue = valueRender(value)\n const displayAsPlaceholder = renderedValue == null\n\n return (\n \n \n
    \n \n \n \n \n {displayAsPlaceholder ? placeholder : renderedValue}\n \n
    \n \n
    \n \n
    \n \n \n \n )\n}\n\nexport default React.memo(BaseSelect)\n","import {\n ISelection,\n IObjectWithKey,\n Selection,\n SelectionMode,\n ISelectionOptions,\n ISelectionOptionsWithRequiredGetKey,\n EventGroup,\n SELECTION_CHANGE,\n} from 'office-ui-fabric-react/lib/Utilities'\n\nexport default class SelectionWithFilter\n implements ISelection {\n private _inner: Selection\n\n private _allItems: T[] = []\n private _allItemsMap: Map = new Map()\n private _allSelectedKeysSet: Set = new Set()\n private _itemKeysSet: Set = new Set()\n\n private _allSelectionCache: T[] | null = null\n private _onSelectionChangedOriginal?: () => void\n\n get count(): number {\n return this._inner.count\n }\n set count(v: number) {\n this._inner.count = v\n }\n get mode(): SelectionMode {\n return this._inner.mode\n }\n canSelectItem(item: T, index?: number): boolean {\n return this._inner.canSelectItem(item, index)\n }\n setChangeEvents(isEnabled: boolean, suppressChange?: boolean) {\n return this._inner.setChangeEvents(isEnabled, suppressChange)\n }\n getItems(): T[] {\n return this._inner.getItems()\n }\n getSelection(): T[] {\n return this._inner.getSelection()\n }\n getSelectedIndices(): number[] {\n return this._inner.getSelectedIndices()\n }\n getSelectedCount(): number {\n return this._inner.getSelectedCount()\n }\n isRangeSelected(fromIndex: number, count: number): boolean {\n return this._inner.isRangeSelected(fromIndex, count)\n }\n isAllSelected(): boolean {\n return this._inner.isAllSelected()\n }\n isKeySelected(key: string): boolean {\n return this._inner.isKeySelected(key)\n }\n isIndexSelected(index: number): boolean {\n return this._inner.isIndexSelected(index)\n }\n setKeySelected(\n key: string,\n isSelected: boolean,\n shouldAnchor: boolean\n ): void {\n this._inner.setKeySelected(key, isSelected, shouldAnchor)\n }\n setIndexSelected(\n index: number,\n isSelected: boolean,\n shouldAnchor: boolean\n ): void {\n this._inner.setIndexSelected(index, isSelected, shouldAnchor)\n }\n selectToKey(key: string, clearSelection?: boolean | undefined): void {\n this._inner.selectToKey(key, clearSelection)\n }\n selectToIndex(index: number, clearSelection?: boolean | undefined): void {\n this._inner.selectToIndex(index, clearSelection)\n }\n toggleAllSelected(): void {\n this.setAllSelected(!this._inner.isAllSelected())\n }\n toggleKeySelected(key: string): void {\n this._inner.toggleKeySelected(key)\n }\n toggleIndexSelected(index: number): void {\n this._inner.toggleIndexSelected(index)\n }\n toggleRangeSelected(fromIndex: number, count: number): void {\n this._inner.toggleRangeSelected(fromIndex, count)\n }\n // Override\n setItems(items: T[], shouldClear?: boolean) {\n this._allSelectionCache = null\n if (shouldClear) {\n this._allSelectedKeysSet.clear()\n }\n\n // Only items in AllItems can be added\n const itemSubset: T[] = []\n this._itemKeysSet.clear()\n for (const item of items) {\n const key = this._inner.getKey(item)\n if (this._allItemsMap.has(key)) {\n this._itemKeysSet.add(key)\n itemSubset.push(item)\n } else {\n if (process.env.NODE_ENV === 'development') {\n console.warn(\n 'Warning: SelectionWithFilter::setItems is called with an item not in allItems',\n item,\n key\n )\n }\n }\n }\n\n this._inner.setChangeEvents(false)\n this._inner.setItems(itemSubset, shouldClear)\n // Re-select if newly added items are selected in allSelected\n for (const key of this._allSelectedKeysSet) {\n if (this._itemKeysSet.has(key)) {\n this._inner.setKeySelected(key, true, false)\n }\n }\n this._inner.setChangeEvents(true)\n }\n // Override\n setAllSelected(isAllSelected: boolean) {\n if (isAllSelected && this._itemKeysSet.size !== this._allItemsMap.size) {\n // If items is a true subset of allItems, we emulate a selectAll by selecting one by one.\n this._inner.setChangeEvents(false)\n for (const key of this._itemKeysSet) {\n this._inner.setKeySelected(key, true, false)\n }\n this._inner.setChangeEvents(true)\n } else {\n this._inner.setAllSelected(isAllSelected)\n }\n }\n\n constructor(\n ...options: T extends IObjectWithKey\n ? [] | [ISelectionOptions]\n : [ISelectionOptionsWithRequiredGetKey]\n ) {\n const { onSelectionChanged, ...rest } =\n options[0] || ({} as ISelectionOptions)\n this._onSelectionChangedOriginal = onSelectionChanged\n this._inner = new (Selection as any)({\n onSelectionChanged: () => this._handleSelectionChanged(),\n ...rest,\n })\n }\n\n private _handleSelectionChanged() {\n this._triggerSelectionChanged()\n }\n\n private _triggerSelectionChanged() {\n this._allSelectionCache = null\n EventGroup.raise(this, SELECTION_CHANGE)\n if (this._onSelectionChangedOriginal) {\n this._onSelectionChangedOriginal()\n }\n }\n\n setAllItems(items: T[]) {\n this._allSelectionCache = null\n this._allItems = items\n this._allItemsMap.clear()\n for (const item of items) {\n const key = this._inner.getKey(item)\n this._allItemsMap.set(key, item)\n }\n // Ensure `items` is a subset of `alllItems`. If not, update `items`.\n const filteredItems = this._inner.getItems()\n const newItems: T[] = []\n for (const item of filteredItems) {\n const key = this._inner.getKey(item)\n if (this._allItemsMap.has(key)) {\n newItems.push(item)\n } else {\n if (process.env.NODE_ENV === 'development') {\n console.log(\n 'Note: SelectionWithFilter::setAllItems is filtering away an item previously in items but not in allItems',\n item,\n key\n )\n }\n }\n }\n if (filteredItems.length !== newItems.length) {\n this.setItems(newItems)\n }\n }\n\n getAllItems(): T[] {\n return this._allItems\n }\n\n getAllSelection(): T[] {\n if (!this._allSelectionCache) {\n this._allSelectionCache = []\n for (const [key, item] of this._allItemsMap) {\n // Selected state of the internal Selection takes precedence\n if (this._itemKeysSet.has(key)) {\n if (this._inner.isKeySelected(key)) {\n this._allSelectionCache.push(item)\n }\n } else {\n if (this._allSelectedKeysSet.has(key)) {\n this._allSelectionCache.push(item)\n }\n }\n }\n // Sync current selection to _allSelectedKeysSet. This is optional but\n // can avoid unnecessary selectionChanged event when calling `resetAllSelection`\n // again with the same selection.\n this._allSelectedKeysSet.clear()\n for (const key of this._allSelectionCache) {\n this._allSelectedKeysSet.add(this._inner.getKey(key))\n }\n }\n\n return this._allSelectionCache\n }\n\n resetAllSelection(selectedKeys: string[]) {\n if (process.env.NODE_ENV === 'development') {\n console.groupCollapsed('SelectionWithFilter.resetAllSelection')\n console.log('selectedKeys', selectedKeys)\n console.log('_allSelectedKeysSet', this._allSelectedKeysSet)\n console.groupEnd()\n }\n // Check whether update can be avoided\n let unChanged = true\n let validSelectedKeysCount = 0\n for (const key of selectedKeys) {\n if (this._allItemsMap.has(key)) {\n validSelectedKeysCount++\n if (!this._allSelectedKeysSet.has(key)) {\n unChanged = false\n break\n }\n }\n }\n if (validSelectedKeysCount !== this._allSelectedKeysSet.size) {\n unChanged = false\n }\n if (unChanged) {\n return\n }\n\n this._allSelectedKeysSet.clear()\n for (const key of selectedKeys) {\n if (this._allItemsMap.has(key)) {\n this._allSelectedKeysSet.add(key)\n }\n }\n // Update selection subset\n this._inner.setChangeEvents(false)\n this._inner.setAllSelected(false)\n for (const key of selectedKeys) {\n if (this._itemKeysSet.has(key)) {\n this._inner.setKeySelected(key, true, false)\n }\n }\n this._inner.setChangeEvents(true, true)\n this._triggerSelectionChanged() // Force trigger a selection change anyway\n }\n\n setAllSelectionSelected(isAllSelected: boolean) {\n this._inner.setChangeEvents(false)\n if (!isAllSelected) {\n this._allSelectedKeysSet.clear()\n this._inner.setAllSelected(false)\n } else {\n for (const key of this._allItemsMap.keys()) {\n this._allSelectedKeysSet.add(key)\n }\n this._inner.setAllSelected(true)\n }\n this._inner.setChangeEvents(true, true)\n this._triggerSelectionChanged() // Force trigger a selection change anyway\n }\n}\n","import React, { useMemo, useCallback, useRef } from 'react'\nimport cx from 'classnames'\nimport { ScrollablePane } from 'office-ui-fabric-react/lib/ScrollablePane'\nimport { MarqueeSelection } from 'office-ui-fabric-react/lib/MarqueeSelection'\nimport { SelectionMode } from 'office-ui-fabric-react/lib/Selection'\nimport { useSize } from 'ahooks'\nimport {\n DetailsListLayoutMode,\n ISelection,\n IDetailsListProps,\n} from 'office-ui-fabric-react/lib/DetailsList'\nimport { Input } from 'antd'\nimport { MemoDetailsList } from '../'\n\nimport styles from './TableWithFilter.module.less'\n\nexport interface ITableWithFilterProps extends IDetailsListProps {\n selection: ISelection\n filterPlaceholder?: string\n filter?: string\n onFilterChange?: (value: string) => void\n tableMaxHeight?: number\n tableWidth?: number\n containerProps?: React.HTMLAttributes\n}\n\nexport interface ITableWithFilterRefProps {\n focusFilterInput: () => void\n}\n\nfunction TableWithFilter(\n {\n selection,\n filterPlaceholder,\n filter,\n onFilterChange,\n tableMaxHeight,\n tableWidth,\n containerProps,\n ...restProps\n }: ITableWithFilterProps,\n ref: React.Ref\n) {\n const handleInputChange = useCallback(\n (e: React.ChangeEvent) => {\n onFilterChange?.(e.target.value)\n },\n [onFilterChange]\n )\n\n const inputRef = useRef(null)\n\n React.useImperativeHandle(ref, () => ({\n focusFilterInput() {\n inputRef.current?.focus()\n },\n }))\n\n // FIXME: We should put Input inside ScrollablePane after https://github.com/microsoft/fluentui/issues/13557 is resolved\n\n const containerRef = useRef(null)\n const containerSize = useSize(containerRef)\n\n const paneStyle = useMemo(\n () =>\n ({\n position: 'relative',\n height: containerSize.height,\n maxHeight: tableMaxHeight ?? 400,\n width: tableWidth ?? 400,\n } as React.CSSProperties),\n [containerSize.height, tableMaxHeight, tableWidth]\n )\n\n const {\n className: containerClassName,\n style: containerStyle,\n ...containerRestProps\n } = containerProps ?? {}\n\n return (\n \n \n \n
    \n \n \n \n
    \n
    \n \n )\n}\n\nexport default React.memo(React.forwardRef(TableWithFilter))\n","import React, { useState, useMemo } from 'react'\nimport { AntCheckboxGroupHeader } from '../'\nimport { IColumn, ISelection } from 'office-ui-fabric-react/lib/DetailsList'\nimport {\n IInstanceTableItem,\n filterInstanceTable,\n} from '@lib/utils/instanceTable'\nimport { useTranslation } from 'react-i18next'\nimport TableWithFilter, { ITableWithFilterRefProps } from './TableWithFilter'\n\nconst groupProps = {\n onRenderHeader: (props) => ,\n}\n\nexport interface IDropOverlayProps {\n selection: ISelection\n columns: IColumn[]\n items: IInstanceTableItem[]\n filterTableRef?: React.Ref\n containerProps?: React.HTMLAttributes\n}\n\nfunction DropOverlay({\n selection,\n columns,\n items,\n filterTableRef,\n containerProps,\n}: IDropOverlayProps) {\n const { t } = useTranslation()\n const [keyword, setKeyword] = useState('')\n\n const [finalItems, finalGroups] = useMemo(() => {\n return filterInstanceTable(items, keyword)\n }, [items, keyword])\n\n const { style: containerStyle, ...restContainerProps } = containerProps ?? {}\n const finalContainerProps = useMemo(() => {\n const style: React.CSSProperties = {\n fontSize: '0.8rem',\n ...containerStyle,\n }\n return {\n style,\n ...restContainerProps,\n } as React.HTMLAttributes & Record\n }, [containerStyle, restContainerProps])\n\n return (\n \n )\n}\n\nexport default React.memo(DropOverlay)\n","import React, { useMemo } from 'react'\nimport {\n IInstanceTableItem,\n InstanceKind,\n InstanceKindName,\n} from '@lib/utils/instanceTable'\nimport { useTranslation } from 'react-i18next'\n\ninterface InstanceStat {\n all: number\n selected: number\n}\n\nfunction newInstanceStat(): InstanceStat {\n return {\n all: 0,\n selected: 0,\n }\n}\n\nexport interface IValueDisplayProps {\n items: IInstanceTableItem[]\n selectedKeys: string[]\n}\n\nexport default function ValueDisplay({\n items,\n selectedKeys,\n}: IValueDisplayProps) {\n const { t } = useTranslation()\n\n const text = useMemo(() => {\n const selectedKeysMap = {}\n selectedKeys.forEach((key) => (selectedKeysMap[key] = true))\n const instanceStats: { [key in InstanceKind]: InstanceStat } = {\n pd: newInstanceStat(),\n tidb: newInstanceStat(),\n tikv: newInstanceStat(),\n tiflash: newInstanceStat(),\n }\n items.forEach((item) => {\n instanceStats[item.instanceKind].all++\n if (selectedKeysMap[item.key]) {\n instanceStats[item.instanceKind].selected++\n }\n })\n\n let hasUnselected = false\n const p: string[] = []\n for (const ik in instanceStats) {\n const stats = instanceStats[ik] as InstanceStat\n if (stats.selected !== stats.all) {\n hasUnselected = true\n }\n if (stats.selected > 0) {\n if (stats.all === stats.selected) {\n p.push(\n t('component.instanceSelect.selected.partial.all', {\n component: InstanceKindName[ik],\n })\n )\n } else {\n p.push(\n t('component.instanceSelect.selected.partial.n', {\n n: stats.selected,\n component: InstanceKindName[ik],\n })\n )\n }\n }\n }\n\n if (!hasUnselected) {\n return t('component.instanceSelect.selected.all')\n }\n\n return p.join(', ')\n }, [t, items, selectedKeys])\n\n return <>{text}\n}\n","import React, { useCallback, useRef, useMemo, useEffect } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { useShallowCompareEffect } from 'react-use'\nimport { Tooltip } from 'antd'\nimport {\n IBaseSelectProps,\n BaseSelect,\n InstanceStatusBadge,\n TextWrap,\n} from '../'\nimport { useClientRequest } from '@lib/utils/useClientRequest'\nimport client from '@lib/client'\nimport { addTranslationResource } from '@lib/utils/i18n'\nimport { usePersistFn, useControllableValue } from 'ahooks'\nimport { IColumn } from 'office-ui-fabric-react/lib/DetailsList'\nimport {\n buildInstanceTable,\n IInstanceTableItem,\n} from '@lib/utils/instanceTable'\nimport SelectionWithFilter from '@lib/utils/selectionWithFilter'\n\nimport DropOverlay from './DropOverlay'\nimport ValueDisplay from './ValueDisplay'\nimport { ITableWithFilterRefProps } from './TableWithFilter'\n\nexport interface IInstanceSelectProps\n extends Omit, 'dropdownRender' | 'valueRender'> {\n onChange?: (value: string[]) => void\n enableTiFlash?: boolean\n defaultSelectAll?: boolean\n dropContainerProps?: React.HTMLAttributes\n}\n\nexport interface IInstanceSelectRefProps {\n getInstanceByKeys: (keys: string[]) => IInstanceTableItem[]\n getInstanceByKey: (key: string) => IInstanceTableItem\n}\n\nconst translations = {\n en: {\n placeholder: 'Select Instances',\n filterPlaceholder: 'Filter instance',\n selected: {\n all: 'All Instances',\n partial: {\n n: '{{n}} {{component}}',\n all: 'All {{component}}',\n },\n },\n columns: {\n key: 'Instance',\n status: 'Status',\n },\n },\n zh: {\n placeholder: '选择实例',\n filterPlaceholder: '过滤实例',\n selected: {\n all: '所有实例',\n partial: {\n n: '{{n}} {{component}}',\n all: '所有 {{component}}',\n },\n },\n columns: {\n key: '实例',\n status: '状态',\n },\n },\n}\n\nfor (const key in translations) {\n addTranslationResource(key, {\n component: {\n instanceSelect: translations[key],\n },\n })\n}\n\nfunction InstanceSelect(\n props: IInstanceSelectProps,\n ref: React.Ref\n) {\n const [internalVal, setInternalVal] = useControllableValue(props)\n const setInternalValPersist = usePersistFn(setInternalVal)\n const {\n enableTiFlash,\n defaultSelectAll,\n dropContainerProps,\n value, // only to exclude from restProps\n onChange, // only to exclude from restProps\n ...restProps\n } = props\n\n const { t } = useTranslation()\n\n const {\n data: dataTiDB,\n isLoading: loadingTiDB,\n } = useClientRequest((reqConfig) =>\n client.getInstance().getTiDBTopology(reqConfig)\n )\n const {\n data: dataStores,\n isLoading: loadingStores,\n } = useClientRequest((reqConfig) =>\n client.getInstance().getStoreTopology(reqConfig)\n )\n const { data: dataPD, isLoading: loadingPD } = useClientRequest((reqConfig) =>\n client.getInstance().getPDTopology(reqConfig)\n )\n\n const columns: IColumn[] = useMemo(\n () => [\n {\n name: t('component.instanceSelect.columns.key'),\n key: 'key',\n minWidth: 150,\n maxWidth: 150,\n onRender: (node: IInstanceTableItem) => {\n return (\n \n \n {node.key}\n \n \n )\n },\n },\n {\n name: t('component.instanceSelect.columns.status'),\n key: 'status',\n minWidth: 100,\n maxWidth: 100,\n onRender: (node: IInstanceTableItem) => {\n return (\n \n \n \n )\n },\n },\n ],\n [t]\n )\n\n const [tableItems] = useMemo(() => {\n if (loadingTiDB || loadingStores || loadingPD) {\n return [[], []]\n }\n return buildInstanceTable({\n dataPD,\n dataTiDB,\n dataTiKV: dataStores?.tikv,\n dataTiFlash: dataStores?.tiflash,\n includeTiFlash: enableTiFlash,\n })\n }, [\n enableTiFlash,\n dataTiDB,\n dataStores,\n dataPD,\n loadingTiDB,\n loadingStores,\n loadingPD,\n ])\n\n const selection = useRef(\n new SelectionWithFilter({\n onSelectionChanged: () => {\n const s = selection.current.getAllSelection() as IInstanceTableItem[]\n const keys = s.map((v) => v.key)\n setInternalValPersist([...keys])\n },\n })\n )\n\n useShallowCompareEffect(() => {\n selection.current?.resetAllSelection(internalVal ?? [])\n }, [internalVal])\n\n const dataHasLoaded = useRef(false)\n\n useEffect(() => {\n // When data is loaded for the first time, we need to:\n // - Select all if `defaultSelectAll` is set and value is not given.\n // - Update selection according to value\n if (dataHasLoaded.current) {\n return\n }\n if (tableItems.length === 0) {\n return\n }\n const sel = selection.current\n sel.setChangeEvents(false)\n sel.setAllItems(tableItems)\n if (internalVal && internalVal.length > 0) {\n sel.resetAllSelection(internalVal)\n } else if (defaultSelectAll) {\n sel.setAllSelectionSelected(true)\n }\n sel.setChangeEvents(true)\n dataHasLoaded.current = true\n // [defaultSelectAll, internalVal] is not needed\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tableItems])\n\n const getInstanceByKeys = usePersistFn((keys: string[]) => {\n const keyToItemMap = {}\n for (const item of tableItems) {\n keyToItemMap[item.key] = item\n }\n return keys.map((key) => keyToItemMap[key])\n })\n\n const getInstanceByKey = usePersistFn((key: string) => {\n return getInstanceByKeys([key])[0]\n })\n\n React.useImperativeHandle(ref, () => ({\n getInstanceByKey,\n getInstanceByKeys,\n }))\n\n const renderValue = useCallback(\n (selectedKeys) => {\n if (\n tableItems.length === 0 ||\n !selectedKeys ||\n selectedKeys.length === 0\n ) {\n return null\n }\n return \n },\n [tableItems]\n )\n\n const filterTableRef = useRef(null)\n\n const renderDropdown = useCallback(\n () => (\n \n ),\n [columns, tableItems, dropContainerProps]\n )\n\n const handleOpened = useCallback(() => {\n filterTableRef.current?.focusFilterInput()\n }, [])\n\n return (\n \n )\n}\n\nexport default React.forwardRef(InstanceSelect)\n","import React, { useState, useMemo } from 'react'\nimport { IColumn, ISelection } from 'office-ui-fabric-react/lib/DetailsList'\nimport { useTranslation } from 'react-i18next'\nimport TableWithFilter, {\n ITableWithFilterRefProps,\n} from '../InstanceSelect/TableWithFilter'\nimport { IItem } from '.'\n\nconst containerProps: React.HTMLAttributes = {\n style: { fontSize: '0.8rem' },\n}\n\nexport interface IDropOverlayProps {\n selection: ISelection\n columns: IColumn[]\n items: T[]\n filterFn?: (keyword: string, item: T) => boolean\n filterTableRef?: React.Ref\n}\n\nfunction DropOverlay({\n selection,\n columns,\n items,\n filterFn,\n filterTableRef,\n}: IDropOverlayProps) {\n const { t } = useTranslation()\n const [keyword, setKeyword] = useState('')\n\n const filteredItems = useMemo(() => {\n if (keyword.length === 0) {\n return items\n }\n const kw = keyword.toLowerCase()\n const filter =\n filterFn == null\n ? (it: T) =>\n it.key.toLowerCase().indexOf(kw) > -1 ||\n (it.label ?? '').toLowerCase().indexOf(kw) > -1\n : (it: T) => filterFn(keyword, it)\n return items.filter(filter)\n }, [items, keyword, filterFn])\n\n return (\n \n )\n}\n\nconst typedMemo: (c: T) => T = React.memo\n\nexport default typedMemo(DropOverlay)\n","import { IBaseSelectProps, BaseSelect, TextWrap } from '..'\nimport { ITableWithFilterRefProps } from '../InstanceSelect/TableWithFilter'\nimport React, { useMemo, useRef, useCallback, useEffect } from 'react'\nimport { useTranslation } from 'react-i18next'\nimport { usePersistFn, useControllableValue } from 'ahooks'\nimport { IColumn } from 'office-ui-fabric-react/lib/DetailsList'\nimport SelectionWithFilter from '@lib/utils/selectionWithFilter'\nimport { useShallowCompareEffect } from 'react-use'\nimport { addTranslationResource } from '@lib/utils/i18n'\nimport { Tooltip } from 'antd'\n\nimport DropOverlay from './DropOverlay'\nimport PlainMultiSelect from './Plain'\n\nconst translations = {\n en: {\n filterPlaceholder: 'Filter',\n selected: '{{n}} selected',\n columnTitle: 'Items',\n },\n zh: {\n filterPlaceholder: '过滤',\n selected: '已选择 {{n}} 项',\n columnTitle: '选择项',\n },\n}\n\nfor (const key in translations) {\n addTranslationResource(key, {\n component: {\n multiSelect: translations[key],\n },\n })\n}\n\nexport interface IItem {\n key: string\n label?: string\n}\n\nexport interface IMultiSelectProps\n extends Omit, 'dropdownRender' | 'valueRender'> {\n items?: T[]\n filterFn?: (keyword: string, item: T) => boolean\n onChange?: (value: string[]) => void\n selectedValueTransKey?: string\n columnTitle?: string\n}\n\nfunction MultiSelect(props: IMultiSelectProps) {\n const [internalVal, setInternalVal] = useControllableValue(props)\n const setInternalValPersist = usePersistFn(setInternalVal)\n const {\n items,\n filterFn,\n selectedValueTransKey,\n columnTitle,\n placeholder,\n value, // only to exclude from restProps\n onChange, // only to exclude from restProps\n ...restProps\n } = props\n\n const { t } = useTranslation()\n\n const columns: IColumn[] = useMemo(\n () => [\n {\n name: columnTitle ?? t('component.multiSelect.columnTitle'),\n key: 'name',\n minWidth: 180,\n onRender: (node: T) => {\n let label\n if ('label' in node) {\n label = node.label\n } else {\n label = node.key\n }\n return (\n \n \n {label}\n \n \n )\n },\n },\n ],\n [t, columnTitle]\n )\n\n const selection = useRef(\n new SelectionWithFilter({\n onSelectionChanged: () => {\n if (process.env.NODE_ENV === 'development') {\n console.groupCollapsed(\n 'MultiSelect onSelectionChanged',\n Math.random()\n )\n console.trace()\n console.groupEnd()\n }\n const s = selection.current.getAllSelection() as T[]\n const keys = s.map((v) => v.key)\n setInternalValPersist(keys)\n },\n })\n )\n\n useShallowCompareEffect(() => {\n selection.current?.resetAllSelection(internalVal ?? [])\n }, [internalVal])\n\n useEffect(() => {\n selection.current?.setAllItems(items ?? [])\n // We may receive value first and then receive items. In this case, we need to re-assign\n // the selection according to value after receiving new items, so that values in newly appeared\n // items can be selected.\n selection.current?.resetAllSelection(internalVal ?? [])\n // internalVal is not needed\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [items])\n\n const filterTableRef = useRef(null)\n\n const renderDropdown = useCallback(\n () => (\n \n columns={columns}\n items={items ?? []}\n selection={selection.current}\n filterFn={filterFn}\n filterTableRef={filterTableRef}\n />\n ),\n [columns, items, filterFn]\n )\n\n const handleOpened = useCallback(() => {\n filterTableRef.current?.focusFilterInput()\n }, [])\n\n const renderValue = useCallback(() => {\n if (placeholder && (!internalVal || internalVal.length === 0)) {\n return null\n }\n return t(selectedValueTransKey ?? 'component.multiSelect.selected', {\n n: internalVal?.length ?? 0,\n })\n }, [t, internalVal, selectedValueTransKey, placeholder])\n\n return (\n \n )\n}\n\nMultiSelect.Plain = PlainMultiSelect\n\nexport default MultiSelect\n","import MultiSelect, { IMultiSelectProps, IItem } from '.'\nimport { useMemo } from 'react'\nimport React from 'react'\n\nexport interface IPlainMultiSelectProps\n extends Omit, 'items' | 'filterFn'> {\n items?: string[]\n}\n\nexport default function PlainMultiSelect({\n items,\n ...restProps\n}: IPlainMultiSelectProps) {\n const objectItems = useMemo(() => items?.map((v) => ({ key: v })) ?? [], [\n items,\n ])\n return \n}\n","import React from 'react'\nimport { Tooltip } from 'antd'\nimport { getValueFormat, scaledUnits } from '@baurine/grafana-value-formats'\n\ninterface IValueWithTooltip extends IInternalValueWithTooltip {\n Short: typeof ShortValueWithTooltip\n ScaledBytes: typeof ScaledBytesWithTooltip\n}\n\ninterface IInternalValueWithTooltip {\n title: string\n value: any\n}\n\nfunction InternalValueWithTooltip({ title, value }: IValueWithTooltip) {\n return (\n \n {value}\n \n )\n}\n\nexport interface IValueWithTooltipProps {\n value?: number\n scaledDecimal?: number\n}\n\nfunction ShortValueWithTooltip({\n value = 0,\n scaledDecimal = 1,\n}: IValueWithTooltipProps) {\n return (\n \n {getValueFormat('short')(value || 0, 0, scaledDecimal)}\n \n )\n}\n\nconst bytesScaler = scaledUnits(1024, ['', 'K', 'M', 'B', 'T'])\n\nfunction ScaledBytesWithTooltip({\n value = 0,\n scaledDecimal = 2,\n}: IValueWithTooltipProps) {\n return (\n \n {bytesScaler(value || 0, 0, scaledDecimal)}\n \n )\n}\n\nconst ValueWithTooltip = (InternalValueWithTooltip as unknown) as IValueWithTooltip\n\nValueWithTooltip.Short = ShortValueWithTooltip\nValueWithTooltip.ScaledBytes = ScaledBytesWithTooltip\n\nexport { ValueWithTooltip }\n","import cx from 'classnames'\nimport React, { useState, useCallback, useRef } from 'react'\nimport { useEventListener } from 'ahooks'\n\nexport interface IAppearAnimateProps\n extends React.HTMLAttributes {\n motionName: string\n}\n\n// A component similar to CSSMotion but is simpler, and avoids some edge case bugs.\n// It simply removes the animation class after animation completes.\nfunction AppearAnimate({\n className,\n motionName,\n children,\n}: IAppearAnimateProps) {\n const [isFirst, setIsFirst] = useState(true)\n\n const handleAnimationEnd = useCallback(() => {\n setIsFirst(false)\n }, [])\n\n const ref = useRef(null)\n useEventListener('animationend', handleAnimationEnd, { target: ref })\n\n return (\n
    \n {children}\n
    \n )\n}\n\nexport default React.memo(AppearAnimate)\n","import useQueryParams from '@lib/utils/useQueryParams'\nimport React from 'react'\nimport cx from 'classnames'\n\nimport styles from './index.module.less'\n\nexport interface IBlinkProps extends React.HTMLAttributes {\n activeId: string\n}\n\nexport default function Blink({\n activeId,\n children,\n className,\n ...restProps\n}: IBlinkProps) {\n const { blink } = useQueryParams()\n\n return (\n \n {children}\n \n )\n}\n","import React, { ReactNode } from 'react'\nimport { useLocation } from 'react-router-dom'\n\nexport default function ParamsPageWrapper({\n children,\n}: {\n children: ReactNode\n}) {\n const { search } = useLocation()\n if (React.isValidElement(children)) {\n return React.cloneElement(children, { key: search })\n }\n return null\n}\n","import { useMount, useUnmount, usePersistFn } from 'ahooks'\nimport { useState, useRef, useEffect } from 'react'\nimport axios, { CancelToken, AxiosPromise, CancelTokenSource } from 'axios'\n\nimport { ErrorStrategy } from '@lib/client'\n\nexport interface ReqConfig {\n cancelToken: CancelToken\n errorStrategy: ErrorStrategy\n}\n\nexport interface RequestFactory {\n (reqConfig: ReqConfig): AxiosPromise\n}\n\ninterface Options {\n immediate?: boolean\n afterRequest?: () => void\n beforeRequest?: () => void\n}\n\ninterface State {\n isLoading: boolean\n data?: T\n error?: any\n}\n\nexport function useClientRequest(\n reqFactory: RequestFactory,\n options?: Options\n) {\n const { immediate = true, afterRequest = null, beforeRequest = null } =\n options || {}\n\n const [state, setState] = useState>({\n isLoading: immediate,\n })\n\n // If `cancelTokenSource` is null, it means there is no running requests.\n const cancelTokenSource = useRef(null)\n const mounted = useRef(false)\n\n const sendRequest = usePersistFn(async () => {\n if (!mounted.current) {\n return\n }\n if (cancelTokenSource.current) {\n return\n }\n\n beforeRequest && beforeRequest()\n\n cancelTokenSource.current = axios.CancelToken.source()\n\n setState((s) => ({\n ...s,\n isLoading: true,\n error: undefined,\n }))\n\n try {\n const reqConfig: ReqConfig = {\n cancelToken: cancelTokenSource.current.token,\n errorStrategy: ErrorStrategy.Custom, // handle the error by component self\n }\n const resp = await reqFactory(reqConfig)\n if (mounted.current) {\n setState({\n data: resp.data,\n isLoading: false,\n })\n }\n } catch (e) {\n if (mounted.current) {\n setState({\n error: e,\n isLoading: false,\n })\n }\n }\n\n cancelTokenSource.current = null\n\n afterRequest && afterRequest()\n })\n\n useMount(() => {\n mounted.current = true\n if (immediate) {\n sendRequest()\n }\n })\n\n useUnmount(() => {\n mounted.current = false\n if (cancelTokenSource.current != null) {\n cancelTokenSource.current.cancel()\n cancelTokenSource.current = null\n }\n })\n\n return {\n ...state,\n sendRequest,\n }\n}\n\nexport interface BatchState {\n isLoading: boolean\n data: (T | null)[]\n error: (any | null)[]\n}\n\nexport function useBatchClientRequest(\n reqFactories: RequestFactory[],\n options?: Options\n) {\n const { immediate = true, afterRequest = null, beforeRequest = null } =\n options || {}\n\n const [state, setState] = useState>({\n isLoading: immediate,\n data: reqFactories.map((_) => null),\n error: reqFactories.map((_) => null),\n })\n\n const cancelTokenSource = useRef(null)\n const mounted = useRef(false)\n\n const sendRequestEach = async (idx) => {\n try {\n const reqConfig: ReqConfig = {\n cancelToken: cancelTokenSource.current![idx].token,\n errorStrategy: ErrorStrategy.Custom,\n }\n const resp = await reqFactories[idx](reqConfig)\n if (mounted.current) {\n setState((s) => {\n s.data[idx] = resp.data\n return { ...s, data: [...s.data] }\n })\n }\n } catch (e) {\n if (mounted.current) {\n setState((s) => {\n s.error[idx] = e\n return { ...s, error: [...s.error] }\n })\n }\n }\n }\n\n const sendRequest = usePersistFn(async () => {\n if (!mounted.current) {\n return\n }\n if (cancelTokenSource.current) {\n return\n }\n\n beforeRequest && beforeRequest()\n\n cancelTokenSource.current = reqFactories.map((_) =>\n axios.CancelToken.source()\n )\n setState((s) => ({\n ...s,\n isLoading: true,\n error: reqFactories.map((_) => null),\n }))\n\n const p = reqFactories.map((_, idx) => sendRequestEach(idx))\n await Promise.all(p)\n if (mounted.current) {\n setState((s) => ({\n ...s,\n isLoading: false,\n }))\n }\n\n cancelTokenSource.current = null\n\n afterRequest && afterRequest()\n })\n\n useMount(() => {\n mounted.current = true\n if (immediate) {\n sendRequest()\n }\n })\n\n useUnmount(() => {\n mounted.current = false\n if (cancelTokenSource.current != null) {\n cancelTokenSource.current.forEach((c) => c.cancel())\n cancelTokenSource.current = null\n }\n })\n\n return {\n ...state,\n sendRequest,\n }\n}\n\ninterface OptionsWithPolling extends Options {\n pollingInterval?: number\n shouldPoll?: ((data: T) => boolean) | null\n}\n\nexport function useClientRequestWithPolling(\n reqFactory: RequestFactory,\n options?: OptionsWithPolling\n) {\n const {\n pollingInterval = 1000,\n shouldPoll = null,\n afterRequest = null,\n beforeRequest = null,\n immediate = true,\n } = options || {}\n const mounted = useRef(false)\n const pollingTimer = useRef | null>(null)\n\n const scheduleNextPoll = () => {\n if (pollingTimer.current == null && mounted.current) {\n pollingTimer.current = setTimeout(() => {\n retRef.current.sendRequest()\n pollingTimer.current = null\n }, pollingInterval)\n }\n }\n\n const cancelNextPoll = () => {\n if (pollingTimer.current != null) {\n clearTimeout(pollingTimer.current)\n pollingTimer.current = null\n }\n }\n\n const myBeforeRequest = () => {\n beforeRequest?.()\n cancelNextPoll()\n }\n\n const myAfterRequest = () => {\n let triggerPoll = true\n if (retRef.current.error) {\n triggerPoll = false\n } else if (retRef.current.data && shouldPoll) {\n triggerPoll = shouldPoll(retRef.current.data)\n }\n if (triggerPoll) {\n scheduleNextPoll()\n }\n afterRequest?.()\n }\n\n const ret = useClientRequest(reqFactory, {\n immediate,\n beforeRequest: myBeforeRequest,\n afterRequest: myAfterRequest,\n })\n\n const retRef = useRef(ret)\n\n useEffect(() => {\n retRef.current = ret\n }, [ret])\n\n useMount(() => {\n mounted.current = true\n })\n\n useUnmount(() => {\n mounted.current = false\n cancelNextPoll()\n })\n\n return ret\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"descriptions\":\"descriptions--293qL\",\"itemSingleline\":\"itemSingleline--1USDY\",\"itemMultiline\":\"itemMultiline--102-_\"};","import React from 'react'\nimport { Tooltip } from 'antd'\nimport dayjs from 'dayjs'\nimport { useTranslation } from 'react-i18next'\nimport { IDateTimeProps } from '.'\n\nimport localizedFormat from 'dayjs/plugin/localizedFormat'\n\ndayjs.extend(localizedFormat)\n\nfunction Long({ unixTimestampMs, ...rest }: IDateTimeProps) {\n useTranslation() // Re-render when language changes\n return (\n \n {format(unixTimestampMs)}\n \n )\n}\n\nexport function format(unixTimestampMs: number) {\n return dayjs(unixTimestampMs).format('ll LTS (z)')\n}\n\nexport default React.memo(Long)\n","import React from 'react'\nimport { Tooltip } from 'antd'\nimport dayjs from 'dayjs'\nimport { useTranslation } from 'react-i18next'\nimport { addTranslationResource } from '@lib/utils/i18n'\nimport i18next from 'i18next'\nimport { format as longFormat } from './Long'\nimport { IDateTimeProps } from '.'\n\nimport calendar from './calendarPlugin'\nimport weekOfYear from 'dayjs/plugin/weekOfYear'\nimport localizedFormat from 'dayjs/plugin/localizedFormat'\nimport timezone from 'dayjs/plugin/timezone'\n\ndayjs.extend(calendar)\ndayjs.extend(weekOfYear)\ndayjs.extend(localizedFormat)\ndayjs.extend(timezone)\n\nconst translations = {\n en: {\n sameDay: '[Today at] h:mm A (z)',\n sameWeek: 'dddd h:mm A (z)',\n nextDay: '[Tomorrow] h:mm A (z)',\n nextWeek: '[Next] dddd h:mm A (z)',\n lastDay: '[Yesterday] h:mm A (z)',\n lastWeek: '[Last] dddd h:mm A (z)',\n sameElse: 'lll (z)',\n },\n zh: {\n sameDay: '[今天] HH:mm (z)',\n sameWeek: 'dddd HH:mm (z)',\n nextDay: '[明天] HH:mm (z)',\n nextWeek: '[下]dddd HH:mm (z)',\n lastDay: '[昨天] HH:mm (z)',\n lastWeek: '[上]dddd HH:mm (z)',\n sameElse: 'lll (z)',\n },\n}\n\nfor (const key in translations) {\n addTranslationResource(key, {\n component: {\n dateTime: {\n calendar: translations[key],\n },\n },\n })\n}\n\nfunction Calendar({ unixTimestampMs, ...rest }: IDateTimeProps) {\n useTranslation() // Re-render when language changes\n return (\n \n {format(unixTimestampMs)}\n \n )\n}\n\nexport function format(unixTimestampMs: number) {\n return dayjs(unixTimestampMs).calendar(undefined, {\n sameDay: i18next.t('component.dateTime.calendar.sameDay'),\n sameWeek: i18next.t('component.dateTime.calendar.sameWeek'),\n nextDay: i18next.t('component.dateTime.calendar.nextDay'),\n nextWeek: i18next.t('component.dateTime.calendar.nextWeek'),\n lastDay: i18next.t('component.dateTime.calendar.lastDay'),\n lastWeek: i18next.t('component.dateTime.calendar.lastWeek'),\n sameElse: i18next.t('component.dateTime.calendar.sameElse'),\n })\n}\n\nexport default React.memo(Calendar)\n","// Copyright 2021 PingCAP, Inc.\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\n// Inspired by:\n// https://github.com/iamkun/dayjs/issues/1226#issuecomment-768796249\n// https://github.com/iamkun/dayjs/blob/dev/src/plugin/calendar/index.js\n\ndeclare module 'dayjs' {\n interface Dayjs {\n calendar(referenceTime?: ConfigType, formats?: object): string\n }\n}\n\nexport default (o, c, d) => {\n const LT = 'h:mm A'\n const L = 'MM/DD/YYYY'\n const calendarFormat = {\n lastDay: `[Yesterday at] ${LT}`,\n sameDay: `[Today at] ${LT}`,\n nextDay: `[Tomorrow at] ${LT}`,\n sameWeek: `dddd [at] ${LT}`,\n nextWeek: `[Next] dddd [at] ${LT}`,\n lastWeek: `[Last] dddd [at] ${LT}`,\n sameElse: L,\n }\n const proto = c.prototype\n proto.calendar = function (referenceTime, formats) {\n const format = formats || this.$locale().calendar || calendarFormat\n const referenceStartOfDay = d(referenceTime || undefined).startOf('d')\n const diff = this.diff(referenceStartOfDay, 'd', true)\n const weekDiff = this.week() - referenceStartOfDay.week()\n const sameElse = 'sameElse'\n /* eslint-disable no-nested-ternary */\n const retVal =\n weekDiff < -1 || weekDiff > 1\n ? sameElse\n : diff < -1\n ? weekDiff === 0\n ? 'sameWeek'\n : 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : weekDiff === 0\n ? 'sameWeek'\n : 'nextWeek'\n /* eslint-enable no-nested-ternary */\n const currentFormat = format[retVal] || calendarFormat[retVal]\n if (typeof currentFormat === 'function') {\n return currentFormat.call(this, d())\n }\n return this.format(currentFormat)\n }\n}\n","import Calendar from './Calendar'\nimport Long from './Long'\n\nexport interface IDateTimeProps {\n unixTimestampMs: number\n}\n\nexport default { Calendar, Long }\n","import React, { useState } from 'react'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport { useTranslation } from 'react-i18next'\nimport { useTimeoutFn } from 'react-use'\nimport { CheckOutlined, CopyOutlined } from '@ant-design/icons'\nimport { addTranslationResource } from '@lib/utils/i18n'\n\nimport styles from './index.module.less'\n\ntype DisplayVariant = 'default' | 'original_sql' | 'formatted_sql'\nconst transKeys: { [K in DisplayVariant]: string } = {\n default: 'copy',\n original_sql: 'copyOriginal',\n formatted_sql: 'copyFormatted',\n}\n\nexport interface ICopyLinkProps {\n data?: string\n displayVariant?: DisplayVariant\n}\n\nconst translations = {\n en: {\n copy: 'Copy',\n copyOriginal: 'Copy Original',\n copyFormatted: 'Copy Formatted',\n success: 'Copied',\n },\n zh: {\n copy: '复制',\n copyOriginal: '复制原始 SQL',\n copyFormatted: '复制格式化 SQL',\n success: '已复制',\n },\n}\n\nfor (const key in translations) {\n addTranslationResource(key, {\n component: {\n copyLink: translations[key],\n },\n })\n}\n\nfunction CopyLink({ data, displayVariant = 'default' }: ICopyLinkProps) {\n const { t } = useTranslation()\n const [showCopied, setShowCopied] = useState(false)\n\n const reset = useTimeoutFn(() => {\n setShowCopied(false)\n }, 1500)[2]\n\n const handleCopy = () => {\n setShowCopied(true)\n reset()\n }\n\n return (\n \n {!showCopied && (\n \n \n {t(`component.copyLink.${transKeys[displayVariant]}`)}{' '}\n \n \n \n )}\n {showCopied && (\n \n {t('component.copyLink.success')}\n \n )}\n \n )\n}\n\nexport default React.memo(CopyLink)\n","export interface IQueryParams {\n [key: string]: any\n}\n\nexport function parseQueryFn() {\n return (qs: string): T => {\n const p = new URLSearchParams(qs)\n const json = p.get('query')\n if (json == null) {\n return {} as T\n }\n const r = JSON.parse(json)\n if (!!r && r.constructor === Object) {\n return r as T\n }\n return {} as T\n }\n}\n\nexport function buildQueryFn() {\n return (q: T): string => {\n const json = JSON.stringify(q)\n const p = new URLSearchParams()\n p.set('query', json)\n return p.toString()\n }\n}\n\nexport function stripQueryString(url: string) {\n return url.split('?')[0]\n}\n","import React, { useState } from 'react'\nimport { Tabs } from 'antd'\nimport cx from 'classnames'\nimport styles from './index.module.less'\nimport { TabsProps } from 'antd/es/tabs'\n\ntype Tab = {\n key: string\n title: string\n content: () => React.ReactNode\n}\n\nexport interface ICardTabsProps extends TabsProps {\n className?: string\n tabs: Tab[]\n}\n\nfunction renderCardTabBar(props, DefaultTabBar) {\n return \n}\n\nfunction CardTabs({\n className,\n tabs,\n defaultActiveKey,\n onChange,\n renderTabBar,\n ...restProps\n}: ICardTabsProps) {\n const [tabKey, setTabKey] = useState(defaultActiveKey || tabs[0].key)\n const c = cx(styles.tabs, className)\n const selectedTab = tabs.find((tab) => tab.key === tabKey)\n\n function changeTab(tabKey) {\n setTabKey(tabKey)\n onChange && onChange(tabKey)\n }\n\n return (\n <>\n \n {tabs.map((tab) => (\n \n ))}\n \n {selectedTab?.content()}\n \n )\n}\n\nexport default CardTabs\n","let prefix = document\n .querySelector('meta[name=\"x-public-path-prefix\"]')\n ?.getAttribute('content')\n\nif (prefix === '__PUBLIC_PATH_PREFIX__') {\n prefix = '/dashboard'\n}\n\nexport default prefix\n","import { Dropdown, Menu } from 'antd'\nimport _ from 'lodash'\nimport React, { ReactNode } from 'react'\nimport { useTranslation } from 'react-i18next'\n\nimport { ALL_LANGUAGES } from '@lib/utils/i18n'\n\nfunction LanguageDropdown({ children }: { children: ReactNode }) {\n const { i18n } = useTranslation()\n\n function handleClick(e) {\n i18n.changeLanguage(e.key)\n }\n\n const menu = (\n \n {_.map(ALL_LANGUAGES, (name, key) => {\n return {name}\n })}\n \n )\n\n return (\n \n {children}\n \n )\n}\n\nexport default LanguageDropdown\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"toolbar_container\":\"toolbar_container--aJ46v\",\"left_space\":\"left_space--f2ile\",\"right_space\":\"right_space--ccVeA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"container--20WM8\",\"content\":\"content--1D-Qd\",\"contentBack\":\"contentBack--24Xl3\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tabs\":\"tabs--1yFBx\",\"card_tab_navs\":\"card_tab_navs--9vSlL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"pre\":\"pre--2-7gh\",\"preNoWrap\":\"preNoWrap--3kOaS\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"singleLine\":\"singleLine--22ZRw\",\"multiLine\":\"multiLine--3UU6-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"title_container\":\"title_container--2TEPg\",\"foot_container\":\"foot_container--1LLf1\"};","import { useLocalStorageState as useAhooksLocalStorageState } from 'ahooks'\n\n// attachVersion will use the version field in package.json as the postfix for the localstorage key\n// we can **update version field in package.json** to upgrade local storage version key\nexport function useLocalStorageState(\n key: string,\n defaultValue: T | (() => T),\n attachVersion = false\n) {\n return useAhooksLocalStorageState(\n attachVersion ? `${key}.v${process.env.REACT_APP_VERSION}` : key,\n defaultValue\n )\n}\n","// This file is copied from 'sql-formatter-plus-plus/src/languages/StandardSqlFormatter.js'.\n// And changed the following lines:\n// `namedPlaceholderTypes: ['@', ':'],` => `namedPlaceholderTypes: [':'],`\n// Add the following line which copied from Db2Formatter.js:\n// `specialWordChars: ['@'],`\n\nimport Formatter from 'sql-formatter-plus-plus/src/core/Formatter'\nimport Tokenizer from 'sql-formatter-plus-plus/src/core/Tokenizer'\n\nconst reservedWords = [\n 'ACCESSIBLE',\n 'ACTION',\n 'AGAINST',\n 'AGGREGATE',\n 'ALGORITHM',\n 'ALL',\n 'ALTER',\n 'ANALYSE',\n 'ANALYZE',\n 'AS',\n 'ASC',\n 'AUTOCOMMIT',\n 'AUTO_INCREMENT',\n 'BACKUP',\n 'BEGIN',\n 'BETWEEN',\n 'BINLOG',\n 'BOTH',\n 'CASCADE',\n 'CASE',\n 'CHANGE',\n 'CHANGED',\n 'CHARACTER SET',\n 'CHARSET',\n 'CHECK',\n 'CHECKSUM',\n 'COLLATE',\n 'COLLATION',\n 'COLUMN',\n 'COLUMNS',\n 'COMMENT',\n 'COMMIT',\n 'COMMITTED',\n 'COMPRESSED',\n 'CONCURRENT',\n 'CONSTRAINT',\n 'CONTAINS',\n 'CONVERT',\n 'CREATE',\n 'CROSS',\n 'CURRENT_TIMESTAMP',\n 'DATABASE',\n 'DATABASES',\n 'DAY',\n 'DAY_HOUR',\n 'DAY_MINUTE',\n 'DAY_SECOND',\n 'DEFAULT',\n 'DEFINER',\n 'DELAYED',\n 'DELETE',\n 'DESC',\n 'DESCRIBE',\n 'DETERMINISTIC',\n 'DISTINCT',\n 'DISTINCTROW',\n 'DIV',\n 'DO',\n 'DROP',\n 'DUMPFILE',\n 'DUPLICATE',\n 'DYNAMIC',\n 'ELSE',\n 'ENCLOSED',\n 'END',\n 'ENGINE',\n 'ENGINES',\n 'ENGINE_TYPE',\n 'ESCAPE',\n 'ESCAPED',\n 'EVENTS',\n 'EXEC',\n 'EXECUTE',\n 'EXISTS',\n 'EXPLAIN',\n 'EXTENDED',\n 'FAST',\n 'FETCH',\n 'FIELDS',\n 'FILE',\n 'FIRST',\n 'FIXED',\n 'FLUSH',\n 'FOR',\n 'FORCE',\n 'FOREIGN',\n 'FULL',\n 'FULLTEXT',\n 'FUNCTION',\n 'GLOBAL',\n 'GRANT',\n 'GRANTS',\n 'GROUP_CONCAT',\n 'HEAP',\n 'HIGH_PRIORITY',\n 'HOSTS',\n 'HOUR',\n 'HOUR_MINUTE',\n 'HOUR_SECOND',\n 'IDENTIFIED',\n 'IF',\n 'IFNULL',\n 'IGNORE',\n 'IN',\n 'INDEX',\n 'INDEXES',\n 'INFILE',\n 'INSERT',\n 'INSERT_ID',\n 'INSERT_METHOD',\n 'INTERVAL',\n 'INTO',\n 'INVOKER',\n 'IS',\n 'ISOLATION',\n 'KEY',\n 'KEYS',\n 'KILL',\n 'LAST_INSERT_ID',\n 'LEADING',\n 'LEVEL',\n 'LIKE',\n 'LINEAR',\n 'LINES',\n 'LOAD',\n 'LOCAL',\n 'LOCK',\n 'LOCKS',\n 'LOGS',\n 'LOW_PRIORITY',\n 'MARIA',\n 'MASTER',\n 'MASTER_CONNECT_RETRY',\n 'MASTER_HOST',\n 'MASTER_LOG_FILE',\n 'MATCH',\n 'MAX_CONNECTIONS_PER_HOUR',\n 'MAX_QUERIES_PER_HOUR',\n 'MAX_ROWS',\n 'MAX_UPDATES_PER_HOUR',\n 'MAX_USER_CONNECTIONS',\n 'MEDIUM',\n 'MERGE',\n 'MINUTE',\n 'MINUTE_SECOND',\n 'MIN_ROWS',\n 'MODE',\n 'MODIFY',\n 'MONTH',\n 'MRG_MYISAM',\n 'MYISAM',\n 'NAMES',\n 'NATURAL',\n 'NOT',\n 'NOW()',\n 'NULL',\n 'OFFSET',\n 'ON DELETE',\n 'ON UPDATE',\n 'ON',\n 'ONLY',\n 'OPEN',\n 'OPTIMIZE',\n 'OPTION',\n 'OPTIONALLY',\n 'OUTFILE',\n 'PACK_KEYS',\n 'PAGE',\n 'PARTIAL',\n 'PARTITION',\n 'PARTITIONS',\n 'PASSWORD',\n 'PRIMARY',\n 'PRIVILEGES',\n 'PROCEDURE',\n 'PROCESS',\n 'PROCESSLIST',\n 'PURGE',\n 'QUICK',\n 'RAID0',\n 'RAID_CHUNKS',\n 'RAID_CHUNKSIZE',\n 'RAID_TYPE',\n 'RANGE',\n 'READ',\n 'READ_ONLY',\n 'READ_WRITE',\n 'REFERENCES',\n 'REGEXP',\n 'RELOAD',\n 'RENAME',\n 'REPAIR',\n 'REPEATABLE',\n 'REPLACE',\n 'REPLICATION',\n 'RESET',\n 'RESTORE',\n 'RESTRICT',\n 'RETURN',\n 'RETURNS',\n 'REVOKE',\n 'RLIKE',\n 'ROLLBACK',\n 'ROW',\n 'ROWS',\n 'ROW_FORMAT',\n 'SECOND',\n 'SECURITY',\n 'SEPARATOR',\n 'SERIALIZABLE',\n 'SESSION',\n 'SHARE',\n 'SHOW',\n 'SHUTDOWN',\n 'SLAVE',\n 'SONAME',\n 'SOUNDS',\n 'SQL',\n 'SQL_AUTO_IS_NULL',\n 'SQL_BIG_RESULT',\n 'SQL_BIG_SELECTS',\n 'SQL_BIG_TABLES',\n 'SQL_BUFFER_RESULT',\n 'SQL_CACHE',\n 'SQL_CALC_FOUND_ROWS',\n 'SQL_LOG_BIN',\n 'SQL_LOG_OFF',\n 'SQL_LOG_UPDATE',\n 'SQL_LOW_PRIORITY_UPDATES',\n 'SQL_MAX_JOIN_SIZE',\n 'SQL_NO_CACHE',\n 'SQL_QUOTE_SHOW_CREATE',\n 'SQL_SAFE_UPDATES',\n 'SQL_SELECT_LIMIT',\n 'SQL_SLAVE_SKIP_COUNTER',\n 'SQL_SMALL_RESULT',\n 'SQL_WARNINGS',\n 'START',\n 'STARTING',\n 'STATUS',\n 'STOP',\n 'STORAGE',\n 'STRAIGHT_JOIN',\n 'STRING',\n 'STRIPED',\n 'SUPER',\n 'TABLE',\n 'TABLES',\n 'TEMPORARY',\n 'TERMINATED',\n 'THEN',\n 'TO',\n 'TRAILING',\n 'TRANSACTIONAL',\n 'TRUE',\n 'TRUNCATE',\n 'TYPE',\n 'TYPES',\n 'UNCOMMITTED',\n 'UNIQUE',\n 'UNLOCK',\n 'UNSIGNED',\n 'USAGE',\n 'USE',\n 'USING',\n 'VARIABLES',\n 'VIEW',\n 'WHEN',\n 'WITH',\n 'WORK',\n 'WRITE',\n 'YEAR_MONTH',\n]\n\nconst reservedTopLevelWords = [\n 'ADD',\n 'AFTER',\n 'ALTER COLUMN',\n 'ALTER TABLE',\n 'DELETE FROM',\n 'EXCEPT',\n 'FETCH FIRST',\n 'FROM',\n 'GROUP BY',\n 'GO',\n 'HAVING',\n 'INSERT INTO',\n 'INSERT',\n 'LIMIT',\n 'MODIFY',\n 'ORDER BY',\n 'SELECT',\n 'SET CURRENT SCHEMA',\n 'SET SCHEMA',\n 'SET',\n 'UPDATE',\n 'VALUES',\n 'WHERE',\n]\n\nconst reservedTopLevelWordsNoIndent = [\n 'INTERSECT',\n 'INTERSECT ALL',\n 'MINUS',\n 'UNION',\n 'UNION ALL',\n]\n\nconst reservedNewlineWords = [\n 'AND',\n 'CROSS APPLY',\n 'CROSS JOIN',\n 'ELSE',\n 'INNER JOIN',\n 'JOIN',\n 'LEFT JOIN',\n 'LEFT OUTER JOIN',\n 'OR',\n 'OUTER APPLY',\n 'OUTER JOIN',\n 'RIGHT JOIN',\n 'RIGHT OUTER JOIN',\n 'WHEN',\n 'XOR',\n]\n\nlet tokenizer\n\nexport default class TiDBSQLFormatter {\n /**\n * @param {Object} cfg Different set of configurations\n */\n constructor(public cfg) {\n this.cfg = cfg\n }\n\n /**\n * Format the whitespace in a Standard SQL string to make it easier to read\n *\n * @param {String} query The Standard SQL string\n * @return {String} formatted string\n */\n format(query) {\n if (!tokenizer) {\n tokenizer = new Tokenizer({\n reservedWords,\n reservedTopLevelWords,\n reservedNewlineWords,\n reservedTopLevelWordsNoIndent,\n stringTypes: [`\"\"`, \"N''\", \"''\", '``', '[]'],\n openParens: ['(', 'CASE'],\n closeParens: [')', 'END'],\n indexedPlaceholderTypes: ['?'],\n namedPlaceholderTypes: [':'],\n lineCommentTypes: ['#', '--'],\n specialWordChars: ['@'],\n })\n }\n return new Formatter(this.cfg, tokenizer).format(query)\n }\n}\n","import TiDBSQLFormatter from './TiDBSQLFormatter'\n\nconst mySqlFormatter = new TiDBSQLFormatter({ uppercase: true })\n\nexport default function formatSql(sql?: string): string {\n return mySqlFormatter.format(sql || '')\n}\n","import { useMemo } from 'react'\nimport { useLocation } from 'react-router'\n\nexport default function useQueryParams() {\n // Note: seems that history.location can be outdated sometimes.\n\n const { search } = useLocation()\n\n const params = useMemo(() => {\n const searchParams = new URLSearchParams(search)\n let _params: { [k: string]: any } = {}\n for (const [k, v] of searchParams) {\n _params[k] = v\n }\n return _params\n }, [search])\n\n return params\n}\n","import 'dayjs/locale/zh'\n\nimport dayjs from 'dayjs'\nimport i18next from 'i18next'\nimport LanguageDetector from 'i18next-browser-languagedetector'\nimport { initReactI18next } from 'react-i18next'\n\nimport distro from '@lib/distribution.json'\n\ni18next.on('languageChanged', function (lng) {\n dayjs.locale(lng.toLowerCase())\n})\n\nexport function addTranslations(requireContext) {\n if (typeof requireContext === 'object') {\n Object.keys(requireContext).forEach((key) => {\n const translations = requireContext[key]\n addTranslationResource(key, translations)\n })\n return\n }\n\n const keys = requireContext.keys()\n keys.forEach((key) => {\n const m = key.match(/\\/(.+)\\.yaml/)\n if (!m) {\n return\n }\n const lang = m[1]\n const translations = requireContext(key)\n addTranslationResource(lang, translations)\n })\n}\n\nexport function addTranslationResource(lang, translations) {\n i18next.addResourceBundle(lang, 'translation', translations, true, false)\n}\n\nexport const ALL_LANGUAGES = {\n zh: '简体中文',\n en: 'English',\n}\n\ni18next\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n resources: {\n en: {\n translation: {\n distro,\n },\n },\n },\n fallbackLng: 'en', // fallbackLng won't change the detected language\n whitelist: ['zh', 'en'], // whitelist will change the detected lanuage\n interpolation: {\n escapeValue: false,\n defaultVariables: { distro },\n },\n })\n\nconst isDistro = process.env.REACT_APP_DISTRO_BUILD_TAG !== undefined\n\nexport { distro, isDistro }\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"container--3PRT_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"copiedText\":\"copiedText--34ehG\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tableWithFilterContainer\":\"tableWithFilterContainer--xOYU6\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"blinkActive\":\"blinkActive--2UKqs\",\"blink\":\"blink--2gsl5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sider\":\"sider--2lj_o\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"container--1QemY\",\"contantContainer\":\"contantContainer--2VsYH\",\"dialogContainer\":\"dialogContainer--3LjH8\",\"dialog\":\"dialog--tBOJH\",\"landing\":\"landing--2DVil\",\"logo\":\"logo--GyT-9\",\"signInButton\":\"signInButton--1rSUG\",\"extraLink\":\"extraLink--3cgo3\",\"clickable\":\"clickable--3-cNu\",\"alternativeFormLayer\":\"alternativeFormLayer--3JuNp\",\"alternativeCloseButton\":\"alternativeCloseButton--44iaZ\",\"alternativeButton\":\"alternativeButton--Wfpwk\",\"anticon\":\"anticon--2zrKe\",\"alternativeButton-lg\":\"alternativeButton-lg--1lFKa\",\"alternativeButton-sm\":\"alternativeButton-sm--LTfHY\",\"title\":\"title--arFaI\",\"icon\":\"icon--38pzI\"};","import React from 'react'\nimport i18next from 'i18next'\nimport axios, { AxiosInstance } from 'axios'\nimport { message, Modal, notification } from 'antd'\nimport * as singleSpa from 'single-spa'\n\nimport * as auth from '@lib/utils/auth'\nimport * as routing from '@lib/utils/routing'\nimport * as i18n from '@lib/utils/i18n'\nimport { reportError } from '@lib/utils/sentryHelpers'\n\nimport { DefaultApi } from './api'\nimport { getApiBasePath } from './baseUrl'\n\nexport * from './api'\n\n//////////////////////////////\n\nlet basePath: string\nlet apiClientInstance: DefaultApi\nlet rawAxiosInstance: AxiosInstance\n\nfunction save(\n instanceBasePath: string,\n instance: DefaultApi,\n axiosInstace: AxiosInstance\n) {\n basePath = instanceBasePath\n apiClientInstance = instance\n rawAxiosInstance = axiosInstace\n}\n\nfunction getInstance(): DefaultApi {\n return apiClientInstance\n}\n\nfunction getBasePath(): string {\n return basePath\n}\n\nfunction getAxiosInstance(): AxiosInstance {\n return rawAxiosInstance\n}\n\nexport default { getInstance, getBasePath, getAxiosInstance }\n\n//////////////////////////////\n\nexport enum ErrorStrategy {\n Default = 'default',\n Custom = 'custom',\n}\n\nconst ERR_CODE_OTHER = 'error.api.other'\n\nfunction applyErrorHandlerInterceptor(instance: AxiosInstance) {\n instance.interceptors.response.use(undefined, async function (err) {\n const { response, config } = err\n const errorStrategy = config.errorStrategy as ErrorStrategy\n const method = (config.method as string).toLowerCase()\n\n let errCode: string\n let content: string\n if (err.message === 'Network Error') {\n errCode = 'error.network'\n } else {\n errCode = response?.data?.code\n }\n if (errCode !== ERR_CODE_OTHER && i18next.exists(errCode ?? '')) {\n content = i18next.t(errCode)\n } else {\n content =\n response?.data?.message || err.message || i18next.t(ERR_CODE_OTHER)\n }\n err.message = content\n err.errCode = errCode\n\n if (errCode === 'error.api.unauthorized') {\n // Handle unauthorized error in a unified way\n if (!routing.isLocationMatch('/') && !routing.isSignInPage()) {\n message.error({ content, key: errCode })\n }\n auth.clearAuthToken()\n singleSpa.navigateToUrl('#' + routing.signInRoute)\n err.handled = true\n } else if (errorStrategy === ErrorStrategy.Default) {\n if (method === 'get') {\n const fullUrl = config.url as string\n const API = fullUrl.replace(getBasePath(), '').split('?')[0]\n notification.error({\n key: API,\n message: i18next.t('error.title'),\n description: (\n \n API: {API}\n
    \n {content}\n
    \n ),\n })\n } else if (['post', 'put', 'delete', 'patch'].includes(method)) {\n Modal.error({\n title: i18next.t('error.title'),\n content: content,\n zIndex: 2000, // higher than popover\n })\n }\n err.handled = true\n }\n\n reportError(err)\n return Promise.reject(err)\n })\n}\n\nfunction initAxios() {\n i18n.addTranslations(require.context('./translations/', false, /\\.yaml$/))\n\n const instance = axios.create()\n applyErrorHandlerInterceptor(instance)\n\n return instance\n}\n\nfunction init() {\n const basePath = getApiBasePath()\n const axiosInstance = initAxios()\n const dashboardClient = new DefaultApi(\n {\n basePath,\n apiKey: () => auth.getAuthTokenAsBearer() || '',\n baseOptions: {\n errorStrategy: ErrorStrategy.Default,\n },\n },\n undefined,\n axiosInstance\n )\n\n save(basePath, dashboardClient, axiosInstance)\n}\n\ninit()\n","// tslint:disable\n/**\n * Dashboard API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport { Configuration } from \"./configuration\";\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\n\nexport const BASE_PATH = \"http://localhost/dashboard/api\".replace(/\\/+$/, \"\");\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n url: string;\n options: any;\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath || this.basePath;\n }\n }\n};\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n","// tslint:disable\n/**\n * Dashboard API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 1.0\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport * as globalImportUrl from 'url';\nimport { Configuration } from './configuration';\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from './base';\n\n/**\n * \n * @export\n * @interface ClusterinfoClusterStatistics\n */\nexport interface ClusterinfoClusterStatistics {\n /**\n * \n * @type {number}\n * @memberof ClusterinfoClusterStatistics\n */\n probe_failure_hosts?: number;\n /**\n * \n * @type {{ [key: string]: ClusterinfoClusterStatisticsPartial; }}\n * @memberof ClusterinfoClusterStatistics\n */\n stats_by_instance_kind?: { [key: string]: ClusterinfoClusterStatisticsPartial; };\n /**\n * \n * @type {ClusterinfoClusterStatisticsPartial}\n * @memberof ClusterinfoClusterStatistics\n */\n total_stats?: ClusterinfoClusterStatisticsPartial;\n /**\n * \n * @type {Array}\n * @memberof ClusterinfoClusterStatistics\n */\n versions?: Array;\n}\n/**\n * \n * @export\n * @interface ClusterinfoClusterStatisticsPartial\n */\nexport interface ClusterinfoClusterStatisticsPartial {\n /**\n * \n * @type {number}\n * @memberof ClusterinfoClusterStatisticsPartial\n */\n number_of_hosts?: number;\n /**\n * \n * @type {number}\n * @memberof ClusterinfoClusterStatisticsPartial\n */\n number_of_instances?: number;\n /**\n * \n * @type {number}\n * @memberof ClusterinfoClusterStatisticsPartial\n */\n total_logical_cores?: number;\n /**\n * \n * @type {number}\n * @memberof ClusterinfoClusterStatisticsPartial\n */\n total_memory_capacity_bytes?: number;\n /**\n * \n * @type {number}\n * @memberof ClusterinfoClusterStatisticsPartial\n */\n total_physical_cores?: number;\n}\n/**\n * \n * @export\n * @interface ClusterinfoGetHostsInfoResponse\n */\nexport interface ClusterinfoGetHostsInfoResponse {\n /**\n * \n * @type {Array}\n * @memberof ClusterinfoGetHostsInfoResponse\n */\n hosts?: Array;\n /**\n * \n * @type {UtilsAPIError}\n * @memberof ClusterinfoGetHostsInfoResponse\n */\n warning?: UtilsAPIError;\n}\n/**\n * \n * @export\n * @interface ClusterinfoStoreTopologyResponse\n */\nexport interface ClusterinfoStoreTopologyResponse {\n /**\n * \n * @type {Array}\n * @memberof ClusterinfoStoreTopologyResponse\n */\n tiflash?: Array;\n /**\n * \n * @type {Array}\n * @memberof ClusterinfoStoreTopologyResponse\n */\n tikv?: Array;\n}\n/**\n * \n * @export\n * @interface CodeShareRequest\n */\nexport interface CodeShareRequest {\n /**\n * \n * @type {number}\n * @memberof CodeShareRequest\n */\n expire_in_sec?: number;\n /**\n * \n * @type {boolean}\n * @memberof CodeShareRequest\n */\n revoke_write_priv?: boolean;\n}\n/**\n * \n * @export\n * @interface CodeShareResponse\n */\nexport interface CodeShareResponse {\n /**\n * \n * @type {string}\n * @memberof CodeShareResponse\n */\n code?: string;\n}\n/**\n * \n * @export\n * @interface ConfigKeyVisualConfig\n */\nexport interface ConfigKeyVisualConfig {\n /**\n * \n * @type {boolean}\n * @memberof ConfigKeyVisualConfig\n */\n auto_collection_disabled?: boolean;\n /**\n * \n * @type {string}\n * @memberof ConfigKeyVisualConfig\n */\n policy?: string;\n /**\n * \n * @type {string}\n * @memberof ConfigKeyVisualConfig\n */\n policy_kv_separator?: string;\n}\n/**\n * \n * @export\n * @interface ConfigProfilingConfig\n */\nexport interface ConfigProfilingConfig {\n /**\n * \n * @type {number}\n * @memberof ConfigProfilingConfig\n */\n auto_collection_duration_secs?: number;\n /**\n * \n * @type {number}\n * @memberof ConfigProfilingConfig\n */\n auto_collection_interval_secs?: number;\n /**\n * \n * @type {Array}\n * @memberof ConfigProfilingConfig\n */\n auto_collection_targets?: Array;\n}\n/**\n * \n * @export\n * @interface ConfigSSOCoreConfig\n */\nexport interface ConfigSSOCoreConfig {\n /**\n * \n * @type {string}\n * @memberof ConfigSSOCoreConfig\n */\n client_id?: string;\n /**\n * \n * @type {string}\n * @memberof ConfigSSOCoreConfig\n */\n discovery_url?: string;\n /**\n * \n * @type {boolean}\n * @memberof ConfigSSOCoreConfig\n */\n enabled?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ConfigSSOCoreConfig\n */\n is_read_only?: boolean;\n}\n/**\n * \n * @export\n * @interface ConfigurationAllConfigItems\n */\nexport interface ConfigurationAllConfigItems {\n /**\n * \n * @type {Array}\n * @memberof ConfigurationAllConfigItems\n */\n errors?: Array;\n /**\n * \n * @type {{ [key: string]: Array; }}\n * @memberof ConfigurationAllConfigItems\n */\n items?: { [key: string]: Array; };\n}\n/**\n * \n * @export\n * @interface ConfigurationEditRequest\n */\nexport interface ConfigurationEditRequest {\n /**\n * \n * @type {string}\n * @memberof ConfigurationEditRequest\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof ConfigurationEditRequest\n */\n kind?: string;\n /**\n * \n * @type {object}\n * @memberof ConfigurationEditRequest\n */\n new_value?: object;\n}\n/**\n * \n * @export\n * @interface ConfigurationEditResponse\n */\nexport interface ConfigurationEditResponse {\n /**\n * \n * @type {Array}\n * @memberof ConfigurationEditResponse\n */\n warnings?: Array;\n}\n/**\n * \n * @export\n * @interface ConfigurationItem\n */\nexport interface ConfigurationItem {\n /**\n * \n * @type {string}\n * @memberof ConfigurationItem\n */\n id?: string;\n /**\n * \n * @type {boolean}\n * @memberof ConfigurationItem\n */\n is_editable?: boolean;\n /**\n * TODO: Support per-instance config\n * @type {boolean}\n * @memberof ConfigurationItem\n */\n is_multi_value?: boolean;\n /**\n * When multi value present, this contains one of the value\n * @type {object}\n * @memberof ConfigurationItem\n */\n value?: object;\n}\n/**\n * \n * @export\n * @interface DecoratorLabelKey\n */\nexport interface DecoratorLabelKey {\n /**\n * \n * @type {string}\n * @memberof DecoratorLabelKey\n */\n key: string;\n /**\n * \n * @type {Array}\n * @memberof DecoratorLabelKey\n */\n labels: Array;\n}\n/**\n * \n * @export\n * @interface DiagnoseGenerateMetricsRelationRequest\n */\nexport interface DiagnoseGenerateMetricsRelationRequest {\n /**\n * \n * @type {number}\n * @memberof DiagnoseGenerateMetricsRelationRequest\n */\n end_time?: number;\n /**\n * \n * @type {number}\n * @memberof DiagnoseGenerateMetricsRelationRequest\n */\n start_time?: number;\n /**\n * \n * @type {string}\n * @memberof DiagnoseGenerateMetricsRelationRequest\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface DiagnoseGenerateReportRequest\n */\nexport interface DiagnoseGenerateReportRequest {\n /**\n * \n * @type {number}\n * @memberof DiagnoseGenerateReportRequest\n */\n compare_end_time?: number;\n /**\n * \n * @type {number}\n * @memberof DiagnoseGenerateReportRequest\n */\n compare_start_time?: number;\n /**\n * \n * @type {number}\n * @memberof DiagnoseGenerateReportRequest\n */\n end_time?: number;\n /**\n * \n * @type {number}\n * @memberof DiagnoseGenerateReportRequest\n */\n start_time?: number;\n}\n/**\n * \n * @export\n * @interface DiagnoseReport\n */\nexport interface DiagnoseReport {\n /**\n * \n * @type {string}\n * @memberof DiagnoseReport\n */\n compare_end_time?: string;\n /**\n * \n * @type {string}\n * @memberof DiagnoseReport\n */\n compare_start_time?: string;\n /**\n * \n * @type {string}\n * @memberof DiagnoseReport\n */\n content?: string;\n /**\n * \n * @type {string}\n * @memberof DiagnoseReport\n */\n created_at?: string;\n /**\n * \n * @type {string}\n * @memberof DiagnoseReport\n */\n end_time?: string;\n /**\n * \n * @type {string}\n * @memberof DiagnoseReport\n */\n id?: string;\n /**\n * 0~100\n * @type {number}\n * @memberof DiagnoseReport\n */\n progress?: number;\n /**\n * \n * @type {string}\n * @memberof DiagnoseReport\n */\n start_time?: string;\n}\n/**\n * \n * @export\n * @interface EndpointAPIModel\n */\nexport interface EndpointAPIModel {\n /**\n * \n * @type {string}\n * @memberof EndpointAPIModel\n */\n component?: string;\n /**\n * \n * @type {string}\n * @memberof EndpointAPIModel\n */\n id?: string;\n /**\n * \n * @type {string}\n * @memberof EndpointAPIModel\n */\n method?: string;\n /**\n * \n * @type {string}\n * @memberof EndpointAPIModel\n */\n path?: string;\n /**\n * e.g. /stats/dump/{db}/{table} -> db, table\n * @type {Array}\n * @memberof EndpointAPIModel\n */\n path_params?: Array;\n /**\n * e.g. /debug/pprof?seconds=1 -> seconds\n * @type {Array}\n * @memberof EndpointAPIModel\n */\n query_params?: Array;\n}\n/**\n * \n * @export\n * @interface EndpointAPIParam\n */\nexport interface EndpointAPIParam {\n /**\n * represents what param is\n * @type {object}\n * @memberof EndpointAPIParam\n */\n model?: object;\n /**\n * \n * @type {string}\n * @memberof EndpointAPIParam\n */\n name?: string;\n /**\n * \n * @type {boolean}\n * @memberof EndpointAPIParam\n */\n required?: boolean;\n}\n/**\n * \n * @export\n * @interface EndpointRequestPayload\n */\nexport interface EndpointRequestPayload {\n /**\n * \n * @type {string}\n * @memberof EndpointRequestPayload\n */\n host?: string;\n /**\n * \n * @type {string}\n * @memberof EndpointRequestPayload\n */\n id?: string;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof EndpointRequestPayload\n */\n params?: { [key: string]: string; };\n /**\n * \n * @type {number}\n * @memberof EndpointRequestPayload\n */\n port?: number;\n}\n/**\n * \n * @export\n * @interface HostinfoCPUInfo\n */\nexport interface HostinfoCPUInfo {\n /**\n * \n * @type {string}\n * @memberof HostinfoCPUInfo\n */\n arch?: string;\n /**\n * \n * @type {number}\n * @memberof HostinfoCPUInfo\n */\n logical_cores?: number;\n /**\n * \n * @type {number}\n * @memberof HostinfoCPUInfo\n */\n physical_cores?: number;\n}\n/**\n * \n * @export\n * @interface HostinfoCPUUsageInfo\n */\nexport interface HostinfoCPUUsageInfo {\n /**\n * \n * @type {number}\n * @memberof HostinfoCPUUsageInfo\n */\n idle?: number;\n /**\n * \n * @type {number}\n * @memberof HostinfoCPUUsageInfo\n */\n system?: number;\n}\n/**\n * \n * @export\n * @interface HostinfoInfo\n */\nexport interface HostinfoInfo {\n /**\n * \n * @type {HostinfoCPUInfo}\n * @memberof HostinfoInfo\n */\n cpu_info?: HostinfoCPUInfo;\n /**\n * \n * @type {HostinfoCPUUsageInfo}\n * @memberof HostinfoInfo\n */\n cpu_usage?: HostinfoCPUUsageInfo;\n /**\n * \n * @type {string}\n * @memberof HostinfoInfo\n */\n host?: string;\n /**\n * Instances in the current host. The key is instance address\n * @type {{ [key: string]: HostinfoInstanceInfo; }}\n * @memberof HostinfoInfo\n */\n instances?: { [key: string]: HostinfoInstanceInfo; };\n /**\n * \n * @type {HostinfoMemoryUsageInfo}\n * @memberof HostinfoInfo\n */\n memory_usage?: HostinfoMemoryUsageInfo;\n /**\n * Containing unused partitions. The key is path in lower case. Note: deviceName is not used as the key, since TiDB and TiKV may return different deviceName for the same device.\n * @type {{ [key: string]: HostinfoPartitionInfo; }}\n * @memberof HostinfoInfo\n */\n partitions?: { [key: string]: HostinfoPartitionInfo; };\n}\n/**\n * \n * @export\n * @interface HostinfoInstanceInfo\n */\nexport interface HostinfoInstanceInfo {\n /**\n * \n * @type {string}\n * @memberof HostinfoInstanceInfo\n */\n partition_path_lower?: string;\n /**\n * \n * @type {string}\n * @memberof HostinfoInstanceInfo\n */\n type?: string;\n}\n/**\n * \n * @export\n * @interface HostinfoMemoryUsageInfo\n */\nexport interface HostinfoMemoryUsageInfo {\n /**\n * \n * @type {number}\n * @memberof HostinfoMemoryUsageInfo\n */\n total?: number;\n /**\n * \n * @type {number}\n * @memberof HostinfoMemoryUsageInfo\n */\n used?: number;\n}\n/**\n * \n * @export\n * @interface HostinfoPartitionInfo\n */\nexport interface HostinfoPartitionInfo {\n /**\n * \n * @type {number}\n * @memberof HostinfoPartitionInfo\n */\n free?: number;\n /**\n * \n * @type {string}\n * @memberof HostinfoPartitionInfo\n */\n fstype?: string;\n /**\n * \n * @type {string}\n * @memberof HostinfoPartitionInfo\n */\n path?: string;\n /**\n * \n * @type {number}\n * @memberof HostinfoPartitionInfo\n */\n total?: number;\n}\n/**\n * \n * @export\n * @interface InfoInfoResponse\n */\nexport interface InfoInfoResponse {\n /**\n * \n * @type {boolean}\n * @memberof InfoInfoResponse\n */\n enable_experimental?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof InfoInfoResponse\n */\n enable_telemetry?: boolean;\n /**\n * \n * @type {VersionInfo}\n * @memberof InfoInfoResponse\n */\n version?: VersionInfo;\n}\n/**\n * \n * @export\n * @interface InfoTableSchema\n */\nexport interface InfoTableSchema {\n /**\n * \n * @type {string}\n * @memberof InfoTableSchema\n */\n table_id?: string;\n /**\n * \n * @type {string}\n * @memberof InfoTableSchema\n */\n table_name?: string;\n}\n/**\n * \n * @export\n * @interface InfoWhoAmIResponse\n */\nexport interface InfoWhoAmIResponse {\n /**\n * \n * @type {string}\n * @memberof InfoWhoAmIResponse\n */\n display_name?: string;\n /**\n * \n * @type {boolean}\n * @memberof InfoWhoAmIResponse\n */\n is_shareable?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof InfoWhoAmIResponse\n */\n is_writeable?: boolean;\n}\n/**\n * \n * @export\n * @interface LogsearchCreateTaskGroupRequest\n */\nexport interface LogsearchCreateTaskGroupRequest {\n /**\n * \n * @type {LogsearchSearchLogRequest}\n * @memberof LogsearchCreateTaskGroupRequest\n */\n request: LogsearchSearchLogRequest;\n /**\n * \n * @type {Array}\n * @memberof LogsearchCreateTaskGroupRequest\n */\n targets: Array;\n}\n/**\n * \n * @export\n * @interface LogsearchPreviewModel\n */\nexport interface LogsearchPreviewModel {\n /**\n * \n * @type {number}\n * @memberof LogsearchPreviewModel\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof LogsearchPreviewModel\n */\n level?: string;\n /**\n * \n * @type {string}\n * @memberof LogsearchPreviewModel\n */\n message?: string;\n /**\n * \n * @type {number}\n * @memberof LogsearchPreviewModel\n */\n task_group_id?: number;\n /**\n * \n * @type {number}\n * @memberof LogsearchPreviewModel\n */\n task_id?: number;\n /**\n * \n * @type {number}\n * @memberof LogsearchPreviewModel\n */\n time?: number;\n}\n/**\n * \n * @export\n * @interface LogsearchSearchLogRequest\n */\nexport interface LogsearchSearchLogRequest {\n /**\n * \n * @type {number}\n * @memberof LogsearchSearchLogRequest\n */\n end_time?: number;\n /**\n * \n * @type {number}\n * @memberof LogsearchSearchLogRequest\n */\n min_level?: number;\n /**\n * We use a string array to represent multiple CNF pattern sceniaor like: SELECT * FROM t WHERE c LIKE \\'%s%\\' and c REGEXP \\'.*a.*\\' because Golang and Rust don\\'t support perl-like (?=re1)(?=re2)\n * @type {Array}\n * @memberof LogsearchSearchLogRequest\n */\n patterns?: Array;\n /**\n * \n * @type {number}\n * @memberof LogsearchSearchLogRequest\n */\n start_time?: number;\n}\n/**\n * \n * @export\n * @interface LogsearchTaskGroupModel\n */\nexport interface LogsearchTaskGroupModel {\n /**\n * \n * @type {number}\n * @memberof LogsearchTaskGroupModel\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof LogsearchTaskGroupModel\n */\n log_store_dir?: string;\n /**\n * \n * @type {LogsearchSearchLogRequest}\n * @memberof LogsearchTaskGroupModel\n */\n search_request?: LogsearchSearchLogRequest;\n /**\n * \n * @type {number}\n * @memberof LogsearchTaskGroupModel\n */\n state?: number;\n /**\n * \n * @type {ModelRequestTargetStatistics}\n * @memberof LogsearchTaskGroupModel\n */\n target_stats?: ModelRequestTargetStatistics;\n}\n/**\n * \n * @export\n * @interface LogsearchTaskGroupResponse\n */\nexport interface LogsearchTaskGroupResponse {\n /**\n * \n * @type {LogsearchTaskGroupModel}\n * @memberof LogsearchTaskGroupResponse\n */\n task_group?: LogsearchTaskGroupModel;\n /**\n * \n * @type {Array}\n * @memberof LogsearchTaskGroupResponse\n */\n tasks?: Array;\n}\n/**\n * \n * @export\n * @interface LogsearchTaskModel\n */\nexport interface LogsearchTaskModel {\n /**\n * \n * @type {string}\n * @memberof LogsearchTaskModel\n */\n error?: string;\n /**\n * \n * @type {number}\n * @memberof LogsearchTaskModel\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof LogsearchTaskModel\n */\n log_store_path?: string;\n /**\n * \n * @type {number}\n * @memberof LogsearchTaskModel\n */\n size?: number;\n /**\n * \n * @type {string}\n * @memberof LogsearchTaskModel\n */\n slow_log_store_path?: string;\n /**\n * \n * @type {number}\n * @memberof LogsearchTaskModel\n */\n state?: number;\n /**\n * \n * @type {ModelRequestTargetNode}\n * @memberof LogsearchTaskModel\n */\n target?: ModelRequestTargetNode;\n /**\n * \n * @type {number}\n * @memberof LogsearchTaskModel\n */\n task_group_id?: number;\n}\n/**\n * \n * @export\n * @interface MatrixMatrix\n */\nexport interface MatrixMatrix {\n /**\n * \n * @type {{ [key: string]: Array>; }}\n * @memberof MatrixMatrix\n */\n data: { [key: string]: Array>; };\n /**\n * \n * @type {Array}\n * @memberof MatrixMatrix\n */\n keyAxis: Array;\n /**\n * \n * @type {Array}\n * @memberof MatrixMatrix\n */\n timeAxis: Array;\n}\n/**\n * \n * @export\n * @interface MetricsGetPromAddressConfigResponse\n */\nexport interface MetricsGetPromAddressConfigResponse {\n /**\n * \n * @type {string}\n * @memberof MetricsGetPromAddressConfigResponse\n */\n customized_addr?: string;\n /**\n * \n * @type {string}\n * @memberof MetricsGetPromAddressConfigResponse\n */\n deployed_addr?: string;\n}\n/**\n * \n * @export\n * @interface MetricsPutCustomPromAddressRequest\n */\nexport interface MetricsPutCustomPromAddressRequest {\n /**\n * \n * @type {string}\n * @memberof MetricsPutCustomPromAddressRequest\n */\n address?: string;\n}\n/**\n * \n * @export\n * @interface MetricsPutCustomPromAddressResponse\n */\nexport interface MetricsPutCustomPromAddressResponse {\n /**\n * \n * @type {string}\n * @memberof MetricsPutCustomPromAddressResponse\n */\n normalized_address?: string;\n}\n/**\n * \n * @export\n * @interface MetricsQueryRequest\n */\nexport interface MetricsQueryRequest {\n /**\n * \n * @type {number}\n * @memberof MetricsQueryRequest\n */\n end_time_sec?: number;\n /**\n * \n * @type {string}\n * @memberof MetricsQueryRequest\n */\n query?: string;\n /**\n * \n * @type {number}\n * @memberof MetricsQueryRequest\n */\n start_time_sec?: number;\n /**\n * \n * @type {number}\n * @memberof MetricsQueryRequest\n */\n step_sec?: number;\n}\n/**\n * \n * @export\n * @interface MetricsQueryResponse\n */\nexport interface MetricsQueryResponse {\n /**\n * \n * @type {object}\n * @memberof MetricsQueryResponse\n */\n data?: object;\n /**\n * \n * @type {string}\n * @memberof MetricsQueryResponse\n */\n status?: string;\n}\n/**\n * \n * @export\n * @interface ModelRequestTargetNode\n */\nexport interface ModelRequestTargetNode {\n /**\n * \n * @type {string}\n * @memberof ModelRequestTargetNode\n */\n display_name?: string;\n /**\n * \n * @type {string}\n * @memberof ModelRequestTargetNode\n */\n ip?: string;\n /**\n * \n * @type {string}\n * @memberof ModelRequestTargetNode\n */\n kind?: string;\n /**\n * \n * @type {number}\n * @memberof ModelRequestTargetNode\n */\n port?: number;\n}\n/**\n * \n * @export\n * @interface ModelRequestTargetStatistics\n */\nexport interface ModelRequestTargetStatistics {\n /**\n * \n * @type {number}\n * @memberof ModelRequestTargetStatistics\n */\n num_pd_nodes?: number;\n /**\n * \n * @type {number}\n * @memberof ModelRequestTargetStatistics\n */\n num_tidb_nodes?: number;\n /**\n * \n * @type {number}\n * @memberof ModelRequestTargetStatistics\n */\n num_tiflash_nodes?: number;\n /**\n * \n * @type {number}\n * @memberof ModelRequestTargetStatistics\n */\n num_tikv_nodes?: number;\n}\n/**\n * \n * @export\n * @interface ProfilingComponent\n */\nexport interface ProfilingComponent {\n /**\n * \n * @type {string}\n * @memberof ProfilingComponent\n */\n ip?: string;\n /**\n * \n * @type {string}\n * @memberof ProfilingComponent\n */\n name?: string;\n /**\n * \n * @type {number}\n * @memberof ProfilingComponent\n */\n port?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingComponent\n */\n status_port?: number;\n}\n/**\n * \n * @export\n * @interface ProfilingComponentNum\n */\nexport interface ProfilingComponentNum {\n /**\n * \n * @type {number}\n * @memberof ProfilingComponentNum\n */\n pd?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingComponentNum\n */\n tidb?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingComponentNum\n */\n tiflash?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingComponentNum\n */\n tikv?: number;\n}\n/**\n * \n * @export\n * @interface ProfilingContinuousProfilingConfig\n */\nexport interface ProfilingContinuousProfilingConfig {\n /**\n * \n * @type {number}\n * @memberof ProfilingContinuousProfilingConfig\n */\n data_retention_seconds?: number;\n /**\n * \n * @type {boolean}\n * @memberof ProfilingContinuousProfilingConfig\n */\n enable?: boolean;\n /**\n * \n * @type {number}\n * @memberof ProfilingContinuousProfilingConfig\n */\n interval_seconds?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingContinuousProfilingConfig\n */\n profile_seconds?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingContinuousProfilingConfig\n */\n timeout_seconds?: number;\n}\n/**\n * \n * @export\n * @interface ProfilingEstimateSizeRes\n */\nexport interface ProfilingEstimateSizeRes {\n /**\n * \n * @type {number}\n * @memberof ProfilingEstimateSizeRes\n */\n instance_count?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingEstimateSizeRes\n */\n profile_size?: number;\n}\n/**\n * \n * @export\n * @interface ProfilingGetGroupProfileReq\n */\nexport interface ProfilingGetGroupProfileReq {\n /**\n * \n * @type {number}\n * @memberof ProfilingGetGroupProfileReq\n */\n begin_time?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingGetGroupProfileReq\n */\n end_time?: number;\n}\n/**\n * \n * @export\n * @interface ProfilingGroupDetailResponse\n */\nexport interface ProfilingGroupDetailResponse {\n /**\n * \n * @type {number}\n * @memberof ProfilingGroupDetailResponse\n */\n server_time?: number;\n /**\n * \n * @type {ProfilingTaskGroupModel}\n * @memberof ProfilingGroupDetailResponse\n */\n task_group_status?: ProfilingTaskGroupModel;\n /**\n * \n * @type {Array}\n * @memberof ProfilingGroupDetailResponse\n */\n tasks_status?: Array;\n}\n/**\n * \n * @export\n * @interface ProfilingGroupProfileDetail\n */\nexport interface ProfilingGroupProfileDetail {\n /**\n * \n * @type {number}\n * @memberof ProfilingGroupProfileDetail\n */\n profile_duration_secs?: number;\n /**\n * \n * @type {string}\n * @memberof ProfilingGroupProfileDetail\n */\n state?: string;\n /**\n * \n * @type {Array}\n * @memberof ProfilingGroupProfileDetail\n */\n target_profiles?: Array;\n /**\n * \n * @type {number}\n * @memberof ProfilingGroupProfileDetail\n */\n ts?: number;\n}\n/**\n * \n * @export\n * @interface ProfilingGroupProfiles\n */\nexport interface ProfilingGroupProfiles {\n /**\n * \n * @type {ProfilingComponentNum}\n * @memberof ProfilingGroupProfiles\n */\n component_num?: ProfilingComponentNum;\n /**\n * \n * @type {number}\n * @memberof ProfilingGroupProfiles\n */\n profile_duration_secs?: number;\n /**\n * \n * @type {string}\n * @memberof ProfilingGroupProfiles\n */\n state?: string;\n /**\n * \n * @type {number}\n * @memberof ProfilingGroupProfiles\n */\n ts?: number;\n}\n/**\n * \n * @export\n * @interface ProfilingNgMonitoringConfig\n */\nexport interface ProfilingNgMonitoringConfig {\n /**\n * \n * @type {ProfilingContinuousProfilingConfig}\n * @memberof ProfilingNgMonitoringConfig\n */\n continuous_profiling?: ProfilingContinuousProfilingConfig;\n}\n/**\n * \n * @export\n * @interface ProfilingProfileDetail\n */\nexport interface ProfilingProfileDetail {\n /**\n * \n * @type {string}\n * @memberof ProfilingProfileDetail\n */\n error?: string;\n /**\n * \n * @type {string}\n * @memberof ProfilingProfileDetail\n */\n profile_type?: string;\n /**\n * \n * @type {string}\n * @memberof ProfilingProfileDetail\n */\n state?: string;\n /**\n * \n * @type {ProfilingTarget}\n * @memberof ProfilingProfileDetail\n */\n target?: ProfilingTarget;\n}\n/**\n * \n * @export\n * @interface ProfilingStartRequest\n */\nexport interface ProfilingStartRequest {\n /**\n * \n * @type {number}\n * @memberof ProfilingStartRequest\n */\n duration_secs?: number;\n /**\n * \n * @type {Array}\n * @memberof ProfilingStartRequest\n */\n targets?: Array;\n}\n/**\n * \n * @export\n * @interface ProfilingTarget\n */\nexport interface ProfilingTarget {\n /**\n * \n * @type {string}\n * @memberof ProfilingTarget\n */\n address?: string;\n /**\n * \n * @type {string}\n * @memberof ProfilingTarget\n */\n component?: string;\n}\n/**\n * \n * @export\n * @interface ProfilingTaskGroupModel\n */\nexport interface ProfilingTaskGroupModel {\n /**\n * \n * @type {number}\n * @memberof ProfilingTaskGroupModel\n */\n id?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingTaskGroupModel\n */\n profile_duration_secs?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingTaskGroupModel\n */\n started_at?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingTaskGroupModel\n */\n state?: number;\n /**\n * \n * @type {ModelRequestTargetStatistics}\n * @memberof ProfilingTaskGroupModel\n */\n target_stats?: ModelRequestTargetStatistics;\n}\n/**\n * \n * @export\n * @interface ProfilingTaskModel\n */\nexport interface ProfilingTaskModel {\n /**\n * \n * @type {string}\n * @memberof ProfilingTaskModel\n */\n error?: string;\n /**\n * \n * @type {string}\n * @memberof ProfilingTaskModel\n */\n file_path?: string;\n /**\n * \n * @type {number}\n * @memberof ProfilingTaskModel\n */\n id?: number;\n /**\n * The start running time, reset when retry. Used to estimate approximate profiling progress.\n * @type {number}\n * @memberof ProfilingTaskModel\n */\n started_at?: number;\n /**\n * \n * @type {number}\n * @memberof ProfilingTaskModel\n */\n state?: number;\n /**\n * \n * @type {ModelRequestTargetNode}\n * @memberof ProfilingTaskModel\n */\n target?: ModelRequestTargetNode;\n /**\n * \n * @type {number}\n * @memberof ProfilingTaskModel\n */\n task_group_id?: number;\n}\n/**\n * \n * @export\n * @interface ProfilingViewSingleProfileReq\n */\nexport interface ProfilingViewSingleProfileReq {\n /**\n * \n * @type {string}\n * @memberof ProfilingViewSingleProfileReq\n */\n address?: string;\n /**\n * \n * @type {string}\n * @memberof ProfilingViewSingleProfileReq\n */\n component?: string;\n /**\n * \n * @type {string}\n * @memberof ProfilingViewSingleProfileReq\n */\n profile_type?: string;\n /**\n * \n * @type {number}\n * @memberof ProfilingViewSingleProfileReq\n */\n ts?: number;\n}\n/**\n * \n * @export\n * @interface QueryeditorRunRequest\n */\nexport interface QueryeditorRunRequest {\n /**\n * \n * @type {number}\n * @memberof QueryeditorRunRequest\n */\n max_rows?: number;\n /**\n * \n * @type {string}\n * @memberof QueryeditorRunRequest\n */\n statements?: string;\n}\n/**\n * \n * @export\n * @interface QueryeditorRunResponse\n */\nexport interface QueryeditorRunResponse {\n /**\n * \n * @type {number}\n * @memberof QueryeditorRunResponse\n */\n actual_rows?: number;\n /**\n * \n * @type {Array}\n * @memberof QueryeditorRunResponse\n */\n column_names?: Array;\n /**\n * \n * @type {string}\n * @memberof QueryeditorRunResponse\n */\n error_msg?: string;\n /**\n * \n * @type {number}\n * @memberof QueryeditorRunResponse\n */\n execution_ms?: number;\n /**\n * \n * @type {Array>}\n * @memberof QueryeditorRunResponse\n */\n rows?: Array>;\n}\n/**\n * \n * @export\n * @interface SlowqueryGetDetailRequest\n */\nexport interface SlowqueryGetDetailRequest {\n /**\n * TODO: Switch back to uint64 when modern browser as well as Swagger handles BigInt well.\n * @type {string}\n * @memberof SlowqueryGetDetailRequest\n */\n connect_id?: string;\n /**\n * \n * @type {string}\n * @memberof SlowqueryGetDetailRequest\n */\n digest?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryGetDetailRequest\n */\n timestamp?: number;\n}\n/**\n * \n * @export\n * @interface SlowqueryGetListRequest\n */\nexport interface SlowqueryGetListRequest {\n /**\n * \n * @type {number}\n * @memberof SlowqueryGetListRequest\n */\n begin_time?: number;\n /**\n * \n * @type {Array}\n * @memberof SlowqueryGetListRequest\n */\n db?: Array;\n /**\n * \n * @type {boolean}\n * @memberof SlowqueryGetListRequest\n */\n desc?: boolean;\n /**\n * \n * @type {string}\n * @memberof SlowqueryGetListRequest\n */\n digest?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryGetListRequest\n */\n end_time?: number;\n /**\n * example: \\\"Query,Digest\\\"\n * @type {string}\n * @memberof SlowqueryGetListRequest\n */\n fields?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryGetListRequest\n */\n limit?: number;\n /**\n * \n * @type {string}\n * @memberof SlowqueryGetListRequest\n */\n orderBy?: string;\n /**\n * for showing slow queries in the statement detail page\n * @type {Array}\n * @memberof SlowqueryGetListRequest\n */\n plans?: Array;\n /**\n * \n * @type {string}\n * @memberof SlowqueryGetListRequest\n */\n text?: string;\n}\n/**\n * \n * @export\n * @interface SlowqueryModel\n */\nexport interface SlowqueryModel {\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n backoff_time?: number;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n backoff_types?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n commit_backoff_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n commit_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n compile_time?: number;\n /**\n * TODO: Switch back to uint64 when modern browser as well as Swagger handles BigInt well.\n * @type {string}\n * @memberof SlowqueryModel\n */\n connection_id?: string;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n cop_proc_addr?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n cop_proc_avg?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n cop_proc_max?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n cop_proc_p90?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n cop_time?: number;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n cop_wait_addr?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n cop_wait_avg?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n cop_wait_max?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n cop_wait_p90?: number;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n db?: string;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n digest?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n disk_max?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n exec_retry_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n get_commit_ts_time?: number;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n host?: string;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n index_names?: string;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n instance?: string;\n /**\n * Basic\n * @type {number}\n * @memberof SlowqueryModel\n */\n is_internal?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n local_latch_wait_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n lock_keys_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n memory_max?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n optimize_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n parse_time?: number;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n plan?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n preproc_subqueries_time?: number;\n /**\n * Detail\n * @type {string}\n * @memberof SlowqueryModel\n */\n prev_stmt?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n prewrite_region?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n prewrite_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n process_keys?: number;\n /**\n * Time\n * @type {number}\n * @memberof SlowqueryModel\n */\n process_time?: number;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n query?: string;\n /**\n * latency\n * @type {number}\n * @memberof SlowqueryModel\n */\n query_time?: number;\n /**\n * Coprocessor\n * @type {number}\n * @memberof SlowqueryModel\n */\n request_count?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n resolve_lock_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n rewrite_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n rocksdb_block_cache_hit_count?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n rocksdb_block_read_byte?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n rocksdb_block_read_count?: number;\n /**\n * RocksDB\n * @type {number}\n * @memberof SlowqueryModel\n */\n rocksdb_delete_skipped_count?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n rocksdb_key_skipped_count?: number;\n /**\n * \n * @type {string}\n * @memberof SlowqueryModel\n */\n stats?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n success?: number;\n /**\n * finish time\n * @type {number}\n * @memberof SlowqueryModel\n */\n timestamp?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n total_keys?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n txn_retry?: number;\n /**\n * TODO: Switch back to uint64 when modern browser as well as Swagger handles BigInt well.\n * @type {string}\n * @memberof SlowqueryModel\n */\n txn_start_ts?: string;\n /**\n * Connection\n * @type {string}\n * @memberof SlowqueryModel\n */\n user?: string;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n wait_prewrite_binlog_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n wait_time?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n wait_ts?: number;\n /**\n * Transaction\n * @type {number}\n * @memberof SlowqueryModel\n */\n write_keys?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n write_size?: number;\n /**\n * \n * @type {number}\n * @memberof SlowqueryModel\n */\n write_sql_response_total?: number;\n}\n/**\n * \n * @export\n * @interface SsoCreateImpersonationRequest\n */\nexport interface SsoCreateImpersonationRequest {\n /**\n * \n * @type {string}\n * @memberof SsoCreateImpersonationRequest\n */\n password?: string;\n /**\n * \n * @type {string}\n * @memberof SsoCreateImpersonationRequest\n */\n sql_user?: string;\n}\n/**\n * \n * @export\n * @interface SsoGetAuthURLRequest\n */\nexport interface SsoGetAuthURLRequest {\n /**\n * \n * @type {string}\n * @memberof SsoGetAuthURLRequest\n */\n code_verifier?: string;\n /**\n * \n * @type {string}\n * @memberof SsoGetAuthURLRequest\n */\n redirect_url?: string;\n /**\n * \n * @type {string}\n * @memberof SsoGetAuthURLRequest\n */\n state?: string;\n}\n/**\n * \n * @export\n * @interface SsoSSOImpersonationModel\n */\nexport interface SsoSSOImpersonationModel {\n /**\n * \n * @type {string}\n * @memberof SsoSSOImpersonationModel\n */\n last_impersonate_status?: string;\n /**\n * \n * @type {string}\n * @memberof SsoSSOImpersonationModel\n */\n sql_user?: string;\n}\n/**\n * \n * @export\n * @interface SsoSetConfigRequest\n */\nexport interface SsoSetConfigRequest {\n /**\n * \n * @type {ConfigSSOCoreConfig}\n * @memberof SsoSetConfigRequest\n */\n config?: ConfigSSOCoreConfig;\n}\n/**\n * \n * @export\n * @interface StatementEditableConfig\n */\nexport interface StatementEditableConfig {\n /**\n * \n * @type {boolean}\n * @memberof StatementEditableConfig\n */\n enable?: boolean;\n /**\n * \n * @type {number}\n * @memberof StatementEditableConfig\n */\n history_size?: number;\n /**\n * \n * @type {boolean}\n * @memberof StatementEditableConfig\n */\n internal_query?: boolean;\n /**\n * \n * @type {number}\n * @memberof StatementEditableConfig\n */\n max_size?: number;\n /**\n * \n * @type {number}\n * @memberof StatementEditableConfig\n */\n refresh_interval?: number;\n}\n/**\n * \n * @export\n * @interface StatementGetPlanDetailRequest\n */\nexport interface StatementGetPlanDetailRequest {\n /**\n * \n * @type {number}\n * @memberof StatementGetPlanDetailRequest\n */\n begin_time?: number;\n /**\n * \n * @type {string}\n * @memberof StatementGetPlanDetailRequest\n */\n digest?: string;\n /**\n * \n * @type {number}\n * @memberof StatementGetPlanDetailRequest\n */\n end_time?: number;\n /**\n * \n * @type {Array}\n * @memberof StatementGetPlanDetailRequest\n */\n plans?: Array;\n /**\n * \n * @type {string}\n * @memberof StatementGetPlanDetailRequest\n */\n schema_name?: string;\n}\n/**\n * \n * @export\n * @interface StatementGetPlansRequest\n */\nexport interface StatementGetPlansRequest {\n /**\n * \n * @type {number}\n * @memberof StatementGetPlansRequest\n */\n begin_time?: number;\n /**\n * \n * @type {string}\n * @memberof StatementGetPlansRequest\n */\n digest?: string;\n /**\n * \n * @type {number}\n * @memberof StatementGetPlansRequest\n */\n end_time?: number;\n /**\n * \n * @type {string}\n * @memberof StatementGetPlansRequest\n */\n schema_name?: string;\n}\n/**\n * \n * @export\n * @interface StatementGetStatementsRequest\n */\nexport interface StatementGetStatementsRequest {\n /**\n * \n * @type {number}\n * @memberof StatementGetStatementsRequest\n */\n begin_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementGetStatementsRequest\n */\n end_time?: number;\n /**\n * \n * @type {string}\n * @memberof StatementGetStatementsRequest\n */\n fields?: string;\n /**\n * \n * @type {Array}\n * @memberof StatementGetStatementsRequest\n */\n schemas?: Array;\n /**\n * \n * @type {Array}\n * @memberof StatementGetStatementsRequest\n */\n stmt_types?: Array;\n /**\n * \n * @type {string}\n * @memberof StatementGetStatementsRequest\n */\n text?: string;\n}\n/**\n * \n * @export\n * @interface StatementModel\n */\nexport interface StatementModel {\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_affected_rows?: number;\n /**\n * avg total back off time per sql\n * @type {number}\n * @memberof StatementModel\n */\n avg_backoff_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_commit_backoff_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_commit_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_compile_latency?: number;\n /**\n * avg process time per copr task\n * @type {number}\n * @memberof StatementModel\n */\n avg_cop_process_time?: number;\n /**\n * avg wait time per copr task\n * @type {number}\n * @memberof StatementModel\n */\n avg_cop_wait_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_disk?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_get_commit_ts_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_latency?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_local_latch_wait_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_mem?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_parse_latency?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_prewrite_regions?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_prewrite_time?: number;\n /**\n * avg total process time per sql\n * @type {number}\n * @memberof StatementModel\n */\n avg_process_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_processed_keys?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_resolve_lock_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_rocksdb_block_cache_hit_count?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_rocksdb_block_read_byte?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_rocksdb_block_read_count?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_rocksdb_delete_skipped_count?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_rocksdb_key_skipped_count?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_total_keys?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_txn_retry?: number;\n /**\n * avg total wait time per sql\n * @type {number}\n * @memberof StatementModel\n */\n avg_wait_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_write_keys?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n avg_write_size?: number;\n /**\n * \n * @type {string}\n * @memberof StatementModel\n */\n digest?: string;\n /**\n * \n * @type {string}\n * @memberof StatementModel\n */\n digest_text?: string;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n exec_count?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n first_seen?: number;\n /**\n * \n * @type {string}\n * @memberof StatementModel\n */\n index_names?: string;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n last_seen?: number;\n /**\n * max back off time per sql\n * @type {number}\n * @memberof StatementModel\n */\n max_backoff_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_commit_backoff_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_commit_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_compile_latency?: number;\n /**\n * max process time per copr task\n * @type {number}\n * @memberof StatementModel\n */\n max_cop_process_time?: number;\n /**\n * max wait time per copr task\n * @type {number}\n * @memberof StatementModel\n */\n max_cop_wait_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_disk?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_get_commit_ts_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_latency?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_local_latch_wait_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_mem?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_parse_latency?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_prewrite_regions?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_prewrite_time?: number;\n /**\n * max process time per sql\n * @type {number}\n * @memberof StatementModel\n */\n max_process_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_processed_keys?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_resolve_lock_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_rocksdb_block_cache_hit_count?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_rocksdb_block_read_byte?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_rocksdb_block_read_count?: number;\n /**\n * RocksDB\n * @type {number}\n * @memberof StatementModel\n */\n max_rocksdb_delete_skipped_count?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_rocksdb_key_skipped_count?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_total_keys?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_txn_retry?: number;\n /**\n * max wait time per sql\n * @type {number}\n * @memberof StatementModel\n */\n max_wait_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_write_keys?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n max_write_size?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n min_latency?: number;\n /**\n * \n * @type {string}\n * @memberof StatementModel\n */\n plan?: string;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n plan_count?: number;\n /**\n * \n * @type {string}\n * @memberof StatementModel\n */\n plan_digest?: string;\n /**\n * \n * @type {string}\n * @memberof StatementModel\n */\n prev_sample_text?: string;\n /**\n * \n * @type {string}\n * @memberof StatementModel\n */\n query_sample_text?: string;\n /**\n * Computed fields\n * @type {string}\n * @memberof StatementModel\n */\n related_schemas?: string;\n /**\n * \n * @type {string}\n * @memberof StatementModel\n */\n sample_user?: string;\n /**\n * \n * @type {string}\n * @memberof StatementModel\n */\n schema_name?: string;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n sum_backoff_times?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n sum_cop_task_num?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n sum_errors?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n sum_latency?: number;\n /**\n * \n * @type {number}\n * @memberof StatementModel\n */\n sum_warnings?: number;\n /**\n * \n * @type {string}\n * @memberof StatementModel\n */\n table_names?: string;\n}\n/**\n * \n * @export\n * @interface StatementTimeRange\n */\nexport interface StatementTimeRange {\n /**\n * \n * @type {number}\n * @memberof StatementTimeRange\n */\n begin_time?: number;\n /**\n * \n * @type {number}\n * @memberof StatementTimeRange\n */\n end_time?: number;\n}\n/**\n * \n * @export\n * @interface TopologyAlertManagerInfo\n */\nexport interface TopologyAlertManagerInfo {\n /**\n * \n * @type {string}\n * @memberof TopologyAlertManagerInfo\n */\n ip?: string;\n /**\n * \n * @type {number}\n * @memberof TopologyAlertManagerInfo\n */\n port?: number;\n}\n/**\n * \n * @export\n * @interface TopologyGrafanaInfo\n */\nexport interface TopologyGrafanaInfo {\n /**\n * \n * @type {string}\n * @memberof TopologyGrafanaInfo\n */\n ip?: string;\n /**\n * \n * @type {number}\n * @memberof TopologyGrafanaInfo\n */\n port?: number;\n}\n/**\n * \n * @export\n * @interface TopologyPDInfo\n */\nexport interface TopologyPDInfo {\n /**\n * \n * @type {string}\n * @memberof TopologyPDInfo\n */\n deploy_path?: string;\n /**\n * \n * @type {string}\n * @memberof TopologyPDInfo\n */\n git_hash?: string;\n /**\n * \n * @type {string}\n * @memberof TopologyPDInfo\n */\n ip?: string;\n /**\n * \n * @type {number}\n * @memberof TopologyPDInfo\n */\n port?: number;\n /**\n * Ts = 0 means unknown\n * @type {number}\n * @memberof TopologyPDInfo\n */\n start_timestamp?: number;\n /**\n * \n * @type {number}\n * @memberof TopologyPDInfo\n */\n status?: number;\n /**\n * \n * @type {string}\n * @memberof TopologyPDInfo\n */\n version?: string;\n}\n/**\n * \n * @export\n * @interface TopologyStoreInfo\n */\nexport interface TopologyStoreInfo {\n /**\n * \n * @type {string}\n * @memberof TopologyStoreInfo\n */\n deploy_path?: string;\n /**\n * \n * @type {string}\n * @memberof TopologyStoreInfo\n */\n git_hash?: string;\n /**\n * \n * @type {string}\n * @memberof TopologyStoreInfo\n */\n ip?: string;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof TopologyStoreInfo\n */\n labels?: { [key: string]: string; };\n /**\n * \n * @type {number}\n * @memberof TopologyStoreInfo\n */\n port?: number;\n /**\n * \n * @type {number}\n * @memberof TopologyStoreInfo\n */\n start_timestamp?: number;\n /**\n * \n * @type {number}\n * @memberof TopologyStoreInfo\n */\n status?: number;\n /**\n * \n * @type {number}\n * @memberof TopologyStoreInfo\n */\n status_port?: number;\n /**\n * \n * @type {string}\n * @memberof TopologyStoreInfo\n */\n version?: string;\n}\n/**\n * \n * @export\n * @interface TopologyStoreLabels\n */\nexport interface TopologyStoreLabels {\n /**\n * \n * @type {string}\n * @memberof TopologyStoreLabels\n */\n address?: string;\n /**\n * \n * @type {{ [key: string]: string; }}\n * @memberof TopologyStoreLabels\n */\n labels?: { [key: string]: string; };\n}\n/**\n * \n * @export\n * @interface TopologyStoreLocation\n */\nexport interface TopologyStoreLocation {\n /**\n * \n * @type {Array}\n * @memberof TopologyStoreLocation\n */\n location_labels?: Array;\n /**\n * \n * @type {Array}\n * @memberof TopologyStoreLocation\n */\n stores?: Array;\n}\n/**\n * \n * @export\n * @interface TopologyTiDBInfo\n */\nexport interface TopologyTiDBInfo {\n /**\n * \n * @type {string}\n * @memberof TopologyTiDBInfo\n */\n deploy_path?: string;\n /**\n * \n * @type {string}\n * @memberof TopologyTiDBInfo\n */\n git_hash?: string;\n /**\n * \n * @type {string}\n * @memberof TopologyTiDBInfo\n */\n ip?: string;\n /**\n * \n * @type {number}\n * @memberof TopologyTiDBInfo\n */\n port?: number;\n /**\n * \n * @type {number}\n * @memberof TopologyTiDBInfo\n */\n start_timestamp?: number;\n /**\n * \n * @type {number}\n * @memberof TopologyTiDBInfo\n */\n status?: number;\n /**\n * \n * @type {number}\n * @memberof TopologyTiDBInfo\n */\n status_port?: number;\n /**\n * \n * @type {string}\n * @memberof TopologyTiDBInfo\n */\n version?: string;\n}\n/**\n * \n * @export\n * @interface UserAuthenticateForm\n */\nexport interface UserAuthenticateForm {\n /**\n * FIXME: Use strong type\n * @type {string}\n * @memberof UserAuthenticateForm\n */\n extra?: string;\n /**\n * \n * @type {string}\n * @memberof UserAuthenticateForm\n */\n password?: string;\n /**\n * \n * @type {number}\n * @memberof UserAuthenticateForm\n */\n type?: number;\n /**\n * Does not present for AuthTypeSharingCode\n * @type {string}\n * @memberof UserAuthenticateForm\n */\n username?: string;\n}\n/**\n * \n * @export\n * @interface UserGetLoginInfoResponse\n */\nexport interface UserGetLoginInfoResponse {\n /**\n * \n * @type {boolean}\n * @memberof UserGetLoginInfoResponse\n */\n enable_non_root_login?: boolean;\n /**\n * \n * @type {Array}\n * @memberof UserGetLoginInfoResponse\n */\n supported_auth_types?: Array;\n}\n/**\n * \n * @export\n * @interface UserGetSignOutInfoRequest\n */\nexport interface UserGetSignOutInfoRequest {\n /**\n * \n * @type {string}\n * @memberof UserGetSignOutInfoRequest\n */\n redirect_url?: string;\n}\n/**\n * \n * @export\n * @interface UserSignOutInfo\n */\nexport interface UserSignOutInfo {\n /**\n * \n * @type {string}\n * @memberof UserSignOutInfo\n */\n end_session_url?: string;\n}\n/**\n * \n * @export\n * @interface UserTokenResponse\n */\nexport interface UserTokenResponse {\n /**\n * \n * @type {string}\n * @memberof UserTokenResponse\n */\n expire?: string;\n /**\n * \n * @type {string}\n * @memberof UserTokenResponse\n */\n token?: string;\n}\n/**\n * \n * @export\n * @interface UtilsAPIError\n */\nexport interface UtilsAPIError {\n /**\n * \n * @type {string}\n * @memberof UtilsAPIError\n */\n code?: string;\n /**\n * \n * @type {boolean}\n * @memberof UtilsAPIError\n */\n error?: boolean;\n /**\n * \n * @type {string}\n * @memberof UtilsAPIError\n */\n full_text?: string;\n /**\n * \n * @type {string}\n * @memberof UtilsAPIError\n */\n message?: string;\n}\n/**\n * \n * @export\n * @interface VersionInfo\n */\nexport interface VersionInfo {\n /**\n * \n * @type {string}\n * @memberof VersionInfo\n */\n build_git_hash?: string;\n /**\n * \n * @type {string}\n * @memberof VersionInfo\n */\n build_time?: string;\n /**\n * \n * @type {string}\n * @memberof VersionInfo\n */\n internal_version?: string;\n /**\n * \n * @type {string}\n * @memberof VersionInfo\n */\n pd_version?: string;\n /**\n * \n * @type {string}\n * @memberof VersionInfo\n */\n standalone?: string;\n}\n\n/**\n * DefaultApi - axios parameter creator\n * @export\n */\nexport const DefaultApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Cancel all profling tasks with a given group ID\n * @summary Cancel all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n cancelProfilingGroup: async (groupId: string, options: any = {}): Promise => {\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError('groupId','Required parameter groupId was null or undefined when calling cancelProfilingGroup.');\n }\n const localVarPath = `/profiling/group/cancel/{groupId}`\n .replace(`{${\"groupId\"}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get information of all hosts\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n clusterInfoGetHostsInfo: async (options: any = {}): Promise => {\n const localVarPath = `/host/all`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get cluster statistics\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n clusterInfoGetStatistics: async (options: any = {}): Promise => {\n const localVarPath = `/host/statistics`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Edit a configuration\n * @param {ConfigurationEditRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n configurationEdit: async (request: ConfigurationEditRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling configurationEdit.');\n }\n const localVarPath = `/configuration/edit`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get all configurations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n configurationGetAll: async (options: any = {}): Promise => {\n const localVarPath = `/configuration/all`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get action token for download or view profile\n * @param {string} q target query string\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingActionTokenGet: async (q: string, options: any = {}): Promise => {\n // verify required parameter 'q' is not null or undefined\n if (q === null || q === undefined) {\n throw new RequiredError('q','Required parameter q was null or undefined when calling continuousProfilingActionTokenGet.');\n }\n const localVarPath = `/continuous_profiling/action_token`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (q !== undefined) {\n localVarQueryParameter['q'] = q;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get current scraping components\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingComponentsGet: async (options: any = {}): Promise => {\n const localVarPath = `/continuous_profiling/components`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get Continuous Profiling Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingConfigGet: async (options: any = {}): Promise => {\n const localVarPath = `/continuous_profiling/config`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Update Continuous Profiling Config\n * @param {ProfilingNgMonitoringConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingConfigPost: async (request: ProfilingNgMonitoringConfig, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling continuousProfilingConfigPost.');\n }\n const localVarPath = `/continuous_profiling/config`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Download Group Profile files\n * @param {number} ts timestamp\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingDownloadGet: async (ts: number, options: any = {}): Promise => {\n // verify required parameter 'ts' is not null or undefined\n if (ts === null || ts === undefined) {\n throw new RequiredError('ts','Required parameter ts was null or undefined when calling continuousProfilingDownloadGet.');\n }\n const localVarPath = `/continuous_profiling/download`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (ts !== undefined) {\n localVarQueryParameter['ts'] = ts;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get Estimate Size\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingEstimateSizeGet: async (options: any = {}): Promise => {\n const localVarPath = `/continuous_profiling/estimate_size`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get Group Profile Detail\n * @param {number} ts timestamp\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingGroupProfileDetailGet: async (ts: number, options: any = {}): Promise => {\n // verify required parameter 'ts' is not null or undefined\n if (ts === null || ts === undefined) {\n throw new RequiredError('ts','Required parameter ts was null or undefined when calling continuousProfilingGroupProfileDetailGet.');\n }\n const localVarPath = `/continuous_profiling/group_profile/detail`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (ts !== undefined) {\n localVarQueryParameter['ts'] = ts;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get Group Profiles\n * @param {number} [beginTime] \n * @param {number} [endTime] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingGroupProfilesGet: async (beginTime?: number, endTime?: number, options: any = {}): Promise => {\n const localVarPath = `/continuous_profiling/group_profiles`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (beginTime !== undefined) {\n localVarQueryParameter['begin_time'] = beginTime;\n }\n\n if (endTime !== undefined) {\n localVarQueryParameter['end_time'] = endTime;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary View Single Profile files\n * @param {string} [address] \n * @param {string} [component] \n * @param {string} [profileType] \n * @param {number} [ts] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingSingleProfileViewGet: async (address?: string, component?: string, profileType?: string, ts?: number, options: any = {}): Promise => {\n const localVarPath = `/continuous_profiling/single_profile/view`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (address !== undefined) {\n localVarQueryParameter['address'] = address;\n }\n\n if (component !== undefined) {\n localVarQueryParameter['component'] = component;\n }\n\n if (profileType !== undefined) {\n localVarQueryParameter['profile_type'] = profileType;\n }\n\n if (ts !== undefined) {\n localVarQueryParameter['ts'] = ts;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get all endpoints\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n debugAPIGetEndpoints: async (options: any = {}): Promise => {\n const localVarPath = `/debug_api/endpoints`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Send request remote endpoint and return a token for downloading results\n * @param {EndpointRequestPayload} req request payload\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n debugAPIRequestEndpoint: async (req: EndpointRequestPayload, options: any = {}): Promise => {\n // verify required parameter 'req' is not null or undefined\n if (req === null || req === undefined) {\n throw new RequiredError('req','Required parameter req was null or undefined when calling debugAPIRequestEndpoint.');\n }\n const localVarPath = `/debug_api/endpoint`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof req !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(req !== undefined ? req : {}) : (req || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Download a finished request result.\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n debugApiDownloadGet: async (token: string, options: any = {}): Promise => {\n // verify required parameter 'token' is not null or undefined\n if (token === null || token === undefined) {\n throw new RequiredError('token','Required parameter token was null or undefined when calling debugApiDownloadGet.');\n }\n const localVarPath = `/debug_api/download`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (token !== undefined) {\n localVarQueryParameter['token'] = token;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Delete all finished profiling tasks with a given group ID\n * @summary Delete all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteProfilingGroup: async (groupId: string, options: any = {}): Promise => {\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError('groupId','Required parameter groupId was null or undefined when calling deleteProfilingGroup.');\n }\n const localVarPath = `/profiling/group/delete/{groupId}`\n .replace(`{${\"groupId\"}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Generate metrics relationship graph.\n * @param {DiagnoseGenerateMetricsRelationRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseGenerateMetricsRelationship: async (request: DiagnoseGenerateMetricsRelationRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling diagnoseGenerateMetricsRelationship.');\n }\n const localVarPath = `/diagnose/metrics_relation/generate`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary View metrics relationship graph.\n * @param {string} token token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseMetricsRelationViewGet: async (token: string, options: any = {}): Promise => {\n // verify required parameter 'token' is not null or undefined\n if (token === null || token === undefined) {\n throw new RequiredError('token','Required parameter token was null or undefined when calling diagnoseMetricsRelationViewGet.');\n }\n const localVarPath = `/diagnose/metrics_relation/view`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (token !== undefined) {\n localVarQueryParameter['token'] = token;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get sql diagnosis reports history\n * @summary SQL diagnosis reports history\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseReportsGet: async (options: any = {}): Promise => {\n const localVarPath = `/diagnose/reports`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get sql diagnosis report data\n * @summary SQL diagnosis report data\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseReportsIdDataJsGet: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling diagnoseReportsIdDataJsGet.');\n }\n const localVarPath = `/diagnose/reports/{id}/data.js`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get sql diagnosis report HTML\n * @summary SQL diagnosis report\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseReportsIdDetailGet: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling diagnoseReportsIdDetailGet.');\n }\n const localVarPath = `/diagnose/reports/{id}/detail`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get diagnosis report status\n * @summary Diagnosis report status\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseReportsIdStatusGet: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling diagnoseReportsIdStatusGet.');\n }\n const localVarPath = `/diagnose/reports/{id}/status`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Generate sql diagnosis report\n * @summary SQL diagnosis report\n * @param {DiagnoseGenerateReportRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseReportsPost: async (request: DiagnoseGenerateReportRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling diagnoseReportsPost.');\n }\n const localVarPath = `/diagnose/reports`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Download all finished profiling results of a task group\n * @summary Download all results of a task group\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n downloadProfilingGroup: async (token: string, options: any = {}): Promise => {\n // verify required parameter 'token' is not null or undefined\n if (token === null || token === undefined) {\n throw new RequiredError('token','Required parameter token was null or undefined when calling downloadProfilingGroup.');\n }\n const localVarPath = `/profiling/group/download`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (token !== undefined) {\n localVarQueryParameter['token'] = token;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Download the finished profiling result of a task\n * @summary Download the result of a task\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n downloadProfilingSingle: async (token: string, options: any = {}): Promise => {\n // verify required parameter 'token' is not null or undefined\n if (token === null || token === undefined) {\n throw new RequiredError('token','Required parameter token was null or undefined when calling downloadProfilingSingle.');\n }\n const localVarPath = `/profiling/single/download`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (token !== undefined) {\n localVarQueryParameter['token'] = token;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get token with a given group ID or task ID and action type\n * @summary Get action token for download or view\n * @param {string} [id] group or task ID\n * @param {string} [action] action\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getActionToken: async (id?: string, action?: string, options: any = {}): Promise => {\n const localVarPath = `/profiling/action_token`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (id !== undefined) {\n localVarQueryParameter['id'] = id;\n }\n\n if (action !== undefined) {\n localVarQueryParameter['action'] = action;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get current alert count from AlertManager\n * @param {string} address ip:port\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAlertManagerCounts: async (address: string, options: any = {}): Promise => {\n // verify required parameter 'address' is not null or undefined\n if (address === null || address === undefined) {\n throw new RequiredError('address','Required parameter address was null or undefined when calling getAlertManagerCounts.');\n }\n const localVarPath = `/topology/alertmanager/{address}/count`\n .replace(`{${\"address\"}}`, encodeURIComponent(String(address)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get AlertManager instance\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAlertManagerTopology: async (options: any = {}): Promise => {\n const localVarPath = `/topology/alertmanager`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get Grafana instance\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGrafanaTopology: async (options: any = {}): Promise => {\n const localVarPath = `/topology/grafana`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get all PD instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getPDTopology: async (options: any = {}): Promise => {\n const localVarPath = `/topology/pd`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * List all profiling tasks with a given group ID\n * @summary List all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getProfilingGroupDetail: async (groupId: string, options: any = {}): Promise => {\n // verify required parameter 'groupId' is not null or undefined\n if (groupId === null || groupId === undefined) {\n throw new RequiredError('groupId','Required parameter groupId was null or undefined when calling getProfilingGroupDetail.');\n }\n const localVarPath = `/profiling/group/detail/{groupId}`\n .replace(`{${\"groupId\"}}`, encodeURIComponent(String(groupId)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * List all profiling groups\n * @summary List all profiling groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getProfilingGroups: async (options: any = {}): Promise => {\n const localVarPath = `/profiling/group/list`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get location labels of all TiKV / TiFlash instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getStoreLocationTopology: async (options: any = {}): Promise => {\n const localVarPath = `/topology/store_location`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get all TiKV / TiFlash instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getStoreTopology: async (options: any = {}): Promise => {\n const localVarPath = `/topology/store`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get all TiDB instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getTiDBTopology: async (options: any = {}): Promise => {\n const localVarPath = `/topology/tidb`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get information about this TiDB Dashboard\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n infoGet: async (options: any = {}): Promise => {\n const localVarPath = `/info/info`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary List all databases\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n infoListDatabases: async (options: any = {}): Promise => {\n const localVarPath = `/info/databases`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary List tables by database name\n * @param {string} [databaseName] Database name\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n infoListTables: async (databaseName?: string, options: any = {}): Promise => {\n const localVarPath = `/info/tables`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (databaseName !== undefined) {\n localVarQueryParameter['database_name'] = databaseName;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get information about current session\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n infoWhoami: async (options: any = {}): Promise => {\n const localVarPath = `/info/whoami`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get Key Visual Dynamic Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n keyvisualConfigGet: async (options: any = {}): Promise => {\n const localVarPath = `/keyvisual/config`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Set Key Visual Dynamic Config\n * @param {ConfigKeyVisualConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n keyvisualConfigPut: async (request: ConfigKeyVisualConfig, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling keyvisualConfigPut.');\n }\n const localVarPath = `/keyvisual/config`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Heatmaps in a given range to visualize TiKV usage\n * @summary Key Visual Heatmaps\n * @param {string} [startkey] The start of the key range\n * @param {string} [endkey] The end of the key range\n * @param {number} [starttime] The start of the time range (Unix)\n * @param {number} [endtime] The end of the time range (Unix)\n * @param {'written_bytes' | 'read_bytes' | 'written_keys' | 'read_keys' | 'integration'} [type] Main types of data\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n keyvisualHeatmapsGet: async (startkey?: string, endkey?: string, starttime?: number, endtime?: number, type?: 'written_bytes' | 'read_bytes' | 'written_keys' | 'read_keys' | 'integration', options: any = {}): Promise => {\n const localVarPath = `/keyvisual/heatmaps`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (startkey !== undefined) {\n localVarQueryParameter['startkey'] = startkey;\n }\n\n if (endkey !== undefined) {\n localVarQueryParameter['endkey'] = endkey;\n }\n\n if (starttime !== undefined) {\n localVarQueryParameter['starttime'] = starttime;\n }\n\n if (endtime !== undefined) {\n localVarQueryParameter['endtime'] = endtime;\n }\n\n if (type !== undefined) {\n localVarQueryParameter['type'] = type;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Generate a download token for downloading logs\n * @param {Array} [id] task id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsDownloadAcquireTokenGet: async (id?: Array, options: any = {}): Promise => {\n const localVarPath = `/logs/download/acquire_token`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (id) {\n localVarQueryParameter['id'] = id.join(COLLECTION_FORMATS.csv);\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Download logs\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsDownloadGet: async (token: string, options: any = {}): Promise => {\n // verify required parameter 'token' is not null or undefined\n if (token === null || token === undefined) {\n throw new RequiredError('token','Required parameter token was null or undefined when calling logsDownloadGet.');\n }\n const localVarPath = `/logs/download`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (token !== undefined) {\n localVarQueryParameter['token'] = token;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Create and run a new log search task group\n * @param {LogsearchCreateTaskGroupRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupPut: async (request: LogsearchCreateTaskGroupRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling logsTaskgroupPut.');\n }\n const localVarPath = `/logs/taskgroup`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary List all log search task groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsGet: async (options: any = {}): Promise => {\n const localVarPath = `/logs/taskgroups`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Cancel running tasks in a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsIdCancelPost: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling logsTaskgroupsIdCancelPost.');\n }\n const localVarPath = `/logs/taskgroups/{id}/cancel`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Delete a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsIdDelete: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling logsTaskgroupsIdDelete.');\n }\n const localVarPath = `/logs/taskgroups/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary List tasks in a log search task group\n * @param {string} id Task Group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsIdGet: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling logsTaskgroupsIdGet.');\n }\n const localVarPath = `/logs/taskgroups/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Preview a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsIdPreviewGet: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling logsTaskgroupsIdPreviewGet.');\n }\n const localVarPath = `/logs/taskgroups/{id}/preview`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retry failed tasks in a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsIdRetryPost: async (id: string, options: any = {}): Promise => {\n // verify required parameter 'id' is not null or undefined\n if (id === null || id === undefined) {\n throw new RequiredError('id','Required parameter id was null or undefined when calling logsTaskgroupsIdRetryPost.');\n }\n const localVarPath = `/logs/taskgroups/{id}/retry`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get the Prometheus address cluster config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n metricsGetPromAddress: async (options: any = {}): Promise => {\n const localVarPath = `/metrics/prom_address`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Query metrics in the given range\n * @summary Query metrics\n * @param {number} [endTimeSec] \n * @param {string} [query] \n * @param {number} [startTimeSec] \n * @param {number} [stepSec] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n metricsQueryGet: async (endTimeSec?: number, query?: string, startTimeSec?: number, stepSec?: number, options: any = {}): Promise => {\n const localVarPath = `/metrics/query`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (endTimeSec !== undefined) {\n localVarQueryParameter['end_time_sec'] = endTimeSec;\n }\n\n if (query !== undefined) {\n localVarQueryParameter['query'] = query;\n }\n\n if (startTimeSec !== undefined) {\n localVarQueryParameter['start_time_sec'] = startTimeSec;\n }\n\n if (stepSec !== undefined) {\n localVarQueryParameter['step_sec'] = stepSec;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Set or clear the customized Prometheus address\n * @param {MetricsPutCustomPromAddressRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n metricsSetCustomPromAddress: async (request: MetricsPutCustomPromAddressRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling metricsSetCustomPromAddress.');\n }\n const localVarPath = `/metrics/prom_address`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get Profiling Dynamic Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n profilingConfigGet: async (options: any = {}): Promise => {\n const localVarPath = `/profiling/config`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Set Profiling Dynamic Config\n * @param {ConfigProfilingConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n profilingConfigPut: async (request: ConfigProfilingConfig, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling profilingConfigPut.');\n }\n const localVarPath = `/profiling/config`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Run statements\n * @param {QueryeditorRunRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n queryEditorRun: async (request: QueryeditorRunRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling queryEditorRun.');\n }\n const localVarPath = `/query_editor/run`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get details of a slow query\n * @param {string} [connectId] TODO: Switch back to uint64 when modern browser as well as Swagger handles BigInt well.\n * @param {string} [digest] \n * @param {number} [timestamp] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n slowQueryDetailGet: async (connectId?: string, digest?: string, timestamp?: number, options: any = {}): Promise => {\n const localVarPath = `/slow_query/detail`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (connectId !== undefined) {\n localVarQueryParameter['connect_id'] = connectId;\n }\n\n if (digest !== undefined) {\n localVarQueryParameter['digest'] = digest;\n }\n\n if (timestamp !== undefined) {\n localVarQueryParameter['timestamp'] = timestamp;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Download slow query statements\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n slowQueryDownloadGet: async (token: string, options: any = {}): Promise => {\n // verify required parameter 'token' is not null or undefined\n if (token === null || token === undefined) {\n throw new RequiredError('token','Required parameter token was null or undefined when calling slowQueryDownloadGet.');\n }\n const localVarPath = `/slow_query/download`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (token !== undefined) {\n localVarQueryParameter['token'] = token;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Generate a download token for exported slow query statements\n * @param {SlowqueryGetListRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n slowQueryDownloadTokenPost: async (request: SlowqueryGetListRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling slowQueryDownloadTokenPost.');\n }\n const localVarPath = `/slow_query/download/token`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary List all slow queries\n * @param {number} [beginTime] \n * @param {Array} [db] \n * @param {boolean} [desc] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {string} [fields] example: \\"Query,Digest\\"\n * @param {number} [limit] \n * @param {string} [orderBy] \n * @param {Array} [plans] for showing slow queries in the statement detail page\n * @param {string} [text] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n slowQueryListGet: async (beginTime?: number, db?: Array, desc?: boolean, digest?: string, endTime?: number, fields?: string, limit?: number, orderBy?: string, plans?: Array, text?: string, options: any = {}): Promise => {\n const localVarPath = `/slow_query/list`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (beginTime !== undefined) {\n localVarQueryParameter['begin_time'] = beginTime;\n }\n\n if (db) {\n localVarQueryParameter['db'] = db;\n }\n\n if (desc !== undefined) {\n localVarQueryParameter['desc'] = desc;\n }\n\n if (digest !== undefined) {\n localVarQueryParameter['digest'] = digest;\n }\n\n if (endTime !== undefined) {\n localVarQueryParameter['end_time'] = endTime;\n }\n\n if (fields !== undefined) {\n localVarQueryParameter['fields'] = fields;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (orderBy !== undefined) {\n localVarQueryParameter['orderBy'] = orderBy;\n }\n\n if (plans) {\n localVarQueryParameter['plans'] = plans;\n }\n\n if (text !== undefined) {\n localVarQueryParameter['text'] = text;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Query slowquery table columns\n * @summary Query table columns\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n slowQueryTableColumnsGet: async (options: any = {}): Promise => {\n const localVarPath = `/slow_query/table_columns`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Start a profiling task group\n * @summary Start profiling\n * @param {ProfilingStartRequest} req profiling request\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n startProfiling: async (req: ProfilingStartRequest, options: any = {}): Promise => {\n // verify required parameter 'req' is not null or undefined\n if (req === null || req === undefined) {\n throw new RequiredError('req','Required parameter req was null or undefined when calling startProfiling.');\n }\n const localVarPath = `/profiling/group/start`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof req !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(req !== undefined ? req : {}) : (req || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get statement configurations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsConfigGet: async (options: any = {}): Promise => {\n const localVarPath = `/statements/config`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Update statement configurations\n * @param {StatementEditableConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsConfigPost: async (request: StatementEditableConfig, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling statementsConfigPost.');\n }\n const localVarPath = `/statements/config`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Download statements\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsDownloadGet: async (token: string, options: any = {}): Promise => {\n // verify required parameter 'token' is not null or undefined\n if (token === null || token === undefined) {\n throw new RequiredError('token','Required parameter token was null or undefined when calling statementsDownloadGet.');\n }\n const localVarPath = `/statements/download`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (token !== undefined) {\n localVarQueryParameter['token'] = token;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Generate a download token for exported statements\n * @param {StatementGetStatementsRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsDownloadTokenPost: async (request: StatementGetStatementsRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling statementsDownloadTokenPost.');\n }\n const localVarPath = `/statements/download/token`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get a list of statements\n * @param {number} [beginTime] \n * @param {number} [endTime] \n * @param {string} [fields] \n * @param {Array} [schemas] \n * @param {Array} [stmtTypes] \n * @param {string} [text] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsListGet: async (beginTime?: number, endTime?: number, fields?: string, schemas?: Array, stmtTypes?: Array, text?: string, options: any = {}): Promise => {\n const localVarPath = `/statements/list`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (beginTime !== undefined) {\n localVarQueryParameter['begin_time'] = beginTime;\n }\n\n if (endTime !== undefined) {\n localVarQueryParameter['end_time'] = endTime;\n }\n\n if (fields !== undefined) {\n localVarQueryParameter['fields'] = fields;\n }\n\n if (schemas) {\n localVarQueryParameter['schemas'] = schemas;\n }\n\n if (stmtTypes) {\n localVarQueryParameter['stmt_types'] = stmtTypes;\n }\n\n if (text !== undefined) {\n localVarQueryParameter['text'] = text;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get details of a statement in an execution plan\n * @param {number} [beginTime] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {Array} [plans] \n * @param {string} [schemaName] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsPlanDetailGet: async (beginTime?: number, digest?: string, endTime?: number, plans?: Array, schemaName?: string, options: any = {}): Promise => {\n const localVarPath = `/statements/plan/detail`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (beginTime !== undefined) {\n localVarQueryParameter['begin_time'] = beginTime;\n }\n\n if (digest !== undefined) {\n localVarQueryParameter['digest'] = digest;\n }\n\n if (endTime !== undefined) {\n localVarQueryParameter['end_time'] = endTime;\n }\n\n if (plans) {\n localVarQueryParameter['plans'] = plans;\n }\n\n if (schemaName !== undefined) {\n localVarQueryParameter['schema_name'] = schemaName;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get execution plans of a statement\n * @param {number} [beginTime] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {string} [schemaName] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsPlansGet: async (beginTime?: number, digest?: string, endTime?: number, schemaName?: string, options: any = {}): Promise => {\n const localVarPath = `/statements/plans`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (beginTime !== undefined) {\n localVarQueryParameter['begin_time'] = beginTime;\n }\n\n if (digest !== undefined) {\n localVarQueryParameter['digest'] = digest;\n }\n\n if (endTime !== undefined) {\n localVarQueryParameter['end_time'] = endTime;\n }\n\n if (schemaName !== undefined) {\n localVarQueryParameter['schema_name'] = schemaName;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get all statement types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsStmtTypesGet: async (options: any = {}): Promise => {\n const localVarPath = `/statements/stmt_types`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Query statements table columns\n * @summary Query table columns\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsTableColumnsGet: async (options: any = {}): Promise => {\n const localVarPath = `/statements/table_columns`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get available statement time ranges\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsTimeRangesGet: async (options: any = {}): Promise => {\n const localVarPath = `/statements/time_ranges`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Hide a TiDB instance\n * @param {string} address ip:port\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n topologyTidbAddressDelete: async (address: string, options: any = {}): Promise => {\n // verify required parameter 'address' is not null or undefined\n if (address === null || address === undefined) {\n throw new RequiredError('address','Required parameter address was null or undefined when calling topologyTidbAddressDelete.');\n }\n const localVarPath = `/topology/tidb/{address}`\n .replace(`{${\"address\"}}`, encodeURIComponent(String(address)));\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get log in information, like supported authenticate types.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userGetLoginInfo: async (options: any = {}): Promise => {\n const localVarPath = `/user/login_info`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get sign out info\n * @param {string} [redirectUrl] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userGetSignOutInfo: async (redirectUrl?: string, options: any = {}): Promise => {\n const localVarPath = `/user/sign_out_info`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (redirectUrl !== undefined) {\n localVarQueryParameter['redirect_url'] = redirectUrl;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Log in\n * @param {UserAuthenticateForm} message Credentials\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userLogin: async (message: UserAuthenticateForm, options: any = {}): Promise => {\n // verify required parameter 'message' is not null or undefined\n if (message === null || message === undefined) {\n throw new RequiredError('message','Required parameter message was null or undefined when calling userLogin.');\n }\n const localVarPath = `/user/login`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof message !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(message !== undefined ? message : {}) : (message || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Create an impersonation\n * @param {SsoCreateImpersonationRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSSOCreateImpersonation: async (request: SsoCreateImpersonationRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling userSSOCreateImpersonation.');\n }\n const localVarPath = `/user/sso/impersonation`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get SSO Auth URL\n * @param {string} [codeVerifier] \n * @param {string} [redirectUrl] \n * @param {string} [state] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSSOGetAuthURL: async (codeVerifier?: string, redirectUrl?: string, state?: string, options: any = {}): Promise => {\n const localVarPath = `/user/sso/auth_url`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (codeVerifier !== undefined) {\n localVarQueryParameter['code_verifier'] = codeVerifier;\n }\n\n if (redirectUrl !== undefined) {\n localVarQueryParameter['redirect_url'] = redirectUrl;\n }\n\n if (state !== undefined) {\n localVarQueryParameter['state'] = state;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get SSO config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSSOGetConfig: async (options: any = {}): Promise => {\n const localVarPath = `/user/sso/config`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary List all impersonations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSSOListImpersonations: async (options: any = {}): Promise => {\n const localVarPath = `/user/sso/impersonations/list`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Set SSO config\n * @param {SsoSetConfigRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSSOSetConfig: async (request: SsoSetConfigRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling userSSOSetConfig.');\n }\n const localVarPath = `/user/sso/config`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Share current session and generate a sharing code\n * @param {CodeShareRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userShareSession: async (request: CodeShareRequest, options: any = {}): Promise => {\n // verify required parameter 'request' is not null or undefined\n if (request === null || request === undefined) {\n throw new RequiredError('request','Required parameter request was null or undefined when calling userShareSession.');\n }\n const localVarPath = `/user/share/code`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n const needsSerialization = (typeof request !== \"string\") || localVarRequestOptions.headers['Content-Type'] === 'application/json';\n localVarRequestOptions.data = needsSerialization ? JSON.stringify(request !== undefined ? request : {}) : (request || \"\");\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * View the finished profiling result of a task\n * @summary View the result of a task\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n viewProfilingSingle: async (token: string, options: any = {}): Promise => {\n // verify required parameter 'token' is not null or undefined\n if (token === null || token === undefined) {\n throw new RequiredError('token','Required parameter token was null or undefined when calling viewProfilingSingle.');\n }\n const localVarPath = `/profiling/single/view`;\n const localVarUrlObj = globalImportUrl.parse(localVarPath, true);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication JwtAuth required\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(\"Authorization\")\n : await configuration.apiKey;\n localVarHeaderParameter[\"Authorization\"] = localVarApiKeyValue;\n }\n\n if (token !== undefined) {\n localVarQueryParameter['token'] = token;\n }\n\n\n \n localVarUrlObj.query = {...localVarUrlObj.query, ...localVarQueryParameter, ...options.query};\n // fix override query string Detail: https://stackoverflow.com/a/7517673/1077943\n delete localVarUrlObj.search;\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: globalImportUrl.format(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * DefaultApi - functional programming interface\n * @export\n */\nexport const DefaultApiFp = function(configuration?: Configuration) {\n return {\n /**\n * Cancel all profling tasks with a given group ID\n * @summary Cancel all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async cancelProfilingGroup(groupId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).cancelProfilingGroup(groupId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get information of all hosts\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async clusterInfoGetHostsInfo(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).clusterInfoGetHostsInfo(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get cluster statistics\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async clusterInfoGetStatistics(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).clusterInfoGetStatistics(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Edit a configuration\n * @param {ConfigurationEditRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async configurationEdit(request: ConfigurationEditRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).configurationEdit(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get all configurations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async configurationGetAll(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).configurationGetAll(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get action token for download or view profile\n * @param {string} q target query string\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async continuousProfilingActionTokenGet(q: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).continuousProfilingActionTokenGet(q, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get current scraping components\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async continuousProfilingComponentsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).continuousProfilingComponentsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get Continuous Profiling Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async continuousProfilingConfigGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).continuousProfilingConfigGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Update Continuous Profiling Config\n * @param {ProfilingNgMonitoringConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async continuousProfilingConfigPost(request: ProfilingNgMonitoringConfig, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).continuousProfilingConfigPost(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Download Group Profile files\n * @param {number} ts timestamp\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async continuousProfilingDownloadGet(ts: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).continuousProfilingDownloadGet(ts, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get Estimate Size\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async continuousProfilingEstimateSizeGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).continuousProfilingEstimateSizeGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get Group Profile Detail\n * @param {number} ts timestamp\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async continuousProfilingGroupProfileDetailGet(ts: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).continuousProfilingGroupProfileDetailGet(ts, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get Group Profiles\n * @param {number} [beginTime] \n * @param {number} [endTime] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async continuousProfilingGroupProfilesGet(beginTime?: number, endTime?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).continuousProfilingGroupProfilesGet(beginTime, endTime, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary View Single Profile files\n * @param {string} [address] \n * @param {string} [component] \n * @param {string} [profileType] \n * @param {number} [ts] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async continuousProfilingSingleProfileViewGet(address?: string, component?: string, profileType?: string, ts?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).continuousProfilingSingleProfileViewGet(address, component, profileType, ts, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get all endpoints\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async debugAPIGetEndpoints(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).debugAPIGetEndpoints(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Send request remote endpoint and return a token for downloading results\n * @param {EndpointRequestPayload} req request payload\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async debugAPIRequestEndpoint(req: EndpointRequestPayload, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).debugAPIRequestEndpoint(req, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Download a finished request result.\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async debugApiDownloadGet(token: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).debugApiDownloadGet(token, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Delete all finished profiling tasks with a given group ID\n * @summary Delete all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async deleteProfilingGroup(groupId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).deleteProfilingGroup(groupId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Generate metrics relationship graph.\n * @param {DiagnoseGenerateMetricsRelationRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async diagnoseGenerateMetricsRelationship(request: DiagnoseGenerateMetricsRelationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).diagnoseGenerateMetricsRelationship(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary View metrics relationship graph.\n * @param {string} token token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async diagnoseMetricsRelationViewGet(token: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).diagnoseMetricsRelationViewGet(token, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Get sql diagnosis reports history\n * @summary SQL diagnosis reports history\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async diagnoseReportsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).diagnoseReportsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Get sql diagnosis report data\n * @summary SQL diagnosis report data\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async diagnoseReportsIdDataJsGet(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).diagnoseReportsIdDataJsGet(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Get sql diagnosis report HTML\n * @summary SQL diagnosis report\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async diagnoseReportsIdDetailGet(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).diagnoseReportsIdDetailGet(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Get diagnosis report status\n * @summary Diagnosis report status\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async diagnoseReportsIdStatusGet(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).diagnoseReportsIdStatusGet(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Generate sql diagnosis report\n * @summary SQL diagnosis report\n * @param {DiagnoseGenerateReportRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async diagnoseReportsPost(request: DiagnoseGenerateReportRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).diagnoseReportsPost(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Download all finished profiling results of a task group\n * @summary Download all results of a task group\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async downloadProfilingGroup(token: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).downloadProfilingGroup(token, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Download the finished profiling result of a task\n * @summary Download the result of a task\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async downloadProfilingSingle(token: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).downloadProfilingSingle(token, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Get token with a given group ID or task ID and action type\n * @summary Get action token for download or view\n * @param {string} [id] group or task ID\n * @param {string} [action] action\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getActionToken(id?: string, action?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).getActionToken(id, action, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get current alert count from AlertManager\n * @param {string} address ip:port\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getAlertManagerCounts(address: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).getAlertManagerCounts(address, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get AlertManager instance\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getAlertManagerTopology(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).getAlertManagerTopology(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get Grafana instance\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getGrafanaTopology(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).getGrafanaTopology(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get all PD instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getPDTopology(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).getPDTopology(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * List all profiling tasks with a given group ID\n * @summary List all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getProfilingGroupDetail(groupId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).getProfilingGroupDetail(groupId, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * List all profiling groups\n * @summary List all profiling groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getProfilingGroups(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).getProfilingGroups(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get location labels of all TiKV / TiFlash instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getStoreLocationTopology(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).getStoreLocationTopology(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get all TiKV / TiFlash instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getStoreTopology(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).getStoreTopology(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get all TiDB instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async getTiDBTopology(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).getTiDBTopology(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get information about this TiDB Dashboard\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async infoGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).infoGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary List all databases\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async infoListDatabases(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).infoListDatabases(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary List tables by database name\n * @param {string} [databaseName] Database name\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async infoListTables(databaseName?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).infoListTables(databaseName, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get information about current session\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async infoWhoami(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).infoWhoami(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get Key Visual Dynamic Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async keyvisualConfigGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).keyvisualConfigGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Set Key Visual Dynamic Config\n * @param {ConfigKeyVisualConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async keyvisualConfigPut(request: ConfigKeyVisualConfig, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).keyvisualConfigPut(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Heatmaps in a given range to visualize TiKV usage\n * @summary Key Visual Heatmaps\n * @param {string} [startkey] The start of the key range\n * @param {string} [endkey] The end of the key range\n * @param {number} [starttime] The start of the time range (Unix)\n * @param {number} [endtime] The end of the time range (Unix)\n * @param {'written_bytes' | 'read_bytes' | 'written_keys' | 'read_keys' | 'integration'} [type] Main types of data\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async keyvisualHeatmapsGet(startkey?: string, endkey?: string, starttime?: number, endtime?: number, type?: 'written_bytes' | 'read_bytes' | 'written_keys' | 'read_keys' | 'integration', options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).keyvisualHeatmapsGet(startkey, endkey, starttime, endtime, type, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Generate a download token for downloading logs\n * @param {Array} [id] task id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async logsDownloadAcquireTokenGet(id?: Array, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).logsDownloadAcquireTokenGet(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Download logs\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async logsDownloadGet(token: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).logsDownloadGet(token, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Create and run a new log search task group\n * @param {LogsearchCreateTaskGroupRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async logsTaskgroupPut(request: LogsearchCreateTaskGroupRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).logsTaskgroupPut(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary List all log search task groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async logsTaskgroupsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).logsTaskgroupsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Cancel running tasks in a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async logsTaskgroupsIdCancelPost(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).logsTaskgroupsIdCancelPost(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Delete a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async logsTaskgroupsIdDelete(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).logsTaskgroupsIdDelete(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary List tasks in a log search task group\n * @param {string} id Task Group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async logsTaskgroupsIdGet(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).logsTaskgroupsIdGet(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Preview a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async logsTaskgroupsIdPreviewGet(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).logsTaskgroupsIdPreviewGet(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Retry failed tasks in a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async logsTaskgroupsIdRetryPost(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).logsTaskgroupsIdRetryPost(id, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get the Prometheus address cluster config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async metricsGetPromAddress(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).metricsGetPromAddress(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Query metrics in the given range\n * @summary Query metrics\n * @param {number} [endTimeSec] \n * @param {string} [query] \n * @param {number} [startTimeSec] \n * @param {number} [stepSec] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async metricsQueryGet(endTimeSec?: number, query?: string, startTimeSec?: number, stepSec?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).metricsQueryGet(endTimeSec, query, startTimeSec, stepSec, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Set or clear the customized Prometheus address\n * @param {MetricsPutCustomPromAddressRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async metricsSetCustomPromAddress(request: MetricsPutCustomPromAddressRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).metricsSetCustomPromAddress(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get Profiling Dynamic Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async profilingConfigGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).profilingConfigGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Set Profiling Dynamic Config\n * @param {ConfigProfilingConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async profilingConfigPut(request: ConfigProfilingConfig, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).profilingConfigPut(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Run statements\n * @param {QueryeditorRunRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async queryEditorRun(request: QueryeditorRunRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).queryEditorRun(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get details of a slow query\n * @param {string} [connectId] TODO: Switch back to uint64 when modern browser as well as Swagger handles BigInt well.\n * @param {string} [digest] \n * @param {number} [timestamp] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async slowQueryDetailGet(connectId?: string, digest?: string, timestamp?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).slowQueryDetailGet(connectId, digest, timestamp, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Download slow query statements\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async slowQueryDownloadGet(token: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).slowQueryDownloadGet(token, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Generate a download token for exported slow query statements\n * @param {SlowqueryGetListRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async slowQueryDownloadTokenPost(request: SlowqueryGetListRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).slowQueryDownloadTokenPost(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary List all slow queries\n * @param {number} [beginTime] \n * @param {Array} [db] \n * @param {boolean} [desc] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {string} [fields] example: \\"Query,Digest\\"\n * @param {number} [limit] \n * @param {string} [orderBy] \n * @param {Array} [plans] for showing slow queries in the statement detail page\n * @param {string} [text] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async slowQueryListGet(beginTime?: number, db?: Array, desc?: boolean, digest?: string, endTime?: number, fields?: string, limit?: number, orderBy?: string, plans?: Array, text?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).slowQueryListGet(beginTime, db, desc, digest, endTime, fields, limit, orderBy, plans, text, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Query slowquery table columns\n * @summary Query table columns\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async slowQueryTableColumnsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).slowQueryTableColumnsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Start a profiling task group\n * @summary Start profiling\n * @param {ProfilingStartRequest} req profiling request\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async startProfiling(req: ProfilingStartRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).startProfiling(req, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get statement configurations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async statementsConfigGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).statementsConfigGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Update statement configurations\n * @param {StatementEditableConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async statementsConfigPost(request: StatementEditableConfig, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).statementsConfigPost(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Download statements\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async statementsDownloadGet(token: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).statementsDownloadGet(token, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Generate a download token for exported statements\n * @param {StatementGetStatementsRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async statementsDownloadTokenPost(request: StatementGetStatementsRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).statementsDownloadTokenPost(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get a list of statements\n * @param {number} [beginTime] \n * @param {number} [endTime] \n * @param {string} [fields] \n * @param {Array} [schemas] \n * @param {Array} [stmtTypes] \n * @param {string} [text] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async statementsListGet(beginTime?: number, endTime?: number, fields?: string, schemas?: Array, stmtTypes?: Array, text?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).statementsListGet(beginTime, endTime, fields, schemas, stmtTypes, text, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get details of a statement in an execution plan\n * @param {number} [beginTime] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {Array} [plans] \n * @param {string} [schemaName] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async statementsPlanDetailGet(beginTime?: number, digest?: string, endTime?: number, plans?: Array, schemaName?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).statementsPlanDetailGet(beginTime, digest, endTime, plans, schemaName, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get execution plans of a statement\n * @param {number} [beginTime] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {string} [schemaName] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async statementsPlansGet(beginTime?: number, digest?: string, endTime?: number, schemaName?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).statementsPlansGet(beginTime, digest, endTime, schemaName, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get all statement types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async statementsStmtTypesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).statementsStmtTypesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * Query statements table columns\n * @summary Query table columns\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async statementsTableColumnsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).statementsTableColumnsGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get available statement time ranges\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async statementsTimeRangesGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).statementsTimeRangesGet(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Hide a TiDB instance\n * @param {string} address ip:port\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async topologyTidbAddressDelete(address: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).topologyTidbAddressDelete(address, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get log in information, like supported authenticate types.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userGetLoginInfo(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).userGetLoginInfo(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get sign out info\n * @param {string} [redirectUrl] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userGetSignOutInfo(redirectUrl?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).userGetSignOutInfo(redirectUrl, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Log in\n * @param {UserAuthenticateForm} message Credentials\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userLogin(message: UserAuthenticateForm, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).userLogin(message, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Create an impersonation\n * @param {SsoCreateImpersonationRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userSSOCreateImpersonation(request: SsoCreateImpersonationRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).userSSOCreateImpersonation(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get SSO Auth URL\n * @param {string} [codeVerifier] \n * @param {string} [redirectUrl] \n * @param {string} [state] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userSSOGetAuthURL(codeVerifier?: string, redirectUrl?: string, state?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).userSSOGetAuthURL(codeVerifier, redirectUrl, state, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Get SSO config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userSSOGetConfig(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).userSSOGetConfig(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary List all impersonations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userSSOListImpersonations(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).userSSOListImpersonations(options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Set SSO config\n * @param {SsoSetConfigRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userSSOSetConfig(request: SsoSetConfigRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).userSSOSetConfig(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * \n * @summary Share current session and generate a sharing code\n * @param {CodeShareRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async userShareSession(request: CodeShareRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).userShareSession(request, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n /**\n * View the finished profiling result of a task\n * @summary View the result of a task\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async viewProfilingSingle(token: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await DefaultApiAxiosParamCreator(configuration).viewProfilingSingle(token, options);\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n },\n }\n};\n\n/**\n * DefaultApi - factory interface\n * @export\n */\nexport const DefaultApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n return {\n /**\n * Cancel all profling tasks with a given group ID\n * @summary Cancel all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n cancelProfilingGroup(groupId: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).cancelProfilingGroup(groupId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get information of all hosts\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n clusterInfoGetHostsInfo(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).clusterInfoGetHostsInfo(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get cluster statistics\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n clusterInfoGetStatistics(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).clusterInfoGetStatistics(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Edit a configuration\n * @param {ConfigurationEditRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n configurationEdit(request: ConfigurationEditRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).configurationEdit(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get all configurations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n configurationGetAll(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).configurationGetAll(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get action token for download or view profile\n * @param {string} q target query string\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingActionTokenGet(q: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).continuousProfilingActionTokenGet(q, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get current scraping components\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingComponentsGet(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).continuousProfilingComponentsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get Continuous Profiling Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingConfigGet(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).continuousProfilingConfigGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Update Continuous Profiling Config\n * @param {ProfilingNgMonitoringConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingConfigPost(request: ProfilingNgMonitoringConfig, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).continuousProfilingConfigPost(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Download Group Profile files\n * @param {number} ts timestamp\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingDownloadGet(ts: number, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).continuousProfilingDownloadGet(ts, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get Estimate Size\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingEstimateSizeGet(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).continuousProfilingEstimateSizeGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get Group Profile Detail\n * @param {number} ts timestamp\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingGroupProfileDetailGet(ts: number, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).continuousProfilingGroupProfileDetailGet(ts, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get Group Profiles\n * @param {number} [beginTime] \n * @param {number} [endTime] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingGroupProfilesGet(beginTime?: number, endTime?: number, options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).continuousProfilingGroupProfilesGet(beginTime, endTime, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary View Single Profile files\n * @param {string} [address] \n * @param {string} [component] \n * @param {string} [profileType] \n * @param {number} [ts] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n continuousProfilingSingleProfileViewGet(address?: string, component?: string, profileType?: string, ts?: number, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).continuousProfilingSingleProfileViewGet(address, component, profileType, ts, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get all endpoints\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n debugAPIGetEndpoints(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).debugAPIGetEndpoints(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Send request remote endpoint and return a token for downloading results\n * @param {EndpointRequestPayload} req request payload\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n debugAPIRequestEndpoint(req: EndpointRequestPayload, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).debugAPIRequestEndpoint(req, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Download a finished request result.\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n debugApiDownloadGet(token: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).debugApiDownloadGet(token, options).then((request) => request(axios, basePath));\n },\n /**\n * Delete all finished profiling tasks with a given group ID\n * @summary Delete all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n deleteProfilingGroup(groupId: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).deleteProfilingGroup(groupId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Generate metrics relationship graph.\n * @param {DiagnoseGenerateMetricsRelationRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseGenerateMetricsRelationship(request: DiagnoseGenerateMetricsRelationRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).diagnoseGenerateMetricsRelationship(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary View metrics relationship graph.\n * @param {string} token token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseMetricsRelationViewGet(token: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).diagnoseMetricsRelationViewGet(token, options).then((request) => request(axios, basePath));\n },\n /**\n * Get sql diagnosis reports history\n * @summary SQL diagnosis reports history\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseReportsGet(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).diagnoseReportsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * Get sql diagnosis report data\n * @summary SQL diagnosis report data\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseReportsIdDataJsGet(id: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).diagnoseReportsIdDataJsGet(id, options).then((request) => request(axios, basePath));\n },\n /**\n * Get sql diagnosis report HTML\n * @summary SQL diagnosis report\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseReportsIdDetailGet(id: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).diagnoseReportsIdDetailGet(id, options).then((request) => request(axios, basePath));\n },\n /**\n * Get diagnosis report status\n * @summary Diagnosis report status\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseReportsIdStatusGet(id: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).diagnoseReportsIdStatusGet(id, options).then((request) => request(axios, basePath));\n },\n /**\n * Generate sql diagnosis report\n * @summary SQL diagnosis report\n * @param {DiagnoseGenerateReportRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n diagnoseReportsPost(request: DiagnoseGenerateReportRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).diagnoseReportsPost(request, options).then((request) => request(axios, basePath));\n },\n /**\n * Download all finished profiling results of a task group\n * @summary Download all results of a task group\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n downloadProfilingGroup(token: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).downloadProfilingGroup(token, options).then((request) => request(axios, basePath));\n },\n /**\n * Download the finished profiling result of a task\n * @summary Download the result of a task\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n downloadProfilingSingle(token: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).downloadProfilingSingle(token, options).then((request) => request(axios, basePath));\n },\n /**\n * Get token with a given group ID or task ID and action type\n * @summary Get action token for download or view\n * @param {string} [id] group or task ID\n * @param {string} [action] action\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getActionToken(id?: string, action?: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).getActionToken(id, action, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get current alert count from AlertManager\n * @param {string} address ip:port\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAlertManagerCounts(address: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).getAlertManagerCounts(address, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get AlertManager instance\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getAlertManagerTopology(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).getAlertManagerTopology(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get Grafana instance\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getGrafanaTopology(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).getGrafanaTopology(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get all PD instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getPDTopology(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).getPDTopology(options).then((request) => request(axios, basePath));\n },\n /**\n * List all profiling tasks with a given group ID\n * @summary List all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getProfilingGroupDetail(groupId: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).getProfilingGroupDetail(groupId, options).then((request) => request(axios, basePath));\n },\n /**\n * List all profiling groups\n * @summary List all profiling groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getProfilingGroups(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).getProfilingGroups(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get location labels of all TiKV / TiFlash instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getStoreLocationTopology(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).getStoreLocationTopology(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get all TiKV / TiFlash instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getStoreTopology(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).getStoreTopology(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get all TiDB instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n getTiDBTopology(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).getTiDBTopology(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get information about this TiDB Dashboard\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n infoGet(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).infoGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary List all databases\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n infoListDatabases(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).infoListDatabases(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary List tables by database name\n * @param {string} [databaseName] Database name\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n infoListTables(databaseName?: string, options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).infoListTables(databaseName, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get information about current session\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n infoWhoami(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).infoWhoami(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get Key Visual Dynamic Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n keyvisualConfigGet(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).keyvisualConfigGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Set Key Visual Dynamic Config\n * @param {ConfigKeyVisualConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n keyvisualConfigPut(request: ConfigKeyVisualConfig, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).keyvisualConfigPut(request, options).then((request) => request(axios, basePath));\n },\n /**\n * Heatmaps in a given range to visualize TiKV usage\n * @summary Key Visual Heatmaps\n * @param {string} [startkey] The start of the key range\n * @param {string} [endkey] The end of the key range\n * @param {number} [starttime] The start of the time range (Unix)\n * @param {number} [endtime] The end of the time range (Unix)\n * @param {'written_bytes' | 'read_bytes' | 'written_keys' | 'read_keys' | 'integration'} [type] Main types of data\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n keyvisualHeatmapsGet(startkey?: string, endkey?: string, starttime?: number, endtime?: number, type?: 'written_bytes' | 'read_bytes' | 'written_keys' | 'read_keys' | 'integration', options?: any): AxiosPromise {\n return DefaultApiFp(configuration).keyvisualHeatmapsGet(startkey, endkey, starttime, endtime, type, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Generate a download token for downloading logs\n * @param {Array} [id] task id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsDownloadAcquireTokenGet(id?: Array, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).logsDownloadAcquireTokenGet(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Download logs\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsDownloadGet(token: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).logsDownloadGet(token, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Create and run a new log search task group\n * @param {LogsearchCreateTaskGroupRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupPut(request: LogsearchCreateTaskGroupRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).logsTaskgroupPut(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary List all log search task groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsGet(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).logsTaskgroupsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Cancel running tasks in a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsIdCancelPost(id: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).logsTaskgroupsIdCancelPost(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Delete a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsIdDelete(id: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).logsTaskgroupsIdDelete(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary List tasks in a log search task group\n * @param {string} id Task Group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsIdGet(id: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).logsTaskgroupsIdGet(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Preview a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsIdPreviewGet(id: string, options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).logsTaskgroupsIdPreviewGet(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retry failed tasks in a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n logsTaskgroupsIdRetryPost(id: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).logsTaskgroupsIdRetryPost(id, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get the Prometheus address cluster config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n metricsGetPromAddress(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).metricsGetPromAddress(options).then((request) => request(axios, basePath));\n },\n /**\n * Query metrics in the given range\n * @summary Query metrics\n * @param {number} [endTimeSec] \n * @param {string} [query] \n * @param {number} [startTimeSec] \n * @param {number} [stepSec] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n metricsQueryGet(endTimeSec?: number, query?: string, startTimeSec?: number, stepSec?: number, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).metricsQueryGet(endTimeSec, query, startTimeSec, stepSec, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Set or clear the customized Prometheus address\n * @param {MetricsPutCustomPromAddressRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n metricsSetCustomPromAddress(request: MetricsPutCustomPromAddressRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).metricsSetCustomPromAddress(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get Profiling Dynamic Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n profilingConfigGet(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).profilingConfigGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Set Profiling Dynamic Config\n * @param {ConfigProfilingConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n profilingConfigPut(request: ConfigProfilingConfig, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).profilingConfigPut(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Run statements\n * @param {QueryeditorRunRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n queryEditorRun(request: QueryeditorRunRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).queryEditorRun(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get details of a slow query\n * @param {string} [connectId] TODO: Switch back to uint64 when modern browser as well as Swagger handles BigInt well.\n * @param {string} [digest] \n * @param {number} [timestamp] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n slowQueryDetailGet(connectId?: string, digest?: string, timestamp?: number, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).slowQueryDetailGet(connectId, digest, timestamp, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Download slow query statements\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n slowQueryDownloadGet(token: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).slowQueryDownloadGet(token, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Generate a download token for exported slow query statements\n * @param {SlowqueryGetListRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n slowQueryDownloadTokenPost(request: SlowqueryGetListRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).slowQueryDownloadTokenPost(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary List all slow queries\n * @param {number} [beginTime] \n * @param {Array} [db] \n * @param {boolean} [desc] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {string} [fields] example: \\"Query,Digest\\"\n * @param {number} [limit] \n * @param {string} [orderBy] \n * @param {Array} [plans] for showing slow queries in the statement detail page\n * @param {string} [text] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n slowQueryListGet(beginTime?: number, db?: Array, desc?: boolean, digest?: string, endTime?: number, fields?: string, limit?: number, orderBy?: string, plans?: Array, text?: string, options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).slowQueryListGet(beginTime, db, desc, digest, endTime, fields, limit, orderBy, plans, text, options).then((request) => request(axios, basePath));\n },\n /**\n * Query slowquery table columns\n * @summary Query table columns\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n slowQueryTableColumnsGet(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).slowQueryTableColumnsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * Start a profiling task group\n * @summary Start profiling\n * @param {ProfilingStartRequest} req profiling request\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n startProfiling(req: ProfilingStartRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).startProfiling(req, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get statement configurations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsConfigGet(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).statementsConfigGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Update statement configurations\n * @param {StatementEditableConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsConfigPost(request: StatementEditableConfig, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).statementsConfigPost(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Download statements\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsDownloadGet(token: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).statementsDownloadGet(token, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Generate a download token for exported statements\n * @param {StatementGetStatementsRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsDownloadTokenPost(request: StatementGetStatementsRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).statementsDownloadTokenPost(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get a list of statements\n * @param {number} [beginTime] \n * @param {number} [endTime] \n * @param {string} [fields] \n * @param {Array} [schemas] \n * @param {Array} [stmtTypes] \n * @param {string} [text] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsListGet(beginTime?: number, endTime?: number, fields?: string, schemas?: Array, stmtTypes?: Array, text?: string, options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).statementsListGet(beginTime, endTime, fields, schemas, stmtTypes, text, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get details of a statement in an execution plan\n * @param {number} [beginTime] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {Array} [plans] \n * @param {string} [schemaName] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsPlanDetailGet(beginTime?: number, digest?: string, endTime?: number, plans?: Array, schemaName?: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).statementsPlanDetailGet(beginTime, digest, endTime, plans, schemaName, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get execution plans of a statement\n * @param {number} [beginTime] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {string} [schemaName] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsPlansGet(beginTime?: number, digest?: string, endTime?: number, schemaName?: string, options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).statementsPlansGet(beginTime, digest, endTime, schemaName, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get all statement types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsStmtTypesGet(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).statementsStmtTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * Query statements table columns\n * @summary Query table columns\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsTableColumnsGet(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).statementsTableColumnsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get available statement time ranges\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n statementsTimeRangesGet(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).statementsTimeRangesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Hide a TiDB instance\n * @param {string} address ip:port\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n topologyTidbAddressDelete(address: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).topologyTidbAddressDelete(address, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get log in information, like supported authenticate types.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userGetLoginInfo(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).userGetLoginInfo(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get sign out info\n * @param {string} [redirectUrl] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userGetSignOutInfo(redirectUrl?: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).userGetSignOutInfo(redirectUrl, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Log in\n * @param {UserAuthenticateForm} message Credentials\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userLogin(message: UserAuthenticateForm, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).userLogin(message, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Create an impersonation\n * @param {SsoCreateImpersonationRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSSOCreateImpersonation(request: SsoCreateImpersonationRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).userSSOCreateImpersonation(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get SSO Auth URL\n * @param {string} [codeVerifier] \n * @param {string} [redirectUrl] \n * @param {string} [state] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSSOGetAuthURL(codeVerifier?: string, redirectUrl?: string, state?: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).userSSOGetAuthURL(codeVerifier, redirectUrl, state, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get SSO config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSSOGetConfig(options?: any): AxiosPromise {\n return DefaultApiFp(configuration).userSSOGetConfig(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary List all impersonations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSSOListImpersonations(options?: any): AxiosPromise> {\n return DefaultApiFp(configuration).userSSOListImpersonations(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Set SSO config\n * @param {SsoSetConfigRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userSSOSetConfig(request: SsoSetConfigRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).userSSOSetConfig(request, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Share current session and generate a sharing code\n * @param {CodeShareRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n userShareSession(request: CodeShareRequest, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).userShareSession(request, options).then((request) => request(axios, basePath));\n },\n /**\n * View the finished profiling result of a task\n * @summary View the result of a task\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n viewProfilingSingle(token: string, options?: any): AxiosPromise {\n return DefaultApiFp(configuration).viewProfilingSingle(token, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * DefaultApi - object-oriented interface\n * @export\n * @class DefaultApi\n * @extends {BaseAPI}\n */\nexport class DefaultApi extends BaseAPI {\n /**\n * Cancel all profling tasks with a given group ID\n * @summary Cancel all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public cancelProfilingGroup(groupId: string, options?: any) {\n return DefaultApiFp(this.configuration).cancelProfilingGroup(groupId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get information of all hosts\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public clusterInfoGetHostsInfo(options?: any) {\n return DefaultApiFp(this.configuration).clusterInfoGetHostsInfo(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get cluster statistics\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public clusterInfoGetStatistics(options?: any) {\n return DefaultApiFp(this.configuration).clusterInfoGetStatistics(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Edit a configuration\n * @param {ConfigurationEditRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public configurationEdit(request: ConfigurationEditRequest, options?: any) {\n return DefaultApiFp(this.configuration).configurationEdit(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get all configurations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public configurationGetAll(options?: any) {\n return DefaultApiFp(this.configuration).configurationGetAll(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get action token for download or view profile\n * @param {string} q target query string\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public continuousProfilingActionTokenGet(q: string, options?: any) {\n return DefaultApiFp(this.configuration).continuousProfilingActionTokenGet(q, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get current scraping components\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public continuousProfilingComponentsGet(options?: any) {\n return DefaultApiFp(this.configuration).continuousProfilingComponentsGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get Continuous Profiling Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public continuousProfilingConfigGet(options?: any) {\n return DefaultApiFp(this.configuration).continuousProfilingConfigGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Update Continuous Profiling Config\n * @param {ProfilingNgMonitoringConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public continuousProfilingConfigPost(request: ProfilingNgMonitoringConfig, options?: any) {\n return DefaultApiFp(this.configuration).continuousProfilingConfigPost(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Download Group Profile files\n * @param {number} ts timestamp\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public continuousProfilingDownloadGet(ts: number, options?: any) {\n return DefaultApiFp(this.configuration).continuousProfilingDownloadGet(ts, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get Estimate Size\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public continuousProfilingEstimateSizeGet(options?: any) {\n return DefaultApiFp(this.configuration).continuousProfilingEstimateSizeGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get Group Profile Detail\n * @param {number} ts timestamp\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public continuousProfilingGroupProfileDetailGet(ts: number, options?: any) {\n return DefaultApiFp(this.configuration).continuousProfilingGroupProfileDetailGet(ts, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get Group Profiles\n * @param {number} [beginTime] \n * @param {number} [endTime] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public continuousProfilingGroupProfilesGet(beginTime?: number, endTime?: number, options?: any) {\n return DefaultApiFp(this.configuration).continuousProfilingGroupProfilesGet(beginTime, endTime, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary View Single Profile files\n * @param {string} [address] \n * @param {string} [component] \n * @param {string} [profileType] \n * @param {number} [ts] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public continuousProfilingSingleProfileViewGet(address?: string, component?: string, profileType?: string, ts?: number, options?: any) {\n return DefaultApiFp(this.configuration).continuousProfilingSingleProfileViewGet(address, component, profileType, ts, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get all endpoints\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public debugAPIGetEndpoints(options?: any) {\n return DefaultApiFp(this.configuration).debugAPIGetEndpoints(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Send request remote endpoint and return a token for downloading results\n * @param {EndpointRequestPayload} req request payload\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public debugAPIRequestEndpoint(req: EndpointRequestPayload, options?: any) {\n return DefaultApiFp(this.configuration).debugAPIRequestEndpoint(req, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Download a finished request result.\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public debugApiDownloadGet(token: string, options?: any) {\n return DefaultApiFp(this.configuration).debugApiDownloadGet(token, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Delete all finished profiling tasks with a given group ID\n * @summary Delete all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public deleteProfilingGroup(groupId: string, options?: any) {\n return DefaultApiFp(this.configuration).deleteProfilingGroup(groupId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Generate metrics relationship graph.\n * @param {DiagnoseGenerateMetricsRelationRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public diagnoseGenerateMetricsRelationship(request: DiagnoseGenerateMetricsRelationRequest, options?: any) {\n return DefaultApiFp(this.configuration).diagnoseGenerateMetricsRelationship(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary View metrics relationship graph.\n * @param {string} token token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public diagnoseMetricsRelationViewGet(token: string, options?: any) {\n return DefaultApiFp(this.configuration).diagnoseMetricsRelationViewGet(token, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get sql diagnosis reports history\n * @summary SQL diagnosis reports history\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public diagnoseReportsGet(options?: any) {\n return DefaultApiFp(this.configuration).diagnoseReportsGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get sql diagnosis report data\n * @summary SQL diagnosis report data\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public diagnoseReportsIdDataJsGet(id: string, options?: any) {\n return DefaultApiFp(this.configuration).diagnoseReportsIdDataJsGet(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get sql diagnosis report HTML\n * @summary SQL diagnosis report\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public diagnoseReportsIdDetailGet(id: string, options?: any) {\n return DefaultApiFp(this.configuration).diagnoseReportsIdDetailGet(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get diagnosis report status\n * @summary Diagnosis report status\n * @param {string} id report id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public diagnoseReportsIdStatusGet(id: string, options?: any) {\n return DefaultApiFp(this.configuration).diagnoseReportsIdStatusGet(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Generate sql diagnosis report\n * @summary SQL diagnosis report\n * @param {DiagnoseGenerateReportRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public diagnoseReportsPost(request: DiagnoseGenerateReportRequest, options?: any) {\n return DefaultApiFp(this.configuration).diagnoseReportsPost(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Download all finished profiling results of a task group\n * @summary Download all results of a task group\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public downloadProfilingGroup(token: string, options?: any) {\n return DefaultApiFp(this.configuration).downloadProfilingGroup(token, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Download the finished profiling result of a task\n * @summary Download the result of a task\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public downloadProfilingSingle(token: string, options?: any) {\n return DefaultApiFp(this.configuration).downloadProfilingSingle(token, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get token with a given group ID or task ID and action type\n * @summary Get action token for download or view\n * @param {string} [id] group or task ID\n * @param {string} [action] action\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getActionToken(id?: string, action?: string, options?: any) {\n return DefaultApiFp(this.configuration).getActionToken(id, action, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get current alert count from AlertManager\n * @param {string} address ip:port\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getAlertManagerCounts(address: string, options?: any) {\n return DefaultApiFp(this.configuration).getAlertManagerCounts(address, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get AlertManager instance\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getAlertManagerTopology(options?: any) {\n return DefaultApiFp(this.configuration).getAlertManagerTopology(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get Grafana instance\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getGrafanaTopology(options?: any) {\n return DefaultApiFp(this.configuration).getGrafanaTopology(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get all PD instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getPDTopology(options?: any) {\n return DefaultApiFp(this.configuration).getPDTopology(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * List all profiling tasks with a given group ID\n * @summary List all tasks with a given group ID\n * @param {string} groupId group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getProfilingGroupDetail(groupId: string, options?: any) {\n return DefaultApiFp(this.configuration).getProfilingGroupDetail(groupId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * List all profiling groups\n * @summary List all profiling groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getProfilingGroups(options?: any) {\n return DefaultApiFp(this.configuration).getProfilingGroups(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get location labels of all TiKV / TiFlash instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getStoreLocationTopology(options?: any) {\n return DefaultApiFp(this.configuration).getStoreLocationTopology(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get all TiKV / TiFlash instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getStoreTopology(options?: any) {\n return DefaultApiFp(this.configuration).getStoreTopology(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get all TiDB instances\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public getTiDBTopology(options?: any) {\n return DefaultApiFp(this.configuration).getTiDBTopology(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get information about this TiDB Dashboard\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public infoGet(options?: any) {\n return DefaultApiFp(this.configuration).infoGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary List all databases\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public infoListDatabases(options?: any) {\n return DefaultApiFp(this.configuration).infoListDatabases(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary List tables by database name\n * @param {string} [databaseName] Database name\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public infoListTables(databaseName?: string, options?: any) {\n return DefaultApiFp(this.configuration).infoListTables(databaseName, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get information about current session\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public infoWhoami(options?: any) {\n return DefaultApiFp(this.configuration).infoWhoami(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get Key Visual Dynamic Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public keyvisualConfigGet(options?: any) {\n return DefaultApiFp(this.configuration).keyvisualConfigGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Set Key Visual Dynamic Config\n * @param {ConfigKeyVisualConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public keyvisualConfigPut(request: ConfigKeyVisualConfig, options?: any) {\n return DefaultApiFp(this.configuration).keyvisualConfigPut(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Heatmaps in a given range to visualize TiKV usage\n * @summary Key Visual Heatmaps\n * @param {string} [startkey] The start of the key range\n * @param {string} [endkey] The end of the key range\n * @param {number} [starttime] The start of the time range (Unix)\n * @param {number} [endtime] The end of the time range (Unix)\n * @param {'written_bytes' | 'read_bytes' | 'written_keys' | 'read_keys' | 'integration'} [type] Main types of data\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public keyvisualHeatmapsGet(startkey?: string, endkey?: string, starttime?: number, endtime?: number, type?: 'written_bytes' | 'read_bytes' | 'written_keys' | 'read_keys' | 'integration', options?: any) {\n return DefaultApiFp(this.configuration).keyvisualHeatmapsGet(startkey, endkey, starttime, endtime, type, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Generate a download token for downloading logs\n * @param {Array} [id] task id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public logsDownloadAcquireTokenGet(id?: Array, options?: any) {\n return DefaultApiFp(this.configuration).logsDownloadAcquireTokenGet(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Download logs\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public logsDownloadGet(token: string, options?: any) {\n return DefaultApiFp(this.configuration).logsDownloadGet(token, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Create and run a new log search task group\n * @param {LogsearchCreateTaskGroupRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public logsTaskgroupPut(request: LogsearchCreateTaskGroupRequest, options?: any) {\n return DefaultApiFp(this.configuration).logsTaskgroupPut(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary List all log search task groups\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public logsTaskgroupsGet(options?: any) {\n return DefaultApiFp(this.configuration).logsTaskgroupsGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Cancel running tasks in a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public logsTaskgroupsIdCancelPost(id: string, options?: any) {\n return DefaultApiFp(this.configuration).logsTaskgroupsIdCancelPost(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Delete a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public logsTaskgroupsIdDelete(id: string, options?: any) {\n return DefaultApiFp(this.configuration).logsTaskgroupsIdDelete(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary List tasks in a log search task group\n * @param {string} id Task Group ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public logsTaskgroupsIdGet(id: string, options?: any) {\n return DefaultApiFp(this.configuration).logsTaskgroupsIdGet(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Preview a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public logsTaskgroupsIdPreviewGet(id: string, options?: any) {\n return DefaultApiFp(this.configuration).logsTaskgroupsIdPreviewGet(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retry failed tasks in a log search task group\n * @param {string} id task group id\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public logsTaskgroupsIdRetryPost(id: string, options?: any) {\n return DefaultApiFp(this.configuration).logsTaskgroupsIdRetryPost(id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get the Prometheus address cluster config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public metricsGetPromAddress(options?: any) {\n return DefaultApiFp(this.configuration).metricsGetPromAddress(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Query metrics in the given range\n * @summary Query metrics\n * @param {number} [endTimeSec] \n * @param {string} [query] \n * @param {number} [startTimeSec] \n * @param {number} [stepSec] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public metricsQueryGet(endTimeSec?: number, query?: string, startTimeSec?: number, stepSec?: number, options?: any) {\n return DefaultApiFp(this.configuration).metricsQueryGet(endTimeSec, query, startTimeSec, stepSec, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Set or clear the customized Prometheus address\n * @param {MetricsPutCustomPromAddressRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public metricsSetCustomPromAddress(request: MetricsPutCustomPromAddressRequest, options?: any) {\n return DefaultApiFp(this.configuration).metricsSetCustomPromAddress(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get Profiling Dynamic Config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public profilingConfigGet(options?: any) {\n return DefaultApiFp(this.configuration).profilingConfigGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Set Profiling Dynamic Config\n * @param {ConfigProfilingConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public profilingConfigPut(request: ConfigProfilingConfig, options?: any) {\n return DefaultApiFp(this.configuration).profilingConfigPut(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Run statements\n * @param {QueryeditorRunRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public queryEditorRun(request: QueryeditorRunRequest, options?: any) {\n return DefaultApiFp(this.configuration).queryEditorRun(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get details of a slow query\n * @param {string} [connectId] TODO: Switch back to uint64 when modern browser as well as Swagger handles BigInt well.\n * @param {string} [digest] \n * @param {number} [timestamp] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public slowQueryDetailGet(connectId?: string, digest?: string, timestamp?: number, options?: any) {\n return DefaultApiFp(this.configuration).slowQueryDetailGet(connectId, digest, timestamp, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Download slow query statements\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public slowQueryDownloadGet(token: string, options?: any) {\n return DefaultApiFp(this.configuration).slowQueryDownloadGet(token, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Generate a download token for exported slow query statements\n * @param {SlowqueryGetListRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public slowQueryDownloadTokenPost(request: SlowqueryGetListRequest, options?: any) {\n return DefaultApiFp(this.configuration).slowQueryDownloadTokenPost(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary List all slow queries\n * @param {number} [beginTime] \n * @param {Array} [db] \n * @param {boolean} [desc] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {string} [fields] example: \\"Query,Digest\\"\n * @param {number} [limit] \n * @param {string} [orderBy] \n * @param {Array} [plans] for showing slow queries in the statement detail page\n * @param {string} [text] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public slowQueryListGet(beginTime?: number, db?: Array, desc?: boolean, digest?: string, endTime?: number, fields?: string, limit?: number, orderBy?: string, plans?: Array, text?: string, options?: any) {\n return DefaultApiFp(this.configuration).slowQueryListGet(beginTime, db, desc, digest, endTime, fields, limit, orderBy, plans, text, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Query slowquery table columns\n * @summary Query table columns\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public slowQueryTableColumnsGet(options?: any) {\n return DefaultApiFp(this.configuration).slowQueryTableColumnsGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Start a profiling task group\n * @summary Start profiling\n * @param {ProfilingStartRequest} req profiling request\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public startProfiling(req: ProfilingStartRequest, options?: any) {\n return DefaultApiFp(this.configuration).startProfiling(req, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get statement configurations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public statementsConfigGet(options?: any) {\n return DefaultApiFp(this.configuration).statementsConfigGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Update statement configurations\n * @param {StatementEditableConfig} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public statementsConfigPost(request: StatementEditableConfig, options?: any) {\n return DefaultApiFp(this.configuration).statementsConfigPost(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Download statements\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public statementsDownloadGet(token: string, options?: any) {\n return DefaultApiFp(this.configuration).statementsDownloadGet(token, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Generate a download token for exported statements\n * @param {StatementGetStatementsRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public statementsDownloadTokenPost(request: StatementGetStatementsRequest, options?: any) {\n return DefaultApiFp(this.configuration).statementsDownloadTokenPost(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get a list of statements\n * @param {number} [beginTime] \n * @param {number} [endTime] \n * @param {string} [fields] \n * @param {Array} [schemas] \n * @param {Array} [stmtTypes] \n * @param {string} [text] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public statementsListGet(beginTime?: number, endTime?: number, fields?: string, schemas?: Array, stmtTypes?: Array, text?: string, options?: any) {\n return DefaultApiFp(this.configuration).statementsListGet(beginTime, endTime, fields, schemas, stmtTypes, text, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get details of a statement in an execution plan\n * @param {number} [beginTime] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {Array} [plans] \n * @param {string} [schemaName] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public statementsPlanDetailGet(beginTime?: number, digest?: string, endTime?: number, plans?: Array, schemaName?: string, options?: any) {\n return DefaultApiFp(this.configuration).statementsPlanDetailGet(beginTime, digest, endTime, plans, schemaName, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get execution plans of a statement\n * @param {number} [beginTime] \n * @param {string} [digest] \n * @param {number} [endTime] \n * @param {string} [schemaName] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public statementsPlansGet(beginTime?: number, digest?: string, endTime?: number, schemaName?: string, options?: any) {\n return DefaultApiFp(this.configuration).statementsPlansGet(beginTime, digest, endTime, schemaName, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get all statement types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public statementsStmtTypesGet(options?: any) {\n return DefaultApiFp(this.configuration).statementsStmtTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Query statements table columns\n * @summary Query table columns\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public statementsTableColumnsGet(options?: any) {\n return DefaultApiFp(this.configuration).statementsTableColumnsGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get available statement time ranges\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public statementsTimeRangesGet(options?: any) {\n return DefaultApiFp(this.configuration).statementsTimeRangesGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Hide a TiDB instance\n * @param {string} address ip:port\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public topologyTidbAddressDelete(address: string, options?: any) {\n return DefaultApiFp(this.configuration).topologyTidbAddressDelete(address, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get log in information, like supported authenticate types.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public userGetLoginInfo(options?: any) {\n return DefaultApiFp(this.configuration).userGetLoginInfo(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get sign out info\n * @param {string} [redirectUrl] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public userGetSignOutInfo(redirectUrl?: string, options?: any) {\n return DefaultApiFp(this.configuration).userGetSignOutInfo(redirectUrl, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Log in\n * @param {UserAuthenticateForm} message Credentials\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public userLogin(message: UserAuthenticateForm, options?: any) {\n return DefaultApiFp(this.configuration).userLogin(message, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Create an impersonation\n * @param {SsoCreateImpersonationRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public userSSOCreateImpersonation(request: SsoCreateImpersonationRequest, options?: any) {\n return DefaultApiFp(this.configuration).userSSOCreateImpersonation(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get SSO Auth URL\n * @param {string} [codeVerifier] \n * @param {string} [redirectUrl] \n * @param {string} [state] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public userSSOGetAuthURL(codeVerifier?: string, redirectUrl?: string, state?: string, options?: any) {\n return DefaultApiFp(this.configuration).userSSOGetAuthURL(codeVerifier, redirectUrl, state, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get SSO config\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public userSSOGetConfig(options?: any) {\n return DefaultApiFp(this.configuration).userSSOGetConfig(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary List all impersonations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public userSSOListImpersonations(options?: any) {\n return DefaultApiFp(this.configuration).userSSOListImpersonations(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Set SSO config\n * @param {SsoSetConfigRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public userSSOSetConfig(request: SsoSetConfigRequest, options?: any) {\n return DefaultApiFp(this.configuration).userSSOSetConfig(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Share current session and generate a sharing code\n * @param {CodeShareRequest} request Request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public userShareSession(request: CodeShareRequest, options?: any) {\n return DefaultApiFp(this.configuration).userShareSession(request, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * View the finished profiling result of a task\n * @summary View the result of a task\n * @param {string} token download token\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public viewProfilingSingle(token: string, options?: any) {\n return DefaultApiFp(this.configuration).viewProfilingSingle(token, options).then((request) => request(this.axios, this.basePath));\n }\n\n}\n\n\n","import publicPathPrefix from '@lib/utils/publicPathPrefix'\n\nexport const API_HOST = (function getApiHost(): string {\n let apiPrefix\n if (process.env.NODE_ENV === 'development') {\n if (process.env.REACT_APP_DASHBOARD_API_URL) {\n apiPrefix = `${process.env.REACT_APP_DASHBOARD_API_URL}/dashboard`\n } else {\n apiPrefix = 'http://127.0.0.1:12333/dashboard'\n }\n } else {\n apiPrefix = publicPathPrefix\n }\n\n return apiPrefix\n})()\n\nexport function getApiBasePath(): string {\n return `${API_HOST}/api`\n}\n","var map = {\n\t\"./en.yaml\": 682,\n\t\"./zh.yaml\": 683\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 = 681;","module.exports = {\"error\":{\"title\":\"Error\",\"network\":\"Network connection error\",\"api\":{\"unauthorized\":\"Session is expired. Please sign in again.\",\"insufficient_privilege\":\"You don't have sufficient privilege to perform this action.\",\"user\":{\"signin\":{\"invalid_code\":\"Authorization Code is invalid or expired\"},\"insufficient_privileges\":\"The user does not have sufficient privileges to access {{distro.tidb}} Dashboard. \"},\"slow_query\":{\"export_no_data\":\"No slow queires can be exported\"},\"statement\":{\"export_no_data\":\"No statements can be exported\"},\"continuous_profiling\":{\"ng_monitoring_not_deploy\":\"To use or learn more about \\\"Continuous Profiling\\\" feature, please search for \\\"Continuous Profiling\\\" in the {{distro.tidb}} official docs for more information.\\nIf it doesn't resove the issue, please contact the product's technical support.\\n\",\"ng_monitoring_not_start\":\"To use or learn more about \\\"Continuous Profiling\\\" feature, please search for \\\"Continuous Profiling\\\" in the {{distro.tidb}} official docs for more information.\\nIf it doesn't resove the issue, please contact the product's technical support.\\n\"},\"other\":\"Other error\"},\"tidb\":{\"no_alive_tidb\":\"No alive {{distro.tidb}} instance\",\"pd_access_failed\":\"Failed to access {{distro.pd}} node\",\"tidb_conn_failed\":\"Failed to connect to {{distro.tidb}}\",\"tidb_auth_failed\":\"{{distro.tidb}} authentication failed\"}}}","module.exports = {\"error\":{\"title\":\"错误\",\"network\":\"网络连接失败\",\"api\":{\"unauthorized\":\"会话已过期,请重新登录\",\"insufficient_privilege\":\"您没有足够的权限进行该操作\",\"user\":{\"signin\":{\"invalid_code\":\"授权码无效或已过期\"},\"insufficient_privileges\":\"此用户缺少访问 {{distro.tidb}} Dashboard 所需的权限。\"},\"slow_query\":{\"export_no_data\":\"没有可导出的慢查询日志\"},\"statement\":{\"export_no_data\":\"没有可导出的语句\"},\"continuous_profiling\":{\"ng_monitoring_not_deploy\":\"想使用或深入了解“持续性能分析”功能,请在 {{distro.tidb}} 官方文档搜索“持续性能分析”查看更多内容。\\n若未能解决问题,请联系本产品技术支持。\\n\",\"ng_monitoring_not_start\":\"想使用或深入了解“持续性能分析”功能,请在 {{distro.tidb}} 官方文档搜索“持续性能分析”查看更多内容。\\n若未能解决问题,请联系本产品技术支持。\\n\"},\"other\":\"其他错误\"},\"tidb\":{\"no_alive_tidb\":\"没有正在运行的 {{distro.tidb}} 实例\",\"pd_access_failed\":\"无法访问 {{distro.pd}} 节点\",\"tidb_conn_failed\":\"无法连接到 {{distro.tidb}}\",\"tidb_auth_failed\":\"{{distro.tidb}} 登录验证失败\"}}}","var map = {\n\t\"./Binary_Property/ASCII.js\": 743,\n\t\"./Binary_Property/ASCII_Hex_Digit.js\": 744,\n\t\"./Binary_Property/Alphabetic.js\": 745,\n\t\"./Binary_Property/Any.js\": 746,\n\t\"./Binary_Property/Assigned.js\": 747,\n\t\"./Binary_Property/Bidi_Control.js\": 748,\n\t\"./Binary_Property/Bidi_Mirrored.js\": 749,\n\t\"./Binary_Property/Case_Ignorable.js\": 750,\n\t\"./Binary_Property/Cased.js\": 751,\n\t\"./Binary_Property/Changes_When_Casefolded.js\": 752,\n\t\"./Binary_Property/Changes_When_Casemapped.js\": 753,\n\t\"./Binary_Property/Changes_When_Lowercased.js\": 754,\n\t\"./Binary_Property/Changes_When_NFKC_Casefolded.js\": 755,\n\t\"./Binary_Property/Changes_When_Titlecased.js\": 756,\n\t\"./Binary_Property/Changes_When_Uppercased.js\": 757,\n\t\"./Binary_Property/Dash.js\": 758,\n\t\"./Binary_Property/Default_Ignorable_Code_Point.js\": 759,\n\t\"./Binary_Property/Deprecated.js\": 760,\n\t\"./Binary_Property/Diacritic.js\": 761,\n\t\"./Binary_Property/Emoji.js\": 762,\n\t\"./Binary_Property/Emoji_Component.js\": 763,\n\t\"./Binary_Property/Emoji_Modifier.js\": 764,\n\t\"./Binary_Property/Emoji_Modifier_Base.js\": 765,\n\t\"./Binary_Property/Emoji_Presentation.js\": 766,\n\t\"./Binary_Property/Extended_Pictographic.js\": 767,\n\t\"./Binary_Property/Extender.js\": 768,\n\t\"./Binary_Property/Grapheme_Base.js\": 769,\n\t\"./Binary_Property/Grapheme_Extend.js\": 770,\n\t\"./Binary_Property/Hex_Digit.js\": 771,\n\t\"./Binary_Property/IDS_Binary_Operator.js\": 772,\n\t\"./Binary_Property/IDS_Trinary_Operator.js\": 773,\n\t\"./Binary_Property/ID_Continue.js\": 774,\n\t\"./Binary_Property/ID_Start.js\": 775,\n\t\"./Binary_Property/Ideographic.js\": 776,\n\t\"./Binary_Property/Join_Control.js\": 777,\n\t\"./Binary_Property/Logical_Order_Exception.js\": 778,\n\t\"./Binary_Property/Lowercase.js\": 779,\n\t\"./Binary_Property/Math.js\": 780,\n\t\"./Binary_Property/Noncharacter_Code_Point.js\": 781,\n\t\"./Binary_Property/Pattern_Syntax.js\": 782,\n\t\"./Binary_Property/Pattern_White_Space.js\": 783,\n\t\"./Binary_Property/Quotation_Mark.js\": 784,\n\t\"./Binary_Property/Radical.js\": 785,\n\t\"./Binary_Property/Regional_Indicator.js\": 786,\n\t\"./Binary_Property/Sentence_Terminal.js\": 787,\n\t\"./Binary_Property/Soft_Dotted.js\": 788,\n\t\"./Binary_Property/Terminal_Punctuation.js\": 789,\n\t\"./Binary_Property/Unified_Ideograph.js\": 790,\n\t\"./Binary_Property/Uppercase.js\": 791,\n\t\"./Binary_Property/Variation_Selector.js\": 792,\n\t\"./Binary_Property/White_Space.js\": 793,\n\t\"./Binary_Property/XID_Continue.js\": 794,\n\t\"./Binary_Property/XID_Start.js\": 795,\n\t\"./General_Category/Cased_Letter.js\": 796,\n\t\"./General_Category/Close_Punctuation.js\": 797,\n\t\"./General_Category/Connector_Punctuation.js\": 798,\n\t\"./General_Category/Control.js\": 799,\n\t\"./General_Category/Currency_Symbol.js\": 800,\n\t\"./General_Category/Dash_Punctuation.js\": 801,\n\t\"./General_Category/Decimal_Number.js\": 802,\n\t\"./General_Category/Enclosing_Mark.js\": 803,\n\t\"./General_Category/Final_Punctuation.js\": 804,\n\t\"./General_Category/Format.js\": 805,\n\t\"./General_Category/Initial_Punctuation.js\": 806,\n\t\"./General_Category/Letter.js\": 807,\n\t\"./General_Category/Letter_Number.js\": 808,\n\t\"./General_Category/Line_Separator.js\": 809,\n\t\"./General_Category/Lowercase_Letter.js\": 810,\n\t\"./General_Category/Mark.js\": 811,\n\t\"./General_Category/Math_Symbol.js\": 812,\n\t\"./General_Category/Modifier_Letter.js\": 813,\n\t\"./General_Category/Modifier_Symbol.js\": 814,\n\t\"./General_Category/Nonspacing_Mark.js\": 815,\n\t\"./General_Category/Number.js\": 816,\n\t\"./General_Category/Open_Punctuation.js\": 817,\n\t\"./General_Category/Other.js\": 818,\n\t\"./General_Category/Other_Letter.js\": 819,\n\t\"./General_Category/Other_Number.js\": 820,\n\t\"./General_Category/Other_Punctuation.js\": 821,\n\t\"./General_Category/Other_Symbol.js\": 822,\n\t\"./General_Category/Paragraph_Separator.js\": 823,\n\t\"./General_Category/Private_Use.js\": 824,\n\t\"./General_Category/Punctuation.js\": 825,\n\t\"./General_Category/Separator.js\": 826,\n\t\"./General_Category/Space_Separator.js\": 827,\n\t\"./General_Category/Spacing_Mark.js\": 828,\n\t\"./General_Category/Surrogate.js\": 829,\n\t\"./General_Category/Symbol.js\": 830,\n\t\"./General_Category/Titlecase_Letter.js\": 831,\n\t\"./General_Category/Unassigned.js\": 832,\n\t\"./General_Category/Uppercase_Letter.js\": 833,\n\t\"./Script/Adlam.js\": 834,\n\t\"./Script/Ahom.js\": 835,\n\t\"./Script/Anatolian_Hieroglyphs.js\": 836,\n\t\"./Script/Arabic.js\": 837,\n\t\"./Script/Armenian.js\": 838,\n\t\"./Script/Avestan.js\": 839,\n\t\"./Script/Balinese.js\": 840,\n\t\"./Script/Bamum.js\": 841,\n\t\"./Script/Bassa_Vah.js\": 842,\n\t\"./Script/Batak.js\": 843,\n\t\"./Script/Bengali.js\": 844,\n\t\"./Script/Bhaiksuki.js\": 845,\n\t\"./Script/Bopomofo.js\": 846,\n\t\"./Script/Brahmi.js\": 847,\n\t\"./Script/Braille.js\": 848,\n\t\"./Script/Buginese.js\": 849,\n\t\"./Script/Buhid.js\": 850,\n\t\"./Script/Canadian_Aboriginal.js\": 851,\n\t\"./Script/Carian.js\": 852,\n\t\"./Script/Caucasian_Albanian.js\": 853,\n\t\"./Script/Chakma.js\": 854,\n\t\"./Script/Cham.js\": 855,\n\t\"./Script/Cherokee.js\": 856,\n\t\"./Script/Chorasmian.js\": 857,\n\t\"./Script/Common.js\": 858,\n\t\"./Script/Coptic.js\": 859,\n\t\"./Script/Cuneiform.js\": 860,\n\t\"./Script/Cypriot.js\": 861,\n\t\"./Script/Cyrillic.js\": 862,\n\t\"./Script/Deseret.js\": 863,\n\t\"./Script/Devanagari.js\": 864,\n\t\"./Script/Dives_Akuru.js\": 865,\n\t\"./Script/Dogra.js\": 866,\n\t\"./Script/Duployan.js\": 867,\n\t\"./Script/Egyptian_Hieroglyphs.js\": 868,\n\t\"./Script/Elbasan.js\": 869,\n\t\"./Script/Elymaic.js\": 870,\n\t\"./Script/Ethiopic.js\": 871,\n\t\"./Script/Georgian.js\": 872,\n\t\"./Script/Glagolitic.js\": 873,\n\t\"./Script/Gothic.js\": 874,\n\t\"./Script/Grantha.js\": 875,\n\t\"./Script/Greek.js\": 876,\n\t\"./Script/Gujarati.js\": 877,\n\t\"./Script/Gunjala_Gondi.js\": 878,\n\t\"./Script/Gurmukhi.js\": 879,\n\t\"./Script/Han.js\": 880,\n\t\"./Script/Hangul.js\": 881,\n\t\"./Script/Hanifi_Rohingya.js\": 882,\n\t\"./Script/Hanunoo.js\": 883,\n\t\"./Script/Hatran.js\": 884,\n\t\"./Script/Hebrew.js\": 885,\n\t\"./Script/Hiragana.js\": 886,\n\t\"./Script/Imperial_Aramaic.js\": 887,\n\t\"./Script/Inherited.js\": 888,\n\t\"./Script/Inscriptional_Pahlavi.js\": 889,\n\t\"./Script/Inscriptional_Parthian.js\": 890,\n\t\"./Script/Javanese.js\": 891,\n\t\"./Script/Kaithi.js\": 892,\n\t\"./Script/Kannada.js\": 893,\n\t\"./Script/Katakana.js\": 894,\n\t\"./Script/Kayah_Li.js\": 895,\n\t\"./Script/Kharoshthi.js\": 896,\n\t\"./Script/Khitan_Small_Script.js\": 897,\n\t\"./Script/Khmer.js\": 898,\n\t\"./Script/Khojki.js\": 899,\n\t\"./Script/Khudawadi.js\": 900,\n\t\"./Script/Lao.js\": 901,\n\t\"./Script/Latin.js\": 902,\n\t\"./Script/Lepcha.js\": 903,\n\t\"./Script/Limbu.js\": 904,\n\t\"./Script/Linear_A.js\": 905,\n\t\"./Script/Linear_B.js\": 906,\n\t\"./Script/Lisu.js\": 907,\n\t\"./Script/Lycian.js\": 908,\n\t\"./Script/Lydian.js\": 909,\n\t\"./Script/Mahajani.js\": 910,\n\t\"./Script/Makasar.js\": 911,\n\t\"./Script/Malayalam.js\": 912,\n\t\"./Script/Mandaic.js\": 913,\n\t\"./Script/Manichaean.js\": 914,\n\t\"./Script/Marchen.js\": 915,\n\t\"./Script/Masaram_Gondi.js\": 916,\n\t\"./Script/Medefaidrin.js\": 917,\n\t\"./Script/Meetei_Mayek.js\": 918,\n\t\"./Script/Mende_Kikakui.js\": 919,\n\t\"./Script/Meroitic_Cursive.js\": 920,\n\t\"./Script/Meroitic_Hieroglyphs.js\": 921,\n\t\"./Script/Miao.js\": 922,\n\t\"./Script/Modi.js\": 923,\n\t\"./Script/Mongolian.js\": 924,\n\t\"./Script/Mro.js\": 925,\n\t\"./Script/Multani.js\": 926,\n\t\"./Script/Myanmar.js\": 927,\n\t\"./Script/Nabataean.js\": 928,\n\t\"./Script/Nandinagari.js\": 929,\n\t\"./Script/New_Tai_Lue.js\": 930,\n\t\"./Script/Newa.js\": 931,\n\t\"./Script/Nko.js\": 932,\n\t\"./Script/Nushu.js\": 933,\n\t\"./Script/Nyiakeng_Puachue_Hmong.js\": 934,\n\t\"./Script/Ogham.js\": 935,\n\t\"./Script/Ol_Chiki.js\": 936,\n\t\"./Script/Old_Hungarian.js\": 937,\n\t\"./Script/Old_Italic.js\": 938,\n\t\"./Script/Old_North_Arabian.js\": 939,\n\t\"./Script/Old_Permic.js\": 940,\n\t\"./Script/Old_Persian.js\": 941,\n\t\"./Script/Old_Sogdian.js\": 942,\n\t\"./Script/Old_South_Arabian.js\": 943,\n\t\"./Script/Old_Turkic.js\": 944,\n\t\"./Script/Oriya.js\": 945,\n\t\"./Script/Osage.js\": 946,\n\t\"./Script/Osmanya.js\": 947,\n\t\"./Script/Pahawh_Hmong.js\": 948,\n\t\"./Script/Palmyrene.js\": 949,\n\t\"./Script/Pau_Cin_Hau.js\": 950,\n\t\"./Script/Phags_Pa.js\": 951,\n\t\"./Script/Phoenician.js\": 952,\n\t\"./Script/Psalter_Pahlavi.js\": 953,\n\t\"./Script/Rejang.js\": 954,\n\t\"./Script/Runic.js\": 955,\n\t\"./Script/Samaritan.js\": 956,\n\t\"./Script/Saurashtra.js\": 957,\n\t\"./Script/Sharada.js\": 958,\n\t\"./Script/Shavian.js\": 959,\n\t\"./Script/Siddham.js\": 960,\n\t\"./Script/SignWriting.js\": 961,\n\t\"./Script/Sinhala.js\": 962,\n\t\"./Script/Sogdian.js\": 963,\n\t\"./Script/Sora_Sompeng.js\": 964,\n\t\"./Script/Soyombo.js\": 965,\n\t\"./Script/Sundanese.js\": 966,\n\t\"./Script/Syloti_Nagri.js\": 967,\n\t\"./Script/Syriac.js\": 968,\n\t\"./Script/Tagalog.js\": 969,\n\t\"./Script/Tagbanwa.js\": 970,\n\t\"./Script/Tai_Le.js\": 971,\n\t\"./Script/Tai_Tham.js\": 972,\n\t\"./Script/Tai_Viet.js\": 973,\n\t\"./Script/Takri.js\": 974,\n\t\"./Script/Tamil.js\": 975,\n\t\"./Script/Tangut.js\": 976,\n\t\"./Script/Telugu.js\": 977,\n\t\"./Script/Thaana.js\": 978,\n\t\"./Script/Thai.js\": 979,\n\t\"./Script/Tibetan.js\": 980,\n\t\"./Script/Tifinagh.js\": 981,\n\t\"./Script/Tirhuta.js\": 982,\n\t\"./Script/Ugaritic.js\": 983,\n\t\"./Script/Vai.js\": 984,\n\t\"./Script/Wancho.js\": 985,\n\t\"./Script/Warang_Citi.js\": 986,\n\t\"./Script/Yezidi.js\": 987,\n\t\"./Script/Yi.js\": 988,\n\t\"./Script/Zanabazar_Square.js\": 989,\n\t\"./Script_Extensions/Adlam.js\": 990,\n\t\"./Script_Extensions/Ahom.js\": 991,\n\t\"./Script_Extensions/Anatolian_Hieroglyphs.js\": 992,\n\t\"./Script_Extensions/Arabic.js\": 993,\n\t\"./Script_Extensions/Armenian.js\": 994,\n\t\"./Script_Extensions/Avestan.js\": 995,\n\t\"./Script_Extensions/Balinese.js\": 996,\n\t\"./Script_Extensions/Bamum.js\": 997,\n\t\"./Script_Extensions/Bassa_Vah.js\": 998,\n\t\"./Script_Extensions/Batak.js\": 999,\n\t\"./Script_Extensions/Bengali.js\": 1000,\n\t\"./Script_Extensions/Bhaiksuki.js\": 1001,\n\t\"./Script_Extensions/Bopomofo.js\": 1002,\n\t\"./Script_Extensions/Brahmi.js\": 1003,\n\t\"./Script_Extensions/Braille.js\": 1004,\n\t\"./Script_Extensions/Buginese.js\": 1005,\n\t\"./Script_Extensions/Buhid.js\": 1006,\n\t\"./Script_Extensions/Canadian_Aboriginal.js\": 1007,\n\t\"./Script_Extensions/Carian.js\": 1008,\n\t\"./Script_Extensions/Caucasian_Albanian.js\": 1009,\n\t\"./Script_Extensions/Chakma.js\": 1010,\n\t\"./Script_Extensions/Cham.js\": 1011,\n\t\"./Script_Extensions/Cherokee.js\": 1012,\n\t\"./Script_Extensions/Chorasmian.js\": 1013,\n\t\"./Script_Extensions/Common.js\": 1014,\n\t\"./Script_Extensions/Coptic.js\": 1015,\n\t\"./Script_Extensions/Cuneiform.js\": 1016,\n\t\"./Script_Extensions/Cypriot.js\": 1017,\n\t\"./Script_Extensions/Cyrillic.js\": 1018,\n\t\"./Script_Extensions/Deseret.js\": 1019,\n\t\"./Script_Extensions/Devanagari.js\": 1020,\n\t\"./Script_Extensions/Dives_Akuru.js\": 1021,\n\t\"./Script_Extensions/Dogra.js\": 1022,\n\t\"./Script_Extensions/Duployan.js\": 1023,\n\t\"./Script_Extensions/Egyptian_Hieroglyphs.js\": 1024,\n\t\"./Script_Extensions/Elbasan.js\": 1025,\n\t\"./Script_Extensions/Elymaic.js\": 1026,\n\t\"./Script_Extensions/Ethiopic.js\": 1027,\n\t\"./Script_Extensions/Georgian.js\": 1028,\n\t\"./Script_Extensions/Glagolitic.js\": 1029,\n\t\"./Script_Extensions/Gothic.js\": 1030,\n\t\"./Script_Extensions/Grantha.js\": 1031,\n\t\"./Script_Extensions/Greek.js\": 1032,\n\t\"./Script_Extensions/Gujarati.js\": 1033,\n\t\"./Script_Extensions/Gunjala_Gondi.js\": 1034,\n\t\"./Script_Extensions/Gurmukhi.js\": 1035,\n\t\"./Script_Extensions/Han.js\": 1036,\n\t\"./Script_Extensions/Hangul.js\": 1037,\n\t\"./Script_Extensions/Hanifi_Rohingya.js\": 1038,\n\t\"./Script_Extensions/Hanunoo.js\": 1039,\n\t\"./Script_Extensions/Hatran.js\": 1040,\n\t\"./Script_Extensions/Hebrew.js\": 1041,\n\t\"./Script_Extensions/Hiragana.js\": 1042,\n\t\"./Script_Extensions/Imperial_Aramaic.js\": 1043,\n\t\"./Script_Extensions/Inherited.js\": 1044,\n\t\"./Script_Extensions/Inscriptional_Pahlavi.js\": 1045,\n\t\"./Script_Extensions/Inscriptional_Parthian.js\": 1046,\n\t\"./Script_Extensions/Javanese.js\": 1047,\n\t\"./Script_Extensions/Kaithi.js\": 1048,\n\t\"./Script_Extensions/Kannada.js\": 1049,\n\t\"./Script_Extensions/Katakana.js\": 1050,\n\t\"./Script_Extensions/Kayah_Li.js\": 1051,\n\t\"./Script_Extensions/Kharoshthi.js\": 1052,\n\t\"./Script_Extensions/Khitan_Small_Script.js\": 1053,\n\t\"./Script_Extensions/Khmer.js\": 1054,\n\t\"./Script_Extensions/Khojki.js\": 1055,\n\t\"./Script_Extensions/Khudawadi.js\": 1056,\n\t\"./Script_Extensions/Lao.js\": 1057,\n\t\"./Script_Extensions/Latin.js\": 1058,\n\t\"./Script_Extensions/Lepcha.js\": 1059,\n\t\"./Script_Extensions/Limbu.js\": 1060,\n\t\"./Script_Extensions/Linear_A.js\": 1061,\n\t\"./Script_Extensions/Linear_B.js\": 1062,\n\t\"./Script_Extensions/Lisu.js\": 1063,\n\t\"./Script_Extensions/Lycian.js\": 1064,\n\t\"./Script_Extensions/Lydian.js\": 1065,\n\t\"./Script_Extensions/Mahajani.js\": 1066,\n\t\"./Script_Extensions/Makasar.js\": 1067,\n\t\"./Script_Extensions/Malayalam.js\": 1068,\n\t\"./Script_Extensions/Mandaic.js\": 1069,\n\t\"./Script_Extensions/Manichaean.js\": 1070,\n\t\"./Script_Extensions/Marchen.js\": 1071,\n\t\"./Script_Extensions/Masaram_Gondi.js\": 1072,\n\t\"./Script_Extensions/Medefaidrin.js\": 1073,\n\t\"./Script_Extensions/Meetei_Mayek.js\": 1074,\n\t\"./Script_Extensions/Mende_Kikakui.js\": 1075,\n\t\"./Script_Extensions/Meroitic_Cursive.js\": 1076,\n\t\"./Script_Extensions/Meroitic_Hieroglyphs.js\": 1077,\n\t\"./Script_Extensions/Miao.js\": 1078,\n\t\"./Script_Extensions/Modi.js\": 1079,\n\t\"./Script_Extensions/Mongolian.js\": 1080,\n\t\"./Script_Extensions/Mro.js\": 1081,\n\t\"./Script_Extensions/Multani.js\": 1082,\n\t\"./Script_Extensions/Myanmar.js\": 1083,\n\t\"./Script_Extensions/Nabataean.js\": 1084,\n\t\"./Script_Extensions/Nandinagari.js\": 1085,\n\t\"./Script_Extensions/New_Tai_Lue.js\": 1086,\n\t\"./Script_Extensions/Newa.js\": 1087,\n\t\"./Script_Extensions/Nko.js\": 1088,\n\t\"./Script_Extensions/Nushu.js\": 1089,\n\t\"./Script_Extensions/Nyiakeng_Puachue_Hmong.js\": 1090,\n\t\"./Script_Extensions/Ogham.js\": 1091,\n\t\"./Script_Extensions/Ol_Chiki.js\": 1092,\n\t\"./Script_Extensions/Old_Hungarian.js\": 1093,\n\t\"./Script_Extensions/Old_Italic.js\": 1094,\n\t\"./Script_Extensions/Old_North_Arabian.js\": 1095,\n\t\"./Script_Extensions/Old_Permic.js\": 1096,\n\t\"./Script_Extensions/Old_Persian.js\": 1097,\n\t\"./Script_Extensions/Old_Sogdian.js\": 1098,\n\t\"./Script_Extensions/Old_South_Arabian.js\": 1099,\n\t\"./Script_Extensions/Old_Turkic.js\": 1100,\n\t\"./Script_Extensions/Oriya.js\": 1101,\n\t\"./Script_Extensions/Osage.js\": 1102,\n\t\"./Script_Extensions/Osmanya.js\": 1103,\n\t\"./Script_Extensions/Pahawh_Hmong.js\": 1104,\n\t\"./Script_Extensions/Palmyrene.js\": 1105,\n\t\"./Script_Extensions/Pau_Cin_Hau.js\": 1106,\n\t\"./Script_Extensions/Phags_Pa.js\": 1107,\n\t\"./Script_Extensions/Phoenician.js\": 1108,\n\t\"./Script_Extensions/Psalter_Pahlavi.js\": 1109,\n\t\"./Script_Extensions/Rejang.js\": 1110,\n\t\"./Script_Extensions/Runic.js\": 1111,\n\t\"./Script_Extensions/Samaritan.js\": 1112,\n\t\"./Script_Extensions/Saurashtra.js\": 1113,\n\t\"./Script_Extensions/Sharada.js\": 1114,\n\t\"./Script_Extensions/Shavian.js\": 1115,\n\t\"./Script_Extensions/Siddham.js\": 1116,\n\t\"./Script_Extensions/SignWriting.js\": 1117,\n\t\"./Script_Extensions/Sinhala.js\": 1118,\n\t\"./Script_Extensions/Sogdian.js\": 1119,\n\t\"./Script_Extensions/Sora_Sompeng.js\": 1120,\n\t\"./Script_Extensions/Soyombo.js\": 1121,\n\t\"./Script_Extensions/Sundanese.js\": 1122,\n\t\"./Script_Extensions/Syloti_Nagri.js\": 1123,\n\t\"./Script_Extensions/Syriac.js\": 1124,\n\t\"./Script_Extensions/Tagalog.js\": 1125,\n\t\"./Script_Extensions/Tagbanwa.js\": 1126,\n\t\"./Script_Extensions/Tai_Le.js\": 1127,\n\t\"./Script_Extensions/Tai_Tham.js\": 1128,\n\t\"./Script_Extensions/Tai_Viet.js\": 1129,\n\t\"./Script_Extensions/Takri.js\": 1130,\n\t\"./Script_Extensions/Tamil.js\": 1131,\n\t\"./Script_Extensions/Tangut.js\": 1132,\n\t\"./Script_Extensions/Telugu.js\": 1133,\n\t\"./Script_Extensions/Thaana.js\": 1134,\n\t\"./Script_Extensions/Thai.js\": 1135,\n\t\"./Script_Extensions/Tibetan.js\": 1136,\n\t\"./Script_Extensions/Tifinagh.js\": 1137,\n\t\"./Script_Extensions/Tirhuta.js\": 1138,\n\t\"./Script_Extensions/Ugaritic.js\": 1139,\n\t\"./Script_Extensions/Vai.js\": 1140,\n\t\"./Script_Extensions/Wancho.js\": 1141,\n\t\"./Script_Extensions/Warang_Citi.js\": 1142,\n\t\"./Script_Extensions/Yezidi.js\": 1143,\n\t\"./Script_Extensions/Yi.js\": 1144,\n\t\"./Script_Extensions/Zanabazar_Square.js\": 1145,\n\t\"./index.js\": 1146,\n\t\"./unicode-version.js\": 1147\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 = 742;","import { EventEmitter2 } from 'eventemitter2'\n\nconst tokenKey = 'dashboard_auth_token'\n\nexport const authEvents = new EventEmitter2()\n\nexport const EVENT_TOKEN_CHANGED = 'tokenChanged'\n\nexport function getAuthToken() {\n return localStorage.getItem(tokenKey)\n}\n\nexport function setAuthToken(token) {\n const lastToken = getAuthToken()\n if (lastToken !== token) {\n localStorage.setItem(tokenKey, token)\n authEvents.emit(EVENT_TOKEN_CHANGED, token)\n }\n}\n\nexport function clearAuthToken() {\n const lastToken = getAuthToken()\n if (lastToken) {\n localStorage.removeItem(tokenKey)\n authEvents.emit(EVENT_TOKEN_CHANGED, null)\n }\n}\n\nexport function getAuthTokenAsBearer() {\n const token = getAuthToken()\n if (!token) {\n return null\n }\n return `Bearer ${token}`\n}\n\nexport enum AuthTypes {\n SQLUser = 0,\n SharingCode = 1,\n SSO = 2,\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cardInner\":\"cardInner--lZKtc\",\"noMargin\":\"noMargin--1SuZs\",\"noMarginTop\":\"noMarginTop--EvTM4\",\"noMarginBottom\":\"noMarginBottom--1WYWt\",\"noMarginLeft\":\"noMarginLeft--27Jt_\",\"noMarginRight\":\"noMarginRight--3aCPq\",\"cardTitleSection\":\"cardTitleSection--3BVJ8\",\"cardTitle\":\"cardTitle--25HWr\",\"cardSubTitle\":\"cardSubTitle--VhYGD\",\"cardTitleSpacer\":\"cardTitleSpacer--26rJi\",\"hasTitle\":\"hasTitle--1s-PK\",\"cardContent\":\"cardContent--29Rlp\",\"cardContainer\":\"cardContainer--2b5tq\",\"flexGrow\":\"flexGrow--J7sve\"};"],"sourceRoot":""}