@next-libs/cmdb-instances 7.30.25 → 7.30.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceList.js","names":["React","useEffect","useReducer","useState","useRef","useMemo","useCallback","difference","isEmpty","isEqual","isString","map","uniq","union","filter","reject","uniqueId","find","startsWith","compact","omit","keyBy","isNil","get","isArray","BrickAsComponent","getRuntime","handleHttpError","useProvider","i18n","K","NS_LIBS_CMDB_INSTANCES","InstanceApi_postSearchV3","CmdbObjectApi_getIdMapName","CmdbObjectApi_getObjectRef","CmdbObjectApi_list","Icon","LegacyIcon","Button","Spin","Input","Tag","Select","message","getRelationObjectSides","forEachAvailableFields","getInstanceNameKeys","isSelfRelation","ElementOperators","LogicalOperators","JsonStorage","ConditionType","AdvancedSearch","getFieldConditionsAndValues","MoreButtonsContainer","InstanceListTable","InstanceListDrawer","styles","extraFieldAttrs","CMDB_MODAL_FIELDS_SETTINGS","CMDB_RESOURCE_FIELDS_SETTINGS","objectListCache","ModelAttributeValueType","IconButton","changeQueryWithCustomRules","FilterInstanceSource","joinRelationFieldAndShowkey","fields","modelData","objectList","attrIdMap","attrList","field","relation","relation_list","left_id","right_id","_otherSideObject$view","_otherSideObject$view2","_otherSideObject$view3","isLeft","left_object_id","objectId","otherSideObjectId","right_object_id","otherSideObject","object","showKey","view","show_key","concat","getQuery","idObjectMap","q","onlySearchByIp","extraFixedFields","query","$or","queryValues","trim","split","_getRuntime$getCurren","searchIpFields","getCurrentApp","config","queryOrs","Set","searchValue","$like","forEach","key","push","attr","queryValue","id","sides","this","nameKeys","that","nameKey","_relation$display_key","relationObject","relation_object","showKeys","display_keys","length","relation_id","isSpecialFn","attrId","Object","keys","some","v","specialQueryHandler","queries","isSpecial","isValueEqualFn","valuesStr","values","join","mergeFields","oldFields","newFieldIds","existField","f","order","updateSortFields","sortInfo","sortType","asc","sort","includes","item","translateConditions","aq","t","_modelData$view","_modelData$view$trans","conditions","relations","transHierRelations","trans_hier_relation_list","_relation$display_key2","name","relation_name","value","type","relationSideId","sidesArr","_find$name","_find","nameOfNameKey","attrAndRelationList","_attr","Exists","info","undefined","mode","Between","Empty","NotEmpty","False","True","currentCondition","replace","condition","label","curCondition","queryValuesStr","every","newKey","fieldIds","isOfStruct","fieldId","_modelData$attrList$f","structFields","structs","struct_define","struct","flat","isOfBoolean","_keyAttrMap$fieldId","keyAttrMap","BOOLEAN","initAqToShow","isToShow","arguments","newAqToShow","aqToShow","entries","_ref","expressions","newExpressions","Or","And","firstSubQuery","isStruct","isBool","structQueries","expression","structExpressions","boolExpressions","targetValue","isStringArray","arr","getExtraFixedFields","LegacyInstanceList","props","_props$selectedRowKey","_state$appList","_props$extraOperateBr","_props$extraFilterBri","showTooltip","baseList","instanceId","ALL_CLUSTER","jsonLocalStorage","localStorage","reducer","prevState","updatedProperty","_objectSpread","listProvider","cache","instanceArchiveListProvider","ignorePermissionProvider","searchRelationInstanceProvider","fieldsProvider","updateFieldsProvider","onError","error","externalPostSearchV3","externalGetIdMapName","externalFieldsProvider","externalUpdateFieldsProvider","disabledDefaultFields","processFixedFields","inheritanceModelIdNameMap","setInheritanceModelIdNameMap","fixedHeader","setFixHeader","fetchInheritanceModelIdNameMap","_ref2","_asyncToGenerator","idNameMap","isAbstract","_props$presetConfigs","useExternalCmdbApi","parentObjectId","sourceId","externalSourceId","showFilterInstanceSource","setItem","presetConfigs","_x","apply","computeDefaultFields","inModal","settings","ignoredFields","hide_columns","sortFields","attr_order","allFields","slice","_sortFieldIds","_props$presetConfigs2","frontFields","restFields","getFieldsAsync","_ref3","_props$presetConfigs3","_modelData$attrList","_modelData$attrList$f2","_modelData$attrList$f3","default_type","backendDefaultFields","object_id","returnData","defaultSortFields","extraFixedFieldIds","orderField","extraDisabledField","hideModelData","getFields","_props$presetConfigs4","getItem","setQ","state","setState","_ref4","_props$dataSource$pag","_props$dataSource","_ref5","_props$dataSource$pag2","_props$dataSource2","_props$presetConfigs5","instanceSourceQuery","page","dataSource","pageSize","aliveHosts","relatedToMe","objectIdQuery","filterInstanceSource","instanceSourcePopoverVisible","inited","loading","failed","isAdvancedSearchVisible","saveFieldsBackend","presetConfigsQuery","autoBreakLine","appSearchInstanceId","currentChangeSelect","appSelectValue","clusterValue","appList","clusterList","searchByApp","selectedRowKeys","setSelectedRowKeys","Map","isFirstRunRef","externalRequestParams","getInstanceListData","_ref6","_modelData$attrList2","_modelData$attrList2$","_modelData$attrList2$2","_props$onSearchExecut","_props$transHierRelat","data","v3Data","permission","archiveData","_relationObjectShowKe","relationObjectShowKeys","useAutoDiscoveryProvider","ignorePermission","_modelData$relation_l","_props$objectList","_props$objectList$fin","_props$objectList$fin2","i","relationObjectId","useInstanceArchiveProvider","key_word","defaultQuery","$and","fromEntries","ignore_missing_field_error","_agentStatus","_object_id","extraParams","assign","only_my_instance","_props$presetConfigs6","_props$presetConfigs7","_props$presetConfigs8","_props$presetConfigs9","_props$presetConfigs10","hostRange","limitInstanceRange","$in","relation_limit","relationLimit","promise","onSearchExecute","call","searchTransHierRelationInstance","transHierRelation","searchTransHierRelationSource","query_relation","_x2","_x3","_x4","refreshInstanceList","_ref7","instanceListData","hideInstanceList","list","current","set","e","_x5","_x6","_x7","getFieldIds","_ref8","_props$presetConfigs11","_props$presetConfigs12","fieldConfig","_props$presetConfigs13","_props$presetConfigs14","_props$selectedRowKey2","skip","_props$onPaginationCh","onPaginationChange","updateDataTime","onChange","target","onSelectionChange","_ref9","selected","_props$onSelectionCha","selectedItems","selectedKeys","ids","has","resp","params","page_size","_x8","onSearch","_props$onSearch","onAdvancedSearch","queriesToShow","fieldToShow","_props$onAdvancedSear","onSortingChange","_ref10","_props$onSortingChang","_modelData$attrList3","_modelData$attrList3$","_modelData$attrList3$2","oldsortFields","newSortFields","_x9","_x10","pagination","_props$onPaginationCh2","onInstanceSourceChange","_props$onInstanceSour","onRelatedToMeChange","checked","_props$onRelatedToMeC","onAliveHostsChange","_props$onAliveHostsCh","toggleAutoBreakLine","toggleSearchMode","_appListResp$list","_appListResp$list2","_appListResp$list3","appListResp","clusters","appSelectChange","r","clusterSelectChange","defaultFields","_props$presetConfigs15","_state$backendDefault","_state$backendDefault2","s","handleConfirm","_ref13","_ref12","isReset","isAdminSetDisplay","onConfirm","_ref14","_props$onFieldsModalC","onFieldsModalConfirm","_props$onFieldsModalC2","_props$onFieldsModalC3","removeItem","isDefault","success","SET_DEFAULT_DISPLAY_SUCCESS","_x11","_props$notifyCurrentF","notifyCurrentFields","_props$selectedRowKey3","handleToggleFixHeader","onAdvancedSearchCloseGen","_props$onAdvancedSear2","filterAq","filteredSubQueries","Array","_Object$keys","isInstanceFilterForm","onFilterInstanceSourceChange","_props$onFilterInstan","onFilterObjectIdChange","_props$onFilterObject","onPopoverVisibleChange","visible","fixedFieldIds","fixed","createElement","spinning","Fragment","searchDisabled","advancedSearchDisabled","relatedToMeDisabled","aliveHostsDisabled","moreButtonsDisabled","className","instanceListToolbar","searchRelated","Search","placeholder","enterButton","size","style","marginLeft","marginRight","onClick","ADVANCED_SEARCH","width","showSearch","optionFilterProp","Option","options","CHOSEN_OPTIONS","count","role","CLEAR","extraOperateBricks","useBrick","onIconClicKChange","enableSearchByApp","FREE_SELECTION","APP_SELECTION","disabled","fixAliveHosts","NORMAL_HOST","RELATED_TO_ME","showHiddenInfoDisabled","DISPLAY_OMITTED_INFORMATION","showFixedHeader","marginBottom","hidden","_extends","autoSearch","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS","closable","onClose","FUZZY_SEARCH","INSTANCE_SOURCE_TAG_TEXT","extraFilterBricks","detailUrlTemplates","selectDisabled","sortDisabled","propertyDisplayConfigs","onClickItem","onClickItemV2","filterInstanceSourceDisabled","relationLinkDisabled","pageSizeOptions","showSizeChanger","extraColumns","ipCopy","separatorUsedInRelationData","rowSelectionType","onColumnsChange","hiddenColumns","showCustomizedSerialNumber","onRelationMoreIconClick","configProps","tableConfigProps","virtualLoading","LegacyInstanceListWrapper","setObjectList","mergeObjectList","setMergeObjectList","externalGetObjectRef","_props$objectList2","cacheData","ref_object","_object$view","_object$view$trans_hi","transHierRelationSideObjectIds","o","_list","objectIds","InstanceList"],"sources":["../../../src/instance-list/InstanceList.tsx"],"sourcesContent":["import React, {\n useEffect,\n useReducer,\n useState,\n useRef,\n useMemo,\n useCallback,\n} from \"react\";\nimport {\n difference,\n isEmpty,\n isEqual,\n isString,\n map,\n uniq,\n union,\n filter,\n reject,\n sortBy,\n uniqueId,\n findIndex,\n find,\n startsWith,\n compact,\n omit,\n keyBy,\n cloneDeep,\n isNil,\n get,\n isArray,\n} from \"lodash\";\nimport {\n BrickAsComponent,\n getRuntime,\n handleHttpError,\n useProvider,\n} from \"@next-core/brick-kit\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n PropertyDisplayConfig,\n ReadPaginationChangeDetail,\n ReadSelectionChangeDetail,\n ReadSortingChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport {\n CmdbModels,\n InstanceApi_PostSearchRequestBody,\n InstanceApi_PostSearchV3RequestBody,\n InstanceApi_PostSearchV3ResponseBody,\n InstanceApi_postSearchV3,\n CmdbObjectApi_getIdMapName,\n CmdbObjectApi_getObjectRef,\n CmdbObjectApi_list,\n} from \"@next-sdk/cmdb-sdk\";\nimport { Icon as LegacyIcon } from \"@ant-design/compatible\";\nimport { Button, Spin, Input, Tag, Select, Popover, message } from \"antd\";\nimport {\n getRelationObjectSides,\n forEachAvailableFields,\n getInstanceNameKeys,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n RelationObjectSides,\n isSelfRelation,\n Query,\n ElementOperators,\n LogicalOperators,\n ComparisonOperators,\n TransHierRelationType,\n} from \"@next-libs/cmdb-utils\";\nimport { JsonStorage } from \"@next-libs/storage\";\nimport { ModelObjectAttr } from \"@next-sdk/cmdb-sdk/dist/types/model/cmdb\";\n\nimport {\n ConditionType,\n AdvancedSearch,\n getFieldConditionsAndValues,\n MoreButtonsContainer,\n InstanceListTable,\n CustomColumn,\n Field,\n UseBrickAndPropertyDisplayConfig,\n} from \"../instance-list-table\";\nimport { InstanceListDrawer } from \"../instance-list-drawer/InstanceListDrawer\";\nimport styles from \"./InstanceList.module.css\";\nimport {\n extraFieldAttrs,\n CMDB_MODAL_FIELDS_SETTINGS,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n objectListCache,\n} from \"./constants\";\nimport { ModelAttributeValueType } from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport { IconButton } from \"./IconButton\";\nimport { changeQueryWithCustomRules } from \"../processors\";\nimport { DisplaySettingsModalData } from \"../instance-list-table/DisplaySettingsModal\";\nimport FilterInstanceSource from \"./FilterInstanceSource\";\nimport { ColumnType } from \"antd/lib/table\";\n\nexport interface instanceArchiveRequestBody {\n // 搜索内容\n key_word?: string;\n /** 页码 */\n page?: number;\n /** 页大小 */\n page_size?: number;\n fields?: string;\n}\ninterface ISortField {\n field: string;\n order: number;\n}\ntype ObjectType = Partial<CmdbModels.ModelCmdbObject> & {\n view?: Partial<CmdbModels.ModelObjectView> & {\n trans_hier_relation_list?: TransHierRelationType[];\n };\n};\nexport interface InstanceListPresetConfigs {\n query?: Record<string, any>;\n fieldIds?: string[];\n}\nexport function joinRelationFieldAndShowkey(\n fields: string[],\n modelData: Record<string, any>,\n objectList: Record<string, any>[]\n) {\n const attrIdMap = keyBy(modelData.attrList, \"id\");\n return fields.map((field) => {\n if (attrIdMap[field]) {\n return field;\n } else {\n const relation = modelData.relation_list.find(\n (relation: any) =>\n relation.left_id === field || relation.right_id === field\n );\n if (relation) {\n const isLeft = relation.left_object_id === modelData.objectId;\n const otherSideObjectId = isLeft\n ? relation.right_object_id\n : relation.left_object_id;\n const otherSideObject = objectList.find(\n (object) => object.objectId === otherSideObjectId\n );\n const showKey = otherSideObject?.view?.show_key?.[0] ?? \"\";\n return `${field}.${showKey}`;\n } else {\n return field;\n }\n }\n });\n}\n\nexport function getQuery(\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>,\n q: string,\n fields?: string[],\n onlySearchByIp?: boolean,\n extraFixedFields?: string[]\n) {\n const query: Record<string, any> = { $or: [] };\n const queryValues = q.trim().split(/\\s+/);\n if (onlySearchByIp) {\n const searchIpFields =\n (getRuntime().getCurrentApp().config?.searchIpFields as string[]) || [];\n const queryOrs = [\n ...new Set([\n \"ip\",\n ...uniq([...searchIpFields, ...(extraFixedFields || [])]),\n ]),\n ];\n const searchValue = { $like: `%${q.trim()}%` };\n queryOrs.forEach((key) => {\n query.$or.push({ [key]: searchValue });\n });\n return query;\n }\n forEachAvailableFields(\n modelData,\n (attr) => {\n queryValues.forEach((queryValue) =>\n query.$or.push({ [attr.id]: { $like: `%${queryValue}%` } })\n );\n },\n (relation, sides) => {\n const id = relation[`${sides.this}_id` as RelationIdKeys];\n const nameKeys = getInstanceNameKeys(\n idObjectMap[relation[`${sides.that}_object_id` as RelationObjectIdKeys]]\n );\n\n queryValues.forEach((queryValue) => {\n nameKeys.forEach((nameKey) => {\n query.$or.push({\n [`${id}.${nameKey}`]: { $like: `%${queryValue}%` },\n });\n });\n });\n },\n fields,\n //istanbul ignore next\n (relation: TransHierRelationType) => {\n const relationObject = idObjectMap[relation.relation_object];\n const showKeys = relation.display_keys?.length\n ? relation.display_keys\n : getInstanceNameKeys(relationObject);\n\n queryValues.forEach((queryValue) => {\n showKeys.forEach((nameKey) => {\n query.$or.push({\n [`${relation.relation_id}.${nameKey}`]: {\n $like: `%${queryValue}%`,\n },\n });\n });\n });\n }\n );\n\n return query;\n}\n\nexport const isSpecialFn = (query: any, attrId: string) => {\n return Object.keys(query[attrId] as Query[]).some(\n (v) => v === \"$exists\" || v === \"$gte\" || v === \"$lte\"\n );\n};\n\nexport const specialQueryHandler = (query: any, key: any, queries: Query[]) => {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n const isSpecial = isSpecialFn(query, key);\n if (isSpecial) {\n return;\n }\n queries.push(query);\n};\n\nexport const isValueEqualFn = (\n query: any,\n attrId: string,\n valuesStr?: string\n) => {\n const isSpecial = isSpecialFn(query, attrId);\n if (isSpecial) return false;\n return query[attrId]\n ? valuesStr && Object.values(query[attrId]).join(\" \") !== valuesStr // 当条件是为空和不为空时,需要判断valuesStr是否存在\n : false;\n};\nexport function mergeFields(\n oldFields: ISortField[],\n newFieldIds: string[]\n): ISortField[] {\n return newFieldIds.map((field) => {\n const existField = oldFields.find((f) => f.field === field);\n const order = existField ? existField.order : 0;\n return { field, order };\n });\n}\nexport function updateSortFields(\n oldFields: ISortField[],\n sortInfo: { asc?: boolean; sort?: string },\n sortType?: string\n): ISortField[] {\n const { asc, sort } = sortInfo;\n const order = isNil(asc)\n ? 0\n : [\"series-number\", \"auto-increment-id\"].includes(sortType)\n ? asc\n ? 2\n : -2\n : asc\n ? 1\n : -1;\n return oldFields.map((item) => {\n if (item.field === sort) {\n item.order = order;\n } else {\n item.order = 0;\n }\n return item;\n });\n}\n\nexport function translateConditions(\n aq: Query[],\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>,\n modelData: ObjectType,\n t?: () => string\n): { attrId: string; condition: string; valuesStr: string }[] {\n const conditions: {\n attrId: string;\n condition: string;\n valuesStr: string;\n }[] = [];\n const relations: any[] = [];\n const transHierRelations: {\n id: string;\n name: string;\n value: { type: string };\n relationSideId: string;\n }[] = [];\n modelData.view?.trans_hier_relation_list?.forEach((relation) => {\n const nameKeys = relation.display_keys?.length\n ? relation.display_keys\n : getInstanceNameKeys(idObjectMap[relation.relation_object]);\n nameKeys.forEach((nameKey) => {\n transHierRelations.push({\n id: `${relation.relation_id}.${nameKey}`,\n name: relation.relation_name,\n value: { type: \"str\" },\n relationSideId: relation.relation_id,\n });\n });\n });\n modelData.relation_list.forEach((relation) => {\n let sidesArr: RelationObjectSides[] = [];\n if (isSelfRelation(relation)) {\n sidesArr = [\n { this: \"left\", that: \"right\" },\n { this: \"right\", that: \"left\" },\n ];\n } else {\n sidesArr = [getRelationObjectSides(relation, modelData)];\n }\n sidesArr.forEach((sides) => {\n const objectId = relation[`${sides.this}_id` as RelationIdKeys];\n const relationObject =\n idObjectMap[\n relation[`${sides.that}_object_id` as RelationObjectIdKeys]\n ];\n const nameKeys = getInstanceNameKeys(relationObject);\n nameKeys.forEach((nameKey) => {\n const nameOfNameKey =\n find(relationObject?.attrList, [\"id\", nameKey])?.name ?? nameKey;\n const id = `${objectId}.${nameKey}`;\n const name = `${\n relation[`${sides.this}_name` as RelationNameKeys]\n }(${nameOfNameKey})`;\n relations.push({\n id,\n name,\n value: { type: \"str\" },\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n });\n });\n relations.push({\n id: `${objectId}.`,\n name: `${relation[`${sides.this}_name` as RelationNameKeys]}`,\n value: { type: \"str\" },\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n });\n });\n });\n const attrAndRelationList = [\n ...modelData.attrList,\n ...relations,\n ...transHierRelations,\n ];\n if (!isEmpty(aq)) {\n for (const query of aq) {\n let queries: Query[] = [query];\n if (Object.keys(query)[0] === \"$or\" || Object.keys(query)[0] === \"$and\") {\n queries = query[Object.keys(query)[0]] as Query[];\n }\n\n queries.forEach((query) => {\n const key = Object.keys(query)[0];\n const value = Object.values(query)[0];\n let attr = attrAndRelationList.find(\n (attr) => attr.id === key || attr.relationSideId === key\n );\n if (\n Object.keys(value)[0] === ElementOperators.Exists &&\n attr?.relationSideId\n ) {\n const relationSideId = attr.relationSideId;\n attr =\n attrAndRelationList.find(\n (attr) => attr.id === `${relationSideId}.`\n ) || attr;\n }\n if (attr) {\n query = changeQueryWithCustomRules(\n modelData.objectId,\n attr.id,\n query\n );\n const info = getFieldConditionsAndValues(\n query as any,\n key,\n attr.value.type as ModelAttributeValueType,\n undefined,\n undefined,\n modelData.objectId,\n attr.id,\n attr.value.mode\n );\n if (\n ![\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ConditionType.False,\n ConditionType.True,\n ].includes(info.currentCondition.type)\n ) {\n info.values = info.values.map((v) =>\n isString(v) && v.includes(\" \") ? v.replace(/^\"+|\"+$/g, \"\") : v\n );\n }\n\n let condition = `${attr.name}: ${info.currentCondition.label}`;\n if (\n ![ConditionType.Empty, ConditionType.NotEmpty].includes(\n info.currentCondition.type\n )\n ) {\n condition += `\"${info.values.join(\" ~ \")}\"`;\n }\n const curCondition = {\n attrId: key,\n condition,\n valuesStr: info.queryValuesStr,\n };\n if (\n conditions.every(\n (v) => !isEqual(omit(v, \"attrId\"), omit(curCondition, \"attrId\"))\n )\n ) {\n conditions.push(curCondition);\n }\n }\n });\n }\n }\n\n return conditions;\n}\n\nfunction newKey(fieldIds: string[], aq: Query[]): string {\n let key = \"\";\n if (!isEmpty(fieldIds)) {\n key += fieldIds.join(\"-\");\n }\n if (!isEmpty(aq)) {\n key += `-${aq.length}`;\n }\n return key;\n}\nconst isOfStruct = (\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n fieldId: string\n) => {\n const structFields = modelData.attrList\n .filter(\n (attr: Partial<ModelObjectAttr>) =>\n attr.value.type === \"struct\" || attr.value.type === \"structs\"\n )\n ?.map((attr) => {\n const structs: string[] = [];\n attr.value.struct_define.forEach((struct) => {\n structs.push(`${attr.id}.${struct.id}`);\n });\n return structs;\n })\n .flat();\n return structFields.includes(fieldId);\n};\n\nconst isOfBoolean = (\n attrList: Partial<CmdbModels.ModelObjectAttr>[],\n fieldId: string\n): boolean => {\n const keyAttrMap = keyBy(attrList, \"id\");\n return keyAttrMap[fieldId]?.value.type === ModelAttributeValueType.BOOLEAN;\n};\n\nexport const initAqToShow = (\n aq: Query[],\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n isToShow = true\n) => {\n let newAqToShow: any[] = [];\n if (aq) {\n aq.forEach((query) => {\n const aqToShow = Object.entries(query).map(([key, expressions]) => {\n let newExpressions: any[] = [];\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n const firstSubQuery = (expressions as Query[])[0];\n const fieldId = Object.keys(firstSubQuery)[0];\n const isStruct = isOfStruct(modelData, fieldId);\n const isBool = isOfBoolean(modelData.attrList, fieldId);\n const structQueries: Record<string, any> = (\n expressions as Query[]\n ).filter((expression) => Object.keys(expression)[0] === fieldId);\n if (isStruct && isToShow) {\n const structExpressions = structQueries.map((item: any) => ({\n [fieldId.split(\".\")[0]]: item[fieldId],\n }));\n newExpressions = [...newExpressions, ...structExpressions];\n } else if (isBool && !isToShow) {\n const boolExpressions = (expressions as Query[]).map(\n (expression) => {\n const targetValue = expression[fieldId] as Record<\n ComparisonOperators,\n any\n >;\n if (typeof Object.values(targetValue)[0] === \"string\") {\n return {\n [fieldId]: {\n [Object.keys(targetValue)[0]]:\n Object.values(targetValue)[0] === \"true\",\n },\n };\n } else {\n return expression;\n }\n }\n );\n newExpressions = [...newExpressions, ...boolExpressions];\n } else {\n newExpressions = [...newExpressions, ...(expressions as Query[])];\n }\n return { [key]: newExpressions };\n } else {\n return query;\n }\n });\n newAqToShow = [...newAqToShow, ...aqToShow];\n });\n return newAqToShow;\n }\n return;\n};\n\nexport interface filterObjectIdQuery {\n objectId?: string;\n objectName?: string;\n query?: Record<string, string>;\n checked?: boolean;\n}\n\ninterface FixedField {\n field: string;\n fixed?: boolean;\n}\n\nexport type ExtraFixedFields = string[] | FixedField[];\n\n// 判断是不是字符串数组\nfunction isStringArray(arr: ExtraFixedFields): boolean {\n return isArray(arr) && (arr as any[]).every((item) => isString(item));\n}\n// 格式化extraFixedFields\nfunction getExtraFixedFields(fields: ExtraFixedFields): string[] {\n if (isNil(fields) || isStringArray(fields)) {\n return fields as string[];\n } else {\n return (fields as FixedField[]).map((v: FixedField) => v.field);\n }\n}\n\nexport interface InstanceListProps {\n objectId: string;\n objectList?: ObjectType[];\n detailUrlTemplates?: Record<string, string>;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n q?: string;\n searchDisabled?: boolean;\n sortDisabled?: boolean;\n aq?: Query[];\n aqToShow?: Query[];\n advancedSearchDisabled?: boolean;\n page?: number;\n pageSize?: number;\n sort?: string;\n asc?: boolean;\n relatedToMe?: boolean;\n relatedToMeDisabled?: boolean;\n showHiddenInfoDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n aliveHosts?: boolean;\n fixAliveHosts?: boolean;\n aliveHostsDisabled?: boolean;\n propertyDisplayConfigs?: UseBrickAndPropertyDisplayConfig[];\n selectedRowKeys?: string[];\n selectDisabled?: boolean;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n filterInstanceSourceDisabled?: boolean;\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n onSearchExecute?(\n data: InstanceApi_PostSearchRequestBody,\n v3Data: InstanceApi_PostSearchV3RequestBody\n ): Promise<InstanceApi_PostSearchV3ResponseBody> | void;\n onSearch?(value: string): void;\n onAdvancedSearch?(queries: Query[]): void;\n onClickItem?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n id: string\n ): void;\n onClickItemV2?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record: Record<string, any>\n ): void;\n onPaginationChange?(pagination: ReadPaginationChangeDetail): void;\n onSortingChange?(sorting: ReadSortingChangeDetail): void;\n onSelectionChange?(selection: ReadSelectionChangeDetail): void;\n onRelatedToMeChange?(value: boolean): void;\n onAliveHostsChange?(value: boolean): void;\n onInstanceSourceChange?(instanceResource: string): void;\n onFieldsModalConfirm?(fields: Record<string, any>): void;\n relationLinkDisabled?: boolean;\n notifyCurrentFields?: (fiels: string[]) => void;\n defaultQuery?: { [fieldId: string]: any }[];\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n extraColumns?: CustomColumn[];\n extraDisabledField?: string;\n hideSearchConditions?: boolean;\n onlySearchByIp?: boolean;\n target?: string;\n ipCopy?: boolean;\n enableSearchByApp?: boolean;\n dataSource?: {\n list: Record<string, any>[];\n total?: number;\n page?: number;\n pageSize?: number;\n };\n separatorUsedInRelationData?: string;\n hideInstanceList?: boolean;\n autoSearch?: (fields: Field[]) => void;\n disabledDefaultFields?: boolean;\n showTooltip?: boolean;\n showFixedHeader?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n useAutoDiscoveryProvider?: boolean;\n extraParams?: Record<string, any>;\n // 指定固定显示的field,与presetConfigs的fieldIds同时生效,支持在最后固定列展示\n extraFixedFields?: ExtraFixedFields;\n // 如果在presetConfigs的query参数中指定了资源的范围,\"按应用筛选\"的功能是否也要限定资源的范围\n limitInstanceRange?: boolean;\n useInstanceArchiveProvider?: boolean;\n placeholder?: string;\n extraOperateBricks?: {\n useBrick: UseBrickConf;\n };\n updateDataTime?: number;\n // 是否开启实例来源筛选\n showFilterInstanceSource?: boolean;\n filterInstanceSource?: boolean;\n onFilterInstanceSourceChange?(value: boolean): void;\n onFilterObjectIdChange?(query: filterObjectIdQuery): void;\n objectIdQuery?: string;\n ignorePermission?: boolean;\n saveFieldsBackend?: boolean;\n onColumnsChange?: (columns: ColumnType<{ dataIndex: string }>[]) => void;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n hiddenColumns?: Array<string>;\n showCustomizedSerialNumber?: boolean;\n relationLimit?: number;\n onRelationMoreIconClick?: (record: Record<string, any>) => void;\n tableConfigProps?: Record<string, any>;\n //跨级关系,查询某个实例下的某条跨级关系数据\n searchTransHierRelationInstance?: boolean;\n transHierRelation?: TransHierRelationType;\n searchTransHierRelationSource?: { objectId: string; instanceId: string };\n}\n\ninterface InstanceListState {\n objectId: string;\n q: string;\n aq: Query[];\n aqToShow?: Query[];\n instanceSourceQuery: string;\n asc: boolean;\n sort: string;\n page: number;\n pageSize: number;\n aliveHosts: boolean;\n relatedToMe: boolean;\n inited: boolean;\n loading: boolean;\n failed: boolean;\n idObjectMap?: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n instanceListData?: InstanceApi_PostSearchV3ResponseBody;\n isAdvancedSearchVisible: boolean;\n fieldIds: string[];\n autoBreakLine: boolean;\n fieldToShow?: Record<string, any[]>[];\n appSearchInstanceId?: string;\n currentChangeSelect?: string;\n appSelectValue?: string;\n clusterValue?: string;\n appList?: Record<string, any>[];\n clusterList?: Record<string, any>[];\n searchByApp?: boolean;\n showTooltip?: boolean;\n presetConfigsQuery?: Record<string, any>;\n filterInstanceSource?: boolean;\n objectIdQuery?: string;\n instanceSourcePopoverVisible?: boolean;\n sortFields?: { field: string; order: number }[];\n backendDefaultFields?: { field: string; order: number }[];\n}\n\nexport function LegacyInstanceList(\n props: InstanceListProps\n): React.ReactElement {\n const { showTooltip = true } = props;\n const baseList = [\n {\n instanceId: \"all\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ALL_CLUSTER}`),\n },\n ];\n const jsonLocalStorage = new JsonStorage(localStorage);\n const reducer = (\n prevState: InstanceListState,\n updatedProperty: Partial<InstanceListState>\n ): InstanceListState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n };\n // 资源自动发现页面24小时发现主机抽屉的实例列表处,通用的postSearchV3接口无法查到正确结果,需要用下面的接口替换,参数里也要加上jobId:***\n // 为了不影响其他地方的实例列表,在该处加一个useAutoDiscoveryProvider参数,该参数为undefined或false的,仍调用原接口\n\n const listProvider = useProvider(\n \"easyops.api.cmdb.job@SearchResource:1.0.1\",\n { cache: false }\n );\n const instanceArchiveListProvider = useProvider(\n \"providers-of-cmdb.instance-archive-api-list-archive-instance\",\n {\n cache: false,\n }\n );\n const ignorePermissionProvider = useProvider(\n \"easyops.api.cmdb.instance@PostSearchV3WithAdmin:1.0.0\",\n { cache: false }\n );\n\n const searchRelationInstanceProvider = useProvider(\n \"easyops.api.cmdb.instance@SearchRelationInstance:1.1.0\",\n { cache: false }\n );\n // istanbul ignore next\n\n const fieldsProvider = useProvider(\n \"easyops.api.cmdb.instance@GetListDisplayView:1.0.1\",\n { cache: false }\n );\n\n // istanbul ignore next\n const updateFieldsProvider = useProvider(\n \"easyops.api.cmdb.instance@UpdateListDisplayView:1.0.0\",\n {\n cache: false,\n onError: (error) => {\n // istanbul ignore next\n throw error;\n },\n }\n );\n\n // 用于外部调用的接口, 当useExternalCmdbApi为true,才调用这些接口\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n const externalGetIdMapName = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetIdMapName:1.0.1\",\n { cache: false }\n );\n const externalFieldsProvider = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetListDisplayView:1.0.0\",\n { cache: false }\n );\n const externalUpdateFieldsProvider = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyUpdateListDisplayView:1.0.0\",\n { cache: false }\n );\n\n const { modelData, idObjectMap } = useMemo(() => {\n let modelData: ObjectType;\n const idObjectMap: Record<string, ObjectType> = {};\n props.objectList.forEach((object) => {\n idObjectMap[object.objectId] = object;\n if (object.objectId === props.objectId) {\n modelData = object;\n modelData.attrList = !props.disabledDefaultFields\n ? union(object.attrList, extraFieldAttrs)\n : object.attrList;\n }\n });\n\n return { modelData, idObjectMap };\n }, [props.objectList, props.objectId]);\n\n const processFixedFields = useMemo(() => {\n return getExtraFixedFields(props?.extraFixedFields);\n }, [props.extraFixedFields]);\n\n const [inheritanceModelIdNameMap, setInheritanceModelIdNameMap] = useState<\n Record<string, string>\n >({});\n const [fixedHeader, setFixHeader] = useState(false);\n\n const fetchInheritanceModelIdNameMap = async (\n modelData: Partial<CmdbModels.ModelCmdbObject>\n ): Promise<void> => {\n let idNameMap = {};\n if (modelData.isAbstract) {\n if (props.useExternalCmdbApi) {\n idNameMap = await externalGetIdMapName.query([\n {\n parentObjectId: modelData.objectId,\n sourceId: props.externalSourceId,\n },\n ]);\n } else {\n idNameMap = await CmdbObjectApi_getIdMapName({\n parentObjectId: modelData.objectId,\n } as any);\n }\n props.showFilterInstanceSource &&\n jsonLocalStorage.setItem(`instances-sources-objectId-name-map`, {\n parentObjectId: modelData.objectId,\n query: props.presetConfigs?.query,\n idNameMap,\n });\n }\n setInheritanceModelIdNameMap(idNameMap);\n };\n\n useEffect(() => {\n fetchInheritanceModelIdNameMap(modelData);\n }, [modelData]);\n\n const computeDefaultFields = (\n { inModal } = { inModal: false }\n ): { fieldIds: string[] } => {\n // 针对 显示字段,默认优先拿排序的字段,再去拿属性字段\n const settings: any = inModal\n ? CMDB_MODAL_FIELDS_SETTINGS\n : CMDB_RESOURCE_FIELDS_SETTINGS;\n const ignoredFields: string[] = (\n settings.ignoredFields[modelData.objectId] || []\n ).concat(modelData.view.hide_columns || []);\n const sortFields = modelData.view.attr_order || [];\n const allFields = [\n ...new Set([...sortFields, ...map(modelData.attrList, \"id\")]),\n ];\n const fieldIds: string[] = difference(allFields, ignoredFields).slice(0, 8);\n return { fieldIds };\n };\n\n // 根据用户预定义的 presetConfigs.fieldIds 进行排序,如果不在预定义的字段,则根据 fieldIds 进行排序\n const _sortFieldIds = (fieldIds: any[]) => {\n let frontFields: any[] = [];\n let restFields: any[] = [];\n if (props.presetConfigs?.fieldIds) {\n frontFields = filter(props.presetConfigs.fieldIds, (id) =>\n fieldIds.includes(id)\n );\n }\n restFields = reject(fieldIds, (id) => frontFields.includes(id));\n\n return [...frontFields, ...restFields];\n };\n // istanbul ignore next\n\n const getFieldsAsync = async () => {\n let sort = props.sort;\n let fieldIds = props.presetConfigs?.fieldIds;\n const sortType = modelData?.attrList?.find((attr) => attr.id === sort)\n ?.value?.default_type;\n let asc, sortFields;\n let backendDefaultFields;\n if (props.asc === true) {\n asc = [\"series-number\", \"auto-increment-id\"].includes(sortType) ? 2 : 1;\n } else {\n asc = [\"series-number\", \"auto-increment-id\"].includes(sortType) ? -2 : -1;\n }\n if (props.useExternalCmdbApi) {\n sortFields = (\n (await externalFieldsProvider.query([\n { object_id: props.objectId, sourceId: props.externalSourceId },\n ])) as {\n sortFields: ISortField[];\n object_id: string;\n }\n ).sortFields;\n } else {\n // 获取用户配置的显示列\n const returnData = (await fieldsProvider.query([props.objectId])) as {\n sortFields: ISortField[];\n object_id: string;\n defaultSortFields: ISortField[];\n };\n sortFields = returnData.sortFields;\n backendDefaultFields = returnData.defaultSortFields;\n }\n const extraFixedFieldIds = processFixedFields ?? [];\n if (isEmpty(fieldIds)) {\n fieldIds = sortFields.map((item) => item.field);\n if (isEmpty(sort) || isEmpty(asc)) {\n const orderField = sortFields.find((item) => item.order !== 0);\n if (orderField) {\n sort = orderField.field;\n asc = orderField.order;\n }\n }\n }\n if (isEmpty(fieldIds)) {\n fieldIds = computeDefaultFields().fieldIds;\n }\n if (!isEmpty(extraFixedFieldIds)) {\n fieldIds = uniq([...fieldIds, ...extraFixedFieldIds]);\n }\n fieldIds = props.extraDisabledField\n ? uniq([...fieldIds, props.extraDisabledField])\n : fieldIds;\n fieldIds = _sortFieldIds(fieldIds);\n const hideModelData: string[] = modelData.view.hide_columns || [];\n fieldIds = fieldIds.filter((field) => !hideModelData.includes(field));\n modelData.isAbstract && fieldIds.push(\"_object_id\");\n return { fieldIds, sort, asc, sortFields, backendDefaultFields };\n };\n\n const getFields = () => {\n let fieldIds = props.presetConfigs?.fieldIds;\n const extraFixedFieldIds = processFixedFields ?? [];\n if (isEmpty(fieldIds)) {\n fieldIds = jsonLocalStorage.getItem(\n `${modelData.objectId}-selectAttrIds`\n );\n }\n if (isEmpty(fieldIds)) {\n fieldIds = computeDefaultFields().fieldIds;\n }\n if (!isEmpty(extraFixedFieldIds)) {\n fieldIds = uniq([...fieldIds, ...extraFixedFieldIds]);\n }\n fieldIds = props.extraDisabledField\n ? uniq([...fieldIds, props.extraDisabledField])\n : fieldIds;\n fieldIds = _sortFieldIds(fieldIds);\n const hideModelData: string[] = modelData.view.hide_columns || [];\n fieldIds = fieldIds.filter((field) => !hideModelData.includes(field));\n modelData.isAbstract && fieldIds.push(\"_object_id\");\n return fieldIds;\n };\n\n const [q, setQ] = useState(props.q);\n const [state, setState] = useReducer(reducer, undefined, () => ({\n objectId: props.objectId,\n q: props.q,\n aq: initAqToShow(props.aq, modelData, false),\n sortFields: [],\n aqToShow: props.aqToShow || initAqToShow(props.aq, modelData),\n instanceSourceQuery: props.instanceSourceQuery,\n asc: props.asc,\n sort: props.sort,\n page: props.dataSource?.page ?? props.page ?? 1,\n pageSize: props.dataSource?.pageSize ?? props.pageSize ?? 10,\n aliveHosts: props.aliveHosts,\n relatedToMe: props.relatedToMe,\n objectIdQuery: props.objectIdQuery,\n filterInstanceSource: props.filterInstanceSource,\n instanceSourcePopoverVisible: false,\n inited: false,\n loading: false,\n failed: false,\n isAdvancedSearchVisible: false,\n fieldIds: props.saveFieldsBackend ? [] : getFields(),\n presetConfigsQuery: props.presetConfigs?.query,\n autoBreakLine: false,\n appSearchInstanceId: \"\",\n currentChangeSelect: \"App\",\n appSelectValue: \"\",\n clusterValue: \"all\",\n appList: [],\n clusterList: [\n {\n instanceId: \"all\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ALL_CLUSTER}`),\n },\n ],\n searchByApp: false,\n backendDefaultFields: [],\n }));\n const [selectedRowKeys, setSelectedRowKeys] = useState(\n props.selectedRowKeys ?? []\n );\n const cache = useRef(new Map<string, InstanceApi_PostSearchV3ResponseBody>());\n const isFirstRunRef = useRef(true);\n\n // useExternalCmdbApi为true,外部接口参数\n const externalRequestParams = useMemo(() => {\n return {\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n };\n }, [props.objectId, props.externalSourceId]);\n\n const getInstanceListData = async (\n sort: string,\n asc: boolean,\n page: number\n ): Promise<InstanceApi_PostSearchV3ResponseBody> => {\n const data: InstanceApi_PostSearchRequestBody = {};\n const v3Data: InstanceApi_PostSearchV3RequestBody = {\n fields: processFixedFields\n ? uniq([\"instanceId\"].concat(processFixedFields))\n : [\"instanceId\"],\n };\n if (!isEmpty(props.permission)) {\n v3Data.permission = data.permission = props.permission;\n }\n\n const archiveData: instanceArchiveRequestBody = {};\n let query: Record<string, any> = {};\n\n v3Data.page = data.page = archiveData.page = page;\n v3Data[\"page_size\"] =\n data[\"page_size\"] =\n archiveData[\"page_size\"] =\n state.pageSize;\n const sortType = modelData?.attrList?.find((attr) => attr.id === sort)\n ?.value?.default_type;\n const order = [\"series-number\", \"auto-increment-id\"].includes(sortType)\n ? asc\n ? 2\n : -2\n : asc\n ? 1\n : -1;\n if (sort) {\n data.sort = { [sort]: order };\n let relationObjectShowKeys: string[] = [];\n if (\n !props.useExternalCmdbApi &&\n !props.useAutoDiscoveryProvider &&\n !props.ignorePermission\n ) {\n const relation = modelData?.relation_list?.find((i) =>\n i.right_object_id === props.objectId\n ? sort === i.right_id\n : sort === i.left_id\n );\n const relationObjectId =\n relation?.right_object_id === props.objectId\n ? relation?.left_object_id\n : relation?.right_object_id;\n relationObjectShowKeys = props.objectList?.find(\n (i) => i.objectId === relationObjectId\n )?.view?.show_key;\n }\n v3Data.sort = relationObjectShowKeys?.length\n ? relationObjectShowKeys.map((i) => ({ key: `${sort}.${i}`, order }))\n : [{ key: sort, order }];\n }\n\n if (state.q) {\n query = getQuery(\n modelData,\n idObjectMap,\n state.q,\n state.fieldIds,\n props.onlySearchByIp,\n processFixedFields\n );\n }\n\n if (state.q && props.useInstanceArchiveProvider) {\n archiveData.key_word = state.q;\n }\n if (!isEmpty(state.aq)) {\n query[LogicalOperators.And] = state.aq;\n }\n\n if (!isEmpty(props.defaultQuery)) {\n query[LogicalOperators.And] = [\n ...(query[LogicalOperators.And] || []),\n ...props.defaultQuery,\n ];\n }\n if (props.presetConfigs) {\n if (!isEmpty(props.presetConfigs.query)) {\n if (Object.keys(query).length) {\n query = {\n $and: [query, props.presetConfigs.query],\n };\n } else {\n query = props.presetConfigs.query;\n }\n }\n }\n if (state.fieldIds) {\n data.fields = Object.fromEntries(\n state.fieldIds.map((fieldId) => [fieldId, true])\n );\n v3Data.fields = [\n ...state.fieldIds,\n ...v3Data.fields,\n ...(modelData.isAbstract ? [\"_object_id\"] : []),\n ];\n (v3Data as any).ignore_missing_field_error = true;\n }\n if (props.useAutoDiscoveryProvider) {\n v3Data.fields = joinRelationFieldAndShowkey(\n v3Data.fields,\n modelData,\n props.objectList\n );\n }\n if (props.useInstanceArchiveProvider) {\n archiveData.fields = v3Data.fields.join(\",\");\n }\n if (state.aliveHosts && props.objectId === \"HOST\") {\n query = { ...query, _agentStatus: \"正常\" };\n }\n if (state.instanceSourceQuery) {\n query = { ...query, _object_id: state.instanceSourceQuery };\n }\n\n if (!isEmpty(query)) {\n v3Data.query = data.query = query;\n }\n // useAutoDiscoveryProvider=true, 使用useProvider的接口,请求参数里加上extraParams\n\n if (props.useAutoDiscoveryProvider && !isEmpty(props.extraParams)) {\n Object.assign(v3Data, props.extraParams);\n }\n if (state.relatedToMe) {\n v3Data.only_my_instance = data.only_my_instance = state.relatedToMe;\n }\n //按应用筛选\n // istanbul ignore next (state is not updated)\n if (state.searchByApp) {\n const hostRange = props.presetConfigs?.query?.[\"$and\"]?.find(\n (i: any) => i.instanceId\n )?.instanceId?.[\"$in\"];\n v3Data.query = {\n [state.currentChangeSelect === \"App\" ||\n (state.currentChangeSelect === \"Cluster\" &&\n state.clusterValue === \"all\")\n ? \"_deviceList_CLUSTER.appId.instanceId\"\n : \"_deviceList_CLUSTER.instanceId\"]: state.appSearchInstanceId,\n ...(!isEmpty(hostRange) && props.limitInstanceRange\n ? {\n instanceId: { $in: hostRange },\n }\n : {}),\n ...(state.aliveHosts && props.objectId === \"HOST\"\n ? { _agentStatus: \"正常\" }\n : {}),\n };\n }\n\n if (!(props.useExternalCmdbApi || props.useAutoDiscoveryProvider)) {\n v3Data.relation_limit =\n isNil(props.relationLimit) || props.relationLimit === 0\n ? 0\n : props.relationLimit + 1;\n }\n\n if (props.useInstanceArchiveProvider) {\n return instanceArchiveListProvider.query([props.objectId, archiveData]);\n }\n const promise = props.onSearchExecute?.(data, v3Data);\n // useAutoDiscoveryProvider=true, 使用useProvider的接口\n // useExternalCmdbApi= true 使用外部接口externalPostSearchV3\n return promise\n ? promise\n : props.useExternalCmdbApi\n ? externalPostSearchV3.query([\n {\n ...v3Data,\n ...externalRequestParams,\n },\n ])\n : props.useAutoDiscoveryProvider\n ? listProvider.query([props.objectId, v3Data])\n : props.ignorePermission\n ? ignorePermissionProvider.query([props.objectId, v3Data])\n : props.searchTransHierRelationInstance &&\n props.transHierRelation?.relation_id &&\n props.searchTransHierRelationSource\n ? searchRelationInstanceProvider.query([\n props.searchTransHierRelationSource.objectId,\n props.transHierRelation.relation_id,\n props.searchTransHierRelationSource.instanceId,\n { query_relation: v3Data.query, ...v3Data },\n ])\n : InstanceApi_postSearchV3(props.objectId, v3Data); //涉及到v3data的请求\n };\n\n const refreshInstanceList = async (\n sort: string,\n asc: boolean,\n page: number\n ): Promise<void> => {\n setState({ loading: true });\n try {\n if (props.dataSource) {\n setState({\n idObjectMap: idObjectMap,\n instanceListData: props.dataSource,\n });\n } else {\n if (!props.hideInstanceList) {\n const instanceListData = (await getInstanceListData(\n sort,\n asc,\n page\n )) || { list: [] };\n instanceListData.list.forEach((i) =>\n cache.current.set(i.instanceId, i)\n );\n setState({ idObjectMap: idObjectMap, instanceListData });\n } else {\n setState({\n idObjectMap: idObjectMap,\n instanceListData: [] as InstanceApi_PostSearchV3ResponseBody,\n });\n }\n }\n } catch (e) {\n handleHttpError(e);\n // 为了接口报错,不把整页面列干掉,去掉 failed: true 这个逻辑\n setState({\n idObjectMap: idObjectMap,\n instanceListData: [] as InstanceApi_PostSearchV3ResponseBody,\n });\n } finally {\n setState({ inited: true, loading: false });\n }\n };\n // const [fieldIds,setFieldIds] = useState([]);\n // istanbul ignore next\n useEffect(() => {\n if (props.saveFieldsBackend) {\n const getFieldIds = async () => {\n const fieldConfig = await getFieldsAsync();\n const { fieldIds, sort, asc, sortFields, backendDefaultFields } =\n fieldConfig;\n if (\n // 当 props.objectId 改变时,总是更新 state.fieldIds\n props.objectId !== state.objectId ||\n !isEqual(fieldIds, state.fieldIds) ||\n !isEqual(props.presetConfigs?.query, state.presetConfigsQuery)\n )\n setState({\n fieldIds,\n presetConfigsQuery: props.presetConfigs?.query,\n sort,\n asc: [1, 2].includes(asc) ? true : false,\n sortFields,\n backendDefaultFields,\n });\n };\n getFieldIds();\n } else {\n const fieldIds = getFields();\n if (\n // 当 props.objectId 改变时,总是更新 state.fieldIds\n props.objectId !== state.objectId ||\n !isEqual(fieldIds, state.fieldIds) ||\n !isEqual(props.presetConfigs?.query, state.presetConfigsQuery)\n ) {\n setState({\n fieldIds,\n presetConfigsQuery: props.presetConfigs?.query,\n });\n }\n }\n }, [props.objectId, props.presetConfigs, processFixedFields]);\n\n useEffect(() => {\n setSelectedRowKeys(props.selectedRowKeys ?? []);\n }, [props.objectId, props.selectedRowKeys]);\n\n // on filter condition change\n useEffect(() => {\n if (isFirstRunRef.current) {\n isFirstRunRef.current = false;\n return;\n }\n\n let skip = false;\n\n if (state.page !== 1) {\n setState({ page: 1 });\n props.onPaginationChange?.({ page: 1, pageSize: state.pageSize });\n skip = true;\n }\n\n // 当 prop.objectId 改变时先跳过,等 state.fieldIds 更新后再获取数据\n if (props.objectId !== state.objectId) {\n setState({ objectId: props.objectId });\n skip = true;\n }\n\n if (skip) {\n return;\n }\n\n refreshInstanceList(state.sort, state.asc, 1);\n }, [\n state.q,\n state.aq,\n state.instanceSourceQuery,\n state.pageSize,\n state.aliveHosts,\n state.relatedToMe,\n props.objectId,\n props.permission,\n props.defaultQuery,\n ]);\n\n useEffect(() => {\n setQ(props.q);\n setState({ q: props.q });\n }, [props.q]);\n\n // on other condition change\n useEffect(() => {\n if (isEmpty(state.fieldIds)) return;\n refreshInstanceList(state.sort, state.asc, state.page);\n }, [\n state.page,\n state.sort,\n state.asc,\n state.fieldIds,\n state.appSearchInstanceId,\n state.currentChangeSelect,\n state.searchByApp,\n props.dataSource,\n state.presetConfigsQuery,\n props.updateDataTime,\n ]);\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setQ(e.target.value);\n };\n\n // istanbul ignore next\n const onSelectionChange = useCallback(\n async (selected: { selectedKeys: string[]; selectedItems: any[] }) => {\n let { selectedItems, selectedKeys } = selected;\n setSelectedRowKeys(selectedKeys);\n if (selectedKeys.length > compact(selectedItems).length) {\n const ids = selectedKeys.filter((id) => !cache.current.has(id));\n if (ids.length) {\n let resp;\n const params: any = {\n fields: [\"instanceId\"],\n query: {\n instanceId: {\n $in: ids,\n },\n },\n page_size: ids.length,\n page: 1,\n };\n\n if (!(props.useExternalCmdbApi || props.useAutoDiscoveryProvider)) {\n params.relation_limit =\n isNil(props.relationLimit) || props.relationLimit === 0\n ? 0\n : props.relationLimit + 1;\n }\n // useExternalCmdbApi为true,使用外部接口PostSearchV3\n if (props.useExternalCmdbApi) {\n resp = await externalPostSearchV3.query([\n {\n ...params,\n ...externalRequestParams,\n },\n ]);\n } else if (props.useAutoDiscoveryProvider) {\n // useAutoDiscoveryProvider=true, 使用useProvider的接口,虽然这里列表用不到选择功能,但还是加上保持统一\n resp = await listProvider.query([\n props.objectId,\n Object.assign(params, props.extraParams),\n ]);\n } else if (props.ignorePermission) {\n resp = await ignorePermissionProvider.query([\n props.objectId,\n Object.assign(params, props.extraParams),\n ]);\n } else {\n resp = await InstanceApi_postSearchV3(props.objectId, params);\n }\n resp.list.forEach((i: Record<string, any>) =>\n cache.current.set(i.instanceId, i)\n );\n }\n selectedItems = selectedKeys.map((id) => cache.current.get(id));\n }\n props.onSelectionChange?.({ selectedItems, selectedKeys });\n },\n []\n );\n\n const onSearch = (value: string) => {\n const q = value.trim();\n setState({ q });\n props.onSearch?.(q);\n };\n\n const onAdvancedSearch = (\n queries: Query[],\n queriesToShow: Query[],\n fieldToShow: Record<string, any[]>[]\n ) => {\n setState({\n aq: queries,\n fieldToShow,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n\n const onSortingChange = useCallback(\n async (info: ReadSortingChangeDetail, sortFields?: ISortField[]) => {\n let asc: boolean;\n let sort: string;\n if (info.asc === undefined) {\n if (!state.sort) {\n return;\n }\n\n setState({ asc: undefined, sort: undefined });\n } else {\n setState({ asc: info.asc, sort: info.sort });\n asc = info.asc;\n sort = info.sort;\n }\n // istanbul ignore next\n if (\n props.saveFieldsBackend &&\n sortFields.find((item) => item.field === info.sort)\n ) {\n try {\n const oldsortFields = sortFields;\n const sortType = modelData?.attrList?.find((attr) => attr.id === sort)\n ?.value?.default_type;\n const newSortFields = updateSortFields(oldsortFields, info, sortType);\n setState({\n sortFields: newSortFields,\n });\n if (props.useExternalCmdbApi) {\n await externalUpdateFieldsProvider.query([\n {\n object_id: props.objectId,\n sourceId: props.externalSourceId,\n sortFields: newSortFields,\n },\n ]);\n } else {\n await updateFieldsProvider.query([\n props.objectId,\n { sortFields: newSortFields },\n ]);\n }\n } catch (e) {\n handleHttpError;\n }\n }\n // istanbul ignore next\n props.onSortingChange?.(info);\n },\n [state.sort]\n );\n\n const onPaginationChange = useCallback(\n (pagination: ReadPaginationChangeDetail) => {\n setState({ page: pagination.page, pageSize: pagination.pageSize });\n props.onPaginationChange?.(pagination);\n },\n []\n );\n\n const onInstanceSourceChange = useCallback((instanceSourceQuery: string) => {\n setState({ instanceSourceQuery });\n props.onInstanceSourceChange?.(instanceSourceQuery);\n }, []);\n\n const onRelatedToMeChange = (checked: boolean) => {\n setState({ relatedToMe: checked });\n props.onRelatedToMeChange?.(checked);\n };\n\n const onAliveHostsChange = (checked: boolean) => {\n setState({ aliveHosts: checked });\n props.onAliveHostsChange?.(checked);\n };\n\n const toggleAutoBreakLine = (autoBreakLine: boolean) => {\n setState({ autoBreakLine });\n };\n // istanbul ignore next (state is not updated)\n const toggleSearchMode = React.useCallback(async () => {\n if (!state.searchByApp) {\n let appListResp: any;\n const params: any = {\n fields: [\"clusters\", \"instanceId\", \"name\"],\n sort: [{ key: \"name\", order: 1 }],\n page: 1,\n page_size: 3000,\n ...(props.useExternalCmdbApi ? externalRequestParams : {}),\n };\n // useExternalCmdbApi为true,使用外部接口PostSearchV3\n if (props.useExternalCmdbApi) {\n appListResp = await externalPostSearchV3.query([params]);\n } else {\n appListResp = await InstanceApi_postSearchV3(\"APP\", params);\n }\n\n setState({\n appSearchInstanceId: appListResp.list?.[0].instanceId || \"\",\n appList: appListResp.list,\n clusterList: [...baseList, ...(appListResp.list?.[0].clusters || [])],\n searchByApp: true,\n appSelectValue: appListResp.list?.[0].instanceId || \"\",\n clusterValue: \"all\",\n page: 1,\n });\n } else {\n setState({ searchByApp: false, page: 1 });\n }\n }, [state.searchByApp]);\n // istanbul ignore next (state is not updated)\n const appSelectChange = (v: string) => {\n setState({\n appSearchInstanceId: v,\n currentChangeSelect: \"App\",\n appSelectValue: v,\n clusterValue: \"all\",\n clusterList: [\n ...baseList,\n ...state.appList.find((r) => r.instanceId === v).clusters,\n ],\n });\n };\n // istanbul ignore next (state is not updated)\n const clusterSelectChange = (v: string) => {\n setState({\n appSearchInstanceId: v === \"all\" ? state.appSelectValue : v,\n currentChangeSelect: \"Cluster\",\n clusterValue: v,\n });\n };\n\n // 后台返回的默认配置\n\n const defaultFields = useMemo(() => {\n let defaultFields: string[];\n const fieldIds = props.presetConfigs?.fieldIds,\n extraFixedFieldIds = processFixedFields ?? [];\n if (!isEmpty(fieldIds)) {\n defaultFields = props.presetConfigs.fieldIds;\n } else {\n // istanbul ignore next\n // 所有用户(包括管理员)点击恢复默认按钮是恢复到 1.管理员设置的默认显示 2.管理员未设置时取前N个\n if (\n props.saveFieldsBackend &&\n !props.useExternalCmdbApi &&\n state.backendDefaultFields &&\n state.backendDefaultFields?.length > 0\n ) {\n // istanbul ignore next\n // 后台接口返回的默认字段(1. admin用户设置的,2. 前N个)\n defaultFields = compact(\n state.backendDefaultFields?.map((s) => s.field)\n );\n } else {\n defaultFields = computeDefaultFields().fieldIds;\n }\n }\n if (!isEmpty(extraFixedFieldIds)) {\n defaultFields = uniq([...defaultFields, ...extraFixedFieldIds]);\n }\n return defaultFields;\n }, [\n props.presetConfigs,\n modelData,\n state.backendDefaultFields,\n processFixedFields,\n ]);\n\n // istanbul ignore next\n const handleConfirm = async ({\n fields,\n isReset,\n isAdminSetDisplay,\n }: DisplaySettingsModalData) => {\n const onConfirm = async () => {\n if (props.saveFieldsBackend) {\n try {\n const sortFields = mergeFields(state.sortFields, fields);\n if (props.useExternalCmdbApi) {\n await externalUpdateFieldsProvider.query([\n {\n object_id: props.objectId,\n sourceId: props.externalSourceId,\n sortFields,\n },\n ]);\n } else {\n await updateFieldsProvider.query([props.objectId, { sortFields }]);\n }\n setState({\n fieldIds: _sortFieldIds(fields),\n sortFields,\n });\n } catch (e) {\n handleHttpError(e);\n }\n } else {\n const sortFields = mergeFields(state.sortFields, fields);\n setState({\n fieldIds: _sortFieldIds(fields),\n sortFields,\n });\n jsonLocalStorage.setItem(\n `${modelData.objectId}-selectAttrIds`,\n _sortFieldIds(fields)\n );\n }\n props.onFieldsModalConfirm?.(fields);\n };\n if (isReset) {\n // 恢复默认操作\n const fieldIds = defaultFields;\n modelData.isAbstract && fieldIds.push(\"_object_id\");\n if (props.saveFieldsBackend) {\n const sortFields = mergeFields(state.sortFields, fieldIds);\n if (props.useExternalCmdbApi) {\n await externalUpdateFieldsProvider.query([\n {\n object_id: props.objectId,\n sourceId: props.externalSourceId,\n sortFields,\n },\n ]);\n } else {\n await updateFieldsProvider.query([props.objectId, { sortFields }]);\n }\n setState({ fieldIds, sortFields });\n props.onFieldsModalConfirm?.(fieldIds);\n } else {\n jsonLocalStorage.removeItem(`${modelData.objectId}-selectAttrIds`);\n setState({ fieldIds });\n props.onFieldsModalConfirm?.(fieldIds);\n }\n } else {\n if (!isAdminSetDisplay) {\n // 点击确定按钮触发\n await onConfirm();\n } else {\n // 点击【默认显示】按钮触发,不影响当前列表显示。\n try {\n // istanbul ignore next\n const sortFields = mergeFields(state.sortFields, fields);\n await updateFieldsProvider.query([\n props.objectId,\n { sortFields: sortFields, isDefault: true },\n ]);\n await onConfirm();\n message.success(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SET_DEFAULT_DISPLAY_SUCCESS}`)\n );\n setState({\n backendDefaultFields: sortFields,\n });\n } catch (e) {\n handleHttpError(e);\n }\n }\n }\n };\n\n useEffect(() => {\n props.notifyCurrentFields?.(state.fieldIds);\n }, [props.notifyCurrentFields]);\n\n // istanbul ignore next\n useEffect(() => {\n props.selectedRowKeys?.length &&\n (async () => {\n const data: InstanceApi_PostSearchRequestBody = {};\n const v3Data: InstanceApi_PostSearchV3RequestBody = {\n fields: [\"instanceId\"],\n };\n if (!isEmpty(props.permission)) {\n v3Data.permission = data.permission = props.permission;\n }\n\n if (state.fieldIds) {\n data.fields = Object.fromEntries(\n state.fieldIds.map((fieldId) => [fieldId, true])\n );\n v3Data.fields = [...state.fieldIds, ...v3Data.fields];\n (v3Data as any).ignore_missing_field_error = true;\n }\n\n v3Data.query = {\n instanceId: {\n $in: props.selectedRowKeys,\n },\n };\n v3Data.page_size = props.selectedRowKeys.length;\n v3Data.page = 1;\n if (!(props.useExternalCmdbApi || props.useAutoDiscoveryProvider)) {\n v3Data.relation_limit =\n isNil(props.relationLimit) || props.relationLimit === 0\n ? 0\n : props.relationLimit + 1;\n }\n\n if (state.relatedToMe) {\n v3Data.only_my_instance = data.only_my_instance = state.relatedToMe;\n }\n if (props.extraParams) {\n Object.assign(v3Data, props.extraParams);\n }\n let resp: any;\n // useExternalCmdbApi为true,使用外部接口PostSearchV3\n if (props.useExternalCmdbApi) {\n resp = await externalPostSearchV3.query([\n {\n ...v3Data,\n ...externalRequestParams,\n },\n ]);\n } else if (props.useAutoDiscoveryProvider) {\n resp = await listProvider.query([props.objectId, v3Data]);\n } else {\n resp = await InstanceApi_postSearchV3(props.objectId, v3Data); //涉及到v3data的请求\n }\n resp.list.forEach((i: Record<string, any>) =>\n cache.current.set(i.instanceId, i)\n );\n })();\n }, [props.selectedRowKeys]);\n const handleToggleFixHeader = () => {\n setFixHeader(!fixedHeader);\n };\n const onAdvancedSearchCloseGen = (attrId: string, valuesStr: string) => {\n return () => {\n const queries: Query[] = [];\n const queriesToShow: Query[] = [];\n const filterAq = (queries: any[]) =>\n queries.filter((v: any) => isValueEqualFn(v, attrId, valuesStr));\n state.aq.forEach((query) => {\n const key = Object.keys(query)[0];\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queries.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (key !== attrId && !startsWith(attrId, `${key}.`)) {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n if (!Array.isArray(query[key]) && isSpecialFn(query, key)) {\n queries.push(query);\n } else {\n // 多枚举值数据结构返回这种 {attrId: {$in:[]}}\n const fieldId =\n Object.keys(get(query[key] as Query[], \"[0]\", {}))?.[0] || key;\n // 判断是否为结构体\n const isStruct = isOfStruct(modelData, fieldId);\n // 结构体情况处理\n if (\n !(\n (key === \"$or\" || key === \"$and\") &&\n startsWith(fieldId, `${attrId}.`) &&\n isStruct\n )\n ) {\n queries.push(query);\n }\n }\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqualFn(query, attrId, valuesStr)\n ) {\n specialQueryHandler(query, key, queries);\n }\n });\n state.aqToShow.forEach((query) => {\n const key = Object.keys(query)[0];\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queriesToShow.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (key !== attrId) {\n queriesToShow.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqualFn(query, attrId, valuesStr)\n ) {\n specialQueryHandler(query, key, queriesToShow);\n }\n });\n setState({\n aq: queries,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n };\n\n const onFilterInstanceSourceChange = (checked: boolean): void => {\n setState({ filterInstanceSource: checked });\n props.onFilterInstanceSourceChange?.(checked);\n };\n\n const onFilterObjectIdChange = (objectIdQuery: any): void => {\n setState({ objectIdQuery: objectIdQuery });\n props.onFilterObjectIdChange?.(objectIdQuery);\n };\n\n const onPopoverVisibleChange = (visible: boolean): void => {\n setState({ instanceSourcePopoverVisible: visible });\n };\n\n const conditions = translateConditions(\n state.aqToShow,\n idObjectMap,\n modelData\n );\n\n useEffect(() => {\n if (props.showFilterInstanceSource) {\n const aq = initAqToShow(props.aq, modelData, false);\n const aqToShow = props.aqToShow || initAqToShow(props.aq, modelData);\n setState({ aq, aqToShow });\n }\n }, [props.aq, props.aqToShow, props.showFilterInstanceSource]);\n\n const fixedFieldIds = useMemo(() => {\n if (!props.extraFixedFields || isStringArray(props.extraFixedFields)) {\n return [];\n } else {\n return (props.extraFixedFields as FixedField[])\n .filter((v: FixedField) => v.fixed)\n .map((v) => v.field);\n }\n }, [props.extraFixedFields]);\n\n return (\n <Spin spinning={state.loading}>\n {state.inited && !state.failed ? (\n <React.Fragment>\n {(!props.searchDisabled ||\n !props.advancedSearchDisabled ||\n !props.relatedToMeDisabled ||\n !props.aliveHostsDisabled ||\n !props.moreButtonsDisabled) && (\n <div className={styles.instanceListToolbar}>\n <div className={styles.searchRelated}>\n {/* istanbul ignore next (state is not updated) */}\n {!state.searchByApp ? (\n <>\n {!props.searchDisabled && (\n <Input.Search\n placeholder={props.placeholder}\n enterButton\n value={q}\n onChange={onChange}\n onSearch={onSearch}\n />\n )}\n {!props.advancedSearchDisabled && (\n <Button\n type=\"link\"\n size=\"small\"\n style={{\n marginLeft: \"8px\",\n marginRight: \"auto\",\n }}\n onClick={() =>\n setState({\n isAdvancedSearchVisible:\n !state.isAdvancedSearchVisible,\n })\n }\n data-testid=\"advanced-search-toggle-btn\"\n >\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCED_SEARCH}`\n )}\n <LegacyIcon\n type={state.isAdvancedSearchVisible ? \"up\" : \"down\"}\n />\n </Button>\n )}\n </>\n ) : (\n <>\n <Select\n style={{ width: \"150px\", marginRight: \"10px\" }}\n value={state.appSelectValue}\n onChange={appSelectChange}\n showSearch={true}\n optionFilterProp=\"children\"\n >\n {state.appList?.map((r) => (\n <Select.Option key={r.instanceId} value={r.instanceId}>\n {r.name}\n </Select.Option>\n ))}\n </Select>\n <Select\n style={{ width: \"150px\" }}\n value={state.clusterValue}\n onChange={clusterSelectChange}\n showSearch={true}\n optionFilterProp=\"children\"\n >\n {state.clusterList.map((r) => (\n <Select.Option key={r.instanceId} value={r.instanceId}>\n {r.name}\n </Select.Option>\n ))}\n </Select>\n </>\n )}\n </div>\n <div className={styles.options}>\n {selectedRowKeys.length > 0 && (\n <div style={{ marginRight: 20 }}>\n <span>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOSEN_OPTIONS}`, {\n count: selectedRowKeys.length,\n })}\n </span>\n <a\n role=\"button\"\n onClick={() =>\n onSelectionChange({\n selectedKeys: [],\n selectedItems: [],\n })\n }\n >\n {\" \"}\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLEAR}`)}\n </a>\n </div>\n )}\n {props.extraOperateBricks?.useBrick && (\n <BrickAsComponent\n useBrick={props.extraOperateBricks.useBrick}\n />\n )}\n {props.showFilterInstanceSource && (\n <FilterInstanceSource\n visible={state.instanceSourcePopoverVisible}\n checked={state.filterInstanceSource}\n onPopoverVisibleChange={onPopoverVisibleChange}\n onIconClicKChange={onFilterInstanceSourceChange}\n onChange={onFilterObjectIdChange}\n inheritanceModelIdNameMap={inheritanceModelIdNameMap}\n value={state.objectIdQuery}\n jsonLocalStorage={jsonLocalStorage}\n isAbstract={modelData.isAbstract}\n />\n )}\n {props.objectId === \"HOST\" && props.enableSearchByApp && (\n <Button type={\"link\"} onClick={toggleSearchMode}>\n {/* istanbul ignore next (state is not updated) */}\n {state.searchByApp\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FREE_SELECTION}`)\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.APP_SELECTION}`)}\n </Button>\n )}\n {props.objectId === \"HOST\" && !props.aliveHostsDisabled && (\n <IconButton\n checked={state.aliveHosts}\n onChange={onAliveHostsChange}\n style={{ marginRight: 10 }}\n disabled={props.fixAliveHosts}\n type=\"normalHost\"\n label={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NORMAL_HOST}`)}\n data-testid=\"alive-hosts\"\n />\n )}\n {!props.relatedToMeDisabled && (\n <IconButton\n checked={state.relatedToMe}\n onChange={onRelatedToMeChange}\n style={{ marginRight: 10 }}\n type=\"relateToMe\"\n label={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.RELATED_TO_ME}`\n )}\n data-testid=\"related-to-me\"\n />\n )}\n {!props.showHiddenInfoDisabled && (\n <IconButton\n checked={state.autoBreakLine}\n onChange={toggleAutoBreakLine}\n style={{ marginRight: 10 }}\n type=\"showHiddenInfo\"\n label={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.DISPLAY_OMITTED_INFORMATION}`\n )}\n data-testid=\"show-hidden-info\"\n />\n )}\n {!props.moreButtonsDisabled && (\n <MoreButtonsContainer\n modelData={modelData}\n onConfirm={handleConfirm}\n useExternalCmdbApi={props.useExternalCmdbApi}\n saveFieldsBackend={props.saveFieldsBackend}\n fieldIds={state.fieldIds}\n defaultFields={defaultFields}\n extraDisabledField={props.extraDisabledField}\n handleToggleFixHeader={handleToggleFixHeader}\n fixedHeader={fixedHeader}\n showFixedHeader={props.showFixedHeader}\n sortFields={state.sortFields}\n />\n )}\n </div>\n </div>\n )}\n {!props.advancedSearchDisabled && !state.searchByApp && (\n <div\n style={{ marginBottom: \"18px\" }}\n hidden={!state.isAdvancedSearchVisible}\n >\n <AdvancedSearch\n key={newKey(state.fieldIds, state.aq)}\n fieldIds={state.fieldIds}\n idObjectMap={state.idObjectMap}\n modelData={modelData}\n q={state.aqToShow}\n fieldToShow={state.fieldToShow}\n onSearch={onAdvancedSearch}\n {...(props.autoSearch\n ? {\n autoSearch: props.autoSearch,\n }\n : null)}\n />\n </div>\n )}\n {!props.hideSearchConditions &&\n !state.searchByApp &&\n (state.instanceSourceQuery || state.q || !isEmpty(conditions)) && (\n <div className={styles.searchConditions}>\n <span>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CURRENT_FILTER_REQUIREMENTS}`\n )}\n </span>\n {state.q && (\n <Tag\n closable\n onClose={() => {\n setQ(\"\");\n onSearch(\"\");\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FUZZY_SEARCH}`, {\n query: state.q,\n })}\n </Tag>\n )}\n {state.instanceSourceQuery && (\n <Tag\n closable\n onClose={() => {\n onInstanceSourceChange(null);\n }}\n >\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_SOURCE_TAG_TEXT}`,\n {\n query:\n inheritanceModelIdNameMap?.[\n state.instanceSourceQuery\n ] || state.instanceSourceQuery,\n }\n )}\n </Tag>\n )}\n {conditions.map((condition) => (\n <Tag\n key={`${condition.attrId}${\n condition.valuesStr\n }-${uniqueId()}`}\n closable\n onClose={onAdvancedSearchCloseGen(\n condition.attrId,\n condition.valuesStr\n )}\n >\n {condition.condition}\n </Tag>\n ))}\n </div>\n )}\n {props.extraFilterBricks?.useBrick && (\n <BrickAsComponent useBrick={props.extraFilterBricks.useBrick} />\n )}\n {!props.hideInstanceList && (\n <InstanceListTable\n detailUrlTemplates={props.detailUrlTemplates}\n fieldIds={state.fieldIds}\n idObjectMap={state.idObjectMap}\n modelData={modelData}\n instanceListData={state.instanceListData}\n sort={state.sort}\n asc={state.asc}\n selectedRowKeys={selectedRowKeys}\n selectDisabled={props.selectDisabled}\n sortDisabled={props.sortDisabled}\n propertyDisplayConfigs={props.propertyDisplayConfigs}\n onClickItem={props.onClickItem}\n onClickItemV2={props.onClickItemV2}\n onPaginationChange={onPaginationChange}\n onSortingChange={(info: any) => {\n onSortingChange(info, state.sortFields);\n }}\n onSelectionChange={onSelectionChange}\n onInstanceSourceChange={onInstanceSourceChange}\n instanceSourceQuery={state.instanceSourceQuery}\n inheritanceModelIdNameMap={inheritanceModelIdNameMap}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n autoBreakLine={state.autoBreakLine}\n relationLinkDisabled={props.relationLinkDisabled}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n extraColumns={props.extraColumns}\n target={props.target}\n ipCopy={props.ipCopy}\n fixedHeader={fixedHeader}\n separatorUsedInRelationData={props.separatorUsedInRelationData}\n showTooltip={showTooltip}\n rowSelectionType={props.rowSelectionType}\n onColumnsChange={props.onColumnsChange}\n useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n hiddenColumns={props.hiddenColumns}\n showCustomizedSerialNumber={props.showCustomizedSerialNumber}\n relationLimit={props.relationLimit}\n onRelationMoreIconClick={props.onRelationMoreIconClick}\n configProps={props.tableConfigProps}\n fixedFieldIds={fixedFieldIds}\n />\n )}\n </React.Fragment>\n ) : (\n // 加个空白的div是为了将loading效果撑起来\n <div className={styles.virtualLoading}></div>\n )}\n </Spin>\n );\n}\n\n/**\n * 把 objectList 封装到构件中请求,废弃掉通过老模板使用的方式,可直接使用构件。\n * 同时也兼容之前的使用方式,对于外部传进来的会优先使用外部的数据,构件内部不会额外请求,\n * 不传的话构件内部做请求,并作缓存\n */\nexport function LegacyInstanceListWrapper(\n props: InstanceListProps\n): React.ReactElement {\n const [objectList, setObjectList] = useState<ObjectType[]>(props.objectList);\n\n const [mergeObjectList, setMergeObjectList] = useState<ObjectType[]>(\n props.objectList\n );\n\n const externalGetObjectRef = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetObjectRef:1.0.0\",\n { cache: false }\n );\n\n useEffect(() => {\n if (props.objectList?.length) {\n setObjectList(props.objectList);\n } else {\n (async () => {\n const cacheData = objectListCache.get(props.objectId);\n if (cacheData) {\n setObjectList(cacheData);\n } else {\n try {\n let list;\n if (props.useExternalCmdbApi) {\n list = await externalGetObjectRef.query([\n {\n ref_object: props.objectId,\n sourceId: props.externalSourceId,\n },\n ]);\n } else {\n list = (\n await CmdbObjectApi_getObjectRef({ ref_object: props.objectId })\n ).data;\n }\n setObjectList(list);\n objectListCache.set(props.objectId, list);\n } catch (e) {\n // istanbul ignore next\n handleHttpError(e);\n }\n }\n })();\n }\n }, [props.objectId, props.objectList]);\n\n useEffect(() => {\n if (!objectList?.length && isEqual(objectList, mergeObjectList)) return;\n (async () => {\n const object = objectList?.find(\n (item) => item.objectId === props.objectId\n );\n const transHierRelationSideObjectIds: string[] =\n object?.view?.trans_hier_relation_list?.map((i) => i.relation_object);\n if (\n transHierRelationSideObjectIds?.length &&\n !transHierRelationSideObjectIds.every((i) =>\n objectList.some((o) => o.objectId === i)\n )\n ) {\n let list;\n try {\n if (!props.useExternalCmdbApi) {\n list = (\n await CmdbObjectApi_list({\n page: 1,\n page_size: transHierRelationSideObjectIds.length,\n objectIds: transHierRelationSideObjectIds.join(\",\"),\n })\n ).list;\n }\n } catch (e) {\n // istanbul ignore next\n handleHttpError(e);\n }\n if (list?.length) {\n objectList.push(...list);\n objectListCache.set(props.objectId, objectList);\n }\n }\n\n setMergeObjectList(objectList);\n })();\n }, [objectList]);\n\n if (\n !mergeObjectList ||\n !mergeObjectList.find((item) => item.objectId === props.objectId)\n )\n return null;\n\n return <LegacyInstanceList {...props} objectList={mergeObjectList} />;\n}\n\n/**\n *\n * 支持关系点击打开抽屉查看更多关系,展示关系的实例列表\n */\nexport function InstanceList(props: InstanceListProps): React.ReactElement {\n return <InstanceListDrawer {...props} />;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"InstanceList.js","names":["React","useEffect","useReducer","useState","useRef","useMemo","useCallback","difference","isEmpty","isEqual","isString","map","uniq","union","filter","reject","uniqueId","find","startsWith","compact","omit","keyBy","isNil","get","isArray","BrickAsComponent","getRuntime","handleHttpError","useProvider","i18n","K","NS_LIBS_CMDB_INSTANCES","InstanceApi_postSearchV3","CmdbObjectApi_getIdMapName","CmdbObjectApi_getObjectRef","CmdbObjectApi_list","Icon","LegacyIcon","Button","Spin","Input","Tag","Select","message","getRelationObjectSides","forEachAvailableFields","getInstanceNameKeys","isSelfRelation","ElementOperators","LogicalOperators","JsonStorage","ConditionType","AdvancedSearch","getFieldConditionsAndValues","MoreButtonsContainer","InstanceListTable","InstanceListDrawer","styles","extraFieldAttrs","CMDB_MODAL_FIELDS_SETTINGS","CMDB_RESOURCE_FIELDS_SETTINGS","objectListCache","ModelAttributeValueType","IconButton","changeQueryWithCustomRules","FilterInstanceSource","joinRelationFieldAndShowkey","fields","modelData","objectList","attrIdMap","attrList","field","relation","relation_list","left_id","right_id","_otherSideObject$view","_otherSideObject$view2","_otherSideObject$view3","isLeft","left_object_id","objectId","otherSideObjectId","right_object_id","otherSideObject","object","showKey","view","show_key","concat","getQuery","idObjectMap","q","onlySearchByIp","extraFixedFields","query","$or","queryValues","trim","split","_getRuntime$getCurren","searchIpFields","getCurrentApp","config","queryOrs","Set","searchValue","$like","forEach","key","push","attr","queryValue","id","sides","this","nameKeys","that","nameKey","_relation$display_key","relationObject","relation_object","showKeys","display_keys","length","relation_id","isSpecialFn","attrId","Object","keys","some","v","specialQueryHandler","queries","isSpecial","isValueEqualFn","valuesStr","values","join","mergeFields","oldFields","newFieldIds","existField","f","order","updateSortFields","sortInfo","sortType","asc","sort","includes","item","translateConditions","aq","t","_modelData$view","_modelData$view$trans","conditions","relations","transHierRelations","trans_hier_relation_list","_relation$display_key2","name","relation_name","value","type","relationSideId","sidesArr","_find$name","_find","nameOfNameKey","attrAndRelationList","_attr","Exists","info","undefined","mode","Between","Empty","NotEmpty","False","True","currentCondition","replace","condition","label","curCondition","queryValuesStr","every","newKey","fieldIds","isOfStruct","fieldId","_modelData$attrList$f","structFields","structs","struct_define","struct","flat","isOfBoolean","_keyAttrMap$fieldId","keyAttrMap","BOOLEAN","initAqToShow","isToShow","arguments","newAqToShow","aqToShow","entries","_ref","expressions","newExpressions","Or","And","firstSubQuery","isStruct","isBool","structQueries","expression","structExpressions","boolExpressions","targetValue","isStringArray","arr","getExtraFixedFields","LegacyInstanceList","props","_props$selectedRowKey","_state$appList","_props$extraOperateBr","_props$extraFilterBri","showTooltip","baseList","instanceId","ALL_CLUSTER","jsonLocalStorage","localStorage","reducer","prevState","updatedProperty","_objectSpread","listProvider","cache","instanceArchiveListProvider","ignorePermissionProvider","searchRelationInstanceProvider","fieldsProvider","updateFieldsProvider","onError","error","externalPostSearchV3","externalGetIdMapName","externalFieldsProvider","externalUpdateFieldsProvider","disabledDefaultFields","processFixedFields","inheritanceModelIdNameMap","setInheritanceModelIdNameMap","fixedHeader","setFixHeader","fetchInheritanceModelIdNameMap","_ref2","_asyncToGenerator","idNameMap","isAbstract","_props$presetConfigs","useExternalCmdbApi","parentObjectId","sourceId","externalSourceId","showFilterInstanceSource","setItem","presetConfigs","_x","apply","computeDefaultFields","inModal","settings","ignoredFields","hide_columns","sortFields","attr_order","allFields","slice","_sortFieldIds","_props$presetConfigs2","frontFields","restFields","getFieldsAsync","_ref3","_props$presetConfigs3","_modelData$attrList","_modelData$attrList$f2","_modelData$attrList$f3","default_type","backendDefaultFields","object_id","returnData","defaultSortFields","extraFixedFieldIds","orderField","extraDisabledField","hideModelData","getFields","_props$presetConfigs4","getItem","setQ","state","setState","_ref4","_props$dataSource$pag","_props$dataSource","_ref5","_props$dataSource$pag2","_props$dataSource2","_props$presetConfigs5","instanceSourceQuery","page","dataSource","pageSize","aliveHosts","relatedToMe","objectIdQuery","filterInstanceSource","instanceSourcePopoverVisible","inited","loading","failed","isAdvancedSearchVisible","saveFieldsBackend","presetConfigsQuery","autoBreakLine","appSearchInstanceId","currentChangeSelect","appSelectValue","clusterValue","appList","clusterList","searchByApp","selectedRowKeys","setSelectedRowKeys","Map","isFirstRunRef","externalRequestParams","getInstanceListData","_ref6","_modelData$attrList2","_modelData$attrList2$","_modelData$attrList2$2","_props$onSearchExecut","_props$transHierRelat","data","v3Data","permission","archiveData","_relationObjectShowKe","relationObjectShowKeys","useAutoDiscoveryProvider","ignorePermission","_modelData$relation_l","_props$objectList","_props$objectList$fin","_props$objectList$fin2","i","relationObjectId","useInstanceArchiveProvider","key_word","defaultQuery","$and","fromEntries","ignore_missing_field_error","_agentStatus","_object_id","extraParams","assign","only_my_instance","_props$presetConfigs6","_props$presetConfigs7","_props$presetConfigs8","_props$presetConfigs9","_props$presetConfigs10","hostRange","limitInstanceRange","$in","relation_limit","relationLimit","promise","onSearchExecute","call","searchTransHierRelationInstance","transHierRelation","searchTransHierRelationSource","query_relation","_x2","_x3","_x4","refreshInstanceList","_ref7","instanceListData","hideInstanceList","list","current","set","e","_x5","_x6","_x7","getFieldIds","_ref8","_props$presetConfigs11","_props$presetConfigs12","fieldConfig","_props$presetConfigs13","_props$presetConfigs14","_props$selectedRowKey2","skip","_props$onPaginationCh","onPaginationChange","updateDataTime","onChange","target","onSelectionChange","_ref9","selected","_props$onSelectionCha","selectedItems","selectedKeys","ids","has","resp","params","page_size","_x8","onSearch","_props$onSearch","onAdvancedSearch","queriesToShow","fieldToShow","_props$onAdvancedSear","onSortingChange","_ref10","_props$onSortingChang","_modelData$attrList3","_modelData$attrList3$","_modelData$attrList3$2","oldsortFields","newSortFields","_x9","_x10","pagination","_props$onPaginationCh2","onInstanceSourceChange","_props$onInstanceSour","onRelatedToMeChange","checked","_props$onRelatedToMeC","onAliveHostsChange","_props$onAliveHostsCh","toggleAutoBreakLine","toggleSearchMode","_appListResp$list","_appListResp$list2","_appListResp$list3","appListResp","clusters","appSelectChange","r","clusterSelectChange","defaultFields","_props$presetConfigs15","_state$backendDefault","_state$backendDefault2","s","handleConfirm","_ref13","_ref12","isReset","isAdminSetDisplay","onConfirm","_ref14","_props$onFieldsModalC","onFieldsModalConfirm","_props$onFieldsModalC2","_props$onFieldsModalC3","removeItem","isDefault","success","SET_DEFAULT_DISPLAY_SUCCESS","_x11","_props$notifyCurrentF","notifyCurrentFields","_props$selectedRowKey3","handleToggleFixHeader","onAdvancedSearchCloseGen","_props$onAdvancedSear2","filterAq","filteredSubQueries","Array","_Object$keys","isInstanceFilterForm","onFilterInstanceSourceChange","_props$onFilterInstan","onFilterObjectIdChange","_props$onFilterObject","onPopoverVisibleChange","visible","fixedFieldIds","fixed","createElement","spinning","Fragment","searchDisabled","advancedSearchDisabled","relatedToMeDisabled","aliveHostsDisabled","moreButtonsDisabled","className","instanceListToolbar","searchRelated","Search","placeholder","enterButton","size","style","marginLeft","marginRight","onClick","ADVANCED_SEARCH","width","showSearch","optionFilterProp","Option","options","CHOSEN_OPTIONS","count","role","CLEAR","extraOperateBricks","useBrick","onIconClicKChange","enableSearchByApp","FREE_SELECTION","APP_SELECTION","disabled","fixAliveHosts","NORMAL_HOST","RELATED_TO_ME","showHiddenInfoDisabled","DISPLAY_OMITTED_INFORMATION","showFixedHeader","marginBottom","hidden","_extends","autoSearch","hideSearchConditions","searchConditions","CURRENT_FILTER_REQUIREMENTS","closable","onClose","FUZZY_SEARCH","INSTANCE_SOURCE_TAG_TEXT","extraFilterBricks","detailUrlTemplates","selectDisabled","sortDisabled","propertyDisplayConfigs","onClickItem","onClickItemV2","filterInstanceSourceDisabled","relationLinkDisabled","pageSizeOptions","showSizeChanger","extraColumns","isOperate","operateUseBrick","ipCopy","separatorUsedInRelationData","rowSelectionType","onColumnsChange","hiddenColumns","showCustomizedSerialNumber","onRelationMoreIconClick","configProps","tableConfigProps","virtualLoading","LegacyInstanceListWrapper","setObjectList","mergeObjectList","setMergeObjectList","externalGetObjectRef","_props$objectList2","cacheData","ref_object","_object$view","_object$view$trans_hi","transHierRelationSideObjectIds","o","_list","objectIds","InstanceList"],"sources":["../../../src/instance-list/InstanceList.tsx"],"sourcesContent":["import React, {\n useEffect,\n useReducer,\n useState,\n useRef,\n useMemo,\n useCallback,\n} from \"react\";\nimport {\n difference,\n isEmpty,\n isEqual,\n isString,\n map,\n uniq,\n union,\n filter,\n reject,\n sortBy,\n uniqueId,\n findIndex,\n find,\n startsWith,\n compact,\n omit,\n keyBy,\n cloneDeep,\n isNil,\n get,\n isArray,\n} from \"lodash\";\nimport {\n BrickAsComponent,\n getRuntime,\n handleHttpError,\n useProvider,\n} from \"@next-core/brick-kit\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport {\n PropertyDisplayConfig,\n ReadPaginationChangeDetail,\n ReadSelectionChangeDetail,\n ReadSortingChangeDetail,\n UseBrickConf,\n} from \"@next-core/brick-types\";\nimport {\n CmdbModels,\n InstanceApi_PostSearchRequestBody,\n InstanceApi_PostSearchV3RequestBody,\n InstanceApi_PostSearchV3ResponseBody,\n InstanceApi_postSearchV3,\n CmdbObjectApi_getIdMapName,\n CmdbObjectApi_getObjectRef,\n CmdbObjectApi_list,\n} from \"@next-sdk/cmdb-sdk\";\nimport { Icon as LegacyIcon } from \"@ant-design/compatible\";\nimport { Button, Spin, Input, Tag, Select, Popover, message } from \"antd\";\nimport {\n getRelationObjectSides,\n forEachAvailableFields,\n getInstanceNameKeys,\n RelationIdKeys,\n RelationNameKeys,\n RelationObjectIdKeys,\n RelationObjectSides,\n isSelfRelation,\n Query,\n ElementOperators,\n LogicalOperators,\n ComparisonOperators,\n TransHierRelationType,\n} from \"@next-libs/cmdb-utils\";\nimport { JsonStorage } from \"@next-libs/storage\";\nimport { ModelObjectAttr } from \"@next-sdk/cmdb-sdk/dist/types/model/cmdb\";\n\nimport {\n ConditionType,\n AdvancedSearch,\n getFieldConditionsAndValues,\n MoreButtonsContainer,\n InstanceListTable,\n CustomColumn,\n Field,\n UseBrickAndPropertyDisplayConfig,\n} from \"../instance-list-table\";\nimport { InstanceListDrawer } from \"../instance-list-drawer/InstanceListDrawer\";\nimport styles from \"./InstanceList.module.css\";\nimport {\n extraFieldAttrs,\n CMDB_MODAL_FIELDS_SETTINGS,\n CMDB_RESOURCE_FIELDS_SETTINGS,\n objectListCache,\n} from \"./constants\";\nimport { ModelAttributeValueType } from \"../model-attribute-form-control/ModelAttributeFormControl\";\nimport { IconButton } from \"./IconButton\";\nimport { changeQueryWithCustomRules } from \"../processors\";\nimport { DisplaySettingsModalData } from \"../instance-list-table/DisplaySettingsModal\";\nimport FilterInstanceSource from \"./FilterInstanceSource\";\nimport { ColumnType } from \"antd/lib/table\";\n\nexport interface instanceArchiveRequestBody {\n // 搜索内容\n key_word?: string;\n /** 页码 */\n page?: number;\n /** 页大小 */\n page_size?: number;\n fields?: string;\n}\ninterface ISortField {\n field: string;\n order: number;\n}\ntype ObjectType = Partial<CmdbModels.ModelCmdbObject> & {\n view?: Partial<CmdbModels.ModelObjectView> & {\n trans_hier_relation_list?: TransHierRelationType[];\n };\n};\nexport interface InstanceListPresetConfigs {\n query?: Record<string, any>;\n fieldIds?: string[];\n}\nexport function joinRelationFieldAndShowkey(\n fields: string[],\n modelData: Record<string, any>,\n objectList: Record<string, any>[]\n) {\n const attrIdMap = keyBy(modelData.attrList, \"id\");\n return fields.map((field) => {\n if (attrIdMap[field]) {\n return field;\n } else {\n const relation = modelData.relation_list.find(\n (relation: any) =>\n relation.left_id === field || relation.right_id === field\n );\n if (relation) {\n const isLeft = relation.left_object_id === modelData.objectId;\n const otherSideObjectId = isLeft\n ? relation.right_object_id\n : relation.left_object_id;\n const otherSideObject = objectList.find(\n (object) => object.objectId === otherSideObjectId\n );\n const showKey = otherSideObject?.view?.show_key?.[0] ?? \"\";\n return `${field}.${showKey}`;\n } else {\n return field;\n }\n }\n });\n}\n\nexport function getQuery(\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>,\n q: string,\n fields?: string[],\n onlySearchByIp?: boolean,\n extraFixedFields?: string[]\n) {\n const query: Record<string, any> = { $or: [] };\n const queryValues = q.trim().split(/\\s+/);\n if (onlySearchByIp) {\n const searchIpFields =\n (getRuntime().getCurrentApp().config?.searchIpFields as string[]) || [];\n const queryOrs = [\n ...new Set([\n \"ip\",\n ...uniq([...searchIpFields, ...(extraFixedFields || [])]),\n ]),\n ];\n const searchValue = { $like: `%${q.trim()}%` };\n queryOrs.forEach((key) => {\n query.$or.push({ [key]: searchValue });\n });\n return query;\n }\n forEachAvailableFields(\n modelData,\n (attr) => {\n queryValues.forEach((queryValue) =>\n query.$or.push({ [attr.id]: { $like: `%${queryValue}%` } })\n );\n },\n (relation, sides) => {\n const id = relation[`${sides.this}_id` as RelationIdKeys];\n const nameKeys = getInstanceNameKeys(\n idObjectMap[relation[`${sides.that}_object_id` as RelationObjectIdKeys]]\n );\n\n queryValues.forEach((queryValue) => {\n nameKeys.forEach((nameKey) => {\n query.$or.push({\n [`${id}.${nameKey}`]: { $like: `%${queryValue}%` },\n });\n });\n });\n },\n fields,\n //istanbul ignore next\n (relation: TransHierRelationType) => {\n const relationObject = idObjectMap[relation.relation_object];\n const showKeys = relation.display_keys?.length\n ? relation.display_keys\n : getInstanceNameKeys(relationObject);\n\n queryValues.forEach((queryValue) => {\n showKeys.forEach((nameKey) => {\n query.$or.push({\n [`${relation.relation_id}.${nameKey}`]: {\n $like: `%${queryValue}%`,\n },\n });\n });\n });\n }\n );\n\n return query;\n}\n\nexport const isSpecialFn = (query: any, attrId: string) => {\n return Object.keys(query[attrId] as Query[]).some(\n (v) => v === \"$exists\" || v === \"$gte\" || v === \"$lte\"\n );\n};\n\nexport const specialQueryHandler = (query: any, key: any, queries: Query[]) => {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n const isSpecial = isSpecialFn(query, key);\n if (isSpecial) {\n return;\n }\n queries.push(query);\n};\n\nexport const isValueEqualFn = (\n query: any,\n attrId: string,\n valuesStr?: string\n) => {\n const isSpecial = isSpecialFn(query, attrId);\n if (isSpecial) return false;\n return query[attrId]\n ? valuesStr && Object.values(query[attrId]).join(\" \") !== valuesStr // 当条件是为空和不为空时,需要判断valuesStr是否存在\n : false;\n};\nexport function mergeFields(\n oldFields: ISortField[],\n newFieldIds: string[]\n): ISortField[] {\n return newFieldIds.map((field) => {\n const existField = oldFields.find((f) => f.field === field);\n const order = existField ? existField.order : 0;\n return { field, order };\n });\n}\nexport function updateSortFields(\n oldFields: ISortField[],\n sortInfo: { asc?: boolean; sort?: string },\n sortType?: string\n): ISortField[] {\n const { asc, sort } = sortInfo;\n const order = isNil(asc)\n ? 0\n : [\"series-number\", \"auto-increment-id\"].includes(sortType)\n ? asc\n ? 2\n : -2\n : asc\n ? 1\n : -1;\n return oldFields.map((item) => {\n if (item.field === sort) {\n item.order = order;\n } else {\n item.order = 0;\n }\n return item;\n });\n}\n\nexport function translateConditions(\n aq: Query[],\n idObjectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>,\n modelData: ObjectType,\n t?: () => string\n): { attrId: string; condition: string; valuesStr: string }[] {\n const conditions: {\n attrId: string;\n condition: string;\n valuesStr: string;\n }[] = [];\n const relations: any[] = [];\n const transHierRelations: {\n id: string;\n name: string;\n value: { type: string };\n relationSideId: string;\n }[] = [];\n modelData.view?.trans_hier_relation_list?.forEach((relation) => {\n const nameKeys = relation.display_keys?.length\n ? relation.display_keys\n : getInstanceNameKeys(idObjectMap[relation.relation_object]);\n nameKeys.forEach((nameKey) => {\n transHierRelations.push({\n id: `${relation.relation_id}.${nameKey}`,\n name: relation.relation_name,\n value: { type: \"str\" },\n relationSideId: relation.relation_id,\n });\n });\n });\n modelData.relation_list.forEach((relation) => {\n let sidesArr: RelationObjectSides[] = [];\n if (isSelfRelation(relation)) {\n sidesArr = [\n { this: \"left\", that: \"right\" },\n { this: \"right\", that: \"left\" },\n ];\n } else {\n sidesArr = [getRelationObjectSides(relation, modelData)];\n }\n sidesArr.forEach((sides) => {\n const objectId = relation[`${sides.this}_id` as RelationIdKeys];\n const relationObject =\n idObjectMap[\n relation[`${sides.that}_object_id` as RelationObjectIdKeys]\n ];\n const nameKeys = getInstanceNameKeys(relationObject);\n nameKeys.forEach((nameKey) => {\n const nameOfNameKey =\n find(relationObject?.attrList, [\"id\", nameKey])?.name ?? nameKey;\n const id = `${objectId}.${nameKey}`;\n const name = `${\n relation[`${sides.this}_name` as RelationNameKeys]\n }(${nameOfNameKey})`;\n relations.push({\n id,\n name,\n value: { type: \"str\" },\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n });\n });\n relations.push({\n id: `${objectId}.`,\n name: `${relation[`${sides.this}_name` as RelationNameKeys]}`,\n value: { type: \"str\" },\n relationSideId: relation[`${sides.this}_id` as RelationIdKeys],\n });\n });\n });\n const attrAndRelationList = [\n ...modelData.attrList,\n ...relations,\n ...transHierRelations,\n ];\n if (!isEmpty(aq)) {\n for (const query of aq) {\n let queries: Query[] = [query];\n if (Object.keys(query)[0] === \"$or\" || Object.keys(query)[0] === \"$and\") {\n queries = query[Object.keys(query)[0]] as Query[];\n }\n\n queries.forEach((query) => {\n const key = Object.keys(query)[0];\n const value = Object.values(query)[0];\n let attr = attrAndRelationList.find(\n (attr) => attr.id === key || attr.relationSideId === key\n );\n if (\n Object.keys(value)[0] === ElementOperators.Exists &&\n attr?.relationSideId\n ) {\n const relationSideId = attr.relationSideId;\n attr =\n attrAndRelationList.find(\n (attr) => attr.id === `${relationSideId}.`\n ) || attr;\n }\n if (attr) {\n query = changeQueryWithCustomRules(\n modelData.objectId,\n attr.id,\n query\n );\n const info = getFieldConditionsAndValues(\n query as any,\n key,\n attr.value.type as ModelAttributeValueType,\n undefined,\n undefined,\n modelData.objectId,\n attr.id,\n attr.value.mode\n );\n if (\n ![\n ConditionType.Between,\n ConditionType.Empty,\n ConditionType.NotEmpty,\n ConditionType.False,\n ConditionType.True,\n ].includes(info.currentCondition.type)\n ) {\n info.values = info.values.map((v) =>\n isString(v) && v.includes(\" \") ? v.replace(/^\"+|\"+$/g, \"\") : v\n );\n }\n\n let condition = `${attr.name}: ${info.currentCondition.label}`;\n if (\n ![ConditionType.Empty, ConditionType.NotEmpty].includes(\n info.currentCondition.type\n )\n ) {\n condition += `\"${info.values.join(\" ~ \")}\"`;\n }\n const curCondition = {\n attrId: key,\n condition,\n valuesStr: info.queryValuesStr,\n };\n if (\n conditions.every(\n (v) => !isEqual(omit(v, \"attrId\"), omit(curCondition, \"attrId\"))\n )\n ) {\n conditions.push(curCondition);\n }\n }\n });\n }\n }\n\n return conditions;\n}\n\nfunction newKey(fieldIds: string[], aq: Query[]): string {\n let key = \"\";\n if (!isEmpty(fieldIds)) {\n key += fieldIds.join(\"-\");\n }\n if (!isEmpty(aq)) {\n key += `-${aq.length}`;\n }\n return key;\n}\nconst isOfStruct = (\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n fieldId: string\n) => {\n const structFields = modelData.attrList\n .filter(\n (attr: Partial<ModelObjectAttr>) =>\n attr.value.type === \"struct\" || attr.value.type === \"structs\"\n )\n ?.map((attr) => {\n const structs: string[] = [];\n attr.value.struct_define.forEach((struct) => {\n structs.push(`${attr.id}.${struct.id}`);\n });\n return structs;\n })\n .flat();\n return structFields.includes(fieldId);\n};\n\nconst isOfBoolean = (\n attrList: Partial<CmdbModels.ModelObjectAttr>[],\n fieldId: string\n): boolean => {\n const keyAttrMap = keyBy(attrList, \"id\");\n return keyAttrMap[fieldId]?.value.type === ModelAttributeValueType.BOOLEAN;\n};\n\nexport const initAqToShow = (\n aq: Query[],\n modelData: Partial<CmdbModels.ModelCmdbObject>,\n isToShow = true\n) => {\n let newAqToShow: any[] = [];\n if (aq) {\n aq.forEach((query) => {\n const aqToShow = Object.entries(query).map(([key, expressions]) => {\n let newExpressions: any[] = [];\n if (key === LogicalOperators.Or || key === LogicalOperators.And) {\n const firstSubQuery = (expressions as Query[])[0];\n const fieldId = Object.keys(firstSubQuery)[0];\n const isStruct = isOfStruct(modelData, fieldId);\n const isBool = isOfBoolean(modelData.attrList, fieldId);\n const structQueries: Record<string, any> = (\n expressions as Query[]\n ).filter((expression) => Object.keys(expression)[0] === fieldId);\n if (isStruct && isToShow) {\n const structExpressions = structQueries.map((item: any) => ({\n [fieldId.split(\".\")[0]]: item[fieldId],\n }));\n newExpressions = [...newExpressions, ...structExpressions];\n } else if (isBool && !isToShow) {\n const boolExpressions = (expressions as Query[]).map(\n (expression) => {\n const targetValue = expression[fieldId] as Record<\n ComparisonOperators,\n any\n >;\n if (typeof Object.values(targetValue)[0] === \"string\") {\n return {\n [fieldId]: {\n [Object.keys(targetValue)[0]]:\n Object.values(targetValue)[0] === \"true\",\n },\n };\n } else {\n return expression;\n }\n }\n );\n newExpressions = [...newExpressions, ...boolExpressions];\n } else {\n newExpressions = [...newExpressions, ...(expressions as Query[])];\n }\n return { [key]: newExpressions };\n } else {\n return query;\n }\n });\n newAqToShow = [...newAqToShow, ...aqToShow];\n });\n return newAqToShow;\n }\n return;\n};\n\nexport interface filterObjectIdQuery {\n objectId?: string;\n objectName?: string;\n query?: Record<string, string>;\n checked?: boolean;\n}\n\ninterface FixedField {\n field: string;\n fixed?: boolean;\n}\n\nexport type ExtraFixedFields = string[] | FixedField[];\n\n// 判断是不是字符串数组\nfunction isStringArray(arr: ExtraFixedFields): boolean {\n return isArray(arr) && (arr as any[]).every((item) => isString(item));\n}\n// 格式化extraFixedFields\nfunction getExtraFixedFields(fields: ExtraFixedFields): string[] {\n if (isNil(fields) || isStringArray(fields)) {\n return fields as string[];\n } else {\n return (fields as FixedField[]).map((v: FixedField) => v.field);\n }\n}\n\nexport interface InstanceListProps {\n objectId: string;\n objectList?: ObjectType[];\n detailUrlTemplates?: Record<string, string>;\n presetConfigs?: InstanceListPresetConfigs;\n permission?: string[];\n q?: string;\n searchDisabled?: boolean;\n sortDisabled?: boolean;\n aq?: Query[];\n aqToShow?: Query[];\n advancedSearchDisabled?: boolean;\n page?: number;\n pageSize?: number;\n sort?: string;\n asc?: boolean;\n relatedToMe?: boolean;\n relatedToMeDisabled?: boolean;\n showHiddenInfoDisabled?: boolean;\n moreButtonsDisabled?: boolean;\n aliveHosts?: boolean;\n fixAliveHosts?: boolean;\n aliveHostsDisabled?: boolean;\n propertyDisplayConfigs?: UseBrickAndPropertyDisplayConfig[];\n selectedRowKeys?: string[];\n selectDisabled?: boolean;\n pageSizeOptions?: string[];\n showSizeChanger?: boolean;\n filterInstanceSourceDisabled?: boolean;\n instanceSourceQuery?: string;\n isInstanceFilterForm?: boolean;\n onSearchExecute?(\n data: InstanceApi_PostSearchRequestBody,\n v3Data: InstanceApi_PostSearchV3RequestBody\n ): Promise<InstanceApi_PostSearchV3ResponseBody> | void;\n onSearch?(value: string): void;\n onAdvancedSearch?(queries: Query[]): void;\n onClickItem?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n id: string\n ): void;\n onClickItemV2?(\n evt: React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n record: Record<string, any>\n ): void;\n onPaginationChange?(pagination: ReadPaginationChangeDetail): void;\n onSortingChange?(sorting: ReadSortingChangeDetail): void;\n onSelectionChange?(selection: ReadSelectionChangeDetail): void;\n onRelatedToMeChange?(value: boolean): void;\n onAliveHostsChange?(value: boolean): void;\n onInstanceSourceChange?(instanceResource: string): void;\n onFieldsModalConfirm?(fields: Record<string, any>): void;\n relationLinkDisabled?: boolean;\n notifyCurrentFields?: (fiels: string[]) => void;\n defaultQuery?: { [fieldId: string]: any }[];\n extraFilterBricks?: {\n useBrick: UseBrickConf;\n };\n extraColumns?: CustomColumn[];\n isOperate?: boolean;\n operateUseBrick?: UseBrickConf;\n extraDisabledField?: string;\n hideSearchConditions?: boolean;\n onlySearchByIp?: boolean;\n target?: string;\n ipCopy?: boolean;\n enableSearchByApp?: boolean;\n dataSource?: {\n list: Record<string, any>[];\n total?: number;\n page?: number;\n pageSize?: number;\n };\n separatorUsedInRelationData?: string;\n hideInstanceList?: boolean;\n autoSearch?: (fields: Field[]) => void;\n disabledDefaultFields?: boolean;\n showTooltip?: boolean;\n showFixedHeader?: boolean;\n rowSelectionType?: \"checkbox\" | \"radio\";\n useAutoDiscoveryProvider?: boolean;\n extraParams?: Record<string, any>;\n // 指定固定显示的field,与presetConfigs的fieldIds同时生效,支持在最后固定列展示\n extraFixedFields?: ExtraFixedFields;\n // 如果在presetConfigs的query参数中指定了资源的范围,\"按应用筛选\"的功能是否也要限定资源的范围\n limitInstanceRange?: boolean;\n useInstanceArchiveProvider?: boolean;\n placeholder?: string;\n extraOperateBricks?: {\n useBrick: UseBrickConf;\n };\n updateDataTime?: number;\n // 是否开启实例来源筛选\n showFilterInstanceSource?: boolean;\n filterInstanceSource?: boolean;\n onFilterInstanceSourceChange?(value: boolean): void;\n onFilterObjectIdChange?(query: filterObjectIdQuery): void;\n objectIdQuery?: string;\n ignorePermission?: boolean;\n saveFieldsBackend?: boolean;\n onColumnsChange?: (columns: ColumnType<{ dataIndex: string }>[]) => void;\n useExternalCmdbApi?: boolean;\n externalSourceId?: string;\n hiddenColumns?: Array<string>;\n showCustomizedSerialNumber?: boolean;\n relationLimit?: number;\n onRelationMoreIconClick?: (record: Record<string, any>) => void;\n tableConfigProps?: Record<string, any>;\n //跨级关系,查询某个实例下的某条跨级关系数据\n searchTransHierRelationInstance?: boolean;\n transHierRelation?: TransHierRelationType;\n searchTransHierRelationSource?: { objectId: string; instanceId: string };\n}\n\ninterface InstanceListState {\n objectId: string;\n q: string;\n aq: Query[];\n aqToShow?: Query[];\n instanceSourceQuery: string;\n asc: boolean;\n sort: string;\n page: number;\n pageSize: number;\n aliveHosts: boolean;\n relatedToMe: boolean;\n inited: boolean;\n loading: boolean;\n failed: boolean;\n idObjectMap?: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n instanceListData?: InstanceApi_PostSearchV3ResponseBody;\n isAdvancedSearchVisible: boolean;\n fieldIds: string[];\n autoBreakLine: boolean;\n fieldToShow?: Record<string, any[]>[];\n appSearchInstanceId?: string;\n currentChangeSelect?: string;\n appSelectValue?: string;\n clusterValue?: string;\n appList?: Record<string, any>[];\n clusterList?: Record<string, any>[];\n searchByApp?: boolean;\n showTooltip?: boolean;\n presetConfigsQuery?: Record<string, any>;\n filterInstanceSource?: boolean;\n objectIdQuery?: string;\n instanceSourcePopoverVisible?: boolean;\n sortFields?: { field: string; order: number }[];\n backendDefaultFields?: { field: string; order: number }[];\n}\n\nexport function LegacyInstanceList(\n props: InstanceListProps\n): React.ReactElement {\n const { showTooltip = true } = props;\n const baseList = [\n {\n instanceId: \"all\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ALL_CLUSTER}`),\n },\n ];\n const jsonLocalStorage = new JsonStorage(localStorage);\n const reducer = (\n prevState: InstanceListState,\n updatedProperty: Partial<InstanceListState>\n ): InstanceListState => {\n return {\n ...prevState,\n ...updatedProperty,\n };\n };\n // 资源自动发现页面24小时发现主机抽屉的实例列表处,通用的postSearchV3接口无法查到正确结果,需要用下面的接口替换,参数里也要加上jobId:***\n // 为了不影响其他地方的实例列表,在该处加一个useAutoDiscoveryProvider参数,该参数为undefined或false的,仍调用原接口\n\n const listProvider = useProvider(\n \"easyops.api.cmdb.job@SearchResource:1.0.1\",\n { cache: false }\n );\n const instanceArchiveListProvider = useProvider(\n \"providers-of-cmdb.instance-archive-api-list-archive-instance\",\n {\n cache: false,\n }\n );\n const ignorePermissionProvider = useProvider(\n \"easyops.api.cmdb.instance@PostSearchV3WithAdmin:1.0.0\",\n { cache: false }\n );\n\n const searchRelationInstanceProvider = useProvider(\n \"easyops.api.cmdb.instance@SearchRelationInstance:1.1.0\",\n { cache: false }\n );\n // istanbul ignore next\n\n const fieldsProvider = useProvider(\n \"easyops.api.cmdb.instance@GetListDisplayView:1.0.1\",\n { cache: false }\n );\n\n // istanbul ignore next\n const updateFieldsProvider = useProvider(\n \"easyops.api.cmdb.instance@UpdateListDisplayView:1.0.0\",\n {\n cache: false,\n onError: (error) => {\n // istanbul ignore next\n throw error;\n },\n }\n );\n\n // 用于外部调用的接口, 当useExternalCmdbApi为true,才调用这些接口\n const externalPostSearchV3 = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyPostSearchV3:1.0.1\",\n { cache: false }\n );\n const externalGetIdMapName = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetIdMapName:1.0.1\",\n { cache: false }\n );\n const externalFieldsProvider = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetListDisplayView:1.0.0\",\n { cache: false }\n );\n const externalUpdateFieldsProvider = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyUpdateListDisplayView:1.0.0\",\n { cache: false }\n );\n\n const { modelData, idObjectMap } = useMemo(() => {\n let modelData: ObjectType;\n const idObjectMap: Record<string, ObjectType> = {};\n props.objectList.forEach((object) => {\n idObjectMap[object.objectId] = object;\n if (object.objectId === props.objectId) {\n modelData = object;\n modelData.attrList = !props.disabledDefaultFields\n ? union(object.attrList, extraFieldAttrs)\n : object.attrList;\n }\n });\n\n return { modelData, idObjectMap };\n }, [props.objectList, props.objectId]);\n\n const processFixedFields = useMemo(() => {\n return getExtraFixedFields(props?.extraFixedFields);\n }, [props.extraFixedFields]);\n\n const [inheritanceModelIdNameMap, setInheritanceModelIdNameMap] = useState<\n Record<string, string>\n >({});\n const [fixedHeader, setFixHeader] = useState(false);\n\n const fetchInheritanceModelIdNameMap = async (\n modelData: Partial<CmdbModels.ModelCmdbObject>\n ): Promise<void> => {\n let idNameMap = {};\n if (modelData.isAbstract) {\n if (props.useExternalCmdbApi) {\n idNameMap = await externalGetIdMapName.query([\n {\n parentObjectId: modelData.objectId,\n sourceId: props.externalSourceId,\n },\n ]);\n } else {\n idNameMap = await CmdbObjectApi_getIdMapName({\n parentObjectId: modelData.objectId,\n } as any);\n }\n props.showFilterInstanceSource &&\n jsonLocalStorage.setItem(`instances-sources-objectId-name-map`, {\n parentObjectId: modelData.objectId,\n query: props.presetConfigs?.query,\n idNameMap,\n });\n }\n setInheritanceModelIdNameMap(idNameMap);\n };\n\n useEffect(() => {\n fetchInheritanceModelIdNameMap(modelData);\n }, [modelData]);\n\n const computeDefaultFields = (\n { inModal } = { inModal: false }\n ): { fieldIds: string[] } => {\n // 针对 显示字段,默认优先拿排序的字段,再去拿属性字段\n const settings: any = inModal\n ? CMDB_MODAL_FIELDS_SETTINGS\n : CMDB_RESOURCE_FIELDS_SETTINGS;\n const ignoredFields: string[] = (\n settings.ignoredFields[modelData.objectId] || []\n ).concat(modelData.view.hide_columns || []);\n const sortFields = modelData.view.attr_order || [];\n const allFields = [\n ...new Set([...sortFields, ...map(modelData.attrList, \"id\")]),\n ];\n const fieldIds: string[] = difference(allFields, ignoredFields).slice(0, 8);\n return { fieldIds };\n };\n\n // 根据用户预定义的 presetConfigs.fieldIds 进行排序,如果不在预定义的字段,则根据 fieldIds 进行排序\n const _sortFieldIds = (fieldIds: any[]) => {\n let frontFields: any[] = [];\n let restFields: any[] = [];\n if (props.presetConfigs?.fieldIds) {\n frontFields = filter(props.presetConfigs.fieldIds, (id) =>\n fieldIds.includes(id)\n );\n }\n restFields = reject(fieldIds, (id) => frontFields.includes(id));\n\n return [...frontFields, ...restFields];\n };\n // istanbul ignore next\n\n const getFieldsAsync = async () => {\n let sort = props.sort;\n let fieldIds = props.presetConfigs?.fieldIds;\n const sortType = modelData?.attrList?.find((attr) => attr.id === sort)\n ?.value?.default_type;\n let asc, sortFields;\n let backendDefaultFields;\n if (props.asc === true) {\n asc = [\"series-number\", \"auto-increment-id\"].includes(sortType) ? 2 : 1;\n } else {\n asc = [\"series-number\", \"auto-increment-id\"].includes(sortType) ? -2 : -1;\n }\n if (props.useExternalCmdbApi) {\n sortFields = (\n (await externalFieldsProvider.query([\n { object_id: props.objectId, sourceId: props.externalSourceId },\n ])) as {\n sortFields: ISortField[];\n object_id: string;\n }\n ).sortFields;\n } else {\n // 获取用户配置的显示列\n const returnData = (await fieldsProvider.query([props.objectId])) as {\n sortFields: ISortField[];\n object_id: string;\n defaultSortFields: ISortField[];\n };\n sortFields = returnData.sortFields;\n backendDefaultFields = returnData.defaultSortFields;\n }\n const extraFixedFieldIds = processFixedFields ?? [];\n if (isEmpty(fieldIds)) {\n fieldIds = sortFields.map((item) => item.field);\n if (isEmpty(sort) || isEmpty(asc)) {\n const orderField = sortFields.find((item) => item.order !== 0);\n if (orderField) {\n sort = orderField.field;\n asc = orderField.order;\n }\n }\n }\n if (isEmpty(fieldIds)) {\n fieldIds = computeDefaultFields().fieldIds;\n }\n if (!isEmpty(extraFixedFieldIds)) {\n fieldIds = uniq([...fieldIds, ...extraFixedFieldIds]);\n }\n fieldIds = props.extraDisabledField\n ? uniq([...fieldIds, props.extraDisabledField])\n : fieldIds;\n fieldIds = _sortFieldIds(fieldIds);\n const hideModelData: string[] = modelData.view.hide_columns || [];\n fieldIds = fieldIds.filter((field) => !hideModelData.includes(field));\n modelData.isAbstract && fieldIds.push(\"_object_id\");\n return { fieldIds, sort, asc, sortFields, backendDefaultFields };\n };\n\n const getFields = () => {\n let fieldIds = props.presetConfigs?.fieldIds;\n const extraFixedFieldIds = processFixedFields ?? [];\n if (isEmpty(fieldIds)) {\n fieldIds = jsonLocalStorage.getItem(\n `${modelData.objectId}-selectAttrIds`\n );\n }\n if (isEmpty(fieldIds)) {\n fieldIds = computeDefaultFields().fieldIds;\n }\n if (!isEmpty(extraFixedFieldIds)) {\n fieldIds = uniq([...fieldIds, ...extraFixedFieldIds]);\n }\n fieldIds = props.extraDisabledField\n ? uniq([...fieldIds, props.extraDisabledField])\n : fieldIds;\n fieldIds = _sortFieldIds(fieldIds);\n const hideModelData: string[] = modelData.view.hide_columns || [];\n fieldIds = fieldIds.filter((field) => !hideModelData.includes(field));\n modelData.isAbstract && fieldIds.push(\"_object_id\");\n return fieldIds;\n };\n\n const [q, setQ] = useState(props.q);\n const [state, setState] = useReducer(reducer, undefined, () => ({\n objectId: props.objectId,\n q: props.q,\n aq: initAqToShow(props.aq, modelData, false),\n sortFields: [],\n aqToShow: props.aqToShow || initAqToShow(props.aq, modelData),\n instanceSourceQuery: props.instanceSourceQuery,\n asc: props.asc,\n sort: props.sort,\n page: props.dataSource?.page ?? props.page ?? 1,\n pageSize: props.dataSource?.pageSize ?? props.pageSize ?? 10,\n aliveHosts: props.aliveHosts,\n relatedToMe: props.relatedToMe,\n objectIdQuery: props.objectIdQuery,\n filterInstanceSource: props.filterInstanceSource,\n instanceSourcePopoverVisible: false,\n inited: false,\n loading: false,\n failed: false,\n isAdvancedSearchVisible: false,\n fieldIds: props.saveFieldsBackend ? [] : getFields(),\n presetConfigsQuery: props.presetConfigs?.query,\n autoBreakLine: false,\n appSearchInstanceId: \"\",\n currentChangeSelect: \"App\",\n appSelectValue: \"\",\n clusterValue: \"all\",\n appList: [],\n clusterList: [\n {\n instanceId: \"all\",\n name: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ALL_CLUSTER}`),\n },\n ],\n searchByApp: false,\n backendDefaultFields: [],\n }));\n const [selectedRowKeys, setSelectedRowKeys] = useState(\n props.selectedRowKeys ?? []\n );\n const cache = useRef(new Map<string, InstanceApi_PostSearchV3ResponseBody>());\n const isFirstRunRef = useRef(true);\n\n // useExternalCmdbApi为true,外部接口参数\n const externalRequestParams = useMemo(() => {\n return {\n objectId: props.objectId,\n sourceId: props.externalSourceId,\n };\n }, [props.objectId, props.externalSourceId]);\n\n const getInstanceListData = async (\n sort: string,\n asc: boolean,\n page: number\n ): Promise<InstanceApi_PostSearchV3ResponseBody> => {\n const data: InstanceApi_PostSearchRequestBody = {};\n const v3Data: InstanceApi_PostSearchV3RequestBody = {\n fields: processFixedFields\n ? uniq([\"instanceId\"].concat(processFixedFields))\n : [\"instanceId\"],\n };\n if (!isEmpty(props.permission)) {\n v3Data.permission = data.permission = props.permission;\n }\n\n const archiveData: instanceArchiveRequestBody = {};\n let query: Record<string, any> = {};\n\n v3Data.page = data.page = archiveData.page = page;\n v3Data[\"page_size\"] =\n data[\"page_size\"] =\n archiveData[\"page_size\"] =\n state.pageSize;\n const sortType = modelData?.attrList?.find((attr) => attr.id === sort)\n ?.value?.default_type;\n const order = [\"series-number\", \"auto-increment-id\"].includes(sortType)\n ? asc\n ? 2\n : -2\n : asc\n ? 1\n : -1;\n if (sort) {\n data.sort = { [sort]: order };\n let relationObjectShowKeys: string[] = [];\n if (\n !props.useExternalCmdbApi &&\n !props.useAutoDiscoveryProvider &&\n !props.ignorePermission\n ) {\n const relation = modelData?.relation_list?.find((i) =>\n i.right_object_id === props.objectId\n ? sort === i.right_id\n : sort === i.left_id\n );\n const relationObjectId =\n relation?.right_object_id === props.objectId\n ? relation?.left_object_id\n : relation?.right_object_id;\n relationObjectShowKeys = props.objectList?.find(\n (i) => i.objectId === relationObjectId\n )?.view?.show_key;\n }\n v3Data.sort = relationObjectShowKeys?.length\n ? relationObjectShowKeys.map((i) => ({ key: `${sort}.${i}`, order }))\n : [{ key: sort, order }];\n }\n\n if (state.q) {\n query = getQuery(\n modelData,\n idObjectMap,\n state.q,\n state.fieldIds,\n props.onlySearchByIp,\n processFixedFields\n );\n }\n\n if (state.q && props.useInstanceArchiveProvider) {\n archiveData.key_word = state.q;\n }\n if (!isEmpty(state.aq)) {\n query[LogicalOperators.And] = state.aq;\n }\n\n if (!isEmpty(props.defaultQuery)) {\n query[LogicalOperators.And] = [\n ...(query[LogicalOperators.And] || []),\n ...props.defaultQuery,\n ];\n }\n if (props.presetConfigs) {\n if (!isEmpty(props.presetConfigs.query)) {\n if (Object.keys(query).length) {\n query = {\n $and: [query, props.presetConfigs.query],\n };\n } else {\n query = props.presetConfigs.query;\n }\n }\n }\n if (state.fieldIds) {\n data.fields = Object.fromEntries(\n state.fieldIds.map((fieldId) => [fieldId, true])\n );\n v3Data.fields = [\n ...state.fieldIds,\n ...v3Data.fields,\n ...(modelData.isAbstract ? [\"_object_id\"] : []),\n ];\n (v3Data as any).ignore_missing_field_error = true;\n }\n if (props.useAutoDiscoveryProvider) {\n v3Data.fields = joinRelationFieldAndShowkey(\n v3Data.fields,\n modelData,\n props.objectList\n );\n }\n if (props.useInstanceArchiveProvider) {\n archiveData.fields = v3Data.fields.join(\",\");\n }\n if (state.aliveHosts && props.objectId === \"HOST\") {\n query = { ...query, _agentStatus: \"正常\" };\n }\n if (state.instanceSourceQuery) {\n query = { ...query, _object_id: state.instanceSourceQuery };\n }\n\n if (!isEmpty(query)) {\n v3Data.query = data.query = query;\n }\n // useAutoDiscoveryProvider=true, 使用useProvider的接口,请求参数里加上extraParams\n\n if (props.useAutoDiscoveryProvider && !isEmpty(props.extraParams)) {\n Object.assign(v3Data, props.extraParams);\n }\n if (state.relatedToMe) {\n v3Data.only_my_instance = data.only_my_instance = state.relatedToMe;\n }\n //按应用筛选\n // istanbul ignore next (state is not updated)\n if (state.searchByApp) {\n const hostRange = props.presetConfigs?.query?.[\"$and\"]?.find(\n (i: any) => i.instanceId\n )?.instanceId?.[\"$in\"];\n v3Data.query = {\n [state.currentChangeSelect === \"App\" ||\n (state.currentChangeSelect === \"Cluster\" &&\n state.clusterValue === \"all\")\n ? \"_deviceList_CLUSTER.appId.instanceId\"\n : \"_deviceList_CLUSTER.instanceId\"]: state.appSearchInstanceId,\n ...(!isEmpty(hostRange) && props.limitInstanceRange\n ? {\n instanceId: { $in: hostRange },\n }\n : {}),\n ...(state.aliveHosts && props.objectId === \"HOST\"\n ? { _agentStatus: \"正常\" }\n : {}),\n };\n }\n\n if (!(props.useExternalCmdbApi || props.useAutoDiscoveryProvider)) {\n v3Data.relation_limit =\n isNil(props.relationLimit) || props.relationLimit === 0\n ? 0\n : props.relationLimit + 1;\n }\n\n if (props.useInstanceArchiveProvider) {\n return instanceArchiveListProvider.query([props.objectId, archiveData]);\n }\n const promise = props.onSearchExecute?.(data, v3Data);\n // useAutoDiscoveryProvider=true, 使用useProvider的接口\n // useExternalCmdbApi= true 使用外部接口externalPostSearchV3\n return promise\n ? promise\n : props.useExternalCmdbApi\n ? externalPostSearchV3.query([\n {\n ...v3Data,\n ...externalRequestParams,\n },\n ])\n : props.useAutoDiscoveryProvider\n ? listProvider.query([props.objectId, v3Data])\n : props.ignorePermission\n ? ignorePermissionProvider.query([props.objectId, v3Data])\n : props.searchTransHierRelationInstance &&\n props.transHierRelation?.relation_id &&\n props.searchTransHierRelationSource\n ? searchRelationInstanceProvider.query([\n props.searchTransHierRelationSource.objectId,\n props.transHierRelation.relation_id,\n props.searchTransHierRelationSource.instanceId,\n { query_relation: v3Data.query, ...v3Data },\n ])\n : InstanceApi_postSearchV3(props.objectId, v3Data); //涉及到v3data的请求\n };\n\n const refreshInstanceList = async (\n sort: string,\n asc: boolean,\n page: number\n ): Promise<void> => {\n setState({ loading: true });\n try {\n if (props.dataSource) {\n setState({\n idObjectMap: idObjectMap,\n instanceListData: props.dataSource,\n });\n } else {\n if (!props.hideInstanceList) {\n const instanceListData = (await getInstanceListData(\n sort,\n asc,\n page\n )) || { list: [] };\n instanceListData.list.forEach((i) =>\n cache.current.set(i.instanceId, i)\n );\n setState({ idObjectMap: idObjectMap, instanceListData });\n } else {\n setState({\n idObjectMap: idObjectMap,\n instanceListData: [] as InstanceApi_PostSearchV3ResponseBody,\n });\n }\n }\n } catch (e) {\n handleHttpError(e);\n // 为了接口报错,不把整页面列干掉,去掉 failed: true 这个逻辑\n setState({\n idObjectMap: idObjectMap,\n instanceListData: [] as InstanceApi_PostSearchV3ResponseBody,\n });\n } finally {\n setState({ inited: true, loading: false });\n }\n };\n // const [fieldIds,setFieldIds] = useState([]);\n // istanbul ignore next\n useEffect(() => {\n if (props.saveFieldsBackend) {\n const getFieldIds = async () => {\n const fieldConfig = await getFieldsAsync();\n const { fieldIds, sort, asc, sortFields, backendDefaultFields } =\n fieldConfig;\n if (\n // 当 props.objectId 改变时,总是更新 state.fieldIds\n props.objectId !== state.objectId ||\n !isEqual(fieldIds, state.fieldIds) ||\n !isEqual(props.presetConfigs?.query, state.presetConfigsQuery)\n )\n setState({\n fieldIds,\n presetConfigsQuery: props.presetConfigs?.query,\n sort,\n asc: [1, 2].includes(asc) ? true : false,\n sortFields,\n backendDefaultFields,\n });\n };\n getFieldIds();\n } else {\n const fieldIds = getFields();\n if (\n // 当 props.objectId 改变时,总是更新 state.fieldIds\n props.objectId !== state.objectId ||\n !isEqual(fieldIds, state.fieldIds) ||\n !isEqual(props.presetConfigs?.query, state.presetConfigsQuery)\n ) {\n setState({\n fieldIds,\n presetConfigsQuery: props.presetConfigs?.query,\n });\n }\n }\n }, [props.objectId, props.presetConfigs, processFixedFields]);\n\n useEffect(() => {\n setSelectedRowKeys(props.selectedRowKeys ?? []);\n }, [props.objectId, props.selectedRowKeys]);\n\n // on filter condition change\n useEffect(() => {\n if (isFirstRunRef.current) {\n isFirstRunRef.current = false;\n return;\n }\n\n let skip = false;\n\n if (state.page !== 1) {\n setState({ page: 1 });\n props.onPaginationChange?.({ page: 1, pageSize: state.pageSize });\n skip = true;\n }\n\n // 当 prop.objectId 改变时先跳过,等 state.fieldIds 更新后再获取数据\n if (props.objectId !== state.objectId) {\n setState({ objectId: props.objectId });\n skip = true;\n }\n\n if (skip) {\n return;\n }\n\n refreshInstanceList(state.sort, state.asc, 1);\n }, [\n state.q,\n state.aq,\n state.instanceSourceQuery,\n state.pageSize,\n state.aliveHosts,\n state.relatedToMe,\n props.objectId,\n props.permission,\n props.defaultQuery,\n ]);\n\n useEffect(() => {\n setQ(props.q);\n setState({ q: props.q });\n }, [props.q]);\n\n // on other condition change\n useEffect(() => {\n if (isEmpty(state.fieldIds)) return;\n refreshInstanceList(state.sort, state.asc, state.page);\n }, [\n state.page,\n state.sort,\n state.asc,\n state.fieldIds,\n state.appSearchInstanceId,\n state.currentChangeSelect,\n state.searchByApp,\n props.dataSource,\n state.presetConfigsQuery,\n props.updateDataTime,\n ]);\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setQ(e.target.value);\n };\n\n // istanbul ignore next\n const onSelectionChange = useCallback(\n async (selected: { selectedKeys: string[]; selectedItems: any[] }) => {\n let { selectedItems, selectedKeys } = selected;\n setSelectedRowKeys(selectedKeys);\n if (selectedKeys.length > compact(selectedItems).length) {\n const ids = selectedKeys.filter((id) => !cache.current.has(id));\n if (ids.length) {\n let resp;\n const params: any = {\n fields: [\"instanceId\"],\n query: {\n instanceId: {\n $in: ids,\n },\n },\n page_size: ids.length,\n page: 1,\n };\n\n if (!(props.useExternalCmdbApi || props.useAutoDiscoveryProvider)) {\n params.relation_limit =\n isNil(props.relationLimit) || props.relationLimit === 0\n ? 0\n : props.relationLimit + 1;\n }\n // useExternalCmdbApi为true,使用外部接口PostSearchV3\n if (props.useExternalCmdbApi) {\n resp = await externalPostSearchV3.query([\n {\n ...params,\n ...externalRequestParams,\n },\n ]);\n } else if (props.useAutoDiscoveryProvider) {\n // useAutoDiscoveryProvider=true, 使用useProvider的接口,虽然这里列表用不到选择功能,但还是加上保持统一\n resp = await listProvider.query([\n props.objectId,\n Object.assign(params, props.extraParams),\n ]);\n } else if (props.ignorePermission) {\n resp = await ignorePermissionProvider.query([\n props.objectId,\n Object.assign(params, props.extraParams),\n ]);\n } else {\n resp = await InstanceApi_postSearchV3(props.objectId, params);\n }\n resp.list.forEach((i: Record<string, any>) =>\n cache.current.set(i.instanceId, i)\n );\n }\n selectedItems = selectedKeys.map((id) => cache.current.get(id));\n }\n props.onSelectionChange?.({ selectedItems, selectedKeys });\n },\n []\n );\n\n const onSearch = (value: string) => {\n const q = value.trim();\n setState({ q });\n props.onSearch?.(q);\n };\n\n const onAdvancedSearch = (\n queries: Query[],\n queriesToShow: Query[],\n fieldToShow: Record<string, any[]>[]\n ) => {\n setState({\n aq: queries,\n fieldToShow,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n\n const onSortingChange = useCallback(\n async (info: ReadSortingChangeDetail, sortFields?: ISortField[]) => {\n let asc: boolean;\n let sort: string;\n if (info.asc === undefined) {\n if (!state.sort) {\n return;\n }\n\n setState({ asc: undefined, sort: undefined });\n } else {\n setState({ asc: info.asc, sort: info.sort });\n asc = info.asc;\n sort = info.sort;\n }\n // istanbul ignore next\n if (\n props.saveFieldsBackend &&\n sortFields.find((item) => item.field === info.sort)\n ) {\n try {\n const oldsortFields = sortFields;\n const sortType = modelData?.attrList?.find((attr) => attr.id === sort)\n ?.value?.default_type;\n const newSortFields = updateSortFields(oldsortFields, info, sortType);\n setState({\n sortFields: newSortFields,\n });\n if (props.useExternalCmdbApi) {\n await externalUpdateFieldsProvider.query([\n {\n object_id: props.objectId,\n sourceId: props.externalSourceId,\n sortFields: newSortFields,\n },\n ]);\n } else {\n await updateFieldsProvider.query([\n props.objectId,\n { sortFields: newSortFields },\n ]);\n }\n } catch (e) {\n handleHttpError;\n }\n }\n // istanbul ignore next\n props.onSortingChange?.(info);\n },\n [state.sort]\n );\n\n const onPaginationChange = useCallback(\n (pagination: ReadPaginationChangeDetail) => {\n setState({ page: pagination.page, pageSize: pagination.pageSize });\n props.onPaginationChange?.(pagination);\n },\n []\n );\n\n const onInstanceSourceChange = useCallback((instanceSourceQuery: string) => {\n setState({ instanceSourceQuery });\n props.onInstanceSourceChange?.(instanceSourceQuery);\n }, []);\n\n const onRelatedToMeChange = (checked: boolean) => {\n setState({ relatedToMe: checked });\n props.onRelatedToMeChange?.(checked);\n };\n\n const onAliveHostsChange = (checked: boolean) => {\n setState({ aliveHosts: checked });\n props.onAliveHostsChange?.(checked);\n };\n\n const toggleAutoBreakLine = (autoBreakLine: boolean) => {\n setState({ autoBreakLine });\n };\n // istanbul ignore next (state is not updated)\n const toggleSearchMode = React.useCallback(async () => {\n if (!state.searchByApp) {\n let appListResp: any;\n const params: any = {\n fields: [\"clusters\", \"instanceId\", \"name\"],\n sort: [{ key: \"name\", order: 1 }],\n page: 1,\n page_size: 3000,\n ...(props.useExternalCmdbApi ? externalRequestParams : {}),\n };\n // useExternalCmdbApi为true,使用外部接口PostSearchV3\n if (props.useExternalCmdbApi) {\n appListResp = await externalPostSearchV3.query([params]);\n } else {\n appListResp = await InstanceApi_postSearchV3(\"APP\", params);\n }\n\n setState({\n appSearchInstanceId: appListResp.list?.[0].instanceId || \"\",\n appList: appListResp.list,\n clusterList: [...baseList, ...(appListResp.list?.[0].clusters || [])],\n searchByApp: true,\n appSelectValue: appListResp.list?.[0].instanceId || \"\",\n clusterValue: \"all\",\n page: 1,\n });\n } else {\n setState({ searchByApp: false, page: 1 });\n }\n }, [state.searchByApp]);\n // istanbul ignore next (state is not updated)\n const appSelectChange = (v: string) => {\n setState({\n appSearchInstanceId: v,\n currentChangeSelect: \"App\",\n appSelectValue: v,\n clusterValue: \"all\",\n clusterList: [\n ...baseList,\n ...state.appList.find((r) => r.instanceId === v).clusters,\n ],\n });\n };\n // istanbul ignore next (state is not updated)\n const clusterSelectChange = (v: string) => {\n setState({\n appSearchInstanceId: v === \"all\" ? state.appSelectValue : v,\n currentChangeSelect: \"Cluster\",\n clusterValue: v,\n });\n };\n\n // 后台返回的默认配置\n\n const defaultFields = useMemo(() => {\n let defaultFields: string[];\n const fieldIds = props.presetConfigs?.fieldIds,\n extraFixedFieldIds = processFixedFields ?? [];\n if (!isEmpty(fieldIds)) {\n defaultFields = props.presetConfigs.fieldIds;\n } else {\n // istanbul ignore next\n // 所有用户(包括管理员)点击恢复默认按钮是恢复到 1.管理员设置的默认显示 2.管理员未设置时取前N个\n if (\n props.saveFieldsBackend &&\n !props.useExternalCmdbApi &&\n state.backendDefaultFields &&\n state.backendDefaultFields?.length > 0\n ) {\n // istanbul ignore next\n // 后台接口返回的默认字段(1. admin用户设置的,2. 前N个)\n defaultFields = compact(\n state.backendDefaultFields?.map((s) => s.field)\n );\n } else {\n defaultFields = computeDefaultFields().fieldIds;\n }\n }\n if (!isEmpty(extraFixedFieldIds)) {\n defaultFields = uniq([...defaultFields, ...extraFixedFieldIds]);\n }\n return defaultFields;\n }, [\n props.presetConfigs,\n modelData,\n state.backendDefaultFields,\n processFixedFields,\n ]);\n\n // istanbul ignore next\n const handleConfirm = async ({\n fields,\n isReset,\n isAdminSetDisplay,\n }: DisplaySettingsModalData) => {\n const onConfirm = async () => {\n if (props.saveFieldsBackend) {\n try {\n const sortFields = mergeFields(state.sortFields, fields);\n if (props.useExternalCmdbApi) {\n await externalUpdateFieldsProvider.query([\n {\n object_id: props.objectId,\n sourceId: props.externalSourceId,\n sortFields,\n },\n ]);\n } else {\n await updateFieldsProvider.query([props.objectId, { sortFields }]);\n }\n setState({\n fieldIds: _sortFieldIds(fields),\n sortFields,\n });\n } catch (e) {\n handleHttpError(e);\n }\n } else {\n const sortFields = mergeFields(state.sortFields, fields);\n setState({\n fieldIds: _sortFieldIds(fields),\n sortFields,\n });\n jsonLocalStorage.setItem(\n `${modelData.objectId}-selectAttrIds`,\n _sortFieldIds(fields)\n );\n }\n props.onFieldsModalConfirm?.(fields);\n };\n if (isReset) {\n // 恢复默认操作\n const fieldIds = defaultFields;\n modelData.isAbstract && fieldIds.push(\"_object_id\");\n if (props.saveFieldsBackend) {\n const sortFields = mergeFields(state.sortFields, fieldIds);\n if (props.useExternalCmdbApi) {\n await externalUpdateFieldsProvider.query([\n {\n object_id: props.objectId,\n sourceId: props.externalSourceId,\n sortFields,\n },\n ]);\n } else {\n await updateFieldsProvider.query([props.objectId, { sortFields }]);\n }\n setState({ fieldIds, sortFields });\n props.onFieldsModalConfirm?.(fieldIds);\n } else {\n jsonLocalStorage.removeItem(`${modelData.objectId}-selectAttrIds`);\n setState({ fieldIds });\n props.onFieldsModalConfirm?.(fieldIds);\n }\n } else {\n if (!isAdminSetDisplay) {\n // 点击确定按钮触发\n await onConfirm();\n } else {\n // 点击【默认显示】按钮触发,不影响当前列表显示。\n try {\n // istanbul ignore next\n const sortFields = mergeFields(state.sortFields, fields);\n await updateFieldsProvider.query([\n props.objectId,\n { sortFields: sortFields, isDefault: true },\n ]);\n await onConfirm();\n message.success(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.SET_DEFAULT_DISPLAY_SUCCESS}`)\n );\n setState({\n backendDefaultFields: sortFields,\n });\n } catch (e) {\n handleHttpError(e);\n }\n }\n }\n };\n\n useEffect(() => {\n props.notifyCurrentFields?.(state.fieldIds);\n }, [props.notifyCurrentFields]);\n\n // istanbul ignore next\n useEffect(() => {\n props.selectedRowKeys?.length &&\n (async () => {\n const data: InstanceApi_PostSearchRequestBody = {};\n const v3Data: InstanceApi_PostSearchV3RequestBody = {\n fields: [\"instanceId\"],\n };\n if (!isEmpty(props.permission)) {\n v3Data.permission = data.permission = props.permission;\n }\n\n if (state.fieldIds) {\n data.fields = Object.fromEntries(\n state.fieldIds.map((fieldId) => [fieldId, true])\n );\n v3Data.fields = [...state.fieldIds, ...v3Data.fields];\n (v3Data as any).ignore_missing_field_error = true;\n }\n\n v3Data.query = {\n instanceId: {\n $in: props.selectedRowKeys,\n },\n };\n v3Data.page_size = props.selectedRowKeys.length;\n v3Data.page = 1;\n if (!(props.useExternalCmdbApi || props.useAutoDiscoveryProvider)) {\n v3Data.relation_limit =\n isNil(props.relationLimit) || props.relationLimit === 0\n ? 0\n : props.relationLimit + 1;\n }\n\n if (state.relatedToMe) {\n v3Data.only_my_instance = data.only_my_instance = state.relatedToMe;\n }\n if (props.extraParams) {\n Object.assign(v3Data, props.extraParams);\n }\n let resp: any;\n // useExternalCmdbApi为true,使用外部接口PostSearchV3\n if (props.useExternalCmdbApi) {\n resp = await externalPostSearchV3.query([\n {\n ...v3Data,\n ...externalRequestParams,\n },\n ]);\n } else if (props.useAutoDiscoveryProvider) {\n resp = await listProvider.query([props.objectId, v3Data]);\n } else {\n resp = await InstanceApi_postSearchV3(props.objectId, v3Data); //涉及到v3data的请求\n }\n resp.list.forEach((i: Record<string, any>) =>\n cache.current.set(i.instanceId, i)\n );\n })();\n }, [props.selectedRowKeys]);\n const handleToggleFixHeader = () => {\n setFixHeader(!fixedHeader);\n };\n const onAdvancedSearchCloseGen = (attrId: string, valuesStr: string) => {\n return () => {\n const queries: Query[] = [];\n const queriesToShow: Query[] = [];\n const filterAq = (queries: any[]) =>\n queries.filter((v: any) => isValueEqualFn(v, attrId, valuesStr));\n state.aq.forEach((query) => {\n const key = Object.keys(query)[0];\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queries.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (key !== attrId && !startsWith(attrId, `${key}.`)) {\n // $exists $gte $lte 针对为空,不为空,时间范围特殊处理\n if (!Array.isArray(query[key]) && isSpecialFn(query, key)) {\n queries.push(query);\n } else {\n // 多枚举值数据结构返回这种 {attrId: {$in:[]}}\n const fieldId =\n Object.keys(get(query[key] as Query[], \"[0]\", {}))?.[0] || key;\n // 判断是否为结构体\n const isStruct = isOfStruct(modelData, fieldId);\n // 结构体情况处理\n if (\n !(\n (key === \"$or\" || key === \"$and\") &&\n startsWith(fieldId, `${attrId}.`) &&\n isStruct\n )\n ) {\n queries.push(query);\n }\n }\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqualFn(query, attrId, valuesStr)\n ) {\n specialQueryHandler(query, key, queries);\n }\n });\n state.aqToShow.forEach((query) => {\n const key = Object.keys(query)[0];\n if (\n (key === \"$or\" || key === \"$and\") &&\n Object.keys((query[key] as Query[])[0])[0] === attrId\n ) {\n const filteredSubQueries = filterAq(query[key] as Query[]);\n if (filteredSubQueries.length > 0) {\n queriesToShow.push({\n [key]: filteredSubQueries,\n });\n }\n } else if (key !== attrId) {\n queriesToShow.push(query);\n } else if (\n props.isInstanceFilterForm &&\n key === attrId &&\n isValueEqualFn(query, attrId, valuesStr)\n ) {\n specialQueryHandler(query, key, queriesToShow);\n }\n });\n setState({\n aq: queries,\n aqToShow: queriesToShow,\n });\n props.onAdvancedSearch?.(queries);\n };\n };\n\n const onFilterInstanceSourceChange = (checked: boolean): void => {\n setState({ filterInstanceSource: checked });\n props.onFilterInstanceSourceChange?.(checked);\n };\n\n const onFilterObjectIdChange = (objectIdQuery: any): void => {\n setState({ objectIdQuery: objectIdQuery });\n props.onFilterObjectIdChange?.(objectIdQuery);\n };\n\n const onPopoverVisibleChange = (visible: boolean): void => {\n setState({ instanceSourcePopoverVisible: visible });\n };\n\n const conditions = translateConditions(\n state.aqToShow,\n idObjectMap,\n modelData\n );\n\n useEffect(() => {\n if (props.showFilterInstanceSource) {\n const aq = initAqToShow(props.aq, modelData, false);\n const aqToShow = props.aqToShow || initAqToShow(props.aq, modelData);\n setState({ aq, aqToShow });\n }\n }, [props.aq, props.aqToShow, props.showFilterInstanceSource]);\n\n const fixedFieldIds = useMemo(() => {\n if (!props.extraFixedFields || isStringArray(props.extraFixedFields)) {\n return [];\n } else {\n return (props.extraFixedFields as FixedField[])\n .filter((v: FixedField) => v.fixed)\n .map((v) => v.field);\n }\n }, [props.extraFixedFields]);\n\n return (\n <Spin spinning={state.loading}>\n {state.inited && !state.failed ? (\n <React.Fragment>\n {(!props.searchDisabled ||\n !props.advancedSearchDisabled ||\n !props.relatedToMeDisabled ||\n !props.aliveHostsDisabled ||\n !props.moreButtonsDisabled) && (\n <div className={styles.instanceListToolbar}>\n <div className={styles.searchRelated}>\n {/* istanbul ignore next (state is not updated) */}\n {!state.searchByApp ? (\n <>\n {!props.searchDisabled && (\n <Input.Search\n placeholder={props.placeholder}\n enterButton\n value={q}\n onChange={onChange}\n onSearch={onSearch}\n />\n )}\n {!props.advancedSearchDisabled && (\n <Button\n type=\"link\"\n size=\"small\"\n style={{\n marginLeft: \"8px\",\n marginRight: \"auto\",\n }}\n onClick={() =>\n setState({\n isAdvancedSearchVisible:\n !state.isAdvancedSearchVisible,\n })\n }\n data-testid=\"advanced-search-toggle-btn\"\n >\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCED_SEARCH}`\n )}\n <LegacyIcon\n type={state.isAdvancedSearchVisible ? \"up\" : \"down\"}\n />\n </Button>\n )}\n </>\n ) : (\n <>\n <Select\n style={{ width: \"150px\", marginRight: \"10px\" }}\n value={state.appSelectValue}\n onChange={appSelectChange}\n showSearch={true}\n optionFilterProp=\"children\"\n >\n {state.appList?.map((r) => (\n <Select.Option key={r.instanceId} value={r.instanceId}>\n {r.name}\n </Select.Option>\n ))}\n </Select>\n <Select\n style={{ width: \"150px\" }}\n value={state.clusterValue}\n onChange={clusterSelectChange}\n showSearch={true}\n optionFilterProp=\"children\"\n >\n {state.clusterList.map((r) => (\n <Select.Option key={r.instanceId} value={r.instanceId}>\n {r.name}\n </Select.Option>\n ))}\n </Select>\n </>\n )}\n </div>\n <div className={styles.options}>\n {selectedRowKeys.length > 0 && (\n <div style={{ marginRight: 20 }}>\n <span>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOSEN_OPTIONS}`, {\n count: selectedRowKeys.length,\n })}\n </span>\n <a\n role=\"button\"\n onClick={() =>\n onSelectionChange({\n selectedKeys: [],\n selectedItems: [],\n })\n }\n >\n {\" \"}\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLEAR}`)}\n </a>\n </div>\n )}\n {props.extraOperateBricks?.useBrick && (\n <BrickAsComponent\n useBrick={props.extraOperateBricks.useBrick}\n />\n )}\n {props.showFilterInstanceSource && (\n <FilterInstanceSource\n visible={state.instanceSourcePopoverVisible}\n checked={state.filterInstanceSource}\n onPopoverVisibleChange={onPopoverVisibleChange}\n onIconClicKChange={onFilterInstanceSourceChange}\n onChange={onFilterObjectIdChange}\n inheritanceModelIdNameMap={inheritanceModelIdNameMap}\n value={state.objectIdQuery}\n jsonLocalStorage={jsonLocalStorage}\n isAbstract={modelData.isAbstract}\n />\n )}\n {props.objectId === \"HOST\" && props.enableSearchByApp && (\n <Button type={\"link\"} onClick={toggleSearchMode}>\n {/* istanbul ignore next (state is not updated) */}\n {state.searchByApp\n ? i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FREE_SELECTION}`)\n : i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.APP_SELECTION}`)}\n </Button>\n )}\n {props.objectId === \"HOST\" && !props.aliveHostsDisabled && (\n <IconButton\n checked={state.aliveHosts}\n onChange={onAliveHostsChange}\n style={{ marginRight: 10 }}\n disabled={props.fixAliveHosts}\n type=\"normalHost\"\n label={i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NORMAL_HOST}`)}\n data-testid=\"alive-hosts\"\n />\n )}\n {!props.relatedToMeDisabled && (\n <IconButton\n checked={state.relatedToMe}\n onChange={onRelatedToMeChange}\n style={{ marginRight: 10 }}\n type=\"relateToMe\"\n label={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.RELATED_TO_ME}`\n )}\n data-testid=\"related-to-me\"\n />\n )}\n {!props.showHiddenInfoDisabled && (\n <IconButton\n checked={state.autoBreakLine}\n onChange={toggleAutoBreakLine}\n style={{ marginRight: 10 }}\n type=\"showHiddenInfo\"\n label={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.DISPLAY_OMITTED_INFORMATION}`\n )}\n data-testid=\"show-hidden-info\"\n />\n )}\n {!props.moreButtonsDisabled && (\n <MoreButtonsContainer\n modelData={modelData}\n onConfirm={handleConfirm}\n useExternalCmdbApi={props.useExternalCmdbApi}\n saveFieldsBackend={props.saveFieldsBackend}\n fieldIds={state.fieldIds}\n defaultFields={defaultFields}\n extraDisabledField={props.extraDisabledField}\n handleToggleFixHeader={handleToggleFixHeader}\n fixedHeader={fixedHeader}\n showFixedHeader={props.showFixedHeader}\n sortFields={state.sortFields}\n />\n )}\n </div>\n </div>\n )}\n {!props.advancedSearchDisabled && !state.searchByApp && (\n <div\n style={{ marginBottom: \"18px\" }}\n hidden={!state.isAdvancedSearchVisible}\n >\n <AdvancedSearch\n key={newKey(state.fieldIds, state.aq)}\n fieldIds={state.fieldIds}\n idObjectMap={state.idObjectMap}\n modelData={modelData}\n q={state.aqToShow}\n fieldToShow={state.fieldToShow}\n onSearch={onAdvancedSearch}\n {...(props.autoSearch\n ? {\n autoSearch: props.autoSearch,\n }\n : null)}\n />\n </div>\n )}\n {!props.hideSearchConditions &&\n !state.searchByApp &&\n (state.instanceSourceQuery || state.q || !isEmpty(conditions)) && (\n <div className={styles.searchConditions}>\n <span>\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.CURRENT_FILTER_REQUIREMENTS}`\n )}\n </span>\n {state.q && (\n <Tag\n closable\n onClose={() => {\n setQ(\"\");\n onSearch(\"\");\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FUZZY_SEARCH}`, {\n query: state.q,\n })}\n </Tag>\n )}\n {state.instanceSourceQuery && (\n <Tag\n closable\n onClose={() => {\n onInstanceSourceChange(null);\n }}\n >\n {i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.INSTANCE_SOURCE_TAG_TEXT}`,\n {\n query:\n inheritanceModelIdNameMap?.[\n state.instanceSourceQuery\n ] || state.instanceSourceQuery,\n }\n )}\n </Tag>\n )}\n {conditions.map((condition) => (\n <Tag\n key={`${condition.attrId}${\n condition.valuesStr\n }-${uniqueId()}`}\n closable\n onClose={onAdvancedSearchCloseGen(\n condition.attrId,\n condition.valuesStr\n )}\n >\n {condition.condition}\n </Tag>\n ))}\n </div>\n )}\n {props.extraFilterBricks?.useBrick && (\n <BrickAsComponent useBrick={props.extraFilterBricks.useBrick} />\n )}\n {!props.hideInstanceList && (\n <InstanceListTable\n detailUrlTemplates={props.detailUrlTemplates}\n fieldIds={state.fieldIds}\n idObjectMap={state.idObjectMap}\n modelData={modelData}\n instanceListData={state.instanceListData}\n sort={state.sort}\n asc={state.asc}\n selectedRowKeys={selectedRowKeys}\n selectDisabled={props.selectDisabled}\n sortDisabled={props.sortDisabled}\n propertyDisplayConfigs={props.propertyDisplayConfigs}\n onClickItem={props.onClickItem}\n onClickItemV2={props.onClickItemV2}\n onPaginationChange={onPaginationChange}\n onSortingChange={(info: any) => {\n onSortingChange(info, state.sortFields);\n }}\n onSelectionChange={onSelectionChange}\n onInstanceSourceChange={onInstanceSourceChange}\n instanceSourceQuery={state.instanceSourceQuery}\n inheritanceModelIdNameMap={inheritanceModelIdNameMap}\n filterInstanceSourceDisabled={props.filterInstanceSourceDisabled}\n autoBreakLine={state.autoBreakLine}\n relationLinkDisabled={props.relationLinkDisabled}\n pageSizeOptions={props.pageSizeOptions}\n showSizeChanger={props.showSizeChanger}\n extraColumns={props.extraColumns}\n isOperate={props.isOperate}\n operateUseBrick={props.operateUseBrick}\n target={props.target}\n ipCopy={props.ipCopy}\n fixedHeader={fixedHeader}\n separatorUsedInRelationData={props.separatorUsedInRelationData}\n showTooltip={showTooltip}\n rowSelectionType={props.rowSelectionType}\n onColumnsChange={props.onColumnsChange}\n useExternalCmdbApi={props.useExternalCmdbApi}\n externalSourceId={props.externalSourceId}\n hiddenColumns={props.hiddenColumns}\n showCustomizedSerialNumber={props.showCustomizedSerialNumber}\n relationLimit={props.relationLimit}\n onRelationMoreIconClick={props.onRelationMoreIconClick}\n configProps={props.tableConfigProps}\n fixedFieldIds={fixedFieldIds}\n />\n )}\n </React.Fragment>\n ) : (\n // 加个空白的div是为了将loading效果撑起来\n <div className={styles.virtualLoading}></div>\n )}\n </Spin>\n );\n}\n\n/**\n * 把 objectList 封装到构件中请求,废弃掉通过老模板使用的方式,可直接使用构件。\n * 同时也兼容之前的使用方式,对于外部传进来的会优先使用外部的数据,构件内部不会额外请求,\n * 不传的话构件内部做请求,并作缓存\n */\nexport function LegacyInstanceListWrapper(\n props: InstanceListProps\n): React.ReactElement {\n const [objectList, setObjectList] = useState<ObjectType[]>(props.objectList);\n\n const [mergeObjectList, setMergeObjectList] = useState<ObjectType[]>(\n props.objectList\n );\n\n const externalGetObjectRef = useProvider(\n \"easyops.api.cmdb.topo_center@ProxyGetObjectRef:1.0.0\",\n { cache: false }\n );\n\n useEffect(() => {\n if (props.objectList?.length) {\n setObjectList(props.objectList);\n } else {\n (async () => {\n const cacheData = objectListCache.get(props.objectId);\n if (cacheData) {\n setObjectList(cacheData);\n } else {\n try {\n let list;\n if (props.useExternalCmdbApi) {\n list = await externalGetObjectRef.query([\n {\n ref_object: props.objectId,\n sourceId: props.externalSourceId,\n },\n ]);\n } else {\n list = (\n await CmdbObjectApi_getObjectRef({ ref_object: props.objectId })\n ).data;\n }\n setObjectList(list);\n objectListCache.set(props.objectId, list);\n } catch (e) {\n // istanbul ignore next\n handleHttpError(e);\n }\n }\n })();\n }\n }, [props.objectId, props.objectList]);\n\n useEffect(() => {\n if (!objectList?.length && isEqual(objectList, mergeObjectList)) return;\n (async () => {\n const object = objectList?.find(\n (item) => item.objectId === props.objectId\n );\n const transHierRelationSideObjectIds: string[] =\n object?.view?.trans_hier_relation_list?.map((i) => i.relation_object);\n if (\n transHierRelationSideObjectIds?.length &&\n !transHierRelationSideObjectIds.every((i) =>\n objectList.some((o) => o.objectId === i)\n )\n ) {\n let list;\n try {\n if (!props.useExternalCmdbApi) {\n list = (\n await CmdbObjectApi_list({\n page: 1,\n page_size: transHierRelationSideObjectIds.length,\n objectIds: transHierRelationSideObjectIds.join(\",\"),\n })\n ).list;\n }\n } catch (e) {\n // istanbul ignore next\n handleHttpError(e);\n }\n if (list?.length) {\n objectList.push(...list);\n objectListCache.set(props.objectId, objectList);\n }\n }\n\n setMergeObjectList(objectList);\n })();\n }, [objectList]);\n\n if (\n !mergeObjectList ||\n !mergeObjectList.find((item) => item.objectId === props.objectId)\n )\n return null;\n\n return <LegacyInstanceList {...props} objectList={mergeObjectList} />;\n}\n\n/**\n *\n * 支持关系点击打开抽屉查看更多关系,展示关系的实例列表\n */\nexport function InstanceList(props: InstanceListProps): React.ReactElement {\n return <InstanceListDrawer {...props} />;\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,IACVC,SAAS,EACTC,UAAU,EACVC,QAAQ,EACRC,MAAM,EACNC,OAAO,EACPC,WAAW,QACN,OAAO;AACd,SACEC,UAAU,EACVC,OAAO,EACPC,OAAO,EACPC,QAAQ,EACRC,GAAG,EACHC,IAAI,EACJC,KAAK,EACLC,MAAM,EACNC,MAAM,EAENC,QAAQ,EAERC,IAAI,EACJC,UAAU,EACVC,OAAO,EACPC,IAAI,EACJC,KAAK,EAELC,KAAK,EACLC,GAAG,EACHC,OAAO,QACF,QAAQ;AACf,SACEC,gBAAgB,EAChBC,UAAU,EACVC,eAAe,EACfC,WAAW,QACN,sBAAsB;AAC7B,OAAOC,IAAI,MAAM,SAAS;AAC1B,SAASC,CAAC,EAAEC,sBAAsB,QAAQ,mBAAmB;AAQ7D,SAKEC,wBAAwB,EACxBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,kBAAkB,QACb,oBAAoB;AAC3B,SAASC,IAAI,IAAIC,UAAU,QAAQ,wBAAwB;AAC3D,SAASC,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,GAAG,EAAEC,MAAM,EAAWC,OAAO,QAAQ,MAAM;AACzE,SACEC,sBAAsB,EACtBC,sBAAsB,EACtBC,mBAAmB,EAKnBC,cAAc,EAEdC,gBAAgB,EAChBC,gBAAgB,QAGX,uBAAuB;AAC9B,SAASC,WAAW,QAAQ,oBAAoB;AAGhD,SACEC,aAAa,EACbC,cAAc,EACdC,2BAA2B,EAC3BC,oBAAoB,EACpBC,iBAAiB,QAIZ,wBAAwB;AAC/B,SAASC,kBAAkB,QAAQ,4CAA4C;AAC/E,OAAOC,MAAM,MAAM,2BAA2B;AAC9C,SACEC,eAAe,EACfC,0BAA0B,EAC1BC,6BAA6B,EAC7BC,eAAe,QACV,aAAa;AACpB,SAASC,uBAAuB,QAAQ,2DAA2D;AACnG,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,0BAA0B,QAAQ,eAAe;AAE1D,OAAOC,oBAAoB,MAAM,wBAAwB;AAyBzD,OAAO,SAASC,2BAA2BA,CACzCC,MAAgB,EAChBC,SAA8B,EAC9BC,UAAiC,EACjC;EACA,IAAMC,SAAS,GAAGjD,KAAK,CAAC+C,SAAS,CAACG,QAAQ,EAAE,IAAI,CAAC;EACjD,OAAOJ,MAAM,CAACxD,GAAG,CAAE6D,KAAK,IAAK;IAC3B,IAAIF,SAAS,CAACE,KAAK,CAAC,EAAE;MACpB,OAAOA,KAAK;IACd,CAAC,MAAM;MACL,IAAMC,QAAQ,GAAGL,SAAS,CAACM,aAAa,CAACzD,IAAI,CAC1CwD,QAAa,IACZA,QAAQ,CAACE,OAAO,KAAKH,KAAK,IAAIC,QAAQ,CAACG,QAAQ,KAAKJ,KACxD,CAAC;MACD,IAAIC,QAAQ,EAAE;QAAA,IAAAI,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;QACZ,IAAMC,MAAM,GAAGP,QAAQ,CAACQ,cAAc,KAAKb,SAAS,CAACc,QAAQ;QAC7D,IAAMC,iBAAiB,GAAGH,MAAM,GAC5BP,QAAQ,CAACW,eAAe,GACxBX,QAAQ,CAACQ,cAAc;QAC3B,IAAMI,eAAe,GAAGhB,UAAU,CAACpD,IAAI,CACpCqE,MAAM,IAAKA,MAAM,CAACJ,QAAQ,KAAKC,iBAClC,CAAC;QACD,IAAMI,OAAO,IAAAV,qBAAA,GAAGQ,eAAe,aAAfA,eAAe,wBAAAP,sBAAA,GAAfO,eAAe,CAAEG,IAAI,cAAAV,sBAAA,wBAAAC,sBAAA,GAArBD,sBAAA,CAAuBW,QAAQ,cAAAV,sBAAA,uBAA/BA,sBAAA,CAAkC,CAAC,CAAC,cAAAF,qBAAA,cAAAA,qBAAA,GAAI,EAAE;QAC1D,UAAAa,MAAA,CAAUlB,KAAK,OAAAkB,MAAA,CAAIH,OAAO;MAC5B,CAAC,MAAM;QACL,OAAOf,KAAK;MACd;IACF;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAASmB,QAAQA,CACtBvB,SAA8C,EAC9CwB,WAAgE,EAChEC,CAAS,EACT1B,MAAiB,EACjB2B,cAAwB,EACxBC,gBAA2B,EAC3B;EACA,IAAMC,KAA0B,GAAG;IAAEC,GAAG,EAAE;EAAG,CAAC;EAC9C,IAAMC,WAAW,GAAGL,CAAC,CAACM,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,KAAK,CAAC;EACzC,IAAIN,cAAc,EAAE;IAAA,IAAAO,qBAAA;IAClB,IAAMC,cAAc,GAClB,EAAAD,qBAAA,GAAC3E,UAAU,CAAC,CAAC,CAAC6E,aAAa,CAAC,CAAC,CAACC,MAAM,cAAAH,qBAAA,uBAAnCA,qBAAA,CAAqCC,cAAc,KAAiB,EAAE;IACzE,IAAMG,QAAQ,GAAG,CACf,GAAG,IAAIC,GAAG,CAAC,CACT,IAAI,EACJ,GAAG9F,IAAI,CAAC,CAAC,GAAG0F,cAAc,EAAE,IAAIP,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,CAC1D,CAAC,CACH;IACD,IAAMY,WAAW,GAAG;MAAEC,KAAK,MAAAlB,MAAA,CAAMG,CAAC,CAACM,IAAI,CAAC,CAAC;IAAI,CAAC;IAC9CM,QAAQ,CAACI,OAAO,CAAEC,GAAG,IAAK;MACxBd,KAAK,CAACC,GAAG,CAACc,IAAI,CAAC;QAAE,CAACD,GAAG,GAAGH;MAAY,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,OAAOX,KAAK;EACd;EACAnD,sBAAsB,CACpBuB,SAAS,EACR4C,IAAI,IAAK;IACRd,WAAW,CAACW,OAAO,CAAEI,UAAU,IAC7BjB,KAAK,CAACC,GAAG,CAACc,IAAI,CAAC;MAAE,CAACC,IAAI,CAACE,EAAE,GAAG;QAAEN,KAAK,MAAAlB,MAAA,CAAMuB,UAAU;MAAI;IAAE,CAAC,CAC5D,CAAC;EACH,CAAC,EACD,CAACxC,QAAQ,EAAE0C,KAAK,KAAK;IACnB,IAAMD,EAAE,GAAGzC,QAAQ,IAAAiB,MAAA,CAAIyB,KAAK,CAACC,IAAI,SAAwB;IACzD,IAAMC,QAAQ,GAAGvE,mBAAmB,CAClC8C,WAAW,CAACnB,QAAQ,IAAAiB,MAAA,CAAIyB,KAAK,CAACG,IAAI,gBAAqC,CACzE,CAAC;IAEDpB,WAAW,CAACW,OAAO,CAAEI,UAAU,IAAK;MAClCI,QAAQ,CAACR,OAAO,CAAEU,OAAO,IAAK;QAC5BvB,KAAK,CAACC,GAAG,CAACc,IAAI,CAAC;UACb,IAAArB,MAAA,CAAIwB,EAAE,OAAAxB,MAAA,CAAI6B,OAAO,IAAK;YAAEX,KAAK,MAAAlB,MAAA,CAAMuB,UAAU;UAAI;QACnD,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EACD9C,MAAM;EACN;EACCM,QAA+B,IAAK;IAAA,IAAA+C,qBAAA;IACnC,IAAMC,cAAc,GAAG7B,WAAW,CAACnB,QAAQ,CAACiD,eAAe,CAAC;IAC5D,IAAMC,QAAQ,GAAG,CAAAH,qBAAA,GAAA/C,QAAQ,CAACmD,YAAY,cAAAJ,qBAAA,eAArBA,qBAAA,CAAuBK,MAAM,GAC1CpD,QAAQ,CAACmD,YAAY,GACrB9E,mBAAmB,CAAC2E,cAAc,CAAC;IAEvCvB,WAAW,CAACW,OAAO,CAAEI,UAAU,IAAK;MAClCU,QAAQ,CAACd,OAAO,CAAEU,OAAO,IAAK;QAC5BvB,KAAK,CAACC,GAAG,CAACc,IAAI,CAAC;UACb,IAAArB,MAAA,CAAIjB,QAAQ,CAACqD,WAAW,OAAApC,MAAA,CAAI6B,OAAO,IAAK;YACtCX,KAAK,MAAAlB,MAAA,CAAMuB,UAAU;UACvB;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CACF,CAAC;EAED,OAAOjB,KAAK;AACd;AAEA,OAAO,IAAM+B,WAAW,GAAGA,CAAC/B,KAAU,EAAEgC,MAAc,KAAK;EACzD,OAAOC,MAAM,CAACC,IAAI,CAAClC,KAAK,CAACgC,MAAM,CAAY,CAAC,CAACG,IAAI,CAC9CC,CAAC,IAAKA,CAAC,KAAK,SAAS,IAAIA,CAAC,KAAK,MAAM,IAAIA,CAAC,KAAK,MAClD,CAAC;AACH,CAAC;AAED,OAAO,IAAMC,mBAAmB,GAAGA,CAACrC,KAAU,EAAEc,GAAQ,EAAEwB,OAAgB,KAAK;EAC7E;EACA,IAAMC,SAAS,GAAGR,WAAW,CAAC/B,KAAK,EAAEc,GAAG,CAAC;EACzC,IAAIyB,SAAS,EAAE;IACb;EACF;EACAD,OAAO,CAACvB,IAAI,CAACf,KAAK,CAAC;AACrB,CAAC;AAED,OAAO,IAAMwC,cAAc,GAAGA,CAC5BxC,KAAU,EACVgC,MAAc,EACdS,SAAkB,KACf;EACH,IAAMF,SAAS,GAAGR,WAAW,CAAC/B,KAAK,EAAEgC,MAAM,CAAC;EAC5C,IAAIO,SAAS,EAAE,OAAO,KAAK;EAC3B,OAAOvC,KAAK,CAACgC,MAAM,CAAC,GAChBS,SAAS,IAAIR,MAAM,CAACS,MAAM,CAAC1C,KAAK,CAACgC,MAAM,CAAC,CAAC,CAACW,IAAI,CAAC,GAAG,CAAC,KAAKF,SAAS,CAAC;EAAA,EAClE,KAAK;AACX,CAAC;AACD,OAAO,SAASG,WAAWA,CACzBC,SAAuB,EACvBC,WAAqB,EACP;EACd,OAAOA,WAAW,CAACnI,GAAG,CAAE6D,KAAK,IAAK;IAChC,IAAMuE,UAAU,GAAGF,SAAS,CAAC5H,IAAI,CAAE+H,CAAC,IAAKA,CAAC,CAACxE,KAAK,KAAKA,KAAK,CAAC;IAC3D,IAAMyE,KAAK,GAAGF,UAAU,GAAGA,UAAU,CAACE,KAAK,GAAG,CAAC;IAC/C,OAAO;MAAEzE,KAAK;MAAEyE;IAAM,CAAC;EACzB,CAAC,CAAC;AACJ;AACA,OAAO,SAASC,gBAAgBA,CAC9BL,SAAuB,EACvBM,QAA0C,EAC1CC,QAAiB,EACH;EACd,IAAM;IAAEC,GAAG;IAAEC;EAAK,CAAC,GAAGH,QAAQ;EAC9B,IAAMF,KAAK,GAAG3H,KAAK,CAAC+H,GAAG,CAAC,GACpB,CAAC,GACD,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAACE,QAAQ,CAACH,QAAQ,CAAC,GACzDC,GAAG,GACD,CAAC,GACD,CAAC,CAAC,GACJA,GAAG,GACH,CAAC,GACD,CAAC,CAAC;EACN,OAAOR,SAAS,CAAClI,GAAG,CAAE6I,IAAI,IAAK;IAC7B,IAAIA,IAAI,CAAChF,KAAK,KAAK8E,IAAI,EAAE;MACvBE,IAAI,CAACP,KAAK,GAAGA,KAAK;IACpB,CAAC,MAAM;MACLO,IAAI,CAACP,KAAK,GAAG,CAAC;IAChB;IACA,OAAOO,IAAI;EACb,CAAC,CAAC;AACJ;AAEA,OAAO,SAASC,mBAAmBA,CACjCC,EAAW,EACX9D,WAAgE,EAChExB,SAAqB,EACrBuF,CAAgB,EAC4C;EAAA,IAAAC,eAAA,EAAAC,qBAAA;EAC5D,IAAMC,UAIH,GAAG,EAAE;EACR,IAAMC,SAAgB,GAAG,EAAE;EAC3B,IAAMC,kBAKH,GAAG,EAAE;EACR,CAAAJ,eAAA,GAAAxF,SAAS,CAACoB,IAAI,cAAAoE,eAAA,wBAAAC,qBAAA,GAAdD,eAAA,CAAgBK,wBAAwB,cAAAJ,qBAAA,uBAAxCA,qBAAA,CAA0ChD,OAAO,CAAEpC,QAAQ,IAAK;IAAA,IAAAyF,sBAAA;IAC9D,IAAM7C,QAAQ,GAAG,CAAA6C,sBAAA,GAAAzF,QAAQ,CAACmD,YAAY,cAAAsC,sBAAA,eAArBA,sBAAA,CAAuBrC,MAAM,GAC1CpD,QAAQ,CAACmD,YAAY,GACrB9E,mBAAmB,CAAC8C,WAAW,CAACnB,QAAQ,CAACiD,eAAe,CAAC,CAAC;IAC9DL,QAAQ,CAACR,OAAO,CAAEU,OAAO,IAAK;MAC5ByC,kBAAkB,CAACjD,IAAI,CAAC;QACtBG,EAAE,KAAAxB,MAAA,CAAKjB,QAAQ,CAACqD,WAAW,OAAApC,MAAA,CAAI6B,OAAO,CAAE;QACxC4C,IAAI,EAAE1F,QAAQ,CAAC2F,aAAa;QAC5BC,KAAK,EAAE;UAAEC,IAAI,EAAE;QAAM,CAAC;QACtBC,cAAc,EAAE9F,QAAQ,CAACqD;MAC3B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EACF1D,SAAS,CAACM,aAAa,CAACmC,OAAO,CAAEpC,QAAQ,IAAK;IAC5C,IAAI+F,QAA+B,GAAG,EAAE;IACxC,IAAIzH,cAAc,CAAC0B,QAAQ,CAAC,EAAE;MAC5B+F,QAAQ,GAAG,CACT;QAAEpD,IAAI,EAAE,MAAM;QAAEE,IAAI,EAAE;MAAQ,CAAC,EAC/B;QAAEF,IAAI,EAAE,OAAO;QAAEE,IAAI,EAAE;MAAO,CAAC,CAChC;IACH,CAAC,MAAM;MACLkD,QAAQ,GAAG,CAAC5H,sBAAsB,CAAC6B,QAAQ,EAAEL,SAAS,CAAC,CAAC;IAC1D;IACAoG,QAAQ,CAAC3D,OAAO,CAAEM,KAAK,IAAK;MAC1B,IAAMjC,QAAQ,GAAGT,QAAQ,IAAAiB,MAAA,CAAIyB,KAAK,CAACC,IAAI,SAAwB;MAC/D,IAAMK,cAAc,GAClB7B,WAAW,CACTnB,QAAQ,IAAAiB,MAAA,CAAIyB,KAAK,CAACG,IAAI,gBAAqC,CAC5D;MACH,IAAMD,QAAQ,GAAGvE,mBAAmB,CAAC2E,cAAc,CAAC;MACpDJ,QAAQ,CAACR,OAAO,CAAEU,OAAO,IAAK;QAAA,IAAAkD,UAAA,EAAAC,KAAA;QAC5B,IAAMC,aAAa,IAAAF,UAAA,IAAAC,KAAA,GACjBzJ,IAAI,CAACwG,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAElD,QAAQ,EAAE,CAAC,IAAI,EAAEgD,OAAO,CAAC,CAAC,cAAAmD,KAAA,uBAA/CA,KAAA,CAAiDP,IAAI,cAAAM,UAAA,cAAAA,UAAA,GAAIlD,OAAO;QAClE,IAAML,EAAE,MAAAxB,MAAA,CAAMR,QAAQ,OAAAQ,MAAA,CAAI6B,OAAO,CAAE;QACnC,IAAM4C,IAAI,MAAAzE,MAAA,CACRjB,QAAQ,IAAAiB,MAAA,CAAIyB,KAAK,CAACC,IAAI,WAA4B,OAAA1B,MAAA,CAChDiF,aAAa,MAAG;QACpBZ,SAAS,CAAChD,IAAI,CAAC;UACbG,EAAE;UACFiD,IAAI;UACJE,KAAK,EAAE;YAAEC,IAAI,EAAE;UAAM,CAAC;UACtBC,cAAc,EAAE9F,QAAQ,IAAAiB,MAAA,CAAIyB,KAAK,CAACC,IAAI;QACxC,CAAC,CAAC;MACJ,CAAC,CAAC;MACF2C,SAAS,CAAChD,IAAI,CAAC;QACbG,EAAE,KAAAxB,MAAA,CAAKR,QAAQ,MAAG;QAClBiF,IAAI,KAAAzE,MAAA,CAAKjB,QAAQ,IAAAiB,MAAA,CAAIyB,KAAK,CAACC,IAAI,WAA4B,CAAE;QAC7DiD,KAAK,EAAE;UAAEC,IAAI,EAAE;QAAM,CAAC;QACtBC,cAAc,EAAE9F,QAAQ,IAAAiB,MAAA,CAAIyB,KAAK,CAACC,IAAI;MACxC,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,IAAMwD,mBAAmB,GAAG,CAC1B,GAAGxG,SAAS,CAACG,QAAQ,EACrB,GAAGwF,SAAS,EACZ,GAAGC,kBAAkB,CACtB;EACD,IAAI,CAACxJ,OAAO,CAACkJ,EAAE,CAAC,EAAE;IAChB,KAAK,IAAM1D,MAAK,IAAI0D,EAAE,EAAE;MACtB,IAAIpB,QAAgB,GAAG,CAACtC,MAAK,CAAC;MAC9B,IAAIiC,MAAM,CAACC,IAAI,CAAClC,MAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAIiC,MAAM,CAACC,IAAI,CAAClC,MAAK,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;QACvEsC,QAAO,GAAGtC,MAAK,CAACiC,MAAM,CAACC,IAAI,CAAClC,MAAK,CAAC,CAAC,CAAC,CAAC,CAAY;MACnD;MAEAsC,QAAO,CAACzB,OAAO,CAAEb,KAAK,IAAK;QAAA,IAAA6E,KAAA;QACzB,IAAM/D,GAAG,GAAGmB,MAAM,CAACC,IAAI,CAAClC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAMqE,KAAK,GAAGpC,MAAM,CAACS,MAAM,CAAC1C,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAIgB,IAAI,GAAG4D,mBAAmB,CAAC3J,IAAI,CAChC+F,IAAI,IAAKA,IAAI,CAACE,EAAE,KAAKJ,GAAG,IAAIE,IAAI,CAACuD,cAAc,KAAKzD,GACvD,CAAC;QACD,IACEmB,MAAM,CAACC,IAAI,CAACmC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAKrH,gBAAgB,CAAC8H,MAAM,KAAAD,KAAA,GACjD7D,IAAI,cAAA6D,KAAA,eAAJA,KAAA,CAAMN,cAAc,EACpB;UACA,IAAMA,cAAc,GAAGvD,IAAI,CAACuD,cAAc;UAC1CvD,IAAI,GACF4D,mBAAmB,CAAC3J,IAAI,CACrB+F,IAAI,IAAKA,IAAI,CAACE,EAAE,QAAAxB,MAAA,CAAQ6E,cAAc,MACzC,CAAC,IAAIvD,IAAI;QACb;QACA,IAAIA,IAAI,EAAE;UACRhB,KAAK,GAAGhC,0BAA0B,CAChCI,SAAS,CAACc,QAAQ,EAClB8B,IAAI,CAACE,EAAE,EACPlB,KACF,CAAC;UACD,IAAM+E,IAAI,GAAG1H,2BAA2B,CACtC2C,KAAK,EACLc,GAAG,EACHE,IAAI,CAACqD,KAAK,CAACC,IAAI,EACfU,SAAS,EACTA,SAAS,EACT5G,SAAS,CAACc,QAAQ,EAClB8B,IAAI,CAACE,EAAE,EACPF,IAAI,CAACqD,KAAK,CAACY,IACb,CAAC;UACD,IACE,CAAC,CACC9H,aAAa,CAAC+H,OAAO,EACrB/H,aAAa,CAACgI,KAAK,EACnBhI,aAAa,CAACiI,QAAQ,EACtBjI,aAAa,CAACkI,KAAK,EACnBlI,aAAa,CAACmI,IAAI,CACnB,CAAC/B,QAAQ,CAACwB,IAAI,CAACQ,gBAAgB,CAACjB,IAAI,CAAC,EACtC;YACAS,IAAI,CAACrC,MAAM,GAAGqC,IAAI,CAACrC,MAAM,CAAC/H,GAAG,CAAEyH,CAAC,IAC9B1H,QAAQ,CAAC0H,CAAC,CAAC,IAAIA,CAAC,CAACmB,QAAQ,CAAC,GAAG,CAAC,GAAGnB,CAAC,CAACoD,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAGpD,CAC/D,CAAC;UACH;UAEA,IAAIqD,SAAS,MAAA/F,MAAA,CAAMsB,IAAI,CAACmD,IAAI,QAAAzE,MAAA,CAAKqF,IAAI,CAACQ,gBAAgB,CAACG,KAAK,CAAE;UAC9D,IACE,CAAC,CAACvI,aAAa,CAACgI,KAAK,EAAEhI,aAAa,CAACiI,QAAQ,CAAC,CAAC7B,QAAQ,CACrDwB,IAAI,CAACQ,gBAAgB,CAACjB,IACxB,CAAC,EACD;YACAmB,SAAS,SAAA/F,MAAA,CAAQqF,IAAI,CAACrC,MAAM,CAACC,IAAI,CAAC,KAAK,CAAC,OAAG;UAC7C;UACA,IAAMgD,YAAY,GAAG;YACnB3D,MAAM,EAAElB,GAAG;YACX2E,SAAS;YACThD,SAAS,EAAEsC,IAAI,CAACa;UAClB,CAAC;UACD,IACE9B,UAAU,CAAC+B,KAAK,CACbzD,CAAC,IAAK,CAAC3H,OAAO,CAACW,IAAI,CAACgH,CAAC,EAAE,QAAQ,CAAC,EAAEhH,IAAI,CAACuK,YAAY,EAAE,QAAQ,CAAC,CACjE,CAAC,EACD;YACA7B,UAAU,CAAC/C,IAAI,CAAC4E,YAAY,CAAC;UAC/B;QACF;MACF,CAAC,CAAC;IACJ;EACF;EAEA,OAAO7B,UAAU;AACnB;AAEA,SAASgC,MAAMA,CAACC,QAAkB,EAAErC,EAAW,EAAU;EACvD,IAAI5C,GAAG,GAAG,EAAE;EACZ,IAAI,CAACtG,OAAO,CAACuL,QAAQ,CAAC,EAAE;IACtBjF,GAAG,IAAIiF,QAAQ,CAACpD,IAAI,CAAC,GAAG,CAAC;EAC3B;EACA,IAAI,CAACnI,OAAO,CAACkJ,EAAE,CAAC,EAAE;IAChB5C,GAAG,QAAApB,MAAA,CAAQgE,EAAE,CAAC7B,MAAM,CAAE;EACxB;EACA,OAAOf,GAAG;AACZ;AACA,IAAMkF,UAAU,GAAGA,CACjB5H,SAA8C,EAC9C6H,OAAe,KACZ;EAAA,IAAAC,qBAAA;EACH,IAAMC,YAAY,IAAAD,qBAAA,GAAG9H,SAAS,CAACG,QAAQ,CACpCzD,MAAM,CACJkG,IAA8B,IAC7BA,IAAI,CAACqD,KAAK,CAACC,IAAI,KAAK,QAAQ,IAAItD,IAAI,CAACqD,KAAK,CAACC,IAAI,KAAK,SACxD,CAAC,cAAA4B,qBAAA,uBAJkBA,qBAAA,CAKjBvL,GAAG,CAAEqG,IAAI,IAAK;IACd,IAAMoF,OAAiB,GAAG,EAAE;IAC5BpF,IAAI,CAACqD,KAAK,CAACgC,aAAa,CAACxF,OAAO,CAAEyF,MAAM,IAAK;MAC3CF,OAAO,CAACrF,IAAI,IAAArB,MAAA,CAAIsB,IAAI,CAACE,EAAE,OAAAxB,MAAA,CAAI4G,MAAM,CAACpF,EAAE,CAAE,CAAC;IACzC,CAAC,CAAC;IACF,OAAOkF,OAAO;EAChB,CAAC,CAAC,CACDG,IAAI,CAAC,CAAC;EACT,OAAOJ,YAAY,CAAC5C,QAAQ,CAAC0C,OAAO,CAAC;AACvC,CAAC;AAED,IAAMO,WAAW,GAAGA,CAClBjI,QAA+C,EAC/C0H,OAAe,KACH;EAAA,IAAAQ,mBAAA;EACZ,IAAMC,UAAU,GAAGrL,KAAK,CAACkD,QAAQ,EAAE,IAAI,CAAC;EACxC,OAAO,EAAAkI,mBAAA,GAAAC,UAAU,CAACT,OAAO,CAAC,cAAAQ,mBAAA,uBAAnBA,mBAAA,CAAqBpC,KAAK,CAACC,IAAI,MAAKxG,uBAAuB,CAAC6I,OAAO;AAC5E,CAAC;AAED,OAAO,IAAMC,YAAY,GAAG,SAAAA,CAC1BlD,EAAW,EACXtF,SAA8C,EAE3C;EAAA,IADHyI,QAAQ,GAAAC,SAAA,CAAAjF,MAAA,QAAAiF,SAAA,QAAA9B,SAAA,GAAA8B,SAAA,MAAG,IAAI;EAEf,IAAIC,WAAkB,GAAG,EAAE;EAC3B,IAAIrD,EAAE,EAAE;IACNA,EAAE,CAAC7C,OAAO,CAAEb,KAAK,IAAK;MACpB,IAAMgH,QAAQ,GAAG/E,MAAM,CAACgF,OAAO,CAACjH,KAAK,CAAC,CAACrF,GAAG,CAACuM,IAAA,IAAwB;QAAA,IAAvB,CAACpG,GAAG,EAAEqG,WAAW,CAAC,GAAAD,IAAA;QAC5D,IAAIE,cAAqB,GAAG,EAAE;QAC9B,IAAItG,GAAG,KAAK7D,gBAAgB,CAACoK,EAAE,IAAIvG,GAAG,KAAK7D,gBAAgB,CAACqK,GAAG,EAAE;UAC/D,IAAMC,aAAa,GAAIJ,WAAW,CAAa,CAAC,CAAC;UACjD,IAAMlB,OAAO,GAAGhE,MAAM,CAACC,IAAI,CAACqF,aAAa,CAAC,CAAC,CAAC,CAAC;UAC7C,IAAMC,QAAQ,GAAGxB,UAAU,CAAC5H,SAAS,EAAE6H,OAAO,CAAC;UAC/C,IAAMwB,MAAM,GAAGjB,WAAW,CAACpI,SAAS,CAACG,QAAQ,EAAE0H,OAAO,CAAC;UACvD,IAAMyB,aAAkC,GACtCP,WAAW,CACXrM,MAAM,CAAE6M,UAAU,IAAK1F,MAAM,CAACC,IAAI,CAACyF,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK1B,OAAO,CAAC;UAChE,IAAIuB,QAAQ,IAAIX,QAAQ,EAAE;YACxB,IAAMe,iBAAiB,GAAGF,aAAa,CAAC/M,GAAG,CAAE6I,IAAS,KAAM;cAC1D,CAACyC,OAAO,CAAC7F,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAGoD,IAAI,CAACyC,OAAO;YACvC,CAAC,CAAC,CAAC;YACHmB,cAAc,GAAG,CAAC,GAAGA,cAAc,EAAE,GAAGQ,iBAAiB,CAAC;UAC5D,CAAC,MAAM,IAAIH,MAAM,IAAI,CAACZ,QAAQ,EAAE;YAC9B,IAAMgB,eAAe,GAAIV,WAAW,CAAaxM,GAAG,CACjDgN,UAAU,IAAK;cACd,IAAMG,WAAW,GAAGH,UAAU,CAAC1B,OAAO,CAGrC;cACD,IAAI,OAAOhE,MAAM,CAACS,MAAM,CAACoF,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;gBACrD,OAAO;kBACL,CAAC7B,OAAO,GAAG;oBACT,CAAChE,MAAM,CAACC,IAAI,CAAC4F,WAAW,CAAC,CAAC,CAAC,CAAC,GAC1B7F,MAAM,CAACS,MAAM,CAACoF,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK;kBACtC;gBACF,CAAC;cACH,CAAC,MAAM;gBACL,OAAOH,UAAU;cACnB;YACF,CACF,CAAC;YACDP,cAAc,GAAG,CAAC,GAAGA,cAAc,EAAE,GAAGS,eAAe,CAAC;UAC1D,CAAC,MAAM;YACLT,cAAc,GAAG,CAAC,GAAGA,cAAc,EAAE,GAAID,WAAuB,CAAC;UACnE;UACA,OAAO;YAAE,CAACrG,GAAG,GAAGsG;UAAe,CAAC;QAClC,CAAC,MAAM;UACL,OAAOpH,KAAK;QACd;MACF,CAAC,CAAC;MACF+G,WAAW,GAAG,CAAC,GAAGA,WAAW,EAAE,GAAGC,QAAQ,CAAC;IAC7C,CAAC,CAAC;IACF,OAAOD,WAAW;EACpB;EACA;AACF,CAAC;AAgBD;AACA,SAASgB,aAAaA,CAACC,GAAqB,EAAW;EACrD,OAAOxM,OAAO,CAACwM,GAAG,CAAC,IAAKA,GAAG,CAAWnC,KAAK,CAAErC,IAAI,IAAK9I,QAAQ,CAAC8I,IAAI,CAAC,CAAC;AACvE;AACA;AACA,SAASyE,mBAAmBA,CAAC9J,MAAwB,EAAY;EAC/D,IAAI7C,KAAK,CAAC6C,MAAM,CAAC,IAAI4J,aAAa,CAAC5J,MAAM,CAAC,EAAE;IAC1C,OAAOA,MAAM;EACf,CAAC,MAAM;IACL,OAAQA,MAAM,CAAkBxD,GAAG,CAAEyH,CAAa,IAAKA,CAAC,CAAC5D,KAAK,CAAC;EACjE;AACF;AAyJA,OAAO,SAAS0J,kBAAkBA,CAChCC,KAAwB,EACJ;EAAA,IAAAC,qBAAA,EAAAC,cAAA,EAAAC,qBAAA,EAAAC,qBAAA;EACpB,IAAM;IAAEC,WAAW,GAAG;EAAK,CAAC,GAAGL,KAAK;EACpC,IAAMM,QAAQ,GAAG,CACf;IACEC,UAAU,EAAE,KAAK;IACjBvE,IAAI,EAAEtI,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CAAI3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAAC6M,WAAW,CAAE;EAC3D,CAAC,CACF;EACD,IAAMC,gBAAgB,GAAG,IAAI1L,WAAW,CAAC2L,YAAY,CAAC;EACtD,IAAMC,OAAO,GAAGA,CACdC,SAA4B,EAC5BC,eAA2C,KACrB;IACtB,OAAAC,aAAA,CAAAA,aAAA,KACKF,SAAS,GACTC,eAAe;EAEtB,CAAC;EACD;EACA;;EAEA,IAAME,YAAY,GAAGtN,WAAW,CAC9B,2CAA2C,EAC3C;IAAEuN,KAAK,EAAE;EAAM,CACjB,CAAC;EACD,IAAMC,2BAA2B,GAAGxN,WAAW,CAC7C,8DAA8D,EAC9D;IACEuN,KAAK,EAAE;EACT,CACF,CAAC;EACD,IAAME,wBAAwB,GAAGzN,WAAW,CAC1C,uDAAuD,EACvD;IAAEuN,KAAK,EAAE;EAAM,CACjB,CAAC;EAED,IAAMG,8BAA8B,GAAG1N,WAAW,CAChD,wDAAwD,EACxD;IAAEuN,KAAK,EAAE;EAAM,CACjB,CAAC;EACD;;EAEA,IAAMI,cAAc,GAAG3N,WAAW,CAChC,oDAAoD,EACpD;IAAEuN,KAAK,EAAE;EAAM,CACjB,CAAC;;EAED;EACA,IAAMK,oBAAoB,GAAG5N,WAAW,CACtC,uDAAuD,EACvD;IACEuN,KAAK,EAAE,KAAK;IACZM,OAAO,EAAGC,KAAK,IAAK;MAClB;MACA,MAAMA,KAAK;IACb;EACF,CACF,CAAC;;EAED;EACA,IAAMC,oBAAoB,GAAG/N,WAAW,CACtC,sDAAsD,EACtD;IAAEuN,KAAK,EAAE;EAAM,CACjB,CAAC;EACD,IAAMS,oBAAoB,GAAGhO,WAAW,CACtC,sDAAsD,EACtD;IAAEuN,KAAK,EAAE;EAAM,CACjB,CAAC;EACD,IAAMU,sBAAsB,GAAGjO,WAAW,CACxC,4DAA4D,EAC5D;IAAEuN,KAAK,EAAE;EAAM,CACjB,CAAC;EACD,IAAMW,4BAA4B,GAAGlO,WAAW,CAC9C,+DAA+D,EAC/D;IAAEuN,KAAK,EAAE;EAAM,CACjB,CAAC;EAED,IAAM;IAAE/K,SAAS;IAAEwB;EAAY,CAAC,GAAGvF,OAAO,CAAC,MAAM;IAC/C,IAAI+D,SAAqB;IACzB,IAAMwB,WAAuC,GAAG,CAAC,CAAC;IAClDuI,KAAK,CAAC9J,UAAU,CAACwC,OAAO,CAAEvB,MAAM,IAAK;MACnCM,WAAW,CAACN,MAAM,CAACJ,QAAQ,CAAC,GAAGI,MAAM;MACrC,IAAIA,MAAM,CAACJ,QAAQ,KAAKiJ,KAAK,CAACjJ,QAAQ,EAAE;QACtCd,SAAS,GAAGkB,MAAM;QAClBlB,SAAS,CAACG,QAAQ,GAAG,CAAC4J,KAAK,CAAC4B,qBAAqB,GAC7ClP,KAAK,CAACyE,MAAM,CAACf,QAAQ,EAAEb,eAAe,CAAC,GACvC4B,MAAM,CAACf,QAAQ;MACrB;IACF,CAAC,CAAC;IAEF,OAAO;MAAEH,SAAS;MAAEwB;IAAY,CAAC;EACnC,CAAC,EAAE,CAACuI,KAAK,CAAC9J,UAAU,EAAE8J,KAAK,CAACjJ,QAAQ,CAAC,CAAC;EAEtC,IAAM8K,kBAAkB,GAAG3P,OAAO,CAAC,MAAM;IACvC,OAAO4N,mBAAmB,CAACE,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEpI,gBAAgB,CAAC;EACrD,CAAC,EAAE,CAACoI,KAAK,CAACpI,gBAAgB,CAAC,CAAC;EAE5B,IAAM,CAACkK,yBAAyB,EAAEC,4BAA4B,CAAC,GAAG/P,QAAQ,CAExE,CAAC,CAAC,CAAC;EACL,IAAM,CAACgQ,WAAW,EAAEC,YAAY,CAAC,GAAGjQ,QAAQ,CAAC,KAAK,CAAC;EAEnD,IAAMkQ,8BAA8B;IAAA,IAAAC,KAAA,GAAAC,iBAAA,CAAG,WACrCnM,SAA8C,EAC5B;MAClB,IAAIoM,SAAS,GAAG,CAAC,CAAC;MAClB,IAAIpM,SAAS,CAACqM,UAAU,EAAE;QAAA,IAAAC,oBAAA;QACxB,IAAIvC,KAAK,CAACwC,kBAAkB,EAAE;UAC5BH,SAAS,SAASZ,oBAAoB,CAAC5J,KAAK,CAAC,CAC3C;YACE4K,cAAc,EAAExM,SAAS,CAACc,QAAQ;YAClC2L,QAAQ,EAAE1C,KAAK,CAAC2C;UAClB,CAAC,CACF,CAAC;QACJ,CAAC,MAAM;UACLN,SAAS,SAASvO,0BAA0B,CAAC;YAC3C2O,cAAc,EAAExM,SAAS,CAACc;UAC5B,CAAQ,CAAC;QACX;QACAiJ,KAAK,CAAC4C,wBAAwB,IAC5BnC,gBAAgB,CAACoC,OAAO,wCAAwC;UAC9DJ,cAAc,EAAExM,SAAS,CAACc,QAAQ;UAClCc,KAAK,GAAA0K,oBAAA,GAAEvC,KAAK,CAAC8C,aAAa,cAAAP,oBAAA,uBAAnBA,oBAAA,CAAqB1K,KAAK;UACjCwK;QACF,CAAC,CAAC;MACN;MACAN,4BAA4B,CAACM,SAAS,CAAC;IACzC,CAAC;IAAA,gBAzBKH,8BAA8BA,CAAAa,EAAA;MAAA,OAAAZ,KAAA,CAAAa,KAAA,OAAArE,SAAA;IAAA;EAAA,GAyBnC;EAED7M,SAAS,CAAC,MAAM;IACdoQ,8BAA8B,CAACjM,SAAS,CAAC;EAC3C,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,IAAMgN,oBAAoB,GAAG,SAAAA,CAAA,EAEA;IAAA,IAD3B;MAAEC;IAAQ,CAAC,GAAAvE,SAAA,CAAAjF,MAAA,QAAAiF,SAAA,QAAA9B,SAAA,GAAA8B,SAAA,MAAG;MAAEuE,OAAO,EAAE;IAAM,CAAC;IAEhC;IACA,IAAMC,QAAa,GAAGD,OAAO,GACzB1N,0BAA0B,GAC1BC,6BAA6B;IACjC,IAAM2N,aAAuB,GAAG,CAC9BD,QAAQ,CAACC,aAAa,CAACnN,SAAS,CAACc,QAAQ,CAAC,IAAI,EAAE,EAChDQ,MAAM,CAACtB,SAAS,CAACoB,IAAI,CAACgM,YAAY,IAAI,EAAE,CAAC;IAC3C,IAAMC,UAAU,GAAGrN,SAAS,CAACoB,IAAI,CAACkM,UAAU,IAAI,EAAE;IAClD,IAAMC,SAAS,GAAG,CAChB,GAAG,IAAIjL,GAAG,CAAC,CAAC,GAAG+K,UAAU,EAAE,GAAG9Q,GAAG,CAACyD,SAAS,CAACG,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAC9D;IACD,IAAMwH,QAAkB,GAAGxL,UAAU,CAACoR,SAAS,EAAEJ,aAAa,CAAC,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3E,OAAO;MAAE7F;IAAS,CAAC;EACrB,CAAC;;EAED;EACA,IAAM8F,aAAa,GAAI9F,QAAe,IAAK;IAAA,IAAA+F,qBAAA;IACzC,IAAIC,WAAkB,GAAG,EAAE;IAC3B,IAAIC,UAAiB,GAAG,EAAE;IAC1B,KAAAF,qBAAA,GAAI3D,KAAK,CAAC8C,aAAa,cAAAa,qBAAA,eAAnBA,qBAAA,CAAqB/F,QAAQ,EAAE;MACjCgG,WAAW,GAAGjR,MAAM,CAACqN,KAAK,CAAC8C,aAAa,CAAClF,QAAQ,EAAG7E,EAAE,IACpD6E,QAAQ,CAACxC,QAAQ,CAACrC,EAAE,CACtB,CAAC;IACH;IACA8K,UAAU,GAAGjR,MAAM,CAACgL,QAAQ,EAAG7E,EAAE,IAAK6K,WAAW,CAACxI,QAAQ,CAACrC,EAAE,CAAC,CAAC;IAE/D,OAAO,CAAC,GAAG6K,WAAW,EAAE,GAAGC,UAAU,CAAC;EACxC,CAAC;EACD;;EAEA,IAAMC,cAAc;IAAA,IAAAC,KAAA,GAAA3B,iBAAA,CAAG,aAAY;MAAA,IAAA4B,qBAAA,EAAAC,mBAAA,EAAAC,sBAAA,EAAAC,sBAAA;MACjC,IAAIhJ,IAAI,GAAG6E,KAAK,CAAC7E,IAAI;MACrB,IAAIyC,QAAQ,IAAAoG,qBAAA,GAAGhE,KAAK,CAAC8C,aAAa,cAAAkB,qBAAA,uBAAnBA,qBAAA,CAAqBpG,QAAQ;MAC5C,IAAM3C,QAAQ,GAAGhF,SAAS,aAATA,SAAS,wBAAAgO,mBAAA,GAAThO,SAAS,CAAEG,QAAQ,cAAA6N,mBAAA,wBAAAC,sBAAA,GAAnBD,mBAAA,CAAqBnR,IAAI,CAAE+F,IAAI,IAAKA,IAAI,CAACE,EAAE,KAAKoC,IAAI,CAAC,cAAA+I,sBAAA,wBAAAC,sBAAA,GAArDD,sBAAA,CACbhI,KAAK,cAAAiI,sBAAA,uBADQA,sBAAA,CACNC,YAAY;MACvB,IAAIlJ,GAAG,EAAEoI,UAAU;MACnB,IAAIe,oBAAoB;MACxB,IAAIrE,KAAK,CAAC9E,GAAG,KAAK,IAAI,EAAE;QACtBA,GAAG,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAACE,QAAQ,CAACH,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;MACzE,CAAC,MAAM;QACLC,GAAG,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAACE,QAAQ,CAACH,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;MAC3E;MACA,IAAI+E,KAAK,CAACwC,kBAAkB,EAAE;QAC5Bc,UAAU,GAAG,OACJ5B,sBAAsB,CAAC7J,KAAK,CAAC,CAClC;UAAEyM,SAAS,EAAEtE,KAAK,CAACjJ,QAAQ;UAAE2L,QAAQ,EAAE1C,KAAK,CAAC2C;QAAiB,CAAC,CAChE,CAAC,EAIFW,UAAU;MACd,CAAC,MAAM;QACL;QACA,IAAMiB,UAAU,SAAUnD,cAAc,CAACvJ,KAAK,CAAC,CAACmI,KAAK,CAACjJ,QAAQ,CAAC,CAI9D;QACDuM,UAAU,GAAGiB,UAAU,CAACjB,UAAU;QAClCe,oBAAoB,GAAGE,UAAU,CAACC,iBAAiB;MACrD;MACA,IAAMC,kBAAkB,GAAG5C,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,EAAE;MACnD,IAAIxP,OAAO,CAACuL,QAAQ,CAAC,EAAE;QACrBA,QAAQ,GAAG0F,UAAU,CAAC9Q,GAAG,CAAE6I,IAAI,IAAKA,IAAI,CAAChF,KAAK,CAAC;QAC/C,IAAIhE,OAAO,CAAC8I,IAAI,CAAC,IAAI9I,OAAO,CAAC6I,GAAG,CAAC,EAAE;UACjC,IAAMwJ,UAAU,GAAGpB,UAAU,CAACxQ,IAAI,CAAEuI,IAAI,IAAKA,IAAI,CAACP,KAAK,KAAK,CAAC,CAAC;UAC9D,IAAI4J,UAAU,EAAE;YACdvJ,IAAI,GAAGuJ,UAAU,CAACrO,KAAK;YACvB6E,GAAG,GAAGwJ,UAAU,CAAC5J,KAAK;UACxB;QACF;MACF;MACA,IAAIzI,OAAO,CAACuL,QAAQ,CAAC,EAAE;QACrBA,QAAQ,GAAGqF,oBAAoB,CAAC,CAAC,CAACrF,QAAQ;MAC5C;MACA,IAAI,CAACvL,OAAO,CAACoS,kBAAkB,CAAC,EAAE;QAChC7G,QAAQ,GAAGnL,IAAI,CAAC,CAAC,GAAGmL,QAAQ,EAAE,GAAG6G,kBAAkB,CAAC,CAAC;MACvD;MACA7G,QAAQ,GAAGoC,KAAK,CAAC2E,kBAAkB,GAC/BlS,IAAI,CAAC,CAAC,GAAGmL,QAAQ,EAAEoC,KAAK,CAAC2E,kBAAkB,CAAC,CAAC,GAC7C/G,QAAQ;MACZA,QAAQ,GAAG8F,aAAa,CAAC9F,QAAQ,CAAC;MAClC,IAAMgH,aAAuB,GAAG3O,SAAS,CAACoB,IAAI,CAACgM,YAAY,IAAI,EAAE;MACjEzF,QAAQ,GAAGA,QAAQ,CAACjL,MAAM,CAAE0D,KAAK,IAAK,CAACuO,aAAa,CAACxJ,QAAQ,CAAC/E,KAAK,CAAC,CAAC;MACrEJ,SAAS,CAACqM,UAAU,IAAI1E,QAAQ,CAAChF,IAAI,CAAC,YAAY,CAAC;MACnD,OAAO;QAAEgF,QAAQ;QAAEzC,IAAI;QAAED,GAAG;QAAEoI,UAAU;QAAEe;MAAqB,CAAC;IAClE,CAAC;IAAA,gBAxDKP,cAAcA,CAAA;MAAA,OAAAC,KAAA,CAAAf,KAAA,OAAArE,SAAA;IAAA;EAAA,GAwDnB;EAED,IAAMkG,SAAS,GAAGA,CAAA,KAAM;IAAA,IAAAC,qBAAA;IACtB,IAAIlH,QAAQ,IAAAkH,qBAAA,GAAG9E,KAAK,CAAC8C,aAAa,cAAAgC,qBAAA,uBAAnBA,qBAAA,CAAqBlH,QAAQ;IAC5C,IAAM6G,kBAAkB,GAAG5C,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,EAAE;IACnD,IAAIxP,OAAO,CAACuL,QAAQ,CAAC,EAAE;MACrBA,QAAQ,GAAG6C,gBAAgB,CAACsE,OAAO,IAAAxN,MAAA,CAC9BtB,SAAS,CAACc,QAAQ,mBACvB,CAAC;IACH;IACA,IAAI1E,OAAO,CAACuL,QAAQ,CAAC,EAAE;MACrBA,QAAQ,GAAGqF,oBAAoB,CAAC,CAAC,CAACrF,QAAQ;IAC5C;IACA,IAAI,CAACvL,OAAO,CAACoS,kBAAkB,CAAC,EAAE;MAChC7G,QAAQ,GAAGnL,IAAI,CAAC,CAAC,GAAGmL,QAAQ,EAAE,GAAG6G,kBAAkB,CAAC,CAAC;IACvD;IACA7G,QAAQ,GAAGoC,KAAK,CAAC2E,kBAAkB,GAC/BlS,IAAI,CAAC,CAAC,GAAGmL,QAAQ,EAAEoC,KAAK,CAAC2E,kBAAkB,CAAC,CAAC,GAC7C/G,QAAQ;IACZA,QAAQ,GAAG8F,aAAa,CAAC9F,QAAQ,CAAC;IAClC,IAAMgH,aAAuB,GAAG3O,SAAS,CAACoB,IAAI,CAACgM,YAAY,IAAI,EAAE;IACjEzF,QAAQ,GAAGA,QAAQ,CAACjL,MAAM,CAAE0D,KAAK,IAAK,CAACuO,aAAa,CAACxJ,QAAQ,CAAC/E,KAAK,CAAC,CAAC;IACrEJ,SAAS,CAACqM,UAAU,IAAI1E,QAAQ,CAAChF,IAAI,CAAC,YAAY,CAAC;IACnD,OAAOgF,QAAQ;EACjB,CAAC;EAED,IAAM,CAAClG,CAAC,EAAEsN,IAAI,CAAC,GAAGhT,QAAQ,CAACgO,KAAK,CAACtI,CAAC,CAAC;EACnC,IAAM,CAACuN,KAAK,EAAEC,QAAQ,CAAC,GAAGnT,UAAU,CAAC4O,OAAO,EAAE9D,SAAS,EAAE;IAAA,IAAAsI,KAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,KAAA,EAAAC,sBAAA,EAAAC,kBAAA,EAAAC,qBAAA;IAAA,OAAO;MAC9D1O,QAAQ,EAAEiJ,KAAK,CAACjJ,QAAQ;MACxBW,CAAC,EAAEsI,KAAK,CAACtI,CAAC;MACV6D,EAAE,EAAEkD,YAAY,CAACuB,KAAK,CAACzE,EAAE,EAAEtF,SAAS,EAAE,KAAK,CAAC;MAC5CqN,UAAU,EAAE,EAAE;MACdzE,QAAQ,EAAEmB,KAAK,CAACnB,QAAQ,IAAIJ,YAAY,CAACuB,KAAK,CAACzE,EAAE,EAAEtF,SAAS,CAAC;MAC7DyP,mBAAmB,EAAE1F,KAAK,CAAC0F,mBAAmB;MAC9CxK,GAAG,EAAE8E,KAAK,CAAC9E,GAAG;MACdC,IAAI,EAAE6E,KAAK,CAAC7E,IAAI;MAChBwK,IAAI,GAAAR,KAAA,IAAAC,qBAAA,IAAAC,iBAAA,GAAErF,KAAK,CAAC4F,UAAU,cAAAP,iBAAA,uBAAhBA,iBAAA,CAAkBM,IAAI,cAAAP,qBAAA,cAAAA,qBAAA,GAAIpF,KAAK,CAAC2F,IAAI,cAAAR,KAAA,cAAAA,KAAA,GAAI,CAAC;MAC/CU,QAAQ,GAAAP,KAAA,IAAAC,sBAAA,IAAAC,kBAAA,GAAExF,KAAK,CAAC4F,UAAU,cAAAJ,kBAAA,uBAAhBA,kBAAA,CAAkBK,QAAQ,cAAAN,sBAAA,cAAAA,sBAAA,GAAIvF,KAAK,CAAC6F,QAAQ,cAAAP,KAAA,cAAAA,KAAA,GAAI,EAAE;MAC5DQ,UAAU,EAAE9F,KAAK,CAAC8F,UAAU;MAC5BC,WAAW,EAAE/F,KAAK,CAAC+F,WAAW;MAC9BC,aAAa,EAAEhG,KAAK,CAACgG,aAAa;MAClCC,oBAAoB,EAAEjG,KAAK,CAACiG,oBAAoB;MAChDC,4BAA4B,EAAE,KAAK;MACnCC,MAAM,EAAE,KAAK;MACbC,OAAO,EAAE,KAAK;MACdC,MAAM,EAAE,KAAK;MACbC,uBAAuB,EAAE,KAAK;MAC9B1I,QAAQ,EAAEoC,KAAK,CAACuG,iBAAiB,GAAG,EAAE,GAAG1B,SAAS,CAAC,CAAC;MACpD2B,kBAAkB,GAAAf,qBAAA,GAAEzF,KAAK,CAAC8C,aAAa,cAAA2C,qBAAA,uBAAnBA,qBAAA,CAAqB5N,KAAK;MAC9C4O,aAAa,EAAE,KAAK;MACpBC,mBAAmB,EAAE,EAAE;MACvBC,mBAAmB,EAAE,KAAK;MAC1BC,cAAc,EAAE,EAAE;MAClBC,YAAY,EAAE,KAAK;MACnBC,OAAO,EAAE,EAAE;MACXC,WAAW,EAAE,CACX;QACExG,UAAU,EAAE,KAAK;QACjBvE,IAAI,EAAEtI,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CAAI3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAAC6M,WAAW,CAAE;MAC3D,CAAC,CACF;MACDwG,WAAW,EAAE,KAAK;MAClB3C,oBAAoB,EAAE;IACxB,CAAC;EAAA,CAAC,CAAC;EACH,IAAM,CAAC4C,eAAe,EAAEC,kBAAkB,CAAC,GAAGlV,QAAQ,EAAAiO,qBAAA,GACpDD,KAAK,CAACiH,eAAe,cAAAhH,qBAAA,cAAAA,qBAAA,GAAI,EAC3B,CAAC;EACD,IAAMe,KAAK,GAAG/O,MAAM,CAAC,IAAIkV,GAAG,CAA+C,CAAC,CAAC;EAC7E,IAAMC,aAAa,GAAGnV,MAAM,CAAC,IAAI,CAAC;;EAElC;EACA,IAAMoV,qBAAqB,GAAGnV,OAAO,CAAC,MAAM;IAC1C,OAAO;MACL6E,QAAQ,EAAEiJ,KAAK,CAACjJ,QAAQ;MACxB2L,QAAQ,EAAE1C,KAAK,CAAC2C;IAClB,CAAC;EACH,CAAC,EAAE,CAAC3C,KAAK,CAACjJ,QAAQ,EAAEiJ,KAAK,CAAC2C,gBAAgB,CAAC,CAAC;EAE5C,IAAM2E,mBAAmB;IAAA,IAAAC,KAAA,GAAAnF,iBAAA,CAAG,WAC1BjH,IAAY,EACZD,GAAY,EACZyK,IAAY,EACsC;MAAA,IAAA6B,oBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,qBAAA;MAClD,IAAMC,IAAuC,GAAG,CAAC,CAAC;MAClD,IAAMC,MAA2C,GAAG;QAClD9R,MAAM,EAAE6L,kBAAkB,GACtBpP,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC8E,MAAM,CAACsK,kBAAkB,CAAC,CAAC,GAC/C,CAAC,YAAY;MACnB,CAAC;MACD,IAAI,CAACxP,OAAO,CAAC2N,KAAK,CAAC+H,UAAU,CAAC,EAAE;QAC9BD,MAAM,CAACC,UAAU,GAAGF,IAAI,CAACE,UAAU,GAAG/H,KAAK,CAAC+H,UAAU;MACxD;MAEA,IAAMC,WAAuC,GAAG,CAAC,CAAC;MAClD,IAAInQ,KAA0B,GAAG,CAAC,CAAC;MAEnCiQ,MAAM,CAACnC,IAAI,GAAGkC,IAAI,CAAClC,IAAI,GAAGqC,WAAW,CAACrC,IAAI,GAAGA,IAAI;MACjDmC,MAAM,CAAC,WAAW,CAAC,GACjBD,IAAI,CAAC,WAAW,CAAC,GACjBG,WAAW,CAAC,WAAW,CAAC,GACtB/C,KAAK,CAACY,QAAQ;MAClB,IAAM5K,QAAQ,GAAGhF,SAAS,aAATA,SAAS,wBAAAuR,oBAAA,GAATvR,SAAS,CAAEG,QAAQ,cAAAoR,oBAAA,wBAAAC,qBAAA,GAAnBD,oBAAA,CAAqB1U,IAAI,CAAE+F,IAAI,IAAKA,IAAI,CAACE,EAAE,KAAKoC,IAAI,CAAC,cAAAsM,qBAAA,wBAAAC,sBAAA,GAArDD,qBAAA,CACbvL,KAAK,cAAAwL,sBAAA,uBADQA,sBAAA,CACNtD,YAAY;MACvB,IAAMtJ,KAAK,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAACM,QAAQ,CAACH,QAAQ,CAAC,GACnEC,GAAG,GACD,CAAC,GACD,CAAC,CAAC,GACJA,GAAG,GACH,CAAC,GACD,CAAC,CAAC;MACN,IAAIC,IAAI,EAAE;QAAA,IAAA8M,qBAAA;QACRJ,IAAI,CAAC1M,IAAI,GAAG;UAAE,CAACA,IAAI,GAAGL;QAAM,CAAC;QAC7B,IAAIoN,sBAAgC,GAAG,EAAE;QACzC,IACE,CAAClI,KAAK,CAACwC,kBAAkB,IACzB,CAACxC,KAAK,CAACmI,wBAAwB,IAC/B,CAACnI,KAAK,CAACoI,gBAAgB,EACvB;UAAA,IAAAC,qBAAA,EAAAC,iBAAA,EAAAC,qBAAA,EAAAC,sBAAA;UACA,IAAMlS,QAAQ,GAAGL,SAAS,aAATA,SAAS,wBAAAoS,qBAAA,GAATpS,SAAS,CAAEM,aAAa,cAAA8R,qBAAA,uBAAxBA,qBAAA,CAA0BvV,IAAI,CAAE2V,CAAC,IAChDA,CAAC,CAACxR,eAAe,KAAK+I,KAAK,CAACjJ,QAAQ,GAChCoE,IAAI,KAAKsN,CAAC,CAAChS,QAAQ,GACnB0E,IAAI,KAAKsN,CAAC,CAACjS,OACjB,CAAC;UACD,IAAMkS,gBAAgB,GACpB,CAAApS,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEW,eAAe,MAAK+I,KAAK,CAACjJ,QAAQ,GACxCT,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEQ,cAAc,GACxBR,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEW,eAAe;UAC/BiR,sBAAsB,IAAAI,iBAAA,GAAGtI,KAAK,CAAC9J,UAAU,cAAAoS,iBAAA,wBAAAC,qBAAA,GAAhBD,iBAAA,CAAkBxV,IAAI,CAC5C2V,CAAC,IAAKA,CAAC,CAAC1R,QAAQ,KAAK2R,gBACxB,CAAC,cAAAH,qBAAA,wBAAAC,sBAAA,GAFwBD,qBAAA,CAEtBlR,IAAI,cAAAmR,sBAAA,uBAFkBA,sBAAA,CAEhBlR,QAAQ;QACnB;QACAwQ,MAAM,CAAC3M,IAAI,GAAG,CAAA8M,qBAAA,GAAAC,sBAAsB,cAAAD,qBAAA,eAAtBA,qBAAA,CAAwBvO,MAAM,GACxCwO,sBAAsB,CAAC1V,GAAG,CAAEiW,CAAC,KAAM;UAAE9P,GAAG,KAAApB,MAAA,CAAK4D,IAAI,OAAA5D,MAAA,CAAIkR,CAAC,CAAE;UAAE3N;QAAM,CAAC,CAAC,CAAC,GACnE,CAAC;UAAEnC,GAAG,EAAEwC,IAAI;UAAEL;QAAM,CAAC,CAAC;MAC5B;MAEA,IAAImK,KAAK,CAACvN,CAAC,EAAE;QACXG,KAAK,GAAGL,QAAQ,CACdvB,SAAS,EACTwB,WAAW,EACXwN,KAAK,CAACvN,CAAC,EACPuN,KAAK,CAACrH,QAAQ,EACdoC,KAAK,CAACrI,cAAc,EACpBkK,kBACF,CAAC;MACH;MAEA,IAAIoD,KAAK,CAACvN,CAAC,IAAIsI,KAAK,CAAC2I,0BAA0B,EAAE;QAC/CX,WAAW,CAACY,QAAQ,GAAG3D,KAAK,CAACvN,CAAC;MAChC;MACA,IAAI,CAACrF,OAAO,CAAC4S,KAAK,CAAC1J,EAAE,CAAC,EAAE;QACtB1D,KAAK,CAAC/C,gBAAgB,CAACqK,GAAG,CAAC,GAAG8F,KAAK,CAAC1J,EAAE;MACxC;MAEA,IAAI,CAAClJ,OAAO,CAAC2N,KAAK,CAAC6I,YAAY,CAAC,EAAE;QAChChR,KAAK,CAAC/C,gBAAgB,CAACqK,GAAG,CAAC,GAAG,CAC5B,IAAItH,KAAK,CAAC/C,gBAAgB,CAACqK,GAAG,CAAC,IAAI,EAAE,CAAC,EACtC,GAAGa,KAAK,CAAC6I,YAAY,CACtB;MACH;MACA,IAAI7I,KAAK,CAAC8C,aAAa,EAAE;QACvB,IAAI,CAACzQ,OAAO,CAAC2N,KAAK,CAAC8C,aAAa,CAACjL,KAAK,CAAC,EAAE;UACvC,IAAIiC,MAAM,CAACC,IAAI,CAAClC,KAAK,CAAC,CAAC6B,MAAM,EAAE;YAC7B7B,KAAK,GAAG;cACNiR,IAAI,EAAE,CAACjR,KAAK,EAAEmI,KAAK,CAAC8C,aAAa,CAACjL,KAAK;YACzC,CAAC;UACH,CAAC,MAAM;YACLA,KAAK,GAAGmI,KAAK,CAAC8C,aAAa,CAACjL,KAAK;UACnC;QACF;MACF;MACA,IAAIoN,KAAK,CAACrH,QAAQ,EAAE;QAClBiK,IAAI,CAAC7R,MAAM,GAAG8D,MAAM,CAACiP,WAAW,CAC9B9D,KAAK,CAACrH,QAAQ,CAACpL,GAAG,CAAEsL,OAAO,IAAK,CAACA,OAAO,EAAE,IAAI,CAAC,CACjD,CAAC;QACDgK,MAAM,CAAC9R,MAAM,GAAG,CACd,GAAGiP,KAAK,CAACrH,QAAQ,EACjB,GAAGkK,MAAM,CAAC9R,MAAM,EAChB,IAAIC,SAAS,CAACqM,UAAU,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAChD;QACAwF,MAAM,CAASkB,0BAA0B,GAAG,IAAI;MACnD;MACA,IAAIhJ,KAAK,CAACmI,wBAAwB,EAAE;QAClCL,MAAM,CAAC9R,MAAM,GAAGD,2BAA2B,CACzC+R,MAAM,CAAC9R,MAAM,EACbC,SAAS,EACT+J,KAAK,CAAC9J,UACR,CAAC;MACH;MACA,IAAI8J,KAAK,CAAC2I,0BAA0B,EAAE;QACpCX,WAAW,CAAChS,MAAM,GAAG8R,MAAM,CAAC9R,MAAM,CAACwE,IAAI,CAAC,GAAG,CAAC;MAC9C;MACA,IAAIyK,KAAK,CAACa,UAAU,IAAI9F,KAAK,CAACjJ,QAAQ,KAAK,MAAM,EAAE;QACjDc,KAAK,GAAAiJ,aAAA,CAAAA,aAAA,KAAQjJ,KAAK;UAAEoR,YAAY,EAAE;QAAI,EAAE;MAC1C;MACA,IAAIhE,KAAK,CAACS,mBAAmB,EAAE;QAC7B7N,KAAK,GAAAiJ,aAAA,CAAAA,aAAA,KAAQjJ,KAAK;UAAEqR,UAAU,EAAEjE,KAAK,CAACS;QAAmB,EAAE;MAC7D;MAEA,IAAI,CAACrT,OAAO,CAACwF,KAAK,CAAC,EAAE;QACnBiQ,MAAM,CAACjQ,KAAK,GAAGgQ,IAAI,CAAChQ,KAAK,GAAGA,KAAK;MACnC;MACA;;MAEA,IAAImI,KAAK,CAACmI,wBAAwB,IAAI,CAAC9V,OAAO,CAAC2N,KAAK,CAACmJ,WAAW,CAAC,EAAE;QACjErP,MAAM,CAACsP,MAAM,CAACtB,MAAM,EAAE9H,KAAK,CAACmJ,WAAW,CAAC;MAC1C;MACA,IAAIlE,KAAK,CAACc,WAAW,EAAE;QACrB+B,MAAM,CAACuB,gBAAgB,GAAGxB,IAAI,CAACwB,gBAAgB,GAAGpE,KAAK,CAACc,WAAW;MACrE;MACA;MACA;MACA,IAAId,KAAK,CAAC+B,WAAW,EAAE;QAAA,IAAAsC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA;QACrB,IAAMC,SAAS,IAAAL,qBAAA,GAAGtJ,KAAK,CAAC8C,aAAa,cAAAwG,qBAAA,wBAAAC,qBAAA,GAAnBD,qBAAA,CAAqBzR,KAAK,cAAA0R,qBAAA,wBAAAC,qBAAA,GAA1BD,qBAAA,CAA6B,MAAM,CAAC,cAAAC,qBAAA,wBAAAC,qBAAA,GAApCD,qBAAA,CAAsC1W,IAAI,CACzD2V,CAAM,IAAKA,CAAC,CAAClI,UAChB,CAAC,cAAAkJ,qBAAA,wBAAAC,sBAAA,GAFiBD,qBAAA,CAEflJ,UAAU,cAAAmJ,sBAAA,uBAFKA,sBAAA,CAEF,KAAK,CAAC;QACtB5B,MAAM,CAACjQ,KAAK,GAAAiJ,aAAA,CAAAA,aAAA;UACV,CAACmE,KAAK,CAAC0B,mBAAmB,KAAK,KAAK,IACnC1B,KAAK,CAAC0B,mBAAmB,KAAK,SAAS,IACtC1B,KAAK,CAAC4B,YAAY,KAAK,KAAM,GAC3B,sCAAsC,GACtC,gCAAgC,GAAG5B,KAAK,CAACyB;QAAmB,GAC5D,CAACrU,OAAO,CAACsX,SAAS,CAAC,IAAI3J,KAAK,CAAC4J,kBAAkB,GAC/C;UACErJ,UAAU,EAAE;YAAEsJ,GAAG,EAAEF;UAAU;QAC/B,CAAC,GACD,CAAC,CAAC,GACF1E,KAAK,CAACa,UAAU,IAAI9F,KAAK,CAACjJ,QAAQ,KAAK,MAAM,GAC7C;UAAEkS,YAAY,EAAE;QAAK,CAAC,GACtB,CAAC,CAAC,CACP;MACH;MAEA,IAAI,EAAEjJ,KAAK,CAACwC,kBAAkB,IAAIxC,KAAK,CAACmI,wBAAwB,CAAC,EAAE;QACjEL,MAAM,CAACgC,cAAc,GACnB3W,KAAK,CAAC6M,KAAK,CAAC+J,aAAa,CAAC,IAAI/J,KAAK,CAAC+J,aAAa,KAAK,CAAC,GACnD,CAAC,GACD/J,KAAK,CAAC+J,aAAa,GAAG,CAAC;MAC/B;MAEA,IAAI/J,KAAK,CAAC2I,0BAA0B,EAAE;QACpC,OAAO1H,2BAA2B,CAACpJ,KAAK,CAAC,CAACmI,KAAK,CAACjJ,QAAQ,EAAEiR,WAAW,CAAC,CAAC;MACzE;MACA,IAAMgC,OAAO,IAAArC,qBAAA,GAAG3H,KAAK,CAACiK,eAAe,cAAAtC,qBAAA,uBAArBA,qBAAA,CAAAuC,IAAA,CAAAlK,KAAK,EAAmB6H,IAAI,EAAEC,MAAM,CAAC;MACrD;MACA;MACA,OAAOkC,OAAO,GACVA,OAAO,GACPhK,KAAK,CAACwC,kBAAkB,GACxBhB,oBAAoB,CAAC3J,KAAK,CAAC,CAAAiJ,aAAA,CAAAA,aAAA,KAEpBgH,MAAM,GACNT,qBAAqB,EAE3B,CAAC,GACFrH,KAAK,CAACmI,wBAAwB,GAC9BpH,YAAY,CAAClJ,KAAK,CAAC,CAACmI,KAAK,CAACjJ,QAAQ,EAAE+Q,MAAM,CAAC,CAAC,GAC5C9H,KAAK,CAACoI,gBAAgB,GACtBlH,wBAAwB,CAACrJ,KAAK,CAAC,CAACmI,KAAK,CAACjJ,QAAQ,EAAE+Q,MAAM,CAAC,CAAC,GACxD9H,KAAK,CAACmK,+BAA+B,KAAAvC,qBAAA,GACrC5H,KAAK,CAACoK,iBAAiB,cAAAxC,qBAAA,eAAvBA,qBAAA,CAAyBjO,WAAW,IACpCqG,KAAK,CAACqK,6BAA6B,GACnClJ,8BAA8B,CAACtJ,KAAK,CAAC,CACnCmI,KAAK,CAACqK,6BAA6B,CAACtT,QAAQ,EAC5CiJ,KAAK,CAACoK,iBAAiB,CAACzQ,WAAW,EACnCqG,KAAK,CAACqK,6BAA6B,CAAC9J,UAAU,EAAAO,aAAA;QAC5CwJ,cAAc,EAAExC,MAAM,CAACjQ;MAAK,GAAKiQ,MAAM,EAC1C,CAAC,GACFjU,wBAAwB,CAACmM,KAAK,CAACjJ,QAAQ,EAAE+Q,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAAA,gBA/LKR,mBAAmBA,CAAAiD,GAAA,EAAAC,GAAA,EAAAC,GAAA;MAAA,OAAAlD,KAAA,CAAAvE,KAAA,OAAArE,SAAA;IAAA;EAAA,GA+LxB;EAED,IAAM+L,mBAAmB;IAAA,IAAAC,KAAA,GAAAvI,iBAAA,CAAG,WAC1BjH,IAAY,EACZD,GAAY,EACZyK,IAAY,EACM;MAClBT,QAAQ,CAAC;QAAEkB,OAAO,EAAE;MAAK,CAAC,CAAC;MAC3B,IAAI;QACF,IAAIpG,KAAK,CAAC4F,UAAU,EAAE;UACpBV,QAAQ,CAAC;YACPzN,WAAW,EAAEA,WAAW;YACxBmT,gBAAgB,EAAE5K,KAAK,CAAC4F;UAC1B,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAAC5F,KAAK,CAAC6K,gBAAgB,EAAE;YAC3B,IAAMD,gBAAgB,GAAG,OAAOtD,mBAAmB,CACjDnM,IAAI,EACJD,GAAG,EACHyK,IACF,CAAC,KAAK;cAAEmF,IAAI,EAAE;YAAG,CAAC;YAClBF,gBAAgB,CAACE,IAAI,CAACpS,OAAO,CAAE+P,CAAC,IAC9BzH,KAAK,CAAC+J,OAAO,CAACC,GAAG,CAACvC,CAAC,CAAClI,UAAU,EAAEkI,CAAC,CACnC,CAAC;YACDvD,QAAQ,CAAC;cAAEzN,WAAW,EAAEA,WAAW;cAAEmT;YAAiB,CAAC,CAAC;UAC1D,CAAC,MAAM;YACL1F,QAAQ,CAAC;cACPzN,WAAW,EAAEA,WAAW;cACxBmT,gBAAgB,EAAE;YACpB,CAAC,CAAC;UACJ;QACF;MACF,CAAC,CAAC,OAAOK,CAAC,EAAE;QACVzX,eAAe,CAACyX,CAAC,CAAC;QAClB;QACA/F,QAAQ,CAAC;UACPzN,WAAW,EAAEA,WAAW;UACxBmT,gBAAgB,EAAE;QACpB,CAAC,CAAC;MACJ,CAAC,SAAS;QACR1F,QAAQ,CAAC;UAAEiB,MAAM,EAAE,IAAI;UAAEC,OAAO,EAAE;QAAM,CAAC,CAAC;MAC5C;IACF,CAAC;IAAA,gBAxCKsE,mBAAmBA,CAAAQ,GAAA,EAAAC,GAAA,EAAAC,GAAA;MAAA,OAAAT,KAAA,CAAA3H,KAAA,OAAArE,SAAA;IAAA;EAAA,GAwCxB;EACD;EACA;EACA7M,SAAS,CAAC,MAAM;IACd,IAAIkO,KAAK,CAACuG,iBAAiB,EAAE;MAC3B,IAAM8E,WAAW;QAAA,IAAAC,KAAA,GAAAlJ,iBAAA,CAAG,aAAY;UAAA,IAAAmJ,sBAAA,EAAAC,sBAAA;UAC9B,IAAMC,WAAW,SAAS3H,cAAc,CAAC,CAAC;UAC1C,IAAM;YAAElG,QAAQ;YAAEzC,IAAI;YAAED,GAAG;YAAEoI,UAAU;YAAEe;UAAqB,CAAC,GAC7DoH,WAAW;UACb;UACE;UACAzL,KAAK,CAACjJ,QAAQ,KAAKkO,KAAK,CAAClO,QAAQ,IACjC,CAACzE,OAAO,CAACsL,QAAQ,EAAEqH,KAAK,CAACrH,QAAQ,CAAC,IAClC,CAACtL,OAAO,EAAAiZ,sBAAA,GAACvL,KAAK,CAAC8C,aAAa,cAAAyI,sBAAA,uBAAnBA,sBAAA,CAAqB1T,KAAK,EAAEoN,KAAK,CAACuB,kBAAkB,CAAC,EAE9DtB,QAAQ,CAAC;YACPtH,QAAQ;YACR4I,kBAAkB,GAAAgF,sBAAA,GAAExL,KAAK,CAAC8C,aAAa,cAAA0I,sBAAA,uBAAnBA,sBAAA,CAAqB3T,KAAK;YAC9CsD,IAAI;YACJD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAACE,QAAQ,CAACF,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK;YACxCoI,UAAU;YACVe;UACF,CAAC,CAAC;QACN,CAAC;QAAA,gBAlBKgH,WAAWA,CAAA;UAAA,OAAAC,KAAA,CAAAtI,KAAA,OAAArE,SAAA;QAAA;MAAA,GAkBhB;MACD0M,WAAW,CAAC,CAAC;IACf,CAAC,MAAM;MAAA,IAAAK,sBAAA;MACL,IAAM9N,QAAQ,GAAGiH,SAAS,CAAC,CAAC;MAC5B;MACE;MACA7E,KAAK,CAACjJ,QAAQ,KAAKkO,KAAK,CAAClO,QAAQ,IACjC,CAACzE,OAAO,CAACsL,QAAQ,EAAEqH,KAAK,CAACrH,QAAQ,CAAC,IAClC,CAACtL,OAAO,EAAAoZ,sBAAA,GAAC1L,KAAK,CAAC8C,aAAa,cAAA4I,sBAAA,uBAAnBA,sBAAA,CAAqB7T,KAAK,EAAEoN,KAAK,CAACuB,kBAAkB,CAAC,EAC9D;QAAA,IAAAmF,sBAAA;QACAzG,QAAQ,CAAC;UACPtH,QAAQ;UACR4I,kBAAkB,GAAAmF,sBAAA,GAAE3L,KAAK,CAAC8C,aAAa,cAAA6I,sBAAA,uBAAnBA,sBAAA,CAAqB9T;QAC3C,CAAC,CAAC;MACJ;IACF;EACF,CAAC,EAAE,CAACmI,KAAK,CAACjJ,QAAQ,EAAEiJ,KAAK,CAAC8C,aAAa,EAAEjB,kBAAkB,CAAC,CAAC;EAE7D/P,SAAS,CAAC,MAAM;IAAA,IAAA8Z,sBAAA;IACd1E,kBAAkB,EAAA0E,sBAAA,GAAC5L,KAAK,CAACiH,eAAe,cAAA2E,sBAAA,cAAAA,sBAAA,GAAI,EAAE,CAAC;EACjD,CAAC,EAAE,CAAC5L,KAAK,CAACjJ,QAAQ,EAAEiJ,KAAK,CAACiH,eAAe,CAAC,CAAC;;EAE3C;EACAnV,SAAS,CAAC,MAAM;IACd,IAAIsV,aAAa,CAAC2D,OAAO,EAAE;MACzB3D,aAAa,CAAC2D,OAAO,GAAG,KAAK;MAC7B;IACF;IAEA,IAAIc,IAAI,GAAG,KAAK;IAEhB,IAAI5G,KAAK,CAACU,IAAI,KAAK,CAAC,EAAE;MAAA,IAAAmG,qBAAA;MACpB5G,QAAQ,CAAC;QAAES,IAAI,EAAE;MAAE,CAAC,CAAC;MACrB,CAAAmG,qBAAA,GAAA9L,KAAK,CAAC+L,kBAAkB,cAAAD,qBAAA,uBAAxBA,qBAAA,CAAA5B,IAAA,CAAAlK,KAAK,EAAsB;QAAE2F,IAAI,EAAE,CAAC;QAAEE,QAAQ,EAAEZ,KAAK,CAACY;MAAS,CAAC,CAAC;MACjEgG,IAAI,GAAG,IAAI;IACb;;IAEA;IACA,IAAI7L,KAAK,CAACjJ,QAAQ,KAAKkO,KAAK,CAAClO,QAAQ,EAAE;MACrCmO,QAAQ,CAAC;QAAEnO,QAAQ,EAAEiJ,KAAK,CAACjJ;MAAS,CAAC,CAAC;MACtC8U,IAAI,GAAG,IAAI;IACb;IAEA,IAAIA,IAAI,EAAE;MACR;IACF;IAEAnB,mBAAmB,CAACzF,KAAK,CAAC9J,IAAI,EAAE8J,KAAK,CAAC/J,GAAG,EAAE,CAAC,CAAC;EAC/C,CAAC,EAAE,CACD+J,KAAK,CAACvN,CAAC,EACPuN,KAAK,CAAC1J,EAAE,EACR0J,KAAK,CAACS,mBAAmB,EACzBT,KAAK,CAACY,QAAQ,EACdZ,KAAK,CAACa,UAAU,EAChBb,KAAK,CAACc,WAAW,EACjB/F,KAAK,CAACjJ,QAAQ,EACdiJ,KAAK,CAAC+H,UAAU,EAChB/H,KAAK,CAAC6I,YAAY,CACnB,CAAC;EAEF/W,SAAS,CAAC,MAAM;IACdkT,IAAI,CAAChF,KAAK,CAACtI,CAAC,CAAC;IACbwN,QAAQ,CAAC;MAAExN,CAAC,EAAEsI,KAAK,CAACtI;IAAE,CAAC,CAAC;EAC1B,CAAC,EAAE,CAACsI,KAAK,CAACtI,CAAC,CAAC,CAAC;;EAEb;EACA5F,SAAS,CAAC,MAAM;IACd,IAAIO,OAAO,CAAC4S,KAAK,CAACrH,QAAQ,CAAC,EAAE;IAC7B8M,mBAAmB,CAACzF,KAAK,CAAC9J,IAAI,EAAE8J,KAAK,CAAC/J,GAAG,EAAE+J,KAAK,CAACU,IAAI,CAAC;EACxD,CAAC,EAAE,CACDV,KAAK,CAACU,IAAI,EACVV,KAAK,CAAC9J,IAAI,EACV8J,KAAK,CAAC/J,GAAG,EACT+J,KAAK,CAACrH,QAAQ,EACdqH,KAAK,CAACyB,mBAAmB,EACzBzB,KAAK,CAAC0B,mBAAmB,EACzB1B,KAAK,CAAC+B,WAAW,EACjBhH,KAAK,CAAC4F,UAAU,EAChBX,KAAK,CAACuB,kBAAkB,EACxBxG,KAAK,CAACgM,cAAc,CACrB,CAAC;EAEF,IAAMC,QAAQ,GAAIhB,CAAsC,IAAK;IAC3DjG,IAAI,CAACiG,CAAC,CAACiB,MAAM,CAAChQ,KAAK,CAAC;EACtB,CAAC;;EAED;EACA,IAAMiQ,iBAAiB,GAAGha,WAAW;IAAA,IAAAia,KAAA,GAAAhK,iBAAA,CACnC,WAAOiK,QAA0D,EAAK;MAAA,IAAAC,qBAAA;MACpE,IAAI;QAAEC,aAAa;QAAEC;MAAa,CAAC,GAAGH,QAAQ;MAC9CnF,kBAAkB,CAACsF,YAAY,CAAC;MAChC,IAAIA,YAAY,CAAC9S,MAAM,GAAG1G,OAAO,CAACuZ,aAAa,CAAC,CAAC7S,MAAM,EAAE;QACvD,IAAM+S,GAAG,GAAGD,YAAY,CAAC7Z,MAAM,CAAEoG,EAAE,IAAK,CAACiI,KAAK,CAAC+J,OAAO,CAAC2B,GAAG,CAAC3T,EAAE,CAAC,CAAC;QAC/D,IAAI0T,GAAG,CAAC/S,MAAM,EAAE;UACd,IAAIiT,IAAI;UACR,IAAMC,MAAW,GAAG;YAClB5W,MAAM,EAAE,CAAC,YAAY,CAAC;YACtB6B,KAAK,EAAE;cACL0I,UAAU,EAAE;gBACVsJ,GAAG,EAAE4C;cACP;YACF,CAAC;YACDI,SAAS,EAAEJ,GAAG,CAAC/S,MAAM;YACrBiM,IAAI,EAAE;UACR,CAAC;UAED,IAAI,EAAE3F,KAAK,CAACwC,kBAAkB,IAAIxC,KAAK,CAACmI,wBAAwB,CAAC,EAAE;YACjEyE,MAAM,CAAC9C,cAAc,GACnB3W,KAAK,CAAC6M,KAAK,CAAC+J,aAAa,CAAC,IAAI/J,KAAK,CAAC+J,aAAa,KAAK,CAAC,GACnD,CAAC,GACD/J,KAAK,CAAC+J,aAAa,GAAG,CAAC;UAC/B;UACA;UACA,IAAI/J,KAAK,CAACwC,kBAAkB,EAAE;YAC5BmK,IAAI,SAASnL,oBAAoB,CAAC3J,KAAK,CAAC,CAAAiJ,aAAA,CAAAA,aAAA,KAEjC8L,MAAM,GACNvF,qBAAqB,EAE3B,CAAC;UACJ,CAAC,MAAM,IAAIrH,KAAK,CAACmI,wBAAwB,EAAE;YACzC;YACAwE,IAAI,SAAS5L,YAAY,CAAClJ,KAAK,CAAC,CAC9BmI,KAAK,CAACjJ,QAAQ,EACd+C,MAAM,CAACsP,MAAM,CAACwD,MAAM,EAAE5M,KAAK,CAACmJ,WAAW,CAAC,CACzC,CAAC;UACJ,CAAC,MAAM,IAAInJ,KAAK,CAACoI,gBAAgB,EAAE;YACjCuE,IAAI,SAASzL,wBAAwB,CAACrJ,KAAK,CAAC,CAC1CmI,KAAK,CAACjJ,QAAQ,EACd+C,MAAM,CAACsP,MAAM,CAACwD,MAAM,EAAE5M,KAAK,CAACmJ,WAAW,CAAC,CACzC,CAAC;UACJ,CAAC,MAAM;YACLwD,IAAI,SAAS9Y,wBAAwB,CAACmM,KAAK,CAACjJ,QAAQ,EAAE6V,MAAM,CAAC;UAC/D;UACAD,IAAI,CAAC7B,IAAI,CAACpS,OAAO,CAAE+P,CAAsB,IACvCzH,KAAK,CAAC+J,OAAO,CAACC,GAAG,CAACvC,CAAC,CAAClI,UAAU,EAAEkI,CAAC,CACnC,CAAC;QACH;QACA8D,aAAa,GAAGC,YAAY,CAACha,GAAG,CAAEuG,EAAE,IAAKiI,KAAK,CAAC+J,OAAO,CAAC3X,GAAG,CAAC2F,EAAE,CAAC,CAAC;MACjE;MACA,CAAAuT,qBAAA,GAAAtM,KAAK,CAACmM,iBAAiB,cAAAG,qBAAA,uBAAvBA,qBAAA,CAAApC,IAAA,CAAAlK,KAAK,EAAqB;QAAEuM,aAAa;QAAEC;MAAa,CAAC,CAAC;IAC5D,CAAC;IAAA,iBAAAM,GAAA;MAAA,OAAAV,KAAA,CAAApJ,KAAA,OAAArE,SAAA;IAAA;EAAA,KACD,EACF,CAAC;EAED,IAAMoO,QAAQ,GAAI7Q,KAAa,IAAK;IAAA,IAAA8Q,eAAA;IAClC,IAAMtV,CAAC,GAAGwE,KAAK,CAAClE,IAAI,CAAC,CAAC;IACtBkN,QAAQ,CAAC;MAAExN;IAAE,CAAC,CAAC;IACf,CAAAsV,eAAA,GAAAhN,KAAK,CAAC+M,QAAQ,cAAAC,eAAA,uBAAdA,eAAA,CAAA9C,IAAA,CAAAlK,KAAK,EAAYtI,CAAC,CAAC;EACrB,CAAC;EAED,IAAMuV,gBAAgB,GAAGA,CACvB9S,OAAgB,EAChB+S,aAAsB,EACtBC,WAAoC,KACjC;IAAA,IAAAC,qBAAA;IACHlI,QAAQ,CAAC;MACP3J,EAAE,EAAEpB,OAAO;MACXgT,WAAW;MACXtO,QAAQ,EAAEqO;IACZ,CAAC,CAAC;IACF,CAAAE,qBAAA,GAAApN,KAAK,CAACiN,gBAAgB,cAAAG,qBAAA,uBAAtBA,qBAAA,CAAAlD,IAAA,CAAAlK,KAAK,EAAoB7F,OAAO,CAAC;EACnC,CAAC;EAED,IAAMkT,eAAe,GAAGlb,WAAW;IAAA,IAAAmb,MAAA,GAAAlL,iBAAA,CACjC,WAAOxF,IAA6B,EAAE0G,UAAyB,EAAK;MAAA,IAAAiK,qBAAA;MAClE,IAAIrS,GAAY;MAChB,IAAIC,IAAY;MAChB,IAAIyB,IAAI,CAAC1B,GAAG,KAAK2B,SAAS,EAAE;QAC1B,IAAI,CAACoI,KAAK,CAAC9J,IAAI,EAAE;UACf;QACF;QAEA+J,QAAQ,CAAC;UAAEhK,GAAG,EAAE2B,SAAS;UAAE1B,IAAI,EAAE0B;QAAU,CAAC,CAAC;MAC/C,CAAC,MAAM;QACLqI,QAAQ,CAAC;UAAEhK,GAAG,EAAE0B,IAAI,CAAC1B,GAAG;UAAEC,IAAI,EAAEyB,IAAI,CAACzB;QAAK,CAAC,CAAC;QAC5CD,GAAG,GAAG0B,IAAI,CAAC1B,GAAG;QACdC,IAAI,GAAGyB,IAAI,CAACzB,IAAI;MAClB;MACA;MACA,IACE6E,KAAK,CAACuG,iBAAiB,IACvBjD,UAAU,CAACxQ,IAAI,CAAEuI,IAAI,IAAKA,IAAI,CAAChF,KAAK,KAAKuG,IAAI,CAACzB,IAAI,CAAC,EACnD;QACA,IAAI;UAAA,IAAAqS,oBAAA,EAAAC,qBAAA,EAAAC,sBAAA;UACF,IAAMC,aAAa,GAAGrK,UAAU;UAChC,IAAMrI,QAAQ,GAAGhF,SAAS,aAATA,SAAS,wBAAAuX,oBAAA,GAATvX,SAAS,CAAEG,QAAQ,cAAAoX,oBAAA,wBAAAC,qBAAA,GAAnBD,oBAAA,CAAqB1a,IAAI,CAAE+F,IAAI,IAAKA,IAAI,CAACE,EAAE,KAAKoC,IAAI,CAAC,cAAAsS,qBAAA,wBAAAC,sBAAA,GAArDD,qBAAA,CACbvR,KAAK,cAAAwR,sBAAA,uBADQA,sBAAA,CACNtJ,YAAY;UACvB,IAAMwJ,aAAa,GAAG7S,gBAAgB,CAAC4S,aAAa,EAAE/Q,IAAI,EAAE3B,QAAQ,CAAC;UACrEiK,QAAQ,CAAC;YACP5B,UAAU,EAAEsK;UACd,CAAC,CAAC;UACF,IAAI5N,KAAK,CAACwC,kBAAkB,EAAE;YAC5B,MAAMb,4BAA4B,CAAC9J,KAAK,CAAC,CACvC;cACEyM,SAAS,EAAEtE,KAAK,CAACjJ,QAAQ;cACzB2L,QAAQ,EAAE1C,KAAK,CAAC2C,gBAAgB;cAChCW,UAAU,EAAEsK;YACd,CAAC,CACF,CAAC;UACJ,CAAC,MAAM;YACL,MAAMvM,oBAAoB,CAACxJ,KAAK,CAAC,CAC/BmI,KAAK,CAACjJ,QAAQ,EACd;cAAEuM,UAAU,EAAEsK;YAAc,CAAC,CAC9B,CAAC;UACJ;QACF,CAAC,CAAC,OAAO3C,CAAC,EAAE;UACVzX,eAAe;QACjB;MACF;MACA;MACA,CAAA+Z,qBAAA,GAAAvN,KAAK,CAACqN,eAAe,cAAAE,qBAAA,uBAArBA,qBAAA,CAAArD,IAAA,CAAAlK,KAAK,EAAmBpD,IAAI,CAAC;IAC/B,CAAC;IAAA,iBAAAiR,GAAA,EAAAC,IAAA;MAAA,OAAAR,MAAA,CAAAtK,KAAA,OAAArE,SAAA;IAAA;EAAA,KACD,CAACsG,KAAK,CAAC9J,IAAI,CACb,CAAC;EAED,IAAM4Q,kBAAkB,GAAG5Z,WAAW,CACnC4b,UAAsC,IAAK;IAAA,IAAAC,sBAAA;IAC1C9I,QAAQ,CAAC;MAAES,IAAI,EAAEoI,UAAU,CAACpI,IAAI;MAAEE,QAAQ,EAAEkI,UAAU,CAAClI;IAAS,CAAC,CAAC;IAClE,CAAAmI,sBAAA,GAAAhO,KAAK,CAAC+L,kBAAkB,cAAAiC,sBAAA,uBAAxBA,sBAAA,CAAA9D,IAAA,CAAAlK,KAAK,EAAsB+N,UAAU,CAAC;EACxC,CAAC,EACD,EACF,CAAC;EAED,IAAME,sBAAsB,GAAG9b,WAAW,CAAEuT,mBAA2B,IAAK;IAAA,IAAAwI,qBAAA;IAC1EhJ,QAAQ,CAAC;MAAEQ;IAAoB,CAAC,CAAC;IACjC,CAAAwI,qBAAA,GAAAlO,KAAK,CAACiO,sBAAsB,cAAAC,qBAAA,uBAA5BA,qBAAA,CAAAhE,IAAA,CAAAlK,KAAK,EAA0B0F,mBAAmB,CAAC;EACrD,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMyI,mBAAmB,GAAIC,OAAgB,IAAK;IAAA,IAAAC,qBAAA;IAChDnJ,QAAQ,CAAC;MAAEa,WAAW,EAAEqI;IAAQ,CAAC,CAAC;IAClC,CAAAC,qBAAA,GAAArO,KAAK,CAACmO,mBAAmB,cAAAE,qBAAA,uBAAzBA,qBAAA,CAAAnE,IAAA,CAAAlK,KAAK,EAAuBoO,OAAO,CAAC;EACtC,CAAC;EAED,IAAME,kBAAkB,GAAIF,OAAgB,IAAK;IAAA,IAAAG,qBAAA;IAC/CrJ,QAAQ,CAAC;MAAEY,UAAU,EAAEsI;IAAQ,CAAC,CAAC;IACjC,CAAAG,qBAAA,GAAAvO,KAAK,CAACsO,kBAAkB,cAAAC,qBAAA,uBAAxBA,qBAAA,CAAArE,IAAA,CAAAlK,KAAK,EAAsBoO,OAAO,CAAC;EACrC,CAAC;EAED,IAAMI,mBAAmB,GAAI/H,aAAsB,IAAK;IACtDvB,QAAQ,CAAC;MAAEuB;IAAc,CAAC,CAAC;EAC7B,CAAC;EACD;EACA,IAAMgI,gBAAgB,GAAG5c,KAAK,CAACM,WAAW,eAAAiQ,iBAAA,CAAC,aAAY;IACrD,IAAI,CAAC6C,KAAK,CAAC+B,WAAW,EAAE;MAAA,IAAA0H,iBAAA,EAAAC,kBAAA,EAAAC,kBAAA;MACtB,IAAIC,WAAgB;MACpB,IAAMjC,MAAW,GAAA9L,aAAA;QACf9K,MAAM,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC;QAC1CmF,IAAI,EAAE,CAAC;UAAExC,GAAG,EAAE,MAAM;UAAEmC,KAAK,EAAE;QAAE,CAAC,CAAC;QACjC6K,IAAI,EAAE,CAAC;QACPkH,SAAS,EAAE;MAAI,GACX7M,KAAK,CAACwC,kBAAkB,GAAG6E,qBAAqB,GAAG,CAAC,CAAC,CAC1D;MACD;MACA,IAAIrH,KAAK,CAACwC,kBAAkB,EAAE;QAC5BqM,WAAW,SAASrN,oBAAoB,CAAC3J,KAAK,CAAC,CAAC+U,MAAM,CAAC,CAAC;MAC1D,CAAC,MAAM;QACLiC,WAAW,SAAShb,wBAAwB,CAAC,KAAK,EAAE+Y,MAAM,CAAC;MAC7D;MAEA1H,QAAQ,CAAC;QACPwB,mBAAmB,EAAE,EAAAgI,iBAAA,GAAAG,WAAW,CAAC/D,IAAI,cAAA4D,iBAAA,uBAAhBA,iBAAA,CAAmB,CAAC,CAAC,CAACnO,UAAU,KAAI,EAAE;QAC3DuG,OAAO,EAAE+H,WAAW,CAAC/D,IAAI;QACzB/D,WAAW,EAAE,CAAC,GAAGzG,QAAQ,EAAE,IAAI,EAAAqO,kBAAA,GAAAE,WAAW,CAAC/D,IAAI,cAAA6D,kBAAA,uBAAhBA,kBAAA,CAAmB,CAAC,CAAC,CAACG,QAAQ,KAAI,EAAE,CAAC,CAAC;QACrE9H,WAAW,EAAE,IAAI;QACjBJ,cAAc,EAAE,EAAAgI,kBAAA,GAAAC,WAAW,CAAC/D,IAAI,cAAA8D,kBAAA,uBAAhBA,kBAAA,CAAmB,CAAC,CAAC,CAACrO,UAAU,KAAI,EAAE;QACtDsG,YAAY,EAAE,KAAK;QACnBlB,IAAI,EAAE;MACR,CAAC,CAAC;IACJ,CAAC,MAAM;MACLT,QAAQ,CAAC;QAAE8B,WAAW,EAAE,KAAK;QAAErB,IAAI,EAAE;MAAE,CAAC,CAAC;IAC3C;EACF,CAAC,GAAE,CAACV,KAAK,CAAC+B,WAAW,CAAC,CAAC;EACvB;EACA,IAAM+H,eAAe,GAAI9U,CAAS,IAAK;IACrCiL,QAAQ,CAAC;MACPwB,mBAAmB,EAAEzM,CAAC;MACtB0M,mBAAmB,EAAE,KAAK;MAC1BC,cAAc,EAAE3M,CAAC;MACjB4M,YAAY,EAAE,KAAK;MACnBE,WAAW,EAAE,CACX,GAAGzG,QAAQ,EACX,GAAG2E,KAAK,CAAC6B,OAAO,CAAChU,IAAI,CAAEkc,CAAC,IAAKA,CAAC,CAACzO,UAAU,KAAKtG,CAAC,CAAC,CAAC6U,QAAQ;IAE7D,CAAC,CAAC;EACJ,CAAC;EACD;EACA,IAAMG,mBAAmB,GAAIhV,CAAS,IAAK;IACzCiL,QAAQ,CAAC;MACPwB,mBAAmB,EAAEzM,CAAC,KAAK,KAAK,GAAGgL,KAAK,CAAC2B,cAAc,GAAG3M,CAAC;MAC3D0M,mBAAmB,EAAE,SAAS;MAC9BE,YAAY,EAAE5M;IAChB,CAAC,CAAC;EACJ,CAAC;;EAED;;EAEA,IAAMiV,aAAa,GAAGhd,OAAO,CAAC,MAAM;IAAA,IAAAid,sBAAA;IAClC,IAAID,aAAuB;IAC3B,IAAMtR,QAAQ,IAAAuR,sBAAA,GAAGnP,KAAK,CAAC8C,aAAa,cAAAqM,sBAAA,uBAAnBA,sBAAA,CAAqBvR,QAAQ;MAC5C6G,kBAAkB,GAAG5C,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,EAAE;IAC/C,IAAI,CAACxP,OAAO,CAACuL,QAAQ,CAAC,EAAE;MACtBsR,aAAa,GAAGlP,KAAK,CAAC8C,aAAa,CAAClF,QAAQ;IAC9C,CAAC,MAAM;MAAA,IAAAwR,qBAAA;MACL;MACA;MACA,IACEpP,KAAK,CAACuG,iBAAiB,IACvB,CAACvG,KAAK,CAACwC,kBAAkB,IACzByC,KAAK,CAACZ,oBAAoB,IAC1B,EAAA+K,qBAAA,GAAAnK,KAAK,CAACZ,oBAAoB,cAAA+K,qBAAA,uBAA1BA,qBAAA,CAA4B1V,MAAM,IAAG,CAAC,EACtC;QAAA,IAAA2V,sBAAA;QACA;QACA;QACAH,aAAa,GAAGlc,OAAO,EAAAqc,sBAAA,GACrBpK,KAAK,CAACZ,oBAAoB,cAAAgL,sBAAA,uBAA1BA,sBAAA,CAA4B7c,GAAG,CAAE8c,CAAC,IAAKA,CAAC,CAACjZ,KAAK,CAChD,CAAC;MACH,CAAC,MAAM;QACL6Y,aAAa,GAAGjM,oBAAoB,CAAC,CAAC,CAACrF,QAAQ;MACjD;IACF;IACA,IAAI,CAACvL,OAAO,CAACoS,kBAAkB,CAAC,EAAE;MAChCyK,aAAa,GAAGzc,IAAI,CAAC,CAAC,GAAGyc,aAAa,EAAE,GAAGzK,kBAAkB,CAAC,CAAC;IACjE;IACA,OAAOyK,aAAa;EACtB,CAAC,EAAE,CACDlP,KAAK,CAAC8C,aAAa,EACnB7M,SAAS,EACTgP,KAAK,CAACZ,oBAAoB,EAC1BxC,kBAAkB,CACnB,CAAC;;EAEF;EACA,IAAM0N,aAAa;IAAA,IAAAC,MAAA,GAAApN,iBAAA,CAAG,WAAAqN,MAAA,EAIU;MAAA,IAJH;QAC3BzZ,MAAM;QACN0Z,OAAO;QACPC;MACwB,CAAC,GAAAF,MAAA;MACzB,IAAMG,SAAS;QAAA,IAAAC,MAAA,GAAAzN,iBAAA,CAAG,aAAY;UAAA,IAAA0N,qBAAA;UAC5B,IAAI9P,KAAK,CAACuG,iBAAiB,EAAE;YAC3B,IAAI;cACF,IAAMjD,UAAU,GAAG7I,WAAW,CAACwK,KAAK,CAAC3B,UAAU,EAAEtN,MAAM,CAAC;cACxD,IAAIgK,KAAK,CAACwC,kBAAkB,EAAE;gBAC5B,MAAMb,4BAA4B,CAAC9J,KAAK,CAAC,CACvC;kBACEyM,SAAS,EAAEtE,KAAK,CAACjJ,QAAQ;kBACzB2L,QAAQ,EAAE1C,KAAK,CAAC2C,gBAAgB;kBAChCW;gBACF,CAAC,CACF,CAAC;cACJ,CAAC,MAAM;gBACL,MAAMjC,oBAAoB,CAACxJ,KAAK,CAAC,CAACmI,KAAK,CAACjJ,QAAQ,EAAE;kBAAEuM;gBAAW,CAAC,CAAC,CAAC;cACpE;cACA4B,QAAQ,CAAC;gBACPtH,QAAQ,EAAE8F,aAAa,CAAC1N,MAAM,CAAC;gBAC/BsN;cACF,CAAC,CAAC;YACJ,CAAC,CAAC,OAAO2H,CAAC,EAAE;cACVzX,eAAe,CAACyX,CAAC,CAAC;YACpB;UACF,CAAC,MAAM;YACL,IAAM3H,WAAU,GAAG7I,WAAW,CAACwK,KAAK,CAAC3B,UAAU,EAAEtN,MAAM,CAAC;YACxDkP,QAAQ,CAAC;cACPtH,QAAQ,EAAE8F,aAAa,CAAC1N,MAAM,CAAC;cAC/BsN,UAAU,EAAVA;YACF,CAAC,CAAC;YACF7C,gBAAgB,CAACoC,OAAO,IAAAtL,MAAA,CACnBtB,SAAS,CAACc,QAAQ,qBACrB2M,aAAa,CAAC1N,MAAM,CACtB,CAAC;UACH;UACA,CAAA8Z,qBAAA,GAAA9P,KAAK,CAAC+P,oBAAoB,cAAAD,qBAAA,uBAA1BA,qBAAA,CAAA5F,IAAA,CAAAlK,KAAK,EAAwBhK,MAAM,CAAC;QACtC,CAAC;QAAA,gBAlCK4Z,SAASA,CAAA;UAAA,OAAAC,MAAA,CAAA7M,KAAA,OAAArE,SAAA;QAAA;MAAA,GAkCd;MACD,IAAI+Q,OAAO,EAAE;QACX;QACA,IAAM9R,QAAQ,GAAGsR,aAAa;QAC9BjZ,SAAS,CAACqM,UAAU,IAAI1E,QAAQ,CAAChF,IAAI,CAAC,YAAY,CAAC;QACnD,IAAIoH,KAAK,CAACuG,iBAAiB,EAAE;UAAA,IAAAyJ,sBAAA;UAC3B,IAAM1M,UAAU,GAAG7I,WAAW,CAACwK,KAAK,CAAC3B,UAAU,EAAE1F,QAAQ,CAAC;UAC1D,IAAIoC,KAAK,CAACwC,kBAAkB,EAAE;YAC5B,MAAMb,4BAA4B,CAAC9J,KAAK,CAAC,CACvC;cACEyM,SAAS,EAAEtE,KAAK,CAACjJ,QAAQ;cACzB2L,QAAQ,EAAE1C,KAAK,CAAC2C,gBAAgB;cAChCW;YACF,CAAC,CACF,CAAC;UACJ,CAAC,MAAM;YACL,MAAMjC,oBAAoB,CAACxJ,KAAK,CAAC,CAACmI,KAAK,CAACjJ,QAAQ,EAAE;cAAEuM;YAAW,CAAC,CAAC,CAAC;UACpE;UACA4B,QAAQ,CAAC;YAAEtH,QAAQ;YAAE0F;UAAW,CAAC,CAAC;UAClC,CAAA0M,sBAAA,GAAAhQ,KAAK,CAAC+P,oBAAoB,cAAAC,sBAAA,uBAA1BA,sBAAA,CAAA9F,IAAA,CAAAlK,KAAK,EAAwBpC,QAAQ,CAAC;QACxC,CAAC,MAAM;UAAA,IAAAqS,sBAAA;UACLxP,gBAAgB,CAACyP,UAAU,IAAA3Y,MAAA,CAAItB,SAAS,CAACc,QAAQ,mBAAgB,CAAC;UAClEmO,QAAQ,CAAC;YAAEtH;UAAS,CAAC,CAAC;UACtB,CAAAqS,sBAAA,GAAAjQ,KAAK,CAAC+P,oBAAoB,cAAAE,sBAAA,uBAA1BA,sBAAA,CAAA/F,IAAA,CAAAlK,KAAK,EAAwBpC,QAAQ,CAAC;QACxC;MACF,CAAC,MAAM;QACL,IAAI,CAAC+R,iBAAiB,EAAE;UACtB;UACA,MAAMC,SAAS,CAAC,CAAC;QACnB,CAAC,MAAM;UACL;UACA,IAAI;YACF;YACA,IAAMtM,YAAU,GAAG7I,WAAW,CAACwK,KAAK,CAAC3B,UAAU,EAAEtN,MAAM,CAAC;YACxD,MAAMqL,oBAAoB,CAACxJ,KAAK,CAAC,CAC/BmI,KAAK,CAACjJ,QAAQ,EACd;cAAEuM,UAAU,EAAEA,YAAU;cAAE6M,SAAS,EAAE;YAAK,CAAC,CAC5C,CAAC;YACF,MAAMP,SAAS,CAAC,CAAC;YACjBpb,OAAO,CAAC4b,OAAO,CACb1c,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CAAI3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAAC0c,2BAA2B,CAAE,CACrE,CAAC;YACDnL,QAAQ,CAAC;cACPb,oBAAoB,EAAEf;YACxB,CAAC,CAAC;UACJ,CAAC,CAAC,OAAO2H,CAAC,EAAE;YACVzX,eAAe,CAACyX,CAAC,CAAC;UACpB;QACF;MACF;IACF,CAAC;IAAA,gBAzFKsE,aAAaA,CAAAe,IAAA;MAAA,OAAAd,MAAA,CAAAxM,KAAA,OAAArE,SAAA;IAAA;EAAA,GAyFlB;EAED7M,SAAS,CAAC,MAAM;IAAA,IAAAye,qBAAA;IACd,CAAAA,qBAAA,GAAAvQ,KAAK,CAACwQ,mBAAmB,cAAAD,qBAAA,uBAAzBA,qBAAA,CAAArG,IAAA,CAAAlK,KAAK,EAAuBiF,KAAK,CAACrH,QAAQ,CAAC;EAC7C,CAAC,EAAE,CAACoC,KAAK,CAACwQ,mBAAmB,CAAC,CAAC;;EAE/B;EACA1e,SAAS,CAAC,MAAM;IAAA,IAAA2e,sBAAA;IACd,EAAAA,sBAAA,GAAAzQ,KAAK,CAACiH,eAAe,cAAAwJ,sBAAA,uBAArBA,sBAAA,CAAuB/W,MAAM,KAC3B0I,iBAAA,CAAC,aAAY;MACX,IAAMyF,IAAuC,GAAG,CAAC,CAAC;MAClD,IAAMC,MAA2C,GAAG;QAClD9R,MAAM,EAAE,CAAC,YAAY;MACvB,CAAC;MACD,IAAI,CAAC3D,OAAO,CAAC2N,KAAK,CAAC+H,UAAU,CAAC,EAAE;QAC9BD,MAAM,CAACC,UAAU,GAAGF,IAAI,CAACE,UAAU,GAAG/H,KAAK,CAAC+H,UAAU;MACxD;MAEA,IAAI9C,KAAK,CAACrH,QAAQ,EAAE;QAClBiK,IAAI,CAAC7R,MAAM,GAAG8D,MAAM,CAACiP,WAAW,CAC9B9D,KAAK,CAACrH,QAAQ,CAACpL,GAAG,CAAEsL,OAAO,IAAK,CAACA,OAAO,EAAE,IAAI,CAAC,CACjD,CAAC;QACDgK,MAAM,CAAC9R,MAAM,GAAG,CAAC,GAAGiP,KAAK,CAACrH,QAAQ,EAAE,GAAGkK,MAAM,CAAC9R,MAAM,CAAC;QACpD8R,MAAM,CAASkB,0BAA0B,GAAG,IAAI;MACnD;MAEAlB,MAAM,CAACjQ,KAAK,GAAG;QACb0I,UAAU,EAAE;UACVsJ,GAAG,EAAE7J,KAAK,CAACiH;QACb;MACF,CAAC;MACDa,MAAM,CAAC+E,SAAS,GAAG7M,KAAK,CAACiH,eAAe,CAACvN,MAAM;MAC/CoO,MAAM,CAACnC,IAAI,GAAG,CAAC;MACf,IAAI,EAAE3F,KAAK,CAACwC,kBAAkB,IAAIxC,KAAK,CAACmI,wBAAwB,CAAC,EAAE;QACjEL,MAAM,CAACgC,cAAc,GACnB3W,KAAK,CAAC6M,KAAK,CAAC+J,aAAa,CAAC,IAAI/J,KAAK,CAAC+J,aAAa,KAAK,CAAC,GACnD,CAAC,GACD/J,KAAK,CAAC+J,aAAa,GAAG,CAAC;MAC/B;MAEA,IAAI9E,KAAK,CAACc,WAAW,EAAE;QACrB+B,MAAM,CAACuB,gBAAgB,GAAGxB,IAAI,CAACwB,gBAAgB,GAAGpE,KAAK,CAACc,WAAW;MACrE;MACA,IAAI/F,KAAK,CAACmJ,WAAW,EAAE;QACrBrP,MAAM,CAACsP,MAAM,CAACtB,MAAM,EAAE9H,KAAK,CAACmJ,WAAW,CAAC;MAC1C;MACA,IAAIwD,IAAS;MACb;MACA,IAAI3M,KAAK,CAACwC,kBAAkB,EAAE;QAC5BmK,IAAI,SAASnL,oBAAoB,CAAC3J,KAAK,CAAC,CAAAiJ,aAAA,CAAAA,aAAA,KAEjCgH,MAAM,GACNT,qBAAqB,EAE3B,CAAC;MACJ,CAAC,MAAM,IAAIrH,KAAK,CAACmI,wBAAwB,EAAE;QACzCwE,IAAI,SAAS5L,YAAY,CAAClJ,KAAK,CAAC,CAACmI,KAAK,CAACjJ,QAAQ,EAAE+Q,MAAM,CAAC,CAAC;MAC3D,CAAC,MAAM;QACL6E,IAAI,SAAS9Y,wBAAwB,CAACmM,KAAK,CAACjJ,QAAQ,EAAE+Q,MAAM,CAAC,CAAC,CAAC;MACjE;MACA6E,IAAI,CAAC7B,IAAI,CAACpS,OAAO,CAAE+P,CAAsB,IACvCzH,KAAK,CAAC+J,OAAO,CAACC,GAAG,CAACvC,CAAC,CAAClI,UAAU,EAAEkI,CAAC,CACnC,CAAC;IACH,CAAC,EAAE,CAAC;EACR,CAAC,EAAE,CAACzI,KAAK,CAACiH,eAAe,CAAC,CAAC;EAC3B,IAAMyJ,qBAAqB,GAAGA,CAAA,KAAM;IAClCzO,YAAY,CAAC,CAACD,WAAW,CAAC;EAC5B,CAAC;EACD,IAAM2O,wBAAwB,GAAGA,CAAC9W,MAAc,EAAES,SAAiB,KAAK;IACtE,OAAO,MAAM;MAAA,IAAAsW,sBAAA;MACX,IAAMzW,OAAgB,GAAG,EAAE;MAC3B,IAAM+S,aAAsB,GAAG,EAAE;MACjC,IAAM2D,QAAQ,GAAI1W,OAAc,IAC9BA,OAAO,CAACxH,MAAM,CAAEsH,CAAM,IAAKI,cAAc,CAACJ,CAAC,EAAEJ,MAAM,EAAES,SAAS,CAAC,CAAC;MAClE2K,KAAK,CAAC1J,EAAE,CAAC7C,OAAO,CAAEb,KAAK,IAAK;QAC1B,IAAMc,GAAG,GAAGmB,MAAM,CAACC,IAAI,CAAClC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IACE,CAACc,GAAG,KAAK,KAAK,IAAIA,GAAG,KAAK,MAAM,KAChCmB,MAAM,CAACC,IAAI,CAAElC,KAAK,CAACc,GAAG,CAAC,CAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKkB,MAAM,EACrD;UACA,IAAMiX,kBAAkB,GAAGD,QAAQ,CAAChZ,KAAK,CAACc,GAAG,CAAY,CAAC;UAC1D,IAAImY,kBAAkB,CAACpX,MAAM,GAAG,CAAC,EAAE;YACjCS,OAAO,CAACvB,IAAI,CAAC;cACX,CAACD,GAAG,GAAGmY;YACT,CAAC,CAAC;UACJ;QACF,CAAC,MAAM,IAAInY,GAAG,KAAKkB,MAAM,IAAI,CAAC9G,UAAU,CAAC8G,MAAM,KAAAtC,MAAA,CAAKoB,GAAG,MAAG,CAAC,EAAE;UAC3D;UACA,IAAI,CAACoY,KAAK,CAAC1d,OAAO,CAACwE,KAAK,CAACc,GAAG,CAAC,CAAC,IAAIiB,WAAW,CAAC/B,KAAK,EAAEc,GAAG,CAAC,EAAE;YACzDwB,OAAO,CAACvB,IAAI,CAACf,KAAK,CAAC;UACrB,CAAC,MAAM;YAAA,IAAAmZ,YAAA;YACL;YACA,IAAMlT,OAAO,GACX,EAAAkT,YAAA,GAAAlX,MAAM,CAACC,IAAI,CAAC3G,GAAG,CAACyE,KAAK,CAACc,GAAG,CAAC,EAAa,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,cAAAqY,YAAA,uBAAlDA,YAAA,CAAqD,CAAC,CAAC,KAAIrY,GAAG;YAChE;YACA,IAAM0G,QAAQ,GAAGxB,UAAU,CAAC5H,SAAS,EAAE6H,OAAO,CAAC;YAC/C;YACA,IACE,EACE,CAACnF,GAAG,KAAK,KAAK,IAAIA,GAAG,KAAK,MAAM,KAChC5F,UAAU,CAAC+K,OAAO,KAAAvG,MAAA,CAAKsC,MAAM,MAAG,CAAC,IACjCwF,QAAQ,CACT,EACD;cACAlF,OAAO,CAACvB,IAAI,CAACf,KAAK,CAAC;YACrB;UACF;QACF,CAAC,MAAM,IACLmI,KAAK,CAACiR,oBAAoB,IAC1BtY,GAAG,KAAKkB,MAAM,IACdQ,cAAc,CAACxC,KAAK,EAAEgC,MAAM,EAAES,SAAS,CAAC,EACxC;UACAJ,mBAAmB,CAACrC,KAAK,EAAEc,GAAG,EAAEwB,OAAO,CAAC;QAC1C;MACF,CAAC,CAAC;MACF8K,KAAK,CAACpG,QAAQ,CAACnG,OAAO,CAAEb,KAAK,IAAK;QAChC,IAAMc,GAAG,GAAGmB,MAAM,CAACC,IAAI,CAAClC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IACE,CAACc,GAAG,KAAK,KAAK,IAAIA,GAAG,KAAK,MAAM,KAChCmB,MAAM,CAACC,IAAI,CAAElC,KAAK,CAACc,GAAG,CAAC,CAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAKkB,MAAM,EACrD;UACA,IAAMiX,kBAAkB,GAAGD,QAAQ,CAAChZ,KAAK,CAACc,GAAG,CAAY,CAAC;UAC1D,IAAImY,kBAAkB,CAACpX,MAAM,GAAG,CAAC,EAAE;YACjCwT,aAAa,CAACtU,IAAI,CAAC;cACjB,CAACD,GAAG,GAAGmY;YACT,CAAC,CAAC;UACJ;QACF,CAAC,MAAM,IAAInY,GAAG,KAAKkB,MAAM,EAAE;UACzBqT,aAAa,CAACtU,IAAI,CAACf,KAAK,CAAC;QAC3B,CAAC,MAAM,IACLmI,KAAK,CAACiR,oBAAoB,IAC1BtY,GAAG,KAAKkB,MAAM,IACdQ,cAAc,CAACxC,KAAK,EAAEgC,MAAM,EAAES,SAAS,CAAC,EACxC;UACAJ,mBAAmB,CAACrC,KAAK,EAAEc,GAAG,EAAEuU,aAAa,CAAC;QAChD;MACF,CAAC,CAAC;MACFhI,QAAQ,CAAC;QACP3J,EAAE,EAAEpB,OAAO;QACX0E,QAAQ,EAAEqO;MACZ,CAAC,CAAC;MACF,CAAA0D,sBAAA,GAAA5Q,KAAK,CAACiN,gBAAgB,cAAA2D,sBAAA,uBAAtBA,sBAAA,CAAA1G,IAAA,CAAAlK,KAAK,EAAoB7F,OAAO,CAAC;IACnC,CAAC;EACH,CAAC;EAED,IAAM+W,4BAA4B,GAAI9C,OAAgB,IAAW;IAAA,IAAA+C,qBAAA;IAC/DjM,QAAQ,CAAC;MAAEe,oBAAoB,EAAEmI;IAAQ,CAAC,CAAC;IAC3C,CAAA+C,qBAAA,GAAAnR,KAAK,CAACkR,4BAA4B,cAAAC,qBAAA,uBAAlCA,qBAAA,CAAAjH,IAAA,CAAAlK,KAAK,EAAgCoO,OAAO,CAAC;EAC/C,CAAC;EAED,IAAMgD,sBAAsB,GAAIpL,aAAkB,IAAW;IAAA,IAAAqL,qBAAA;IAC3DnM,QAAQ,CAAC;MAAEc,aAAa,EAAEA;IAAc,CAAC,CAAC;IAC1C,CAAAqL,qBAAA,GAAArR,KAAK,CAACoR,sBAAsB,cAAAC,qBAAA,uBAA5BA,qBAAA,CAAAnH,IAAA,CAAAlK,KAAK,EAA0BgG,aAAa,CAAC;EAC/C,CAAC;EAED,IAAMsL,sBAAsB,GAAIC,OAAgB,IAAW;IACzDrM,QAAQ,CAAC;MAAEgB,4BAA4B,EAAEqL;IAAQ,CAAC,CAAC;EACrD,CAAC;EAED,IAAM5V,UAAU,GAAGL,mBAAmB,CACpC2J,KAAK,CAACpG,QAAQ,EACdpH,WAAW,EACXxB,SACF,CAAC;EAEDnE,SAAS,CAAC,MAAM;IACd,IAAIkO,KAAK,CAAC4C,wBAAwB,EAAE;MAClC,IAAMrH,EAAE,GAAGkD,YAAY,CAACuB,KAAK,CAACzE,EAAE,EAAEtF,SAAS,EAAE,KAAK,CAAC;MACnD,IAAM4I,QAAQ,GAAGmB,KAAK,CAACnB,QAAQ,IAAIJ,YAAY,CAACuB,KAAK,CAACzE,EAAE,EAAEtF,SAAS,CAAC;MACpEiP,QAAQ,CAAC;QAAE3J,EAAE;QAAEsD;MAAS,CAAC,CAAC;IAC5B;EACF,CAAC,EAAE,CAACmB,KAAK,CAACzE,EAAE,EAAEyE,KAAK,CAACnB,QAAQ,EAAEmB,KAAK,CAAC4C,wBAAwB,CAAC,CAAC;EAE9D,IAAM4O,aAAa,GAAGtf,OAAO,CAAC,MAAM;IAClC,IAAI,CAAC8N,KAAK,CAACpI,gBAAgB,IAAIgI,aAAa,CAACI,KAAK,CAACpI,gBAAgB,CAAC,EAAE;MACpE,OAAO,EAAE;IACX,CAAC,MAAM;MACL,OAAQoI,KAAK,CAACpI,gBAAgB,CAC3BjF,MAAM,CAAEsH,CAAa,IAAKA,CAAC,CAACwX,KAAK,CAAC,CAClCjf,GAAG,CAAEyH,CAAC,IAAKA,CAAC,CAAC5D,KAAK,CAAC;IACxB;EACF,CAAC,EAAE,CAAC2J,KAAK,CAACpI,gBAAgB,CAAC,CAAC;EAE5B,oBACE/F,KAAA,CAAA6f,aAAA,CAACtd,IAAI;IAACud,QAAQ,EAAE1M,KAAK,CAACmB;EAAQ,GAC3BnB,KAAK,CAACkB,MAAM,IAAI,CAAClB,KAAK,CAACoB,MAAM,gBAC5BxU,KAAA,CAAA6f,aAAA,CAAC7f,KAAK,CAAC+f,QAAQ,QACZ,CAAC,CAAC5R,KAAK,CAAC6R,cAAc,IACrB,CAAC7R,KAAK,CAAC8R,sBAAsB,IAC7B,CAAC9R,KAAK,CAAC+R,mBAAmB,IAC1B,CAAC/R,KAAK,CAACgS,kBAAkB,IACzB,CAAChS,KAAK,CAACiS,mBAAmB,kBAC1BpgB,KAAA,CAAA6f,aAAA;IAAKQ,SAAS,EAAE5c,MAAM,CAAC6c;EAAoB,gBACzCtgB,KAAA,CAAA6f,aAAA;IAAKQ,SAAS,EAAE5c,MAAM,CAAC8c;EAAc,GAElC,CAACnN,KAAK,CAAC+B,WAAW,gBACjBnV,KAAA,CAAA6f,aAAA,CAAA7f,KAAA,CAAA+f,QAAA,QACG,CAAC5R,KAAK,CAAC6R,cAAc,iBACpBhgB,KAAA,CAAA6f,aAAA,CAACrd,KAAK,CAACge,MAAM;IACXC,WAAW,EAAEtS,KAAK,CAACsS,WAAY;IAC/BC,WAAW;IACXrW,KAAK,EAAExE,CAAE;IACTuU,QAAQ,EAAEA,QAAS;IACnBc,QAAQ,EAAEA;EAAS,CACpB,CACF,EACA,CAAC/M,KAAK,CAAC8R,sBAAsB,iBAC5BjgB,KAAA,CAAA6f,aAAA,CAACvd,MAAM;IACLgI,IAAI,EAAC,MAAM;IACXqW,IAAI,EAAC,OAAO;IACZC,KAAK,EAAE;MACLC,UAAU,EAAE,KAAK;MACjBC,WAAW,EAAE;IACf,CAAE;IACFC,OAAO,EAAEA,CAAA,KACP1N,QAAQ,CAAC;MACPoB,uBAAuB,EACrB,CAACrB,KAAK,CAACqB;IACX,CAAC,CACF;IACD,eAAY;EAA4B,GAEvC5S,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CACF3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAACkf,eAAe,CAChD,CAAC,eACDhhB,KAAA,CAAA6f,aAAA,CAACxd,UAAU;IACTiI,IAAI,EAAE8I,KAAK,CAACqB,uBAAuB,GAAG,IAAI,GAAG;EAAO,CACrD,CACK,CAEV,CAAC,gBAEHzU,KAAA,CAAA6f,aAAA,CAAA7f,KAAA,CAAA+f,QAAA,qBACE/f,KAAA,CAAA6f,aAAA,CAACnd,MAAM;IACLke,KAAK,EAAE;MAAEK,KAAK,EAAE,OAAO;MAAEH,WAAW,EAAE;IAAO,CAAE;IAC/CzW,KAAK,EAAE+I,KAAK,CAAC2B,cAAe;IAC5BqF,QAAQ,EAAE8C,eAAgB;IAC1BgE,UAAU,EAAE,IAAK;IACjBC,gBAAgB,EAAC;EAAU,IAAA9S,cAAA,GAE1B+E,KAAK,CAAC6B,OAAO,cAAA5G,cAAA,uBAAbA,cAAA,CAAe1N,GAAG,CAAEwc,CAAC,iBACpBnd,KAAA,CAAA6f,aAAA,CAACnd,MAAM,CAAC0e,MAAM;IAACta,GAAG,EAAEqW,CAAC,CAACzO,UAAW;IAACrE,KAAK,EAAE8S,CAAC,CAACzO;EAAW,GACnDyO,CAAC,CAAChT,IACU,CAChB,CACK,CAAC,eACTnK,KAAA,CAAA6f,aAAA,CAACnd,MAAM;IACLke,KAAK,EAAE;MAAEK,KAAK,EAAE;IAAQ,CAAE;IAC1B5W,KAAK,EAAE+I,KAAK,CAAC4B,YAAa;IAC1BoF,QAAQ,EAAEgD,mBAAoB;IAC9B8D,UAAU,EAAE,IAAK;IACjBC,gBAAgB,EAAC;EAAU,GAE1B/N,KAAK,CAAC8B,WAAW,CAACvU,GAAG,CAAEwc,CAAC,iBACvBnd,KAAA,CAAA6f,aAAA,CAACnd,MAAM,CAAC0e,MAAM;IAACta,GAAG,EAAEqW,CAAC,CAACzO,UAAW;IAACrE,KAAK,EAAE8S,CAAC,CAACzO;EAAW,GACnDyO,CAAC,CAAChT,IACU,CAChB,CACK,CACR,CAED,CAAC,eACNnK,KAAA,CAAA6f,aAAA;IAAKQ,SAAS,EAAE5c,MAAM,CAAC4d;EAAQ,GAC5BjM,eAAe,CAACvN,MAAM,GAAG,CAAC,iBACzB7H,KAAA,CAAA6f,aAAA;IAAKe,KAAK,EAAE;MAAEE,WAAW,EAAE;IAAG;EAAE,gBAC9B9gB,KAAA,CAAA6f,aAAA,eACGhe,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CAAI3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAACwf,cAAc,GAAI;IACvDC,KAAK,EAAEnM,eAAe,CAACvN;EACzB,CAAC,CACG,CAAC,eACP7H,KAAA,CAAA6f,aAAA;IACE2B,IAAI,EAAC,QAAQ;IACbT,OAAO,EAAEA,CAAA,KACPzG,iBAAiB,CAAC;MAChBK,YAAY,EAAE,EAAE;MAChBD,aAAa,EAAE;IACjB,CAAC;EACF,GAEA,GAAG,EACH7Y,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CAAI3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAAC2f,KAAK,CAAE,CAC7C,CACA,CACN,EACA,EAAAnT,qBAAA,GAAAH,KAAK,CAACuT,kBAAkB,cAAApT,qBAAA,uBAAxBA,qBAAA,CAA0BqT,QAAQ,kBACjC3hB,KAAA,CAAA6f,aAAA,CAACpe,gBAAgB;IACfkgB,QAAQ,EAAExT,KAAK,CAACuT,kBAAkB,CAACC;EAAS,CAC7C,CACF,EACAxT,KAAK,CAAC4C,wBAAwB,iBAC7B/Q,KAAA,CAAA6f,aAAA,CAAC5b,oBAAoB;IACnByb,OAAO,EAAEtM,KAAK,CAACiB,4BAA6B;IAC5CkI,OAAO,EAAEnJ,KAAK,CAACgB,oBAAqB;IACpCqL,sBAAsB,EAAEA,sBAAuB;IAC/CmC,iBAAiB,EAAEvC,4BAA6B;IAChDjF,QAAQ,EAAEmF,sBAAuB;IACjCtP,yBAAyB,EAAEA,yBAA0B;IACrD5F,KAAK,EAAE+I,KAAK,CAACe,aAAc;IAC3BvF,gBAAgB,EAAEA,gBAAiB;IACnC6B,UAAU,EAAErM,SAAS,CAACqM;EAAW,CAClC,CACF,EACAtC,KAAK,CAACjJ,QAAQ,KAAK,MAAM,IAAIiJ,KAAK,CAAC0T,iBAAiB,iBACnD7hB,KAAA,CAAA6f,aAAA,CAACvd,MAAM;IAACgI,IAAI,EAAE,MAAO;IAACyW,OAAO,EAAEnE;EAAiB,GAE7CxJ,KAAK,CAAC+B,WAAW,GACdtT,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CAAI3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAACggB,cAAc,CAAE,CAAC,GACvDjgB,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CAAI3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAACigB,aAAa,CAAE,CACnD,CACT,EACA5T,KAAK,CAACjJ,QAAQ,KAAK,MAAM,IAAI,CAACiJ,KAAK,CAACgS,kBAAkB,iBACrDngB,KAAA,CAAA6f,aAAA,CAAC9b,UAAU;IACTwY,OAAO,EAAEnJ,KAAK,CAACa,UAAW;IAC1BmG,QAAQ,EAAEqC,kBAAmB;IAC7BmE,KAAK,EAAE;MAAEE,WAAW,EAAE;IAAG,CAAE;IAC3BkB,QAAQ,EAAE7T,KAAK,CAAC8T,aAAc;IAC9B3X,IAAI,EAAC,YAAY;IACjBoB,KAAK,EAAE7J,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CAAI3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAACogB,WAAW,CAAE,CAAE;IAC5D,eAAY;EAAa,CAC1B,CACF,EACA,CAAC/T,KAAK,CAAC+R,mBAAmB,iBACzBlgB,KAAA,CAAA6f,aAAA,CAAC9b,UAAU;IACTwY,OAAO,EAAEnJ,KAAK,CAACc,WAAY;IAC3BkG,QAAQ,EAAEkC,mBAAoB;IAC9BsE,KAAK,EAAE;MAAEE,WAAW,EAAE;IAAG,CAAE;IAC3BxW,IAAI,EAAC,YAAY;IACjBoB,KAAK,EAAE7J,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CACR3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAACqgB,aAAa,CAC9C,CAAE;IACF,eAAY;EAAe,CAC5B,CACF,EACA,CAAChU,KAAK,CAACiU,sBAAsB,iBAC5BpiB,KAAA,CAAA6f,aAAA,CAAC9b,UAAU;IACTwY,OAAO,EAAEnJ,KAAK,CAACwB,aAAc;IAC7BwF,QAAQ,EAAEuC,mBAAoB;IAC9BiE,KAAK,EAAE;MAAEE,WAAW,EAAE;IAAG,CAAE;IAC3BxW,IAAI,EAAC,gBAAgB;IACrBoB,KAAK,EAAE7J,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CACR3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAACugB,2BAA2B,CAC5D,CAAE;IACF,eAAY;EAAkB,CAC/B,CACF,EACA,CAAClU,KAAK,CAACiS,mBAAmB,iBACzBpgB,KAAA,CAAA6f,aAAA,CAACvc,oBAAoB;IACnBc,SAAS,EAAEA,SAAU;IACrB2Z,SAAS,EAAEL,aAAc;IACzB/M,kBAAkB,EAAExC,KAAK,CAACwC,kBAAmB;IAC7C+D,iBAAiB,EAAEvG,KAAK,CAACuG,iBAAkB;IAC3C3I,QAAQ,EAAEqH,KAAK,CAACrH,QAAS;IACzBsR,aAAa,EAAEA,aAAc;IAC7BvK,kBAAkB,EAAE3E,KAAK,CAAC2E,kBAAmB;IAC7C+L,qBAAqB,EAAEA,qBAAsB;IAC7C1O,WAAW,EAAEA,WAAY;IACzBmS,eAAe,EAAEnU,KAAK,CAACmU,eAAgB;IACvC7Q,UAAU,EAAE2B,KAAK,CAAC3B;EAAW,CAC9B,CAEA,CACF,CACN,EACA,CAACtD,KAAK,CAAC8R,sBAAsB,IAAI,CAAC7M,KAAK,CAAC+B,WAAW,iBAClDnV,KAAA,CAAA6f,aAAA;IACEe,KAAK,EAAE;MAAE2B,YAAY,EAAE;IAAO,CAAE;IAChCC,MAAM,EAAE,CAACpP,KAAK,CAACqB;EAAwB,gBAEvCzU,KAAA,CAAA6f,aAAA,CAACzc,cAAc,EAAAqf,QAAA;IACb3b,GAAG,EAAEgF,MAAM,CAACsH,KAAK,CAACrH,QAAQ,EAAEqH,KAAK,CAAC1J,EAAE,CAAE;IACtCqC,QAAQ,EAAEqH,KAAK,CAACrH,QAAS;IACzBnG,WAAW,EAAEwN,KAAK,CAACxN,WAAY;IAC/BxB,SAAS,EAAEA,SAAU;IACrByB,CAAC,EAAEuN,KAAK,CAACpG,QAAS;IAClBsO,WAAW,EAAElI,KAAK,CAACkI,WAAY;IAC/BJ,QAAQ,EAAEE;EAAiB,GACtBjN,KAAK,CAACuU,UAAU,GACjB;IACEA,UAAU,EAAEvU,KAAK,CAACuU;EACpB,CAAC,GACD,IAAI,CACT,CACE,CACN,EACA,CAACvU,KAAK,CAACwU,oBAAoB,IAC1B,CAACvP,KAAK,CAAC+B,WAAW,KACjB/B,KAAK,CAACS,mBAAmB,IAAIT,KAAK,CAACvN,CAAC,IAAI,CAACrF,OAAO,CAACsJ,UAAU,CAAC,CAAC,iBAC5D9J,KAAA,CAAA6f,aAAA;IAAKQ,SAAS,EAAE5c,MAAM,CAACmf;EAAiB,gBACtC5iB,KAAA,CAAA6f,aAAA,eACGhe,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CACF3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAAC+gB,2BAA2B,CAC5D,CACI,CAAC,EACNzP,KAAK,CAACvN,CAAC,iBACN7F,KAAA,CAAA6f,aAAA,CAACpd,GAAG;IACFqgB,QAAQ;IACRC,OAAO,EAAEA,CAAA,KAAM;MACb5P,IAAI,CAAC,EAAE,CAAC;MACR+H,QAAQ,CAAC,EAAE,CAAC;IACd;EAAE,GAEDrZ,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CAAI3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAACkhB,YAAY,GAAI;IACrDhd,KAAK,EAAEoN,KAAK,CAACvN;EACf,CAAC,CACE,CACN,EACAuN,KAAK,CAACS,mBAAmB,iBACxB7T,KAAA,CAAA6f,aAAA,CAACpd,GAAG;IACFqgB,QAAQ;IACRC,OAAO,EAAEA,CAAA,KAAM;MACb3G,sBAAsB,CAAC,IAAI,CAAC;IAC9B;EAAE,GAEDva,IAAI,CAAC8H,CAAC,IAAAjE,MAAA,CACF3D,sBAAsB,OAAA2D,MAAA,CAAI5D,CAAC,CAACmhB,wBAAwB,GACvD;IACEjd,KAAK,EACH,CAAAiK,yBAAyB,aAAzBA,yBAAyB,uBAAzBA,yBAAyB,CACvBmD,KAAK,CAACS,mBAAmB,CAC1B,KAAIT,KAAK,CAACS;EACf,CACF,CACG,CACN,EACA/J,UAAU,CAACnJ,GAAG,CAAE8K,SAAS,iBACxBzL,KAAA,CAAA6f,aAAA,CAACpd,GAAG;IACFqE,GAAG,KAAApB,MAAA,CAAK+F,SAAS,CAACzD,MAAM,EAAAtC,MAAA,CACtB+F,SAAS,CAAChD,SAAS,OAAA/C,MAAA,CACjB1E,QAAQ,CAAC,CAAC,CAAG;IACjB8hB,QAAQ;IACRC,OAAO,EAAEjE,wBAAwB,CAC/BrT,SAAS,CAACzD,MAAM,EAChByD,SAAS,CAAChD,SACZ;EAAE,GAEDgD,SAAS,CAACA,SACR,CACN,CACE,CACN,EACF,EAAA8C,qBAAA,GAAAJ,KAAK,CAAC+U,iBAAiB,cAAA3U,qBAAA,uBAAvBA,qBAAA,CAAyBoT,QAAQ,kBAChC3hB,KAAA,CAAA6f,aAAA,CAACpe,gBAAgB;IAACkgB,QAAQ,EAAExT,KAAK,CAAC+U,iBAAiB,CAACvB;EAAS,CAAE,CAChE,EACA,CAACxT,KAAK,CAAC6K,gBAAgB,iBACtBhZ,KAAA,CAAA6f,aAAA,CAACtc,iBAAiB;IAChB4f,kBAAkB,EAAEhV,KAAK,CAACgV,kBAAmB;IAC7CpX,QAAQ,EAAEqH,KAAK,CAACrH,QAAS;IACzBnG,WAAW,EAAEwN,KAAK,CAACxN,WAAY;IAC/BxB,SAAS,EAAEA,SAAU;IACrB2U,gBAAgB,EAAE3F,KAAK,CAAC2F,gBAAiB;IACzCzP,IAAI,EAAE8J,KAAK,CAAC9J,IAAK;IACjBD,GAAG,EAAE+J,KAAK,CAAC/J,GAAI;IACf+L,eAAe,EAAEA,eAAgB;IACjCgO,cAAc,EAAEjV,KAAK,CAACiV,cAAe;IACrCC,YAAY,EAAElV,KAAK,CAACkV,YAAa;IACjCC,sBAAsB,EAAEnV,KAAK,CAACmV,sBAAuB;IACrDC,WAAW,EAAEpV,KAAK,CAACoV,WAAY;IAC/BC,aAAa,EAAErV,KAAK,CAACqV,aAAc;IACnCtJ,kBAAkB,EAAEA,kBAAmB;IACvCsB,eAAe,EAAGzQ,IAAS,IAAK;MAC9ByQ,eAAe,CAACzQ,IAAI,EAAEqI,KAAK,CAAC3B,UAAU,CAAC;IACzC,CAAE;IACF6I,iBAAiB,EAAEA,iBAAkB;IACrC8B,sBAAsB,EAAEA,sBAAuB;IAC/CvI,mBAAmB,EAAET,KAAK,CAACS,mBAAoB;IAC/C5D,yBAAyB,EAAEA,yBAA0B;IACrDwT,4BAA4B,EAAEtV,KAAK,CAACsV,4BAA6B;IACjE7O,aAAa,EAAExB,KAAK,CAACwB,aAAc;IACnC8O,oBAAoB,EAAEvV,KAAK,CAACuV,oBAAqB;IACjDC,eAAe,EAAExV,KAAK,CAACwV,eAAgB;IACvCC,eAAe,EAAEzV,KAAK,CAACyV,eAAgB;IACvCC,YAAY,EAAE1V,KAAK,CAAC0V,YAAa;IACjCC,SAAS,EAAE3V,KAAK,CAAC2V,SAAU;IAC3BC,eAAe,EAAE5V,KAAK,CAAC4V,eAAgB;IACvC1J,MAAM,EAAElM,KAAK,CAACkM,MAAO;IACrB2J,MAAM,EAAE7V,KAAK,CAAC6V,MAAO;IACrB7T,WAAW,EAAEA,WAAY;IACzB8T,2BAA2B,EAAE9V,KAAK,CAAC8V,2BAA4B;IAC/DzV,WAAW,EAAEA,WAAY;IACzB0V,gBAAgB,EAAE/V,KAAK,CAAC+V,gBAAiB;IACzCC,eAAe,EAAEhW,KAAK,CAACgW,eAAgB;IACvCxT,kBAAkB,EAAExC,KAAK,CAACwC,kBAAmB;IAC7CG,gBAAgB,EAAE3C,KAAK,CAAC2C,gBAAiB;IACzCsT,aAAa,EAAEjW,KAAK,CAACiW,aAAc;IACnCC,0BAA0B,EAAElW,KAAK,CAACkW,0BAA2B;IAC7DnM,aAAa,EAAE/J,KAAK,CAAC+J,aAAc;IACnCoM,uBAAuB,EAAEnW,KAAK,CAACmW,uBAAwB;IACvDC,WAAW,EAAEpW,KAAK,CAACqW,gBAAiB;IACpC7E,aAAa,EAAEA;EAAc,CAC9B,CAEW,CAAC;EAAA;EAEjB;EACA3f,KAAA,CAAA6f,aAAA;IAAKQ,SAAS,EAAE5c,MAAM,CAACghB;EAAe,CAAM,CAE1C,CAAC;AAEX;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CACvCvW,KAAwB,EACJ;EACpB,IAAM,CAAC9J,UAAU,EAAEsgB,aAAa,CAAC,GAAGxkB,QAAQ,CAAegO,KAAK,CAAC9J,UAAU,CAAC;EAE5E,IAAM,CAACugB,eAAe,EAAEC,kBAAkB,CAAC,GAAG1kB,QAAQ,CACpDgO,KAAK,CAAC9J,UACR,CAAC;EAED,IAAMygB,oBAAoB,GAAGljB,WAAW,CACtC,sDAAsD,EACtD;IAAEuN,KAAK,EAAE;EAAM,CACjB,CAAC;EAEDlP,SAAS,CAAC,MAAM;IAAA,IAAA8kB,kBAAA;IACd,KAAAA,kBAAA,GAAI5W,KAAK,CAAC9J,UAAU,cAAA0gB,kBAAA,eAAhBA,kBAAA,CAAkBld,MAAM,EAAE;MAC5B8c,aAAa,CAACxW,KAAK,CAAC9J,UAAU,CAAC;IACjC,CAAC,MAAM;MACLkM,iBAAA,CAAC,aAAY;QACX,IAAMyU,SAAS,GAAGnhB,eAAe,CAACtC,GAAG,CAAC4M,KAAK,CAACjJ,QAAQ,CAAC;QACrD,IAAI8f,SAAS,EAAE;UACbL,aAAa,CAACK,SAAS,CAAC;QAC1B,CAAC,MAAM;UACL,IAAI;YACF,IAAI/L,IAAI;YACR,IAAI9K,KAAK,CAACwC,kBAAkB,EAAE;cAC5BsI,IAAI,SAAS6L,oBAAoB,CAAC9e,KAAK,CAAC,CACtC;gBACEif,UAAU,EAAE9W,KAAK,CAACjJ,QAAQ;gBAC1B2L,QAAQ,EAAE1C,KAAK,CAAC2C;cAClB,CAAC,CACF,CAAC;YACJ,CAAC,MAAM;cACLmI,IAAI,GAAG,OACC/W,0BAA0B,CAAC;gBAAE+iB,UAAU,EAAE9W,KAAK,CAACjJ;cAAS,CAAC,CAAC,EAChE8Q,IAAI;YACR;YACA2O,aAAa,CAAC1L,IAAI,CAAC;YACnBpV,eAAe,CAACsV,GAAG,CAAChL,KAAK,CAACjJ,QAAQ,EAAE+T,IAAI,CAAC;UAC3C,CAAC,CAAC,OAAOG,CAAC,EAAE;YACV;YACAzX,eAAe,CAACyX,CAAC,CAAC;UACpB;QACF;MACF,CAAC,EAAE,CAAC;IACN;EACF,CAAC,EAAE,CAACjL,KAAK,CAACjJ,QAAQ,EAAEiJ,KAAK,CAAC9J,UAAU,CAAC,CAAC;EAEtCpE,SAAS,CAAC,MAAM;IACd,IAAI,EAACoE,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEwD,MAAM,KAAIpH,OAAO,CAAC4D,UAAU,EAAEugB,eAAe,CAAC,EAAE;IACjErU,iBAAA,CAAC,aAAY;MAAA,IAAA2U,YAAA,EAAAC,qBAAA;MACX,IAAM7f,MAAM,GAAGjB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEpD,IAAI,CAC5BuI,IAAI,IAAKA,IAAI,CAACtE,QAAQ,KAAKiJ,KAAK,CAACjJ,QACpC,CAAC;MACD,IAAMkgB,8BAAwC,GAC5C9f,MAAM,aAANA,MAAM,wBAAA4f,YAAA,GAAN5f,MAAM,CAAEE,IAAI,cAAA0f,YAAA,wBAAAC,qBAAA,GAAZD,YAAA,CAAcjb,wBAAwB,cAAAkb,qBAAA,uBAAtCA,qBAAA,CAAwCxkB,GAAG,CAAEiW,CAAC,IAAKA,CAAC,CAAClP,eAAe,CAAC;MACvE,IACE0d,8BAA8B,aAA9BA,8BAA8B,eAA9BA,8BAA8B,CAAEvd,MAAM,IACtC,CAACud,8BAA8B,CAACvZ,KAAK,CAAE+K,CAAC,IACtCvS,UAAU,CAAC8D,IAAI,CAAEkd,CAAC,IAAKA,CAAC,CAACngB,QAAQ,KAAK0R,CAAC,CACzC,CAAC,EACD;QAAA,IAAA0O,KAAA;QACA,IAAIrM,IAAI;QACR,IAAI;UACF,IAAI,CAAC9K,KAAK,CAACwC,kBAAkB,EAAE;YAC7BsI,IAAI,GAAG,OACC9W,kBAAkB,CAAC;cACvB2R,IAAI,EAAE,CAAC;cACPkH,SAAS,EAAEoK,8BAA8B,CAACvd,MAAM;cAChD0d,SAAS,EAAEH,8BAA8B,CAACzc,IAAI,CAAC,GAAG;YACpD,CAAC,CAAC,EACFsQ,IAAI;UACR;QACF,CAAC,CAAC,OAAOG,CAAC,EAAE;UACV;UACAzX,eAAe,CAACyX,CAAC,CAAC;QACpB;QACA,KAAAkM,KAAA,GAAIrM,IAAI,cAAAqM,KAAA,eAAJA,KAAA,CAAMzd,MAAM,EAAE;UAChBxD,UAAU,CAAC0C,IAAI,CAAC,GAAGkS,IAAI,CAAC;UACxBpV,eAAe,CAACsV,GAAG,CAAChL,KAAK,CAACjJ,QAAQ,EAAEb,UAAU,CAAC;QACjD;MACF;MAEAwgB,kBAAkB,CAACxgB,UAAU,CAAC;IAChC,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,IACE,CAACugB,eAAe,IAChB,CAACA,eAAe,CAAC3jB,IAAI,CAAEuI,IAAI,IAAKA,IAAI,CAACtE,QAAQ,KAAKiJ,KAAK,CAACjJ,QAAQ,CAAC,EAEjE,OAAO,IAAI;EAEb,oBAAOlF,KAAA,CAAA6f,aAAA,CAAC3R,kBAAkB,EAAAuU,QAAA,KAAKtU,KAAK;IAAE9J,UAAU,EAAEugB;EAAgB,EAAE,CAAC;AACvE;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASY,YAAYA,CAACrX,KAAwB,EAAsB;EACzE,oBAAOnO,KAAA,CAAA6f,aAAA,CAACrc,kBAAkB,EAAK2K,KAAQ,CAAC;AAC1C","ignoreList":[]}