{"version":3,"sources":["components/W0X/W09/W09F2220/W09F2220.js","components/W0X/W09/W09F2270/W09F2270.js","components/W0X/W09/W09F2225/W09F2225.js","components/W0X/W09/W09F2272/W09F2272.js","components/W0X/W09/W09F2205/W09F2205.js","components/W0X/W09/W09F2215/W09F2215.js","components/W0X/W09/W09F2200/W09F2200.js","components/W0X/W09/W09F2210/W09F2210.js","components/W0X/W09/W09F2271/W09F2271.js","components/W0X/W09/W09F2230/W09F2230.js","components/W0X/W09/W09F2152/W09F2152.js"],"names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","resolve","reject","invoke","record","result","__await","then","unwrapped","error","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","return","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","connect","getCboStatus","approvals","getGridApproval","dispatch","generalActions","bindActionCreators","approvalActions","ApprovalActions","_ref","location","_useState","useState","_useState2","_slicedToArray","dataForm","setDataForm","_useState3","rows","total","_useState4","dataCboEmployees","setDataCboEmployees","_useState5","_useState6","dataCboProperty","setDataCboProperty","_useState7","_useState8","dateFrom","setDateFrom","_useState9","_useState10","dateTo","setDateTo","_useState11","_useState12","voucherID","setVoucherID","_useState13","_useState14","isLoadingForm","setLoadingForm","_useState15","_useState16","isLoadingCboEmployee","setLoadingCboEmployee","_useState17","_useState18","isLoadingCboAppStatus","setLoadingCboAppStatus","_useState19","_useState20","isLoadingCboProperty","setLoadingCboProperty","approvalStatus","useRef","employee","propertyID","approvalRef","useEffect","Config","callChildForm","FormID","keyExpr","data","_","get","onLoad","params","loadGrid","onAction","e","current","showPopup","loadFormInfo","paramFilterCboEmployee","skip","limit","search","handleFilterChange","includes","VoucherID","arguments","Language","language","DivisionID","getDivisionID","DateFrom","DateTo","ApprovalStatus","EmployeeID","TransTypeID","getGridApprovals","popup","show","Type","getFormInfo","loadCboEmployees","isReset","param","_objectSpread","getCboEmployees","size","concat","loadCboProperty","_ref2","_asyncToGenerator","_callee","res","resData","resMessageErr","_context","Api","put","apply","onLoadDataFilter","loadCboAppStatus","onSearch","React","createElement","Fragment","FormGroup","ActionToolbar","title","lang","Row","Col","xs","Approvals","ref","loading","allowHistoryApproval","dataSource","selectedRowKey","disabledApproval","singleClick","formInfoRender","LabelText","allowPadding","label","className","style","width","height","UserImage","allowHover","Input","color","readOnly","helpers","getObjectValue","disableUnderline","fullWidth","onSelectionChanged","onDrawerClosed","filterRender","Filter","onClosed","console","log","showHeader","placeholder","onOpenLoaded","renderFilter","marginBottom","Combo","displayExpr","valueExpr","onValueChanged","showClearButton","LoadMore","stylingMode","itemRender","EmployeeName","onInputChanged","target","onLoadMore","Label","sm","DateBoxPicker","max","useMaskBehavior","min","ButtonGeneral","typeButton","variant","onClick","disableEscapeKeyDown","compose","dataGrid","W09F2270","getCboAppStatus","general","w51F1100Actions","W09F2270Actions","withStyles","dateInfo","display","alignItems","dateRangeClass","padding","VoucherNo","maxWidth","textOverflow","overflow","textAlign","props","_dataPopup$rowData","classes","gridLoading","setGridLoading","cboAppStatusLoading","setCboAppStatusLoading","cboEmployeeLoading","setCboEmployeeLoading","iPermission","setIPermission","showW09F2271Popup","setShowW09F2271Popup","showW84F3005Popup","setShowW84F3005Popup","mode","rowData","dataPopup","setDataPopup","Employee","AppStatusID","filterSearch","setFilterSearch","rangeDate","setRangeDate","itemPageDataGrid","filterCboEmployees","timer","HostID","strSearch","filterRangePicker","loadPermission","_location$state","_location$state2","voucher_id","_filterRangePicker$cu","_itemPageDataGrid$cur","_filterCboEmployees$c","useCallback","getPermission","isPer","onCloseModal","reload","saveHistory","_ref3","_callee3","VoucherName","Notes","options","history","_context3","captions","action","ModuleID","TransactionID","TransID","TransactionName","History","save","notify","_x2","filterChange","filterName","_defineProperty","isArray","isUseDDCore","openOnFieldClick","marginTop","md","lg","Dropdown","clearAble","margin","viewType","renderSelectedItem","searchDelayTime","onChange","onInput","DateRangePicker","controls","returnFormat","justifyContent","Button","startIcon","disabled","textTransform","GridContainer","itemPerPage","skipPerPage","showRowLines","showBorders","showColumnLines","showColumnHeaders","hoverStateEnabled","typePaging","noDataText","getHeightGrid","border","totalItems","editing","texts","confirmDeleteMessage","onDbCellClick","onChangePage","page","onChangePerPage","perPage","Column","cellRender","_ref4","_Config$coreTheme","_Config$coreTheme$col","row","_data$CreateDate","CreateDate","user","getUser","UserID","CreateUserID","Avatar","DepartmentName","convertDate","DateJoined","hoverAble","src","UserPictureURL","Typography","CalendarNew","viewBox","paddingLeft","coreTheme","colors","content","dangerouslySetInnerHTML","__html","Tooltip","cssClass","wordWrap","_ref5","Status","alignment","grep","ButtonIcon","circular","_e$row","_e$row2","Number","_callee2","_context2","deleteRowData","_x","onDelete","W09F2271","open","onClose","isReload","W84F3005","useStyles","makeStyles","theme","divAvatar","borderRadius","marginRight","imgAvatar","maxHeight","objectFit","chip","fontSize","fontWeight","backgroundColor","divText","divDateText","palette","text","subtext","getDataCboProperty","W09F2225","w09f2225Actions","W09F2225Actions","setPermission","setDataGrid","dataDate","_setDataDate","_setLoading","showW09F2205Popup","setShowW09F2205Popup","showW09F2215Popup","setShowW09F2215Popup","setRowData","dataFilter","PropertyID","w84F3005PopupData","setLoading","setDataDate","loadDataGrid","_dataFilter$current$A","getUrlParams","profile","Skip","Limit","getDataGrid","isLoaded","loadDataCboProperty","W09F2205","W09F2215","dateBoxProps","marginLeft","toLowerCase","browserHistory","pathname","getRootPath","HREmployeeID","date","moment","utc","isValid","format","onChangePageProfile","UserName","Image","require","description","DOMPurify","sanitize","IconButton","aria-label","onHistoryApproval","HistoryIcon","onEdit","Icons","Divider","orientation","deleteData","W09F2272","_itemPageDataGrid$cur4","_itemPageDataGrid$cur5","_itemPageDataGrid$cur6","_itemPageDataGrid$cur7","_dataGrid$total","_dataGrid$rows2","_dataPopup$current$ro","_dataPopup$current","_dataPopup$current$ro2","_dataApproval$current","_dataApproval$current2","_dataApproval$current3","_dataApproval$current4","loadingCboEmployees","setLoadingCboEmployees","filter","setFilter","openW09F2271Popup","setOpenW09F2271Popup","openW84F3005Popup","setOpenW84F3005Popup","openApprovals","setOpenApprovals","approving","setApproving","errorNote","setErrorNote","dataApproval","anchorEl","refApprovalPopover","toolFilter","useDispatch","useSelector","dataCboStatus","paramFilterCboEmployees","_Config$getDivisionID","_Config$language","_Config$profile$UserI","_Config$profile","DepartmentID","ProjectID","TransType01ID","DutyID","IsRegisterType","loadCboStatus","_dataGrid$rows","_status$AppStatusName","status","find","ApproverName","AppStatusName","popup2","_data$rows","_data$total","onLoadCboFilter","_data$value","_data$value$","_data$value2","_data$value$2","_data$value3","onOpenApproval","_e$currentTarget","currentTarget","onCloseApproval","onOpenPopover","saveApprovals","approvalNotes","_Config$getDivisionID2","_rowData$EmployeeID","_rowData$VoucherID","_rowData$ApprovalLeve","_rowData$ApprovalFlow","_rowData$AttendanceDa","_validate$errorNote","validate","MForm","isRequired","ApprovalLevel","ApprovalFlowID","ApprovalNotesU","AttendanceDate","message","code","_data$Message","Message","onClosePopover","onReset","cancelApprovals","_rowData$VoucherID2","_rowData$EmployeeID2","_rowData$ApprovalLeve2","_rowData$ApprovalFlow2","_rowData$ApprovalStat","_rowData$AttendanceDa2","resetData","close","_filterRangePicker$cu2","dropdownProps","_filter$ApprovalStatu","_filter$EmployeeID","allowSearch","_e$target$value","_e$target","_e$skip","_e$limit","flex","justifyCenter","_e$data","_itemPageDataGrid$cur2","_itemPageDataGrid$cur3","_data$CreateUserID","_user$UserPictureURL","_user$EmployeeName","minWidth","purifyText","statusData","_data$ApprovalStatus","_data$ApproverName","_icon","AppStatusColor","AppStatusIcon","getStatusInfo","grap","ApprovalsPopover","onApproval","note","onCancel","w09f2205Actions","W09F2205Actions","PropertyName","OldPropertyValue","PropertyValue","AddressName","LabelProvince","LabelProvinceName","ProvinceID","ProvinceName","LabelDistrict","LabelDistrictName","DistrictID","DistrictName","LabelWard","LabelWardName","WardID","WardName","dataCboProvinceLabel","setDataCboProvinceLabel","dataCboProvince","setDataCboProvince","dataCboDistrict","setDataCboDistrict","dataCboLabelDistrict","setDataCboLabelDistrict","dataCboWardLabel","setDataCboWardLabel","dataCboWard","setDataCboWard","dataOldAttachments","setDataOldAttachments","dataCboRelative","setDataCboRelative","uploading","setUploading","_useState21","formLoading","_useState22","_useState23","_useState24","isDisabled","setIsDisabled","_useState25","_useState26","isTypeTextBox","setIsTypeTextBox","_useState27","_useState28","isTypeString","setIsTypeString","_useState29","_useState30","isTypeDatePicker","setIsTypeDatePicker","_useState31","_useState32","isTypeCombo","setIsTypeCombo","attRef","attachments","deletedFile","isSetStated","isChanged","loadForm","getForm","loadCboAddress","sourceName","parentID","CodeTable","SourceName","ParentID","getCboAddress","_setDataCbo","_dataFilter","_dataFilter2","_dataFilter3","_dataFilter4","Code","item","Name","setData","checkTypePropertyValue","fieldName","FieldName","getListRelative","loadListRelative","getFieldName","loadAttachments","isEmpty","ID","KeyID","TableName","getAttachmentsByTransID","handleChange","_setName","_dataFilter5","_dataFilter6","_dataFilter7","_dataFilter8","_dataFilter9","_dataFilter10","_dataFilter11","_dataFilter12","_dataFilter13","_dataFilter14","_dataFilter15","_dataFilter16","Modal","Content","TextField","InputLabelProps","shrink","inputProps","multiline","Attachments","isAttachInfo","showButton","files","maxLength","onUploading","onChanged","uploadedFiles","deletedFiles","_toConsumableArray","_arrRemove","map","d","AttachmentID","att","indexOf","Actions","onAttachment","AttachFileIcon","arrAttachments","listAttachments","getFileInfomations","arrAttachment","URL","url","FileName","fileName","FileSize","fileSize","FileExt","fileExt","_getAttachments","JSON","stringify","update","dataGenders","getGenders","dataListRelative","w09f2215Actions","W09F22215Actions","_dataForm$Sex","RelativeName","RelationID","RelationName","Sex","SexName","BirthDate","RelativePhone","loadGender","getGender","sexID","dataSexID","relationID","dataRelationID","BirthDate1","formatString","styleLabel","fontStyle","w09f2200Actions","W09F2200Actions","initFilter","_rowData","loadingForm","loadingUpdate","_useState33","_useState34","_useState35","_useState36","_useState37","_useState38","_useState39","_useState40","loadingListRelative","loadingAttachment","formID","caption","pagerFullScreen","dataField","dataType","allowEditing","fixed","fixedPosition","GridActionBar","W09F2210","w09f2210Actions","W09F2210Actions","IGE","RelativeID","loadingGender","getDetail","oldPropertyID","Telephone","relativeID","employeeID","getCboDisRewardForm","W09F2070","getCboProDisRewardLevel","getCboDisViolationActGroup","getCboDisViolationAct","getRewardCaption","w09f2070Actions","W09F2070Actions","bgRow","opacity","bgRowDiff","bgRowDiff2","bgRowDiff3","bgRowDiff4","hidden","VoucherCreateDate","ViolationDate","errors","setErrors","isLoadingGrid","setLoadingGrid","cboDisViolationAct","setCboDisViolationAct","isLoadingAttachment","setLoadingAttachment","isSaving","setSaving","filterGridValue","setFilterGridValue","isShowModalW09F6000","setShowModalW09F6000","cboDisViolationActTmp","selectedRange","filterColIndx","refDataGrid","filterGrid","oldDataGrid","oldDataForm","timerUpdating","cellEditing","rowIndex","fieldUpdating","loadingTimer","getData","getMessageErr","setTimeout","clearTimeout","IsCheck","uniqBy","DisViolationActGroupID","loadCboDisViolationAct","loadCboDisViolationActGroup","loadRewardCaption","loadCboProDisRewardLevel","loadCboDisRewardForm","validation","field","objError","isError","has","omit","cb","_args3","onSelectedEmployees","_callee4","_context4","onChangeForm","handleUpdateCell","data1","data2","newValue","round","diff","isNumber","subtract","add","onSave","instance","option","getVoucherID","apiAction","Data","objErrors","reduce","every","Deleted","acc","currItem","_callee5","getStatus","_context5","_ref7","_callee6","_TransID","getTransID","getAction","detailCaptions","_dataOld","_context6","parse","ValidDate","ProDisRewardFormName","ProDisRewardLevelName","ProContent","ProNotice","currIdx","dataCompare","createDetailHistory","renderHeaderColumns","HeadClick","dataHeaderCell","allowClick","onUpdate","col","newData","getNewValidDate","fieldUpdate","getValidEndDate","getNumMonth","NumMonth","ValidEndDate","Updated","getNewValidEndDate","getValidDate","getNewNumMonth","conditionCopy","eChild","cellRenderAction","component","cellValue","saveEditData","rewardCaptionData","W09F6000","onChosen","fullScreen","toUpperCase","TextInput","onBlur","required","toNumber","minHeight","DatePicker","actionIconAt","displayFormat","HelperText","reference","columnAutoWidth","rowAlternationEnabled","overflowX","refreshMode","allowUpdating","filterValue","filterPanel","visible","filterRow","showOperationChooser","filterBuilderPopup","onInitialized","dispose","element","remove","onRowValidating","sorting","onEditingStart","column","IsUpdate","cancel","getRowIndex","findIndex","o","onCellPrepared","separator","onRowPrepared","AddEmp","rowElement","classList","IsCancel","onFilterGrid","columnIndex","split","f","trim","operator","isClear","fil","itemFilter","getFilterGrid","onCellSelectionChanged","rowType","onEditorPreparing","parentType","updateValueTimeout","editorOptions","onRowUpdating","oldData","_cellEditing$current","getNewDisViolationActGroupID","getNewMonth","onRowUpdated","_fieldUpdating$curren","isMobile","trueText","falseText","allowFiltering","headerCellRender","allowCopying","allowPasting","CustomRule","validationCallback","lookup","currKey","k","calculateDisplayValue","toLocaleString","precision","Decimals","Short","Summary","calculateCustomSummary","summaryProcess","totalValue","_options$value","TotalItem","summaryType","showInColumn","Accordion","expand","AccordionSummary","AccordionDetails","isLocal","dataNew","styles","loadingContainer","position","top","left","zIndex","W09F2230","isDefaultMSS","setIsDefaultMSS","dataOld","W09F2230Actions","IsDefaultMSS","pressESCToClose","moveable","dragAnyWhere","moveOutScreen","ModalHeader","ModalBody","CircularProgress","Radio","checked","ModalFooter","W09F2152","_React$Component","_inherits","_super","_createSuper","_this","_classCallCheck","setState","loadCaption","w09F2150Actions","loadPosition","loadingDutyID","getCboDuty2","loadCboCode","w09F2152Actions","getCboCode","dataCboCode","onTextFilterChanged","Search","componentDidMount","renderFormInfo","_this$props","getCaption","_this$state","isExpanded","getCDNPath","InlineSVG","FormControlLabel","control","Checkbox","Boolean","IsSalaryAdjustment","dataCbo","index","Disabled","NumberFormat","numberInput","customInput","CaptionName","thousandSeparator","decimalScale","String","ExpansionPanel","expandPanel","isExpaned","ExpansionPanelSummary","href","expandSummary","alt","ExpansionPanelDetails","expandDetail","indx","Intl","refs","_this$props2","getCboDuty","_this$state2","storeDataSoureDevExtreme","DutyName","interval","_createClass","_this$state3","this","objSearch","parentProps","Component","W09F2150","W09F2152Actions","W09F2150Actions","boxShadow","withTheme"],"mappings":";oUACAA,EAAA,kBAAAC,GAAA,IAAAA,EAAA,GAAAC,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAI,gBAAA,SAAAC,EAAAC,EAAAC,GAAAF,EAAAC,GAAAC,EAAAC,OAAAC,EAAA,mBAAAC,cAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAAC,EAAAZ,EAAAC,EAAAE,GAAA,OAAAR,OAAAI,eAAAC,EAAAC,EAAA,CAAAE,QAAAU,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAf,EAAAC,GAAA,IAAAW,EAAA,aAAAI,GAAAJ,EAAA,SAAAZ,EAAAC,EAAAE,GAAA,OAAAH,EAAAC,GAAAE,GAAA,SAAAc,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,KAAAvB,qBAAA2B,EAAAJ,EAAAI,EAAAC,EAAA7B,OAAA8B,OAAAH,EAAA1B,WAAA8B,EAAA,IAAAC,EAAAN,GAAA,WAAAtB,EAAAyB,EAAA,WAAArB,MAAAyB,EAAAV,EAAAE,EAAAM,KAAAF,EAAA,SAAAK,EAAAC,EAAA9B,EAAA+B,GAAA,WAAAC,KAAA,SAAAD,IAAAD,EAAAG,KAAAjC,EAAA+B,IAAA,MAAAf,GAAA,OAAAgB,KAAA,QAAAD,IAAAf,IAAAvB,EAAAwB,OAAA,IAAAiB,EAAA,YAAAX,KAAA,SAAAY,KAAA,SAAAC,KAAA,IAAAC,EAAA,GAAAzB,EAAAyB,EAAA/B,GAAA,8BAAAgC,EAAA3C,OAAA4C,eAAAC,EAAAF,OAAAG,EAAA,MAAAD,OAAA9C,GAAAG,EAAAoC,KAAAO,EAAAlC,KAAA+B,EAAAG,GAAA,IAAAE,EAAAN,EAAAxC,UAAA2B,EAAA3B,UAAAD,OAAA8B,OAAAY,GAAA,SAAAM,EAAA/C,GAAA,0BAAAgD,SAAA,SAAAC,GAAAjC,EAAAhB,EAAAiD,GAAA,SAAAd,GAAA,YAAAe,QAAAD,EAAAd,SAAA,SAAAgB,EAAAvB,EAAAwB,GAAA,IAAAC,EAAAlD,EAAA,gBAAAI,MAAA,SAAA0C,EAAAd,GAAA,SAAAmB,IAAA,WAAAF,GAAA,SAAAG,EAAAC,IAAA,SAAAC,EAAAR,EAAAd,EAAAoB,EAAAC,GAAA,IAAAE,EAAAzB,EAAAL,EAAAqB,GAAArB,EAAAO,GAAA,aAAAuB,EAAAtB,KAAA,KAAAuB,EAAAD,EAAAvB,IAAA5B,EAAAoD,EAAApD,MAAA,OAAAA,GAAA,iBAAAA,GAAAN,EAAAoC,KAAA9B,EAAA,WAAA6C,EAAAG,QAAAhD,EAAAqD,SAAAC,MAAA,SAAAtD,GAAAkD,EAAA,OAAAlD,EAAAgD,EAAAC,MAAA,SAAApC,GAAAqC,EAAA,QAAArC,EAAAmC,EAAAC,MAAAJ,EAAAG,QAAAhD,GAAAsD,MAAA,SAAAC,GAAAH,EAAApD,MAAAuD,EAAAP,EAAAI,MAAA,SAAAI,GAAA,OAAAN,EAAA,QAAAM,EAAAR,EAAAC,QAAAE,EAAAvB,KAAAsB,CAAAR,EAAAd,EAAAoB,EAAAC,MAAA,OAAAH,MAAAQ,KAAAP,YAAA,SAAAtB,EAAAV,EAAAE,EAAAM,GAAA,IAAAkC,EAAA,iCAAAf,EAAAd,GAAA,iBAAA6B,EAAA,UAAAC,MAAA,iDAAAD,EAAA,cAAAf,EAAA,MAAAd,EAAA,OAAA+B,IAAA,IAAApC,EAAAmB,SAAAnB,EAAAK,QAAA,KAAAgC,EAAArC,EAAAqC,SAAA,GAAAA,EAAA,KAAAC,EAAAC,EAAAF,EAAArC,GAAA,GAAAsC,EAAA,IAAAA,IAAA9B,EAAA,gBAAA8B,GAAA,YAAAtC,EAAAmB,OAAAnB,EAAAwC,KAAAxC,EAAAyC,MAAAzC,EAAAK,SAAA,aAAAL,EAAAmB,OAAA,uBAAAe,EAAA,MAAAA,EAAA,YAAAlC,EAAAK,IAAAL,EAAA0C,kBAAA1C,EAAAK,SAAA,WAAAL,EAAAmB,QAAAnB,EAAA2C,OAAA,SAAA3C,EAAAK,KAAA6B,EAAA,gBAAAN,EAAAzB,EAAAX,EAAAE,EAAAM,GAAA,cAAA4B,EAAAtB,KAAA,IAAA4B,EAAAlC,EAAA4C,KAAA,6BAAAhB,EAAAvB,MAAAG,EAAA,gBAAA/B,MAAAmD,EAAAvB,IAAAuC,KAAA5C,EAAA4C,MAAA,UAAAhB,EAAAtB,OAAA4B,EAAA,YAAAlC,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAuB,EAAAvB,OAAA,SAAAkC,EAAAF,EAAArC,GAAA,IAAA6C,EAAA7C,EAAAmB,SAAAkB,EAAAxD,SAAAgE,GAAA,QAAAC,IAAA3B,EAAA,OAAAnB,EAAAqC,SAAA,eAAAQ,GAAAR,EAAAxD,SAAAkE,SAAA/C,EAAAmB,OAAA,SAAAnB,EAAAK,SAAAyC,EAAAP,EAAAF,EAAArC,GAAA,UAAAA,EAAAmB,SAAA,WAAA0B,IAAA7C,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAH,EAAA,aAAArC,EAAA,IAAAoB,EAAAzB,EAAAgB,EAAAkB,EAAAxD,SAAAmB,EAAAK,KAAA,aAAAuB,EAAAtB,KAAA,OAAAN,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAuB,EAAAvB,IAAAL,EAAAqC,SAAA,KAAA7B,EAAA,IAAAyC,EAAArB,EAAAvB,IAAA,OAAA4C,IAAAL,MAAA5C,EAAAqC,EAAAa,YAAAD,EAAAxE,MAAAuB,EAAAmD,KAAAd,EAAAe,QAAA,WAAApD,EAAAmB,SAAAnB,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAyC,GAAA9C,EAAAqC,SAAA,KAAA7B,GAAAyC,GAAAjD,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAhD,EAAAqC,SAAA,KAAA7B,GAAA,SAAA6C,EAAAC,GAAA,IAAAC,EAAA,CAAAC,OAAAF,EAAA,SAAAA,IAAAC,EAAAE,SAAAH,EAAA,SAAAA,IAAAC,EAAAG,WAAAJ,EAAA,GAAAC,EAAAI,SAAAL,EAAA,SAAAM,WAAAC,KAAAN,GAAA,SAAAO,EAAAP,GAAA,IAAA3B,EAAA2B,EAAAQ,YAAA,GAAAnC,EAAAtB,KAAA,gBAAAsB,EAAAvB,IAAAkD,EAAAQ,WAAAnC,EAAA,SAAA3B,EAAAN,GAAA,KAAAiE,WAAA,EAAAJ,OAAA,SAAA7D,EAAAuB,QAAAmC,EAAA,WAAAW,OAAA,YAAAjD,EAAAkD,GAAA,GAAAA,EAAA,KAAAC,EAAAD,EAAArF,GAAA,GAAAsF,EAAA,OAAAA,EAAA3D,KAAA0D,GAAA,sBAAAA,EAAAd,KAAA,OAAAc,EAAA,IAAAE,MAAAF,EAAAG,QAAA,KAAAC,GAAA,EAAAlB,EAAA,SAAAA,IAAA,OAAAkB,EAAAJ,EAAAG,QAAA,GAAAjG,EAAAoC,KAAA0D,EAAAI,GAAA,OAAAlB,EAAA1E,MAAAwF,EAAAI,GAAAlB,EAAAP,MAAA,EAAAO,EAAA,OAAAA,EAAA1E,WAAAqE,EAAAK,EAAAP,MAAA,EAAAO,GAAA,OAAAA,UAAA,OAAAA,KAAAf,GAAA,SAAAA,IAAA,OAAA3D,WAAAqE,EAAAF,MAAA,UAAAnC,EAAAvC,UAAAwC,EAAArC,EAAA2C,EAAA,eAAAvC,MAAAiC,EAAAtB,cAAA,IAAAf,EAAAqC,EAAA,eAAAjC,MAAAgC,EAAArB,cAAA,IAAAqB,EAAA6D,YAAApF,EAAAwB,EAAA1B,EAAA,qBAAAjB,EAAAwG,oBAAA,SAAAC,GAAA,IAAAC,EAAA,mBAAAD,KAAAE,YAAA,QAAAD,QAAAhE,GAAA,uBAAAgE,EAAAH,aAAAG,EAAAE,QAAA5G,EAAA6G,KAAA,SAAAJ,GAAA,OAAAvG,OAAA4G,eAAA5G,OAAA4G,eAAAL,EAAA9D,IAAA8D,EAAAM,UAAApE,EAAAxB,EAAAsF,EAAAxF,EAAA,sBAAAwF,EAAAtG,UAAAD,OAAA8B,OAAAiB,GAAAwD,GAAAzG,EAAAgH,MAAA,SAAA1E,GAAA,OAAAyB,QAAAzB,IAAAY,EAAAI,EAAAnD,WAAAgB,EAAAmC,EAAAnD,UAAAY,GAAA,0BAAAf,EAAAsD,gBAAAtD,EAAAiH,MAAA,SAAAxF,EAAAC,EAAAC,EAAAC,EAAA2B,QAAA,IAAAA,MAAA2D,SAAA,IAAAC,EAAA,IAAA7D,EAAA9B,EAAAC,EAAAC,EAAAC,EAAAC,GAAA2B,GAAA,OAAAvD,EAAAwG,oBAAA9E,GAAAyF,IAAA/B,OAAApB,MAAA,SAAAF,GAAA,OAAAA,EAAAe,KAAAf,EAAApD,MAAAyG,EAAA/B,WAAAlC,EAAAD,GAAA9B,EAAA8B,EAAAhC,EAAA,aAAAE,EAAA8B,EAAApC,GAAA,0BAAAM,EAAA8B,EAAA,qDAAAjD,EAAAoH,KAAA,SAAAC,GAAA,IAAAC,EAAApH,OAAAmH,GAAAD,EAAA,WAAA5G,KAAA8G,EAAAF,EAAAtB,KAAAtF,GAAA,OAAA4G,EAAAG,UAAA,SAAAnC,IAAA,KAAAgC,EAAAf,QAAA,KAAA7F,EAAA4G,EAAAI,MAAA,GAAAhH,KAAA8G,EAAA,OAAAlC,EAAA1E,MAAAF,EAAA4E,EAAAP,MAAA,EAAAO,EAAA,OAAAA,EAAAP,MAAA,EAAAO,IAAApF,EAAAgD,SAAAd,EAAA/B,UAAA,CAAAwG,YAAAzE,EAAA+D,MAAA,SAAAwB,GAAA,QAAAC,KAAA,OAAAtC,KAAA,OAAAX,KAAA,KAAAC,WAAAK,EAAA,KAAAF,MAAA,OAAAP,SAAA,UAAAlB,OAAA,YAAAd,SAAAyC,EAAA,KAAAc,WAAA1C,QAAA4C,IAAA0B,EAAA,QAAAb,KAAA,WAAAA,EAAAe,OAAA,IAAAvH,EAAAoC,KAAA,KAAAoE,KAAAR,OAAAQ,EAAAgB,MAAA,WAAAhB,QAAA7B,IAAA8C,KAAA,gBAAAhD,MAAA,MAAAiD,EAAA,KAAAjC,WAAA,GAAAG,WAAA,aAAA8B,EAAAvF,KAAA,MAAAuF,EAAAxF,IAAA,YAAAyF,MAAApD,kBAAA,SAAAqD,GAAA,QAAAnD,KAAA,MAAAmD,EAAA,IAAA/F,EAAA,cAAAgG,EAAAC,EAAAC,GAAA,OAAAtE,EAAAtB,KAAA,QAAAsB,EAAAvB,IAAA0F,EAAA/F,EAAAmD,KAAA8C,EAAAC,IAAAlG,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAyC,KAAAoD,EAAA,QAAA7B,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAAzC,EAAA2B,EAAAQ,WAAA,YAAAR,EAAAC,OAAA,OAAAwC,EAAA,UAAAzC,EAAAC,QAAA,KAAAiC,KAAA,KAAAU,EAAAhI,EAAAoC,KAAAgD,EAAA,YAAA6C,EAAAjI,EAAAoC,KAAAgD,EAAA,iBAAA4C,GAAAC,EAAA,SAAAX,KAAAlC,EAAAE,SAAA,OAAAuC,EAAAzC,EAAAE,UAAA,WAAAgC,KAAAlC,EAAAG,WAAA,OAAAsC,EAAAzC,EAAAG,iBAAA,GAAAyC,GAAA,QAAAV,KAAAlC,EAAAE,SAAA,OAAAuC,EAAAzC,EAAAE,UAAA,YAAA2C,EAAA,UAAAjE,MAAA,kDAAAsD,KAAAlC,EAAAG,WAAA,OAAAsC,EAAAzC,EAAAG,gBAAAf,OAAA,SAAArC,EAAAD,GAAA,QAAAgE,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,QAAA,KAAAiC,MAAAtH,EAAAoC,KAAAgD,EAAA,oBAAAkC,KAAAlC,EAAAG,WAAA,KAAA2C,EAAA9C,EAAA,OAAA8C,IAAA,UAAA/F,GAAA,aAAAA,IAAA+F,EAAA7C,QAAAnD,MAAAgG,EAAA3C,aAAA2C,EAAA,UAAAzE,EAAAyE,IAAAtC,WAAA,UAAAnC,EAAAtB,OAAAsB,EAAAvB,MAAAgG,GAAA,KAAAlF,OAAA,YAAAgC,KAAAkD,EAAA3C,WAAAlD,GAAA,KAAA8F,SAAA1E,IAAA0E,SAAA,SAAA1E,EAAA+B,GAAA,aAAA/B,EAAAtB,KAAA,MAAAsB,EAAAvB,IAAA,gBAAAuB,EAAAtB,MAAA,aAAAsB,EAAAtB,KAAA,KAAA6C,KAAAvB,EAAAvB,IAAA,WAAAuB,EAAAtB,MAAA,KAAAwF,KAAA,KAAAzF,IAAAuB,EAAAvB,IAAA,KAAAc,OAAA,cAAAgC,KAAA,kBAAAvB,EAAAtB,MAAAqD,IAAA,KAAAR,KAAAQ,GAAAnD,GAAA+F,OAAA,SAAA7C,GAAA,QAAAW,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAG,eAAA,YAAA4C,SAAA/C,EAAAQ,WAAAR,EAAAI,UAAAG,EAAAP,GAAA/C,IAAAgG,MAAA,SAAAhD,GAAA,QAAAa,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,WAAA,KAAA5B,EAAA2B,EAAAQ,WAAA,aAAAnC,EAAAtB,KAAA,KAAAmG,EAAA7E,EAAAvB,IAAAyD,EAAAP,GAAA,OAAAkD,GAAA,UAAAtE,MAAA,0BAAAuE,cAAA,SAAAzC,EAAAf,EAAAE,GAAA,YAAAf,SAAA,CAAAxD,SAAAkC,EAAAkD,GAAAf,aAAAE,WAAA,cAAAjC,SAAA,KAAAd,SAAAyC,GAAAtC,IAAAzC,EA8Ye4I,uBAAQ,SAACzE,GAAK,MAAM,CAC3B0E,aAAc1E,EAAM2E,UAAUD,aAC9BE,gBAAiB5E,EAAM2E,UAAUC,oBAErC,SAACC,GAAQ,MAAM,CACXC,eAAgBC,YAAmBD,EAAgBD,GACnDG,gBAAiBD,YAAmBE,EAAiBJ,MAN9CJ,EA5XE,SAAHS,GAAoF,IAA/EJ,EAAcI,EAAdJ,eAAgBJ,EAAYQ,EAAZR,aAAcM,EAAeE,EAAfF,gBAAiBJ,EAAeM,EAAfN,gBAAiBO,EAAQD,EAARC,SAC/EC,EAAgCC,mBAAS,IAAGC,EAAAC,YAAAH,EAAA,GAArCI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC5BI,EAAgDL,mBAAS,CAACM,KAAM,GAAIC,MAAO,IAAGC,EAAAN,YAAAG,EAAA,GAAvEI,EAAgBD,EAAA,GAAEE,EAAmBF,EAAA,GAC5CG,EAA8CX,mBAAS,IAAGY,EAAAV,YAAAS,EAAA,GAAnDE,EAAeD,EAAA,GAAEE,EAAkBF,EAAA,GAC1CG,EAAgCf,mBAAS,MAAKgB,EAAAd,YAAAa,EAAA,GAAvCE,EAAQD,EAAA,GAAEE,EAAWF,EAAA,GAC5BG,EAA4BnB,mBAAS,MAAKoB,EAAAlB,YAAAiB,EAAA,GAAnCE,EAAMD,EAAA,GAAEE,EAASF,EAAA,GACxBG,EAAkCvB,mBAAS,IAAGwB,EAAAtB,YAAAqB,EAAA,GAAvCE,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAE9BG,EAAwC3B,oBAAS,GAAM4B,EAAA1B,YAAAyB,EAAA,GAAhDE,EAAaD,EAAA,GAAEE,EAAcF,EAAA,GACpCG,GAAsD/B,oBAAS,GAAMgC,GAAA9B,YAAA6B,GAAA,GAA9DE,GAAoBD,GAAA,GAAEE,GAAqBF,GAAA,GAClDG,GAAwDnC,oBAAS,GAAMoC,GAAAlC,YAAAiC,GAAA,GAAhEE,GAAqBD,GAAA,GAAEE,GAAsBF,GAAA,GACpDG,GAAsDvC,oBAAS,GAAMwC,GAAAtC,YAAAqC,GAAA,GAA9DE,GAAoBD,GAAA,GAAEE,GAAqBF,GAAA,GAE5CG,GAAiBC,iBAAO,MACxBC,GAAWD,iBAAO,MAClBE,GAAaF,iBAAO,MACpBG,GAAcH,iBAAO,MAE3BI,qBAAU,WACNC,IAAOC,cAAc,CACjBC,OAAQ,WAERC,QAAS,YACTC,KAAKC,IAAEC,IAAIhE,EAAiB,OAAQ,IACpCiE,OAAQ,SAACC,GAAM,OAAKC,GAASJ,IAAEC,IAAIE,EAAQ,KAAM,MACjDE,SAAU,SAACC,EAAGP,GACVN,GAAYc,QAAQC,UAAUT,GAC9BU,GAAaT,IAAEC,IAAIK,EAAE,KAAM,OAEhC,CAAC9D,gBAIRkD,qBAAU,WACNU,OAED,IAEH,IAAMM,GAAyB,CAC3BC,KAAM,EACNC,MAAO,GACPC,OAAQ,IAGNC,GAAqB,SAACpN,EAAK4M,GAC7B,IACM1M,EAAQoM,IAAEC,IAAIK,EAAG,QAASN,IAAEC,IAAIK,EAAG,eAAgB,OACzD,GAAIN,IAAEe,SAFY,CAAC,WAAY,UAELrN,GACtB,MAAe,aAARA,EAAqBkK,EAAYhK,GAASoK,EAAUpK,GAE/D,OAAQF,GACJ,IAAK,iBACD,OAAO2L,GAAekB,QAAU3M,EACpC,IAAK,WACD,OAAO2L,GAASgB,QAAU3M,EAC9B,IAAK,aACD,OAAO4L,GAAWe,QAAU3M,EAChC,QACI,OAAO,IAIbwM,GAAW,WAAqB,IAApBY,EAASC,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GACpBd,EAAS,CACXN,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,KAC7BC,WAAYzB,IAAO0B,gBACnBC,SAAU3D,EACV4D,OAAQxD,EACRyD,eAAgBnC,GAAekB,QAC/BkB,WAAYzB,IAAEC,IAAIV,GAASgB,QAAS,aAAc,IAClDmB,YAAalC,GAAWe,QACxBS,aAEJ3E,EAAgBsF,iBAAiBxB,GAAQ,SAAC1L,GACtC,GAAIA,EAAK,OAAOkL,IAAOiC,MAAMC,KAAK,QAASpN,OAK7CgM,GAAe,SAAAO,GACjB,IAAMb,EAAS,CACXN,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,KAC7BW,KAAM,EACNd,aAEJxC,GAAe,GACfnC,EAAgB0F,YAAY5B,GAAQ,SAAC1L,EAAKsL,GAEtC,GADAvB,GAAe,GACX/J,EAAK,OAAOkL,IAAOiC,MAAMC,KAAK,QAASpN,GACvCsL,GAAMjD,EAAYiD,OAIxBiC,GAAmB,SAACC,GACtB,IAAMC,EAAKC,YAAA,CACPL,KAAM,aACNjC,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,MAC1BT,IAEP9B,IAAsB,GACtBzC,EAAeiG,gBAAgBF,GAAO,SAACzN,EAAKsL,GAExC,GADAnB,IAAsB,GAClBnK,EAAK,OAAOkL,IAAOiC,MAAMC,KAAK,QAASpN,GAC3C,GAAIsL,EAAM,CACN,IAAM/C,EAAOgD,IAAEC,IAAIF,EAAM,QAAQ,IAAUA,EACrC9C,EAAQ+C,IAAEC,IAAIF,EAAM,QAAS,IAAMC,IAAEqC,KAAKtC,GAChD3C,EAAoB,CAACJ,KAAMiF,EAAUjF,EAAOgD,IAAEsC,OAAOnF,EAAiBH,KAAMA,GAAOC,eAKzFsF,GAAe,eAAAC,EAAAC,YAAAxP,IAAA8G,MAAG,SAAA2I,IAAA,IAAAC,EAAAC,EAAAC,EAAA,OAAA5P,IAAAyB,MAAA,SAAAoO,GAAA,cAAAA,EAAAlI,KAAAkI,EAAAxK,MAAA,OACO,OAA3B8G,IAAsB,GAAK0D,EAAAxK,KAAA,EACTyK,IAAIC,IAAI,yBAA0B,CAAC9B,SAAUvB,IAAOwB,UAAY,OAAM,OAGb,GAHrEwB,EAAGG,EAAAnL,KACTyH,IAAsB,GAChBwD,EAAU5C,IAAEC,IAAI0C,EAAK,OAAQ,MAC7BE,EAAgB7C,IAAEC,IAAI0C,EAAK,UAAW3C,IAAEC,IAAI2C,EAAS,UAAW,MACpD,CAADE,EAAAxK,KAAA,eAAAwK,EAAAhL,OAAA,SAAS6H,IAAOiC,MAAMC,KAAK,QAASgB,IAAc,OAC/DD,GAASpF,EAAmBoF,GAAQ,yBAAAE,EAAA/H,UAAA2H,OAE3C,kBAToB,OAAAF,EAAAS,MAAA,KAAAhC,YAAA,GA2BfiC,GAAmB,WACrBlB,KAjBqB,WACrB,IAAM7B,EAAS,CACXN,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,MAEjCnC,IAAuB,GACvB3C,EAAgBN,aAAaoE,GAAQ,SAAC1L,GAElC,GADAuK,IAAuB,GACnBvK,EAAK,OAAOkL,IAAOiC,MAAMC,KAAK,QAASpN,MAU/C0O,GACAZ,MAOEa,GAAW,WACbhD,MAqMJ,OAAOiD,IAAAC,cAAAD,IAAAE,SAAA,KACHF,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACG,UAAa,CAACC,MAAO/D,IAAOgE,KAAK,iCAEtCN,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAACS,UAAS,CACNC,IAAK,SAACA,GACFvE,GAAYc,QAAUyD,GAE1BC,QAAS1F,EACT2F,sBAAsB,EACtBrE,OAAQ,WACRhD,SAAUA,EACVsH,WAAYlI,EACZmI,eAAgBjG,EAChBkG,kBAAkB,EAClBC,aAAW,EACXC,eArNG,SAACxE,GACpB,OAAOsD,IAAAC,cAAAD,IAAAE,SAAA,KACHF,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAACkB,UAAS,CACNC,cAAc,EACdC,MAAO/E,IAAOgE,KAAK,aACnB/P,MAAO,WACH,OACIyP,IAAAC,cAAA,OAAKqB,UAAW,gCACXC,MAAO,CACHC,MAAO,OACPC,OAAQ,KAEbzB,IAAAC,cAACyB,UAAS,CAAChF,KAAMA,EAAMiF,YAAY,EAAOH,MAAO,GAAIC,OAAQ,KAC7DzB,IAAAC,cAAC2B,IAAK,CACFC,MAAO,UACPC,UAAU,EACVvR,MAAO+L,IAAOyF,QAAQC,eAAetF,EAAM,eAAgB,IAC3DuF,kBAAkB,MAKlCC,WAAW,OAK3BlC,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAACkB,UAAS,CACNE,MAAO/E,IAAOgE,KAAK,gBACnB/P,MAAOoM,IAAEC,IAAIF,EAAM,mBAAoB,IACvCwF,WAAW,OAK3BlC,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAACkB,UAAS,CACNE,MAAO/E,IAAOgE,KAAK,wBACnB/P,MAAOoM,IAAEC,IAAIF,EAAM,gBAAiB,IACpCwF,WAAW,OAK3BlC,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAACkB,UAAS,CACNE,MAAO/E,IAAOgE,KAAK,WACnB/P,MAAOoM,IAAEC,IAAIF,EAAM,QAAS,IAC5BwF,WAAW,SA4JfC,mBAxOO,SAAClF,GACxBG,GAAaT,IAAEC,IAAIK,EAAG,YAAa,MAwOnBmF,eA/NG,WACnBrH,EAAa,KA+NGsH,aAtJC,WACjB,OAAOrC,IAAAC,cAACqC,UAAM,CACVC,SAAU,WACNC,QAAQC,IAAI,WAEhBC,YAAY,EACZC,YAAarG,IAAOgE,KAAK,yBACzBsC,aAAc/C,GACdgD,aAAc,kBACV7C,IAAAC,cAAAD,IAAAE,SAAA,KACIF,IAAAC,cAACE,IAAS,CAACoB,MAAO,CAACuB,aAAc,QAC7B9C,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAAC8C,QAAK,CACFnC,QAASlF,GACT2F,MAAO/E,IAAOgE,KAAK,oBACnBQ,WAAYpI,EACZsK,YAAa,gBACbC,UAAW,iBACXC,eAAgB,SAACjG,GAAC,OAAKQ,GAAmB,iBAAkBR,IAC5DkG,iBAAiB,EACjB5S,MAAOyL,GAAekB,aAKtC8C,IAAAC,cAACE,IAAS,CAACoB,MAAO,CAACuB,aAAc,QAC7B9C,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAAC8C,QAAMK,SAAQ,CACXtC,WAAYhH,EAAiBH,KAC7B2D,KAAMD,GAAuBC,KAC7BC,MAAOF,GAAuBE,MAC9ByF,YAAa,eACbvG,QAAS,aACTwG,UAAW,aACX1S,MAAO2L,GAASgB,QAAUhB,GAASgB,QAAU,KAC7C0D,QAAStF,GACT+H,YAAa,WACbhC,MAAO/E,IAAOgE,KAAK,aACnBgD,WAAY,SAACrG,GACT,IAAOP,EAAQO,EAARP,KACP,OAAKA,EACEA,EAAK0B,WAAa,MAAQ1B,EAAK6G,aADpB,MAGtBJ,iBAAiB,EACjBD,eAAgB,SAAAjG,GAAC,OAAIQ,GAAmB,WAAYR,IACpDuG,eAAgB,SAACvG,GACbI,GAAuBG,OAASP,EAAEwG,OAAOlT,MACzC8M,GAAuBC,KAAO,EAC9BqB,IAAiB,IAErB+E,WAAY,SAACzG,GACTI,GAAuBC,KAAOL,EAAEK,KAChCD,GAAuBE,MAAQN,EAAEM,MACjCoB,WAMpBqB,IAAAC,cAACE,IAAS,CAACoB,MAAO,CAACuB,aAAc,QAC7B9C,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAAC8C,QAAK,CACF1B,MAAO/E,IAAOgE,KAAK,cACnBQ,WAAY5G,EACZ8I,YAAa,eACbC,UAAW,aACXC,eAAgB,SAACjG,GAAC,OAAKQ,GAAmB,aAAcR,IACxDkG,iBAAiB,EACjBvC,QAAS9E,GACTvL,MAAO4L,GAAWe,aAKlC8C,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAAC0D,IAAK,CAACrC,UAAW,QAAShF,IAAOgE,KAAK,sBAG/CN,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GACb5D,IAAAC,cAAA,OAAKqB,UAAW,4BACZtB,IAAAC,cAAC0D,IAAK,CAACrC,UAAW,QAAShF,IAAOgE,KAAK,OACvCN,IAAAC,cAAC4D,UAAa,CACVlB,YAAa,aACbmB,IAAKpJ,EACLqJ,iBAAiB,EACjBZ,iBAAiB,EACjB3B,MAAO,OACPjR,MAAO+J,EACP4I,eAAgB,SAAAjG,GAAC,OAAIQ,GAAmB,WAAYR,QAIhE+C,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GACb5D,IAAAC,cAAA,OAAKqB,UAAW,4BACZtB,IAAAC,cAAC0D,IAAK,CAACrC,UAAW,QAAShF,IAAOgE,KAAK,QACvCN,IAAAC,cAAC4D,UAAa,CACVG,IAAK1J,EACLqI,YAAa,aACboB,iBAAiB,EACjBZ,iBAAiB,EACjB3B,MAAO,OACPjR,MAAOmK,EACPwI,eAAgB,SAAAjG,GAAC,OAAIQ,GAAmB,SAAUR,UAMtE+C,IAAAC,cAACE,IAAS,CAACmB,UAAW,0CAClBtB,IAAAC,cAACgE,UAAa,CACVxN,KAAM6F,IAAOgE,KAAK,YAClB4D,WAAY,SACZlF,KAAM,QACN6C,MAAO,UACPsC,QAAS,WACTC,QAASrE,WA8BbsE,sBAAsB,Y,yQCtY9CzU,EAAA,kBAAAC,GAAA,IAAAA,EAAA,GAAAC,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAI,gBAAA,SAAAC,EAAAC,EAAAC,GAAAF,EAAAC,GAAAC,EAAAC,OAAAC,EAAA,mBAAAC,cAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAAC,EAAAZ,EAAAC,EAAAE,GAAA,OAAAR,OAAAI,eAAAC,EAAAC,EAAA,CAAAE,QAAAU,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAf,EAAAC,GAAA,IAAAW,EAAA,aAAAI,GAAAJ,EAAA,SAAAZ,EAAAC,EAAAE,GAAA,OAAAH,EAAAC,GAAAE,GAAA,SAAAc,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,KAAAvB,qBAAA2B,EAAAJ,EAAAI,EAAAC,EAAA7B,OAAA8B,OAAAH,EAAA1B,WAAA8B,EAAA,IAAAC,EAAAN,GAAA,WAAAtB,EAAAyB,EAAA,WAAArB,MAAAyB,EAAAV,EAAAE,EAAAM,KAAAF,EAAA,SAAAK,EAAAC,EAAA9B,EAAA+B,GAAA,WAAAC,KAAA,SAAAD,IAAAD,EAAAG,KAAAjC,EAAA+B,IAAA,MAAAf,GAAA,OAAAgB,KAAA,QAAAD,IAAAf,IAAAvB,EAAAwB,OAAA,IAAAiB,EAAA,YAAAX,KAAA,SAAAY,KAAA,SAAAC,KAAA,IAAAC,EAAA,GAAAzB,EAAAyB,EAAA/B,GAAA,8BAAAgC,EAAA3C,OAAA4C,eAAAC,EAAAF,OAAAG,EAAA,MAAAD,OAAA9C,GAAAG,EAAAoC,KAAAO,EAAAlC,KAAA+B,EAAAG,GAAA,IAAAE,EAAAN,EAAAxC,UAAA2B,EAAA3B,UAAAD,OAAA8B,OAAAY,GAAA,SAAAM,EAAA/C,GAAA,0BAAAgD,SAAA,SAAAC,GAAAjC,EAAAhB,EAAAiD,GAAA,SAAAd,GAAA,YAAAe,QAAAD,EAAAd,SAAA,SAAAgB,EAAAvB,EAAAwB,GAAA,IAAAC,EAAAlD,EAAA,gBAAAI,MAAA,SAAA0C,EAAAd,GAAA,SAAAmB,IAAA,WAAAF,GAAA,SAAAG,EAAAC,IAAA,SAAAC,EAAAR,EAAAd,EAAAoB,EAAAC,GAAA,IAAAE,EAAAzB,EAAAL,EAAAqB,GAAArB,EAAAO,GAAA,aAAAuB,EAAAtB,KAAA,KAAAuB,EAAAD,EAAAvB,IAAA5B,EAAAoD,EAAApD,MAAA,OAAAA,GAAA,iBAAAA,GAAAN,EAAAoC,KAAA9B,EAAA,WAAA6C,EAAAG,QAAAhD,EAAAqD,SAAAC,MAAA,SAAAtD,GAAAkD,EAAA,OAAAlD,EAAAgD,EAAAC,MAAA,SAAApC,GAAAqC,EAAA,QAAArC,EAAAmC,EAAAC,MAAAJ,EAAAG,QAAAhD,GAAAsD,MAAA,SAAAC,GAAAH,EAAApD,MAAAuD,EAAAP,EAAAI,MAAA,SAAAI,GAAA,OAAAN,EAAA,QAAAM,EAAAR,EAAAC,QAAAE,EAAAvB,KAAAsB,CAAAR,EAAAd,EAAAoB,EAAAC,MAAA,OAAAH,MAAAQ,KAAAP,YAAA,SAAAtB,EAAAV,EAAAE,EAAAM,GAAA,IAAAkC,EAAA,iCAAAf,EAAAd,GAAA,iBAAA6B,EAAA,UAAAC,MAAA,iDAAAD,EAAA,cAAAf,EAAA,MAAAd,EAAA,OAAA+B,IAAA,IAAApC,EAAAmB,SAAAnB,EAAAK,QAAA,KAAAgC,EAAArC,EAAAqC,SAAA,GAAAA,EAAA,KAAAC,EAAAC,EAAAF,EAAArC,GAAA,GAAAsC,EAAA,IAAAA,IAAA9B,EAAA,gBAAA8B,GAAA,YAAAtC,EAAAmB,OAAAnB,EAAAwC,KAAAxC,EAAAyC,MAAAzC,EAAAK,SAAA,aAAAL,EAAAmB,OAAA,uBAAAe,EAAA,MAAAA,EAAA,YAAAlC,EAAAK,IAAAL,EAAA0C,kBAAA1C,EAAAK,SAAA,WAAAL,EAAAmB,QAAAnB,EAAA2C,OAAA,SAAA3C,EAAAK,KAAA6B,EAAA,gBAAAN,EAAAzB,EAAAX,EAAAE,EAAAM,GAAA,cAAA4B,EAAAtB,KAAA,IAAA4B,EAAAlC,EAAA4C,KAAA,6BAAAhB,EAAAvB,MAAAG,EAAA,gBAAA/B,MAAAmD,EAAAvB,IAAAuC,KAAA5C,EAAA4C,MAAA,UAAAhB,EAAAtB,OAAA4B,EAAA,YAAAlC,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAuB,EAAAvB,OAAA,SAAAkC,EAAAF,EAAArC,GAAA,IAAA6C,EAAA7C,EAAAmB,SAAAkB,EAAAxD,SAAAgE,GAAA,QAAAC,IAAA3B,EAAA,OAAAnB,EAAAqC,SAAA,eAAAQ,GAAAR,EAAAxD,SAAAkE,SAAA/C,EAAAmB,OAAA,SAAAnB,EAAAK,SAAAyC,EAAAP,EAAAF,EAAArC,GAAA,UAAAA,EAAAmB,SAAA,WAAA0B,IAAA7C,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAH,EAAA,aAAArC,EAAA,IAAAoB,EAAAzB,EAAAgB,EAAAkB,EAAAxD,SAAAmB,EAAAK,KAAA,aAAAuB,EAAAtB,KAAA,OAAAN,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAuB,EAAAvB,IAAAL,EAAAqC,SAAA,KAAA7B,EAAA,IAAAyC,EAAArB,EAAAvB,IAAA,OAAA4C,IAAAL,MAAA5C,EAAAqC,EAAAa,YAAAD,EAAAxE,MAAAuB,EAAAmD,KAAAd,EAAAe,QAAA,WAAApD,EAAAmB,SAAAnB,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAyC,GAAA9C,EAAAqC,SAAA,KAAA7B,GAAAyC,GAAAjD,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAhD,EAAAqC,SAAA,KAAA7B,GAAA,SAAA6C,EAAAC,GAAA,IAAAC,EAAA,CAAAC,OAAAF,EAAA,SAAAA,IAAAC,EAAAE,SAAAH,EAAA,SAAAA,IAAAC,EAAAG,WAAAJ,EAAA,GAAAC,EAAAI,SAAAL,EAAA,SAAAM,WAAAC,KAAAN,GAAA,SAAAO,EAAAP,GAAA,IAAA3B,EAAA2B,EAAAQ,YAAA,GAAAnC,EAAAtB,KAAA,gBAAAsB,EAAAvB,IAAAkD,EAAAQ,WAAAnC,EAAA,SAAA3B,EAAAN,GAAA,KAAAiE,WAAA,EAAAJ,OAAA,SAAA7D,EAAAuB,QAAAmC,EAAA,WAAAW,OAAA,YAAAjD,EAAAkD,GAAA,GAAAA,EAAA,KAAAC,EAAAD,EAAArF,GAAA,GAAAsF,EAAA,OAAAA,EAAA3D,KAAA0D,GAAA,sBAAAA,EAAAd,KAAA,OAAAc,EAAA,IAAAE,MAAAF,EAAAG,QAAA,KAAAC,GAAA,EAAAlB,EAAA,SAAAA,IAAA,OAAAkB,EAAAJ,EAAAG,QAAA,GAAAjG,EAAAoC,KAAA0D,EAAAI,GAAA,OAAAlB,EAAA1E,MAAAwF,EAAAI,GAAAlB,EAAAP,MAAA,EAAAO,EAAA,OAAAA,EAAA1E,WAAAqE,EAAAK,EAAAP,MAAA,EAAAO,GAAA,OAAAA,UAAA,OAAAA,KAAAf,GAAA,SAAAA,IAAA,OAAA3D,WAAAqE,EAAAF,MAAA,UAAAnC,EAAAvC,UAAAwC,EAAArC,EAAA2C,EAAA,eAAAvC,MAAAiC,EAAAtB,cAAA,IAAAf,EAAAqC,EAAA,eAAAjC,MAAAgC,EAAArB,cAAA,IAAAqB,EAAA6D,YAAApF,EAAAwB,EAAA1B,EAAA,qBAAAjB,EAAAwG,oBAAA,SAAAC,GAAA,IAAAC,EAAA,mBAAAD,KAAAE,YAAA,QAAAD,QAAAhE,GAAA,uBAAAgE,EAAAH,aAAAG,EAAAE,QAAA5G,EAAA6G,KAAA,SAAAJ,GAAA,OAAAvG,OAAA4G,eAAA5G,OAAA4G,eAAAL,EAAA9D,IAAA8D,EAAAM,UAAApE,EAAAxB,EAAAsF,EAAAxF,EAAA,sBAAAwF,EAAAtG,UAAAD,OAAA8B,OAAAiB,GAAAwD,GAAAzG,EAAAgH,MAAA,SAAA1E,GAAA,OAAAyB,QAAAzB,IAAAY,EAAAI,EAAAnD,WAAAgB,EAAAmC,EAAAnD,UAAAY,GAAA,0BAAAf,EAAAsD,gBAAAtD,EAAAiH,MAAA,SAAAxF,EAAAC,EAAAC,EAAAC,EAAA2B,QAAA,IAAAA,MAAA2D,SAAA,IAAAC,EAAA,IAAA7D,EAAA9B,EAAAC,EAAAC,EAAAC,EAAAC,GAAA2B,GAAA,OAAAvD,EAAAwG,oBAAA9E,GAAAyF,IAAA/B,OAAApB,MAAA,SAAAF,GAAA,OAAAA,EAAAe,KAAAf,EAAApD,MAAAyG,EAAA/B,WAAAlC,EAAAD,GAAA9B,EAAA8B,EAAAhC,EAAA,aAAAE,EAAA8B,EAAApC,GAAA,0BAAAM,EAAA8B,EAAA,qDAAAjD,EAAAoH,KAAA,SAAAC,GAAA,IAAAC,EAAApH,OAAAmH,GAAAD,EAAA,WAAA5G,KAAA8G,EAAAF,EAAAtB,KAAAtF,GAAA,OAAA4G,EAAAG,UAAA,SAAAnC,IAAA,KAAAgC,EAAAf,QAAA,KAAA7F,EAAA4G,EAAAI,MAAA,GAAAhH,KAAA8G,EAAA,OAAAlC,EAAA1E,MAAAF,EAAA4E,EAAAP,MAAA,EAAAO,EAAA,OAAAA,EAAAP,MAAA,EAAAO,IAAApF,EAAAgD,SAAAd,EAAA/B,UAAA,CAAAwG,YAAAzE,EAAA+D,MAAA,SAAAwB,GAAA,QAAAC,KAAA,OAAAtC,KAAA,OAAAX,KAAA,KAAAC,WAAAK,EAAA,KAAAF,MAAA,OAAAP,SAAA,UAAAlB,OAAA,YAAAd,SAAAyC,EAAA,KAAAc,WAAA1C,QAAA4C,IAAA0B,EAAA,QAAAb,KAAA,WAAAA,EAAAe,OAAA,IAAAvH,EAAAoC,KAAA,KAAAoE,KAAAR,OAAAQ,EAAAgB,MAAA,WAAAhB,QAAA7B,IAAA8C,KAAA,gBAAAhD,MAAA,MAAAiD,EAAA,KAAAjC,WAAA,GAAAG,WAAA,aAAA8B,EAAAvF,KAAA,MAAAuF,EAAAxF,IAAA,YAAAyF,MAAApD,kBAAA,SAAAqD,GAAA,QAAAnD,KAAA,MAAAmD,EAAA,IAAA/F,EAAA,cAAAgG,EAAAC,EAAAC,GAAA,OAAAtE,EAAAtB,KAAA,QAAAsB,EAAAvB,IAAA0F,EAAA/F,EAAAmD,KAAA8C,EAAAC,IAAAlG,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAyC,KAAAoD,EAAA,QAAA7B,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAAzC,EAAA2B,EAAAQ,WAAA,YAAAR,EAAAC,OAAA,OAAAwC,EAAA,UAAAzC,EAAAC,QAAA,KAAAiC,KAAA,KAAAU,EAAAhI,EAAAoC,KAAAgD,EAAA,YAAA6C,EAAAjI,EAAAoC,KAAAgD,EAAA,iBAAA4C,GAAAC,EAAA,SAAAX,KAAAlC,EAAAE,SAAA,OAAAuC,EAAAzC,EAAAE,UAAA,WAAAgC,KAAAlC,EAAAG,WAAA,OAAAsC,EAAAzC,EAAAG,iBAAA,GAAAyC,GAAA,QAAAV,KAAAlC,EAAAE,SAAA,OAAAuC,EAAAzC,EAAAE,UAAA,YAAA2C,EAAA,UAAAjE,MAAA,kDAAAsD,KAAAlC,EAAAG,WAAA,OAAAsC,EAAAzC,EAAAG,gBAAAf,OAAA,SAAArC,EAAAD,GAAA,QAAAgE,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,QAAA,KAAAiC,MAAAtH,EAAAoC,KAAAgD,EAAA,oBAAAkC,KAAAlC,EAAAG,WAAA,KAAA2C,EAAA9C,EAAA,OAAA8C,IAAA,UAAA/F,GAAA,aAAAA,IAAA+F,EAAA7C,QAAAnD,MAAAgG,EAAA3C,aAAA2C,EAAA,UAAAzE,EAAAyE,IAAAtC,WAAA,UAAAnC,EAAAtB,OAAAsB,EAAAvB,MAAAgG,GAAA,KAAAlF,OAAA,YAAAgC,KAAAkD,EAAA3C,WAAAlD,GAAA,KAAA8F,SAAA1E,IAAA0E,SAAA,SAAA1E,EAAA+B,GAAA,aAAA/B,EAAAtB,KAAA,MAAAsB,EAAAvB,IAAA,gBAAAuB,EAAAtB,MAAA,aAAAsB,EAAAtB,KAAA,KAAA6C,KAAAvB,EAAAvB,IAAA,WAAAuB,EAAAtB,MAAA,KAAAwF,KAAA,KAAAzF,IAAAuB,EAAAvB,IAAA,KAAAc,OAAA,cAAAgC,KAAA,kBAAAvB,EAAAtB,MAAAqD,IAAA,KAAAR,KAAAQ,GAAAnD,GAAA+F,OAAA,SAAA7C,GAAA,QAAAW,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAG,eAAA,YAAA4C,SAAA/C,EAAAQ,WAAAR,EAAAI,UAAAG,EAAAP,GAAA/C,IAAAgG,MAAA,SAAAhD,GAAA,QAAAa,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,WAAA,KAAA5B,EAAA2B,EAAAQ,WAAA,aAAAnC,EAAAtB,KAAA,KAAAmG,EAAA7E,EAAAvB,IAAAyD,EAAAP,GAAA,OAAAkD,GAAA,UAAAtE,MAAA,0BAAAuE,cAAA,SAAAzC,EAAAf,EAAAE,GAAA,YAAAf,SAAA,CAAAxD,SAAAkC,EAAAkD,GAAAf,aAAAE,WAAA,cAAAjC,SAAA,KAAAd,SAAAyC,GAAAtC,IAAAzC,EAymBeyU,sBACX7L,aAAQ,SAACzE,GAAK,MAAM,CAChBuQ,SAAUvQ,EAAMwQ,SAASD,SACzBE,gBAAiBzQ,EAAM0Q,QAAQD,oBAC/B,SAAC5L,GAAQ,MAAM,CACfC,eAAgBC,YAAmBD,EAAgBD,GACnD8L,gBAAiB5L,YAAmB6L,EAAiB/L,OACpDgM,IAllBM,CACXC,SAAU,CACNC,QAAS,OACTC,WAAY,UAEhBC,eAAgB,CACZ,UAAW,CACPC,QAAS,oBAGjBC,UAAW,CACPC,SAAU,IACVC,aAAc,WACdC,SAAU,SACVC,UAAW,UA6jBJjB,EAzjBE,SAACkB,GAAW,IAADC,EAChBlB,EAAiDiB,EAAjDjB,SAAUE,EAAuCe,EAAvCf,gBAAiBiB,EAAsBF,EAAtBE,QAASvM,EAAaqM,EAAbrM,SAEtC0E,EAAWvB,IAAOwB,UAAY,KAKpC1E,EAAsCC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAA9CuM,EAAWrM,EAAA,GAAEsM,EAActM,EAAA,GAClCI,EAAsDL,oBAAS,GAAMQ,EAAAN,YAAAG,EAAA,GAA9DmM,EAAmBhM,EAAA,GAAEiM,EAAsBjM,EAAA,GAClDG,EAAoDX,oBAAS,GAAMY,EAAAV,YAAAS,EAAA,GAA5D+L,EAAkB9L,EAAA,GAAE+L,EAAqB/L,EAAA,GAChDG,EAAsCf,mBAAS,GAAEgB,EAAAd,YAAAa,EAAA,GAA1C6L,EAAW5L,EAAA,GAAE6L,EAAc7L,EAAA,GAClCG,EAAkDnB,oBAAS,GAAMoB,EAAAlB,YAAAiB,EAAA,GAA1D2L,EAAiB1L,EAAA,GAAE2L,EAAoB3L,EAAA,GAC9CG,EAAkDvB,oBAAS,GAAMwB,EAAAtB,YAAAqB,EAAA,GAA1DyL,EAAiBxL,EAAA,GAAEyL,EAAoBzL,EAAA,GAC9CG,EAAkC3B,mBAAS,CACvCkN,KAAK,GACLC,QAAS,OACXvL,EAAA1B,YAAAyB,EAAA,GAHKyL,EAASxL,EAAA,GAAEyL,GAAYzL,EAAA,GAI9BG,GAAwC/B,mBAAS,CAC7CsN,SAAU,GACVvI,WAAY,GACZwI,YAAa,OACfvL,GAAA9B,YAAA6B,GAAA,GAJKyL,GAAYxL,GAAA,GAAEyL,GAAezL,GAAA,GAKpCG,GAAgDnC,mBAAS,CACrDM,KAAM,GACNC,MAAO,IACT6B,GAAAlC,YAAAiC,GAAA,GAHK1B,GAAgB2B,GAAA,GAAE1B,GAAmB0B,GAAA,GAI5CG,GAAkCvC,mBAAS,CAvB1B,KACF,OAsB+CwC,GAAAtC,YAAAqC,GAAA,GAAvDmL,GAASlL,GAAA,GAAEmL,GAAYnL,GAAA,GAGxBoL,GAAmBhL,iBAAO,CAC5BsB,MAAO,GACPD,KAAM,IAEJ4J,GAAqBjL,iBAAO,CAC9BwC,KAAM,aACN0I,MAAO,KACPC,OAAQ,GACRC,UAAW,GACX/J,KAAM,EACNC,MAAO,KAEL+J,GAAoBrL,iBAAO,CAC7BgC,SAvCa,KAwCbC,OAvCW,OA0Cf7B,qBAAU,WACNkL,KACKtB,GACLlJ,OAED,CAACkJ,IAKJ5J,qBAAU,WAAO,IAADmL,EACgCC,EAAxCtO,IAA0B,QAAlBqO,EAAIrO,EAASnF,aAAK,IAAAwT,OAAA,EAAdA,EAAgBE,aAC5BvK,GAAU,OAAQ,CAACQ,UAAyB,QAAhB8J,EAAEtO,EAASnF,aAAK,IAAAyT,OAAA,EAAdA,EAAgBC,eAGnD,CAACvO,IAKJ,IAAM4D,GAAW,WACb,IAAQ6J,EAA4BC,GAA5BD,YAAaxI,EAAeyI,GAAfzI,WACrBuJ,EAA6BL,GAAkBpK,QAAvCe,EAAQ0J,EAAR1J,SAAUC,EAAMyJ,EAANzJ,OAClB0J,EAAwBX,GAAiB/J,QAAjCI,EAAIsK,EAAJtK,KAAMC,EAAKqK,EAALrK,MACRT,EAAS,CACXN,OAtEO,WAuEPyB,WACAC,SACAE,aACAwI,cACA/I,WACAP,OACAC,SAEJqI,GAAe,GACfJ,EAAMb,gBAAgB5H,SAASD,GAAQ,SAAC/I,GAEpC,GADA6R,GAAe,GACX7R,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,MASb4K,GAAmB,SAACC,GACtB,IAAAiJ,EAAyDX,GAAmBhK,QAApEkK,EAAMS,EAANT,OAAQ3I,EAAIoJ,EAAJpJ,KAAMnB,EAAIuK,EAAJvK,KAAMC,EAAKsK,EAALtK,MAAkBC,EAAMqK,EAAjBR,UAC7BxI,EAAQ,CACVuI,SACA3I,OACAjC,OAlGO,WAmGPqB,WACAP,OACAC,QACAC,UAEJwI,GAAsB,GACtBR,EAAM1M,eAAeiG,gBAAgBF,GAAO,SAAC9K,EAAO2I,GAEhD,GADAsJ,GAAsB,GAClBjS,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEN,GAAI2I,EAAM,CACX,IAAM/C,GAAW,OAAJ+C,QAAI,IAAJA,OAAI,EAAJA,EAAM/C,MAAO+C,EAAK/C,KAAO+C,EAChC9C,GAAY,OAAJ8C,QAAI,IAAJA,OAAI,EAAJA,EAAM9C,OAAQ8C,EAAK9C,MAAQ8C,EAAKxG,OAC9C6D,GAAoB,CAChBJ,KAAMiF,EAAUjF,EAAOG,GAAiBH,KAAKsF,OAAOtF,GACpDC,eA2BV2N,GAAiBO,uBAAY,WAC/BtC,EAAM1M,eAAeiP,cAAc,YAAY,SAACC,GAC5C9B,EAAe8B,QAEpB,CAACxC,EAAM1M,iBAOJqE,GAAY,SAACoJ,EAAMC,GACrBE,GAAa,CACTH,OACAC,YAEQ,YAATD,EAAoBD,GAAqB,GACvCF,GAAqB,IAOxB6B,GAAe,WAAqB,IAApBC,EAAMtK,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,IAAAA,UAAA,GACrBsK,GAAQnL,KACXqJ,GAAqB,GACrBE,GAAqB,GACrBI,GAAa,CACTH,KAAK,GACLC,QAAS,QAuCX2B,GAAW,eAAAC,EAAAhJ,YAAAxP,IAAA8G,MAAG,SAAA2R,EAAO3L,GAAI,IAAAiB,EAAA2K,EAAAC,EAAAC,EAAAC,EAAA,OAAA7Y,IAAAyB,MAAA,SAAAqX,GAAA,cAAAA,EAAAnR,KAAAmR,EAAAzT,MAAA,UACvByH,EAAK,CAADgM,EAAAzT,KAAA,eAAAyT,EAAAjU,OAAA,UAAS,GAAK,OACe,GAA7BkJ,EAAkCjB,EAAlCiB,UAAW2K,EAAuB5L,EAAvB4L,YAAaC,EAAU7L,EAAV6L,OAC5B5K,EAAU,CAAD+K,EAAAzT,KAAA,SAsB6B,OAThCuT,EAAU,CACZ9L,KAZU,CACV4L,cACAC,SAWAI,SAPa,CACbL,YAAa,YACbC,MAAO,WAMPK,OAAQ,EACRC,SAAU,MACVC,cAzOG,WA0OHC,QAASpL,EACTqL,gBAAiB1M,IAAOgE,KAAK,sBAE3BmI,EAAU,IAAIQ,UAAQT,GAAUE,EAAAzT,KAAA,GAChCwT,EAAQS,OAAM,QAAAR,EAAAzT,KAAA,iBAGpBqH,IAAO6M,OAAO3K,KAAK,QAASlC,IAAOgE,KAAK,gCAAiC,KAAM,yBAAAoI,EAAAhR,UAAA2Q,OAGtF,gBAhCgBe,GAAA,OAAAhB,EAAAxI,MAAA,KAAAhC,YAAA,GAuCXyL,GAAe,WAAyB,IAAxBC,EAAU1L,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GAAIX,EAACW,UAAA1H,OAAA,EAAA0H,UAAA,QAAAhJ,EACpC,GAAKqI,EAAL,CACA,IAAI1M,EAAQoM,IAAEC,IAAIK,EAAG,QAASN,IAAEC,IAAIK,EAAG,eAAgB,KACvD,OAAQqM,GACJ,IAAK,cACDxC,GAAehI,wBAAC,GAAK+H,IAAY,GAAA0C,YAAA,GAAGD,EAAc/Y,GAAmB,IAAVA,EAAeA,EAAQ,QAClF,MACJ,IAAK,aACDuW,GAAehI,wBAAC,GAAK+H,IAAY,GAAA0C,YAAA,GAAGD,EAAc/Y,GAAmB,IAAVA,EAAeA,EAAQ,MAClF,MACJ,IAAK,cACD,IAAM0N,EAAWtB,IAAE6M,QAAQjZ,GAASA,EAAM,GAAKA,EACzC2N,EAASvB,IAAE6M,QAAQjZ,GAASA,EAAM,GAAKA,EAC7C+W,GAAkBpK,QAAU,CACxBe,WACAC,UAEJ8I,GAAa,CAAC/I,EAAUC,OAU9B2B,GAAmB,YAzJA,WACrB,IAAM/C,EAAS,CACXN,OAAQ,WACRqB,YAEJiI,GAAuB,GACvBN,EAAM1M,eAAe2L,gBAAgB3H,GAAQ,SAAC1L,GAC1C0U,GAAuB,GACnB1U,GACAkL,IAAOiC,MAAMC,KAAK,QAASpN,MAiJnC0O,GACAnB,MA+NJ,OAAKsH,EAEDjG,IAAAC,cAACD,IAAME,SAAQ,KACXF,IAAAC,cAAA,OAAKqB,UAAW,UAzNhBtB,IAAAC,cAACqC,UAAM,CACHmH,aAAa,EACbC,kBAAkB,EAClB/G,YAAarG,IAAOgE,KAAK,yBACzBsC,aAAc/C,GACdgD,aAAc,WACV,OACI7C,IAAAC,cAAAD,IAAAE,SAAA,KACIF,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACe,MAAO,CAAEoI,UAAW,IAAMlJ,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IACvD7J,IAAAC,cAAC6J,WAAQ,CACLC,WAAS,EACTxI,MAAO,CAAEyI,OAAQ,GACjBlJ,WAAYnE,IAAEC,IAAI9C,GAAkB,OAAQ,IAC5CF,MAAO+C,IAAEC,IAAI9C,GAAkB,QAAS,GACxCwD,KAAM4J,GAAmBhK,QAAQI,KACjCC,MAAO2J,GAAmBhK,QAAQK,MAClChN,MAAOsW,GAAazI,WACpBwC,QAASmF,EACTkE,SAAU,WACVhH,UAAW,aACXiH,mBAAoB,eACpBC,gBAAiB,IAEjB9I,MAAO/E,IAAOgE,KAAK,aACnBqC,YAAarG,IAAOgE,KAAK,QACzB0C,YAAa,gCACboH,SAAU,SAACnN,GAAC,OAAKoM,GAAa,aAAcpM,IAC5CoN,QAAS,SAACpN,GACNiK,GAAmBhK,QAAQmK,UAAYpK,EAAEwG,OAAOlT,MAChD2W,GAAmBhK,QAAQI,KAAO,EAClCqB,IAAiB,IAErB+E,WAAY,SAACzG,GACTiK,GAAmBhK,QAAQI,KAAOL,EAAEK,KACpC4J,GAAmBhK,QAAQK,MAAQN,EAAEM,MACrCoB,SAIZqB,IAAAC,cAACO,IAAG,CAACe,MAAO,CAAEoI,UAAW,IAAMlJ,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IACvD7J,IAAAC,cAAC6J,WAAQ,CACLC,WAAS,EACTxI,MAAO,CAAEyI,OAAQ,GACjBC,SAAU,WACVhH,UAAW,cACXD,YAAa,gBACbL,YAAarG,IAAOgE,KAAK,QACzBe,MAAO/E,IAAOgE,KAAK,cACnB8J,SAAU,SAAAnN,GAAC,OAAIoM,GAAa,cAAepM,IAC3C6D,WAAY2D,EACZ7D,QAASiF,EACTtV,MAAOsW,GAAaD,eAG5B5G,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IAC7B7J,IAAAC,cAAA,QAAMqB,UAAWoE,EAAQT,gBACrBjF,IAAAC,cAACqK,kBAAe,CACZC,UAAQ,EACRR,WAAS,EACTxZ,MAAOwW,GACPxF,MAAO,CAAEuB,aAAc,GACvBmH,SAAU,WACV5I,MAAO/E,IAAOgE,KAAK,YACnB8J,SAAU,SAAAnN,GAAC,OAAIoM,GAAa,cAAepM,IAC3C0F,YAAa,sBACb6H,aAAc,mBAMlCxK,IAAAC,cAAA,OAAKsB,MAAO,CAAEwD,QAAS,OAAQ0F,eAAgB,WAC3CzK,IAAAC,cAACyK,SAAM,CACH1L,KAAM,SACN6C,MAAO,UACPoI,SAAU,WACV5I,MAAO/E,IAAOgE,KAAK,YACnBqK,UAAW,SACXvG,QAASrH,WA0IjCiD,IAAAC,cAACG,UAAa,CAACC,MAAO/D,IAAOgE,KAAK,sBAC9BN,IAAAC,cAACyK,SAAM,CACHE,WAAY3E,EAAc,GAC1BjH,KAAM,SACN6C,MAAO,UACP8I,UAAW,YACXV,SAAU,SACV5I,MAAO/E,IAAOgE,KAAK,QACnBiB,MAAO,CAACsJ,cAAe,aACvBzG,QAAS,kBAAMjH,GAAU,WAGjC6C,IAAAC,cAAC6K,UAAa,CACVC,YAAa9D,GAAiB/J,QAAQK,MACtCyN,YAAa/D,GAAiB/J,QAAQI,KACtC2N,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,mBAAmB,EACnBC,mBAAmB,EACnBC,WAAY,SACZC,WAAYjP,IAAOgE,KAAK,WACxBmB,OAAQnF,IAAOkP,gBACfjK,MAAO,CAAEkK,OAAQ,QACjB7K,QAAS+E,EACT+F,WAAY/O,IAAEC,IAAI2H,EAAU,QAAS,GACrCzD,WAAYnE,IAAEC,IAAI2H,EAAU,OAAQ,IACpC9H,QAAS,YACTkP,QAAS,CAAEC,MAAO,CAAEC,qBAAsB,KAC1CC,cAAe,SAAC7O,GACTgJ,GAAe,GAClB9I,GAAU,OAAS,OAADF,QAAC,IAADA,OAAC,EAADA,EAAGP,OAEzBqP,aA5Fa,SAACC,GACtB/E,GAAiB/J,QAAQI,KAAO0O,EAAO/E,GAAiB/J,QAAQK,MAChER,MA2FQkP,gBApFY,SAACC,GACrBjF,GAAiB/J,QAAQI,KAAO,EAChC2J,GAAiB/J,QAAQK,MAAQ2O,EACjCnP,OAmFQiD,IAAAC,cAACkM,SAAM,CAACC,WA/JK,SAACnP,GAAO,IAADoP,EAAAC,EAAAC,EACpB7P,EAASO,EAAEuP,IAAX9P,KACR+P,EAA4B/P,EAApBgQ,kBAAU,IAAAD,EAAG,GAAEA,EACjBE,EAAOrQ,IAAOsQ,QAAQ,CAACC,OAAOnQ,EAAKoQ,eACzC,OACI9M,IAAAC,cAAA,OAAKqB,UAAW,uCACXC,MAAO,CAACC,MAAM,SAEfxB,IAAAC,cAAC8M,SAAM,CACHhD,WAAW,EACXvI,MAAO,GACPC,OAAQ,GACRK,UAAQ,EACRpF,MAAI2P,EAAC,GAAD9C,YAAA8C,EACC/P,IAAOgE,KAAK,aAAY,GAAArB,OAAS,OAAJ0N,QAAI,IAAJA,OAAI,EAAJA,EAAMvO,WAAU,OAAAa,OAAU,OAAJ0N,QAAI,IAAJA,OAAI,EAAJA,EAAMpJ,eAAYgG,YAAA8C,EACrE/P,IAAOgE,KAAK,aAAkB,OAAJqM,QAAI,IAAJA,OAAI,EAAJA,EAAMK,gBAAczD,YAAA8C,EAC9C/P,IAAOgE,KAAK,gBAAiBhE,IAAO2Q,YAAgB,OAAJN,QAAI,IAAJA,OAAI,EAAJA,EAAMO,WAAW,GAAG,MAAIb,GAE7Ec,WAAS,EACTC,KAAS,OAAJT,QAAI,IAAJA,OAAI,EAAJA,EAAMU,iBAAkB,KAEjCrN,IAAAC,cAAA,OAAKqB,UAAW,SACZtB,IAAAC,cAACqN,aAAU,CAAClb,KAAM,MACT,OAAJua,QAAI,IAAJA,OAAI,EAAJA,EAAMpJ,cAEXvD,IAAAC,cAAA,OAAKqB,UAAW,iCACZtB,IAAAC,cAACsN,cAAW,CACR9L,OAAQ,GACR+L,SAAO,EACPhM,MAAO,KAEXxB,IAAAC,cAACqN,aAAU,CAAClb,KAAM,KACNmP,MAAO,CAAEkM,YAAa,GACtB5L,MAAuB,QAAlByK,EAAEhQ,IAAOoR,iBAAS,IAAApB,GAAQ,QAARC,EAAhBD,EAAkBqB,cAAM,IAAApB,OAAR,EAAhBA,EAA0B5J,aACxCrG,IAAO2Q,YAAYP,EAAY,GAAI,yBA6HVlL,MAAO,MAC7CxB,IAAAC,cAACkM,SAAM,CAACC,WAjHD,SAACnP,GAChB,IAAQP,EAASO,EAAEuP,IAAX9P,KACFkR,EAAU5N,IAAAC,cAAA,OAAKqB,UAAWoE,EAAQP,UAAW0I,wBAAyB,CAAEC,OAAQpR,EAAKyI,aAC3F,OAAOnF,IAAAC,cAAC8N,UAAO,CAAC1N,MAAOuN,GAAUA,IA8GOI,SAAUtI,EAAQuI,WAClDjO,IAAAC,cAACkM,SAAM,CAACC,WAvGC,SAAH8B,GAAA,IAAKxR,EAAIwR,EAAJxR,KAAI,OAAMsD,IAAAC,cAACkO,UAAM,CAACzR,KAAMA,KAuGD0R,UAAW,SAAU5M,MAAO,MAC9DxB,IAAAC,cAACkM,SAAM,CAACC,WA9EC,SAACnP,GAClB,IAAOP,EAAQO,EAAEuP,IAAV9P,KACP,OACIsD,IAAAC,cAAA,OAAKqB,UAAW,2BAA4BC,MAAO,CAAC8M,KAAK,IACrDrO,IAAAC,cAACqO,aAAU,CACPtP,KAAM,QACNvI,KAAM,UACNwT,SAAU,OACVuD,SAAO,EACPe,UAAQ,EACR3D,WAAY3E,EAAc,GAC1B7B,QAAS,eAAAoK,EAAA,OAAMrR,GAAU,UAAgB,QAAPqR,EAAEvR,EAAEuP,WAAG,IAAAgC,OAAA,EAALA,EAAO9R,SAE/CsD,IAAAC,cAACqO,aAAU,CACPtP,KAAM,QACN4L,WAAY3E,EAAc,GAC1BxP,KAAM,OACNwT,SAAU,OACVuD,SAAO,EACPe,UAAQ,EACRnK,QAAS,eAAAqK,EAAA,OAAMtR,GAAU,OAAa,QAAPsR,EAAExR,EAAEuP,WAAG,IAAAiC,OAAA,EAALA,EAAO/R,SAE5CsD,IAAAC,cAACqO,aAAU,CACPtP,KAAM,QACN4L,WAAY3E,EAAc,GAAmC,IAA9ByI,OAAW,OAAJhS,QAAI,IAAJA,OAAI,EAAJA,EAAMkK,cAC5CnQ,KAAM,SACNwT,SAAU,OACVuD,SAAO,EACPe,UAAQ,EACRnK,QAAS,kBA3TR,SAAAnH,GACb,IAAQP,EAASO,EAATP,KACRJ,IAAOiC,MAAMC,KAAK,SAAUlC,IAAOgE,KAAK,0CAA0C,WAC9ElB,YAAAxP,IAAA8G,MAAC,SAAAiY,IAAA,IAAA7R,EAAA,OAAAlN,IAAAyB,MAAA,SAAAud,GAAA,cAAAA,EAAArX,KAAAqX,EAAA3Z,MAAA,OACS6H,EAAS,CACXN,OA3LD,WA4LCqB,WACAF,UAAWhB,IAAEC,IAAIF,EAAM,YAAa,KAExCkJ,GAAe,GACfJ,EAAMb,gBAAgBkK,cAAc/R,EAAM,eAAAqC,EAAAC,YAAAxP,IAAA8G,MAAE,SAAA2I,EAAMtL,GAAK,OAAAnE,IAAAyB,MAAA,SAAAoO,GAAA,cAAAA,EAAAlI,KAAAkI,EAAAxK,MAAA,OAC7B,GAAtB2Q,GAAe,IACX7R,EAAM,CAAD0L,EAAAxK,KAAA,QACLqH,IAAOiC,MAAMC,KAAK,QAASzK,GAAO0L,EAAAxK,KAAA,sBAAAwK,EAAAxK,KAAA,EAE5BkT,GAAYzL,GAAM,KAAD,EAEvBJ,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,kBAAmB,KAC7DvD,KAAW,wBAAA0C,EAAA/H,UAAA2H,OAElB,gBAAAyP,GAAA,OAAA3P,EAAAS,MAAA,KAAAhC,YAVyC,IAUvC,wBAAAgR,EAAAlX,UAAAiX,MAjBPvP,MAwTuB2P,CAAS9R,QAiDMuE,MAAO,OAE5C2E,GACGnG,IAAAC,cAAC+O,UAAQ,CACLtS,KAAM,CACF6J,KAAME,EAAUF,KAChBC,QAASC,EAAUD,SAEvBP,YAAaA,EACbgJ,KAAM9I,EACN+I,QAAS,SAAAC,GAAQ,OAAIlH,GAAakH,MAGzC9I,GACGrG,IAAAC,cAACmP,UAAQ,CAACH,KAAM5I,EAAmB6I,QAASjH,GAClCzL,OAAO,WAAWuM,QAA0B,QAAnBtD,EAAEgB,EAAUD,eAAO,IAAAf,OAAA,EAAjBA,EAAmB9H,aA1D3C,S,yVCziB7B/N,EAAA,kBAAAC,GAAA,IAAAA,EAAA,GAAAC,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAI,gBAAA,SAAAC,EAAAC,EAAAC,GAAAF,EAAAC,GAAAC,EAAAC,OAAAC,EAAA,mBAAAC,cAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAAC,EAAAZ,EAAAC,EAAAE,GAAA,OAAAR,OAAAI,eAAAC,EAAAC,EAAA,CAAAE,QAAAU,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAf,EAAAC,GAAA,IAAAW,EAAA,aAAAI,GAAAJ,EAAA,SAAAZ,EAAAC,EAAAE,GAAA,OAAAH,EAAAC,GAAAE,GAAA,SAAAc,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,KAAAvB,qBAAA2B,EAAAJ,EAAAI,EAAAC,EAAA7B,OAAA8B,OAAAH,EAAA1B,WAAA8B,EAAA,IAAAC,EAAAN,GAAA,WAAAtB,EAAAyB,EAAA,WAAArB,MAAAyB,EAAAV,EAAAE,EAAAM,KAAAF,EAAA,SAAAK,EAAAC,EAAA9B,EAAA+B,GAAA,WAAAC,KAAA,SAAAD,IAAAD,EAAAG,KAAAjC,EAAA+B,IAAA,MAAAf,GAAA,OAAAgB,KAAA,QAAAD,IAAAf,IAAAvB,EAAAwB,OAAA,IAAAiB,EAAA,YAAAX,KAAA,SAAAY,KAAA,SAAAC,KAAA,IAAAC,EAAA,GAAAzB,EAAAyB,EAAA/B,GAAA,8BAAAgC,EAAA3C,OAAA4C,eAAAC,EAAAF,OAAAG,EAAA,MAAAD,OAAA9C,GAAAG,EAAAoC,KAAAO,EAAAlC,KAAA+B,EAAAG,GAAA,IAAAE,EAAAN,EAAAxC,UAAA2B,EAAA3B,UAAAD,OAAA8B,OAAAY,GAAA,SAAAM,EAAA/C,GAAA,0BAAAgD,SAAA,SAAAC,GAAAjC,EAAAhB,EAAAiD,GAAA,SAAAd,GAAA,YAAAe,QAAAD,EAAAd,SAAA,SAAAgB,EAAAvB,EAAAwB,GAAA,IAAAC,EAAAlD,EAAA,gBAAAI,MAAA,SAAA0C,EAAAd,GAAA,SAAAmB,IAAA,WAAAF,GAAA,SAAAG,EAAAC,IAAA,SAAAC,EAAAR,EAAAd,EAAAoB,EAAAC,GAAA,IAAAE,EAAAzB,EAAAL,EAAAqB,GAAArB,EAAAO,GAAA,aAAAuB,EAAAtB,KAAA,KAAAuB,EAAAD,EAAAvB,IAAA5B,EAAAoD,EAAApD,MAAA,OAAAA,GAAA,iBAAAA,GAAAN,EAAAoC,KAAA9B,EAAA,WAAA6C,EAAAG,QAAAhD,EAAAqD,SAAAC,MAAA,SAAAtD,GAAAkD,EAAA,OAAAlD,EAAAgD,EAAAC,MAAA,SAAApC,GAAAqC,EAAA,QAAArC,EAAAmC,EAAAC,MAAAJ,EAAAG,QAAAhD,GAAAsD,MAAA,SAAAC,GAAAH,EAAApD,MAAAuD,EAAAP,EAAAI,MAAA,SAAAI,GAAA,OAAAN,EAAA,QAAAM,EAAAR,EAAAC,QAAAE,EAAAvB,KAAAsB,CAAAR,EAAAd,EAAAoB,EAAAC,MAAA,OAAAH,MAAAQ,KAAAP,YAAA,SAAAtB,EAAAV,EAAAE,EAAAM,GAAA,IAAAkC,EAAA,iCAAAf,EAAAd,GAAA,iBAAA6B,EAAA,UAAAC,MAAA,iDAAAD,EAAA,cAAAf,EAAA,MAAAd,EAAA,OAAA+B,IAAA,IAAApC,EAAAmB,SAAAnB,EAAAK,QAAA,KAAAgC,EAAArC,EAAAqC,SAAA,GAAAA,EAAA,KAAAC,EAAAC,EAAAF,EAAArC,GAAA,GAAAsC,EAAA,IAAAA,IAAA9B,EAAA,gBAAA8B,GAAA,YAAAtC,EAAAmB,OAAAnB,EAAAwC,KAAAxC,EAAAyC,MAAAzC,EAAAK,SAAA,aAAAL,EAAAmB,OAAA,uBAAAe,EAAA,MAAAA,EAAA,YAAAlC,EAAAK,IAAAL,EAAA0C,kBAAA1C,EAAAK,SAAA,WAAAL,EAAAmB,QAAAnB,EAAA2C,OAAA,SAAA3C,EAAAK,KAAA6B,EAAA,gBAAAN,EAAAzB,EAAAX,EAAAE,EAAAM,GAAA,cAAA4B,EAAAtB,KAAA,IAAA4B,EAAAlC,EAAA4C,KAAA,6BAAAhB,EAAAvB,MAAAG,EAAA,gBAAA/B,MAAAmD,EAAAvB,IAAAuC,KAAA5C,EAAA4C,MAAA,UAAAhB,EAAAtB,OAAA4B,EAAA,YAAAlC,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAuB,EAAAvB,OAAA,SAAAkC,EAAAF,EAAArC,GAAA,IAAA6C,EAAA7C,EAAAmB,SAAAkB,EAAAxD,SAAAgE,GAAA,QAAAC,IAAA3B,EAAA,OAAAnB,EAAAqC,SAAA,eAAAQ,GAAAR,EAAAxD,SAAAkE,SAAA/C,EAAAmB,OAAA,SAAAnB,EAAAK,SAAAyC,EAAAP,EAAAF,EAAArC,GAAA,UAAAA,EAAAmB,SAAA,WAAA0B,IAAA7C,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAH,EAAA,aAAArC,EAAA,IAAAoB,EAAAzB,EAAAgB,EAAAkB,EAAAxD,SAAAmB,EAAAK,KAAA,aAAAuB,EAAAtB,KAAA,OAAAN,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAuB,EAAAvB,IAAAL,EAAAqC,SAAA,KAAA7B,EAAA,IAAAyC,EAAArB,EAAAvB,IAAA,OAAA4C,IAAAL,MAAA5C,EAAAqC,EAAAa,YAAAD,EAAAxE,MAAAuB,EAAAmD,KAAAd,EAAAe,QAAA,WAAApD,EAAAmB,SAAAnB,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAyC,GAAA9C,EAAAqC,SAAA,KAAA7B,GAAAyC,GAAAjD,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAhD,EAAAqC,SAAA,KAAA7B,GAAA,SAAA6C,EAAAC,GAAA,IAAAC,EAAA,CAAAC,OAAAF,EAAA,SAAAA,IAAAC,EAAAE,SAAAH,EAAA,SAAAA,IAAAC,EAAAG,WAAAJ,EAAA,GAAAC,EAAAI,SAAAL,EAAA,SAAAM,WAAAC,KAAAN,GAAA,SAAAO,EAAAP,GAAA,IAAA3B,EAAA2B,EAAAQ,YAAA,GAAAnC,EAAAtB,KAAA,gBAAAsB,EAAAvB,IAAAkD,EAAAQ,WAAAnC,EAAA,SAAA3B,EAAAN,GAAA,KAAAiE,WAAA,EAAAJ,OAAA,SAAA7D,EAAAuB,QAAAmC,EAAA,WAAAW,OAAA,YAAAjD,EAAAkD,GAAA,GAAAA,EAAA,KAAAC,EAAAD,EAAArF,GAAA,GAAAsF,EAAA,OAAAA,EAAA3D,KAAA0D,GAAA,sBAAAA,EAAAd,KAAA,OAAAc,EAAA,IAAAE,MAAAF,EAAAG,QAAA,KAAAC,GAAA,EAAAlB,EAAA,SAAAA,IAAA,OAAAkB,EAAAJ,EAAAG,QAAA,GAAAjG,EAAAoC,KAAA0D,EAAAI,GAAA,OAAAlB,EAAA1E,MAAAwF,EAAAI,GAAAlB,EAAAP,MAAA,EAAAO,EAAA,OAAAA,EAAA1E,WAAAqE,EAAAK,EAAAP,MAAA,EAAAO,GAAA,OAAAA,UAAA,OAAAA,KAAAf,GAAA,SAAAA,IAAA,OAAA3D,WAAAqE,EAAAF,MAAA,UAAAnC,EAAAvC,UAAAwC,EAAArC,EAAA2C,EAAA,eAAAvC,MAAAiC,EAAAtB,cAAA,IAAAf,EAAAqC,EAAA,eAAAjC,MAAAgC,EAAArB,cAAA,IAAAqB,EAAA6D,YAAApF,EAAAwB,EAAA1B,EAAA,qBAAAjB,EAAAwG,oBAAA,SAAAC,GAAA,IAAAC,EAAA,mBAAAD,KAAAE,YAAA,QAAAD,QAAAhE,GAAA,uBAAAgE,EAAAH,aAAAG,EAAAE,QAAA5G,EAAA6G,KAAA,SAAAJ,GAAA,OAAAvG,OAAA4G,eAAA5G,OAAA4G,eAAAL,EAAA9D,IAAA8D,EAAAM,UAAApE,EAAAxB,EAAAsF,EAAAxF,EAAA,sBAAAwF,EAAAtG,UAAAD,OAAA8B,OAAAiB,GAAAwD,GAAAzG,EAAAgH,MAAA,SAAA1E,GAAA,OAAAyB,QAAAzB,IAAAY,EAAAI,EAAAnD,WAAAgB,EAAAmC,EAAAnD,UAAAY,GAAA,0BAAAf,EAAAsD,gBAAAtD,EAAAiH,MAAA,SAAAxF,EAAAC,EAAAC,EAAAC,EAAA2B,QAAA,IAAAA,MAAA2D,SAAA,IAAAC,EAAA,IAAA7D,EAAA9B,EAAAC,EAAAC,EAAAC,EAAAC,GAAA2B,GAAA,OAAAvD,EAAAwG,oBAAA9E,GAAAyF,IAAA/B,OAAApB,MAAA,SAAAF,GAAA,OAAAA,EAAAe,KAAAf,EAAApD,MAAAyG,EAAA/B,WAAAlC,EAAAD,GAAA9B,EAAA8B,EAAAhC,EAAA,aAAAE,EAAA8B,EAAApC,GAAA,0BAAAM,EAAA8B,EAAA,qDAAAjD,EAAAoH,KAAA,SAAAC,GAAA,IAAAC,EAAApH,OAAAmH,GAAAD,EAAA,WAAA5G,KAAA8G,EAAAF,EAAAtB,KAAAtF,GAAA,OAAA4G,EAAAG,UAAA,SAAAnC,IAAA,KAAAgC,EAAAf,QAAA,KAAA7F,EAAA4G,EAAAI,MAAA,GAAAhH,KAAA8G,EAAA,OAAAlC,EAAA1E,MAAAF,EAAA4E,EAAAP,MAAA,EAAAO,EAAA,OAAAA,EAAAP,MAAA,EAAAO,IAAApF,EAAAgD,SAAAd,EAAA/B,UAAA,CAAAwG,YAAAzE,EAAA+D,MAAA,SAAAwB,GAAA,QAAAC,KAAA,OAAAtC,KAAA,OAAAX,KAAA,KAAAC,WAAAK,EAAA,KAAAF,MAAA,OAAAP,SAAA,UAAAlB,OAAA,YAAAd,SAAAyC,EAAA,KAAAc,WAAA1C,QAAA4C,IAAA0B,EAAA,QAAAb,KAAA,WAAAA,EAAAe,OAAA,IAAAvH,EAAAoC,KAAA,KAAAoE,KAAAR,OAAAQ,EAAAgB,MAAA,WAAAhB,QAAA7B,IAAA8C,KAAA,gBAAAhD,MAAA,MAAAiD,EAAA,KAAAjC,WAAA,GAAAG,WAAA,aAAA8B,EAAAvF,KAAA,MAAAuF,EAAAxF,IAAA,YAAAyF,MAAApD,kBAAA,SAAAqD,GAAA,QAAAnD,KAAA,MAAAmD,EAAA,IAAA/F,EAAA,cAAAgG,EAAAC,EAAAC,GAAA,OAAAtE,EAAAtB,KAAA,QAAAsB,EAAAvB,IAAA0F,EAAA/F,EAAAmD,KAAA8C,EAAAC,IAAAlG,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAyC,KAAAoD,EAAA,QAAA7B,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAAzC,EAAA2B,EAAAQ,WAAA,YAAAR,EAAAC,OAAA,OAAAwC,EAAA,UAAAzC,EAAAC,QAAA,KAAAiC,KAAA,KAAAU,EAAAhI,EAAAoC,KAAAgD,EAAA,YAAA6C,EAAAjI,EAAAoC,KAAAgD,EAAA,iBAAA4C,GAAAC,EAAA,SAAAX,KAAAlC,EAAAE,SAAA,OAAAuC,EAAAzC,EAAAE,UAAA,WAAAgC,KAAAlC,EAAAG,WAAA,OAAAsC,EAAAzC,EAAAG,iBAAA,GAAAyC,GAAA,QAAAV,KAAAlC,EAAAE,SAAA,OAAAuC,EAAAzC,EAAAE,UAAA,YAAA2C,EAAA,UAAAjE,MAAA,kDAAAsD,KAAAlC,EAAAG,WAAA,OAAAsC,EAAAzC,EAAAG,gBAAAf,OAAA,SAAArC,EAAAD,GAAA,QAAAgE,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,QAAA,KAAAiC,MAAAtH,EAAAoC,KAAAgD,EAAA,oBAAAkC,KAAAlC,EAAAG,WAAA,KAAA2C,EAAA9C,EAAA,OAAA8C,IAAA,UAAA/F,GAAA,aAAAA,IAAA+F,EAAA7C,QAAAnD,MAAAgG,EAAA3C,aAAA2C,EAAA,UAAAzE,EAAAyE,IAAAtC,WAAA,UAAAnC,EAAAtB,OAAAsB,EAAAvB,MAAAgG,GAAA,KAAAlF,OAAA,YAAAgC,KAAAkD,EAAA3C,WAAAlD,GAAA,KAAA8F,SAAA1E,IAAA0E,SAAA,SAAA1E,EAAA+B,GAAA,aAAA/B,EAAAtB,KAAA,MAAAsB,EAAAvB,IAAA,gBAAAuB,EAAAtB,MAAA,aAAAsB,EAAAtB,KAAA,KAAA6C,KAAAvB,EAAAvB,IAAA,WAAAuB,EAAAtB,MAAA,KAAAwF,KAAA,KAAAzF,IAAAuB,EAAAvB,IAAA,KAAAc,OAAA,cAAAgC,KAAA,kBAAAvB,EAAAtB,MAAAqD,IAAA,KAAAR,KAAAQ,GAAAnD,GAAA+F,OAAA,SAAA7C,GAAA,QAAAW,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAG,eAAA,YAAA4C,SAAA/C,EAAAQ,WAAAR,EAAAI,UAAAG,EAAAP,GAAA/C,IAAAgG,MAAA,SAAAhD,GAAA,QAAAa,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,WAAA,KAAA5B,EAAA2B,EAAAQ,WAAA,aAAAnC,EAAAtB,KAAA,KAAAmG,EAAA7E,EAAAvB,IAAAyD,EAAAP,GAAA,OAAAkD,GAAA,UAAAtE,MAAA,0BAAAuE,cAAA,SAAAzC,EAAAf,EAAAE,GAAA,YAAAf,SAAA,CAAAxD,SAAAkC,EAAAkD,GAAAf,aAAAE,WAAA,cAAAjC,SAAA,KAAAd,SAAAyC,GAAAtC,IAAAzC,EAkCA,IAAMwf,EAAYC,aAAW,SAAAC,GAAK,MAAK,CACnCC,UAAW,CACPhO,MAAO,GACPC,OAAQ,GACRgO,aAAc,MACdnK,SAAU,SACVoK,YAAa,GAEjBC,UAAW,CACPvK,SAAU,OACVwK,UAAW,OACXC,UAAW,WAEfC,KAAM,CACFC,SAAU,OACVC,WAAY,IACZvE,OAAQ,OACRwE,gBAAiB,WAErBnL,SAAU,CACNC,QAAS,OACTC,WAAY,UAEhBkL,QAAS,CAELF,WAAY,KAGhBG,YAAa,CACTJ,SAAU,OACVC,WAAY,IACZnO,MAAO0N,EAAMa,QAAQC,KAAKC,aAydnBhM,sBACX7L,aACI,SAAAzE,GAAK,MAAK,CACNyQ,gBAAiBzQ,EAAM0Q,QAAQD,gBAC/B8L,mBAAoBvc,EAAMwc,SAASD,uBAEvC,SAAA1X,GAAQ,MAAK,CACTC,eAAgBC,YAAmBD,EAAgBD,GACnD4X,gBAAiB1X,YAAmB2X,EAAiB7X,OARlDyL,EArdE,SAACkB,GACd,IA0BOf,EAAuCe,EAAvCf,gBAAiB8L,EAAsB/K,EAAtB+K,mBACxBnX,EAAqCC,mBAAS,GAAEC,EAAAC,YAAAH,EAAA,GAAzC6M,EAAW3M,EAAA,GAAEqX,EAAarX,EAAA,GACjCI,EAAgCL,mBAhBV,CAClBM,KAAM,GACNC,MAAO,IAc4CC,EAAAN,YAAAG,EAAA,GAAhD6K,EAAQ1K,EAAA,GAAE+W,EAAW/W,EAAA,GAC5BG,EAAiCX,mBAtBf,CACd4E,SAAU,KACVC,OAAQ,OAoBwCjE,EAAAV,YAAAS,EAAA,GAA7C6W,EAAQ5W,EAAA,GAAE6W,EAAY7W,EAAA,GAC7BG,EAA+Bf,mBAAS,CAACsM,aAAa,IAAOtL,EAAAd,YAAAa,EAAA,GAAtDwG,EAAOvG,EAAA,GAAE0W,EAAW1W,EAAA,GAC3BG,EAAkDnB,oBAAS,GAAMoB,EAAAlB,YAAAiB,EAAA,GAA1D6L,EAAiB5L,EAAA,GAAE6L,EAAoB7L,EAAA,GAC9CG,EAAkDvB,oBAAS,GAAMwB,GAAAtB,YAAAqB,EAAA,GAA1DoW,GAAiBnW,GAAA,GAAEoW,GAAoBpW,GAAA,GAC9CG,GAAkD3B,oBAAS,GAAM4B,GAAA1B,YAAAyB,GAAA,GAA1DkW,GAAiBjW,GAAA,GAAEkW,GAAoBlW,GAAA,GAC9CG,GAA8B/B,mBAbT,CACjBmT,IAAK,GACLjG,KAAM,KAW0ClL,GAAA9B,YAAA6B,GAAA,GAA7CoL,GAAOnL,GAAA,GAAE+V,GAAU/V,GAAA,GACpBgW,GAAapV,iBAnCC,CAChB2K,YAAa,KACb0K,WAAY,GACZhU,KAAM,EACNC,MAAO,KAgCLgU,GAAoBtV,iBAnBC,CACvB8M,QAAS,OAmBPrD,GAAU2J,IAEVmC,GAAa,SAACphB,GAChB2gB,EAAWjS,wBAAC,GAAI8B,GAAWxQ,KAGzBqhB,GAAc,SAACrhB,GACjB0gB,EAAYhS,wBAAC,GAAI+R,GAAYzgB,KAG3B2P,GAAW,WACb2R,MAUEA,GAAe,SAAC/T,GAAe,IAADgU,EACzBjK,EAAcpL,IAAOsV,aAAapM,GAAlCkC,WACP/J,EAAYA,GAAwB+J,EACpC,IAAM7I,EAAQ,CACVrC,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,GAC7BM,WAAY9B,IAAOuV,QAAQhF,QAAU,GACrC5O,SAAU4S,EAAS5S,UAAY,KAC/BC,OAAQ2S,EAAS3S,QAAU,KAC3BC,eAA8C,QAAhCwT,EAAEN,GAAWnU,QAAQ0J,mBAAW,IAAA+K,IAAI,KAClDL,WAAYD,GAAWnU,QAAQoU,YAAc,GAC7CQ,KAAMT,GAAWnU,QAAQI,KACzByU,MAAOV,GAAWnU,QAAQK,MAC1BI,UAAWA,GAAa,IAE5B6T,GAAW,CAAC7L,aAAa,IACzBH,EAAMiL,gBAAgBuB,YAAYnT,GAAO,SAAC9K,EAAO2I,GAC7C,GAAI3I,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEXyd,GAAW,CAAC7L,aAAa,IACtBjJ,GACCkU,EAAY,CACRjX,KAAM+C,EAAK/C,KACXC,MAAO8C,EAAK9C,YA4CtBqO,GAAe,WAAuB,IAAtBgK,EAAQrU,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,IAAAA,UAAA,GACvBqU,GACCP,MAIRrV,qBAAU,YACc,eAAAnD,EAAAkG,YAAAxP,IAAA8G,MAAG,SAAA2I,IAAA,OAAAzP,IAAAyB,MAAA,SAAAoO,GAAA,cAAAA,EAAAlI,KAAAkI,EAAAxK,MAAA,cAAAwK,EAAAxK,KAAA,EACbuQ,EAAM1M,eAAeiP,cAAc,YAAY,SAACC,GAClD2I,EAAc3I,MACf,KAAD,mBAAAvI,EAAA/H,UAAA2H,OACL,kBAJmB,OAAAnG,EAAA0G,MAAA,KAAAhC,aAAA,EAKpB2J,KAED,IAEHlL,qBAAU,WACN,IAAOqL,EAAcpL,IAAOsV,aAAapM,GAAlCkC,WACJzB,IACCyL,GAAahK,GAzDI,WACrB,IAAM7I,EAAQ,CACVrC,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,IAGjC0H,EAAM1M,eAAe2L,gBAAgB5F,GAAO,SAAA9K,GACxC,GAAIA,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,KAiDX+L,GA5CoB,WACxB,IAAMjB,EAAQ,CACVhB,SAAUvB,IAAOwB,UAAY,IAGjC0H,EAAMiL,gBAAgBF,mBAAmB1R,GAAO,SAAA9K,GAC5C,GAAIA,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,KAqCXme,MAGL,CAACjM,IAEJ5J,qBAAU,eAYV,IA2HMgN,GAAe,SAAChZ,EAAK4M,GACvB,IAAK5M,EAAK,OAAO,EACjB,OAAQA,GACJ,IAAK,WACDohB,GAAY,CAACxT,SAAUhB,EAAE1M,QACzB,MACJ,IAAK,SACDkhB,GAAY,CAACvT,OAAQjB,EAAE1M,QACvB,MACJ,IAAK,cACD8gB,GAAWnU,QAAQ0J,YAAc3J,EAAE1M,MACnC,MACJ,IAAK,aAED8gB,GAAWnU,QAAQoU,WAAcrU,EAAE1M,QAwG/C,OACIyP,IAAAC,cAAAD,IAAAE,SAAA,KACIF,IAAAC,cAACmP,UAAQ,CAACH,KAAM5I,EAAmB6I,QAAS,kBAAM5I,GAAqB,IAC7D9J,OAAO,WAAWuM,QAASwI,GAAkBrU,QAAQ6L,UAC9DiI,IAAqBhR,IAAAC,cAACkS,UAAQ,CACClD,KAAM+B,GACNzK,KAAMC,GAAQD,KACdC,QAASA,GAAQgG,IACjBhQ,OAAO,WACP0S,QAAS,SAAC+C,GACNhK,GAAagK,GACbhB,IAAqB,MAExDC,IAAqBlR,IAAAC,cAACmS,UAAQ,CAACnD,KAAMiC,GACN3K,KAAMC,GAAQD,KACdC,QAASA,GAAQgG,IACjBhQ,OAAO,WACP0S,QAAS,SAAC+C,GACNhK,GAAagK,GACbd,IAAqB,MAEzDnR,IAAAC,cAAA,OAAKqB,UAAW,UApHhBtB,IAAAC,cAACqC,UAAM,CACHK,YAAarG,IAAOgE,KAAK,oBACzBoJ,kBAAkB,EAClB7G,aAAc,WACV,OACI7C,IAAAC,cAAAD,IAAAE,SAAA,KACIF,IAAAC,cAACE,IAAS,CAACoB,MAAO,CAACuB,aAAc,QAC7B9C,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,EAAGgG,GAAI,EAAGC,GAAI,GAC3B7J,IAAAC,cAAA,OAAKsB,MAAO,CAACwD,QAAS,OAAQC,WAAY,WACtChF,IAAAC,cAAA,OAAKqB,UAAWoE,GAAQwK,SACnB5T,IAAOgE,KAAK,OAEjBN,IAAAC,cAAC4D,UAAa,CACVwO,aAAc,CAACvO,IAAK+M,EAAS3S,QAC7BqD,MAAO,CAAC+Q,WAAY,OACpBpP,eAAgB,SAAAjG,GAAC,OAAIoM,GAAa,WAAYpM,IAC9C8G,iBAAiB,EACjBZ,iBAAiB,EACjBR,YAAa,aACbpS,MAAOsgB,EAAS5S,aAI5B+B,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,EAAGgG,GAAI,EAAGC,GAAI,GAC3B7J,IAAAC,cAAA,OAAKsB,MAAO,CAACwD,QAAS,OAAQC,WAAY,WACtChF,IAAAC,cAAA,OAAKqB,UAAWoE,GAAQwK,SACnB5T,IAAOgE,KAAK,OAAOiS,eAExBvS,IAAAC,cAAC4D,UAAa,CACVwO,aAAc,CAACrO,IAAK6M,EAAS5S,UAC7BsD,MAAO,CAAC+Q,WAAY,OACpBpP,eAAgB,SAAAjG,GAAC,OAAIoM,GAAa,SAAUpM,IAC5C8G,iBAAiB,EACjBZ,iBAAiB,EACjBR,YAAa,aACbpS,MAAOsgB,EAAS3S,aAMpC8B,IAAAC,cAACE,IAAS,CAACoB,MAAO,CAACuB,aAAc,QAC7B9C,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IAC7B7J,IAAAC,cAAC8C,QAAK,CACF1B,MAAO/E,IAAOgE,KAAK,oBACnBQ,WAAY2D,EACZzB,YAAa,gBACbC,UAAW,cACXC,eAAgB,SAAAjG,GAAC,OAAIoM,GAAa,cAAepM,IACjDkG,iBAAiB,EACjB5S,MAAO8gB,GAAWnU,QAAQ0J,aAAe,QAKzD5G,IAAAC,cAACE,IAAS,CAACoB,MAAO,CAACuB,aAAc,QAC7B9C,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IAC7B7J,IAAAC,cAAC8C,QAAK,CACF1B,MAAO/E,IAAOgE,KAAK,qBACnBQ,WAAYyP,EACZvN,YAAa,eACbC,UAAW,aACXC,eAAgB,SAAAjG,GAAC,OAAIoM,GAAa,aAAcpM,IAChDkG,iBAAiB,EACjB5S,MAAO8gB,GAAWnU,QAAQoU,YAAc,QAMxDtR,IAAAC,cAAA,OACIsB,MAAO,CACHwD,QAAS,OACT0F,eAAgB,WAGpBzK,IAAAC,cAACgE,UAAa,CACVxN,KAAM6F,IAAOgE,KAAK,YAClB4D,WAAY,SACZlF,KAAM,QACN6C,MAAO,UACPsC,QAAS,WACTC,QAASrE,WAgCjCC,IAAAC,cAACG,UAAa,CAACC,MAAO/D,IAAOgE,KAAK,yBAC9BN,IAAAC,cAACgE,UAAa,CACVxN,KAAM6F,IAAOgE,KAAK,QAClB4D,WAAY,MACZ3C,MAAO,CAACsJ,cAAe,aACvBD,WAAY3E,EAAc,GAC1BjH,KAAM,QACNoF,QAjNF,WACVoO,IAAe7c,KAAK,CAChB8c,SAAUnW,IAAOoW,cAAgB,WACjC1e,MAAO,CAAEoK,WAAY9B,IAAOuV,QAAQc,aAAcpM,KAAM,MAAO/J,OAAQ,kBAiNvEwD,IAAAC,cAAC6K,UAAa,CACVvJ,MAAO,CAACkK,OAAQ,QAChB3K,WAAYyD,EAAS5K,KACrB8C,QAAS,UACTwO,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,mBAAmB,EACnBG,WAAYjP,IAAOgE,KAAK,WACxBM,QAASA,EAAQ+E,YACjB0F,mBAAmB,EACnBK,WAAanH,GAAYmK,OAAOnK,EAAS3K,QAAW,EACpDmR,YAAasG,GAAWnU,QAAQK,MAChCyN,YAAaqG,GAAWnU,QAAQI,KAChCgO,WAAY,SACZ7J,OAAQnF,IAAOkP,gBACfO,aAlVS,SAAAC,GACjBqF,GAAWnU,QAAQI,KAAO0O,EAAOqF,GAAWnU,QAAQK,MACpDmU,MAiVQzF,gBA9UY,SAAAC,GACpBmF,GAAWnU,QAAQI,KAAO,EAC1B+T,GAAWnU,QAAQK,MAAQ2O,EAC3BwF,OA6UQ1R,IAAAC,cAACkM,SAAM,CAACC,WApSK,SAAAnP,GACrB,IAAOP,EAAQO,EAAEuP,IAAV9P,KACDkW,EAAOC,IAAOC,IAAIpW,EAAKgQ,YAAYqG,UACrCF,IAAOC,IAAIpW,EAAKgQ,YAAYsG,OAAO,kBAAoB,GAC3D,OACIhT,IAAAC,cAAA,OAAKqB,UAAW,wCACZtB,IAAAC,cAACyB,UAAS,CAAChF,KAAMA,EAAM0H,QAAS,kBAxHhB,SAAA1H,GACxB8V,IAAe7c,KAAK,CAChB8c,SAAUnW,IAAOoW,cAAgB,WACjC1e,MAAO,CAACoK,WAAY1B,EAAK0B,cAqHiB6U,CAAoBvW,MAC1DsD,IAAAC,cAAA,OAAKqB,UAAW,iBACZtB,IAAAC,cAAA,OAAKqB,UAAWoE,GAAQwK,SACpBlQ,IAAAC,cAACiT,UAAQ,CAACxW,KAAMA,KAEpBsD,IAAAC,cAAA,OAAKqB,UAAWoE,GAAQwK,SACnBxT,EAAKsQ,gBAAkB,IAE5BhN,IAAAC,cAAA,OAAKqB,UAAWoE,GAAQZ,UACpB9E,IAAAC,cAACkT,IAAK,CACF/F,IAAKgG,EAAQ,OAEjBpT,IAAAC,cAAA,OAAKsB,MAAO,CAACkM,YAAa,OAAQnM,UAAW,kBACxC5E,EAAKgQ,YAAckG,OAiRMpR,MAAO,MAC7CxB,IAAAC,cAACkM,SAAM,CAACC,WA1QD,SAAAnP,GACf,IAAOP,EAAQO,EAAEuP,IAAV9P,KACD2W,GAAkB,OAAJ3W,QAAI,IAAJA,OAAI,EAAJA,EAAMyI,WAAYnF,IAAAC,cAAA,OAClC4N,wBAAyB,CAACC,OAAQwF,IAAUC,SAAS7W,EAAKyI,cAAkB,KAChF,OACInF,IAAAC,cAAA,OAAKqB,UAAW,eAAiBoE,GAAQwK,SACpCmD,MAqQDrT,IAAAC,cAACkM,SAAM,CAACC,WAhQC,SAAAnP,GACjB,IAAOP,EAAQO,EAAEuP,IAAV9P,KACP,OACIsD,IAAAC,cAACkO,UAAM,CAACzR,KAAMA,KA6PwB0R,UAAW,SAAU5M,MAAO,MAC9DxB,IAAAC,cAACkM,SAAM,CAACC,WA7MC,SAAAnP,GACjB,IAAOP,EAAQO,EAAEuP,IAAV9P,KACP,OACIsD,IAAAC,cAAA,OAAKqB,UAAW,4BACZtB,IAAAC,cAACuT,IAAU,CAACC,aAAW,OAAOnS,UAAW,QAAStC,KAAK,QAC3C4L,WAAY3E,EAAc,GAC1B7B,QAAS,kBAxCP,SAACnH,GAAkB,IAAfP,EAAIkB,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GACjC2T,GAAkBrU,QAAQ6L,QAAUrM,EAAKqM,QACzCzC,GAAqB,GAsCcoN,CAAkBzW,EAAGP,KAC5CsD,IAAAC,cAAC0T,IAAW,OAEhB3T,IAAAC,cAACuT,IAAU,CACPC,aAAW,OACXzU,KAAK,QACL4L,WAAY3E,EAAc,GAC1B7B,QAAS,kBA1DV,SAAAnH,GACX,IAAOP,EAAQO,EAAEuP,IAAV9P,KACP0U,GAAW,CAAC5E,IAAK9P,EAAM6J,KAAM,SACN,aAApB7J,EAAK4U,YACJH,IAAqB,GAEF,aAApBzU,EAAK4U,YACJL,IAAqB,GAmDE2C,CAAO3W,KAEtB+C,IAAAC,cAAC4T,UAAK,CAACpd,KAAM,UAEjBuJ,IAAAC,cAAC6T,IAAO,CACJC,YAAY,WACZxS,MAAO,CAACC,MAAO,EAAGC,OAAQ,GAAIuI,OAAQ,WAE1ChK,IAAAC,cAACuT,IAAU,CACPC,aAAW,SACXzU,KAAK,QACL4L,WAAY3E,EAAc,IAAOvJ,GAAqC,IAA7BgS,OAAOhS,EAAKkK,aACrDxC,QAAS,kBA/CR,SAAA1H,GACb,IACMmC,EAAQ,CACVkK,QAFerM,EAAZqM,SAIPzM,IAAOiC,MAAMC,KACT,SACAlC,IAAOgE,KAAK,0BACZ,WACIkF,EAAMiL,gBAAgBuD,WAAWnV,GAAO,SAAA9K,GACpC,GAAIA,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEPuI,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,kBAAmB,KAC7DoR,WAgCW3C,CAASrS,KAExBsD,IAAAC,cAAC4T,UAAK,CAACpd,KAAM,cAkLiB+K,MAAO,Y,+OC8K1CyS,UAtqBE,SAACzO,GAAW,IAAD0O,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAChB3b,EAAaqM,EAAbrM,SACFuM,EAAU2J,sBAEhBjW,EAAsCC,mBAAS,GAAEC,EAAAC,YAAAH,EAAA,GAA1C6M,EAAW3M,EAAA,GAAE4M,EAAc5M,EAAA,GAClCI,EAAsCL,oBAAS,GAAMQ,EAAAN,YAAAG,EAAA,GAA9CiM,EAAW9L,EAAA,GAAE+L,EAAc/L,EAAA,GAClCG,EAAsDX,oBAAS,GAAMY,EAAAV,YAAAS,EAAA,GAA9D+a,EAAmB9a,EAAA,GAAE+a,EAAsB/a,EAAA,GAClDG,EAAgDf,mBAAS,CACrDM,KAAM,GACNC,MAAO,IACTS,EAAAd,YAAAa,EAAA,GAHKN,EAAgBO,EAAA,GAAEN,GAAmBM,EAAA,GAI5CG,GAA4BnB,oBAAS,iBAAO,CACxC8E,eAAgB,KAChBC,WAAY,OACb3D,GAAAlB,YAAAiB,GAAA,GAHIya,GAAMxa,GAAA,GAAEya,GAASza,GAAA,GAIxBG,GAAkDvB,oBAAS,GAAMwB,GAAAtB,YAAAqB,GAAA,GAA1Dua,GAAiBta,GAAA,GAAEua,GAAoBva,GAAA,GAC9CG,GAAkD3B,oBAAS,GAAM4B,GAAA1B,YAAAyB,GAAA,GAA1Dqa,GAAiBpa,GAAA,GAAEqa,GAAoBra,GAAA,GAC9CG,GAA0C/B,oBAAS,GAAMgC,GAAA9B,YAAA6B,GAAA,GAAlDma,GAAala,GAAA,GAAEma,GAAgBna,GAAA,GACtCG,GAAkCnC,oBAAS,GAAMoC,GAAAlC,YAAAiC,GAAA,GAA1Cia,GAASha,GAAA,GAAEia,GAAYja,GAAA,GAC9BG,GAAkCvC,mBAAS,IAAGwC,GAAAtC,YAAAqC,GAAA,GAAvC+Z,GAAS9Z,GAAA,GAAE+Z,GAAY/Z,GAAA,GAExByL,GAAoBrL,iBAAO,CAC7BgC,SAAU,KACVC,OAAQ,OAEN+I,GAAmBhL,iBAAO,CAC5BsB,MAAO,GACPD,KAAM,IAEJmJ,GAAYxK,iBAAO,CACrBsK,KAAM,GACNC,QAAS,OAEPqP,GAAe5Z,iBAAO,CACxB6Z,SAAU,KACV1jB,KAAM,GACNoU,QAAS,OAEPuP,GAAqB9Z,iBAAO,MAC5B+Z,GAAa/Z,iBAAO,MAEpBpD,GAAWod,cACX1R,GAAW2R,aAAY,SAACliB,GAAK,OAAKA,EAAM2E,UAAUC,mBAClDud,GAAgBD,aAAY,SAACliB,GAAK,OAAKA,EAAM2E,UAAUD,gBAEvD0d,GAA0B,CAC5B9Y,KAAM,EACNC,MAAO,GACPC,OAAQ,IAWNT,GAAW,WAAO,IAADsZ,EAAAC,EAAAC,EAAAC,EACXrY,EAA+B8W,GAA/B9W,eAAgBC,EAAe6W,GAAf7W,WACxBuJ,EAA6BL,GAAkBpK,QAAvCe,EAAQ0J,EAAR1J,SAAUC,EAAMyJ,EAANzJ,OAClB0J,EAAwBX,GAAiB/J,QAAjCI,EAAIsK,EAAJtK,KAAMC,EAAKqK,EAALrK,MACRT,EAAS,CACXa,UAAW,GACXI,WAAkC,QAAxBsY,EAAE/Z,IAAO0B,uBAAe,IAAAqY,IAAI,GACtC7Z,OAAQ,WACRqB,SAA0B,QAAlByY,EAAQ,OAANha,UAAM,IAANA,SAAM,EAANA,IAAQwB,gBAAQ,IAAAwY,IAAI,KAC9BhZ,KAAU,OAAJA,QAAI,IAAJA,IAAQ,EACdC,MAAY,OAALA,QAAK,IAALA,IAAS,GAChBsP,OAA+B,QAAzB0J,EAAQ,OAANja,UAAM,IAANA,KAAe,QAATka,EAANla,IAAQuV,eAAO,IAAA2E,OAAT,EAANA,EAAiB3J,cAAM,IAAA0J,IAAI,GACnCpY,eAA8B,OAAdA,QAAc,IAAdA,IAAkB,KAClCC,WAAsB,OAAVA,QAAU,IAAVA,IAAc,GAC1BqY,aAAc,GACdC,UAAW,GACXC,cAAe,GACfC,OAAQ,GACRC,eAAgB,KAChBpY,KAAM,EACNR,SAAkB,OAARA,QAAQ,IAARA,IAAY,KACtBC,OAAc,OAANA,QAAM,IAANA,IAAU,MAEtB0H,GAAe,GACf/M,GACIG,mBAAiC8D,GAAQ,SAAC/I,GAEtC,GADA6R,GAAe,GACX7R,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,GAASuI,IAAOgE,KAAK,uBACzC,OAMvBjE,qBAAU,WA1CNxD,GACIC,gBAA6B,YAAY,SAACkP,GACtC9B,EAAe8B,OA0CvBjL,KACA+Z,OAED,IAEHza,qBAAU,WAAO,IAAD0a,GACA,OAARxS,SAAQ,IAARA,IAAc,QAANwS,EAARxS,GAAU5K,YAAI,IAAAod,OAAN,EAARA,EAAgB7gB,QAAS,IAAkB,OAAbigB,SAAa,IAAbA,QAAa,EAAbA,GAAejgB,QAAS,GACtDqO,GAAS5K,KAAK3G,SAAQ,SAACwZ,GACnB,IAAQrO,EAAmBqO,EAAnBrO,eACR,GAAIA,EAAgB,CAChB,IACY6Y,EADNC,EAASd,GAAce,MAAK,SAAC/gB,GAAC,OAAKA,EAAEgI,iBAAmBA,KAC9D,GAAI8Y,EACAzK,EAAI2K,aAAoC,QAAxBH,EAAS,OAANC,QAAM,IAANA,OAAM,EAANA,EAAQG,qBAAa,IAAAJ,IAAI,SAK7D,CAACzS,GAAU4R,KAEd9Z,qBAAU,WAAO,IAADmL,EACqBC,GAArB,OAARtO,QAAQ,IAARA,GAAe,QAAPqO,EAARrO,EAAUnF,aAAK,IAAAwT,OAAP,EAARA,EAAiBE,aACjBvK,GAAU,OAAQ,CAAEQ,UAAmB,OAARxE,QAAQ,IAARA,GAAe,QAAPsO,EAARtO,EAAUnF,aAAK,IAAAyT,OAAP,EAARA,EAAiBC,eAGrD,CAACvO,IAEJ,IAAM2d,GAAgB,WAClB,IAAMha,EAAS,CACXN,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,MAEjCjF,GACIG,eAA6B8D,GAAQ,SAAC/I,GAClC,GAAIA,EAEA,OADAuI,IAAO+a,OAAO7Y,KAAK,QAASzK,IACrB,OAMjB4K,GAAmB,SAACC,GACtB,IAAMC,EAAKC,YAAA,CACPL,KAAM,aACNjC,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,MAC1BsY,IAEPpB,GAAuB,GACvBnc,GACIC,kBAA+B+F,GAAO,SAACzN,EAAKsL,GAExC,GADAsY,GAAuB,GACnB5jB,EAAK,OAAOkL,IAAO+a,OAAO7Y,KAAK,QAASpN,GAC5C,GAAIsL,EAAM,CAAC,IAAD4a,EAAAC,EACA5d,EAAiB,QAAb2d,EAAO,OAAJ5a,QAAI,IAAJA,OAAI,EAAJA,EAAM/C,YAAI,IAAA2d,IAAI5a,EACrB9C,EAAmB,QAAd2d,EAAO,OAAJ7a,QAAI,IAAJA,OAAI,EAAJA,EAAM9C,aAAK,IAAA2d,IAAQ,OAAJ7a,QAAI,IAAJA,OAAI,EAAJA,EAAMxG,OACnC6D,GAAoB,CAChBJ,KAAMiF,EAAUjF,EAAOG,EAAiBH,KAAKsF,OAAOtF,GACpDC,gBAOd4d,GAAkB,WACpB7Y,MAGE0K,GAAe,SAAChZ,EAAKqM,GAAU,IAAD+a,EAAAC,EAAAC,EAAAC,EAAAC,EAChC,OAAQxnB,GACJ,IAAK,iBACL,IAAK,aACD6kB,GAASpW,wBAAC,GAAKmW,IAAM,GAAA1L,YAAA,GAAGlZ,EAAiB,QAAdonB,EAAO,OAAJ/a,QAAI,IAAJA,OAAI,EAAJA,EAAMnM,aAAK,IAAAknB,IAAI,MAC7C,MACJ,IAAK,OACDnQ,GAAkBpK,QAAU,CACxBe,SAA0B,QAAlByZ,EAAM,OAAJhb,QAAI,IAAJA,GAAW,QAAPib,EAAJjb,EAAMnM,aAAK,IAAAonB,OAAP,EAAJA,EAAc,UAAE,IAAAD,IAAI,KAC9BxZ,OAAwB,QAAlB0Z,EAAM,OAAJlb,QAAI,IAAJA,GAAW,QAAPmb,EAAJnb,EAAMnM,aAAK,IAAAsnB,OAAP,EAAJA,EAAc,UAAE,IAAAD,IAAI,QAsOtCza,GAAY,SAACoJ,EAAMC,GAKrB,OAJAC,GAAUvJ,QAAU,CAChBqJ,KAAU,OAAJA,QAAI,IAAJA,IAAQ,GACdC,QAAgB,OAAPA,QAAO,IAAPA,IAAW,MAEhBD,GACJ,IAAK,UACD+O,IAAqB,GACrB,MACJ,IAAK,OACDF,IAAqB,KAO3B0C,GAAiB,SAAC1lB,EAAM6K,EAAGP,GAAU,IAADqb,EACtClC,GAAa3Y,QAAU,CACnB4Y,SAA0B,QAAlBiC,EAAG,OAAD9a,QAAC,IAADA,OAAC,EAADA,EAAG+a,qBAAa,IAAAD,IAAI,KAC9B3lB,KAAU,OAAJA,QAAI,IAAJA,IAAQ,GACdoU,QAAa,OAAJ9J,QAAI,IAAJA,IAAQ,MAErB8Y,IAAiB,IAGfyC,GAAkB,WACpBpC,GAAa3Y,QAAU,CACnB4Y,SAAU,KACV1jB,KAAM,GACNoU,QAAS,MAEbgP,IAAiB,GACjBI,GAAa,KAGjBvZ,qBAAU,WACFkZ,GACIQ,GAAmB7Y,SAAS6Y,GAAmB7Y,QAAQgb,gBAE3DD,OAEL,CAAC1C,KAEJ,IAAM4C,GAAgB,SAAClB,EAAQmB,GAAmB,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAUhBC,EATrBnS,EAAYqP,GAAa3Y,QAAzBsJ,QACFoS,EAAWC,QAAMC,WAAWV,EAAe,aAEjD,KAAY,OAAP5R,QAAO,IAAPA,OAAO,EAAPA,EAAS7I,WAEV,OADArB,IAAOiC,MAAMC,KAAK,OAAQlC,IAAOgE,KAAK,yBAC/B,EAGX,GAAe,MAAX2W,IACY,OAAR2B,QAAQ,IAARA,OAAQ,EAARA,EAAUjD,WAEV,OADAC,GAAgC,QAApB+C,EAAS,OAARC,QAAQ,IAARA,OAAQ,EAARA,EAAUjD,iBAAS,IAAAgD,IAAI,KAC7B,EAIf,IAAM7b,EAAS,CACXiB,WAAkC,QAAxBsa,EAAE/b,IAAO0B,uBAAe,IAAAqa,IAAI,GACtC7b,OAAQ,WACR4B,WAA+B,QAArBka,EAAS,OAAP9R,QAAO,IAAPA,OAAO,EAAPA,EAASpI,kBAAU,IAAAka,IAAI,GACnC3a,UAA6B,QAApB4a,EAAS,OAAP/R,QAAO,IAAPA,OAAO,EAAPA,EAAS7I,iBAAS,IAAA4a,IAAI,GACjCQ,cAAqC,QAAxBP,EAAS,OAAPhS,QAAO,IAAPA,OAAO,EAAPA,EAASuS,qBAAa,IAAAP,IAAI,GACzCQ,eAAuC,QAAzBP,EAAS,OAAPjS,QAAO,IAAPA,OAAO,EAAPA,EAASwS,sBAAc,IAAAP,IAAI,GAC3Cta,eAAsB,OAAN8Y,QAAM,IAANA,IAAU,EAC1BgC,eAA6B,OAAbb,QAAa,IAAbA,IAAiB,GACjCc,eAAuC,QAAzBR,EAAS,OAAPlS,QAAO,IAAPA,OAAO,EAAPA,EAAS0S,sBAAc,IAAAR,IAAI,IAG/ChD,IAAa,GAEb7c,GACIG,gBAA8B8D,GAAQ,SAAC/I,EAAO2I,GAG1C,GAFAgZ,IAAa,GAET3hB,EAAO,CACP,IAAIolB,EAAU7c,IAAOgE,KAAK,yBAC1B,OAAa,OAALvM,QAAK,IAALA,OAAK,EAALA,EAAOqlB,MACX,IAAK,YACDD,EAC8B,IAA1Brc,EAAOqB,eAAuB7B,IAAOgE,KAAK,8BAAgChE,IAAOgE,KAAK,gCAMlG,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAGX,GAAqB,KAAb,OAAJzc,QAAI,IAAJA,OAAI,EAAJA,EAAMyR,QAAc,CAAC,IAADkL,EAChBF,EACY,QADLE,EACP3c,EAAK4c,eAAO,IAAAD,IACe,IAA1Bvc,EAAOqB,eAAuB7B,IAAOgE,KAAK,8BAAgChE,IAAOgE,KAAK,gCAS3F,OAPIyV,GAAmB7Y,QACnB6Y,GAAmB7Y,QAAQqc,gBAAe,WACtCjd,IAAOiC,MAAMC,KAAK,OAAQ2a,MAG9B7c,IAAOiC,MAAMC,KAAK,OAAQ2a,IAEvB,EAGXK,IAAQ,GAEJzD,GAAmB7Y,SAAS6Y,GAAmB7Y,QAAQqc,iBAE3Djd,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,4BAA6B,UAK7EmZ,GAAkB,WAAO,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAClBvT,EAAYqP,GAAa3Y,QAAzBsJ,QACR,KAAY,OAAPA,QAAO,IAAPA,OAAO,EAAPA,EAAS7I,WAEV,OADArB,IAAOiC,MAAMC,KAAK,OAAQlC,IAAOgE,KAAK,yBAC/B,EAGX,IAAMxD,EAAS,CACXiB,WAAYzB,IAAO0B,gBACnBxB,OAAQ,WACRmB,UAA6B,QAApB+b,EAAS,OAAPlT,QAAO,IAAPA,OAAO,EAAPA,EAAS7I,iBAAS,IAAA+b,IAAI,GACjCtb,WAA+B,QAArBub,EAAS,OAAPnT,QAAO,IAAPA,OAAO,EAAPA,EAASpI,kBAAU,IAAAub,IAAI,GACnCZ,cAAqC,QAAxBa,EAAS,OAAPpT,QAAO,IAAPA,OAAO,EAAPA,EAASuS,qBAAa,IAAAa,IAAI,GACzCZ,eAAuC,QAAzBa,EAAS,OAAPrT,QAAO,IAAPA,OAAO,EAAPA,EAASwS,sBAAc,IAAAa,IAAI,GAC3C1b,eAAuC,QAAzB2b,EAAS,OAAPtT,QAAO,IAAPA,OAAO,EAAPA,EAASrI,sBAAc,IAAA2b,IAAI,GAC3CZ,eAAuC,QAAzBa,EAAS,OAAPvT,QAAO,IAAPA,OAAO,EAAPA,EAAS0S,sBAAc,IAAAa,IAAI,IAG/CrE,IAAa,GAEb7c,GACIG,kBAAgC8D,GAAQ,SAAC/I,EAAO2I,GAG5C,GAFAgZ,IAAa,GAET3hB,EAAO,CACP,IAAIolB,EAAU7c,IAAOgE,KAAK,yBAE1B,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAGX,GAAqB,KAAb,OAAJzc,QAAI,IAAJA,OAAI,EAAJA,EAAMyR,QAAc,CACpB,IAAIgL,EAAUzc,EAAK4c,SAAWhd,IAAOgE,KAAK,sDAE1C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAGXK,IAAQ,GAERld,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,4BAA6B,UAK7EkZ,GAAU,SAACQ,GACbnE,GAAa3Y,QAAU,CACnB4Y,SAAU,KACV1jB,KAAM,GACNoU,QAAS,MAGbgP,IAAiB,GACjBI,GAAa,IAEToE,GAAWjd,MAGbgD,GAAW,WACbhD,KAEIiZ,GAAW9Y,SAAS8Y,GAAW9Y,QAAQ+c,SAoBzChS,GAAe,SAAC5X,GAAyB,IAApB6X,EAAMtK,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,IAAAA,UAAA,GAK7B,OAJA6I,GAAUvJ,QAAU,CAChBqJ,KAAM,GACNC,QAAS,MAELnW,GACJ,IAAK,WACD+kB,IAAqB,GACjBlN,GAAQnL,KACZ,MACJ,IAAK,WACDuY,IAAqB,KAOjC,OACItV,IAAAC,cAAAD,IAAAE,SAAA,KACIF,IAAAC,cAACG,UAAa,CAACC,MAAO/D,IAAOgE,KAAK,6BAClCN,IAAAC,cAACM,IAAG,CAACe,UAAW,sDACZtB,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,EAAGC,GAAI,GAvbvB,WACjB,IAAAqQ,EAA6B5S,GAAkBpK,QAAvCe,EAAQic,EAARjc,SAAUC,EAAMgc,EAANhc,OAClB,OACI8B,IAAAC,cAACqC,UAAM,CACHmH,aAAW,EACX0Q,cAAe,CACXxZ,IAAKqV,IAETrT,YAAarG,IAAOgE,KAAK,yBACzBoC,YAAY,EACZgH,kBAAkB,EAClB9G,aAAc4U,GACd3U,aAAc,WAAO,IAADuX,EAAAC,EAChB,OACIra,IAAAC,cAAAD,IAAAE,SAAA,KACIF,IAAAC,cAAC6J,WAAQ,CACLC,WAAS,EACT9G,UAAW,iBACXD,YAAa,gBACbL,YAAarG,IAAOgE,KAAK,QACzBe,MAAO/E,IAAOgE,KAAK,cACnB8J,SAAU,SAACnN,GAAC,OAAKoM,GAAa,iBAAkBpM,IAChD6D,WAAYqV,GACZ5lB,MAA6B,QAAxB6pB,EAAQ,OAANnF,SAAM,IAANA,QAAM,EAANA,GAAQ9W,sBAAc,IAAAic,IAAI,KACjCnQ,SAAU,aAEdjK,IAAAC,cAAC6J,WAAQ,CACLwQ,aAAW,EACXvQ,WAAS,EACTjJ,WAAYhH,EAAiBH,KAC7BC,MAAOE,EAAiBF,MACxB0D,KAAM8Y,GAAwB9Y,KAC9BC,MAAO6Y,GAAwB7Y,MAC/ByF,YAAa,gCACbkH,mBAAoB,eACpBjH,UAAW,aACXN,YAAarG,IAAOgE,KAAK,QACzBe,MAAO/E,IAAOgE,KAAK,aACnB8J,SAAU,SAACnN,GAAC,OAAKoM,GAAa,aAAcpM,IAC5C1M,MAAyB,QAApB8pB,EAAQ,OAANpF,SAAM,IAANA,QAAM,EAANA,GAAQ7W,kBAAU,IAAAic,IAAI,GAC7BpQ,SAAU,WACVrJ,QAASmU,EACT1K,QAAS,SAACpN,GAAO,IAADsd,EAAAC,EACZpE,GAAwB5Y,OAAyB,QAAnB+c,EAAI,OAADtd,QAAC,IAADA,GAAS,QAARud,EAADvd,EAAGwG,cAAM,IAAA+W,OAAR,EAADA,EAAWjqB,aAAK,IAAAgqB,IAAI,GACrDnE,GAAwB9Y,KAAO,EAC/BqB,IAAiB,IAErB+E,WAAY,SAACzG,GAAO,IAADwd,EAAAC,EACftE,GAAwB9Y,KAAc,QAAVmd,EAAI,OAADxd,QAAC,IAADA,OAAC,EAADA,EAAGK,YAAI,IAAAmd,IAAI,EAC1CrE,GAAwB7Y,MAAgB,QAAXmd,EAAI,OAADzd,QAAC,IAADA,OAAC,EAADA,EAAGM,aAAK,IAAAmd,IAAI,GAC5C/b,QAGRqB,IAAAC,cAACqK,kBAAe,CACZP,WAAS,EACTQ,UAAQ,EACRha,MAAO,CAAS,OAAR0N,QAAQ,IAARA,IAAY,KAAY,OAANC,QAAM,IAANA,IAAU,MACpCmD,MAAO/E,IAAOgE,KAAK,YACnB8J,SAAU,SAACnN,GAAC,OAAKoM,GAAa,OAAQpM,IACtC0F,YAAW,GAAA1D,OAAK3C,IAAOgE,KAAK,WAAU,OAAArB,OAAM3C,IAAOgE,KAAK,aACxDkK,aAAc,aACdP,SAAU,aAEdjK,IAAAC,cAAA,OAAKqB,UAAS,GAAArC,OAAKyG,EAAQiV,KAAI,KAAA1b,OAAIyG,EAAQkV,gBACvC5a,IAAAC,cAACyK,SAAM,CACH2F,KAAM/T,IAAOgE,KAAK,YAClB2J,SAAS,WACTpI,MAAO,UACPuC,QAASrE,GACT4K,UAAW,gBAmX1B9H,KAGT7C,IAAAC,cAAC6K,UAAa,CACVC,YAA4C,QAAjCmJ,EAA0B,QAA1BC,EAAElN,GAAiB/J,eAAO,IAAAiX,OAAA,EAAxBA,EAA0B5W,aAAK,IAAA2W,IAAI,GAChDlJ,YAA2C,QAAhCoJ,EAA0B,QAA1BC,EAAEpN,GAAiB/J,eAAO,IAAAmX,OAAA,EAAxBA,EAA0B/W,YAAI,IAAA8W,IAAI,EAC/CnJ,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,mBAAmB,EACnBC,mBAAmB,EACnBC,WAAY,SACZC,WAAYjP,IAAOgE,KAAK,WACxBiB,MAAO,CAAEkK,OAAQ,QACjBhK,OAAQnF,IAAOkP,gBAAkB,GACjC5K,QAAS+E,EACT+F,WAA2B,QAAjB4I,EAAU,OAAR/P,SAAQ,IAARA,QAAQ,EAARA,GAAU3K,aAAK,IAAA0a,IAAI,EAC/BxT,WAA0B,QAAhByT,EAAU,OAARhQ,SAAQ,IAARA,QAAQ,EAARA,GAAU5K,YAAI,IAAA4a,IAAI,GAC9BzI,cA1DU,SAAC7O,GACnB,IAAA4d,EAAsB5d,EAAdP,KAERS,GAAU,YAFE,IAAA0d,EAAG,GAAEA,IA0DT9O,aArDS,SAACC,GAAU,IAAD8O,EAAAC,EAC3B9T,GAAiB/J,QAAQI,KAAO0O,GAAuC,QAAnC8O,EAA4B,QAA5BC,EAAI9T,GAAiB/J,eAAO,IAAA6d,OAAA,EAAxBA,EAA0Bxd,aAAK,IAAAud,IAAI,IAC3E/d,MAoDQkP,gBAjDY,SAACC,GACrBjF,GAAiB/J,QAAQI,KAAO,EAChC2J,GAAiB/J,QAAQK,MAAQ2O,EACjCnP,OAgDQiD,IAAAC,cAACkM,SAAM,CAACC,WArWK,SAACnP,GAAO,IAAD+d,EAAA9hB,EAAA+hB,EAAAC,EAAA5O,EAAAC,EACpB7P,EAASO,EAAEuP,IAAX9P,KACAgQ,EAAehQ,EAAfgQ,WACFC,EAAOrQ,IAAOsQ,QAAQ,CAAEC,OAA0B,QAApBmO,EAAM,OAAJte,QAAI,IAAJA,OAAI,EAAJA,EAAMoQ,oBAAY,IAAAkO,IAAI,KAC5D,OACIhb,IAAAC,cAAA,OAAKqB,UAAW,uCAAwCC,MAAO,CAAEC,MAAO,SACpExB,IAAAC,cAAC8M,SAAM,CACHhD,WAAW,EACXvI,MAAO,GACPC,OAAQ,GACRK,UAAQ,EACRpF,MAAIxD,EAAC,GAADqQ,YAAArQ,EACCoD,IAAOgE,KAAK,aAAY,GAAArB,OAAU,OAAJ0N,QAAI,IAAJA,OAAI,EAAJA,EAAMvO,WAAU,OAAAa,OAAU,OAAJ0N,QAAI,IAAJA,OAAI,EAAJA,EAAMpJ,eAAYgG,YAAArQ,EACtEoD,IAAOgE,KAAK,aAAmB,OAAJqM,QAAI,IAAJA,OAAI,EAAJA,EAAMK,gBAAczD,YAAArQ,EAC/CoD,IAAOgE,KAAK,gBAAkBhE,IAAO2Q,YAAgB,OAAJN,QAAI,IAAJA,OAAI,EAAJA,EAAMO,WAAY,GAAI,MAAIhU,GAEhFiU,WAAS,EACTC,IAAyB,QAAtB6N,EAAM,OAAJtO,QAAI,IAAJA,OAAI,EAAJA,EAAMU,sBAAc,IAAA4N,IAAI,KAEjCjb,IAAAC,cAAA,WACID,IAAAC,cAACqN,aAAU,CAAClb,KAAM,MAAyB,QAApB8oB,EAAM,OAAJvO,QAAI,IAAJA,OAAI,EAAJA,EAAMpJ,oBAAY,IAAA2X,IAAI,IAC/Clb,IAAAC,cAAA,OAAKqB,UAAW,iCACZtB,IAAAC,cAACsN,cAAW,CAAC9L,OAAQ,GAAI+L,SAAO,EAAChM,MAAO,KACxCxB,IAAAC,cAACqN,aAAU,CAAClb,KAAM,KAAMmP,MAAO,CAAEkM,YAAa,GAAK5L,MAAuB,QAAlByK,EAAEhQ,IAAOoR,iBAAS,IAAApB,GAAQ,QAARC,EAAhBD,EAAkBqB,cAAM,IAAApB,OAAR,EAAhBA,EAA0B5J,aAC/E+J,EAAapQ,IAAO2Q,YAAYP,EAAY,GAAI,oBAAsB,QA6U7CyO,SAAU,MAChDnb,IAAAC,cAACkM,SAAM,CAACC,WAtUD,SAACnP,GAChB,IAAQP,EAASO,EAAEuP,IAAX9P,KACF0e,EAAa,CAAEtN,OAAQwF,IAAUC,SAAS7W,EAAKyI,YAC/CkO,GAAkB,OAAJ3W,QAAI,IAAJA,OAAI,EAAJA,EAAMyI,WACtBnF,IAAAC,cAAC8N,UAAO,CAAC1N,MAAOL,IAAAC,cAAA,OAAK4N,wBAAyBuN,IAAgB7V,UAAW,QACrEvF,IAAAC,cAAA,OAAK4N,wBAAyBuN,KAEhC,KACN,OAAOpb,IAAAC,cAAA,OAAKqB,UAAW,eAAgB+R,IA8TC8H,SAAU,IAAKnN,SAAUtI,EAAQuI,WACjEjO,IAAAC,cAACkM,SAAM,CAACC,WA5TC,SAAHjN,GAAkB,IAC1Bkc,EAtEY,SAAC3e,GAAU,IAAD4e,EAAAC,EACtBtE,EAA6B,QAAvBqE,EAAO,OAAJ5e,QAAI,IAAJA,OAAI,EAAJA,EAAMyB,sBAAc,IAAAmd,IAAI,EACjCzZ,EAA2B,IAAnB6M,OAAOuI,GAAgB,UAA+B,MAAnBvI,OAAOuI,GAAkB,SAAW,GACjFuE,EAAQ,YACZ,OAAQ9M,OAAOuI,IACX,KAAK,EACDuE,EAAQ,YACR,MACJ,KAAK,EACDA,EAAQ,WACR,MACJ,KAAK,EACL,KAAK,IACDA,EAAQ,QAKhB,MAAO,CACHC,eAAgB5Z,EAChB+E,YAAaqQ,EACbyE,cAAeF,EACfpE,cAAiC,QAApBmE,EAAM,OAAJ7e,QAAI,IAAJA,OAAI,EAAJA,EAAMya,oBAAY,IAAAoE,IAAIjf,IAAOgE,KAAK,yBAgDlCqb,CADKxc,EAAJzC,MAEpB,OAAOsD,IAAAC,cAACkO,UAAM,CAACzR,KAAM2e,KA0TqBF,SAAU,MAC5Cnb,IAAAC,cAACkM,SAAM,CAACC,WAxTC,SAACnP,GAClB,IAAQP,EAASO,EAAEuP,IAAX9P,KACFyB,EAAiBuQ,OAAW,OAAJhS,QAAI,IAAJA,OAAI,EAAJA,EAAMyB,gBACpC,OACI6B,IAAAC,cAAA,OAAKqB,UAAW,2BAA4BC,MAAO,CAAEqa,KAAM,IACvD5b,IAAAC,cAAC8N,UAAO,CAAC1N,MAAO/D,IAAOgE,KAAK,YACxBN,IAAAC,cAACqO,aAAU,CACPtP,KAAM,QACNvI,KAAM,UACNwT,SAAU,OACVuD,SAAO,EACPe,UAAQ,EACR3D,SAA0B,IAAhB3E,EACV7B,QAAS,eAAAoK,EAAA,OAAMrR,GAAU,UAAgB,QAAPqR,EAAEvR,EAAEuP,WAAG,IAAAgC,OAAA,EAALA,EAAO9R,WAG9B,IAAnByB,GAA2C,IAAnBA,GAA2C,MAAnBA,IAC9C6B,IAAAC,cAAC8N,UAAO,CAAC1N,MAAO/D,IAAOgE,KAAK,aACxBN,IAAAC,cAACqO,aAAU,CACPtP,KAAM,QACN4L,SAAU3E,EAAc,EACxBxP,KAAM,OACNwT,SAAU,OACVuD,SAAO,EACPe,UAAQ,EACRnK,QAAS,WACL,IAAM+U,EAAU7c,IAAOgE,KAAK,2CAC5BhE,IAAOiC,MAAMC,KAAK,SAAU2a,GAAS,WACjCtD,GAAa3Y,QAAU,CACnB4Y,SAAU,KACV1jB,KAAM,GACNoU,QAAa,OAAJ9J,QAAI,IAAJA,IAAQ,MAErB+c,YAMA,IAAnBtb,GACG6B,IAAAC,cAAA,OAAKqB,UAAW,2BAA4BC,MAAO,CAAEqa,KAAM,IACvD5b,IAAAC,cAAC8N,UAAO,CAAC1N,MAAO/D,IAAOgE,KAAK,UACxBN,IAAAC,cAACqO,aAAU,CACPtP,KAAM,QACN4L,SAAU3E,EAAc,EACxBxP,KAAM,WACNwT,SAAU,OACVuD,SAAO,EACPe,UAAQ,EACRnK,QAAS,SAACnH,GAAC,OAAK6a,GAAe,UAAW7a,EAAGP,OAGrDsD,IAAAC,cAAC8N,UAAO,CAAC1N,MAAO/D,IAAOgE,KAAK,YACxBN,IAAAC,cAACqO,aAAU,CACPtP,KAAM,QACN4L,SAAU3E,EAAc,EACxBxP,KAAM,SACNwT,SAAU,OACVuD,SAAO,EACPe,UAAQ,EACRnK,QAAS,SAACnH,GAAC,OAAK6a,GAAe,SAAU7a,EAAGP,UA4P1Bye,SAAU,OAG/ChG,IACGnV,IAAAC,cAAC+O,UAAQ,CAACC,KAAMkG,GAAmBzY,KAAM+J,GAAUvJ,QAASgS,QAAS,SAACjS,EAAGkS,GAAQ,OAAKlH,GAAa,WAAYkH,MAGlHkG,IACGrV,IAAAC,cAACmP,UAAQ,CACLH,KAAMoG,GACNnG,QAAS,SAACjS,GAAC,OAAKgL,GAAa,aAC7BzL,OAAQ,WACRuM,QAA8C,QAAvCyL,EAAmB,QAAnBC,EAAEhO,GAAUvJ,eAAO,IAAAuX,GAAS,QAATC,EAAjBD,EAAmBjO,eAAO,IAAAkO,OAAT,EAAjBA,EAA4B/W,iBAAS,IAAA6W,IAAI,KAI1DxU,IAAAC,cAAC4b,UAAgB,CACblb,IAAKoV,GACL9G,KAAMsG,GACNrG,QAAS+I,GACTrX,QAAS6U,GACTK,SAAwC,QAAhCnB,EAAsB,QAAtBC,EAAEiB,GAAa3Y,eAAO,IAAA0X,OAAA,EAApBA,EAAsBkB,gBAAQ,IAAAnB,IAAI,KAC5CviB,KAAgC,QAA5ByiB,EAAsB,QAAtBC,EAAEe,GAAa3Y,eAAO,IAAA4X,OAAA,EAApBA,EAAsB1iB,YAAI,IAAAyiB,IAAI,KACpCc,UAAWA,GACXmG,WAAY,SAACC,GAAI,OAAK5D,GAAc,EAAG4D,IACvCC,SAAU,SAACD,GAAI,OAAK5D,GAAc,IAAK4D,S,8OCqJxCzX,sBACX7L,YAAQ,MACJ,SAACI,GAAQ,MAAM,CACXojB,gBAAiBljB,YAAmBmjB,EAAiBrjB,GACrDC,eAAgBC,YAAmBD,EAAgBD,OAJhDyL,EAtzBE,SAACkB,GAEd,IAsBAtM,EAAwCsM,GAAS,GAAzCgB,EAAOtN,EAAPsN,QAASD,EAAIrN,EAAJqN,KAAM0I,EAAI/V,EAAJ+V,KAAMC,EAAOhW,EAAPgW,QAC7B9V,EAAgCC,mBAvBV,CAClB0P,QAAS,GACTuI,WAAY,GACZ6K,aAAc,GACd/d,WAAY,GACZge,iBAAkB,GAClB7T,MAAO,GACP8T,cAAe,GACfC,YAAa,GACbC,cAAe,GACfC,kBAAmB,GACnBC,WAAY,GACZC,aAAc,GACdC,cAAe,GACfC,kBAAmB,GACnBC,WAAY,GACZC,aAAc,GACdC,UAAW,GACXC,cAAe,GACfC,OAAQ,GACRC,SAAU,KAGyC5jB,EAAAC,YAAAH,EAAA,GAAhDI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC5BI,EAAwDL,mBAAS,IAAGQ,EAAAN,YAAAG,EAAA,GAA7DyjB,EAAoBtjB,EAAA,GAAEujB,EAAuBvjB,EAAA,GACpDG,EAA8CX,mBAAS,IAAGY,EAAAV,YAAAS,EAAA,GAAnDqjB,EAAepjB,EAAA,GAAEqjB,EAAkBrjB,EAAA,GAC1CG,EAA8Cf,mBAAS,IAAGgB,EAAAd,YAAAa,EAAA,GAAnDmjB,EAAeljB,EAAA,GAAEmjB,EAAkBnjB,EAAA,GAC1CG,EAAwDnB,mBAAS,IAAGoB,EAAAlB,YAAAiB,EAAA,GAA7DijB,EAAoBhjB,EAAA,GAAEijB,EAAuBjjB,EAAA,GACpDG,EAAgDvB,mBAAS,IAAGwB,EAAAtB,YAAAqB,EAAA,GAArD+iB,EAAgB9iB,EAAA,GAAE+iB,EAAmB/iB,EAAA,GAC5CG,EAAsC3B,mBAAS,IAAG4B,EAAA1B,YAAAyB,EAAA,GAA3C6iB,EAAW5iB,EAAA,GAAE6iB,EAAc7iB,EAAA,GAClCG,EAAoD/B,mBAAS,IAAGgC,EAAA9B,YAAA6B,EAAA,GAAzD2iB,EAAkB1iB,EAAA,GAAE2iB,GAAqB3iB,EAAA,GAChDG,GAA8CnC,mBAAS,IAAGoC,GAAAlC,YAAAiC,GAAA,GAAnDyiB,GAAexiB,GAAA,GAAEyiB,GAAkBziB,GAAA,GAC1CG,GAAkCvC,oBAAS,GAAMwC,GAAAtC,YAAAqC,GAAA,GAA1CuiB,GAAStiB,GAAA,GAAEuiB,GAAYviB,GAAA,GAC9BwiB,GAA+BhlB,mBAAS,CAACilB,aAAa,IAAOC,GAAAhlB,YAAA8kB,GAAA,GAAtDzd,GAAO2d,GAAA,GAAExN,GAAWwN,GAAA,GAC3BC,GAAoCnlB,oBAAS,GAAMolB,GAAAllB,YAAAilB,GAAA,GAA5CE,GAAUD,GAAA,GAAEE,GAAaF,GAAA,GAChCG,GAA0CvlB,oBAAS,GAAMwlB,GAAAtlB,YAAAqlB,GAAA,GAAlDE,GAAaD,GAAA,GAAEE,GAAgBF,GAAA,GACtCG,GAAwC3lB,oBAAS,GAAM4lB,GAAA1lB,YAAAylB,GAAA,GAAhDE,GAAYD,GAAA,GAAEE,GAAeF,GAAA,GACpCG,GAAgD/lB,oBAAS,GAAMgmB,GAAA9lB,YAAA6lB,GAAA,GAAxDE,GAAgBD,GAAA,GAAEE,GAAmBF,GAAA,GAC5CG,GAAsCnmB,oBAAS,GAAMomB,GAAAlmB,YAAAimB,GAAA,GAA9CE,GAAWD,GAAA,GAAEE,GAAcF,GAAA,GAC5BG,GAAS3jB,iBAAO,MAChB4jB,GAAc5jB,iBAAO,IACrB6jB,GAAc7jB,iBAAO,IACrB8jB,GAAc9jB,kBAAO,GACrB+jB,GAAY/jB,kBAAO,GAEnBgkB,GAAW,WACb,IAAMnjB,EAAS,CACXiM,QAAUpM,IAAEC,IAAI4J,EAAS,UAAW,KAExCgL,GAAW,CAAC8M,aAAa,IACzB9Y,EAAMyW,gBAAgBiE,QAAQpjB,GAAQ,SAAC/I,EAAO2I,GAE1C,GADA8U,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEP2I,GACAjD,EAAY,CACRsP,QAASpM,IAAEC,IAAIF,EAAM,UAAW,IAChC4U,WAAY3U,IAAEC,IAAIF,EAAM,aAAc,IACtCyf,aAAcxf,IAAEC,IAAIF,EAAM,eAAgB,IAC1C0B,WAAYzB,IAAEC,IAAIF,EAAM,aAAc,IACtC0f,iBAAkBzf,IAAEC,IAAIF,EAAM,mBAAoB,IAClD6L,MAAO5L,IAAEC,IAAIF,EAAM,QAAS,IAC5B2f,cAAe1f,IAAEC,IAAIF,EAAM,iBAAkB,IAC7C4f,YAAa3f,IAAEC,IAAIF,EAAM,cAAe,IACxC6f,cAAe5f,IAAEC,IAAIF,EAAM,gBAAiB,IAC5C+f,WAAY9f,IAAEC,IAAIF,EAAM,aAAc,IACtCigB,cAAehgB,IAAEC,IAAIF,EAAM,gBAAiB,IAC5CmgB,WAAYlgB,IAAEC,IAAIF,EAAM,aAAc,IACtCqgB,UAAWpgB,IAAEC,IAAIF,EAAM,YAAa,IACpCugB,OAAQtgB,IAAEC,IAAIF,EAAM,SAAU,IAC9B8f,kBAAmB,GACnBE,aAAc,GACdE,kBAAmB,GACnBE,aAAc,GACdE,cAAe,GACfE,SAAU,SAMpBiD,GAAiB,WAAqC,IAApCC,EAAUxiB,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GAAIyiB,EAAQziB,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GAC1Cd,EAAS,CACXe,SAAUvB,IAAOwB,UAAY,GAC7BwiB,UAAW,EACXC,WAAYH,EACZI,SAAUH,GAEd7O,GAAW,CAAC8M,aAAa,IACzB9Y,EAAMyW,gBAAgBwE,cAAc3jB,GAAQ,SAAC/I,EAAO2I,GAEhD,GADA8U,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEX,GAAI2I,IACAgkB,GAAYN,EAAW1jB,IACJ,eAAf0jB,GAA8C,cAAfA,IAAwC,SAAT7Z,GAAmByZ,GAAU9iB,SACxFR,GAAQA,EAAKxG,OAAS,GAAG,CACxB,IAI+ByqB,EAAAC,EAMxBC,EAAAC,EAVCxE,EAAyG9iB,EAAzG8iB,YAAaE,EAA4FhjB,EAA5FgjB,kBAAkBM,EAA0EtjB,EAA1EsjB,aAAcJ,EAA4DljB,EAA5DkjB,aAAcE,EAA8CpjB,EAA9CojB,kBAAmBI,EAA2BxjB,EAA3BwjB,cAAeE,EAAY1jB,EAAZ0jB,SAC/F6D,EAAOpkB,IAAEC,IAAIF,EAAK,GAAI,OAAQ,IAChC2U,EAAa,GACb5a,EAAO,GACX,GAAkB,cAAf2pB,EACCJ,GAAU9iB,SAAU,EAEpBzG,EAAO6lB,EAAc,IAAMU,EAAgB,MAAiB,QAAV2D,EADlDtP,EAAa3U,EAAKwa,MAAK,SAAA8J,GAAI,OAAIA,EAAKD,OAASA,YACe,IAAAJ,OAAA,EAAVA,EAAYM,OAAQ,IAAM,IACxErE,EAAoB,IAAME,EAAe,IAAMN,EAAoB,IAAME,EAC7EwE,GAAQ,CAACjE,OAAQ8D,EAAM7D,UAAoB,QAAV0D,EAAAvP,SAAU,IAAAuP,OAAA,EAAVA,EAAYK,OAAQ,GAAI5E,cAAe5lB,SAGxEA,EAAO6lB,EAAc,IAAMU,EAAgB,IAAME,EAAW,IAAMN,EAAoB,MACvE,QAAViE,EAFLxP,EAAa3U,EAAKwa,MAAK,SAAA8J,GAAI,OAAIA,EAAKD,OAASA,YAE9B,IAAAF,OAAA,EAAVA,EAAYI,OAAQ,IAAM,IAAMzE,EAAoB,IAAME,EAC/DwE,GAAQ,CAACrE,WAAYkE,EAAMjE,cAAwB,QAAVgE,EAAAzP,SAAU,IAAAyP,OAAA,EAAVA,EAAYG,OAAQ,GAAI5E,cAAe5lB,SASlGiqB,GAAc,SAACN,EAAW1jB,GAC5B,OAAQ0jB,GACJ,IAAK,gBACDhD,EAAwB1gB,GACxB,MACJ,IAAK,aACD4gB,EAAmB5gB,GACnB,MACJ,IAAK,gBACDghB,EAAwBhhB,GACxB,MACJ,IAAK,YACDkhB,EAAoBlhB,GACpB,MACJ,IAAK,aACD8gB,EAAmB9gB,GACnB,MACJ,IAAK,YACDohB,EAAephB,KA4DrBykB,GAAyB,SAAC9wB,GAC5B,IAAIA,EAAK,OAAO,EAChB,OAAQA,GACJ,IAAK,YACL,IAAK,SACL,IAAK,WACL,IAAK,MACL,IAAK,SACL,IAAK,aACL,IAAK,QACL,IAAK,aACL,IAAK,cACL,IAAK,aACL,IAAK,cACD0uB,IAAiB,GACjB,MACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,YACL,IAAK,YACDoB,GAAe,gBAAiB,IAChCA,GAAe,aAAc,IAC7BA,GAAe,gBAAiB,IAChCA,GAAe,YAAa,IAC5BhB,IAAgB,GAChB,MACJ,IAAK,YACL,IAAK,aACL,IAAK,gBACL,IAAK,cACDI,IAAoB,GACpB,MACJ,IAAK,SACL,IAAK,WACL,IAAK,UACL,IAAK,aACL,IAAK,cACL,IAAK,gBACL,IAAK,YACL,IAAK,eACL,IAAK,QACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,cACL,IAAK,iBAnGY,WAAqB,IAApB6B,EAASxjB,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GAC5Bd,EAAS,CACXe,SAAUvB,IAAOwB,UAAY,GAC7BujB,UAAWD,GAEf5P,GAAW,CAAC8M,aAAa,IACzB9Y,EAAMyW,gBAAgBqF,gBAAgBxkB,GAAQ,SAAC/I,EAAO2I,GAElD,GADA8U,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAER2I,GACCwhB,GAAmBxhB,MAuFnB6kB,CAAiB5kB,IAAEC,IAAI4J,EAAS,YAlFvB,SAAC4a,GAClB,OAAQA,GACJ,IAAK,SACD,MAAO,WACX,IAAK,WACD,MAAO,aACX,IAAK,UACD,MAAO,YACX,IAAK,aAEL,IAAK,cACD,MAAO,cACX,IAAK,gBACD,MAAO,YACX,IAAK,YACD,MAAO,mBACX,IAAK,eACD,MAAO,sBACX,IAAK,QACD,MAAO,UACX,IAAK,WACD,MAAO,aACX,IAAK,YAEL,IAAK,YACD,MAAO,eACX,IAAK,cACD,MAAO,cACX,IAAK,gBACD,MAAO,gBACX,QACI,MAAO,IAmDsCI,CAAanxB,IAAQ,KAClEsvB,IAAe,KAQ3BtjB,qBAAU,WACM,SAATkK,IACC4a,GAAuBxkB,IAAEC,IAAI4J,EAAS,aAAc7J,IAAEC,IAAI4J,EAAS,aAAc,MACjFyZ,KACAwB,KACmC,IAAhC/S,OAAOlI,EAAQI,cACd+X,IAAc,IAIV,SAATpY,IACC4a,GAAuBxkB,IAAEC,IAAI4J,EAAS,aAAc7J,IAAEC,IAAI4J,EAAS,aAAc,MACjFyZ,KACAwB,KACA9C,IAAc,IAEN,SAATpY,IACC4a,GAAuBxkB,IAAEC,IAAI4J,EAAS,aAAc7J,IAAEC,IAAI4J,EAAS,aAAc,MACjFyZ,KACAwB,KACA9C,IAAc,MAGnB,CAACpY,IAEJlK,qBAAU,WACDM,IAAEC,IAAIpD,EAAU,aAAc,KAC/B2mB,GAAe,aAAaxjB,IAAEC,IAAIpD,EAAU,aAAc,OAG/D,CAAS,OAARA,QAAQ,IAARA,OAAQ,EAARA,EAAUijB,aAEdpgB,qBAAU,WACDM,IAAEC,IAAIpD,EAAU,aAAc,KAC/B2mB,GAAe,YAAYxjB,IAAEC,IAAIpD,EAAU,aAAc,OAG9D,CAAS,OAARA,QAAQ,IAARA,OAAQ,EAARA,EAAUqjB,aAEdxgB,qBAAU,WACN,GAAY,SAATkK,IAAoBwZ,GAAY7iB,UAAYP,IAAE+kB,QAAQloB,KAAcmD,IAAE+kB,QAAQvE,KAC5ExgB,IAAE+kB,QAAQrE,KAAqB1gB,IAAE+kB,QAAQjE,KACzC9gB,IAAE+kB,QAAQnE,KAAqB5gB,IAAE+kB,QAAQ/D,KACzChhB,IAAE+kB,QAAQ/D,KAAsBhhB,IAAE+kB,QAAQ7D,GAAc,CACzDkC,GAAY7iB,SAAU,EACtB,IAAMqf,EAAgBY,EAAqBjG,MAAK,SAAA8J,GAAI,OAChDA,EAAKW,KAAOhlB,IAAEC,IAAIpD,EAAU,gBAAiB,OAC3CijB,EAAaY,EAAgBnG,MAAK,SAAA8J,GAAI,OACxCA,EAAKD,OAASpkB,IAAEC,IAAIpD,EAAU,aAAc,OAC1CmjB,EAAgBc,EAAqBvG,MAAK,SAAA8J,GAAI,OAChDA,EAAKW,KAAOhlB,IAAEC,IAAIpD,EAAU,gBAAiB,OAC3CqjB,EAAaU,EAAgBrG,MAAK,SAAA8J,GAAI,OACxCA,EAAKD,OAASpkB,IAAEC,IAAIpD,EAAU,aAAc,OAC1CujB,EAAYY,EAAiBzG,MAAK,SAAA8J,GAAI,OACxCA,EAAKW,KAAOhlB,IAAEC,IAAIpD,EAAU,YAAa,OACvCyjB,EAASY,EAAY3G,MAAK,SAAA8J,GAAI,OAChCA,EAAKD,OAASpkB,IAAEC,IAAIpD,EAAU,SAAU,OAC5C0nB,GAAQ,CACJ1E,mBAAgC,OAAbD,QAAa,IAAbA,OAAa,EAAbA,EAAe0E,OAAQ,GAC1CvE,cAAwB,OAAVD,QAAU,IAAVA,OAAU,EAAVA,EAAYwE,OAAQ,GAClCrE,mBAAgC,OAAbD,QAAa,IAAbA,OAAa,EAAbA,EAAesE,OAAQ,GAC1CnE,cAAwB,OAAVD,QAAU,IAAVA,OAAU,EAAVA,EAAYoE,OAAQ,GAClCjE,eAAwB,OAATD,QAAS,IAATA,OAAS,EAATA,EAAWkE,OAAQ,GAClC/D,UAAgB,OAAND,QAAM,IAANA,OAAM,EAANA,EAAQgE,OAAQ,QAInC,CAACznB,EAAU2jB,EAAsBE,EAAiBI,EACjDF,EAAiBI,EAAkBE,IAGvC,IAAMrM,GAAa,SAACphB,GAChB2gB,GAAWjS,wBAAC,GAAI8B,IAAWxQ,KAGzB8wB,GAAU,SAAC9wB,GACbqJ,EAAWqF,wBAAC,GAAItF,GAAYpJ,KAG1BqxB,GAAkB,WACpB,IAAM5iB,EAAQ,CACV+iB,MAAOjlB,IAAEC,IAAI4J,EAAS,UAAW,IACjCqb,UAAW,YAEfrQ,GAAW,CAAC8M,aAAa,IACzB9Y,EAAM1M,eAAegpB,wBAAwBjjB,GAAO,SAAC9K,EAAO2I,GAExD,GADA8U,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEP2I,GAAQA,EAAKxG,OAAS,GACtB8nB,GAAsBthB,OAM5BuL,GAAe,WAAuB,IAAtBgK,EAAQrU,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,IAAAA,UAAA,GACvBsR,GAASA,EAAQ+C,IA0ClB8P,GAAe,SAAC1xB,EAAI4M,GACtB,IAAI5M,EAAK,OAAO,EACZ2vB,GAAU9iB,UACV8iB,GAAU9iB,SAAU,GAExB,IAAI3M,EAAQoM,IAAEC,IAAIK,EAAG,QAASN,IAAEC,IAAIK,EAAG,eAAgB,KACvD,OAAQ5M,GACJ,IAAK,gBAGL,IAAK,cAGL,IAAK,gBAGL,IAAK,aAGL,IAAK,gBAGL,IAAK,aAGL,IAAK,YAGL,IAAK,SAGL,IAAK,QACD2xB,GAAS3xB,EAAIE,KAOnByxB,GAAW,SAAC3xB,EAAIE,GAAW,IAAD0xB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACpBtG,EAAyG9iB,EAAzG8iB,YAAaE,EAA4FhjB,EAA5FgjB,kBAAkBM,EAA0EtjB,EAA1EsjB,aAAcJ,EAA4DljB,EAA5DkjB,aAAcE,EAA8CpjB,EAA9CojB,kBAAmBI,EAA2BxjB,EAA3BwjB,cAAeE,EAAY1jB,EAAZ0jB,SACjG7L,EAAa,GACb5a,EAAO,GACX,OAAQpG,GACJ,IAAK,gBACD6wB,GAAQ,CAAC7E,cAAe9rB,IACxB,MACJ,IAAK,cAGD2wB,GAAQ,CAAC5E,YAAa/rB,EAAO8rB,cAF7B5lB,EAAOlG,EAAQ,IAAMysB,EAAgB,IAAME,EAAW,IAAMN,EAAoB,IAC5EE,EAAe,IAAMN,EAAoB,IAAME,IAEnD,MACJ,IAAK,gBAEDjmB,EAAO6lB,EAAc,IAAMU,EAAgB,IAAME,EAAW,IAAMN,EAC9D,IAAME,EAAe,MAAiB,QAAVmF,EAFhC5Q,EAAa8L,EAAqBjG,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAOpxB,YAEjB,IAAA0xB,OAAA,EAAVA,EAAYhB,OAAQ,IAAM,IAAMvE,EAChEwE,GAAQ,CAAC3E,cAAehsB,EAAOisB,mBAA6B,QAAV0F,EAAA7Q,SAAU,IAAA6Q,OAAA,EAAVA,EAAYjB,OAAQ,GAAI5E,cAAe5lB,IACzF,MACJ,IAAK,aAEDA,EAAO6lB,EAAc,IAAMU,EAAgB,IAAME,EAAW,IAAMN,EAAoB,IAClFE,EAAe,IAAMN,EAAoB,MAAiB,QAAV2F,EAFpD9Q,EAAagM,EAAgBnG,MAAK,SAAA8J,GAAI,OAAIA,EAAKD,OAASxwB,YAEM,IAAA4xB,OAAA,EAAVA,EAAYlB,OAAQ,IACxEC,GAAQ,CAACzE,WAAYlsB,EAAMmsB,cAAwB,QAAV0F,EAAA/Q,SAAU,IAAA+Q,OAAA,EAAVA,EAAYnB,OAAQ,GAAI5E,cAAe5lB,IAChF,MACJ,IAAK,gBAEDA,EAAO6lB,EAAc,IAAMU,EAAgB,IAAME,EAAW,MAAiB,QAAVmF,EADnEhR,EAAaoM,EAAqBvG,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAOpxB,YACkB,IAAA8xB,OAAA,EAAVA,EAAYpB,OAAQ,IAAM,IACzFnE,EAAe,IAAMN,EAAoB,IAAME,EACnDwE,GAAQ,CAACvE,cAAepsB,EAAOqsB,mBAA6B,QAAV0F,EAAAjR,SAAU,IAAAiR,OAAA,EAAVA,EAAYrB,OAAQ,GAAI5E,cAAe5lB,IACzF,MACJ,IAAK,aAEDA,EAAO6lB,EAAc,IAAMU,EAAgB,IAAME,EAAW,IAAMN,EAAoB,MACvE,QAAV2F,EAFLlR,EAAakM,EAAgBrG,MAAK,SAAA8J,GAAI,OAAIA,EAAKD,OAASxwB,YAEzC,IAAAgyB,OAAA,EAAVA,EAAYtB,OAAQ,IAAM,IAAMzE,EAAoB,IAAME,EAC/DwE,GAAQ,CAACrE,WAAYtsB,EAAOusB,cAAwB,QAAV0F,EAAAnR,SAAU,IAAAmR,OAAA,EAAVA,EAAYvB,OAAQ,GAAI5E,cAAe5lB,IACjF,MACJ,IAAK,YAEDA,EAAQ6lB,EAAc,MAAiB,QAAVmG,EAD7BpR,EAAasM,EAAiBzG,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAOpxB,YAChB,IAAAkyB,OAAA,EAAVA,EAAYxB,OAAQ,IAAM,IAAM/D,EAAW,IAAMN,EAAoB,IAC9FE,EAAe,IAAMN,EAAoB,IAAME,EACnDwE,GAAQ,CAACnE,UAAWxsB,EAAOysB,eAAyB,QAAV0F,EAAArR,SAAU,IAAAqR,OAAA,EAAVA,EAAYzB,OAAQ,GAAI5E,cAAe5lB,IACjF,MACJ,IAAK,SAEDA,EAAO6lB,EAAc,IAAMU,EAAgB,MAAiB,QAAV2F,EADlDtR,EAAawM,EAAY3G,MAAK,SAAA8J,GAAI,OAAIA,EAAKD,OAASxwB,YACQ,IAAAoyB,OAAA,EAAVA,EAAY1B,OAAQ,IAAM,IACxErE,EAAoB,IAAME,EAAe,IAAMN,EAAoB,IAAME,EAC7EwE,GAAQ,CAACjE,OAAQ1sB,EAAO2sB,UAAoB,QAAV0F,EAAAvR,SAAU,IAAAuR,OAAA,EAAVA,EAAY3B,OAAQ,GAAI5E,cAAe5lB,IACzE,MACJ,IAAK,QACDyqB,GAAQ,CAAC3Y,MAAOhY,MA+C5B,OACIyP,IAAAC,cAACD,IAAME,SAAQ,KACXF,IAAAC,cAAC4iB,UAAK,CACF5T,KAAMA,EACN7J,SAAU,KACVlD,WAAW,EACXgN,QAAS,kBAAMjH,IAAa,IAC5B5H,MAAO/D,IAAOgE,KAAK,uBAAyB,IAAM3D,IAAEC,IAAIpD,EAAU,eAAgB,KAElFwG,IAAAC,cAAC4iB,UAAMC,QAAO,KACV9iB,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,sBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS4iB,kBAAoB,GACpCxR,SAAU8T,IAAc9d,GAAQ0d,YAChC0E,gBAAiB,CACbC,QAAQ,GAEZC,WAAY,CACRphB,UAAU,GAEdI,WAAS,MAIrBlC,IAAAC,cAACM,IAAG,KACCue,IACD9e,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,wBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS6iB,eAAiB,GACjCzR,SAAU8T,IAAc9d,GAAQ0d,YAChC0E,gBAAiB,CACbC,QAAQ,GAEZ7wB,KAA8B,eAAjB,OAAPoU,QAAO,IAAPA,OAAO,EAAPA,EAASrK,YAA6B,SAAW,OACvDiO,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IAC/CiF,WAAS,KAIfgd,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,wBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,OAAe,OAARiJ,QAAQ,IAARA,OAAQ,EAARA,EAAU6iB,gBAAiB,GAClCzR,SAAU8T,IAAc9d,GAAQ0d,YAChC0E,gBAAiB,CACbC,QAAQ,GAEZC,WAAY,CACRphB,UAAU,GAEdsI,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IAC/CiF,WAAS,KAIfod,IACFtf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC4D,UAAa,CACVlB,YAAa,aACboB,iBAAiB,EACjBZ,iBAAiB,EACjB3B,MAAO,OACPoJ,SAAU8T,IAAc9d,GAAQ0d,YAChCjb,YAAa,aACb9S,OAAe,OAARiJ,QAAQ,IAARA,OAAQ,EAARA,EAAU6iB,gBAAiB,GAClCnZ,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,gBAAiB9kB,OAI5DyiB,IACD1f,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYmd,GACZjb,YAAa,OACbC,UAAW,KACXI,YAAa,aACbuH,SAAU8T,IAAc9d,GAAQ0d,YAChC2E,QAAQ,EACR9f,iBAAiB,EACjB5S,OAAe,OAARiJ,QAAQ,IAARA,OAAQ,EAARA,EAAU6iB,gBAAiB,GAClChb,MAAO/E,IAAOgE,KAAK,wBACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IACrD+M,OAAQ,aAKpBhK,IAAAC,cAACM,IAAG,KACE2e,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,UACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,OAAe,OAARiJ,QAAQ,IAARA,OAAQ,EAARA,EAAU8iB,cAAe,GAChC1R,SAAU8T,IAAc9d,GAAQ0d,YAChC0E,gBAAiB,CACbC,QAAQ,GAEZ7Y,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,cAAe9kB,IAC7CiF,WAAS,KAIfgd,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYqc,EACZna,YAAa,OACbC,UAAW,OACXI,YAAa,aACbuH,SAAU8T,IAAc9d,GAAQ0d,YAChC2E,QAAQ,EACR9f,iBAAiB,EACjB5S,OAAe,OAARiJ,QAAQ,IAARA,OAAQ,EAARA,EAAU+iB,gBAAiB,GAClClb,MAAO/E,IAAOgE,KAAK,aACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IACrD+M,OAAQ,YAIdkV,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYuc,GAAmB,GAC/Bra,YAAa,OACbC,UAAW,OACXI,YAAa,aACbuH,SAAU8T,IAAc9d,GAAQ0d,YAChC2E,QAAQ,EACR9f,iBAAiB,EACjB5S,OAAe,OAARiJ,QAAQ,IAARA,OAAQ,EAARA,EAAUijB,aAAc,GAC/Bpb,MAAO/E,IAAOgE,KAAK,iBACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,aAAc9kB,IAClD+M,OAAQ,aAMpBhK,IAAAC,cAACM,IAAG,KACE2e,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAY2c,GAAwB,GACpCza,YAAa,OACbC,UAAW,OACXI,YAAa,aACbuH,SAAU8T,IAAc9d,GAAQ0d,YAChC2E,QAAQ,EACR9f,iBAAiB,EACjB5S,OAAe,OAARiJ,QAAQ,IAARA,OAAQ,EAARA,EAAUmjB,gBAAiB,GAClCtb,MAAO/E,IAAOgE,KAAK,QACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IACrD+M,OAAQ,YAIfkV,IACDlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYyc,GAAmB,GAC/Bva,YAAa,OACbC,UAAW,OACXI,YAAa,aACbuH,SAAU8T,IAAc9d,GAAQ0d,YAChC2E,QAAQ,EACR9f,iBAAiB,EACjB5S,OAAe,OAARiJ,QAAQ,IAARA,OAAQ,EAARA,EAAUqjB,aAAc,GAC/Bxb,MAAO/E,IAAOgE,KAAK,YACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,aAAc9kB,IAClD+M,OAAQ,YAIdkV,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAY6c,GAAoB,GAChC3a,YAAa,OACbC,UAAW,OACXI,YAAa,aACbuH,SAAU8T,IAAc9d,GAAQ0d,YAChC2E,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAASujB,WAAa,GAC7B1b,MAAO/E,IAAOgE,KAAK,UACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,YAAa9kB,IACjD+M,OAAQ,YAIdkV,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAY+c,GAAe,GAC3B7a,YAAa,OACbC,UAAW,OACXI,YAAa,aACbuH,SAAU8T,IAAc9d,GAAQ0d,YAChC2E,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAASyjB,QAAU,GAC1B5b,MAAO/E,IAAOgE,KAAK,cACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,SAAU9kB,IAC9C+M,OAAQ,aAMpBhK,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACNI,WAAW,EACX9hB,MAAO/E,IAAOgE,KAAK,WACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS+O,OAAS,GACzBqC,SAAU8T,IAAc9d,GAAQ0d,YAChC0E,gBAAiB,CACbC,QAAQ,GAEZ7Y,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,QAAS9kB,IACvCiF,WAAS,OAKzBlC,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoD,GAAI,IACL5D,IAAAC,cAACmjB,UAAW,CACRC,cAAY,EACZ1iB,IAAKif,GACL0D,YAAY,EACZC,MAAOxF,EACPnT,SAAU8T,IAAc9d,GAAQ0d,YAChCkF,UAAW,EACXrF,UAAWA,GACXsF,YApaZ,SAAClzB,GACjB6tB,GAAa7tB,IAoaemzB,UAjaJ,SAACzmB,GAEzB,GADA4iB,GAAY3iB,QAAUD,EAAE0mB,cAAgB1mB,EAAE0mB,cAAgB,GACtD1mB,EAAE2mB,cAAgB3mB,EAAE2mB,aAAa1tB,OAAS,EAAG,CAC7C4pB,GAAY5iB,QAAO2mB,YAAQ5mB,EAAE2mB,cAC7B,IAAME,EAAahE,GAAY5iB,QAAQ6mB,KAAI,SAACC,GAAC,OAAKA,EAAEC,gBACpDjG,GAAsBD,EAAmB9I,QAAO,SAACiP,GAC7C,OAAOJ,EAAWK,QAAQD,EAAID,cAAgB,cAia9CjkB,IAAAC,cAAC4iB,UAAMuB,QAAO,CAAC7iB,MAAO,CAAEkJ,eAAgB,kBACpCzK,IAAAC,cAACuT,IAAU,CAACC,aAAW,OAAO7I,SAAU8T,IAAc9d,GAAQ0d,YAAala,QAlbtE,WACbwb,IACAA,GAAOyE,iBAibKrkB,IAAAC,cAACqkB,IAAc,OAEnBtkB,IAAAC,cAACgE,UACG,CACAxN,KAAM6F,IAAOgE,KAAK,OAClB4D,WAAY,OACZ0G,SAAU8T,IAAc9d,GAAQ0d,YAChC/c,MAAO,CAAEsJ,cAAe,aACxB7L,KAAM,QACNoF,QAtTL,WACX,IAAMmgB,EAlHc,WACpB,IAAMC,EAAkBloB,IAAOyF,QAAQ0iB,mBAAmB5E,GAAY3iB,SAClEwnB,EAAgB,GAapB,OAZAF,EAAgBxxB,SAAQ,SAACkxB,GACrBQ,EAAc/uB,KAAK,CACfgvB,IAAKT,EAAIU,IAAMV,EAAIU,IAAM,GACzBC,SAAUX,EAAIY,SAAWZ,EAAIY,SAAW,GACxCC,SAAUb,EAAIc,SAAWd,EAAIc,SAAW,GACxCC,QAASf,EAAIgB,QAAUhB,EAAIgB,QAAU,QAGzCnH,GAAsBA,EAAmB7nB,OAAS,IAClDwuB,EAAgB3G,EAAmB9e,OAAOylB,IAGvCA,EAmGgBS,GACjBroB,EAAS,CACXiM,QAASpM,IAAEC,IAAIpD,EAAU,UAAW,IACpC8X,WAAY3U,IAAEC,IAAIpD,EAAU,aAAc,IAC1C2iB,aAAcxf,IAAEC,IAAIpD,EAAU,eAAgB,IAC9C4E,WAAYzB,IAAEC,IAAIpD,EAAU,aAAc,IAC1C4iB,kBAA0B,OAAR5iB,QAAQ,IAARA,OAAQ,EAARA,EAAU4iB,kBACvBkD,GAAmBzM,IAAe,OAARrZ,QAAQ,IAARA,OAAQ,EAARA,EAAU4iB,iBAAkB,cAAcpJ,OAAO,cAAgBxZ,EAAS4iB,iBAAqB,KAC9HE,YAAa3f,IAAEC,IAAIpD,EAAU,cAAe,IAC5C+iB,cAAe5f,IAAEC,IAAIpD,EAAU,gBAAiB,IAChDijB,WAAY9f,IAAEC,IAAIpD,EAAU,aAAc,IAC1CmjB,cAAehgB,IAAEC,IAAIpD,EAAU,gBAAiB,IAChDqjB,WAAYlgB,IAAEC,IAAIpD,EAAU,aAAc,IAC1CujB,UAAWpgB,IAAEC,IAAIpD,EAAU,YAAa,IACxCyjB,OAAQtgB,IAAEC,IAAIpD,EAAU,SAAU,IAClC6iB,cAAe1f,IAAEC,IAAIpD,EAAU,gBAAiB,IAChDkrB,cAAeU,KAAKC,UAAUd,IAElC/S,GAAW,CAAC8M,aAAa,IACzB9Y,EAAMyW,gBAAgBqJ,OAAOxoB,GAAQ,SAAC/I,EAAO2I,GAEzC,GADA8U,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEX,GAAI2I,EAAM,CACN,GAAmB,IAAhBA,EAAKyR,OAAc,CAClB,IAAIgL,EAAUzc,EAAK4c,SAAWhd,IAAOgE,KAAK,qBAE1C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAEQ,IAAhBzc,EAAKyR,SACJ7R,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,kBAAmB,KAC7D2H,IAAa,kB,8OChFlB3D,sBACX7L,aACI,SAACzE,GAAK,MAAM,CACRuxB,YAAavxB,EAAMoe,SAASoT,WAC5BC,iBAAkBzxB,EAAMoe,SAASkP,oBAErC,SAACzoB,GAAQ,MAAM,CACX6sB,gBAAiB3sB,YAAmB4sB,EAAkB9sB,GACtDC,eAAgBC,YAAmBD,EAAgBD,OARhDyL,EApcE,SAACkB,GAAW,IAADogB,EAmBxB1sB,EAAuEsM,GAAS,GAAxEgB,EAAOtN,EAAPsN,QAASD,EAAIrN,EAAJqN,KAAM0I,EAAI/V,EAAJ+V,KAAMC,EAAOhW,EAAPgW,QAASqW,EAAWrsB,EAAXqsB,YAAaE,EAAgBvsB,EAAhBusB,iBACnDrsB,EAAgCC,mBAlBV,CAClB0P,QAAS,GACTqT,iBAAkB,GAClBC,cAAe,GACfwJ,aAAc,GACdC,WAAY,GACZC,aAAc,GACdC,IAAK,GACLC,QAAS,GACTC,UAAW,KACXC,cAAe,GACf5d,MAAO,GACP+I,WAAY,GACZlT,WAAY,KAKuC9E,EAAAC,YAAAH,EAAA,GAAhDI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC5BI,EAAoDL,mBAAS,IAAGQ,EAAAN,YAAAG,EAAA,GAAzDqkB,EAAkBlkB,EAAA,GAAEmkB,EAAqBnkB,EAAA,GAChDG,EAAkCX,oBAAS,GAAMY,EAAAV,YAAAS,EAAA,GAA1CmkB,EAASlkB,EAAA,GAAEmkB,EAAYnkB,EAAA,GAC9BG,EAA+Bf,mBAAS,CAACilB,aAAa,IAAQjkB,EAAAd,YAAAa,EAAA,GAAvDwG,EAAOvG,EAAA,GAAE0W,EAAW1W,EAAA,GAC3BG,EAAoCnB,oBAAS,GAAMoB,EAAAlB,YAAAiB,EAAA,GAA5CkkB,EAAUjkB,EAAA,GAAEkkB,EAAalkB,EAAA,GAC1BmlB,EAAS3jB,iBAAO,MAChB4jB,EAAc5jB,iBAAO,IACrB6jB,EAAc7jB,iBAAO,IAErBslB,EAAmB,SAACH,GACtB,IAAMtkB,EAAS,CACXe,SAAUvB,IAAOwB,UAAY,GAC7BujB,UAAWD,GAEf5P,EAAW,CAAC8M,aAAa,IACzB9Y,EAAMkgB,gBAAgBpE,gBAAgBxkB,GAAQ,SAAC/I,GAE3C,GADAyd,EAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,MAKbqyB,EAAa,WACf5U,EAAW,CAAC8M,aAAa,IACzB9Y,EAAMkgB,gBAAgBW,WAAU,SAACtyB,GAE7B,GADAyd,EAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,MAKbksB,EAAW,WACb,IAAMnjB,EAAS,CACXiM,QAASpM,IAAEC,IAAI4J,EAAS,UAAW,KAEvCgL,EAAW,CAAC8M,aAAa,IACzB9Y,EAAMkgB,gBAAgBxF,QAAQpjB,GAAQ,SAAC/I,EAAO2I,GAE1C,GADA8U,EAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEX,GAAI2I,EAAM,CACN,IAAM4pB,GAAY,OAAJ5pB,QAAI,IAAJA,OAAI,EAAJA,EAAMspB,KAAMtX,OAAW,OAAJhS,QAAI,IAAJA,OAAI,EAAJA,EAAMspB,KAAO,EACxCO,EAAYhB,EAAYrO,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAO2E,KACjDE,EAAa7pB,IAAEC,IAAIF,EAAM,aAAc,IACvC+pB,EAAiBhB,EAAiBvO,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAO6E,KACjE/sB,EAAY,CACRsP,QAASpM,IAAEC,IAAIF,EAAM,UAAW,IAChC4U,WAAY3U,IAAEC,IAAIF,EAAM,aAAc,IACtC2f,cAAe1f,IAAEC,IAAIF,EAAM,iBAAkB,IAC7C0B,WAAYzB,IAAEC,IAAIF,EAAM,aAAc,IACtCmpB,aAAclpB,IAAEC,IAAIF,EAAM,eAAgB,IAC1CopB,WAAYU,EACZR,IAAKM,EACLH,cAAexpB,IAAEC,IAAIF,EAAM,gBAAiB,IAC5C6L,MAAO5L,IAAEC,IAAIF,EAAM,QAAS,IAC5B0f,iBAAkBzf,IAAEC,IAAIF,EAAM,mBAAoB,IAClDqpB,aAAcppB,IAAEC,IAAI6pB,EAAgB,OAAQ,IAC5CR,QAAStpB,IAAEC,IAAI2pB,EAAW,MAAO,IACjCL,UAAWvpB,IAAEC,IAAIF,EAAM,YAAa,MACpCgqB,WAAY/pB,IAAEC,IAAIF,EAAM,aAAc,aAMtDL,qBAAU,WACM,SAATkK,IACC0Z,IACAmG,IACA7E,EAAiB,cACjBE,KACmC,IAAhC/S,OAAOlI,EAAQI,cACd+X,GAAc,IAGV,SAATpY,IACC0Z,IACAmG,IACA7E,EAAiB,cACjBE,KACA9C,GAAc,MAGnB,CAACpY,IAEJ,IAAMiL,EAAa,SAACphB,GAChB2gB,EAAWjS,wBAAC,GAAI8B,GAAWxQ,KAGzB8wB,EAAU,SAAC9wB,GACbqJ,EAAWqF,wBAAC,GAAItF,GAAYpJ,KAG1BqxB,GAAkB,WACpB,IAAM5iB,EAAQ,CACV+iB,MAAOjlB,IAAEC,IAAI4J,EAAS,UAAW,IACjCqb,UAAW,YAEfrQ,EAAW,CAAC8M,aAAa,IACzB9Y,EAAM1M,eAAegpB,wBAAwBjjB,GAAO,SAAC9K,EAAO2I,GAExD,GADA8U,EAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEP2I,GAAQA,EAAKxG,OAAS,GACtB8nB,EAAsBthB,OAM5BuL,GAAe,WAAuB,IAAtBgK,EAAQrU,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,IAAAA,UAAA,GACvBsR,GAASA,EAAQ+C,IAyClB0U,GAAe,SAACp2B,GAClB,OAAOA,EAAK,MAAA0O,OAAS1O,GAAU,IAG7BwxB,GAAe,SAAC1xB,EAAI4M,GAAO,IAAD0jB,EAAAC,EAAAC,EAAAC,EAC5B,IAAIzwB,EAAK,OAAO,EAChB,IAAQo1B,EAAkCjgB,EAAlCigB,iBAAkBF,EAAgB/f,EAAhB+f,YACnBM,EAAiErsB,EAAjEqsB,aAAcE,EAAmDvsB,EAAnDusB,aAAcE,EAAqCzsB,EAArCysB,QAASC,EAA4B1sB,EAA5B0sB,UAAWC,EAAiB3sB,EAAjB2sB,cACnD51B,EAAQoM,IAAEC,IAAIK,EAAG,QAASN,IAAEC,IAAIK,EAAG,eAAgB,KACnDoU,EAAa,GACb5a,EAAO,GACX,OAAQpG,GACJ,IAAK,eACDoG,EAAOlG,EAAQo2B,GAAaZ,GAAgBY,GAAaV,GAAWU,GAAaT,GAAaS,GAAaR,GAC3GjF,EAAQ,CAAC2E,aAAct1B,EAAO8rB,cAAe5lB,IAC7C,MACJ,IAAK,aACD4a,EAAaoU,EAAiBvO,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAOpxB,KACvDkG,EAAOovB,EAAec,IAAuB,QAAVhG,EAAAtP,SAAU,IAAAsP,OAAA,EAAVA,EAAYM,OAAQ,IAAM0F,GAAaV,GAAWU,GAAaT,GAAaS,GAAaR,GAC5HjF,EAAQ,CAAC4E,WAAYv1B,EAAOw1B,cAAyB,QAAVnF,EAAAvP,SAAU,IAAAuP,OAAA,EAAVA,EAAYK,OAAQ,GAAK5E,cAAe5lB,IACnF,MACJ,IAAK,MACD4a,EAAakU,EAAYrO,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAOpxB,KAClDkG,EAAOovB,EAAec,GAAaZ,GAAgBY,IAAuB,QAAV9F,EAAAxP,SAAU,IAAAwP,OAAA,EAAVA,EAAYmF,MAAO,IAAMW,GAAaT,GAAaS,GAAaR,GAChIjF,EAAQ,CAAC8E,IAAKz1B,EAAO01B,SAAoB,QAAVnF,EAAAzP,SAAU,IAAAyP,OAAA,EAAVA,EAAYkF,MAAO,GAAK3J,cAAe5lB,IACtE,MACJ,IAAK,YACDA,EAAOovB,EAAec,GAAaZ,GAAiBY,GAAaV,GAAWU,GAAap2B,GAASo2B,GAAaR,GAC/GjF,EAAQ,CAACgF,UAAW31B,EAAO8rB,cAAe5lB,IAC1C,MACJ,IAAK,gBACDA,EAAOovB,EAAec,GAAaZ,GAAgBY,GAAaV,GAAWU,GAAaT,GAAaS,GAAap2B,GAClH2wB,EAAQ,CAACiF,cAAe51B,EAAO8rB,cAAe5lB,IAC9C,MACJ,IAAK,QACDyqB,EAAQ,CAAC3Y,MAAOhY,MA8C5B,OACIyP,IAAAC,cAACD,IAAME,SAAQ,KACXF,IAAAC,cAAC4iB,UAAK,CACF5T,KAAMA,EACN7J,SAAU,KACVlD,WAAW,EACXgN,QAAS,kBAAMjH,IAAa,IAC5B5H,MAAO/D,IAAOgE,KAAK,2CAEnBN,IAAAC,cAAC4iB,UAAMC,QAAO,KACV9iB,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,sBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS4iB,kBAAoB,GACpCxR,SAAU8T,GAAc9d,EAAQ0d,YAChC0E,gBAAiB,CACbC,QAAQ,GAEZC,WAAY,CACRphB,UAAU,GAEdI,WAAS,MAIrBlC,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,wBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS6iB,eAAiB,GACjCzR,SAAU8T,GAAc9d,EAAQ0d,YAChC0E,gBAAiB,CACbC,QAAQ,GAEZC,WAAY,CACRphB,UAAU,GAEdI,WAAS,MAIrBlC,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,qBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAASqsB,cAAgB,GAChCjb,SAAU8T,GAAc9d,EAAQ0d,YAChC0E,gBAAiB,CACbC,QAAQ,GAEZ7Y,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,eAAgB9kB,IAC9CiF,WAAS,MAIrBlC,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAY2kB,EACZziB,YAAa,OACbC,UAAW,KACXI,YAAa,aACbuH,SAAU8T,GAAc9d,EAAQ0d,YAChC2E,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAASssB,YAAc,GAC9BzkB,MAAO/E,IAAOgE,KAAK,WACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,aAAc9kB,IAClD+M,OAAQ,YAGhBhK,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYykB,EACZviB,YAAa,MACbC,UAAW,KACXI,YAAa,aACbuH,SAAU8T,GAAc9d,EAAQ0d,YAChC2E,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAmB,QAAdq1B,EAAEpsB,EAASwsB,WAAG,IAAAJ,IAAI,GACvBvkB,MAAO/E,IAAOgE,KAAK,aACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,MAAO9kB,IAC3C+M,OAAQ,aAIpBhK,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC4D,UAAa,CACVlB,YAAa,aACboB,iBAAiB,EACjBZ,iBAAiB,EACjB3B,MAAO,OACPyhB,QAAQ,EACR5hB,MAAO/E,IAAOgE,KAAK,aACnB0J,OAAQ,SACRY,SAAU8T,GAAc9d,EAAQ0d,YAChCjb,YAAa,aACb9S,MAAOiJ,EAAS0sB,WAAa,GAE7BhjB,eAAgB,SAAAjG,GAAC,OAAI8kB,GAAa,YAAa9kB,OAGvD+C,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,iBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS2sB,eAAiB,GACjCvb,SAAU8T,GAAc9d,EAAQ0d,YAChC0E,gBAAiB,CACbC,QAAQ,GAEZC,WAAY,CAAElf,IAAK,GACnB5R,KAAM,SACNgY,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IAC/CiF,WAAS,MAIrBlC,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACNI,WAAW,EACX9hB,MAAO/E,IAAOgE,KAAK,WACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS+O,OAAS,GACzBqC,SAAU8T,GAAc9d,EAAQ0d,YAChC0E,gBAAiB,CACbC,QAAQ,GAEZ7Y,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,QAAS9kB,IACvCiF,WAAS,OAKzBlC,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoD,GAAI,IACL5D,IAAAC,cAACmjB,UAAW,CACRC,cAAY,EACZ1iB,IAAKif,EACL0D,YAAY,EACZC,MAAOxF,EACPnT,SAAU8T,GAAc9d,EAAQ0d,YAChCkF,UAAW,EACXrF,UAAWA,EACXsF,YA/QZ,SAAClzB,GACjB6tB,EAAa7tB,IA+QemzB,UA5QJ,SAACzmB,GAEzB,GADA4iB,EAAY3iB,QAAUD,EAAE0mB,cAAgB1mB,EAAE0mB,cAAgB,GACtD1mB,EAAE2mB,cAAgB3mB,EAAE2mB,aAAa1tB,OAAS,EAAG,CAC7C4pB,EAAY5iB,QAAO2mB,YAAQ5mB,EAAE2mB,cAC7B,IAAME,EAAahE,EAAY5iB,QAAQ6mB,KAAI,SAACC,GAAC,OAAKA,EAAEC,gBACpDjG,EAAsBD,EAAmB9I,QAAO,SAACiP,GAC7C,OAAOJ,EAAWK,QAAQD,EAAID,cAAgB,cA4Q9CjkB,IAAAC,cAAC4iB,UAAMuB,QAAO,CAAC7iB,MAAO,CAAEkJ,eAAgB,kBACpCzK,IAAAC,cAACuT,IAAU,CAACC,aAAW,OAAQ7I,SAAU8T,GAAc9d,EAAQ0d,YAAala,QA7RvE,WACbwb,GACAA,EAAOyE,iBA4RKrkB,IAAAC,cAACqkB,IAAc,OAEnBtkB,IAAAC,cAACgE,UAAa,CACVxN,KAAM6F,IAAOgE,KAAK,OAClB4D,WAAY,OACZ0G,SAAU8T,GAAc9d,EAAQ0d,YAChC/c,MAAO,CAAEsJ,cAAe,aACxB7L,KAAM,QACNoF,QAtNL,WACX,IAAMmgB,EA5Dc,WACpB,IAAMC,EAAkBloB,IAAOyF,QAAQ0iB,mBAAmB5E,EAAY3iB,SAClEwnB,EAAgB,GAYpB,OAXAF,EAAgBxxB,SAAQ,SAACkxB,GACrBQ,EAAc/uB,KAAK,CACfgvB,IAAKT,EAAIU,IAAMV,EAAIU,IAAM,GACzBC,SAAUX,EAAIY,SAAWZ,EAAIY,SAAW,GACxCC,SAAUb,EAAIc,SAAWd,EAAIc,SAAW,GACxCC,QAASf,EAAIgB,QAAUhB,EAAIgB,QAAU,QAGzCnH,GAAsBA,EAAmB7nB,OAAS,IAClDwuB,EAAgB3G,EAAmB9e,OAAOylB,IAEvCA,EA8CgBS,GACjBroB,EAAS,CACXiM,QAASpM,IAAEC,IAAIpD,EAAU,UAAW,IACpC8X,WAAY3U,IAAEC,IAAIpD,EAAU,aAAc,IAC1C6iB,cAAe1f,IAAEC,IAAIpD,EAAU,gBAAiB,IAChD4E,WAAYzB,IAAEC,IAAIpD,EAAU,aAAc,IAC1CqsB,aAAclpB,IAAEC,IAAIpD,EAAU,eAAgB,IAC9CssB,WAAYnpB,IAAEC,IAAIpD,EAAU,aAAc,IAC1CwsB,IAAKrpB,IAAEC,IAAIpD,EAAU,MAAO,GAC5B0sB,UAAWvpB,IAAEC,IAAIpD,EAAU,YAAa,MACxCktB,YAAoB,OAARltB,QAAQ,IAARA,OAAQ,EAARA,EAAU0sB,YACVrT,IAAOC,IAAY,OAARtZ,QAAQ,IAARA,OAAQ,EAARA,EAAU0sB,WAAWnT,UAChCF,IAAOC,IAAY,OAARtZ,QAAQ,IAARA,OAAQ,EAARA,EAAU0sB,WAAa,KAC9CC,cAAexpB,IAAEC,IAAIpD,EAAU,gBAAiB,IAChD+O,MAAO5L,IAAEC,IAAIpD,EAAU,QAAS,IAChCkrB,cAAeU,KAAKC,UAAUd,IAElC/S,EAAW,CAAC8M,aAAa,IACzB9Y,EAAMkgB,gBAAgBJ,OAAOxoB,GAAQ,SAAC/I,EAAO2I,GAEzC,GADA8U,EAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEX,GAAI2I,EAAM,CACN,GAAmB,IAAhBA,EAAKyR,OAAc,CAClB,IAAIgL,EAAUzc,EAAK4c,SAAWhd,IAAOgE,KAAK,qBAE1C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAEP7c,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,kBAAmB,KAC7D2H,IAAa,iB,qUCtP3BoH,EAAYC,aAAW,iBAAO,CAChCsX,WAAY,CACRC,UAAW,GACX7W,WAAY,IACZnO,MAAO,eAq5BAyC,sBACX7L,YAAQ,MACJ,SAACI,GAAQ,MAAM,CACXiuB,gBAAiB/tB,YAAmBguB,EAAiBluB,GACrDC,eAAgBC,YAAmBD,EAAgBD,OAJhDyL,EAl5BE,SAACkB,GAEd,IA2BMwhB,EACI,EADJA,EAEK,GAaX9tB,EAAwCsM,GAAS,GAAzCgB,EAAOtN,EAAPsN,QAASD,EAAIrN,EAAJqN,KAAM0I,EAAI/V,EAAJ+V,KAAMC,EAAOhW,EAAPgW,QAC7B9V,EAAgCC,mBA3CV,CAClB8iB,aAAc,GACdC,iBAAkB,GAClB7T,MAAO,GACP8T,cAAe,GACfC,YAAa,GACbC,cAAe,GACfE,WAAY,GACZE,cAAe,GACfE,WAAY,GACZE,UAAW,GACXE,OAAQ,GACRlU,QAAS,GACTuI,WAAY,GACZlT,WAAY,GACZoe,kBAAmB,GACnBE,aAAc,GACdE,kBAAmB,GACnBE,aAAc,GACdE,cAAe,GACfE,SAAU,KAuByC5jB,EAAAC,YAAAH,EAAA,GAAhDI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC5BI,EAA+BL,mBAPV,CACjBmT,IAAK,GACLjG,KAAM,KAK2C1M,EAAAN,YAAAG,EAAA,GAA9CutB,EAAQptB,EAAA,GAAEuX,EAAUvX,EAAA,GAC3BG,EAA8CX,mBAAS,IAAGY,EAAAV,YAAAS,EAAA,GAAnDikB,EAAehkB,EAAA,GAAEikB,EAAkBjkB,EAAA,GAC1CG,EAAoDf,mBAAS,IAAGgB,EAAAd,YAAAa,EAAA,GAAzD2jB,EAAkB1jB,EAAA,GAAE2jB,EAAqB3jB,EAAA,GAChDG,EAAwDnB,mBAAS,IAAGoB,EAAAlB,YAAAiB,EAAA,GAA7D2iB,EAAoB1iB,EAAA,GAAE2iB,EAAuB3iB,EAAA,GACpDG,GAA8CvB,mBAAS,IAAGwB,GAAAtB,YAAAqB,GAAA,GAAnDyiB,GAAexiB,GAAA,GAAEyiB,GAAkBziB,GAAA,GAC1CG,GAA8C3B,mBAAS,IAAG4B,GAAA1B,YAAAyB,GAAA,GAAnDuiB,GAAetiB,GAAA,GAAEuiB,GAAkBviB,GAAA,GAC1CG,GAAwD/B,mBAAS,IAAGgC,GAAA9B,YAAA6B,GAAA,GAA7DqiB,GAAoBpiB,GAAA,GAAEqiB,GAAuBriB,GAAA,GACpDG,GAAgDnC,mBAAS,IAAGoC,GAAAlC,YAAAiC,GAAA,GAArDmiB,GAAgBliB,GAAA,GAAEmiB,GAAmBniB,GAAA,GAC5CG,GAAgCvC,mBApBX,CACjBM,KAAM,GACNC,MAAO,IAkB2CiC,GAAAtC,YAAAqC,GAAA,GAA/C2I,GAAQ1I,GAAA,GAAE+U,GAAW/U,GAAA,GAC5BwiB,GAAsChlB,mBAAS,IAAGklB,GAAAhlB,YAAA8kB,GAAA,GAA3CR,GAAWU,GAAA,GAAET,GAAcS,GAAA,GAClCC,GAAkCnlB,oBAAS,GAAMolB,GAAAllB,YAAAilB,GAAA,GAA1CL,GAASM,GAAA,GAAEL,GAAYK,GAAA,GAC9BG,GAA+BvlB,mBAAS,CAAC6tB,aAAa,EAAOC,eAAe,IAAOtI,GAAAtlB,YAAAqlB,GAAA,GAA5Ehe,GAAOie,GAAA,GAAE9N,GAAW8N,GAAA,GAC3BG,GAAoC3lB,oBAAS,GAAM4lB,GAAA1lB,YAAAylB,GAAA,GAA5CN,GAAUO,GAAA,GAAEN,GAAaM,GAAA,GAChCG,GAAkD/lB,oBAAS,GAAMgmB,GAAA9lB,YAAA6lB,GAAA,GAA1D/Y,GAAiBgZ,GAAA,GAAE/Y,GAAoB+Y,GAAA,GAC9CG,GAAkDnmB,oBAAS,GAAMomB,GAAAlmB,YAAAimB,GAAA,GAA1DxO,GAAiByO,GAAA,GAAExO,GAAoBwO,GAAA,GAC9C2H,GAA0C/tB,oBAAS,GAAMguB,GAAA9tB,YAAA6tB,GAAA,GAAlDtI,GAAauI,GAAA,GAAEtI,GAAgBsI,GAAA,GACtCC,GAAwCjuB,oBAAS,GAAMkuB,GAAAhuB,YAAA+tB,GAAA,GAAhDpI,GAAYqI,GAAA,GAAEpI,GAAeoI,GAAA,GACpCC,GAAgDnuB,oBAAS,GAAMouB,GAAAluB,YAAAiuB,GAAA,GAAxDlI,GAAgBmI,GAAA,GAAElI,GAAmBkI,GAAA,GAC5CC,GAAsCruB,oBAAS,GAAMsuB,GAAApuB,YAAAmuB,GAAA,GAA9ChI,GAAWiI,GAAA,GAAEhI,GAAcgI,GAAA,GAC5B/H,GAAS3jB,iBAAO,MAChB4jB,GAAc5jB,iBAAO,IACrB6jB,GAAc7jB,iBAAO,IACrBsV,GAAoBtV,iBA3CC,CACvB8M,QAAS,OA2CPrD,GAAU2J,IAEV4Q,GAAW,WACb,IAAMnjB,EAAS,CACXiM,QAAS,GACTlL,SAAUvB,IAAOwB,UAAY,GAC7BtB,OAAQ,WACR4B,WAAYzB,IAAEC,IAAI4J,EAAS,aAAc,IACzC8K,WAAY3U,IAAEC,IAAI4J,EAAS,aAAc,IACzClJ,KAAM0pB,EACNzpB,MAAOypB,GAEXxV,GAAW,CAAC0V,aAAa,IACzB1hB,EAAMshB,gBAAgB5G,QAAQpjB,GAAQ,SAAC/I,EAAO2I,GAE1C,GADA8U,GAAW,CAAC0V,aAAa,IACrBnzB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEP2I,GACAkU,GAAY,CACRhX,MAAO8C,EAAK9C,MACZD,KAAM+C,EAAK/C,WAMrBwmB,GAAiB,WAAqC,IAApCC,EAAUxiB,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GAAIyiB,EAAQziB,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GAC1Cd,EAAS,CACXe,SAAUvB,IAAOwB,UAAY,GAC7BwiB,UAAW,EACXC,WAAYH,EACZI,SAAUH,GAEd7O,GAAW,CAAC0V,aAAa,IACzB1hB,EAAMshB,gBAAgBrG,cAAc3jB,GAAQ,SAAC/I,EAAO2I,GAEhD,GADA8U,GAAW,CAAC0V,aAAa,IACrBnzB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEP2I,GACAgkB,GAAYN,EAAW1jB,OAK7BgkB,GAAc,SAACN,EAAW1jB,GAC5B,OAAQ0jB,GACJ,IAAK,gBACDhD,EAAwB1gB,GACxB,MACJ,IAAK,aACD4gB,GAAmB5gB,GACnB,MACJ,IAAK,gBACDghB,GAAwBhhB,GACxB,MACJ,IAAK,YACDkhB,GAAoBlhB,GACpB,MACJ,IAAK,aACD8gB,GAAmB9gB,GACnB,MACJ,IAAK,YACDohB,GAAephB,KAyBrBykB,GAAyB,SAAC9wB,GAC5B,IAAIA,EAAK,OAAO,EAChB,OAAQA,GACJ,IAAK,YACL,IAAK,SACL,IAAK,WACL,IAAK,MACL,IAAK,SACL,IAAK,aACL,IAAK,QACL,IAAK,aACL,IAAK,cACL,IAAK,aACL,IAAK,cACD0uB,IAAiB,GACjB,MACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,YACL,IAAK,YACDoB,GAAe,gBAAiB,IAChCA,GAAe,aAAc,IAC7BA,GAAe,gBAAiB,IAChCA,GAAe,YAAa,IAC5BhB,IAAgB,GAChB,MACJ,IAAK,YACL,IAAK,aACL,IAAK,gBACL,IAAK,cACDI,IAAoB,GACpB,MACJ,IAAK,SACL,IAAK,WACL,IAAK,UACL,IAAK,aACL,IAAK,cACL,IAAK,gBACL,IAAK,YACL,IAAK,eACL,IAAK,QACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,cACL,IAAK,iBAhEY,WAAqB,IAApB6B,EAASxjB,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GAC5Bd,EAAS,CACXe,SAAUvB,IAAOwB,UAAY,GAC7BujB,UAAWD,GAEf5P,GAAW,CAACoW,qBAAqB,IACjCpiB,EAAMshB,gBAAgBxF,gBAAgBxkB,GAAQ,SAAC/I,EAAO2I,GAElD,GADA8U,GAAW,CAACoW,qBAAqB,IAC7B7zB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAER2I,GACCwhB,EAAmBxhB,MAoDnB6kB,CAAiB5kB,IAAEC,IAAI4J,EAAS,YAAa,KAC7CmZ,IAAe,KAQ3BtjB,qBAAU,WACM,SAATkK,IACC2a,GAAQ,CAAC9E,iBAAkBzf,IAAEC,IAAI4J,EAAS,gBAAiB,MAC3D2a,GAAuBxkB,IAAEC,IAAI4J,EAAS,aAAc,KACpDib,KACAxB,KACmC,IAAhCvR,OAAOlI,EAAQI,cACd+X,IAAc,MAIvB,IAEHtiB,qBAAU,WACH8gB,GAAwBA,EAAqBjnB,OAAS,GACrD8rB,GAAS,gBAAgBrlB,IAAEC,IAAIugB,EAAqB,GAAI,KAAM,OAGnE,CAACA,IAEJ9gB,qBAAU,WACHghB,IAAmBA,GAAgBnnB,OAAS,GAC3C8rB,GAAS,aAAarlB,IAAEC,IAAIygB,GAAgB,GAAI,OAAQ,OAG7D,CAACA,KAEJhhB,qBAAU,WACHkhB,IAAmBA,GAAgBrnB,OAAS,GAC3C8rB,GAAS,aAAarlB,IAAEC,IAAI2gB,GAAgB,GAAI,OAAQ,OAG7D,CAACA,KAEJlhB,qBAAU,WACHohB,IAAwBA,GAAqBvnB,OAAS,GACrD8rB,GAAS,gBAAgBrlB,IAAEC,IAAI6gB,GAAqB,GAAI,KAAM,OAGnE,CAACA,KAEJphB,qBAAU,WACHshB,IAAoBA,GAAiBznB,OAAS,GAC7C8rB,GAAS,YAAYrlB,IAAEC,IAAI+gB,GAAiB,GAAI,KAAM,OAG3D,CAACA,KAEJthB,qBAAU,WACHwhB,IAAeA,GAAY3nB,OAAS,GACnC8rB,GAAS,SAASrlB,IAAEC,IAAIihB,GAAY,GAAI,OAAQ,OAGrD,CAACA,KAGJxhB,qBAAU,WACDM,IAAEC,IAAIpD,EAAU,aAAc,KAC/B2mB,GAAe,aAAaxjB,IAAEC,IAAIpD,EAAU,aAAc,OAG/D,CAAS,OAARA,QAAQ,IAARA,OAAQ,EAARA,EAAUijB,aAEdpgB,qBAAU,WACDM,IAAEC,IAAIpD,EAAU,aAAc,KAC/B2mB,GAAe,YAAYxjB,IAAEC,IAAIpD,EAAU,aAAc,OAG9D,CAAS,OAARA,QAAQ,IAARA,OAAQ,EAARA,EAAUqjB,aAEd,IAAMrL,GAAa,SAACphB,GAChB2gB,GAAWjS,wBAAC,GAAI8B,IAAWxQ,KAGzB8wB,GAAU,SAAC9wB,GACbqJ,EAAWqF,wBAAC,GAAItF,GAAYpJ,KAG1BqxB,GAAkB,WACpB,IAAM5iB,EAAQ,CACV+iB,MAAQjlB,IAAEC,IAAI4J,EAAS,aAAc,IACrCqb,UAAW,YAEfrQ,GAAW,CAACqW,mBAAmB,IAC/BriB,EAAM1M,eAAegpB,wBAAwBjjB,GAAO,SAAC9K,EAAO2I,GAExD,GADA8U,GAAW,CAACqW,mBAAmB,IAC3B9zB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEP2I,GAAQA,EAAKxG,OAAS,GACtB8nB,EAAsBthB,OAM5BuL,GAAe,SAAC6f,GAA8B,IAAtB7V,EAAQrU,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,IAAAA,UAAA,GACpB,aAAXkqB,IACC7W,IAAqB,GACrBgB,GAAYgO,MAEF,aAAX6H,GACI5Y,GAASA,KA4Cd6S,GAAe,SAAC1xB,EAAI4M,GACtB,IAAI5M,EAAK,OAAO,EAChB,IAAIE,EAAQoM,IAAEC,IAAIK,EAAG,QAASN,IAAEC,IAAIK,EAAG,eAAgB,KACvD,OAAQ5M,GACJ,IAAK,gBAGL,IAAK,cAGL,IAAK,gBAGL,IAAK,aAGL,IAAK,gBAGL,IAAK,aAGL,IAAK,YAGL,IAAK,SAGL,IAAK,QACD2xB,GAAS3xB,EAAIE,KAOnByxB,GAAW,SAAC3xB,EAAIE,GAAW,IAADowB,EAAAC,EAAAC,EAAAC,EAAAmB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACpBlG,EAAyG9iB,EAAzG8iB,YAAaE,EAA4FhjB,EAA5FgjB,kBAAkBM,EAA0EtjB,EAA1EsjB,aAAcJ,EAA4DljB,EAA5DkjB,aAAcE,EAA8CpjB,EAA9CojB,kBAAmBI,EAA2BxjB,EAA3BwjB,cAAeE,EAAY1jB,EAAZ0jB,SACjG7L,EAAa,GACb5a,EAAO,GACX,OAAQpG,GACJ,IAAK,gBACD6wB,GAAQ,CAAC7E,cAAe9rB,IACxB,MACJ,IAAK,cAGD2wB,GAAQ,CAAC5E,YAAa/rB,EAAO8rB,cAF7B5lB,EAAOlG,EAAQ,IAAMysB,EAAgB,IAAME,EAAW,IAAMN,EAAoB,IAC5EE,EAAe,IAAMN,EAAoB,IAAME,IAEnD,MACJ,IAAK,gBAEDjmB,EAAO6lB,EAAc,IAAMU,EAAgB,IAAME,EAAW,IAAMN,EAC9D,IAAME,EAAe,MAAiB,QAAV6D,EAFhCtP,EAAa8L,EAAqBjG,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAOpxB,YAEjB,IAAAowB,OAAA,EAAVA,EAAYM,OAAQ,IAAM,IAAMvE,EAChEwE,GAAQ,CAAC3E,cAAehsB,EAAOisB,mBAA8B,QAAVoE,EAAAvP,SAAU,IAAAuP,OAAA,EAAVA,EAAYK,OAAQ,GAAK5E,cAAe5lB,IAC3F,MACJ,IAAK,aAEDA,EAAO6lB,EAAc,IAAMU,EAAgB,IAAME,EAAW,IAAMN,EAAoB,IAClFE,EAAe,IAAMN,EAAoB,MAAiB,QAAVqE,EAFpDxP,EAAagM,GAAgBnG,MAAK,SAAA8J,GAAI,OAAIA,EAAKD,OAASxwB,YAEM,IAAAswB,OAAA,EAAVA,EAAYI,OAAQ,IACxEC,GAAQ,CAACzE,WAAYlsB,EAAMmsB,cAAyB,QAAVoE,EAAAzP,SAAU,IAAAyP,OAAA,EAAVA,EAAYG,OAAQ,GAAK5E,cAAe5lB,IAClF,MACJ,IAAK,gBAEDA,EAAO6lB,EAAc,IAAMU,EAAgB,IAAME,EAAW,MAAiB,QAAV+E,EADnE5Q,EAAaoM,GAAqBvG,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAOpxB,YACkB,IAAA0xB,OAAA,EAAVA,EAAYhB,OAAQ,IAAM,IACzFnE,EAAe,IAAMN,EAAoB,IAAME,EACnDwE,GAAQ,CAACvE,cAAepsB,EAAOqsB,mBAA8B,QAAVsF,EAAA7Q,SAAU,IAAA6Q,OAAA,EAAVA,EAAYjB,OAAQ,GAAK5E,cAAe5lB,IAC3F,MACJ,IAAK,aAEDA,EAAO6lB,EAAc,IAAMU,EAAgB,IAAME,EAAW,IAAMN,EAAoB,MACvE,QAAVuF,EAFL9Q,EAAakM,GAAgBrG,MAAK,SAAA8J,GAAI,OAAIA,EAAKD,OAASxwB,YAEzC,IAAA4xB,OAAA,EAAVA,EAAYlB,OAAQ,IAAM,IAAMzE,EAAoB,IAAME,EAC/DwE,GAAQ,CAACrE,WAAYtsB,EAAOusB,cAAyB,QAAVsF,EAAA/Q,SAAU,IAAA+Q,OAAA,EAAVA,EAAYnB,OAAQ,GAAK5E,cAAe5lB,IACnF,MACJ,IAAK,YAEDA,EAAQ6lB,EAAc,MAAiB,QAAV+F,EAD7BhR,EAAasM,GAAiBzG,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAOpxB,YAChB,IAAA8xB,OAAA,EAAVA,EAAYpB,OAAQ,IAAM,IAAM/D,EAAW,IAAMN,EAAoB,IAC9FE,EAAe,IAAMN,EAAoB,IAAME,EACnDwE,GAAQ,CAACnE,UAAWxsB,EAAOysB,eAA0B,QAAVsF,EAAAjR,SAAU,IAAAiR,OAAA,EAAVA,EAAYrB,OAAQ,GAAK5E,cAAe5lB,IACnF,MACJ,IAAK,SAEDA,EAAO6lB,EAAc,IAAMU,EAAgB,MAAiB,QAAVuF,EADlDlR,EAAawM,GAAY3G,MAAK,SAAA8J,GAAI,OAAIA,EAAKD,OAASxwB,YACQ,IAAAgyB,OAAA,EAAVA,EAAYtB,OAAQ,IAAM,IACxErE,EAAoB,IAAME,EAAe,IAAMN,EAAoB,IAAME,EAC7EwE,GAAQ,CAACjE,OAAQ1sB,EAAO2sB,UAAqB,QAAVsF,EAAAnR,SAAU,IAAAmR,OAAA,EAAVA,EAAYvB,OAAQ,GAAK5E,cAAe5lB,IAC3E,MACJ,IAAK,QACDyqB,GAAQ,CAAC3Y,MAAOhY,MAqH5B,OACIyP,IAAAC,cAACD,IAAME,SAAQ,KACXF,IAAAC,cAACmP,UAAQ,CAACH,KAAM5I,GAAmB6I,QAAS,kBAAM5I,IAAqB,IAC7D9J,OAAO,WAAWuM,QAASwI,GAAkBrU,QAAQ6L,UAC9DiI,IAAqBhR,IAAAC,cAACkS,UAAQ,CAAClD,KAAM+B,GACNzK,KAAM0gB,EAAS1gB,KACfC,QAASygB,EAASza,IAClBhQ,OAAO,WACP0S,QAAS,SAAC+C,GAAQ,OAAKhK,GAAa,WAAYgK,MAChFjS,IAAAC,cAAC4iB,UAAK,CACF5T,KAAMA,EACN7J,SAAU,KACVlD,WAAW,EACXgN,QAAS,kBAAMjH,GAAa,aAC5B5H,MAAO/D,IAAOgE,KAAK,cAAgB,MAAc,OAAPkG,QAAO,IAAPA,OAAO,EAAPA,EAASuhB,UAAW,KAE9D/nB,IAAAC,cAAC4iB,UAAMC,QAAO,KACV9iB,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,sBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS4iB,kBAAoB,GAEpC4G,gBAAiB,CACbC,QAAQ,GAEZC,WAAY,CACRphB,UAAU,GAEdsI,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,mBAAoB9kB,IAClDiF,WAAS,MAIrBlC,IAAAC,cAACM,IAAG,KACCue,IACD9e,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,wBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS6iB,eAAiB,GAEjC2G,gBAAiB,CACbC,QAAQ,GAEZ7wB,KAA8B,eAAjB,OAAPoU,QAAO,IAAPA,OAAO,EAAPA,EAASrK,YAA6B,SAAW,OACvDiO,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IAC/CiF,WAAS,KAIfgd,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,wBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS6iB,eAAiB,GAEjC2G,gBAAiB,CACbC,QAAQ,GAEZC,WAAY,CACRphB,UAAU,GAEdsI,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IAC/CiF,WAAS,KAIfod,IACFtf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC4D,UAAa,CACVlB,YAAa,aACboB,iBAAiB,EACjBZ,iBAAiB,EACjB3B,MAAO,OACP6B,YAAa,aACb9S,OAAe,OAARiJ,QAAQ,IAARA,OAAQ,EAARA,EAAU6iB,gBAAiB,GAClCnZ,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,gBAAiB9kB,OAI5DyiB,IACD1f,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYmd,EACZjb,YAAa,OACbC,UAAW,KACXI,YAAa,aAEb4f,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAAS6iB,eAAiB,GACjChb,MAAO/E,IAAOgE,KAAK,wBACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IACrD+M,OAAQ,aAKpBhK,IAAAC,cAACM,IAAG,KACE2e,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,UACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS8iB,aAAe,GAE/B0G,gBAAiB,CACbC,QAAQ,GAEZ7Y,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,cAAe9kB,IAC7CiF,WAAS,KAIfgd,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYqc,EACZna,YAAa,OACbC,UAAW,OACXI,YAAa,aAEb4f,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAAS+iB,eAAiB,GACjClb,MAAO/E,IAAOgE,KAAK,aACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IACrD+M,OAAQ,YAIdkV,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYuc,IAAmB,GAC/Bra,YAAa,OACbC,UAAW,OACXI,YAAa,aAEb4f,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAASijB,YAAc,GAC9Bpb,MAAO/E,IAAOgE,KAAK,iBACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,aAAc9kB,IAClD+M,OAAQ,aAMpBhK,IAAAC,cAACM,IAAG,KACE2e,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAY2c,IAAwB,GACpCza,YAAa,OACbC,UAAW,OACXI,YAAa,aAEb4f,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAASmjB,eAAiB,GACjCtb,MAAO/E,IAAOgE,KAAK,QACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IACrD+M,OAAQ,YAIfkV,IACDlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYyc,IAAmB,GAC/Bva,YAAa,OACbC,UAAW,OACXI,YAAa,aAEb4f,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAASqjB,WAChBxb,MAAO/E,IAAOgE,KAAK,YACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,aAAc9kB,IAClD+M,OAAQ,YAIdkV,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAY6c,IAAoB,GAChC3a,YAAa,OACbC,UAAW,OACXI,YAAa,aAEb4f,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAASujB,WAAa,GAC7B1b,MAAO/E,IAAOgE,KAAK,UACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,YAAa9kB,IACjD+M,OAAQ,YAIdkV,IACFlf,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAY+c,IAAe,GAC3B7a,YAAa,OACbC,UAAW,OACXI,YAAa,aAEb4f,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAASyjB,QAAU,GAC1B5b,MAAO/E,IAAOgE,KAAK,cACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,SAAU9kB,IAC9C+M,OAAQ,aAMpBhK,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACNI,WAAW,EACX9hB,MAAO/E,IAAOgE,KAAK,WACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS+O,OAAS,GAEzBya,gBAAiB,CACbC,QAAQ,GAEZ7Y,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,QAAS9kB,IACvCiF,WAAS,OAKzBlC,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoD,GAAI,IACL5D,IAAAC,cAACmjB,UAAW,CACRC,cAAY,EACZ1iB,IAAKif,GACL0D,YAAY,EACZC,MAAOxF,EAEPyF,UAAW,EACXrF,UAAWA,GACXsF,YA9eZ,SAAClzB,GACjB6tB,GAAa7tB,IA8eemzB,UA3eJ,SAACzmB,GAEzB,GADA4iB,GAAY3iB,QAAUD,EAAE0mB,cAAgB1mB,EAAE0mB,cAAgB,GACtD1mB,EAAE2mB,cAAgB3mB,EAAE2mB,aAAa1tB,OAAS,EAAG,CAC7C4pB,GAAY5iB,QAAO2mB,YAAQ5mB,EAAE2mB,cAC7B,IAAME,EAAahE,GAAY5iB,QAAQ6mB,KAAI,SAACC,GAAC,OAAKA,EAAEC,gBACpDjG,EAAsBD,EAAmB9I,QAAO,SAACiP,GAC7C,OAAOJ,EAAWK,QAAQD,EAAID,cAAgB,aA0e1CjkB,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoD,GAAI,IACL5D,IAAAC,cAAC0D,IAAK,CAACrC,UAAW,QAAUoE,GAAQkhB,YAAatqB,IAAOgE,KAAK,uBAC7DN,IAAAC,cAAC6K,UAAa,CACVhK,WAAYyD,GAAS5K,KACrB+R,WAAYnH,GAAS3K,MACrBmR,YAAaic,EACbhc,YAAagc,EACb1b,WAAY,SACZ0c,iBAAiB,EACjBzmB,MAAO,CAAEkK,OAAQ,QACjBR,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBI,WAAYjP,IAAOgE,KAAK,WACxB+K,mBAAmB,GAGnBrL,IAAAC,cAACkM,SACG,CACA4b,QAASzrB,IAAOgE,KAAK,mBACrB2nB,UAAW,YACXC,SAAU,OACVC,cAAc,EACdhN,SAAU,MAEdnb,IAAAC,cAACkM,SAAM,CACH4b,QAASzrB,IAAOgE,KAAK,wBACrB6a,SAAU,IACV8M,UAAW,gBACXE,cAAc,IAElBnoB,IAAAC,cAACkM,SAAM,CACH4b,QAASzrB,IAAOgE,KAAK,eACrB2nB,UAAW,WACXE,cAAc,EACdhN,SAAU,KAEdnb,IAAAC,cAACkM,SAAM,CACH4b,QAASzrB,IAAOgE,KAAK,cACrB2nB,UAAW,gBACXE,cAAc,EACdhN,SAAU,KAEdnb,IAAAC,cAACkM,SAAM,CACHiC,UAAW,SACXga,OAAO,EACPC,cAAe,QACfF,cAAc,EACd/b,WAxVX,SAACnP,GACtB,IAAIA,EAAG,OAAO,KACd,IAAOP,EAAQO,EAAEuP,IAAV9P,KACP,OACIsD,IAAAC,cAACqoB,UAAa,KACVtoB,IAAAC,cAAA,OAAKqB,UAAU,IACXtB,IAAAC,cAACuT,IAAU,CAACC,aAAW,OAAOnS,UAAW,QAAStC,KAAK,QAC3CoF,QAAS,kBA9CX,SAACnH,GAAkB,IAAfP,EAAIkB,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GACjC2T,GAAkBrU,QAAQ6L,QAAUrM,EAAKqM,QACzCzC,IAAqB,GA4CkBoN,CAAkBzW,EAAGP,KAC5CsD,IAAAC,cAAC0T,IAAW,OAEhB3T,IAAAC,cAACuT,IAAU,CACPC,aAAW,OACXlS,MAAO,CAAE2D,QAAS,EAAG1D,MAAO,GAAIC,OAAQ,GAAIiO,YAAa,GACzDtL,QAAS,kBA/Cd,SAACnH,GACZ,IAAOP,EAAQO,EAAEuP,IAAV9P,KACP0U,EAAW,CAAC5E,IAAK,CACTzD,QAASpM,IAAEC,IAAIF,EAAM,UAAW,IAChCP,WAAYQ,IAAEC,IAAIF,EAAM,aAAc,IACtC0kB,UAAWzkB,IAAEC,IAAI4J,EAAS,YAAa,IACvCI,YAAcjK,IAAEC,IAAIF,EAAM,cAAe,KAC1C6J,KAAM,SACb0K,IAAqB,GAuCU2C,CAAO3W,KAEtB+C,IAAAC,cAAC4T,UAAK,CAACpd,KAAM,UAEjBuJ,IAAAC,cAACuT,IAAU,CACPC,aAAW,SACX7I,SAAUlO,GAAqC,IAA7BgS,OAAOhS,EAAKkK,aAC9BrF,MAAO,CAAE2D,QAAS,EAAG1D,MAAO,GAAIC,OAAQ,GAAIiO,YAAa,GACzDtL,QAAS,kBA5CZ,SAAC1H,GACd,IAAMI,EAAS,CACXiM,QAASpM,IAAEC,IAAIF,EAAM,UAAW,KAEpC8I,EAAMshB,gBAAgB9S,WAAWlX,GAAQ,SAAC/I,EAAO2I,GAC7C,GAAI3I,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEX,GAAI2I,EAAM,CACN,GAAmB,IAAhBA,EAAKyR,OAAc,CAClB,IAAIgL,EAAUzc,EAAKyc,SAAW7c,IAAOgE,KAAK,qBAE1C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAEQ,IAAhBzc,EAAKyR,QACJ7R,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,kBAAmB,SA4B1CyO,CAASrS,KAExBsD,IAAAC,cAAC4T,UAAK,CAACpd,KAAM,sBAwUrBuJ,IAAAC,cAAC4iB,UAAMuB,QAAO,CAAC7iB,MAAO,CAAEkJ,eAAgB,kBACpCzK,IAAAC,cAACuT,IAAU,CAACC,aAAW,OAAO7I,SAAU8T,GAAYta,QApjB/C,WACbwb,IACAA,GAAOyE,iBAmjBKrkB,IAAAC,cAACqkB,IAAc,OAEnBtkB,IAAAC,cAACgE,UACG,CACAxN,KAAM6F,IAAOgE,KAAK,OAClB4D,WAAY,OAEZ3C,MAAO,CAAEsJ,cAAe,aACxB7L,KAAM,QACNoF,QA1bL,WACX,IAAMmgB,EAhHc,WACpB,IAAMC,EAAkBloB,IAAOyF,QAAQ0iB,mBAAmB5E,GAAY3iB,SAClEwnB,EAAgB,GAapB,OAZAF,EAAgBxxB,SAAQ,SAACkxB,GACrBQ,EAAc/uB,KAAK,CACfgvB,IAAKT,EAAIU,IAAMV,EAAIU,IAAM,GACzBC,SAAUX,EAAIY,SAAWZ,EAAIY,SAAW,GACxCC,SAAUb,EAAIc,SAAWd,EAAIc,SAAW,GACxCC,QAASf,EAAIgB,QAAUhB,EAAIgB,QAAU,QAGzCnH,GAAsBA,EAAmB7nB,OAAS,IAClDwuB,EAAgB3G,EAAmB9e,OAAOylB,IAGvCA,EAiGgBS,GACjBroB,EAAS,CACXwU,WAAY3U,IAAEC,IAAI4J,EAAS,aAAc,IACzC2V,aAAcxf,IAAEC,IAAIpD,EAAU,eAAgB,IAC9C6iB,cAAe1f,IAAEC,IAAIpD,EAAU,gBAAiB,IAChD4E,WAAYzB,IAAEC,IAAI4J,EAAS,aAAc,IACzC4V,kBAA0B,OAAR5iB,QAAQ,IAARA,OAAQ,EAARA,EAAU4iB,kBACvBkD,GAAmBzM,IAAe,OAARrZ,QAAQ,IAARA,OAAQ,EAARA,EAAU4iB,iBAAkB,cAAcpJ,OAAO,cAAgBxZ,EAAS4iB,iBAAqB,KAC9H7T,MAAO5L,IAAEC,IAAIpD,EAAU,QAAS,IAChC8iB,YAAa3f,IAAEC,IAAIpD,EAAU,cAAe,IAC5C+iB,cAAe5f,IAAEC,IAAIpD,EAAU,gBAAiB,IAChDijB,WAAY9f,IAAEC,IAAIpD,EAAU,aAAc,IAC1CmjB,cAAehgB,IAAEC,IAAIpD,EAAU,gBAAiB,IAChDqjB,WAAYlgB,IAAEC,IAAIpD,EAAU,aAAc,IAC1CujB,UAAWpgB,IAAEC,IAAIpD,EAAU,YAAa,IACxCyjB,OAAQtgB,IAAEC,IAAIpD,EAAU,SAAU,IAClCkrB,cAAeU,KAAKC,UAAUd,IAElC/S,GAAW,CAAC2V,eAAe,IAC3B3hB,EAAMshB,gBAAgB5d,KAAKpM,GAAQ,SAAC/I,EAAO2I,GAEvC,GADA8U,GAAW,CAAC2V,eAAe,IACvBpzB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEX,GAAI2I,EAAM,CACN,GAAmB,IAAhBA,EAAKyR,OAAc,CAClB,IAAIgL,EAAUzc,EAAK4c,SAAWhd,IAAOgE,KAAK,qBAE1C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAEQ,IAAhBzc,EAAKyR,SACJ7R,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,kBAAmB,KAC7D4O,GAAWA,mB,qUClfzBG,EAAYC,aAAW,iBAAO,CAChCsX,WAAY,CACRC,UAAW,GACX7W,WAAY,IACZnO,MAAO,eA8nBAyC,sBACX7L,aACI,SAACzE,GAAK,MAAM,CACRuxB,YAAavxB,EAAMu0B,SAAS/C,WAC5BC,iBAAkBzxB,EAAMu0B,SAASjH,oBAErC,SAACzoB,GAAQ,MAAM,CACX2vB,gBAAiBzvB,YAAmB0vB,EAAiB5vB,GACrDC,eAAgBC,YAAmBD,EAAgBD,OARhDyL,EA1nBE,SAACkB,GAEd,IAsBMwhB,EACI,EADJA,EAEK,GAYX9tB,EAAiEsM,GAAS,GAAlEgB,EAAOtN,EAAPsN,QAASyI,EAAI/V,EAAJ+V,KAAMC,EAAOhW,EAAPgW,QAASqW,EAAWrsB,EAAXqsB,YAAaE,EAAgBvsB,EAAhBusB,iBAC7CrsB,EAAgCC,mBArCV,CAClB+iB,iBAAkB,GAClBC,cAAe,GACfwJ,aAAc,GACdC,WAAY,GACZC,aAAc,GACdC,IAAK,GACLC,QAAS,GACTC,UAAW,KACXC,cAAe,GACf5d,MAAO,GACP+I,WAAY,GACZlT,WAAY,GACZsqB,IAAK,GACLC,WAAY,KAuBuCrvB,EAAAC,YAAAH,EAAA,GAAhDI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAC5BI,EAAgCL,mBArBX,CACjBM,KAAM,GACNC,MAAO,IAmB2CC,EAAAN,YAAAG,EAAA,GAA/C6K,EAAQ1K,EAAA,GAAE+W,EAAW/W,EAAA,GAC5BG,EAAoDX,mBAAS,IAAGY,EAAAV,YAAAS,EAAA,GAAzD+jB,EAAkB9jB,EAAA,GAAE+jB,EAAqB/jB,EAAA,GAChDG,EAA+Bf,mBATV,CACjBmT,IAAK,GACLjG,KAAM,KAO2ClM,EAAAd,YAAAa,EAAA,GAA9C6sB,EAAQ5sB,EAAA,GAAE+W,EAAU/W,EAAA,GAC3BG,EAAkCnB,oBAAS,GAAMoB,EAAAlB,YAAAiB,EAAA,GAA1C2jB,EAAS1jB,EAAA,GAAE2jB,GAAY3jB,EAAA,GAC9BG,GAA+BvB,mBAAS,CAACilB,aAAa,EAAOsJ,qBAAqB,EAAOgB,eAAe,IAAO/tB,GAAAtB,YAAAqB,GAAA,GAAxGgG,GAAO/F,GAAA,GAAEkW,GAAWlW,GAAA,GAC3BG,GAAkD3B,oBAAS,GAAM4B,GAAA1B,YAAAyB,GAAA,GAA1DqL,GAAiBpL,GAAA,GAAEqL,GAAoBrL,GAAA,GAC9CG,GAAkD/B,oBAAS,GAAMgC,GAAA9B,YAAA6B,GAAA,GAA1D8V,GAAiB7V,GAAA,GAAE8V,GAAoB9V,GAAA,GACxCukB,GAAS3jB,iBAAO,MAChB4jB,GAAc5jB,iBAAO,IACrB6jB,GAAc7jB,iBAAO,IACrBsV,GAAoBtV,iBArBC,CACvB8M,QAAS,OAqBPrD,GAAU2J,IAsDhBhT,qBAAU,YA1BO,WACb,IAAMS,EAAS,CACXiM,QAAS,GACTlL,SAAUvB,IAAOwB,UAAY,GAC7BtB,OAAQ,WACR4B,WAAYzB,IAAEC,IAAI4J,EAAS,aAAc,IACzC8K,WAAY3U,IAAEC,IAAI4J,EAAS,aAAc,IACzClJ,KAAM0pB,EACNzpB,MAAOypB,GAEXxV,GAAW,CAAC8M,aAAa,IACzB9Y,EAAMgjB,gBAAgBK,UAAU/rB,GAAQ,SAAC/I,EAAO2I,GAE5C,GADA8U,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEP2I,GACAkU,EAAY,CACRhX,MAAO8C,EAAK9C,MACZD,KAAM+C,EAAK/C,UAOvBoD,GArCAyU,GAAW,CAAC8M,aAAa,IACzB9Y,EAAMgjB,gBAAgBnC,WAAU,SAACtyB,GAE7B,GADAyd,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,KArBM,SAACqtB,GACtB,IAAMtkB,EAAS,CACXe,SAAUvB,IAAOwB,UAAY,GAC7BujB,UAAWD,GAEf5P,GAAW,CAAC8M,aAAa,IACzB9Y,EAAMgjB,gBAAgBlH,gBAAgBxkB,GAAQ,SAAC/I,GAE3C,GADAyd,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,KA6CfwtB,CAAiB,cACjBE,KACAP,GAAQ,CACJ9E,iBAAkBzf,IAAEC,IAAI4J,EAAS,gBAAiB,IAClDmiB,WAAYhsB,IAAEC,IAAI4J,EAAS,aAAc,IACzCkiB,IAAK/rB,IAAEC,IAAI4J,EAAS,MAAO,IAC3BpI,WAAYzB,IAAEC,IAAI4J,EAAS,aAAc,IACzC8K,WAAY3U,IAAEC,IAAI4J,EAAS,aAAc,QAG9C,IAEH,IAAMgL,GAAa,SAACphB,GAChB2gB,GAAWjS,wBAAC,GAAI8B,IAAWxQ,KAGzB8wB,GAAU,SAAC9wB,GACbqJ,EAAWqF,wBAAC,GAAItF,GAAYpJ,KAG1BqxB,GAAkB,WACpB,IAAM5iB,EAAQ,CACV+iB,MAAQjlB,IAAEC,IAAI4J,EAAS,aAAc,IACrCqb,UAAW,YAEfrQ,GAAW,CAAC8M,aAAa,IACzB9Y,EAAM1M,eAAegpB,wBAAwBjjB,GAAO,SAAC9K,EAAO2I,GAExD,GADA8U,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEP2I,GAAQA,EAAKxG,OAAS,GACtB8nB,EAAsBthB,OAM5BuL,GAAe,SAAC6f,GACJ,aAAXA,GACC3W,IAAqB,GAEX,aAAX2W,GACC5Y,GAAWA,KA+Cb6S,GAAe,SAAC1xB,EAAI4M,GACtB,IAAI5M,EAAK,OAAO,EAChB,IAAIE,EAAQoM,IAAEC,IAAIK,EAAG,QAASN,IAAEC,IAAIK,EAAG,eAAgB,KACvD,OAAQ5M,GACJ,IAAK,eAGL,IAAK,aAGL,IAAK,MAGL,IAAK,YAGL,IAAK,gBAGL,IAAK,QACD2xB,GAAS3xB,EAAIE,KAMnBo2B,GAAe,SAACp2B,GAClB,OAAOA,EAAK,MAAA0O,OAAS1O,GAAU,IAG7ByxB,GAAW,SAAC3xB,EAAIE,GAAW,IAADowB,EAAAC,EAAAC,EAAAC,EACpB2E,EAAkCjgB,EAAlCigB,iBAAkBF,EAAgB/f,EAAhB+f,YACnBM,EAAiErsB,EAAjEqsB,aAAcE,EAAmDvsB,EAAnDusB,aAAcE,EAAqCzsB,EAArCysB,QAASC,EAA4B1sB,EAA5B0sB,UAAWC,EAAiB3sB,EAAjB2sB,cACnD9U,EAAa,GACb5a,EAAO,GACX,OAAQpG,GACJ,IAAK,eACDoG,EAAOlG,EAAQo2B,GAAaZ,GAAgBY,GAAaV,GAAWU,GAAaT,GAAaS,GAAaR,GAC3GjF,GAAQ,CAAC2E,aAAct1B,EAAO8rB,cAAe5lB,IAC7C,MACJ,IAAK,aACD4a,EAAaoU,EAAiBvO,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAOpxB,KACvDkG,EAAOovB,EAAec,IAAuB,QAAVhG,EAAAtP,SAAU,IAAAsP,OAAA,EAAVA,EAAYM,OAAQ,IAAM0F,GAAaV,GAAWU,GAAaT,GAAaS,GAAaR,GAC5HjF,GAAQ,CAAC4E,WAAYv1B,EAAOw1B,cAAyB,QAAVnF,EAAAvP,SAAU,IAAAuP,OAAA,EAAVA,EAAYK,OAAQ,GAAK5E,cAAe5lB,IACnF,MACJ,IAAK,MACD4a,EAAakU,EAAYrO,MAAK,SAAA8J,GAAI,OAAIA,EAAKW,KAAOpxB,KAClDkG,EAAOovB,EAAec,GAAaZ,GAAgBY,IAAuB,QAAV9F,EAAAxP,SAAU,IAAAwP,OAAA,EAAVA,EAAYmF,MAAO,IAAMW,GAAaT,GAAaS,GAAaR,GAChIjF,GAAQ,CAAC8E,IAAKz1B,EAAO01B,SAAoB,QAAVnF,EAAAzP,SAAU,IAAAyP,OAAA,EAAVA,EAAYkF,MAAO,GAAK3J,cAAe5lB,IACtE,MACJ,IAAK,YACDA,EAAOovB,EAAec,GAAaZ,GAAiBY,GAAaV,GAAWU,GAAap2B,GAASo2B,GAAaR,GAC/GjF,GAAQ,CAACgF,UAAW31B,EAAO8rB,cAAe5lB,IAC1C,MACJ,IAAK,gBACDA,EAAOovB,EAAec,GAAaZ,GAAgBY,GAAaV,GAAWU,GAAaT,GAAaS,GAAap2B,GAClH2wB,GAAQ,CAACiF,cAAe51B,EAAO8rB,cAAe5lB,IAC9C,MACJ,IAAK,QACDyqB,GAAQ,CAAC3Y,MAAOhY,MA2H5B,OACIyP,IAAAC,cAACD,IAAME,SAAQ,KACXF,IAAAC,cAACmP,UAAQ,CAACH,KAAM5I,GAAmB6I,QAAS,kBAAM5I,IAAqB,IAC7D9J,OAAO,WAAWuM,QAASwI,GAAkBrU,QAAQ6L,UAC9DmI,IAAqBlR,IAAAC,cAACmS,UAAQ,CAACnD,KAAMiC,GACN3K,KAAM0gB,EAAS1gB,KACfC,QAASygB,EAASza,IAClBhQ,OAAO,WACP0S,QAAS,kBAAMjH,GAAa,eAC5DjI,IAAAC,cAAC4iB,UAAK,CACF5T,KAAMA,EACN7J,SAAU,KACVlD,WAAW,EACXgN,QAAS,kBAAMjH,GAAa,aAC5B5H,MAAO/D,IAAOgE,KAAK,kCAEnBN,IAAAC,cAAC4iB,UAAMC,QAAO,KACV9iB,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,sBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS4iB,kBAAoB,GACpCxR,SAAUhK,GAAQ0d,YAClB0E,gBAAiB,CACbC,QAAQ,GAEZC,WAAY,CACRphB,UAAU,GAEdI,WAAS,MAIrBlC,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,wBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS6iB,eAAiB,GACjCzR,SAAUhK,GAAQ0d,YAClB0E,gBAAiB,CACbC,QAAQ,GAEZC,WAAY,CACRphB,UAAU,GAEdI,WAAS,MAIrBlC,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,qBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAASqsB,cAAgB,GAChCjb,SAAUhK,GAAQ0d,YAClB0E,gBAAiB,CACbC,QAAQ,GAEZ7Y,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,eAAgB9kB,IAC9CiF,WAAS,MAIrBlC,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAY2kB,EACZziB,YAAa,OACbC,UAAW,KACXI,YAAa,aACbuH,SAAUhK,GAAQ0d,YAClB2E,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAASssB,YAAc,GAC9BzkB,MAAO/E,IAAOgE,KAAK,WACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,aAAc9kB,IAClD+M,OAAQ,YAGhBhK,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYykB,EACZviB,YAAa,MACbC,UAAW,KACXI,YAAa,aACbuH,SAAUhK,GAAQ0d,YAClB2E,QAAQ,EACR9f,iBAAiB,EACjB5S,MAAOiJ,EAASwsB,KAAO,GACvB3kB,MAAO/E,IAAOgE,KAAK,aACnB4C,eAAgB,SAACjG,GAAC,OAAK8kB,GAAa,MAAO9kB,IAC3C+M,OAAQ,aAIpBhK,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC4D,UAAa,CACVlB,YAAa,aACboB,iBAAiB,EACjBZ,iBAAiB,EACjB3B,MAAO,OACPyhB,QAAQ,EACR5hB,MAAO/E,IAAOgE,KAAK,aACnB0J,OAAQ,SACRY,SAAUhK,GAAQ0d,YAClBjb,YAAa,aACb9S,MAAOiJ,EAAS0sB,WAAa,GAC7BhjB,eAAgB,SAAAjG,GAAC,OAAI8kB,GAAa,YAAa9kB,OAGvD+C,IAAAC,cAACO,IAAG,CAACoJ,GAAI,GACL5J,IAAAC,cAAC8iB,IAAS,CACN1hB,MAAO/E,IAAOgE,KAAK,iBACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS2sB,eAAiB,GACjCvb,SAAUhK,GAAQ0d,YAClB0E,gBAAiB,CACbC,QAAQ,GAEZC,WAAY,CAAElf,IAAK,GACnB5R,KAAM,SACNgY,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,gBAAiB9kB,IAC/CiF,WAAS,MAIrBlC,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoJ,GAAI,IACL5J,IAAAC,cAAC8iB,IAAS,CACNI,WAAW,EACX9hB,MAAO/E,IAAOgE,KAAK,WACnB6D,QAAS,WACT6F,OAAQ,SACRzZ,MAAOiJ,EAAS+O,OAAS,GACzBqC,SAAUhK,GAAQ0d,YAClB0E,gBAAiB,CACbC,QAAQ,GAEZ7Y,SAAU,SAACnN,GAAC,OAAK8kB,GAAa,QAAS9kB,IACvCiF,WAAS,OAKzBlC,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoD,GAAI,IACL5D,IAAAC,cAACmjB,UAAW,CACRC,cAAY,EACZ1iB,IAAKif,GACL0D,YAAY,EACZC,MAAOxF,EACPnT,SAAUhK,GAAQ0d,YAClBkF,UAAW,EACXrF,UAAWA,EACXsF,YA1XZ,SAAClzB,GACjB6tB,GAAa7tB,IA0XemzB,UAvXJ,SAACzmB,GAEzB,GADA4iB,GAAY3iB,QAAUD,EAAE0mB,cAAgB1mB,EAAE0mB,cAAgB,GACtD1mB,EAAE2mB,cAAgB3mB,EAAE2mB,aAAa1tB,OAAS,EAAG,CAC7C4pB,GAAY5iB,QAAO2mB,YAAQ5mB,EAAE2mB,cAC7B,IAAME,EAAahE,GAAY5iB,QAAQ6mB,KAAI,SAACC,GAAC,OAAKA,EAAEC,gBACpDjG,EAAsBD,EAAmB9I,QAAO,SAACiP,GAC7C,OAAOJ,EAAWK,QAAQD,EAAID,cAAgB,aAsX1CjkB,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACoD,GAAI,IACL5D,IAAAC,cAAC0D,IAAK,CAACrC,UAAW,QAAUoE,GAAQkhB,YAAatqB,IAAOgE,KAAK,uBAC7DN,IAAAC,cAAC6K,UAAa,CACVhK,WAAYyD,EAAS5K,KACrB+R,WAAYnH,EAAS3K,MACrBmR,YAAaic,EACbhc,YAAagc,EACb1b,WAAY,SACZ0c,iBAAiB,EACjBzmB,MAAO,CAAEkK,OAAQ,QACjBR,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBI,WAAYjP,IAAOgE,KAAK,WACxB+K,mBAAmB,EACnBzK,QAASA,GAAQ0d,aAEjBte,IAAAC,cAACkM,SACG,CACA4b,QAASzrB,IAAOgE,KAAK,mBACrB2nB,UAAW,YACXC,SAAU,OACVC,cAAc,EACdhN,SAAU,MAEdnb,IAAAC,cAACkM,SAAM,CACH4b,QAASzrB,IAAOgE,KAAK,wBACrB6a,SAAU,IACV8M,UAAW,gBACXE,cAAc,IAElBnoB,IAAAC,cAACkM,SAAM,CACH4b,QAASzrB,IAAOgE,KAAK,eACrB2nB,UAAW,WACXE,cAAc,EACdhN,SAAU,KAEdnb,IAAAC,cAACkM,SAAM,CACH4b,QAASzrB,IAAOgE,KAAK,cACrB2nB,UAAW,gBACXE,cAAc,EACdhN,SAAU,KAEdnb,IAAAC,cAACkM,SAAM,CACHiC,UAAW,SACXga,OAAO,EACPC,cAAe,QACfF,cAAc,EACd/b,WA3PX,SAACnP,GACtB,IAAIA,EAAG,OAAO,KACd,IAAOP,EAAQO,EAAEuP,IAAV9P,KACP,OACIsD,IAAAC,cAACqoB,UAAa,KACVtoB,IAAAC,cAAA,OAAKqB,UAAU,IACXtB,IAAAC,cAACuT,IAAU,CAACC,aAAW,OAAOnS,UAAW,QAAStC,KAAK,QAC3C4L,SAAUhK,GAAQ0d,YAClBla,QAAS,kBA1MX,SAACnH,GAAkB,IAAfP,EAAIkB,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,GACjC2T,GAAkBrU,QAAQ6L,QAAUrM,EAAKqM,QACzCzC,IAAqB,GAwMkBoN,CAAkBzW,EAAGP,KAC5CsD,IAAAC,cAAC0T,IAAW,OAEhB3T,IAAAC,cAACuT,IAAU,CACPC,aAAW,OACX7I,SAAUhK,GAAQ0d,YAClB/c,MAAO,CAAE2D,QAAS,EAAG1D,MAAO,GAAIC,OAAQ,GAAIiO,YAAa,GACzDtL,QAAS,kBA1Dd,SAACnH,GACZ,IAAOP,EAAQO,EAAEuP,IAAV9P,KACDkW,GAAW,OAAJlW,QAAI,IAAJA,OAAI,EAAJA,EAAMwpB,YAAarT,IAAW,OAAJnW,QAAI,IAAJA,OAAI,EAAJA,EAAMwpB,WAAWlT,OAAO,cAC3D8V,IAAqB,OAAJpsB,QAAI,IAAJA,OAAI,EAAJA,EAAMmpB,eAAgB,IAAM,QAAa,OAAJnpB,QAAI,IAAJA,OAAI,EAAJA,EAAMqpB,eAAgB,IAC5E,QAAa,OAAJrpB,QAAI,IAAJA,OAAI,EAAJA,EAAMupB,UAAW,IAAM,OAASrT,GAAQ,IAAM,QAAa,OAAJlW,QAAI,IAAJA,OAAI,EAAJA,EAAMqsB,YAAa,IACvF3X,EAAW,CAAC5E,IAAK,CACTzD,QAASpM,IAAEC,IAAIF,EAAM,UAAW,IAChCP,WAAY,WACZ2sB,cAAeA,EACfE,WAAYrsB,IAAEC,IAAIF,EAAM,aAAc,IACtCusB,WAAYtsB,IAAEC,IAAIpD,EAAU,aAAc,IAC1CoN,YAAcjK,IAAEC,IAAIF,EAAM,cAAe,KAC1C6J,KAAM,SACb4K,IAAqB,GA6CUyC,CAAO3W,KAEtB+C,IAAAC,cAAC4T,UAAK,CAACpd,KAAM,UAEjBuJ,IAAAC,cAACuT,IAAU,CACPC,aAAW,SACX7I,SAAWlO,GAAqC,IAA7BgS,OAAOhS,EAAKkK,cAAuBhG,GAAQ0d,YAC9D/c,MAAO,CAAE2D,QAAS,EAAG1D,MAAO,GAAIC,OAAQ,GAAIiO,YAAa,GACzDtL,QAAS,kBAlDZ,SAAC1H,GACd,IAAMI,EAAS,CACXiM,QAASpM,IAAEC,IAAIF,EAAM,UAAW,KAEpC8U,GAAW,CAAC8M,aAAa,IACzB9Y,EAAMgjB,gBAAgBxU,WAAWlX,GAAQ,SAAC/I,EAAO2I,GAE7C,GADA8U,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEX,GAAI2I,EAAM,CACN,GAAmB,IAAhBA,EAAKyR,OAAc,CAClB,IAAIgL,EAAUzc,EAAKyc,SAAW7c,IAAOgE,KAAK,qBAE1C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAEQ,IAAhBzc,EAAKyR,QACJ7R,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,kBAAmB,SAgC1CyO,CAASrS,KAExBsD,IAAAC,cAAC4T,UAAK,CAACpd,KAAM,sBAyOrBuJ,IAAAC,cAAC4iB,UAAMuB,QAAO,CAAC7iB,MAAO,CAAEkJ,eAAgB,kBACpCzK,IAAAC,cAACuT,IAAU,CAACC,aAAW,OAAQrP,QAhc1B,WACbwb,IACAA,GAAOyE,iBA+bKrkB,IAAAC,cAACqkB,IAAc,OAEnBtkB,IAAAC,cAACgE,UAAa,CACVxN,KAAM6F,IAAOgE,KAAK,OAClB4D,WAAY,OACZ0G,SAAUhK,GAAQ0d,YAClB/c,MAAO,CAAEsJ,cAAe,aACxB7L,KAAM,QACNoF,QAjWL,WACX,IAAMmgB,EApFc,WACpB,IAAMC,EAAkBloB,IAAOyF,QAAQ0iB,mBAAmB5E,GAAY3iB,SAClEwnB,EAAgB,GAYpB,OAXAF,EAAgBxxB,SAAQ,SAACkxB,GACrBQ,EAAc/uB,KAAK,CACfgvB,IAAKT,EAAIU,IAAMV,EAAIU,IAAM,GACzBC,SAAUX,EAAIY,SAAWZ,EAAIY,SAAW,GACxCC,SAAUb,EAAIc,SAAWd,EAAIc,SAAW,GACxCC,QAASf,EAAIgB,QAAUhB,EAAIgB,QAAU,QAGzCnH,GAAsBA,EAAmB7nB,OAAS,IAClDwuB,EAAgB3G,EAAmB9e,OAAOylB,IAEvCA,EAsEgBS,GACjBroB,EAAS,CACXwU,WAAY3U,IAAEC,IAAIpD,EAAU,aAAc,IAC1C6iB,cAAe1f,IAAEC,IAAIpD,EAAU,gBAAiB,IAChD4E,WAAYzB,IAAEC,IAAIpD,EAAU,aAAc,IAC1C4iB,iBAAkBzf,IAAEC,IAAIpD,EAAU,mBAAoB,IACtD+O,MAAO5L,IAAEC,IAAIpD,EAAU,QAAS,IAChCqsB,aAAclpB,IAAEC,IAAIpD,EAAU,eAAgB,IAC9CssB,WAAYnpB,IAAEC,IAAIpD,EAAU,aAAc,IAC1CwsB,IAAKrpB,IAAEC,IAAIpD,EAAU,MAAO,IAC5B0sB,UAAWvpB,IAAEC,IAAIpD,EAAU,YAAa,MACxCktB,YAAqB,OAARltB,QAAQ,IAARA,OAAQ,EAARA,EAAU0sB,YACVrT,IAAOC,IAAY,OAARtZ,QAAQ,IAARA,OAAQ,EAARA,EAAU0sB,WAAWnT,UAChCF,IAAOC,IAAY,OAARtZ,QAAQ,IAARA,OAAQ,EAARA,EAAU0sB,WAAa,KAC/CC,cAAexpB,IAAEC,IAAIpD,EAAU,gBAAiB,IAChDmvB,WAAYhsB,IAAEC,IAAIpD,EAAU,aAAc,IAC1CkvB,IAAK/rB,IAAEC,IAAIpD,EAAU,MAAO,IAC5BkrB,cAAeU,KAAKC,UAAUd,IAElC/S,GAAW,CAAC8M,aAAa,IACzB9Y,EAAMgjB,gBAAgBtf,KAAKpM,GAAQ,SAAC/I,EAAO2I,GAEvC,GADA8U,GAAW,CAAC8M,aAAa,IACrBvqB,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEX,GAAI2I,EAAM,CACN,GAAmB,IAAhBA,EAAKyR,OAAc,CAClB,IAAIgL,EAAUzc,EAAK4c,SAAWhd,IAAOgE,KAAK,qBAE1C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAEQ,IAAhBzc,EAAKyR,SACJ7R,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,kBAAmB,KAC7D4O,GAAWA,mB,0RClV/Btf,EAAA,kBAAAC,GAAA,IAAAA,EAAA,GAAAC,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAI,gBAAA,SAAAC,EAAAC,EAAAC,GAAAF,EAAAC,GAAAC,EAAAC,OAAAC,EAAA,mBAAAC,cAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAAC,EAAAZ,EAAAC,EAAAE,GAAA,OAAAR,OAAAI,eAAAC,EAAAC,EAAA,CAAAE,QAAAU,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAf,EAAAC,GAAA,IAAAW,EAAA,aAAAI,GAAAJ,EAAA,SAAAZ,EAAAC,EAAAE,GAAA,OAAAH,EAAAC,GAAAE,GAAA,SAAAc,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,KAAAvB,qBAAA2B,EAAAJ,EAAAI,EAAAC,EAAA7B,OAAA8B,OAAAH,EAAA1B,WAAA8B,EAAA,IAAAC,EAAAN,GAAA,WAAAtB,EAAAyB,EAAA,WAAArB,MAAAyB,EAAAV,EAAAE,EAAAM,KAAAF,EAAA,SAAAK,EAAAC,EAAA9B,EAAA+B,GAAA,WAAAC,KAAA,SAAAD,IAAAD,EAAAG,KAAAjC,EAAA+B,IAAA,MAAAf,GAAA,OAAAgB,KAAA,QAAAD,IAAAf,IAAAvB,EAAAwB,OAAA,IAAAiB,EAAA,YAAAX,KAAA,SAAAY,KAAA,SAAAC,KAAA,IAAAC,EAAA,GAAAzB,EAAAyB,EAAA/B,GAAA,8BAAAgC,EAAA3C,OAAA4C,eAAAC,EAAAF,OAAAG,EAAA,MAAAD,OAAA9C,GAAAG,EAAAoC,KAAAO,EAAAlC,KAAA+B,EAAAG,GAAA,IAAAE,EAAAN,EAAAxC,UAAA2B,EAAA3B,UAAAD,OAAA8B,OAAAY,GAAA,SAAAM,EAAA/C,GAAA,0BAAAgD,SAAA,SAAAC,GAAAjC,EAAAhB,EAAAiD,GAAA,SAAAd,GAAA,YAAAe,QAAAD,EAAAd,SAAA,SAAAgB,EAAAvB,EAAAwB,GAAA,IAAAC,EAAAlD,EAAA,gBAAAI,MAAA,SAAA0C,EAAAd,GAAA,SAAAmB,IAAA,WAAAF,GAAA,SAAAG,EAAAC,IAAA,SAAAC,EAAAR,EAAAd,EAAAoB,EAAAC,GAAA,IAAAE,EAAAzB,EAAAL,EAAAqB,GAAArB,EAAAO,GAAA,aAAAuB,EAAAtB,KAAA,KAAAuB,EAAAD,EAAAvB,IAAA5B,EAAAoD,EAAApD,MAAA,OAAAA,GAAA,iBAAAA,GAAAN,EAAAoC,KAAA9B,EAAA,WAAA6C,EAAAG,QAAAhD,EAAAqD,SAAAC,MAAA,SAAAtD,GAAAkD,EAAA,OAAAlD,EAAAgD,EAAAC,MAAA,SAAApC,GAAAqC,EAAA,QAAArC,EAAAmC,EAAAC,MAAAJ,EAAAG,QAAAhD,GAAAsD,MAAA,SAAAC,GAAAH,EAAApD,MAAAuD,EAAAP,EAAAI,MAAA,SAAAI,GAAA,OAAAN,EAAA,QAAAM,EAAAR,EAAAC,QAAAE,EAAAvB,KAAAsB,CAAAR,EAAAd,EAAAoB,EAAAC,MAAA,OAAAH,MAAAQ,KAAAP,YAAA,SAAAtB,EAAAV,EAAAE,EAAAM,GAAA,IAAAkC,EAAA,iCAAAf,EAAAd,GAAA,iBAAA6B,EAAA,UAAAC,MAAA,iDAAAD,EAAA,cAAAf,EAAA,MAAAd,EAAA,OAAA+B,IAAA,IAAApC,EAAAmB,SAAAnB,EAAAK,QAAA,KAAAgC,EAAArC,EAAAqC,SAAA,GAAAA,EAAA,KAAAC,EAAAC,EAAAF,EAAArC,GAAA,GAAAsC,EAAA,IAAAA,IAAA9B,EAAA,gBAAA8B,GAAA,YAAAtC,EAAAmB,OAAAnB,EAAAwC,KAAAxC,EAAAyC,MAAAzC,EAAAK,SAAA,aAAAL,EAAAmB,OAAA,uBAAAe,EAAA,MAAAA,EAAA,YAAAlC,EAAAK,IAAAL,EAAA0C,kBAAA1C,EAAAK,SAAA,WAAAL,EAAAmB,QAAAnB,EAAA2C,OAAA,SAAA3C,EAAAK,KAAA6B,EAAA,gBAAAN,EAAAzB,EAAAX,EAAAE,EAAAM,GAAA,cAAA4B,EAAAtB,KAAA,IAAA4B,EAAAlC,EAAA4C,KAAA,6BAAAhB,EAAAvB,MAAAG,EAAA,gBAAA/B,MAAAmD,EAAAvB,IAAAuC,KAAA5C,EAAA4C,MAAA,UAAAhB,EAAAtB,OAAA4B,EAAA,YAAAlC,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAuB,EAAAvB,OAAA,SAAAkC,EAAAF,EAAArC,GAAA,IAAA6C,EAAA7C,EAAAmB,SAAAkB,EAAAxD,SAAAgE,GAAA,QAAAC,IAAA3B,EAAA,OAAAnB,EAAAqC,SAAA,eAAAQ,GAAAR,EAAAxD,SAAAkE,SAAA/C,EAAAmB,OAAA,SAAAnB,EAAAK,SAAAyC,EAAAP,EAAAF,EAAArC,GAAA,UAAAA,EAAAmB,SAAA,WAAA0B,IAAA7C,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAH,EAAA,aAAArC,EAAA,IAAAoB,EAAAzB,EAAAgB,EAAAkB,EAAAxD,SAAAmB,EAAAK,KAAA,aAAAuB,EAAAtB,KAAA,OAAAN,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAuB,EAAAvB,IAAAL,EAAAqC,SAAA,KAAA7B,EAAA,IAAAyC,EAAArB,EAAAvB,IAAA,OAAA4C,IAAAL,MAAA5C,EAAAqC,EAAAa,YAAAD,EAAAxE,MAAAuB,EAAAmD,KAAAd,EAAAe,QAAA,WAAApD,EAAAmB,SAAAnB,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAyC,GAAA9C,EAAAqC,SAAA,KAAA7B,GAAAyC,GAAAjD,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAhD,EAAAqC,SAAA,KAAA7B,GAAA,SAAA6C,EAAAC,GAAA,IAAAC,EAAA,CAAAC,OAAAF,EAAA,SAAAA,IAAAC,EAAAE,SAAAH,EAAA,SAAAA,IAAAC,EAAAG,WAAAJ,EAAA,GAAAC,EAAAI,SAAAL,EAAA,SAAAM,WAAAC,KAAAN,GAAA,SAAAO,EAAAP,GAAA,IAAA3B,EAAA2B,EAAAQ,YAAA,GAAAnC,EAAAtB,KAAA,gBAAAsB,EAAAvB,IAAAkD,EAAAQ,WAAAnC,EAAA,SAAA3B,EAAAN,GAAA,KAAAiE,WAAA,EAAAJ,OAAA,SAAA7D,EAAAuB,QAAAmC,EAAA,WAAAW,OAAA,YAAAjD,EAAAkD,GAAA,GAAAA,EAAA,KAAAC,EAAAD,EAAArF,GAAA,GAAAsF,EAAA,OAAAA,EAAA3D,KAAA0D,GAAA,sBAAAA,EAAAd,KAAA,OAAAc,EAAA,IAAAE,MAAAF,EAAAG,QAAA,KAAAC,GAAA,EAAAlB,EAAA,SAAAA,IAAA,OAAAkB,EAAAJ,EAAAG,QAAA,GAAAjG,EAAAoC,KAAA0D,EAAAI,GAAA,OAAAlB,EAAA1E,MAAAwF,EAAAI,GAAAlB,EAAAP,MAAA,EAAAO,EAAA,OAAAA,EAAA1E,WAAAqE,EAAAK,EAAAP,MAAA,EAAAO,GAAA,OAAAA,UAAA,OAAAA,KAAAf,GAAA,SAAAA,IAAA,OAAA3D,WAAAqE,EAAAF,MAAA,UAAAnC,EAAAvC,UAAAwC,EAAArC,EAAA2C,EAAA,eAAAvC,MAAAiC,EAAAtB,cAAA,IAAAf,EAAAqC,EAAA,eAAAjC,MAAAgC,EAAArB,cAAA,IAAAqB,EAAA6D,YAAApF,EAAAwB,EAAA1B,EAAA,qBAAAjB,EAAAwG,oBAAA,SAAAC,GAAA,IAAAC,EAAA,mBAAAD,KAAAE,YAAA,QAAAD,QAAAhE,GAAA,uBAAAgE,EAAAH,aAAAG,EAAAE,QAAA5G,EAAA6G,KAAA,SAAAJ,GAAA,OAAAvG,OAAA4G,eAAA5G,OAAA4G,eAAAL,EAAA9D,IAAA8D,EAAAM,UAAApE,EAAAxB,EAAAsF,EAAAxF,EAAA,sBAAAwF,EAAAtG,UAAAD,OAAA8B,OAAAiB,GAAAwD,GAAAzG,EAAAgH,MAAA,SAAA1E,GAAA,OAAAyB,QAAAzB,IAAAY,EAAAI,EAAAnD,WAAAgB,EAAAmC,EAAAnD,UAAAY,GAAA,0BAAAf,EAAAsD,gBAAAtD,EAAAiH,MAAA,SAAAxF,EAAAC,EAAAC,EAAAC,EAAA2B,QAAA,IAAAA,MAAA2D,SAAA,IAAAC,EAAA,IAAA7D,EAAA9B,EAAAC,EAAAC,EAAAC,EAAAC,GAAA2B,GAAA,OAAAvD,EAAAwG,oBAAA9E,GAAAyF,IAAA/B,OAAApB,MAAA,SAAAF,GAAA,OAAAA,EAAAe,KAAAf,EAAApD,MAAAyG,EAAA/B,WAAAlC,EAAAD,GAAA9B,EAAA8B,EAAAhC,EAAA,aAAAE,EAAA8B,EAAApC,GAAA,0BAAAM,EAAA8B,EAAA,qDAAAjD,EAAAoH,KAAA,SAAAC,GAAA,IAAAC,EAAApH,OAAAmH,GAAAD,EAAA,WAAA5G,KAAA8G,EAAAF,EAAAtB,KAAAtF,GAAA,OAAA4G,EAAAG,UAAA,SAAAnC,IAAA,KAAAgC,EAAAf,QAAA,KAAA7F,EAAA4G,EAAAI,MAAA,GAAAhH,KAAA8G,EAAA,OAAAlC,EAAA1E,MAAAF,EAAA4E,EAAAP,MAAA,EAAAO,EAAA,OAAAA,EAAAP,MAAA,EAAAO,IAAApF,EAAAgD,SAAAd,EAAA/B,UAAA,CAAAwG,YAAAzE,EAAA+D,MAAA,SAAAwB,GAAA,QAAAC,KAAA,OAAAtC,KAAA,OAAAX,KAAA,KAAAC,WAAAK,EAAA,KAAAF,MAAA,OAAAP,SAAA,UAAAlB,OAAA,YAAAd,SAAAyC,EAAA,KAAAc,WAAA1C,QAAA4C,IAAA0B,EAAA,QAAAb,KAAA,WAAAA,EAAAe,OAAA,IAAAvH,EAAAoC,KAAA,KAAAoE,KAAAR,OAAAQ,EAAAgB,MAAA,WAAAhB,QAAA7B,IAAA8C,KAAA,gBAAAhD,MAAA,MAAAiD,EAAA,KAAAjC,WAAA,GAAAG,WAAA,aAAA8B,EAAAvF,KAAA,MAAAuF,EAAAxF,IAAA,YAAAyF,MAAApD,kBAAA,SAAAqD,GAAA,QAAAnD,KAAA,MAAAmD,EAAA,IAAA/F,EAAA,cAAAgG,EAAAC,EAAAC,GAAA,OAAAtE,EAAAtB,KAAA,QAAAsB,EAAAvB,IAAA0F,EAAA/F,EAAAmD,KAAA8C,EAAAC,IAAAlG,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAyC,KAAAoD,EAAA,QAAA7B,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAAzC,EAAA2B,EAAAQ,WAAA,YAAAR,EAAAC,OAAA,OAAAwC,EAAA,UAAAzC,EAAAC,QAAA,KAAAiC,KAAA,KAAAU,EAAAhI,EAAAoC,KAAAgD,EAAA,YAAA6C,EAAAjI,EAAAoC,KAAAgD,EAAA,iBAAA4C,GAAAC,EAAA,SAAAX,KAAAlC,EAAAE,SAAA,OAAAuC,EAAAzC,EAAAE,UAAA,WAAAgC,KAAAlC,EAAAG,WAAA,OAAAsC,EAAAzC,EAAAG,iBAAA,GAAAyC,GAAA,QAAAV,KAAAlC,EAAAE,SAAA,OAAAuC,EAAAzC,EAAAE,UAAA,YAAA2C,EAAA,UAAAjE,MAAA,kDAAAsD,KAAAlC,EAAAG,WAAA,OAAAsC,EAAAzC,EAAAG,gBAAAf,OAAA,SAAArC,EAAAD,GAAA,QAAAgE,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,QAAA,KAAAiC,MAAAtH,EAAAoC,KAAAgD,EAAA,oBAAAkC,KAAAlC,EAAAG,WAAA,KAAA2C,EAAA9C,EAAA,OAAA8C,IAAA,UAAA/F,GAAA,aAAAA,IAAA+F,EAAA7C,QAAAnD,MAAAgG,EAAA3C,aAAA2C,EAAA,UAAAzE,EAAAyE,IAAAtC,WAAA,UAAAnC,EAAAtB,OAAAsB,EAAAvB,MAAAgG,GAAA,KAAAlF,OAAA,YAAAgC,KAAAkD,EAAA3C,WAAAlD,GAAA,KAAA8F,SAAA1E,IAAA0E,SAAA,SAAA1E,EAAA+B,GAAA,aAAA/B,EAAAtB,KAAA,MAAAsB,EAAAvB,IAAA,gBAAAuB,EAAAtB,MAAA,aAAAsB,EAAAtB,KAAA,KAAA6C,KAAAvB,EAAAvB,IAAA,WAAAuB,EAAAtB,MAAA,KAAAwF,KAAA,KAAAzF,IAAAuB,EAAAvB,IAAA,KAAAc,OAAA,cAAAgC,KAAA,kBAAAvB,EAAAtB,MAAAqD,IAAA,KAAAR,KAAAQ,GAAAnD,GAAA+F,OAAA,SAAA7C,GAAA,QAAAW,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAG,eAAA,YAAA4C,SAAA/C,EAAAQ,WAAAR,EAAAI,UAAAG,EAAAP,GAAA/C,IAAAgG,MAAA,SAAAhD,GAAA,QAAAa,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,WAAA,KAAA5B,EAAA2B,EAAAQ,WAAA,aAAAnC,EAAAtB,KAAA,KAAAmG,EAAA7E,EAAAvB,IAAAyD,EAAAP,GAAA,OAAAkD,GAAA,UAAAtE,MAAA,0BAAAuE,cAAA,SAAAzC,EAAAf,EAAAE,GAAA,YAAAf,SAAA,CAAAxD,SAAAkC,EAAAkD,GAAAf,aAAAE,WAAA,cAAAjC,SAAA,KAAAd,SAAAyC,GAAAtC,IAAAzC,EA+lCeyU,sBAAQ7L,aACnB,SAACzE,GAAK,MAAM,CACRk1B,oBAAqBl1B,EAAMm1B,SAASD,oBACpCE,wBAAyBp1B,EAAMm1B,SAASC,wBACxCC,2BAA4Br1B,EAAMm1B,SAASE,2BAC3CC,sBAAuBt1B,EAAMm1B,SAASG,sBACtCC,iBAAkBv1B,EAAMm1B,SAASI,qBAErC,SAAA1wB,GAAQ,MAAK,CACL2wB,gBAAiBzwB,YAAmB0wB,EAAiB5wB,GACrDC,eAAgBC,YAAmBD,EAAgBD,OAEvDgM,IA7kCO,CACX6kB,MAAO,CACH,OAAQ,CACJC,QAAS,KAGjBC,UAAW,CACP,OAAQ,CACJ3Z,gBAAiB,cAGzB4Z,WAAY,CACR,OAAQ,CACJ5Z,gBAAiB,YAGzB6Z,WAAY,CACR,OAAQ,CACJ7Z,gBAAiB,YAGzB8Z,WAAY,CACR,OAAQ,CACJ9Z,gBAAiB,YAGzB+Z,OAAQ,CACJvoB,OAAQ,EACR6D,SAAU,SACVP,QAAS,UAoiCFT,EAjiCE,SAAHpL,GAWW,IAVHwD,EAAIxD,EAAJwD,KACAuS,EAAI/V,EAAJ+V,KACAC,EAAOhW,EAAPgW,QACAsa,EAAetwB,EAAfswB,gBACA1wB,EAAcI,EAAdJ,eACAowB,EAAmBhwB,EAAnBgwB,oBACAE,EAAuBlwB,EAAvBkwB,wBACAC,EAA0BnwB,EAA1BmwB,2BACAE,EAAgBrwB,EAAhBqwB,iBACA7jB,EAAOxM,EAAPwM,QAElBtM,EAAgCC,mBAAS,CACrCsE,UAAW,GACX2K,YAAa,GACb2hB,kBAAmBpX,MACnBqX,cAAerX,MACftK,MAAO,KACTjP,EAAAC,YAAAH,EAAA,GANKI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAO5BI,EAAwCL,oBAAS,GAAMQ,EAAAN,YAAAG,EAAA,GAAhDwB,EAAarB,EAAA,GAAEsB,EAActB,EAAA,GACpCG,EAA4BX,mBAAS,IAAGY,EAAAV,YAAAS,EAAA,GAAjCmwB,EAAMlwB,EAAA,GAAEmwB,EAASnwB,EAAA,GAExBG,EAAgCf,mBAAS,IAAGgB,EAAAd,YAAAa,EAAA,GAArCmK,EAAQlK,EAAA,GAAEuW,EAAWvW,EAAA,GAC5BG,EAAwCnB,oBAAS,GAAMoB,EAAAlB,YAAAiB,EAAA,GAAhD6vB,EAAa5vB,EAAA,GAAE6vB,EAAc7vB,EAAA,GAEpCG,EAAoDvB,mBAAS,IAAGwB,EAAAtB,YAAAqB,EAAA,GAAzD2vB,GAAkB1vB,EAAA,GAAE2vB,GAAqB3vB,EAAA,GAEhDG,GAAoD3B,mBAAS,IAAG4B,GAAA1B,YAAAyB,GAAA,GAAzD+iB,GAAkB9iB,GAAA,GAAE+iB,GAAqB/iB,GAAA,GAChDG,GAAoD/B,oBAAS,GAAMgC,GAAA9B,YAAA6B,GAAA,GAA5DqvB,GAAmBpvB,GAAA,GAAEqvB,GAAoBrvB,GAAA,GAChDG,GAAkCnC,oBAAS,GAAMoC,GAAAlC,YAAAiC,GAAA,GAA1C2iB,GAAS1iB,GAAA,GAAE2iB,GAAY3iB,GAAA,GAC9BG,GAA8BvC,oBAAS,GAAMwC,GAAAtC,YAAAqC,GAAA,GAAtC+uB,GAAQ9uB,GAAA,GAAE+uB,GAAS/uB,GAAA,GAE1BwiB,GAA8ChlB,mBAAS,IAAGklB,GAAAhlB,YAAA8kB,GAAA,GAAnDwM,GAAetM,GAAA,GAAEuM,GAAkBvM,GAAA,GAC1CC,GAAoDnlB,oBAAS,GAAMolB,GAAAllB,YAAAilB,GAAA,GAA5DuM,GAAmBtM,GAAA,GAAEuM,GAAoBvM,GAAA,GAE5CwM,GAAwBhvB,iBAAO,IAC/B4jB,GAAc5jB,iBAAO,IACrB6jB,GAAc7jB,iBAAO,IACrBivB,GAAgBjvB,iBAAO,MACvB0P,GAAU1P,iBAAO,GACjBkvB,GAAgBlvB,iBAAO,MACvBmvB,GAAcnvB,iBAAO,MACnB2jB,GAAS3jB,iBAAO,MAClBovB,GAAapvB,iBAAO,IACpBqvB,GAAcrvB,iBAAO,IACrBsvB,GAActvB,iBAAO,IACrBuvB,GAAgBvvB,iBAAO,IACvBwvB,GAAcxvB,iBAAO,CAACyvB,UAAW,EAAGzD,UAAW,KAC/C0D,GAAgB1vB,iBAAO,CAACgsB,UAAW,GAAI13B,MAAO,KAC3CgW,GAAiB7J,EAAjB6J,KAAMC,GAAW9J,EAAX8J,QAEbnK,qBAAU,WACN,IAAIuvB,EAAe,GAwBnB,OAvBAxsB,YAAAxP,IAAA8G,MAAC,SAAA2I,IAAA,IAAAvC,EAAAwC,EAAAusB,EAAAC,EAAAtyB,EAAA,OAAA5J,IAAAyB,MAAA,SAAAoO,GAAA,cAAAA,EAAAlI,KAAAkI,EAAAxK,MAAA,UACgB,QAATsR,GAAc,CAAA9G,EAAAxK,KAAA,eAAAwK,EAAAhL,OAAA,iBAIjB,OAHD0G,GAAe,GACT2B,EAAS,CACXa,UAAWhB,IAAEC,IAAI4J,GAAS,YAAa,KAAO,IACjD/G,EAAAxK,KAAA,EACiByK,IAAIC,IAAI,wBAAyB7C,GAAQ,KAAD,EAKlD,GALFwC,EAAGG,EAAAnL,KACHu3B,EAAUlvB,IAAEC,IAAI0C,EAAK,OAAQ,IAC7BwsB,EAAgBnvB,IAAEC,IAAI0C,EAAK,UAAW3C,IAAEC,IAAIivB,EAAS,UAAW,KACtED,EAAeG,YAAW,WACtB5wB,GAAe,KAChB,MACC2wB,EAAc,CAADrsB,EAAAxK,KAAA,gBAAAwK,EAAAhL,OAAA,SAAS6H,IAAOiC,MAAMC,KAAK,QAASstB,IAAc,QAC7DtyB,EAAW,CACbmE,UAAWhB,IAAEC,IAAIivB,EAAS,YAAa,IACvCvjB,YAAa3L,IAAEC,IAAIivB,EAAS,cAAe,IAC3C5B,kBAAmBttB,IAAEC,IAAIivB,EAAS,oBAAqB,MACvD3B,cAAevtB,IAAEC,IAAIivB,EAAS,gBAAiB,MAC/CtjB,MAAO5L,IAAEC,IAAIivB,EAAS,QAAS,KAEtB,SAATtlB,KAAiBglB,GAAYruB,QAAU1D,GAC3CC,EAAYD,GAAU,yBAAAiG,EAAA/H,UAAA2H,MArB1BD,GAuBO,WACCwsB,GAAcI,aAAaJ,MAGpC,IAEHvvB,qBAAU,WACN,IAAIuvB,EAAe,GAuBnB,OAtBAxsB,YAAAxP,IAAA8G,MAAC,SAAAiY,IAAA,IAAA7R,EAAAwC,EAAAusB,EAAAC,EAAA,OAAAl8B,IAAAyB,MAAA,SAAAud,GAAA,cAAAA,EAAArX,KAAAqX,EAAA3Z,MAAA,UACgB,QAATsR,GAAc,CAAAqI,EAAA3Z,KAAA,eAAA2Z,EAAAna,OAAA,iBAIjB,OAHD61B,GAAe,GACTxtB,EAAS,CACXa,UAAWhB,IAAEC,IAAI4J,GAAS,YAAa,KAAO,IACjDoI,EAAA3Z,KAAA,EACiByK,IAAIC,IAAI,sBAAuB7C,GAAQ,KAAD,EAKhD,GALFwC,EAAGsP,EAAAta,KACHu3B,EAAUlvB,IAAEC,IAAI0C,EAAK,OAAQ,IAC7BwsB,EAAgBnvB,IAAEC,IAAI0C,EAAK,UAAW3C,IAAEC,IAAIivB,EAAS,UAAW,KACtED,EAAeG,YAAW,WACtBzB,GAAe,KAChB,MACCwB,EAAc,CAADld,EAAA3Z,KAAA,gBAAA2Z,EAAAna,OAAA,SAAS6H,IAAOiC,MAAMC,KAAK,QAASstB,IAAc,QACtD,SAATvlB,KAAiB+kB,GAAYpuB,QAAU2uB,GAC3Cjb,EAAYjU,IAAEonB,IAAI8H,GAAS,SAAA7K,GAAI,OAAAliB,wBAAA,GAASkiB,GAAI,IAAEiL,WAAe,OAAJjL,QAAI,IAAJA,OAAI,EAAJA,EAAMiL,eAC/DtvB,IAAEuvB,OAAOL,EAAS,0BACb74B,SAAQ,SAAAguB,GACLA,EAAKmL,wBAA0BC,GAAuBpL,EAAKmL,wBAAwB,SAAAzvB,GAC/E8tB,GAAsB9tB,SAE5B,yBAAAkS,EAAAlX,UAAAiX,MApBVvP,GAsBO,WACCwsB,GAAcI,aAAaJ,MAGpC,IAEHvvB,qBAAU,WACNmtB,EAAgB6C,6BAA4B,SAAAt4B,GACpCA,GAAOuI,IAAOiC,MAAMC,KAAK,QAASzK,MAE1Cy1B,EAAgB8C,kBAAkB,CAACzuB,SAAUvB,IAAOwB,UAAY,OAAO,SAAC/J,GAChEA,GAAOuI,IAAOiC,MAAMC,KAAK,QAASzK,MAE1Cy1B,EAAgB+C,0BAAyB,SAAAx4B,GACjCA,GAAOuI,IAAOiC,MAAMC,KAAK,QAASzK,MAE1Cy1B,EAAgBgD,sBAAqB,SAAAz4B,GAC7BA,GAAOuI,IAAOiC,MAAMC,KAAK,QAASzK,QAG3C,IAEHsI,qBAAU,WACN,GAAa,QAATkK,GAAgB,CAChB,IAAM1H,EAAQ,CACV+iB,MAAOjlB,IAAEC,IAAI4J,GAAS,YAAa,KAAO,GAC1Cqb,UAAW,YAEf6I,IAAqB,GACrB5xB,EAAegpB,wBAAwBjjB,GAAO,SAAC9K,EAAO2I,GAElD,GADAguB,IAAqB,GACjB32B,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,EAEP2I,GAAQA,EAAKxG,OAAS,GACtB8nB,GAAsBthB,SAKnC,IAEH,IAAM+vB,GAAa,SAACC,EAAOn8B,GAA8B,IAAvB6B,EAAIwL,UAAA1H,OAAA,QAAAtB,IAAAgJ,UAAA,GAAAA,UAAA,GAAG,WACjC+uB,EAAQ7tB,YAAA,GAAOqrB,GACfyC,GAAU,EACd,OAAQx6B,GACJ,IAAK,WACI7B,EAIDo8B,EAAWhwB,IAAEkwB,IAAIF,EAAUD,GAAS/vB,IAAEmwB,KAAKH,EAAUD,GAASC,GAH9DC,GAAU,EACVD,EAAQ7tB,wBAAA,GAAO6tB,GAAQ,GAAApjB,YAAA,GAAGmjB,EAAQpwB,IAAOgE,KAAK,+BAS1D,OADA8pB,EAAUuC,GACHC,GAGLR,GAAsB,eAAA/f,EAAAjN,YAAAxP,IAAA8G,MAAG,SAAA2R,IAAA,IAAA8jB,EAAAY,EAAAztB,EAAAusB,EAAAC,EAAAkB,EAAApvB,UAAA,OAAAhO,IAAAyB,MAAA,SAAAqX,GAAA,cAAAA,EAAAnR,KAAAmR,EAAAzT,MAAA,OAAsC,OAA/Bk3B,EAAsBa,EAAA92B,OAAA,QAAAtB,IAAAo4B,EAAA,GAAAA,EAAA,GAAG,GAAID,EAAEC,EAAA92B,OAAA,EAAA82B,EAAA,QAAAp4B,EAAA8T,EAAAzT,KAAA,EAC/CyK,IAAIC,IAAI,sCAAuC,CAACwsB,2BAAyB,KAAD,EAEhB,GAFpE7sB,EAAGoJ,EAAApU,KACHu3B,EAAUlvB,IAAEC,IAAI0C,EAAK,OAAQ,MAC7BwsB,EAAgBnvB,IAAEC,IAAI0C,EAAK,UAAW3C,IAAEC,IAAIivB,EAAS,UAAW,MACpD,CAADnjB,EAAAzT,KAAA,eAAAyT,EAAAjU,OAAA,SAAS6H,IAAOiC,MAAMC,KAAK,QAASstB,IAAc,OACnEb,GAAsB/tB,QAAO4B,wBAAA,GAAOmsB,GAAsB/tB,SAAO,GAAAqM,YAAA,GAAG4iB,EAAyBN,IACzFkB,GAAIA,EAAG9B,GAAsB/tB,SAAS,yBAAAwL,EAAAhR,UAAA2Q,OAC7C,kBAP2B,OAAAgE,EAAAzM,MAAA,KAAAhC,YAAA,GAiEtBqvB,GAAmB,eAAA/e,EAAA9O,YAAAxP,IAAA8G,MAAG,SAAAw2B,IAAA,IAAA5tB,EAAAusB,EAAAC,EAAA,OAAAl8B,IAAAyB,MAAA,SAAA87B,GAAA,cAAAA,EAAA51B,KAAA41B,EAAAl4B,MAAA,OAEH,OADrB+1B,IAAqB,GACrBV,GAAe,GAAM6C,EAAAl4B,KAAA,EACHyK,IAAIC,IAAI,2BAA2B,KAAD,EAGsB,GAHpEL,EAAG6tB,EAAA74B,KACTg2B,GAAe,GACTuB,EAAUlvB,IAAEC,IAAI0C,EAAK,OAAQ,MAC7BwsB,EAAgBnvB,IAAEC,IAAI0C,EAAK,UAAW3C,IAAEC,IAAIivB,EAAS,UAAW,MACpD,CAADsB,EAAAl4B,KAAA,gBAAAk4B,EAAA14B,OAAA,SAAS6H,IAAOiC,MAAMC,KAAK,QAASstB,IAAc,QACnE1B,EAAUztB,IAAEmwB,KAAK3C,EAAQ,aACzBvZ,EAAYjU,IAAEuvB,OAAO,GAADjtB,OAAA4kB,YAAKtf,GAAQsf,YAAKgI,IAAU,eAAe,yBAAAsB,EAAAz1B,UAAAw1B,OAClE,kBAVwB,OAAAhf,EAAAtO,MAAA,KAAAhC,YAAA,GAYnBwvB,GAAe,SAAC/8B,EAAK4M,GACvB,IAAM1M,EAAQoM,IAAEC,IAAIK,EAAG,eAAgBN,IAAEC,IAAIK,EAAG,QAAS,KACrDN,IAAEe,SAAS,CAAC,cAAe,iBAAkBrN,IAAMo8B,GAAWp8B,EAAKE,GACvEkJ,EAAWqF,wBAAC,GAAItF,GAAQ,GAAA+P,YAAA,GAAGlZ,EAAME,MAkE/B88B,GAAmB,SAACX,EAAOY,EAAOC,GACpC,IAAIC,EAAW,GACf,OAAQd,GACJ,IAAK,WACDc,EAAW7wB,IAAE8wB,MAAM5a,IAAOya,GAAOI,KAAK7a,IAAO0a,GAAQ,UAAU,IAC1D5wB,IAAEgxB,SAASH,KAAWA,EAAW,GACtC,MAEJ,IAAK,YAIgB,kBAHjBA,EAAW3a,IAAOya,GACbM,SAASlf,OAAO6e,GAAQ,UACxBva,OAAO,iBACqBwa,EAAW,MAC5C,MAEJ,IAAK,eAIgB,kBAHjBA,EAAW3a,IAAOya,GACbO,IAAInf,OAAO6e,GAAQ,SACnBva,OAAO,iBACqBwa,EAAW,MAMpD,MAAO,CAACvF,UAAWyE,EAAOn8B,MAAOi9B,IAoF/BM,GAAS,WACX,IAAMhtB,EAAasqB,GAAY2C,SAASC,OAAO,cAC3CC,EAAe,GACfC,EAAY,OACH,SAAT3nB,KACA0nB,EAAe,CAACtwB,UAAWhB,IAAEC,IAAI4J,GAAS,YAAa,KACvD0nB,EAAY,UAGhB,IAAM3J,EAhPc,WACpB,IAAMC,EAAkBloB,IAAOyF,QAAQ0iB,mBAAmB5E,GAAY3iB,SAClEwnB,EAAgB,GAapB,OAZAF,EAAgBxxB,SAAQ,SAACkxB,GACrBQ,EAAc/uB,KAAK,CACfgvB,IAAKT,EAAIU,IAAMV,EAAIU,IAAM,GACzBC,SAAUX,EAAIY,SAAWZ,EAAIY,SAAW,GACxCC,SAAUb,EAAIc,SAAWd,EAAIc,SAAW,GACxCC,QAASf,EAAIgB,QAAUhB,EAAIgB,QAAU,QAGzCnH,IAAsBA,GAAmB7nB,OAAS,IAClDwuB,EAAgB3G,GAAmB9e,OAAOylB,IAGvCA,EAiOgBS,GACjBroB,EAAMgC,wBAAA,CACRtC,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,KAC7BqwB,KAAM/I,KAAKC,UAAU1oB,IAAEonB,IAAIjjB,GAAY,SAAAkgB,GAAI,OAAAliB,wBAAA,GAASkiB,GAAI,IAAEiL,QAAWjL,EAAKiL,QAAU,EAAI,QACxFvH,cAAeU,KAAKC,UAAUd,IAC3B/qB,GACAy0B,GAEDG,EAAYzxB,IAAE0xB,OAAO,CAAC,CACxB53B,KAAM,cACNsc,UAAWvZ,EAAS8O,aAEpB,CACI7R,KAAM,cACNsc,UAAWvZ,EAAS0wB,eAExB,CACIzzB,KAAM,WACNsc,UAAWpW,IAAEqC,KAAK8B,KAAgBnE,IAAE2xB,MAAMxtB,GAAY,SAAAkgB,GAAI,QAAMA,EAAKuN,cACrE,SAACC,EAAKC,GAKV,OAJKA,EAAS1b,UAASyb,EAAG1vB,wBAAA,GACnB0vB,GAAG,GAAAjlB,YAAA,GACLklB,EAASh4B,KAAyB,aAAlBg4B,EAASh4B,KAAsB6F,IAAOgE,KAAK,2BAA6BhE,IAAOgE,KAAK,+BAElGkuB,IACR,IAEH,GADApE,EAAUgE,GACNzxB,IAAEqC,KAAKovB,GAAY,OAAO,EAC9BhvB,YAAAxP,IAAA8G,MAAC,SAAAg4B,IAAA,IAAApvB,EAAAqvB,EAAA7C,EAAA,OAAAl8B,IAAAyB,MAAA,SAAAu9B,GAAA,cAAAA,EAAAr3B,KAAAq3B,EAAA35B,MAAA,OACkB,OAAf21B,IAAU,GAAKgE,EAAA35B,KAAA,EACGyK,IAAIC,IAAI,aAAeuuB,EAAWpxB,GAAQ,KAAD,EAGuB,GAH5EwC,EAAGsvB,EAAAt6B,KACTs2B,IAAU,GACJ+D,EAAYhyB,IAAEC,IAAI0C,EAAK,cAAe,GACtCwsB,EAAgBnvB,IAAEC,IAAI0C,EAAK,UAAW,KAAO3C,IAAEC,IAAI0C,EAAK,eAAgB,IACzEqvB,EAAU,CAADC,EAAA35B,KAAA,SACyD,OAAnEqH,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,kBAAmB,KAAMsuB,EAAA35B,KAAA,GAC7DkT,GAAYrL,EAAQH,IAAEC,IAAI0C,EAAK,eAAgB,KAAK,KAAD,GACzD4P,GAAQ,GAAM,SAEZ4c,GAAmB6C,IAAWryB,IAAOiC,MAAMC,KAAK,QAASstB,GAAiBxvB,IAAOgE,KAAK,uBAAuB,yBAAAsuB,EAAAl3B,UAAAg3B,MAXvHtvB,IAeE+I,GAAW,eAAA0mB,EAAAzvB,YAAAxP,IAAA8G,MAAG,SAAAo4B,EAAOpyB,EAAMqyB,GAAQ,IAAAC,EAAAC,EAAAnuB,EAAA6H,EAAAumB,EAAAC,EAAA3mB,EAAAC,EAAA,OAAA7Y,IAAAyB,MAAA,SAAA+9B,GAAA,cAAAA,EAAA73B,KAAA63B,EAAAn6B,MAAA,OAOpC,GANG+5B,EAAaD,EACbE,EAAY,EACZnuB,EAAaskB,KAAKiK,MAAM1yB,IAAEC,IAAIF,EAAM,OAAQ,KACnC,SAAT6J,KACAyoB,EAAaryB,IAAEC,IAAI4J,GAAS,YAAa,IACzCyoB,EAAY,IAGZD,EAAW,CAADI,EAAAn6B,KAAA,SAiC8G,OAhClH0T,EAAW,CACbL,YAAa,YACbC,MAAO,UACP0hB,kBAAmB,iBACnBC,cAAe,gBAGfgF,EAAcpwB,YAAA,CACdyE,aAAc,YACd+rB,UAAW,gBACXC,qBAAsB,oBACtBC,sBAAuB,cACvBC,WAAY,WACZC,UAAW,WACP/yB,IAAE0xB,OAAO9E,GAAkB,SAACiF,EAAKC,EAAUkB,GAE3C,OADAnB,EAAG1vB,wBAAA,GAAO0vB,GAAG,GAAAjlB,YAAA,GAAGklB,EAAS1N,KAAO,SAAW4O,MAE5C,KAEDR,EAAW5D,GAAYruB,QAEvBsL,EAAU,CACZ9L,KAAMA,EACNiM,SAAUA,EACVinB,YAAaT,EACbvmB,OAAQqmB,EACRpmB,SAAU,MACVE,QAASimB,EACTlmB,cAAe,WACfE,gBAAiB,iDAEfP,EAAU,IAAIQ,UAAQT,IACpBqnB,oBAAoB,YAAa/uB,EAAYwqB,GAAYpuB,QAASgyB,EAAgB,aAAc,KAAM1mB,GAAU4mB,EAAAn6B,KAAA,GAClHwT,EAAQS,OAAO,KAAD,oBAAAkmB,EAAA13B,UAAAo3B,OAE3B,gBA7CgBhgB,EAAA1F,GAAA,OAAAylB,EAAAjvB,MAAA,KAAAhC,YAAA,GA2DXkyB,GAAsB,SAAC7yB,GACzB,OACI+C,IAAAC,cAAC8vB,UAAS,CAAC7E,cAAeA,GAAchuB,QAC7B8yB,eAAgB/yB,EAChBgzB,YAAY,EACZC,SAAU,SAACxzB,EAAMyzB,GACb,IAAIC,EAAU,GACd,OAAQD,EAAIlI,WACR,IAAK,YACD,IAAMoI,EAAkB1zB,IAAEC,IAAIF,EAAM,YAAa,MACjD0zB,EAAUzzB,IAAEonB,IAAIxf,GAAU,SAAAyc,GACtB,IAAIsP,EACEC,EAAkB5zB,IAAEC,IAAIokB,EAAM,eAAgB,MAC9CwP,EAAc7zB,IAAEC,IAAIokB,EAAM,WAAY,GACxCuP,EAEAD,EAAc,CAACG,SADKpD,GAAiB,WAAYkD,EAAiBF,GAC7B9/B,OAGrC+/B,EAAc,CAACI,aADKrD,GAAiB,eAAgBgD,EAAiBG,GAC7BjgC,OAE7C,OAAAuO,oCAAA,GAAYkiB,GAASsP,GAAW,IAAEK,QAAS,OAE/C,MACJ,IAAK,eACD,IAAMC,EAAqBj0B,IAAEC,IAAIF,EAAM,eAAgB,MACvD0zB,EAAUzzB,IAAEonB,IAAIxf,GAAU,SAAAyc,GACtB,IAAIsP,EACEO,EAAel0B,IAAEC,IAAIokB,EAAM,YAAa,MAC1C6P,IAEAP,EAAc,CAACG,SADKpD,GAAiB,WAAYuD,EAAoBC,GAChCtgC,QAEzC,OAAAuO,oCAAA,GAAYkiB,GAASsP,GAAW,IAAEK,QAAS,OAE/C,MACJ,IAAK,WACD,IAAMG,EAAiBn0B,IAAEC,IAAIF,EAAM,WAAY,GAC/C0zB,EAAUzzB,IAAEonB,IAAIxf,GAAU,SAAAyc,GACtB,IAAIsP,EACEO,EAAel0B,IAAEC,IAAIokB,EAAM,YAAa,MACxCuP,EAAkB5zB,IAAEC,IAAIokB,EAAM,eAAgB,OAChD6P,GAAkBN,IAAmBA,IAErCD,EAAc,CAACI,aADKrD,GAAiB,eAAgBwD,EAAcC,GAC1BvgC,SAExCsgC,GAAgBN,IAEjBD,EAAc,CAAChB,UADKjC,GAAiB,YAAakD,EAAiBO,GAC7BvgC,QAE1C,OAAAuO,oCAAA,GAAYkiB,GAASsP,GAAW,IAAEK,QAAS,QAQtDh0B,IAAE+kB,QAAQ0O,IAAYxf,EAAYwf,IAEvCW,cAAe,SAACC,GACZ,IAAOt0B,EAAQs0B,EAARt0B,KAEP,OADmB0uB,GAAY2C,SAASC,OAAO,cAC5B9W,MAAK,SAAA/gB,GAAC,QAAMA,EAAE81B,YAA2B,YAAf+E,EAAO3gC,IAAqBqM,EAAKuvB,QAAU,MAkCzGgF,GAAmB,SAACh0B,GACtB,IAAKA,EAAG,OAAO,KACf,IAAOuP,EAAOvP,EAAPuP,IACP,OACIxM,IAAAC,cAACqO,aAAU,CACPC,UAAU,EACVvP,KAAM,OACNiL,SAAU,OACVW,UAAU,EACVnU,KAAM,SACN2N,QAAS,WACL9H,IAAOiC,MAAMC,KAAK,SAAUlC,IAAOgE,KAAK,0CAA0C,WACjE,QAATiG,IAAgBqK,EAAYjU,IAAEsY,OAAO1Q,GAAU,SAAAyc,GAAI,OAAIA,EAAK5iB,aAAeoO,EAAI9P,KAAK0B,eAC3E,SAATmI,KACAtJ,EAAEi0B,UAAUC,UAAUl0B,EAAEyuB,SAAU,UAAW,GAC7CzuB,EAAEi0B,UAAUE,uBAQ9BC,GAAoB10B,IAAEsY,OAAOsU,EAAkB,CAAC,WAAY,IAElE,OAAOvpB,IAAAC,cAAAD,IAAAE,SAAA,KACF6qB,IAAuB/qB,IAAAC,cAACqxB,UAAQ,CAC7BriB,KAAM8b,GACNvuB,OAAQ,WACR+0B,SAAUtE,GACV/d,QAAS,kBAAM8b,IAAqB,MAExChrB,IAAAC,cAAC4iB,UAAK,CAAC2O,YAAU,EAACviB,KAAMA,EACjBC,QAAS,kBAAMA,GAAQ,IACvB7O,MAAO/D,IAAOgE,KAAK,yBAAyBmxB,eAC/CzxB,IAAAC,cAAC4iB,UAAMC,QAAO,KACV9iB,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GACb5D,IAAAC,cAACyxB,YAAS,CACNvO,WAAS,EACTpvB,MAAOo2B,EAAoB,YAC3BwH,OAAQ,SAAC10B,GAAC,OAAKwvB,GAAW,cAAexvB,EAAEwG,OAAOlT,OAAS,KAC3DqhC,UAAQ,EACR9vB,SAAmB,SAATyE,IAA6B,SAATA,IAAwD,IAArC5J,IAAEk1B,SAAgB,OAAPrrB,SAAO,IAAPA,QAAO,EAAPA,GAASI,aACrErW,MAAOiJ,EAAS8O,YAChBsC,SAAU1P,GAAiByvB,GAC3BvgB,SAAU,SAACnN,GAAC,OAAKmwB,GAAa,cAAenwB,IAC7CoE,MAAO/E,IAAOgE,KAAK,aACnBqC,YAAarG,IAAOgE,KAAK,WAGjCN,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GACb5D,IAAAC,cAACyxB,YAAS,CACNvO,WAAS,EACTrhB,SAAmB,SAATyE,IAA6B,SAATA,IAAwD,IAArC5J,IAAEk1B,SAAgB,OAAPrrB,SAAO,IAAPA,QAAO,EAAPA,GAASI,aACrErW,MAAOiJ,EAAS+O,MAChBqC,SAAU1P,GAAiByvB,GAC3BvgB,SAAU,SAACnN,GAAC,OAAKmwB,GAAa,QAASnwB,IACvCoE,MAAO/E,IAAOgE,KAAK,WACnBqC,YAAarG,IAAOgE,KAAK,aAKzCN,IAAAC,cAACE,IAAS,CAACoB,MAAO,CAACuwB,UAAW,KAC1B9xB,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GACb5D,IAAAC,cAAC8xB,aAAU,CACPhoB,WAAS,EACT1I,MAAO/E,IAAOgE,KAAK,kBACnB0xB,aAAa,QACbpnB,SAAU1P,GAAiByvB,GAC3Bp6B,MAAOiJ,EAASywB,kBAChBgI,cAAe,aACftvB,YAAa,aACbyH,SAAU,SAAAnN,GAAC,OAAImwB,GAAa,oBAAqBnwB,OAGzD+C,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GACb5D,IAAAC,cAAC8xB,aAAU,CACPH,UAAQ,EACR7nB,WAAS,EACT4nB,OAAQ,SAAC10B,GAAC,OAAKwvB,GAAW,gBAAiBxvB,EAAEwG,OAAOlT,OAAS,KAC7D8Q,MAAO/E,IAAOgE,KAAK,gBACnB0xB,aAAa,QACbj+B,MAAOo2B,EAAsB,cAC7Bvf,SAAU1P,GAAiByvB,GAC3Bp6B,MAAOiJ,EAAS0wB,cAChB+H,cAAe,aACftvB,YAAa,aACbyH,SAAU,SAAAnN,GAAC,OAAImwB,GAAa,gBAAiBnwB,SAK7D+C,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAAA,OAAKsB,MAAO,CACRwD,QAAS,OACT0F,eAAgB,gBAChBzF,WAAY,SACZlC,aAAc,IAEd9C,IAAAC,cAAC0D,QAAK,CAACiuB,UAAQ,GAAEt1B,IAAOgE,KAAK,sBAC1B6pB,EAAiB,SAChBnqB,IAAAC,cAACiyB,aAAU,CAACjb,OAAQ,UAAWkT,EAAiB,UAAkB,GACtEnqB,IAAAC,cAACyK,SAAM,CAACrJ,MAAO/E,IAAOgE,KAAK,kBACnBqK,UAAW,YACX9I,MAAO,UACPoI,SAAU,WACV1I,MAAO,CAACsJ,cAAe,aACvB7L,KAAM,SACNoF,QAAS,kBAAM4mB,IAAqB,IACpCpgB,SAAU+f,IAAqB,SAATpkB,IAA6B,SAATA,IAAwD,IAArC5J,IAAEk1B,SAAgB,OAAPrrB,SAAO,IAAPA,QAAO,EAAPA,GAASI,kBAKrG5G,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,IACLT,IAAAC,cAAC6K,UAAa,CACVqnB,UAAW,SAAAxxB,GAAG,OAAIyqB,GAAczqB,GAChCG,WAAYyD,EACZ9H,QAAQ,aACRwO,cAAc,EACdC,aAAa,EACbknB,iBAAiB,EACjBjnB,iBAAiB,EACjBE,mBAAmB,EACnBgnB,uBAAuB,EACvBrK,iBAAiB,EACjBzc,WAAYjP,IAAOgE,KAAK,WACxBiB,MAAO,CAACkK,OAAQ,OAAQ6mB,UAAW,UACnC1xB,QAASypB,GAAiBM,GAC1Bhf,QAAS,CACLpF,KAAM,OACNgsB,YAAa,OACbC,cAAwB,SAATjsB,IAA6B,SAATA,IAAwD,IAArC5J,IAAEk1B,SAAgB,OAAPrrB,SAAO,IAAPA,QAAO,EAAPA,GAASI,cAE9EnF,OAAQnF,IAAOkP,gBAAkB,IACjCinB,YAAa5H,GACb6H,YAAa,CAACC,SAAS,GACvBC,UAAW,CAACD,SAAS,EAAME,sBAAsB,GACjDC,mBAAoB,CAChBC,cAAe,SAAC91B,GACZA,EAAEi0B,UAAU8B,UACZ/1B,EAAEg2B,QAAQC,WAGlBC,gBAAiB,SAAAl2B,GACb0O,GAAQzO,UAAYD,EAAE8V,SAE1BqgB,QAAS,CAAC7sB,KAAM,QAChB8sB,eA7bL,SAACp2B,GACpB,IAAOP,EAAqBO,EAArBP,KAAM42B,EAAer2B,EAAfq2B,OAAQjjC,EAAO4M,EAAP5M,IACC,IAAlBqM,EAAK62B,WACLt2B,EAAEu2B,QAAS,GAEf,IAAMC,EAAc92B,IAAE+2B,UAAUnvB,GAAU,SAAAovB,GAAC,OAAIA,EAAEv1B,aAAe/N,KAChEo7B,GAAYvuB,QAAU,CAACwuB,SAAU+H,EAAaxL,UAAWqL,EAAOrL,YAwbxC2L,eAAgB,SAAA32B,GAAC,OAAIA,EAAE42B,UAAY,KACnCC,cAnkBN,SAAC72B,GACnB,IAAKA,EAAG,OAAO,EACf,IAAOP,EAAQO,EAARP,KACe,KAAd,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMi0B,UAAkC,KAAb,OAAJj0B,QAAI,IAAJA,OAAI,EAAJA,EAAMq3B,SAC7B92B,EAAE+2B,WAAWC,UAAUpG,IAAInoB,EAAQkkB,WAEjB,KAAd,OAAJltB,QAAI,IAAJA,OAAI,EAAJA,EAAMi0B,UAAkC,KAAb,OAAJj0B,QAAI,IAAJA,OAAI,EAAJA,EAAMq3B,SAC7B92B,EAAE+2B,WAAWC,UAAUpG,IAAInoB,EAAQmkB,YAEjB,KAAd,OAAJntB,QAAI,IAAJA,OAAI,EAAJA,EAAMi0B,UAAkC,KAAb,OAAJj0B,QAAI,IAAJA,OAAI,EAAJA,EAAMq3B,SAC7B92B,EAAE+2B,WAAWC,UAAUpG,IAAInoB,EAAQokB,YAEjB,KAAd,OAAJptB,QAAI,IAAJA,OAAI,EAAJA,EAAMi0B,UAAkC,KAAb,OAAJj0B,QAAI,IAAJA,OAAI,EAAJA,EAAMq3B,SAC7B92B,EAAE+2B,WAAWC,UAAUpG,IAAInoB,EAAQqkB,YAEhB,KAAf,OAAJrtB,QAAI,IAAJA,OAAI,EAAJA,EAAMw3B,WACNj3B,EAAE+2B,WAAWC,UAAUpG,IAAInoB,EAAQgkB,OAEjB,KAAd,OAAJhtB,QAAI,IAAJA,OAAI,EAAJA,EAAM6xB,UACNtxB,EAAE+2B,WAAWC,UAAUpG,IAAInoB,EAAQskB,SAijBfmK,aAjhBP,SAACl3B,GAClB,IAAKq2B,EAAoCr2B,EAApCq2B,OAAQb,EAA4Bx1B,EAA5Bw1B,YAAa2B,EAAen3B,EAAfm3B,YAG1B,GAFAjJ,GAAcjuB,QAAUk3B,EACxBn3B,EAAEi0B,UAAUE,eACRkC,EAAQ,CACR,GAAyB,eAArBA,EAAOrL,UAA4B,CACnC,IAAI5W,EAAa,GACjB,GAAIohB,EACA,GAAIA,EAAYtO,QAAQ,MAAQ,EACTsO,EAAY4B,MAAM,KAC1BrhC,SAAQ,SAAAshC,GACfjjB,EAAW1b,KAAK,CAAC,aAAc,IAAK2+B,EAAEC,SACtCljB,EAAW1b,KAAK,SAEpB0b,EAAWha,WAEXga,EAAa,CAAC,aAAc,WAAYohB,GAGhDpH,GAAWnuB,QAAQkB,WAAaiT,MAC7B,CACH,IAAImjB,EAAW,WACX,CAAC,YAAa,eAAgB,UAAW,WAAY,yBAA0B,oBAAqB,sBAAuB,sBAAsB92B,SAAS41B,EAAOrL,aAAYuM,EAAW,KAC5LnJ,GAAWnuB,QAAQo2B,EAAOrL,WAAcwK,GAAsC,mBAAhBA,EAA6B,CAACa,EAAOrL,UAAWuM,EAAU/B,GAAe,GAE3I3H,GA7Gc,SAAC2J,GACfA,IAASpJ,GAAa,IAC1B,IAAMpW,EAASoW,GAAWnuB,QACpBmU,EAAa,GASnB,OARAthB,OAAOkH,KAAKge,GAAQjiB,SAAQ,SAAA0hC,GACxB,IAAMC,EAAa1f,EAAOyf,GACtBC,GAAcA,EAAWz+B,OAAS,IAClCmb,EAAW1b,KAAKsf,EAAOyf,IACvBrjB,EAAW1b,KAAK,WAGxB0b,EAAWha,MACJga,EAiGgBujB,SAEnBvJ,GAAWnuB,QAAU,GACrB4tB,GAAmB,KAsfC+J,uBAAwB,SAAC53B,GACjBA,EAAEiuB,eAA6C,WAA5BjuB,EAAEiuB,cAAc4J,UACnC5J,GAAchuB,QAAUD,EAAEiuB,gBAGlC6J,kBAvfF,SAAA93B,GAItB,GAHsB,gBAAjBA,EAAE+3B,YAAiD,cAAjB/3B,EAAE+3B,YAA+C,eAAhB/3B,EAAEgrB,YACtEhrB,EAAEg4B,mBAAqB,MAEN,YAAjBh4B,EAAE+3B,WACF,OAAQ/3B,EAAEgrB,WACN,IAAK,oBACDhrB,EAAEi4B,cAAcp0B,WAAaypB,GAAmBttB,EAAEuP,IAAI9P,KAAKyvB,wBAC3D,MACJ,IAAK,YACDlvB,EAAEi4B,cAAcpxB,IAAM7G,EAAEuP,IAAI9P,KAAKg0B,aACjC,MACJ,IAAK,eACDzzB,EAAEi4B,cAAclxB,IAAM/G,EAAEuP,IAAI9P,KAAK4yB,YA2erB6F,cA/aN,SAAAl4B,GAClB,IAAOmzB,EAAoBnzB,EAApBmzB,QAASgF,EAAWn4B,EAAXm4B,QAChBC,EAA8B5J,GAAYvuB,QAAnC+qB,EAASoN,EAATpN,UAAWyD,EAAQ2J,EAAR3J,SAClB,OAAQzD,GACJ,IAAK,yBACD,IAAMqN,EAA+B34B,IAAEC,IAAIwzB,EAAS,yBAA0B,IACzEzzB,IAAEkwB,IAAItC,GAAoB+K,IAC3BlJ,GAAuBkJ,GAA8B,SAAA54B,GACjD8tB,GAAsB9tB,MAG9BivB,GAAczuB,QAAU,CAAC+qB,UAAW,oBAAqB13B,MAAO,IAChE,MACJ,IAAK,WACD,IAAMglC,EAAc54B,IAAEC,IAAIwzB,EAAS,WAAY,KACnC,OAAPgF,QAAO,IAAPA,OAAO,EAAPA,EAAS9F,aAAoB,OAAP8F,QAAO,IAAPA,OAAO,EAAPA,EAAS1E,gBAChC/E,GAAczuB,QAAUmwB,GAAiB,YAAa+H,EAAQ1E,aAAc6E,OAEnE,OAAPH,QAAO,IAAPA,OAAO,EAAPA,EAAS1E,gBAAuB,OAAP0E,QAAO,IAAPA,OAAO,EAAPA,EAAS9F,aAAsB,OAAP8F,QAAO,IAAPA,OAAO,EAAPA,EAAS1E,gBAAuB,OAAP0E,QAAO,IAAPA,OAAO,EAAPA,EAAS9F,cACrF3D,GAAczuB,QAAUmwB,GAAiB,eAAgB+H,EAAQ9F,UAAWiG,IAGhF,MACJ,IAAK,YACD,IAAMlF,EAAkB1zB,IAAEC,IAAIwzB,EAAS,YAAa,OACzC,OAAPgF,QAAO,IAAPA,OAAO,EAAPA,EAAS1E,gBACT/E,GAAczuB,QAAUmwB,GAAiB,WAAY+H,EAAQ1E,aAAcL,GACvE1zB,IAAE1G,MAAM01B,GAAczuB,QAAQ3M,SAAQo7B,GAAczuB,QAAO4B,wBAAA,GACxD6sB,GAAczuB,SAAO,IACxB3M,OAAc,OAAP6/B,QAAO,IAAPA,OAAO,EAAPA,EAASK,UAAkB,OAAPL,QAAO,IAAPA,OAAO,EAAPA,EAASK,SAAW9zB,IAAEC,IAAI2H,EAAS,IAADtF,OAAMysB,EAAQ,aAAa,SAGpF,OAAP0J,QAAO,IAAPA,OAAO,EAAPA,EAAS1E,eAAgB/zB,IAAEgxB,SAAgB,OAAPyH,QAAO,IAAPA,OAAO,EAAPA,EAAS3E,YAC9C9E,GAAczuB,QAAUmwB,GAAiB,eAAgBgD,EAAwB,OAAP+E,QAAO,IAAPA,OAAO,EAAPA,EAAS3E,WAEvF,MACJ,IAAK,eACD,IAAMG,EAAqBj0B,IAAEC,IAAIwzB,EAAS,eAAgB,OAC/C,OAAPgF,QAAO,IAAPA,OAAO,EAAPA,EAAS9F,aACT3D,GAAczuB,QAAUmwB,GAAiB,WAAYuD,EAAoBwE,EAAQ9F,WAC7E3yB,IAAE1G,MAAM01B,GAAczuB,QAAQ3M,SAAQo7B,GAAczuB,QAAO4B,wBAAA,GACxD6sB,GAAczuB,SAAO,IACxB3M,OAAc,OAAP6/B,QAAO,IAAPA,OAAO,EAAPA,EAASK,UAAkB,OAAPL,QAAO,IAAPA,OAAO,EAAPA,EAASK,SAAW9zB,IAAEC,IAAI2H,EAAS,IAADtF,OAAMysB,EAAQ,aAAa,SAsYhF8J,aA/bP,SAAAv4B,GACjB,IAAOP,EAAQO,EAARP,KACAgvB,EAAYD,GAAYvuB,QAAxBwuB,SACP+J,EAA2B9J,GAAczuB,QAAlC+qB,EAASwN,EAATxN,UAAW13B,EAAKklC,EAALllC,MAGlB,OAFAmM,EAAKi0B,QAAU,EACXnF,GAActuB,SAAS8uB,aAAaR,GAActuB,UAClDP,IAAE+kB,QAAQiK,GAAczuB,YACV,IAAdwuB,QACJF,GAActuB,QAAU6uB,YAAW,WAC/B9uB,EAAEi0B,UAAUC,UAAUzF,EAAUzD,EAAW13B,GAC3Co7B,GAAczuB,QAAU,CAAC+qB,UAAW,GAAI13B,MAAO,IAC/Ck7B,GAAYvuB,QAAU,CAACwuB,UAAW,EAAGzD,UAAW,MACjD,SAqbqBjoB,IAAAC,cAACkM,SAAM,CACH4b,QAASzrB,IAAOgE,KAAK,aACrB8N,UAAW,SACXukB,QAASr2B,IAAOo5B,UAAqB,SAATnvB,GAC5B4hB,cAAc,EACd/b,WAAY6kB,KAEhBjxB,IAAAC,cAACkM,SAAM,CACH4b,QAASzrB,IAAOgE,KAAK,QACrB2nB,UAAW,UACX0N,SAAUr5B,IAAOgE,KAAK,SACtBs1B,UAAWt5B,IAAOgE,KAAK,YACvB4nB,SAAU,UACVC,cAAc,EACdC,OAAO,EACPyN,gBAAgB,EAChBC,iBAAkBhG,GAClBiG,cAAc,EACdC,cAAc,EACd7a,SAAU,KAEdnb,IAAAC,cAACkM,SAAM,CAAC4b,QAASzrB,IAAOgE,KAAK,gBACrB2nB,UAAW,aACXE,cAAc,EACdC,OAAO,EACPjN,SAAU,MAElBnb,IAAAC,cAACkM,SAAM,CAAC4b,QAASzrB,IAAOgE,KAAK,iBACrB2nB,UAAW,eACXE,cAAc,EACd/b,WAlOb,SAACnP,GACpB,IAAOP,EAAQO,EAAEuP,IAAV9P,KACDiQ,EAAOrQ,IAAOsQ,QAAQ,CAACxO,WAAY1B,EAAK0B,aAC9C,OAAO4B,IAAAC,cAAA,OAAKsB,MAAO,CAACwD,QAAS,OAAQC,WAAY,WAC7ChF,IAAAC,cAAC8M,SAAM,CACHxL,MAAO,CAAC2D,QAAS,IACjB6E,WAAW,EACXvI,MAAO,GACPC,OAAQ,GACRK,UAAQ,EACRsL,KAAS,OAAJT,QAAI,IAAJA,OAAI,EAAJA,EAAMU,iBAAkB,KAEjCrN,IAAAC,cAAC0D,QAAK,MAAM,OAAJgJ,QAAI,IAAJA,OAAI,EAAJA,EAAMpJ,eAAgB,MAuNF6kB,OAAO,EACPjN,SAAU,MAElBnb,IAAAC,cAACkM,SAAM,CAAC2pB,iBAAkBhG,GAClBiG,cAAc,EACdC,cAAc,EACd7N,cAAc,EACd/Z,UAAW,QACX2Z,QAASzrB,IAAOgE,KAAK,iBACrB2nB,UAAW,YACXC,SAAU,OACVlV,OAAQ,aACRxR,MAAO,IACP0zB,cAAe,CACX/xB,iBAAiB,IAGzBnD,IAAAC,cAACg2B,aAAU,CACPC,mBAAoB,SAAAj5B,GAAC,QAAMA,EAAEP,KAAK4yB,WAClCnW,QAAQ,kDAEhBnZ,IAAAC,cAACkM,SAAM,CAAC2pB,iBAAkBhG,GAClBiG,cAAc,EACdC,cAAc,EACd7N,cAAc,EACd/Z,UAAW,QACX2Z,QAASzrB,IAAOgE,KAAK,qBACrB2nB,UAAW,eACXC,SAAU,OACVlV,OAAQ,aACRkiB,cAAe,CACX/xB,iBAAiB,GAErB3B,MAAO,MAEfxB,IAAAC,cAACkM,SAAM,CAAC2pB,iBAAkBhG,GAClBiG,cAAc,EACdC,cAAc,EACd5nB,UAAW,SACX8mB,cAAe,CACX/xB,iBAAiB,GAErB3B,MAAO,IACPumB,QAASzrB,IAAOgE,KAAK,YACrB2nB,UAAW,aACnBjoB,IAAAC,cAACkM,SAAM,CAACiC,UAAW,SACX+M,SAAU,IACVgb,OAAQ,CACJr1B,WAAYuoB,EACZpmB,UAAW,yBACXD,YAAa,gBAEjBkyB,cAAe,CACX/xB,iBAAiB,GAIrB4kB,QAASzrB,IAAOgE,KAAK,gCACrB2nB,UAAW,2BAEnBjoB,IAAAC,cAACkM,SAAM,CAACiC,UAAW,SACX2Z,QAASzrB,IAAOgE,KAAK,2BACrBy1B,cAAc,EACdC,cAAc,EACdG,OAAQ,CACJr1B,WAAYnE,IAAE4tB,IACTtzB,OACAo3B,QAAO,SAACG,EAAK4H,GAEV,OADA5H,EAAG,GAAAvvB,OAAA4kB,YAAO2K,GAAG3K,YAAK0G,GAAmB6L,OAEtC,IACPnzB,UAAW,oBACXD,YAAa,WAEjBkyB,cAAe,CACX/xB,iBAAiB,GAErBgY,SAAU,IACV8M,UAAW,sBAEnBjoB,IAAAC,cAACkM,SAAM,CAAC2pB,iBAAkBhG,GAClBiG,cAAc,EACdC,cAAc,EACd7N,cAAc,EACdJ,QAASzrB,IAAOgE,KAAK,qBACrBkB,MAAO,IACP20B,OAAQ,CACJr1B,WAAYooB,EACZjmB,UAAW,qBACXD,YAAa,wBAEjBilB,UAAW,uBACnBjoB,IAAAC,cAACkM,SAAM,CAAC2pB,iBAAkBhG,GAClBiG,cAAc,EACdC,cAAc,EACd7N,cAAc,EACd+M,cAAe,CACX/xB,iBAAiB,GAErBgzB,OAAQ,CACJr1B,WAAYsoB,EACZnmB,UAAW,sBACXD,YAAa,yBAEjBxB,MAAO,IACPumB,QAASzrB,IAAOgE,KAAK,eACrB2nB,UAAW,wBACnBjoB,IAAAC,cAACkM,SAAM,CAAC2pB,iBAAkBhG,GAClBiG,cAAc,EACdb,cAAe,CACX/xB,iBAAiB,GAErB3B,MAAO,IACPw0B,cAAc,EACd7N,cAAc,EACdJ,QAASzrB,IAAOgE,KAAK,YACrB2nB,UAAW,eAClBtrB,IAAEonB,IAAIsN,IAAmB,SAACrQ,EAAMqV,GAAC,OAAKr2B,IAAAC,cAACkM,SAAM,CAAC9b,IAAKgmC,EACLnO,SAAU,SACVlV,OAAQ,CACJ5gB,KAAM,UACN4R,IAAK,GAETxC,MAAO,IACP80B,sBAAuB,SAAAnF,GAAS,OAAIziB,OAAOyiB,EAAUnQ,EAAKD,OAAS,GAAGwV,kBACtErB,cAAe,CACXlxB,IAAK,EACLb,iBAAiB,EACjB6P,OAAQ,CACJwjB,UAAW9nB,OAAW,OAAJsS,QAAI,IAAJA,OAAI,EAAJA,EAAMyV,WAAa,IAG7CX,iBAAkBhG,GAClBiG,cAAc,EACdC,cAAc,EACd7N,cAAc,EACd/Z,UAAW,SACX2Z,QAAS/G,EAAK0V,OAAS,GACvBzO,UAAWjH,EAAKD,MAAQ,QACvE/gB,IAAAC,cAACkM,SAAM,CACHwmB,SAAS,EACT1K,UAAW,UACXE,cAAc,IAElBnoB,IAAAC,cAACkM,SAAM,CACHwmB,SAAS,EACT1K,UAAW,UACXE,cAAc,IAElBnoB,IAAAC,cAACkM,SAAM,CACHwmB,SAAS,EACT1K,UAAW,SACXE,cAAc,IAElBnoB,IAAAC,cAACkM,SAAM,CACHiC,UAAW,SACX2Z,QAAS,IACTI,cAAc,EACdC,OAAO,EACPC,cAAe,QACf7mB,MAAO,IAEP4K,WAAY6kB,KAEhBjxB,IAAAC,cAAC02B,UAAO,CAACC,uBAvXR,SAACpuB,GAC1B,GAAqB,gBAAjBA,EAAQ/R,KACR,GAA+B,UAA3B+R,EAAQquB,eACRruB,EAAQsuB,WAAa,OAClB,GAA+B,cAA3BtuB,EAAQquB,eAAgC,CAAC,IAADE,GAC7B,QAAdA,EAACvuB,EAAQjY,aAAK,IAAAwmC,OAAA,EAAbA,EAAexI,WAChB/lB,EAAQsuB,YAAc,MAkXN92B,IAAAC,cAAC+2B,YAAS,CACN1D,OAAO,UACPrB,cAAa,GAAAhzB,OAAK3C,IAAOgE,KAAK,YAAW,OAG7CN,IAAAC,cAAC+2B,YAAS,CACNvgC,KAAM,cACNwgC,YAAY,SACZhF,cAAe,MACfiF,aAAa,oBAOrCl3B,IAAAC,cAACk3B,YAAS,CAACC,QAAQ,GACfp3B,IAAAC,cAACo3B,mBAAgB,KACbr3B,IAAAC,cAAC0D,QAAK,KAAErH,IAAOgE,KAAK,cAExBN,IAAAC,cAACq3B,mBAAgB,CAAC/1B,MAAO,CAACoI,UAAW,IACjC3J,IAAAC,cAACmjB,UAAW,CACRK,YAAarF,GACbzd,IAAK,SAAAA,GAAG,OAAIif,GAAO1iB,QAAUyD,GAC7BiK,SAAU+f,IAAYF,IAAiC,SAATlkB,IAAwD,IAArC5J,IAAEk1B,SAAgB,OAAPrrB,SAAO,IAAPA,QAAO,EAAPA,GAASI,aACrFuX,UAAWA,GACXpqB,OAAO,EACPuvB,YAAY,EACZC,MAAOxF,GACPwZ,SAAS,EACT7T,UAvwBI,SAACzmB,GAEzB,GADA4iB,GAAY3iB,QAAUD,EAAE0mB,cAAgB1mB,EAAE0mB,cAAgB,GACtD1mB,EAAE2mB,cAAgB3mB,EAAE2mB,aAAa1tB,OAAS,EAAG,CAC7C4pB,GAAY5iB,QAAO2mB,YAAO5mB,EAAE2mB,cAC5B,IAAME,EAAahE,GAAYiE,KAAI,SAACC,GAAC,OAAKA,EAAEC,gBACtCuT,EAAU3T,YAAI9F,IAAoB9I,QAAO,SAAAiP,GAAG,OAAIJ,EAAWK,QAAQD,EAAID,cAAgB,KAC7FjG,GAAsBwZ,UAswBtBx3B,IAAAC,cAAC4iB,UAAMuB,QAAO,CAAC7iB,MAAO,CAACkJ,eAAgB,kBACnCzK,IAAAC,cAAA,WACID,IAAAC,cAACqO,aAAU,CACP1D,SAAU+f,IAAqB,SAATpkB,IAA6B,SAATA,IAAwD,IAArC5J,IAAEk1B,SAAgB,OAAPrrB,SAAO,IAAPA,QAAO,EAAPA,GAASI,aACjFnQ,KAAM,aACN8X,UAAQ,EACRf,SAAO,EACPvD,SAAU,OACV7F,QA9mBC,WACbwb,IACAA,GAAO1iB,QAAQmnB,mBA+mBXrkB,IAAAC,cAAA,WACID,IAAAC,cAACyK,SAAM,CACH7I,MAAO,OACPoI,SAAU,SACVoG,KAAM/T,IAAOgE,KAAK,OAClBqK,UAAW,OACXC,SAAU1P,GAA0B,SAATqL,IAAmB5J,IAAEqC,KAAKmrB,IAAqB,SAAT5jB,IAAwD,IAArC5J,IAAEk1B,SAAgB,OAAPrrB,SAAO,IAAPA,QAAO,EAAPA,GAASI,aACxGxC,QA9gBH,WACbgnB,GAAY2C,SAASqD,eAAe18B,MAAK,WACrCq3B,YAAW,WACiB,IAApBpgB,GAAQzO,QACR4wB,KAEAniB,GAAQzO,QAAU,IAEvB,mB,kGC5jBTu6B,EAAS,CACXC,iBAAkB,CACdC,SAAU,WACV5yB,QAAS,OACT0F,eAAgB,SAChBzF,WAAY,SACZxD,MAAO,OACPC,OAAQ,OACRm2B,IAAK,EACLC,KAAM,EACNC,OAAQ,OA8GDC,UA1GE,SAAAvyB,GACb,IAAQyJ,EAAkBzJ,EAAlByJ,KAAMC,EAAY1J,EAAZ0J,QACd9V,EAA8BC,oBAAS,GAAMC,EAAAC,YAAAH,EAAA,GAAtCwH,EAAOtH,EAAA,GAAEkY,EAAUlY,EAAA,GAC1BI,EAAwCL,qBAAUQ,EAAAN,YAAAG,EAAA,GAA3Cs+B,EAAYn+B,EAAA,GAAEo+B,EAAep+B,EAAA,GAE9BhB,EAAWod,cAEXiiB,EAAUj8B,mBAmBhBI,qBAAU,WACF4S,IAjBJuC,GAAW,GACX3Y,EACIs/B,KAAwB,SAAChO,EAAQztB,GAC7B,GAAIytB,EAAQ,CACR,IAAMhR,EAAUgR,EAAOhR,SAAW7c,IAAOgE,KAAK,qBAE9C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EACAzc,IACPw7B,EAAQh7B,QAAc,OAAJR,QAAI,IAAJA,OAAI,EAAJA,EAAM07B,aACxBH,EAAoB,OAAJv7B,QAAI,IAAJA,OAAI,EAAJA,EAAM07B,eAE1B5mB,GAAW,UAQpB,CAACvC,IA6BJ,OACIjP,IAAAC,cAAC4iB,QAAK,CACF3T,QAASA,EACTD,KAAMA,EACNopB,iBAAiB,EACjBC,UAAU,EACVC,cAAc,EACdC,eAAe,EACfh3B,MAAO,OAEPxB,IAAAC,cAACw4B,cAAW,CAACp4B,MAAO/D,IAAOgE,KAAK,aAChCN,IAAAC,cAACy4B,YAAS,KACL93B,GACGZ,IAAAC,cAAA,OAAKsB,MAAOk2B,EAAOC,kBACf13B,IAAAC,cAAC04B,mBAAgB,CAAC35B,KAAM,QAGhCgB,IAAAC,cAACqN,aAAU,CAAChM,UAAU,QAAQhF,IAAOgE,KAAK,oCAC1CN,IAAAC,cAAC24B,QAAK,CACFt3B,UAAU,OACV7K,KAAM,SACN4K,MAAO,MACP9Q,MAAO,MACPsoC,QAA0B,IAAjBb,EACT5tB,SAAU,kBAAM6tB,EAAgB,MAEpCj4B,IAAAC,cAAC24B,QAAK,CACFt3B,UAAU,OACV7K,KAAM,SACN4K,MAAO,MACP9Q,MAAO,MACPsoC,QAA0B,IAAjBb,EACT5tB,SAAU,kBAAM6tB,EAAgB,OAGxCj4B,IAAAC,cAAC64B,cAAW,KACR94B,IAAAC,cAACyK,SAAM,CACHE,SAAUhK,GAAWo3B,IAAiBE,EAAQh7B,QAC9CuE,OAAQ,GACRwI,SAAU,SACVpI,MAAO,OACPwO,KAAM/T,IAAOgE,KAAK,OAClB8D,QArED,WACX,IAAMtH,EAAS,CACXs7B,aAAcJ,GAElBxmB,GAAW,GACX3Y,EACIs/B,IAAqBr7B,GAAQ,SAACqtB,EAAQztB,GAClC,GAAIytB,EAAQ,CACR,IAAMhR,EAAUgR,EAAOhR,SAAW7c,IAAOgE,KAAK,qBAG9C,OAFAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,GAC1B3H,GAAW,IACJ,EACJ,GAAI9U,EACP,GAAoB,IAAhBA,EAAKyR,OAAc,CACnB,IAAIgL,EAAUzc,EAAK4c,SAAWhd,IAAOgE,KAAK,qBAC1ChE,IAAOiC,MAAMC,KAAK,OAAQ2a,GAC1B3H,GAAW,QAEX0mB,EAAQh7B,QAAU86B,EAClBxmB,GAAW,GACXlV,IAAO6M,OAAO3K,KAAK,UAAWlC,IAAOgE,KAAK,kBAAmB,gB,8VCtFrF1Q,EAAA,kBAAAC,GAAA,IAAAA,EAAA,GAAAC,EAAAC,OAAAC,UAAAC,EAAAH,EAAAI,eAAAC,EAAAJ,OAAAI,gBAAA,SAAAC,EAAAC,EAAAC,GAAAF,EAAAC,GAAAC,EAAAC,OAAAC,EAAA,mBAAAC,cAAA,GAAAC,EAAAF,EAAAG,UAAA,aAAAC,EAAAJ,EAAAK,eAAA,kBAAAC,EAAAN,EAAAO,aAAA,yBAAAC,EAAAZ,EAAAC,EAAAE,GAAA,OAAAR,OAAAI,eAAAC,EAAAC,EAAA,CAAAE,QAAAU,YAAA,EAAAC,cAAA,EAAAC,UAAA,IAAAf,EAAAC,GAAA,IAAAW,EAAA,aAAAI,GAAAJ,EAAA,SAAAZ,EAAAC,EAAAE,GAAA,OAAAH,EAAAC,GAAAE,GAAA,SAAAc,EAAAC,EAAAC,EAAAC,EAAAC,GAAA,IAAAC,EAAAH,KAAAvB,qBAAA2B,EAAAJ,EAAAI,EAAAC,EAAA7B,OAAA8B,OAAAH,EAAA1B,WAAA8B,EAAA,IAAAC,EAAAN,GAAA,WAAAtB,EAAAyB,EAAA,WAAArB,MAAAyB,EAAAV,EAAAE,EAAAM,KAAAF,EAAA,SAAAK,EAAAC,EAAA9B,EAAA+B,GAAA,WAAAC,KAAA,SAAAD,IAAAD,EAAAG,KAAAjC,EAAA+B,IAAA,MAAAf,GAAA,OAAAgB,KAAA,QAAAD,IAAAf,IAAAvB,EAAAwB,OAAA,IAAAiB,EAAA,YAAAX,KAAA,SAAAY,KAAA,SAAAC,KAAA,IAAAC,EAAA,GAAAzB,EAAAyB,EAAA/B,GAAA,8BAAAgC,EAAA3C,OAAA4C,eAAAC,EAAAF,OAAAG,EAAA,MAAAD,OAAA9C,GAAAG,EAAAoC,KAAAO,EAAAlC,KAAA+B,EAAAG,GAAA,IAAAE,EAAAN,EAAAxC,UAAA2B,EAAA3B,UAAAD,OAAA8B,OAAAY,GAAA,SAAAM,EAAA/C,GAAA,0BAAAgD,SAAA,SAAAC,GAAAjC,EAAAhB,EAAAiD,GAAA,SAAAd,GAAA,YAAAe,QAAAD,EAAAd,SAAA,SAAAgB,EAAAvB,EAAAwB,GAAA,IAAAC,EAAAlD,EAAA,gBAAAI,MAAA,SAAA0C,EAAAd,GAAA,SAAAmB,IAAA,WAAAF,GAAA,SAAAG,EAAAC,IAAA,SAAAC,EAAAR,EAAAd,EAAAoB,EAAAC,GAAA,IAAAE,EAAAzB,EAAAL,EAAAqB,GAAArB,EAAAO,GAAA,aAAAuB,EAAAtB,KAAA,KAAAuB,EAAAD,EAAAvB,IAAA5B,EAAAoD,EAAApD,MAAA,OAAAA,GAAA,iBAAAA,GAAAN,EAAAoC,KAAA9B,EAAA,WAAA6C,EAAAG,QAAAhD,EAAAqD,SAAAC,MAAA,SAAAtD,GAAAkD,EAAA,OAAAlD,EAAAgD,EAAAC,MAAA,SAAApC,GAAAqC,EAAA,QAAArC,EAAAmC,EAAAC,MAAAJ,EAAAG,QAAAhD,GAAAsD,MAAA,SAAAC,GAAAH,EAAApD,MAAAuD,EAAAP,EAAAI,MAAA,SAAAI,GAAA,OAAAN,EAAA,QAAAM,EAAAR,EAAAC,QAAAE,EAAAvB,KAAAsB,CAAAR,EAAAd,EAAAoB,EAAAC,MAAA,OAAAH,MAAAQ,KAAAP,YAAA,SAAAtB,EAAAV,EAAAE,EAAAM,GAAA,IAAAkC,EAAA,iCAAAf,EAAAd,GAAA,iBAAA6B,EAAA,UAAAC,MAAA,iDAAAD,EAAA,cAAAf,EAAA,MAAAd,EAAA,OAAA+B,IAAA,IAAApC,EAAAmB,SAAAnB,EAAAK,QAAA,KAAAgC,EAAArC,EAAAqC,SAAA,GAAAA,EAAA,KAAAC,EAAAC,EAAAF,EAAArC,GAAA,GAAAsC,EAAA,IAAAA,IAAA9B,EAAA,gBAAA8B,GAAA,YAAAtC,EAAAmB,OAAAnB,EAAAwC,KAAAxC,EAAAyC,MAAAzC,EAAAK,SAAA,aAAAL,EAAAmB,OAAA,uBAAAe,EAAA,MAAAA,EAAA,YAAAlC,EAAAK,IAAAL,EAAA0C,kBAAA1C,EAAAK,SAAA,WAAAL,EAAAmB,QAAAnB,EAAA2C,OAAA,SAAA3C,EAAAK,KAAA6B,EAAA,gBAAAN,EAAAzB,EAAAX,EAAAE,EAAAM,GAAA,cAAA4B,EAAAtB,KAAA,IAAA4B,EAAAlC,EAAA4C,KAAA,6BAAAhB,EAAAvB,MAAAG,EAAA,gBAAA/B,MAAAmD,EAAAvB,IAAAuC,KAAA5C,EAAA4C,MAAA,UAAAhB,EAAAtB,OAAA4B,EAAA,YAAAlC,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAuB,EAAAvB,OAAA,SAAAkC,EAAAF,EAAArC,GAAA,IAAA6C,EAAA7C,EAAAmB,SAAAkB,EAAAxD,SAAAgE,GAAA,QAAAC,IAAA3B,EAAA,OAAAnB,EAAAqC,SAAA,eAAAQ,GAAAR,EAAAxD,SAAAkE,SAAA/C,EAAAmB,OAAA,SAAAnB,EAAAK,SAAAyC,EAAAP,EAAAF,EAAArC,GAAA,UAAAA,EAAAmB,SAAA,WAAA0B,IAAA7C,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAH,EAAA,aAAArC,EAAA,IAAAoB,EAAAzB,EAAAgB,EAAAkB,EAAAxD,SAAAmB,EAAAK,KAAA,aAAAuB,EAAAtB,KAAA,OAAAN,EAAAmB,OAAA,QAAAnB,EAAAK,IAAAuB,EAAAvB,IAAAL,EAAAqC,SAAA,KAAA7B,EAAA,IAAAyC,EAAArB,EAAAvB,IAAA,OAAA4C,IAAAL,MAAA5C,EAAAqC,EAAAa,YAAAD,EAAAxE,MAAAuB,EAAAmD,KAAAd,EAAAe,QAAA,WAAApD,EAAAmB,SAAAnB,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAyC,GAAA9C,EAAAqC,SAAA,KAAA7B,GAAAyC,GAAAjD,EAAAmB,OAAA,QAAAnB,EAAAK,IAAA,IAAA2C,UAAA,oCAAAhD,EAAAqC,SAAA,KAAA7B,GAAA,SAAA6C,EAAAC,GAAA,IAAAC,EAAA,CAAAC,OAAAF,EAAA,SAAAA,IAAAC,EAAAE,SAAAH,EAAA,SAAAA,IAAAC,EAAAG,WAAAJ,EAAA,GAAAC,EAAAI,SAAAL,EAAA,SAAAM,WAAAC,KAAAN,GAAA,SAAAO,EAAAP,GAAA,IAAA3B,EAAA2B,EAAAQ,YAAA,GAAAnC,EAAAtB,KAAA,gBAAAsB,EAAAvB,IAAAkD,EAAAQ,WAAAnC,EAAA,SAAA3B,EAAAN,GAAA,KAAAiE,WAAA,EAAAJ,OAAA,SAAA7D,EAAAuB,QAAAmC,EAAA,WAAAW,OAAA,YAAAjD,EAAAkD,GAAA,GAAAA,EAAA,KAAAC,EAAAD,EAAArF,GAAA,GAAAsF,EAAA,OAAAA,EAAA3D,KAAA0D,GAAA,sBAAAA,EAAAd,KAAA,OAAAc,EAAA,IAAAE,MAAAF,EAAAG,QAAA,KAAAC,GAAA,EAAAlB,EAAA,SAAAA,IAAA,OAAAkB,EAAAJ,EAAAG,QAAA,GAAAjG,EAAAoC,KAAA0D,EAAAI,GAAA,OAAAlB,EAAA1E,MAAAwF,EAAAI,GAAAlB,EAAAP,MAAA,EAAAO,EAAA,OAAAA,EAAA1E,WAAAqE,EAAAK,EAAAP,MAAA,EAAAO,GAAA,OAAAA,UAAA,OAAAA,KAAAf,GAAA,SAAAA,IAAA,OAAA3D,WAAAqE,EAAAF,MAAA,UAAAnC,EAAAvC,UAAAwC,EAAArC,EAAA2C,EAAA,eAAAvC,MAAAiC,EAAAtB,cAAA,IAAAf,EAAAqC,EAAA,eAAAjC,MAAAgC,EAAArB,cAAA,IAAAqB,EAAA6D,YAAApF,EAAAwB,EAAA1B,EAAA,qBAAAjB,EAAAwG,oBAAA,SAAAC,GAAA,IAAAC,EAAA,mBAAAD,KAAAE,YAAA,QAAAD,QAAAhE,GAAA,uBAAAgE,EAAAH,aAAAG,EAAAE,QAAA5G,EAAA6G,KAAA,SAAAJ,GAAA,OAAAvG,OAAA4G,eAAA5G,OAAA4G,eAAAL,EAAA9D,IAAA8D,EAAAM,UAAApE,EAAAxB,EAAAsF,EAAAxF,EAAA,sBAAAwF,EAAAtG,UAAAD,OAAA8B,OAAAiB,GAAAwD,GAAAzG,EAAAgH,MAAA,SAAA1E,GAAA,OAAAyB,QAAAzB,IAAAY,EAAAI,EAAAnD,WAAAgB,EAAAmC,EAAAnD,UAAAY,GAAA,0BAAAf,EAAAsD,gBAAAtD,EAAAiH,MAAA,SAAAxF,EAAAC,EAAAC,EAAAC,EAAA2B,QAAA,IAAAA,MAAA2D,SAAA,IAAAC,EAAA,IAAA7D,EAAA9B,EAAAC,EAAAC,EAAAC,EAAAC,GAAA2B,GAAA,OAAAvD,EAAAwG,oBAAA9E,GAAAyF,IAAA/B,OAAApB,MAAA,SAAAF,GAAA,OAAAA,EAAAe,KAAAf,EAAApD,MAAAyG,EAAA/B,WAAAlC,EAAAD,GAAA9B,EAAA8B,EAAAhC,EAAA,aAAAE,EAAA8B,EAAApC,GAAA,0BAAAM,EAAA8B,EAAA,qDAAAjD,EAAAoH,KAAA,SAAAC,GAAA,IAAAC,EAAApH,OAAAmH,GAAAD,EAAA,WAAA5G,KAAA8G,EAAAF,EAAAtB,KAAAtF,GAAA,OAAA4G,EAAAG,UAAA,SAAAnC,IAAA,KAAAgC,EAAAf,QAAA,KAAA7F,EAAA4G,EAAAI,MAAA,GAAAhH,KAAA8G,EAAA,OAAAlC,EAAA1E,MAAAF,EAAA4E,EAAAP,MAAA,EAAAO,EAAA,OAAAA,EAAAP,MAAA,EAAAO,IAAApF,EAAAgD,SAAAd,EAAA/B,UAAA,CAAAwG,YAAAzE,EAAA+D,MAAA,SAAAwB,GAAA,QAAAC,KAAA,OAAAtC,KAAA,OAAAX,KAAA,KAAAC,WAAAK,EAAA,KAAAF,MAAA,OAAAP,SAAA,UAAAlB,OAAA,YAAAd,SAAAyC,EAAA,KAAAc,WAAA1C,QAAA4C,IAAA0B,EAAA,QAAAb,KAAA,WAAAA,EAAAe,OAAA,IAAAvH,EAAAoC,KAAA,KAAAoE,KAAAR,OAAAQ,EAAAgB,MAAA,WAAAhB,QAAA7B,IAAA8C,KAAA,gBAAAhD,MAAA,MAAAiD,EAAA,KAAAjC,WAAA,GAAAG,WAAA,aAAA8B,EAAAvF,KAAA,MAAAuF,EAAAxF,IAAA,YAAAyF,MAAApD,kBAAA,SAAAqD,GAAA,QAAAnD,KAAA,MAAAmD,EAAA,IAAA/F,EAAA,cAAAgG,EAAAC,EAAAC,GAAA,OAAAtE,EAAAtB,KAAA,QAAAsB,EAAAvB,IAAA0F,EAAA/F,EAAAmD,KAAA8C,EAAAC,IAAAlG,EAAAmB,OAAA,OAAAnB,EAAAK,SAAAyC,KAAAoD,EAAA,QAAA7B,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAAzC,EAAA2B,EAAAQ,WAAA,YAAAR,EAAAC,OAAA,OAAAwC,EAAA,UAAAzC,EAAAC,QAAA,KAAAiC,KAAA,KAAAU,EAAAhI,EAAAoC,KAAAgD,EAAA,YAAA6C,EAAAjI,EAAAoC,KAAAgD,EAAA,iBAAA4C,GAAAC,EAAA,SAAAX,KAAAlC,EAAAE,SAAA,OAAAuC,EAAAzC,EAAAE,UAAA,WAAAgC,KAAAlC,EAAAG,WAAA,OAAAsC,EAAAzC,EAAAG,iBAAA,GAAAyC,GAAA,QAAAV,KAAAlC,EAAAE,SAAA,OAAAuC,EAAAzC,EAAAE,UAAA,YAAA2C,EAAA,UAAAjE,MAAA,kDAAAsD,KAAAlC,EAAAG,WAAA,OAAAsC,EAAAzC,EAAAG,gBAAAf,OAAA,SAAArC,EAAAD,GAAA,QAAAgE,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,QAAA,KAAAiC,MAAAtH,EAAAoC,KAAAgD,EAAA,oBAAAkC,KAAAlC,EAAAG,WAAA,KAAA2C,EAAA9C,EAAA,OAAA8C,IAAA,UAAA/F,GAAA,aAAAA,IAAA+F,EAAA7C,QAAAnD,MAAAgG,EAAA3C,aAAA2C,EAAA,UAAAzE,EAAAyE,IAAAtC,WAAA,UAAAnC,EAAAtB,OAAAsB,EAAAvB,MAAAgG,GAAA,KAAAlF,OAAA,YAAAgC,KAAAkD,EAAA3C,WAAAlD,GAAA,KAAA8F,SAAA1E,IAAA0E,SAAA,SAAA1E,EAAA+B,GAAA,aAAA/B,EAAAtB,KAAA,MAAAsB,EAAAvB,IAAA,gBAAAuB,EAAAtB,MAAA,aAAAsB,EAAAtB,KAAA,KAAA6C,KAAAvB,EAAAvB,IAAA,WAAAuB,EAAAtB,MAAA,KAAAwF,KAAA,KAAAzF,IAAAuB,EAAAvB,IAAA,KAAAc,OAAA,cAAAgC,KAAA,kBAAAvB,EAAAtB,MAAAqD,IAAA,KAAAR,KAAAQ,GAAAnD,GAAA+F,OAAA,SAAA7C,GAAA,QAAAW,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAG,eAAA,YAAA4C,SAAA/C,EAAAQ,WAAAR,EAAAI,UAAAG,EAAAP,GAAA/C,IAAAgG,MAAA,SAAAhD,GAAA,QAAAa,EAAA,KAAAT,WAAAQ,OAAA,EAAAC,GAAA,IAAAA,EAAA,KAAAd,EAAA,KAAAK,WAAAS,GAAA,GAAAd,EAAAC,WAAA,KAAA5B,EAAA2B,EAAAQ,WAAA,aAAAnC,EAAAtB,KAAA,KAAAmG,EAAA7E,EAAAvB,IAAAyD,EAAAP,GAAA,OAAAkD,GAAA,UAAAtE,MAAA,0BAAAuE,cAAA,SAAAzC,EAAAf,EAAAE,GAAA,YAAAf,SAAA,CAAAxD,SAAAkC,EAAAkD,GAAAf,aAAAE,WAAA,cAAAjC,SAAA,KAAAd,SAAAyC,GAAAtC,IAAAzC,EA6BA,IAwCMkpC,EAAQ,SAAAC,GAAAC,YAAAF,EAAAC,GAAA,IAAAE,EAAAC,YAAAJ,GACV,SAAAA,EAAYvzB,GAAQ,IAAD4zB,EAgCb,OAhCaC,YAAA,KAAAN,IACfK,EAAAF,EAAA7mC,KAAA,KAAMmT,IAkCV+B,eAAcnI,YAAAxP,IAAA8G,MAAG,SAAA2I,IAAA,OAAAzP,IAAAyB,MAAA,SAAAoO,GAAA,cAAAA,EAAAlI,KAAAkI,EAAAxK,MAAA,cAAAwK,EAAAxK,KAAA,EACPmkC,EAAK5zB,MAAM1M,eAAeiP,cAAc,YAAY,SAACC,GACvDoxB,EAAKE,SAAS,CAACrzB,YAAa+B,OAC7B,KAAD,mBAAAvI,EAAA/H,UAAA2H,OACL+5B,EAEDG,YAAc,WACVH,EAAK5zB,MAAMg0B,gBAAgBD,YAAY,CAAC17B,SAAUvB,IAAOwB,UAAY,OAAO,SAAC/J,EAAO2I,GAChF,GAAI3I,EAEA,OADAuI,IAAOiC,MAAMC,KAAK,QAASzK,IACpB,MAGlBqlC,EAEDz6B,iBAAmB,SAACC,GAChB,IAAMC,EAAQ,CACVuI,OAAQ,GACR3I,KAAM,aACNjC,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,KAC7BR,KAAM87B,EAAKlyB,mBAAmB5J,KAC9BC,MAAO67B,EAAKlyB,mBAAmB3J,MAC/BC,OAAQ47B,EAAKlyB,mBAAmBG,WAEpC+xB,EAAKE,SAAS,CAACvzB,oBAAoB,IACnCqzB,EAAK5zB,MAAM1M,eAAeiG,gBAAgBF,GAAO,SAAC9K,EAAO2I,GAErD,GADA08B,EAAKE,SAAS,CAACvzB,oBAAoB,IAC/BhS,EAAO,CACP,IAAIolB,EAAUplB,EAAMolB,SAAW7c,IAAOgE,KAAK,yBAE3C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAEX,GAAIzc,EAAM,CACN,IAAO5C,EAAoBs/B,EAAKplC,MAAzB8F,iBACDH,EAAO+C,GAAQA,EAAK/C,KAAO+C,EAAK/C,KAAO+C,EACvC9C,EAAQ8C,GAAQA,EAAK9C,MAAQ8C,EAAK9C,MAAQ8C,EAAKxG,OACrDkjC,EAAKE,SAAS,CACVx/B,iBAAkB,CACdH,KAAMiF,EAAUjF,EAAOG,EAAiBH,KAAKsF,OAAOtF,GACpDC,MAAOA,UAK1Bw/B,EAEDK,aAAe,WACXL,EAAKE,SAAS,CAACI,eAAe,IAC9BN,EAAK5zB,MAAM1M,eAAe6gC,aAAY,SAAA5lC,GAElC,GADAqlC,EAAKE,SAAS,CAACI,eAAe,IAC1B3lC,EAAO,CACP,IAAIolB,EAAUplB,EAAMolB,SAAW7c,IAAOgE,KAAK,yBAE3C,OADAhE,IAAOiC,MAAMC,KAAK,QAAS2a,IACpB,OAGlBigB,EAEDQ,YAAc,WACVR,EAAK5zB,MAAMq0B,gBAAgBC,YAAW,SAAC/lC,EAAM2I,GACzC,GAAI3I,EAAO,CACP,IAAIolB,EAAUplB,EAAMolB,SAAW7c,IAAOgE,KAAK,yBAE3C,OADAhE,IAAOiC,MAAMC,KAAK,QAAS2a,IACpB,EAERzc,GACC08B,EAAKE,SAAS,CAACS,YAAcr9B,QAGxC08B,EAEDtiB,cAAgB,WACZ,IAAMha,EAAS,CACXN,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,MAEjCs7B,EAAK5zB,MAAMxM,gBAAgBN,aAAaoE,GAAQ,SAAC/I,GAC7C,GAAIA,EAAO,CACP,IAAIolB,EAAUplB,EAAMolB,SAAW7c,IAAOgE,KAAK,yBAE3C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,OAGlBigB,EAED37B,mBAAqB,SAACpN,EAAK4M,GACvB,IAAO+8B,EAAuBZ,EAAK5zB,MAA5Bw0B,oBACP,OAAQ3pC,GACJ,IAAK,SACD+oC,EAAKE,SAAS,CAACW,OAASh9B,EAAEwG,OAAOlT,QAC7BypC,IACIZ,EAAKjyB,OAAO6kB,aAAaoN,EAAKjyB,OAClCiyB,EAAKjyB,MAAQ4kB,YAAW,WACpBiO,EAAoBZ,EAAKnkB,UAC1B,MAEP,MACJ,IAAK,cACDmkB,EAAKE,SAAS,CAAC1yB,YAAc3J,EAAE1M,QAE/B,MACJ,IAAK,aACD6oC,EAAKE,SAAS,CAAC3yB,SAAW1J,EAAE1M,QAE5B,MACJ,IAAK,SACD6oC,EAAKE,SAAS,CAAC1iB,OAAS3Z,EAAE1M,QAE1B,MACJ,IAAK,WACD6oC,EAAKE,SAAS,CAACr7B,SAAWhB,EAAE1M,QAE5B,MACJ,IAAK,SACD6oC,EAAKE,SAAS,CAACp7B,OAASjB,EAAE1M,UAMrC6oC,EAEDc,kBAAiB96B,YAAAxP,IAAA8G,MAAG,SAAAiY,IAAA,OAAA/e,IAAAyB,MAAA,SAAAud,GAAA,cAAAA,EAAArX,KAAAqX,EAAA3Z,MAAA,cAAA2Z,EAAA3Z,KAAA,EACVmkC,EAAK7xB,iBAAiB,KAAD,KACtB6xB,EAAKplC,MAAMiS,YAAY,CAAD2I,EAAA3Z,KAAA,eAAA2Z,EAAAna,OAAA,UAAS,GAAK,OACzC2kC,EAAKQ,cACLR,EAAKG,cACLH,EAAKK,eACLL,EAAKtiB,gBACLsiB,EAAKz6B,mBAAmB,wBAAAiQ,EAAAlX,UAAAiX,OAC3ByqB,EAEDj3B,mBAAqB,SAAClF,GAClB,IAAKA,EAAG,OAAO,EACfm8B,EAAKh8B,aAAaH,EAAEU,YACvBy7B,EAEDh3B,eAAiB,WACbg3B,EAAKE,SAAS,CAAC37B,UAAW,MAC7By7B,EAEDh8B,aAAe,SAACO,EAAWovB,GACvB,IAAMjwB,EAAS,CACXiB,WAAYzB,IAAO0B,gBACnBxB,OAAQ,WACRqB,SAAUvB,IAAOwB,UAAY,KAC7BH,UAAWA,GAAwB,IAEvCy7B,EAAKE,SAAS,CACV9/B,SAAU,KAEd4/B,EAAK5zB,MAAMxM,gBAAgB0F,YAAY5B,GAAQ,SAAC/I,EAAO2I,GACnD,GAAI3I,EAAO,CACP,IAAIolB,EAAUplB,EAAMolB,SAAW7c,IAAOgE,KAAK,yBAE3C,OADAhE,IAAOiC,MAAMC,KAAK,OAAQ2a,IACnB,EAEPzc,IACA08B,EAAKE,SAAS,CACV9/B,SAAUkD,IAEdqwB,GAAMA,EAAIrwB,QAGrB08B,EAEDe,eAAiB,SAACz9B,GACd,IAAA09B,EAA8BhB,EAAK5zB,MAA5BE,EAAO00B,EAAP10B,QAAS20B,EAAUD,EAAVC,WAChBC,EAAkClB,EAAKplC,MAAhCumC,EAAUD,EAAVC,WAAYR,EAAWO,EAAXP,YAInB,OAHIr9B,GAAQA,EAAK2Q,gBAAkB3Q,EAAK2Q,eAAe8W,QAAQ,QAAU,IACrEznB,EAAK2Q,eAAiB/Q,IAAOk+B,aAAe99B,EAAK2Q,gBAGjDrN,IAAAC,cAAAD,IAAAE,SAAA,KACIF,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,EAAGC,GAAI,GAC5B7J,IAAAC,cAACkB,UAAS,CACNC,cAAc,EACdC,MAAO/E,IAAOgE,KAAK,iBACnB/P,MAAO,WACH,OACIyP,IAAAC,cAAA,OAAKqB,UAAW,gCACXC,MAAO,CAACC,MAAO,OAAQC,OAAQ,KAChCzB,IAAAC,cAAA,OAAKqB,UAAWoE,EAAQ8J,WACnB9S,GAAQA,EAAK2Q,eACVrN,IAAAC,cAACkT,IAAK,CAAC7R,UAAWoE,EAAQiK,UAAWvC,IAAK1Q,EAAK2Q,iBAE/CrN,IAAAC,cAACw6B,IAAS,CAACn5B,UAAWoE,EAAQiK,UACnBvC,IAAKgG,EAAQ,QAGhCpT,IAAAC,cAAC2B,IAAK,CACFC,MAAO,UACPC,UAAU,EACVvR,MAAO+L,IAAOyF,QAAQC,eAAetF,EAAM,eAAgB,IAC3DuF,kBAAkB,MAKlCC,WAAW,KAGnBlC,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,EAAGC,GAAI,EAAGvI,UAAW,SAC1CtB,IAAAC,cAACkB,UAAS,CACNC,cAAc,EACdC,MAAO/E,IAAOgE,KAAK,oBACnB4B,WAAW,EACX3R,MAAO+L,IAAOyF,QAAQC,eAAetF,EAAM,aAAc,SAKzEsD,IAAAC,cAACE,IAAS,CAACmB,UAAW,QAClBtB,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,EAAGC,GAAI,EAAGvI,UAAW,SAC1CtB,IAAAC,cAACkB,UAAS,CACNC,cAAc,EACdC,MAAO/E,IAAOgE,KAAK,mBACnB4B,WAAW,EACX3R,MAAO+L,IAAOyF,QAAQC,eAAetF,EAAM,cAAe,OAGlEsD,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,EAAGC,GAAI,EAAGvI,UAAW,SAC1CtB,IAAAC,cAACkB,UAAS,CACNC,cAAc,EACdC,MAAO/E,IAAOgE,KAAK,qBACnB4B,WAAW,EACX3R,MAAO+L,IAAO2Q,YAAYvQ,EAAK4yB,UAAW,GAAI,mBAK9DtvB,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IAC7B7J,IAAAC,cAACkB,UAAS,CACNC,cAAc,EACdC,MAAO/E,IAAOgE,KAAK,aACnB4B,WAAW,EACX3R,MAAO+L,IAAOyF,QAAQC,eAAetF,EAAM,aAAc,SAKzEsD,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IAC7B7J,IAAAC,cAACkB,UAAS,CACNC,cAAc,EACdC,MAAO/E,IAAOgE,KAAK,eACnB4B,WAAW,EACX3R,MAAO+L,IAAOyF,QAAQC,eAAetF,EAAM,YAAY,SAKvEsD,IAAAC,cAACE,IAAS,KACPH,IAAAC,cAAA,WACID,IAAAC,cAACy6B,IAAgB,CACbC,QACI36B,IAAAC,cAAC26B,IAAQ,CACLr5B,MAAO,CAACyI,OAAO,EAAE9E,QAAQ,GACzB2zB,QAASgC,QAAQn+B,EAAKo+B,oBACtBj5B,MAAM,YAGdR,MAAO/E,IAAOgE,KAAK,4BAI9BN,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KAC6B,IAA5B7D,EAAKo+B,oBAA4Bf,GAAeA,EAAYhW,KAAI,SAACgX,EAASC,GACvE,GAAID,EAAQE,SAAU,OAAO,KAC7B,IACMhT,EAAY,iBADA8S,GAAWA,EAAQha,KAAOga,EAAQha,KAAKtpB,OAAO,GAAK,IAErE,OAAQuI,IAAAC,cAACO,IAAG,CAACnQ,IAAK2qC,EAAOv6B,GAAI,GAAImD,GAAI,GAAIgG,GAAI,EAAGC,GAAI,GAChD7J,IAAAC,cAACi7B,IAAY,CACT55B,UAAWoE,EAAQy1B,YACnBC,YAAarY,YACb1hB,MAAO05B,EAAQM,YAAc,IAAM/+B,IAAOgE,KAAK,WAAWiS,cAC1D+oB,mBAAmB,EACnBC,aAAcR,EAAQtE,SAAWsE,EAAQtE,SAAW,EACpDlmC,MAAOmM,EAAKurB,GAAauT,OAAO9+B,EAAKurB,IAAc,IACnD/lB,WAAS,EACT8gB,gBAAiB,CACbC,QAAQ,GAEZrY,UAAU,EACVzG,QAAS,WACT6F,OAAQ,eAIS,IAA5BtN,EAAKo+B,oBAA4BT,GAAcA,EAAWtW,KAAI,SAAC/C,EAAMga,GAClE,GAAIha,EAAKia,SAAU,OAAO,KAC1B,IACMhT,EAAY,qBADAjH,GAAQA,EAAKD,KAAOC,EAAKD,KAAKtpB,OAAO,GAAK,IAE5D,OAAQuI,IAAAC,cAACO,IAAG,CAACnQ,IAAK2qC,EAAOv6B,GAAI,GAAImD,GAAI,GAAIgG,GAAI,EAAGC,GAAI,GAChD7J,IAAAC,cAACi7B,IAAY,CACT55B,UAAWoE,EAAQy1B,YACnBC,YAAarY,YACb1hB,MAAO2f,EAAKqa,YAAc,IAAM/+B,IAAOgE,KAAK,WAAWiS,cACvD+oB,mBAAmB,EACnBC,aAAcva,EAAKyV,SAAWzV,EAAKyV,SAAW,EAC9ClmC,MAAOmM,EAAKurB,GAAauT,OAAO9+B,EAAKurB,IAAc,IACnD/lB,WAAS,EACT8gB,gBAAiB,CACbC,QAAQ,GAEZrY,UAAU,EACVzG,QAAS,WACT6F,OAAQ,iBAM5BhK,IAAAC,cAACE,IAAS,CAACmB,UAAW,SAClBtB,IAAAC,cAACw7B,IAAc,CAACn6B,UAAWoE,EAAQg2B,YAAc,SACjCtxB,SAAU,SAACnN,EAAG0+B,GACVvC,EAAKE,SAAS,CAACiB,WAAYoB,MAE3C37B,IAAAC,cAAC27B,IAAqB,CAClBC,KAAM,GACNv6B,UAAWoE,EAAQo2B,cAEnBroB,aAAW,UAEXzT,IAAAC,cAAA,MAAIsB,MAAO,CAACyI,OAAQ,UAAUhK,IAAAC,cAAA,SAAI3D,IAAOgE,KAAK,sBAA6B,OAC1Ei6B,EACGv6B,IAAAC,cAACkT,IAAK,CAAC4oB,IAAK,GACL3uB,IAAKgG,EAAQ,OAEpBpT,IAAAC,cAACkT,IAAK,CAAC4oB,IAAK,GACL3uB,IAAKgG,EAAQ,QAG5BpT,IAAAC,cAAC+7B,IAAqB,CAAC16B,UAAWoE,EAAQu2B,cAClCj8B,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,EAAGC,GAAI,GAC5B7J,IAAAC,cAAA,QAAMsB,MAAO,CAACyO,WAAY,MAAO1T,IAAOgE,KAAK,eAAe,KAAQ,OACnEhE,IAAOyF,QAAQC,eAAetF,EAAM,eAAgB,MAG7DsD,IAAAC,cAACM,IAAG,KACqC,IAApCmO,OAAOhS,EAAKo+B,qBAA6Bf,GAAeA,EAAYhW,KAAI,SAAC2I,EAAOwP,GAC7E,GAAIxP,EAAMuO,SAAU,OAAO,KAC3B,IACMhT,EAAY,kBADPyE,GAASA,EAAM3L,KAAO2L,EAAM3L,KAAKtpB,OAAO,GAAK,IAExD,OACIuI,IAAAC,cAACO,IAAG,CAACnQ,IAAK6rC,EAAMz7B,GAAI,GAAImD,GAAI,EAAGgG,GAAI,EAAGC,GAAI,GACtC7J,IAAAC,cAAA,QAAMsB,MAAO,CAACyO,WAAY,MAAO0c,EAAM2O,aAAe,GAAG,KAAQ,OAC/D3+B,EAAKurB,KAAc,IAAIkU,KAAKjB,cAAeloB,OAAOtW,EAAKurB,KAAgB,MAIhD,IAApCvZ,OAAOhS,EAAKo+B,qBAA6BT,GAAcA,EAAWtW,KAAI,SAAC2I,EAAOwP,GAC3E,GAAIxP,EAAMuO,SAAU,OAAO,KAC3B,IACMhT,EAAY,kBADPyE,GAASA,EAAM3L,KAAO2L,EAAM3L,KAAKtpB,OAAO,GAAK,IAExD,OACIuI,IAAAC,cAACO,IAAG,CAACnQ,IAAK6rC,EAAMz7B,GAAI,GAAImD,GAAI,EAAGgG,GAAI,EAAGC,GAAI,GACtC7J,IAAAC,cAAA,QAAMsB,MAAO,CAACyO,WAAY,MAAO0c,EAAM2O,aAAe,GAAG,KAAQ,OACjE3sB,OAAOhS,EAAKurB,IAAc,GAAGsO,2BAUxE6C,EAEDr8B,SAAW,WACJq8B,EAAKgD,KAAgB,WAAGhD,EAAKgD,KAAgB,UAAE5iB,SAAQ,IAC7D4f,EAED/2B,aAAe,WACX,IAAAg6B,EAAmCjD,EAAK5zB,MAAjC9M,EAAY2jC,EAAZ3jC,aAAc4jC,EAAUD,EAAVC,WACrBC,EAA8DnD,EAAKplC,MAA5D8F,EAAgByiC,EAAhBziC,iBAAkBiM,EAAkBw2B,EAAlBx2B,mBAAoB2zB,EAAa6C,EAAb7C,cAC7C,OACI15B,IAAAC,cAACqC,UAAM,CACHK,YAAarG,IAAOgE,KAAK,6BACzBoC,YAAY,EACZgH,kBAAkB,EAClB7G,aAAc,WACV,OACI7C,IAAAC,cAAAD,IAAAE,SAAA,KACIF,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IAC7B7J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYpI,EACZyK,iBAAiB,EACjBH,YAAa,gBACbC,UAAW,iBACX1S,MAAO6oC,EAAKplC,MAAM4S,YAClBvD,YAAa,WACbhC,MAAO/E,IAAOgE,KAAK,wBACnB4C,eAAgB,SAAAjG,GAAC,OAAIm8B,EAAK37B,mBAAmB,cAAeR,QAIxE+C,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IAC7B7J,IAAAC,cAAC8C,QAAMK,SAAQ,CACXtC,WAAYhH,EACZwD,KAAM87B,EAAKlyB,mBAAmB5J,KAC9BC,MAAO67B,EAAKlyB,mBAAmB3J,MAC/ByF,YAAa,eACbvG,QAAS,aACTwG,UAAW,aACX1S,MAAO6oC,EAAKplC,MAAM2S,SAClB/F,QAASmF,EACT1C,YAAa,WACbhC,MAAO/E,IAAOgE,KAAK,iBACnBgD,WAAY,SAACrG,GACT,IAAOP,EAAQO,EAARP,KACP,OAAKA,EACEA,EAAK0B,WAAa,MAAQ1B,EAAK6G,aADpB,MAGtBJ,iBAAiB,EAEjBD,eAAgB,SAACjG,GAAC,OAAKm8B,EAAK37B,mBAAmB,aAAcR,IAC7DuG,eAAgB,SAACvG,GACbm8B,EAAKlyB,mBAAmBG,UAAYpK,EAAEwG,OAAOlT,MAC7C6oC,EAAKlyB,mBAAmB5J,KAAO,EAC/B87B,EAAKz6B,kBAAiB,IAE1B+E,WAAY,SAACzG,GACTm8B,EAAKlyB,mBAAmB5J,KAAOL,EAAEK,KACjC87B,EAAKlyB,mBAAmB3J,MAAQN,EAAEM,MAClC67B,EAAKz6B,wBAKrBqB,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IAC7B7J,IAAAC,cAAC8C,QAAK,CACFjC,WAAYxE,IAAOkgC,yBAAyBF,GAC5Ct5B,YAAa,SAAAge,GAAI,OACbA,GAAI,GAAA/hB,OAAO+hB,EAAKpK,OAAM,OAAA3X,OAAM+hB,EAAKyb,WAErCx5B,UAAW,SACX+G,OAAQ,QACRzZ,MAAO6oC,EAAKplC,MAAM4iB,OAClBvT,YAAa,WACbuH,SAAU8uB,EACVv2B,iBAAiB,EACjBR,YAAarG,IAAOgE,KAAK,eACzB4C,eAAgB,SAACjG,GAAC,OAAKm8B,EAAK37B,mBAAmB,SAAUR,QAIrE+C,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,EAAGgG,GAAI,EAAGC,GAAI,GAC3B7J,IAAAC,cAAA,OAAKqB,UAAW,4BACZtB,IAAAC,cAAC0D,IAAK,CAACrC,UAAW,QAAShF,IAAOgE,KAAK,WACvCN,IAAAC,cAAC4D,UAAa,CACVC,IAAKs1B,EAAKplC,MAAMkK,OAChB6F,iBAAiB,EACjBZ,iBAAiB,EACjB3B,MAAO,OACPmB,YAAa,aACbpS,MAAO6oC,EAAKplC,MAAMiK,SAClBiF,eAAgB,SAAAjG,GAAC,OAAIm8B,EAAK37B,mBAAmB,WAAYR,QAIrE+C,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,EAAGgG,GAAI,EAAGC,GAAI,GAC3B7J,IAAAC,cAAA,OAAKqB,UAAW,4BACZtB,IAAAC,cAAC0D,IAAK,CAACrC,UAAW,QAAShF,IAAOgE,KAAK,YACvCN,IAAAC,cAAC4D,UAAa,CACVG,IAAKo1B,EAAKplC,MAAMiK,SAChB8F,iBAAiB,EACjBZ,iBAAiB,EACjBR,YAAa,aACbnB,MAAO,OACPjR,MAAO6oC,EAAKplC,MAAMkK,OAClBgF,eAAgB,SAAAjG,GAAC,OACbm8B,EAAK37B,mBAAmB,SAAUR,UAO1D+C,IAAAC,cAACE,IAAS,CAACmB,UAAW,0CAClBtB,IAAAC,cAACgE,UAAa,CAACxN,KAAM6F,IAAOgE,KAAK,gBAClB4D,WAAY,SACZrC,MAAO,UACPP,UAAW,cACX6C,QAAS,WACT5C,MAAO,CAACsJ,cAAe,aACvB7L,KAAM,QACNoF,QAASg1B,EAAKr8B,iBAvhBrDq8B,EAAKplC,MAAQ,CACTiS,YAAa,EACbzM,SAAU,GACV+gC,YAAY,EACZ58B,UAAW,GACX+7B,eAAe,EACfK,YAAa,GACbh0B,oBAAoB,EACpB+0B,mBAAoB,EACpBb,OAAQ,GACRrjB,OAAQ,GACRhQ,YAAa,KACbD,SAAU,KACV1I,SAAU,KACVC,OAAQ,KACRpE,iBAAkB,CACdH,KAAM,GACNC,MAAO,IAGfw/B,EAAKnkB,OAAS,CACV3X,KAAM,EACNC,MAAO,IAEX67B,EAAKjyB,MAAQ,KACbiyB,EAAKsD,SAAW,KAChBtD,EAAKlyB,mBAAqB,CACtBG,UAAW,GACX/J,KAAM,EACNC,MAAO,IACT67B,EAoiBL,OAniBAuD,YAAA5D,EAAA,EAAA1oC,IAAA,SAAAE,MAigBD,WACI,IAAAqsC,EAAoGC,KAAK7oC,MAAlGiS,EAAW22B,EAAX32B,YAAazM,EAAQojC,EAARpjC,SAAUmE,EAASi/B,EAATj/B,UAAWs8B,EAAM2C,EAAN3C,OAAQrjB,EAAMgmB,EAANhmB,OAAQhQ,EAAWg2B,EAAXh2B,YAAaD,EAAQi2B,EAARj2B,SAAU1I,EAAQ2+B,EAAR3+B,SAAUC,EAAM0+B,EAAN1+B,OAC1F,IAAK+H,EAAa,OAAO,KACzB,IAAM62B,EAAY,CAAC7C,SAAQrjB,SAAOzY,eAAgByI,EAAaxI,WAAYuI,GAAYA,EAASvI,WAAYH,SAAWA,EAAW4U,IAAO5U,GAAU+U,OAAO,cAAgB,KAAM9U,OAASA,EAAS2U,IAAO3U,GAAQ8U,OAAO,cAAgB,MACxO,OACIhT,IAAAC,cAACD,IAAME,SAAQ,KACXF,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACG,UAAa,CACVC,MAAO/D,IAAOgE,KAAK,2CAG3BN,IAAAC,cAACE,IAAS,KACNH,IAAAC,cAACM,IAAG,KACAP,IAAAC,cAACO,IAAG,CAACC,GAAI,GAAImD,GAAI,GAAIgG,GAAI,GAAIC,GAAI,IAC7B7J,IAAAC,cAACS,UAAS,CACNq8B,YAAaF,KAAKr3B,MAClBhJ,OAAQ,WACRhD,SAAUA,EACVmH,IAAK,YACLI,eAAgBpD,EAChBqD,iBAAkBiF,EAAc,EAChChF,aAAW,EACXoQ,WAAYyrB,EACZz6B,aAAcw6B,KAAKx6B,aACnBnB,eAAgB27B,KAAK1C,eACrBh4B,mBAAoB06B,KAAK16B,mBACzBC,eAAgBy6B,KAAKz6B,eACrBiC,sBAAsB,YAOjD00B,EArkBS,CAAS/4B,IAAMg9B,WAykBd14B,sBAAQ7L,aAAQ,SAAAzE,GAAK,MAAK,CACjCsoC,WAAYtoC,EAAM0Q,QAAQi1B,YAC1BjhC,aAAc1E,EAAM2E,UAAUD,aAC9B2hC,WAAYrmC,EAAMipC,SAAS5C,eAE/B,SAACxhC,GAAQ,MAAM,CACXghC,gBAAiB9gC,YAAmBmkC,EAAiBrkC,GACrD2gC,gBAAiBzgC,YAAmBokC,EAAiBtkC,GACrDC,eAAgBC,YAAmBD,EAAgBD,GACnDG,gBAAiBD,YAAmBE,EAAiBJ,OAE1DgM,YA5nBY,CACX2K,UAAW,CACPhO,MAAO,GACPC,OAAQ,GACRgO,aAAc,MACdhE,OAAQ,iBACRnG,SAAU,SACVoK,YAAa,GAEjBC,UAAW,CACPnO,MAAO,OACP4D,SAAU,OACVyK,UAAW,WAEfxO,MAAO,CACH0O,SAAU,OACVC,WAAY,IACZnO,MAAM,WAEVqO,QAAU,CAENF,WAAY,KAGhB0rB,YAAa,CACT0B,UAAW,QAEftB,cAAe,CACXhK,UAAW,kBACX5sB,QAAS,EACT,sCAAuC,CACnC8E,OAAQ,IAGhBiyB,aAAc,CACVl3B,QAAS,QACTG,QAAS,eAwlBK,CAACm4B,WAAW,IAXnB/4B,CAW2By0B","file":"static/js/main~4a5e1e86.03f9d158.chunk.js","sourcesContent":["import React, {useState, useEffect, useRef} from 'react';\r\nimport {bindActionCreators} from \"redux\";\r\nimport {connect} from \"react-redux\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport {FormLabel as Label, Input} from \"@material-ui/core\";\r\nimport {Col, FormGroup, Row} from \"react-bootstrap\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport Config from \"../../../../config\";\r\nimport Approvals from \"../../../approvals/approvals\";\r\nimport * as ApprovalActions from \"../../../../redux/approvals/approvals_actions\";\r\nimport _ from \"lodash\";\r\nimport {Combo} from \"../../../common/form-material\";\r\nimport Api from \"../../../../services/api\";\r\nimport Filter from \"../../../filter/filter\";\r\nimport DateBoxPicker from \"../../../common/form-material/date-box\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport LabelText from \"../../../common/label-text/label-text\";\r\nimport UserImage from \"../../../common/user/user-image\";\r\n\r\nconst W09F2220 = ({generalActions, getCboStatus, approvalActions, getGridApproval, location}) => {\r\n const [dataForm, setDataForm] = useState({});\r\n const [dataCboEmployees, setDataCboEmployees] = useState({rows: [], total: 0});\r\n const [dataCboProperty, setDataCboProperty] = useState([]);\r\n const [dateFrom, setDateFrom] = useState(null);\r\n const [dateTo, setDateTo] = useState(null);\r\n const [voucherID, setVoucherID] = useState(\"\");\r\n\r\n const [isLoadingForm, setLoadingForm] = useState(false);\r\n const [isLoadingCboEmployee, setLoadingCboEmployee] = useState(false);\r\n const [isLoadingCboAppStatus, setLoadingCboAppStatus] = useState(false);\r\n const [isLoadingCboProperty, setLoadingCboProperty] = useState(false);\r\n\r\n const approvalStatus = useRef(null);\r\n const employee = useRef(null);\r\n const propertyID = useRef(null);\r\n const approvalRef = useRef(null);\r\n\r\n useEffect(() => {\r\n Config.callChildForm({\r\n FormID: \"W09F2220\",\r\n // ID: voucher_id,\r\n keyExpr: \"VoucherID\",\r\n data:_.get(getGridApproval, \"rows\", []),\r\n onLoad: (params) => loadGrid(_.get(params, \"ID\", \"\")),\r\n onAction: (e, data) => {\r\n approvalRef.current.showPopup(data)\r\n loadFormInfo(_.get(e,\"ID\", \"\"));\r\n }\r\n }, {location});\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n });\r\n\r\n useEffect(() => {\r\n loadGrid();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const paramFilterCboEmployee = {\r\n skip: 0,\r\n limit: 10,\r\n search: \"\"\r\n };\r\n\r\n const handleFilterChange = (key, e) => {\r\n const dateField = [\"dateFrom\", \"dateTo\"];\r\n const value = _.get(e, \"value\", _.get(e, \"target.value\", null));\r\n if (_.includes(dateField, key)) {\r\n return key === \"dateFrom\" ? setDateFrom(value) : setDateTo(value);\r\n }\r\n switch (key) {\r\n case \"approvalStatus\" :\r\n return approvalStatus.current = value;\r\n case \"employee\" :\r\n return employee.current = value;\r\n case \"propertyID\" :\r\n return propertyID.current = value;\r\n default:\r\n return false;\r\n }\r\n };\r\n\r\n const loadGrid = (VoucherID = \"\") => {\r\n const params = {\r\n FormID: \"W09F2220\",\r\n Language: Config.language || '84',\r\n DivisionID: Config.getDivisionID(),\r\n DateFrom: dateFrom,\r\n DateTo: dateTo,\r\n ApprovalStatus: approvalStatus.current,\r\n EmployeeID: _.get(employee.current, \"EmployeeID\", \"\"),\r\n TransTypeID: propertyID.current,\r\n VoucherID\r\n };\r\n approvalActions.getGridApprovals(params, (err) => {\r\n if (err) return Config.popup.show(\"ERROR\", err);\r\n\r\n });\r\n };\r\n\r\n const loadFormInfo = VoucherID => {\r\n const params = {\r\n FormID: \"W09F2220\",\r\n Language: Config.language || \"84\",\r\n Type: 0,\r\n VoucherID\r\n };\r\n setLoadingForm(true)\r\n approvalActions.getFormInfo(params, (err, data) => {\r\n setLoadingForm(false)\r\n if (err) return Config.popup.show(\"ERROR\", err);\r\n if (data) setDataForm(data);\r\n });\r\n };\r\n\r\n const loadCboEmployees = (isReset) => {\r\n const param = {\r\n Type: \"EmployeeID\",\r\n FormID: \"W09F2220\",\r\n Language: Config.language || \"84\",\r\n ...paramFilterCboEmployee,\r\n };\r\n setLoadingCboEmployee(true);\r\n generalActions.getCboEmployees(param, (err, data) => {\r\n setLoadingCboEmployee(false);\r\n if (err) return Config.popup.show(\"ERROR\", err);\r\n if (data) {\r\n const rows = _.get(data, \"rows\", false) || data;\r\n const total = _.get(data, \"total\", 0) || _.size(data);\r\n setDataCboEmployees({rows: isReset ? rows : _.concat(dataCboEmployees.rows, rows), total})\r\n }\r\n });\r\n };\r\n\r\n const loadCboProperty = async () => {\r\n setLoadingCboProperty(true)\r\n const res = await Api.put(\"/w09f2002/get-property\", {Language: Config.language || \"84\"})\r\n setLoadingCboProperty(false)\r\n const resData = _.get(res, \"data\", {});\r\n const resMessageErr = _.get(res, \"message\", _.get(resData, \"Message\", \"\"));\r\n if (resMessageErr) return Config.popup.show(\"ERROR\", resMessageErr);\r\n if (resData) setDataCboProperty(resData)\r\n\r\n };\r\n\r\n const loadCboAppStatus = () => {\r\n const params = {\r\n FormID: \"STANDARD\",\r\n Language: Config.language || '84'\r\n };\r\n setLoadingCboAppStatus(true)\r\n approvalActions.getCboStatus(params, (err) => {\r\n setLoadingCboAppStatus(false)\r\n if (err) return Config.popup.show(\"ERROR\", err);\r\n });\r\n };\r\n\r\n const onSelectionChanged = (e) => {\r\n loadFormInfo(_.get(e, \"VoucherID\", \"\"));\r\n };\r\n\r\n const onLoadDataFilter = () => {\r\n loadCboEmployees();\r\n loadCboAppStatus();\r\n loadCboProperty();\r\n };\r\n\r\n const onDrawerClosed = () => {\r\n setVoucherID(\"\");\r\n };\r\n\r\n const onSearch = () => {\r\n loadGrid();\r\n };\r\n\r\n const renderFormInfo = (data) => {\r\n return <>\r\n \r\n \r\n \r\n {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n }}\r\n fullWidth={true}\r\n />\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n };\r\n\r\n const renderFilter = () => {\r\n return {\r\n console.log(\"closed\")\r\n }}\r\n showHeader={false}\r\n placeholder={Config.lang(\"Noi_dung_can_tim_kiem\")}\r\n onOpenLoaded={onLoadDataFilter}\r\n renderFilter={() =>\r\n <>\r\n \r\n \r\n \r\n handleFilterChange(\"approvalStatus\", e)}\r\n showClearButton={true}\r\n value={approvalStatus.current}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n const {data} = e;\r\n if (!data) return null;\r\n return data.EmployeeID + ' - ' + data.EmployeeName;\r\n }}\r\n showClearButton={true}\r\n onValueChanged={e => handleFilterChange(\"employee\", e)}\r\n onInputChanged={(e) => {\r\n paramFilterCboEmployee.search = e.target.value;\r\n paramFilterCboEmployee.skip = 0;\r\n loadCboEmployees(true);\r\n }}\r\n onLoadMore={(e) => {\r\n paramFilterCboEmployee.skip = e.skip;\r\n paramFilterCboEmployee.limit = e.limit;\r\n loadCboEmployees();\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n handleFilterChange(\"propertyID\", e)}\r\n showClearButton={true}\r\n loading={isLoadingCboProperty}\r\n value={propertyID.current}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n handleFilterChange(\"dateFrom\", e)}\r\n />\r\n
\r\n \r\n \r\n
\r\n \r\n handleFilterChange(\"dateTo\", e)}\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n }\r\n />\r\n };\r\n\r\n return <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n approvalRef.current = ref\r\n }}\r\n loading={isLoadingForm}\r\n allowHistoryApproval={true}\r\n FormID={\"W09F2220\"}\r\n dataForm={dataForm}\r\n dataSource={getGridApproval}\r\n selectedRowKey={voucherID}\r\n disabledApproval={false}\r\n singleClick\r\n formInfoRender={renderFormInfo}\r\n onSelectionChanged={onSelectionChanged}\r\n onDrawerClosed={onDrawerClosed}\r\n filterRender={renderFilter}\r\n disableEscapeKeyDown={false}\r\n />\r\n \r\n \r\n \r\n \r\n}\r\n\r\nexport default connect((state) => ({\r\n getCboStatus: state.approvals.getCboStatus,\r\n getGridApproval: state.approvals.getGridApproval,\r\n }),\r\n (dispatch) => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n approvalActions: bindActionCreators(ApprovalActions, dispatch),\r\n })\r\n)(W09F2220)\r\n\r\n","\r\n/**\r\n * @copyright 2021 @ DigiNet\r\n * @author TRANGHOANG\r\n * @create 10/09/2021\r\n * @Example\r\n */\r\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport * as W09F2270Actions from \"../../../../redux/W0X/W09F2270/W09F2270_actions\";\r\n\r\nimport _ from \"lodash\";\r\nimport { Col, FormGroup, Row } from \"react-bootstrap\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport { Column } from \"devextreme-react/data-grid\";\r\n\r\nimport {Button, Dropdown, DateRangePicker, Avatar, ButtonIcon, Typography, Tooltip} from 'diginet-core-ui/components';\r\nimport { CalendarNew } from 'diginet-core-ui/icons';\r\n\r\nimport Config from \"../../../../config\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport Filter from \"../../../filter/filter\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport History from \"../../../libs/history\";\r\nimport Status from \"../../../common/status/status\";\r\nimport W09F2271 from '../W09F2271/W09F2271';\r\nimport W84F3005 from \"../../../W8X/W84/W84F3005/W84F3005\";\r\n\r\nconst styles = {\r\n dateInfo: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n },\r\n dateRangeClass: {\r\n '& input': {\r\n padding: '10px !important'\r\n }\r\n },\r\n VoucherNo: {\r\n maxWidth: 500,\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n textAlign: 'left'\r\n }\r\n};\r\n\r\nconst W09F2270 = (props) => {\r\n const { dataGrid, getCboAppStatus, classes, location } = props;\r\n const FormID = \"W09F2270\";\r\n const Language = Config.language || \"84\";\r\n const DateFrom = null;\r\n const DateTo = null;\r\n\r\n\r\n const [gridLoading, setGridLoading] = useState(false);\r\n const [cboAppStatusLoading, setCboAppStatusLoading] = useState(false);\r\n const [cboEmployeeLoading, setCboEmployeeLoading] = useState(false);\r\n const [iPermission, setIPermission] = useState(0);\r\n const [showW09F2271Popup, setShowW09F2271Popup] = useState(false);\r\n const [showW84F3005Popup, setShowW84F3005Popup] = useState(false);\r\n const [dataPopup, setDataPopup] = useState({\r\n mode:'',\r\n rowData: null\r\n });\r\n const [filterSearch, setFilterSearch] = useState({\r\n Employee: \"\",\r\n EmployeeID: \"\",\r\n AppStatusID: null\r\n });\r\n const [dataCboEmployees, setDataCboEmployees] = useState({\r\n rows: [],\r\n total: 0\r\n });\r\n const [rangeDate, setRangeDate] = useState([DateFrom, DateTo]);\r\n\r\n\r\n const itemPageDataGrid = useRef({\r\n limit: 10,\r\n skip: 0\r\n });\r\n const filterCboEmployees = useRef({\r\n Type: \"EmployeeID\",\r\n timer: null,\r\n HostID: \"\",\r\n strSearch: \"\",\r\n skip: 0,\r\n limit: 50\r\n });\r\n const filterRangePicker = useRef({\r\n DateFrom,\r\n DateTo,\r\n });\r\n\r\n useEffect(() => {\r\n loadPermission();\r\n if (!iPermission) return;\r\n loadGrid();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [iPermission]);\r\n\r\n /**\r\n * open W09F2271Popup from notify\r\n */\r\n useEffect(() => {\r\n if (location && location.state?.voucher_id) {\r\n showPopup('view', {VoucherID: location.state?.voucher_id});\r\n }\r\n /* eslint-disable */\r\n }, [location]);\r\n\r\n /**\r\n * load data Grid\r\n */\r\n const loadGrid = () => {\r\n const { AppStatusID, EmployeeID } = filterSearch;\r\n const { DateFrom, DateTo } = filterRangePicker.current;\r\n const { skip, limit } = itemPageDataGrid.current;\r\n const params = {\r\n FormID,\r\n DateFrom,\r\n DateTo,\r\n EmployeeID,\r\n AppStatusID,\r\n Language,\r\n skip,\r\n limit,\r\n };\r\n setGridLoading(true);\r\n props.w51F1100Actions.loadGrid(params, (error) => {\r\n setGridLoading(false);\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * load data combobox Employee in Dropdown Filter\r\n * @param isReset {boolean} - true: reset data, false: concat data\r\n */\r\n const loadCboEmployees = (isReset) => {\r\n const { HostID, Type, skip, limit, strSearch: search } = filterCboEmployees.current;\r\n const param = {\r\n HostID,\r\n Type,\r\n FormID,\r\n Language,\r\n skip,\r\n limit,\r\n search\r\n };\r\n setCboEmployeeLoading(true);\r\n props.generalActions.getCboEmployees(param, (error, data) => {\r\n setCboEmployeeLoading(false);\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n else if (data) {\r\n const rows = data?.rows ? data.rows : data;\r\n const total = data?.total ? data.total : data.length;\r\n setDataCboEmployees({\r\n rows: isReset ? rows : dataCboEmployees.rows.concat(rows),\r\n total\r\n })\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * load data combobox status in Dropdown Filter\r\n */\r\n const loadCboAppStatus = () => {\r\n const params = {\r\n FormID: \"STANDARD\",\r\n Language,\r\n };\r\n setCboAppStatusLoading(true);\r\n props.generalActions.getCboAppStatus(params, (err) => {\r\n setCboAppStatusLoading(false);\r\n if (err) {\r\n Config.popup.show(\"ERROR\", err);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n *\r\n * @type {Function}\r\n */\r\n const loadPermission = useCallback(() => {\r\n props.generalActions.getPermission(\"W09F2270\", (isPer) => {\r\n setIPermission(isPer);\r\n });\r\n }, [props.generalActions]);\r\n\r\n /**\r\n * open popup W09F2271\r\n * @param mode\r\n * @param rowData\r\n */\r\n const showPopup = (mode, rowData) => {\r\n setDataPopup({\r\n mode,\r\n rowData\r\n });\r\n if(mode === 'history') setShowW84F3005Popup(true);\r\n else setShowW09F2271Popup(true);\r\n };\r\n\r\n /**\r\n * close popup W09F2271\r\n * @param reload\r\n */\r\n const onCloseModal = (reload = false) => {\r\n if(reload) loadGrid();\r\n setShowW09F2271Popup(false);\r\n setShowW84F3005Popup(false);\r\n setDataPopup({\r\n mode:'',\r\n rowData: null\r\n });\r\n };\r\n\r\n /**\r\n * show popup \"YES/NO\" confirm delete row\r\n * @param e - row data\r\n * @returns {Promise}\r\n */\r\n const onDelete = e => {\r\n const { data } = e;\r\n Config.popup.show(\"YES_NO\", Config.lang(\"Ban_co_chac_chan_muon_xoa_du_lieu_nay\"), () => {\r\n (async () => {\r\n const params = {\r\n FormID,\r\n Language,\r\n VoucherID: _.get(data, \"VoucherID\", \"\"),\r\n };\r\n setGridLoading(true);\r\n props.w51F1100Actions.deleteRowData(params, async error => {\r\n setGridLoading(false);\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n } else {\r\n await saveHistory(data);\r\n\r\n Config.notify.show(\"success\", Config.lang(\"Xoa_thanh_cong\"), 2000);\r\n loadGrid();\r\n }\r\n });\r\n })();\r\n });\r\n };\r\n\r\n /**\r\n * action save history when add or delete success\r\n * @param data - data to save\r\n * @returns {Promise}\r\n */\r\n const saveHistory = async (data) => {\r\n if(!data) return false;\r\n const { VoucherID, VoucherName, Notes } = data;\r\n if (VoucherID) {\r\n // data Content\r\n const _data = {\r\n VoucherName,\r\n Notes\r\n };\r\n\r\n //name Content\r\n const captions = {\r\n VoucherName: \"Ten_phieu\",\r\n Notes: \"Ghi_chu\",\r\n };\r\n\r\n const options = {\r\n data:_data,\r\n captions,\r\n action: 3, //Delete\r\n ModuleID: \"D09\",\r\n TransactionID: FormID,\r\n TransID: VoucherID,\r\n TransactionName: Config.lang(\"Ky_luat_hang_loat\")\r\n };\r\n const history = new History(options); //Init history\r\n await history.save()\r\n\r\n } else {\r\n Config.notify.show(\"error\", Config.lang(\"Luu_lich_su_khong_thanh_cong\"), 2000);\r\n }\r\n\r\n };\r\n\r\n /**\r\n * update state FilterSearch when change value of the components in Dropdown Filter\r\n * @param filterName - Component name\r\n * @param e - data component return\r\n */\r\n const filterChange = (filterName = \"\", e) => {\r\n if (!e) return;\r\n let value = _.get(e, \"value\", _.get(e, \"target.value\", \"\"));\r\n switch (filterName) {\r\n case \"AppStatusID\":\r\n setFilterSearch({ ...filterSearch, [filterName]: (value || value === 0) ? value : null });\r\n break;\r\n case \"EmployeeID\":\r\n setFilterSearch({ ...filterSearch, [filterName]: (value || value === 0) ? value : \"\"});\r\n break;\r\n case \"RangePicker\":\r\n const DateFrom = _.isArray(value) ? value[0] : value;\r\n const DateTo = _.isArray(value) ? value[1] : value;\r\n filterRangePicker.current = {\r\n DateFrom,\r\n DateTo,\r\n };\r\n setRangeDate([DateFrom, DateTo]);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n /**\r\n * function onload data when open Dropdown Filter\r\n */\r\n const onLoadDataFilter = () => {\r\n loadCboAppStatus();\r\n loadCboEmployees();\r\n };\r\n\r\n /**\r\n * render popup filter on Header\r\n * @returns {*}\r\n */\r\n const renderFilterData = () => {\r\n return (\r\n {\r\n return (\r\n <>\r\n \r\n \r\n \r\n filterChange(\"EmployeeID\", e)}\r\n onInput={(e) => {\r\n filterCboEmployees.current.strSearch = e.target.value;\r\n filterCboEmployees.current.skip = 0;\r\n loadCboEmployees(true);\r\n }}\r\n onLoadMore={(e) => {\r\n filterCboEmployees.current.skip = e.skip;\r\n filterCboEmployees.current.limit = e.limit;\r\n loadCboEmployees();\r\n }}\r\n />\r\n \r\n \r\n filterChange(\"AppStatusID\", e)}\r\n dataSource={getCboAppStatus}\r\n loading={cboAppStatusLoading}\r\n value={filterSearch.AppStatusID}\r\n />\r\n \r\n \r\n \r\n filterChange(\"RangePicker\", e)}\r\n placeholder={\"DD/MM/YY - DD/MM/YY\"}\r\n returnFormat={\"YYYY-MM-DD\"}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n }}\r\n />\r\n );\r\n };\r\n\r\n /**\r\n * render 2 column Info Employee\r\n * @param e\r\n * @returns {*}\r\n */\r\n const renderEmpProfile = (e) => {\r\n const { data } = e.row;\r\n const { CreateDate = \"\" } = data;\r\n const user = Config.getUser({UserID:data.CreateUserID});\r\n return (\r\n
\r\n \r\n
\r\n \r\n {user?.EmployeeName}\r\n \r\n
\r\n \r\n \r\n {Config.convertDate(CreateDate, '', \"LT, DD/MM/YYYY A\")}\r\n \r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n /**\r\n * render column VoucherNo (HTML)\r\n * @param e - row data\r\n * @returns {*}\r\n */\r\n const renderInfo = (e) => {\r\n const { data } = e.row;\r\n const content =
;\r\n return {content};\r\n };\r\n\r\n /**\r\n * render colum status\r\n * @param data - row data\r\n * @returns {*}\r\n */\r\n const renderStatus = ({data}) => ;\r\n\r\n /**\r\n * on change Page\r\n * @param page {number} - new page\r\n */\r\n const onChangeInfoPage = (page) => {\r\n itemPageDataGrid.current.skip = page * itemPageDataGrid.current.limit;\r\n loadGrid();\r\n };\r\n\r\n /**\r\n * action on click change perpage\r\n * @param perPage {number} new paer page\r\n */\r\n const onChangePerPage = (perPage) => {\r\n itemPageDataGrid.current.skip = 0;\r\n itemPageDataGrid.current.limit = perPage;\r\n loadGrid();\r\n };\r\n\r\n /**\r\n * render column Action\r\n * @param e - row data\r\n * @returns {*}\r\n */\r\n const renderAction = (e) => {\r\n const {data} = e.row;\r\n return (\r\n
\r\n 0)}\r\n onClick={() => showPopup(\"history\", e.row?.data)}\r\n />\r\n 0)}\r\n name={\"View\"}\r\n viewType={\"text\"}\r\n viewBox\r\n circular\r\n onClick={() => showPopup(\"view\", e.row?.data)}\r\n />\r\n 3 && Number(data?.AppStatusID) === 0)}\r\n name={\"Delete\"}\r\n viewType={\"text\"}\r\n viewBox\r\n circular\r\n onClick={() => onDelete(e)}\r\n />\r\n
\r\n );\r\n };\r\n\r\n if (!iPermission) return null;\r\n return (\r\n \r\n
{renderFilterData()}
\r\n \r\n 1)}\r\n size={\"medium\"}\r\n color={\"primary\"}\r\n startIcon={\"AddCircle\"}\r\n viewType={\"filled\"}\r\n label={Config.lang(\"Them\")}\r\n style={{textTransform: \"uppercase\"}}\r\n onClick={() => showPopup(\"add\")}\r\n />\r\n \r\n {\r\n if(iPermission <= 2) return;\r\n showPopup(\"edit\", e?.data)\r\n }}\r\n onChangePage={onChangeInfoPage}\r\n onChangePerPage={onChangePerPage}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {showW09F2271Popup && (\r\n onCloseModal(isReload)}\r\n />\r\n )}\r\n {showW84F3005Popup &&\r\n \r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default compose(\r\n connect((state) => ({\r\n dataGrid: state.W09F2270.dataGrid,\r\n getCboAppStatus: state.general.getCboAppStatus,\r\n }), (dispatch) => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n w51F1100Actions: bindActionCreators(W09F2270Actions, dispatch),\r\n })), withStyles(styles))(W09F2270);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author NAMDANG\r\n * @create 3/4/2021\r\n * @Example \r\n */\r\n\r\nimport React, {useEffect, useState, useRef} from \"react\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {makeStyles, IconButton, Divider} from \"@material-ui/core\";\r\nimport {connect} from \"react-redux\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport Config from \"../../../../config\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport {Column} from \"devextreme-react/data-grid\";\r\nimport {Image, FormGroup, Row, Col} from \"react-bootstrap\";\r\nimport Filter from \"../../../filter/filter\";\r\nimport {Combo} from \"../../../common/form-material\";\r\nimport DateBoxPicker from \"../../../common/form-material/date-box\";\r\nimport moment from \"moment\";\r\nimport {browserHistory} from \"react-router\";\r\n\r\nimport * as W09F2225Actions from \"../../../../redux/W0X/W09F2225/W09F2225_actions\";\r\nimport UserImage from \"../../../common/user/user-image\";\r\nimport UserName from \"../../../common/user/user-name\";\r\nimport Status from \"../../../common/status/status\";\r\nimport Icons from \"../../../common/icons/\";\r\nimport W84F3005 from \"../../../W8X/W84/W84F3005/W84F3005\";\r\nimport HistoryIcon from \"@material-ui/icons/History\"\r\nimport W09F2205 from \"../W09F2205/W09F2205\";\r\nimport W09F2215 from \"../W09F2215/W09F2215\";\r\nimport DOMPurify from \"dompurify\";\r\n\r\nconst useStyles = makeStyles(theme => ({\r\n divAvatar: {\r\n width: 32,\r\n height: 32,\r\n borderRadius: \"50%\",\r\n overflow: \"hidden\",\r\n marginRight: 8\r\n },\r\n imgAvatar: {\r\n maxWidth: \"100%\",\r\n maxHeight: \"100%\",\r\n objectFit: \"contain\"\r\n },\r\n chip: {\r\n fontSize: \"1rem\",\r\n fontWeight: 400,\r\n border: \"none\",\r\n backgroundColor: \"#EBEBEB\"\r\n },\r\n dateInfo: {\r\n display: \"flex\",\r\n alignItems: \"center\"\r\n },\r\n divText: {\r\n // fontSize: \"14px\",\r\n fontWeight: 500,\r\n // color: \"#575757\"\r\n },\r\n divDateText: {\r\n fontSize: \"14px\",\r\n fontWeight: 400,\r\n color: theme.palette.text.subtext\r\n }\r\n})) ;\r\n\r\nconst W09F2225 = (props) => {\r\n const _initFilter = {\r\n AppStatusID: null,\r\n PropertyID: \"\",\r\n skip: 0,\r\n limit: 10\r\n };\r\n\r\n const _dataDate = {\r\n DateFrom: null,\r\n DateTo: null,\r\n };\r\n\r\n const _initDataGrid = {\r\n rows: [],\r\n total: 0\r\n };\r\n\r\n const _w84F3005PopupData = {\r\n TransID: null\r\n };\r\n\r\n const _initRowData = {\r\n row: {},\r\n mode: \"\"\r\n };\r\n\r\n const {getCboAppStatus, getDataCboProperty} = props;\r\n const [iPermission, setPermission] = useState(0);\r\n const [dataGrid, setDataGrid] = useState(_initDataGrid);\r\n const [dataDate, _setDataDate] = useState(_dataDate);\r\n const [loading, _setLoading] = useState({gridLoading: false});\r\n const [showW84F3005Popup, setShowW84F3005Popup] = useState(false);\r\n const [showW09F2205Popup, setShowW09F2205Popup] = useState(false);\r\n const [showW09F2215Popup, setShowW09F2215Popup] = useState(false);\r\n const [rowData, setRowData] = useState(_initRowData);\r\n const dataFilter = useRef(_initFilter);\r\n const w84F3005PopupData = useRef(_w84F3005PopupData);\r\n const classes = useStyles();\r\n\r\n const setLoading = (obj) => {\r\n _setLoading({...loading,...obj});\r\n };\r\n\r\n const setDataDate = (obj) => {\r\n _setDataDate({...dataDate,...obj});\r\n };\r\n\r\n const onSearch = () => {\r\n loadDataGrid();\r\n };\r\n\r\n const onChangePageProfile = data => {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W09F2000\",\r\n state: {EmployeeID: data.EmployeeID}\r\n });\r\n };\r\n\r\n const loadDataGrid = (VoucherID) => {\r\n const {voucher_id} = Config.getUrlParams(props);\r\n VoucherID = VoucherID ? VoucherID : voucher_id;\r\n const param = {\r\n FormID: \"W09F2225\",\r\n Language: Config.language || 84,\r\n EmployeeID: Config.profile.UserID || \"\",\r\n DateFrom: dataDate.DateFrom || null,\r\n DateTo: dataDate.DateTo || null,\r\n ApprovalStatus: dataFilter.current.AppStatusID ?? null,\r\n PropertyID: dataFilter.current.PropertyID || \"\",\r\n Skip: dataFilter.current.skip,\r\n Limit: dataFilter.current.limit,\r\n VoucherID: VoucherID || \"\"\r\n };\r\n setLoading({gridLoading: true});\r\n props.w09f2225Actions.getDataGrid(param, (error, data) => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n setLoading({gridLoading: false});\r\n if(data) {\r\n setDataGrid({\r\n rows: data.rows,\r\n total: data.total\r\n })\r\n }\r\n });\r\n };\r\n\r\n const loadCboAppStatus = () => {\r\n const param = {\r\n FormID: \"W09F2225\",\r\n Language: Config.language || 84\r\n };\r\n\r\n props.generalActions.getCboAppStatus(param, error => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n const loadDataCboProperty = () => {\r\n const param = {\r\n Language: Config.language || 84\r\n };\r\n\r\n props.w09f2225Actions.getDataCboProperty(param, error => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n const onChangePage = page => {\r\n dataFilter.current.skip = page * dataFilter.current.limit;\r\n loadDataGrid();\r\n };\r\n\r\n const onChangePerPage = perPage => {\r\n dataFilter.current.skip = 0;\r\n dataFilter.current.limit = perPage;\r\n loadDataGrid();\r\n };\r\n\r\n const onCloseModal = (isLoaded = false) => {\r\n if(isLoaded) {\r\n loadDataGrid();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const loadPermission = async () => {\r\n await props.generalActions.getPermission(\"W09F2225\", (isPer) => {\r\n setPermission(isPer);\r\n });\r\n };\r\n loadPermission();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n const {voucher_id} = Config.getUrlParams(props);\r\n if(iPermission) {\r\n loadDataGrid(voucher_id);\r\n loadCboAppStatus();\r\n loadDataCboProperty();\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [iPermission]);\r\n\r\n useEffect(() => {\r\n // const {getFormGrid} = props;\r\n // Config.callChildForm({\r\n // FormID: \"W09F2225\",\r\n // keyExpr: \"TransID\",\r\n // data: getFormGrid.rows || [],\r\n // onLoad: (params) => loadDataGrid(params && params.ID),\r\n // onAction: (e, data) => redirectScreen(1, {data: data})\r\n // }, props);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n });\r\n\r\n const renderEmpProfile = e => {\r\n const {data} = e.row;\r\n const date = moment.utc(data.CreateDate).isValid() ?\r\n moment.utc(data.CreateDate).format(\"LT, DD/MM/YYYY\") : \"\";\r\n return (\r\n
\r\n onChangePageProfile(data)}/>\r\n
\r\n
\r\n \r\n
\r\n
\r\n {data.DepartmentName || \"\"}\r\n
\r\n
\r\n \r\n
\r\n {data.CreateDate && date}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n const renderInfo = e => {\r\n const {data} = e.row;\r\n const description = data?.VoucherNo ? : null;\r\n return (\r\n
\r\n {description}\r\n
\r\n );\r\n };\r\n\r\n const renderStatus = e => {\r\n const {data} = e.row;\r\n return (\r\n \r\n );\r\n };\r\n\r\n const onEdit = e => {\r\n const {data} = e.row;\r\n setRowData({row: data, mode: \"edit\"});\r\n if(data.PropertyID === \"RELATIVE\") {\r\n setShowW09F2215Popup(true);\r\n }\r\n if(data.PropertyID !== \"RELATIVE\") {\r\n setShowW09F2205Popup(true);\r\n }\r\n };\r\n\r\n const onHistoryApproval = (e, data = {}) => {\r\n w84F3005PopupData.current.TransID = data.TransID;\r\n setShowW84F3005Popup(true);\r\n };\r\n\r\n const onAdd = () => {\r\n browserHistory.push({\r\n pathname: Config.getRootPath() + \"W09F2000\",\r\n state: { EmployeeID: Config.profile.HREmployeeID ,mode: \"add\", FormID: \"W09F2225\"}\r\n });\r\n };\r\n\r\n const onDelete = data => {\r\n const {TransID } = data;\r\n const param = {\r\n TransID: TransID\r\n };\r\n Config.popup.show(\r\n \"YES_NO\",\r\n Config.lang(\"Ban_co_chac_muon_xoa?\"),\r\n () => {\r\n props.w09f2225Actions.deleteData(param, error => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n } else {\r\n Config.notify.show(\"success\", Config.lang(\"Xoa_thanh_cong\"), 3000);\r\n loadDataGrid();\r\n }\r\n });\r\n }\r\n );\r\n };\r\n\r\n const renderAction = e => {\r\n const {data} = e.row;\r\n return (\r\n
\r\n 0)}\r\n onClick={() => onHistoryApproval(e, data)}>\r\n \r\n \r\n 2)}\r\n onClick={() => onEdit(e)}\r\n >\r\n \r\n \r\n \r\n 3) || (data && Number(data.AppStatusID) !== 0)}\r\n onClick={() => onDelete(data)}\r\n >\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const filterChange = (key, e) => {\r\n if (!key) return false;\r\n switch (key) {\r\n case \"DateFrom\":\r\n setDataDate({DateFrom: e.value});\r\n break;\r\n case \"DateTo\":\r\n setDataDate({DateTo: e.value});\r\n break;\r\n case \"AppStatusID\":\r\n dataFilter.current.AppStatusID = e.value;\r\n break;\r\n case \"PropertyID\":\r\n\r\n dataFilter.current.PropertyID = e.value;\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const renderFilter = () => {\r\n return (\r\n {\r\n return (\r\n <>\r\n \r\n \r\n \r\n
\r\n
\r\n {Config.lang(\"Tu\")}\r\n
\r\n filterChange(\"DateFrom\", e)}\r\n useMaskBehavior={true}\r\n showClearButton={true}\r\n placeholder={\"DD/MM/YYYY\"}\r\n value={dataDate.DateFrom}\r\n />\r\n
\r\n \r\n \r\n
\r\n
\r\n {Config.lang(\"Den\").toLowerCase()}\r\n
\r\n filterChange(\"DateTo\", e)}\r\n useMaskBehavior={true}\r\n showClearButton={true}\r\n placeholder={\"DD/MM/YYYY\"}\r\n value={dataDate.DateTo}\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n filterChange(\"AppStatusID\", e)}\r\n showClearButton={true}\r\n value={dataFilter.current.AppStatusID || \"\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n filterChange(\"PropertyID\", e)}\r\n showClearButton={true}\r\n value={dataFilter.current.PropertyID || \"\"}\r\n />\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n );\r\n }}\r\n />\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n setShowW84F3005Popup(false)}\r\n FormID=\"W09F2225\" TransID={w84F3005PopupData.current.TransID}/>\r\n {showW09F2205Popup && {\r\n onCloseModal(isLoaded);\r\n setShowW09F2205Popup(false)\r\n }}/>}\r\n {showW09F2215Popup && {\r\n onCloseModal(isLoaded);\r\n setShowW09F2215Popup(false)}\r\n }/>}\r\n
{renderFilter()}
\r\n \r\n 3)}\r\n size={\"large\"}\r\n onClick={onAdd}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n state => ({\r\n getCboAppStatus: state.general.getCboAppStatus,\r\n getDataCboProperty: state.W09F2225.getDataCboProperty\r\n }),\r\n dispatch => ({\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n w09f2225Actions: bindActionCreators(W09F2225Actions, dispatch)\r\n })\r\n ),\r\n)(W09F2225);\r\n","/**\r\n * @Copyright 2021 @DigiNet\r\n * @Author XUANLOC\r\n * @Create 13/9/2021\r\n * @Example\r\n */\r\n\r\nimport { Column } from 'devextreme-react/data-grid';\r\nimport { Avatar, Button, ButtonIcon, DateRangePicker, Dropdown, Tooltip, Typography } from 'diginet-core-ui/components';\r\nimport { CalendarNew } from 'diginet-core-ui/icons';\r\nimport DOMPurify from 'dompurify';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport Config from '../../../../config';\r\nimport * as approvalActions from '../../../../redux/approvals/approvals_actions';\r\nimport * as generalActions from '../../../../redux/general/general_actions';\r\nimport ApprovalsPopover from '../../../approvals/approvalspopover';\r\nimport { MForm } from '../../../common/form-material';\r\nimport Status from '../../../common/status/status';\r\nimport ActionToolbar from '../../../common/toolbar/action-toolbar';\r\nimport Filter from '../../../filter/filter';\r\nimport GridContainer from '../../../grid-container/grid-container';\r\nimport W84F3005 from '../../../W8X/W84/W84F3005/W84F3005';\r\nimport W09F2271 from '../W09F2271/W09F2271';\r\nimport { useStyles } from './styles';\r\n\r\nconst W09F2272 = (props) => {\r\n const { location } = props;\r\n const classes = useStyles();\r\n\r\n const [iPermission, setIPermission] = useState(0);\r\n const [gridLoading, setGridLoading] = useState(false);\r\n const [loadingCboEmployees, setLoadingCboEmployees] = useState(false);\r\n const [dataCboEmployees, setDataCboEmployees] = useState({\r\n rows: [],\r\n total: 0,\r\n });\r\n const [filter, setFilter] = useState(() => ({\r\n ApprovalStatus: null,\r\n EmployeeID: \"\",\r\n }));\r\n const [openW09F2271Popup, setOpenW09F2271Popup] = useState(false);\r\n const [openW84F3005Popup, setOpenW84F3005Popup] = useState(false);\r\n const [openApprovals, setOpenApprovals] = useState(false);\r\n const [approving, setApproving] = useState(false);\r\n const [errorNote, setErrorNote] = useState('');\r\n\r\n const filterRangePicker = useRef({\r\n DateFrom: null,\r\n DateTo: null,\r\n });\r\n const itemPageDataGrid = useRef({\r\n limit: 10,\r\n skip: 0,\r\n });\r\n const dataPopup = useRef({\r\n mode: '',\r\n rowData: null,\r\n });\r\n const dataApproval = useRef({\r\n anchorEl: null,\r\n type: '',\r\n rowData: null,\r\n });\r\n const refApprovalPopover = useRef(null);\r\n const toolFilter = useRef(null);\r\n\r\n const dispatch = useDispatch();\r\n const dataGrid = useSelector((state) => state.approvals.getGridApproval);\r\n const dataCboStatus = useSelector((state) => state.approvals.getCboStatus);\r\n\r\n const paramFilterCboEmployees = {\r\n skip: 0,\r\n limit: 10,\r\n search: '',\r\n };\r\n\r\n const loadPermission = () => {\r\n dispatch(\r\n generalActions.getPermission('W09F2272', (isPer) => {\r\n setIPermission(isPer);\r\n })\r\n );\r\n };\r\n\r\n const loadGrid = () => {\r\n const { ApprovalStatus, EmployeeID } = filter;\r\n const { DateFrom, DateTo } = filterRangePicker.current;\r\n const { skip, limit } = itemPageDataGrid.current;\r\n const params = {\r\n VoucherID: '',\r\n DivisionID: Config.getDivisionID() ?? '',\r\n FormID: 'W09F2272',\r\n Language: Config?.language ?? '84',\r\n skip: skip ?? 0,\r\n limit: limit ?? 10,\r\n UserID: Config?.profile?.UserID ?? '',\r\n ApprovalStatus: ApprovalStatus ?? null,\r\n EmployeeID: EmployeeID ?? \"\",\r\n DepartmentID: '',\r\n ProjectID: '',\r\n TransType01ID: '',\r\n DutyID: '',\r\n IsRegisterType: null,\r\n Type: 0,\r\n DateFrom: DateFrom ?? null,\r\n DateTo: DateTo ?? null,\r\n };\r\n setGridLoading(true);\r\n dispatch(\r\n approvalActions.getGridApprovals(params, (error) => {\r\n setGridLoading(false);\r\n if (error) {\r\n Config.popup.show('ERROR', error || Config.lang('Loi_chua_xac_dinh'));\r\n return false;\r\n }\r\n })\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n loadPermission();\r\n loadGrid();\r\n loadCboStatus();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (dataGrid?.rows?.length > 0 && dataCboStatus?.length > 0) {\r\n dataGrid.rows.forEach((row) => {\r\n const { ApprovalStatus } = row;\r\n if (ApprovalStatus) {\r\n const status = dataCboStatus.find((i) => i.ApprovalStatus === ApprovalStatus);\r\n if (status) {\r\n row.ApproverName = status?.AppStatusName ?? '';\r\n }\r\n }\r\n });\r\n }\r\n }, [dataGrid, dataCboStatus]);\r\n\r\n useEffect(() => {\r\n if (location?.state?.voucher_id) {\r\n showPopup('view', { VoucherID: location?.state?.voucher_id });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [location]);\r\n\r\n const loadCboStatus = () => {\r\n const params = {\r\n FormID: 'STANDARD',\r\n Language: Config.language || '84',\r\n };\r\n dispatch(\r\n approvalActions.getCboStatus(params, (error) => {\r\n if (error) {\r\n Config.popup2.show('ERROR', error);\r\n return false;\r\n }\r\n })\r\n );\r\n };\r\n\r\n const loadCboEmployees = (isReset) => {\r\n const param = {\r\n Type: 'EmployeeID',\r\n FormID: 'W39F3030',\r\n Language: Config.language || '84',\r\n ...paramFilterCboEmployees,\r\n };\r\n setLoadingCboEmployees(true);\r\n dispatch(\r\n generalActions.getCboEmployees(param, (err, data) => {\r\n setLoadingCboEmployees(false);\r\n if (err) return Config.popup2.show('ERROR', err);\r\n if (data) {\r\n const rows = data?.rows ?? data;\r\n const total = data?.total ?? data?.length;\r\n setDataCboEmployees({\r\n rows: isReset ? rows : dataCboEmployees.rows.concat(rows),\r\n total,\r\n });\r\n }\r\n })\r\n );\r\n };\r\n\r\n const onLoadCboFilter = () => {\r\n loadCboEmployees();\r\n };\r\n\r\n const filterChange = (key, data) => {\r\n switch (key) {\r\n case 'ApprovalStatus':\r\n case 'EmployeeID':\r\n setFilter({ ...filter, [key]: data?.value ?? \"\" });\r\n break;\r\n case 'Date':\r\n filterRangePicker.current = {\r\n DateFrom: data?.value?.[0] ?? null,\r\n DateTo: data?.value?.[1] ?? null,\r\n };\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const renderFilter = () => {\r\n const { DateFrom, DateTo } = filterRangePicker.current;\r\n return (\r\n {\r\n return (\r\n <>\r\n filterChange('ApprovalStatus', e)}\r\n dataSource={dataCboStatus}\r\n value={filter?.ApprovalStatus ?? null}\r\n viewType={'outlined'}\r\n />\r\n filterChange('EmployeeID', e)}\r\n value={filter?.EmployeeID ?? \"\"}\r\n viewType={'outlined'}\r\n loading={loadingCboEmployees}\r\n onInput={(e) => {\r\n paramFilterCboEmployees.search = e?.target?.value ?? '';\r\n paramFilterCboEmployees.skip = 0;\r\n loadCboEmployees(true);\r\n }}\r\n onLoadMore={(e) => {\r\n paramFilterCboEmployees.skip = e?.skip ?? 0;\r\n paramFilterCboEmployees.limit = e?.limit ?? 10;\r\n loadCboEmployees();\r\n }}\r\n />\r\n filterChange('Date', e)}\r\n placeholder={`${Config.lang('Tu_ngay')} - ${Config.lang('Den_ngay')}`}\r\n returnFormat={'YYYY-MM-DD'}\r\n viewType={'outlined'}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n }}\r\n />\r\n );\r\n };\r\n\r\n const getStatusInfo = (data) => {\r\n const status = data?.ApprovalStatus ?? 0;\r\n const color = Number(status) === 1 ? 'success' : Number(status) === 100 ? 'danger' : '';\r\n let _icon = 'HourGlass';\r\n switch (Number(status)) {\r\n case 0:\r\n _icon = 'HourGlass';\r\n break;\r\n case 1:\r\n _icon = 'Approval';\r\n break;\r\n case 4:\r\n case 100:\r\n _icon = 'Close';\r\n break;\r\n default:\r\n break;\r\n }\r\n return {\r\n AppStatusColor: color,\r\n AppStatusID: status,\r\n AppStatusIcon: _icon,\r\n AppStatusName: data?.ApproverName ?? Config.lang('DHR_Khong_trang_thai'),\r\n };\r\n };\r\n\r\n const renderEmpProfile = (e) => {\r\n const { data } = e.row;\r\n const { CreateDate } = data;\r\n const user = Config.getUser({ UserID: data?.CreateUserID ?? '' });\r\n return (\r\n
\r\n \r\n
\r\n {user?.EmployeeName ?? ''}\r\n
\r\n \r\n \r\n {CreateDate ? Config.convertDate(CreateDate, '', 'LT, DD/MM/YYYY A') : ''}\r\n \r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\n const renderInfo = (e) => {\r\n const { data } = e.row;\r\n const purifyText = { __html: DOMPurify.sanitize(data.VoucherNo) };\r\n const description = data?.VoucherNo ? \r\n } textAlign={'left'} >\r\n
\r\n \r\n : null;\r\n return
{description}
;\r\n };\r\n\r\n const renderStatus = ({ data }) => {\r\n const statusData = getStatusInfo(data);\r\n return ;\r\n };\r\n\r\n const renderAction = (e) => {\r\n const { data } = e.row;\r\n const ApprovalStatus = Number(data?.ApprovalStatus);\r\n return (\r\n
\r\n \r\n showPopup('history', e.row?.data)}\r\n />\r\n \r\n {(ApprovalStatus === 1 || ApprovalStatus === 4 || ApprovalStatus === 100) && (\r\n \r\n {\r\n const message = Config.lang('DHR_Ban_co_chac_muon_bo_trang_thai_nay?');\r\n Config.popup.show('YES_NO', message, () => {\r\n dataApproval.current = {\r\n anchorEl: null,\r\n type: '',\r\n rowData: data ?? null,\r\n };\r\n cancelApprovals();\r\n });\r\n }}\r\n />\r\n \r\n )}\r\n {ApprovalStatus === 0 && (\r\n
\r\n \r\n onOpenApproval('approve', e, data)}\r\n />\r\n \r\n \r\n onOpenApproval('cancel', e, data)}\r\n />\r\n \r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n const showPopup = (mode, rowData) => {\r\n dataPopup.current = {\r\n mode: mode ?? '',\r\n rowData: rowData ?? null,\r\n };\r\n switch (mode) {\r\n case 'history':\r\n setOpenW84F3005Popup(true);\r\n break;\r\n case 'view':\r\n setOpenW09F2271Popup(true);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const onOpenApproval = (type, e, data) => {\r\n dataApproval.current = {\r\n anchorEl: e?.currentTarget ?? null,\r\n type: type ?? '',\r\n rowData: data ?? null,\r\n };\r\n setOpenApprovals(true);\r\n };\r\n\r\n const onCloseApproval = () => {\r\n dataApproval.current = {\r\n anchorEl: null,\r\n type: '',\r\n rowData: null,\r\n };\r\n setOpenApprovals(false);\r\n setErrorNote('');\r\n };\r\n\r\n useEffect(() => {\r\n if (openApprovals) {\r\n if (refApprovalPopover.current) refApprovalPopover.current.onOpenPopover();\r\n } else {\r\n onCloseApproval();\r\n }\r\n }, [openApprovals]);\r\n\r\n const saveApprovals = (status, approvalNotes) => {\r\n const { rowData } = dataApproval.current;\r\n const validate = MForm.isRequired(approvalNotes, 'errorNote');\r\n\r\n if (!rowData?.VoucherID) {\r\n Config.popup.show('INFO', Config.lang('DHR_Khong_the_duyet'));\r\n return false;\r\n }\r\n\r\n if (status === 100) {\r\n if (validate?.errorNote) {\r\n setErrorNote(validate?.errorNote ?? '');\r\n return false;\r\n }\r\n }\r\n\r\n const params = {\r\n DivisionID: Config.getDivisionID() ?? '',\r\n FormID: 'W09F2272',\r\n EmployeeID: rowData?.EmployeeID ?? '',\r\n VoucherID: rowData?.VoucherID ?? '',\r\n ApprovalLevel: rowData?.ApprovalLevel ?? '',\r\n ApprovalFlowID: rowData?.ApprovalFlowID ?? '',\r\n ApprovalStatus: status ?? 1,\r\n ApprovalNotesU: approvalNotes ?? '',\r\n AttendanceDate: rowData?.AttendanceDate ?? '',\r\n };\r\n\r\n setApproving(true);\r\n\r\n dispatch(\r\n approvalActions.saveApprovals(params, (error, data) => {\r\n setApproving(false);\r\n\r\n if (error) {\r\n let message = Config.lang('DHR_Loi_chua_xac_dinh');\r\n switch (error?.code) {\r\n case 'F1002E007':\r\n message =\r\n params.ApprovalStatus === 1 ? Config.lang('DHR_Duyet_khong_thanh_cong') : Config.lang('DHR_Tu_choi_khong_thanh_cong');\r\n break;\r\n default:\r\n break;\r\n }\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n\r\n if (data?.Status === 1) {\r\n let message =\r\n data.Message ??\r\n (params.ApprovalStatus === 1 ? Config.lang('DHR_Duyet_khong_thanh_cong') : Config.lang('DHR_Tu_choi_khong_thanh_cong'));\r\n\r\n if (refApprovalPopover.current) {\r\n refApprovalPopover.current.onClosePopover(() => {\r\n Config.popup.show('INFO', message);\r\n });\r\n } else {\r\n Config.popup.show('INFO', message);\r\n }\r\n return false;\r\n }\r\n\r\n onReset(true);\r\n\r\n if (refApprovalPopover.current) refApprovalPopover.current.onClosePopover();\r\n\r\n Config.notify.show('success', Config.lang('DHR_Thuc_hien_thanh_cong'), 2000);\r\n })\r\n );\r\n };\r\n\r\n const cancelApprovals = () => {\r\n const { rowData } = dataApproval.current;\r\n if (!rowData?.VoucherID) {\r\n Config.popup.show('INFO', Config.lang('DHR_Khong_the_duyet'));\r\n return false;\r\n }\r\n\r\n const params = {\r\n DivisionID: Config.getDivisionID(),\r\n FormID: 'W09F2272',\r\n VoucherID: rowData?.VoucherID ?? '',\r\n EmployeeID: rowData?.EmployeeID ?? '',\r\n ApprovalLevel: rowData?.ApprovalLevel ?? '',\r\n ApprovalFlowID: rowData?.ApprovalFlowID ?? '',\r\n ApprovalStatus: rowData?.ApprovalStatus ?? '',\r\n AttendanceDate: rowData?.AttendanceDate ?? '',\r\n };\r\n\r\n setApproving(true);\r\n\r\n dispatch(\r\n approvalActions.cancelApprovals(params, (error, data) => {\r\n setApproving(false);\r\n\r\n if (error) {\r\n let message = Config.lang('DHR_Loi_chua_xac_dinh');\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n\r\n if (data?.Status === 1) {\r\n let message = data.Message || Config.lang('DHR_Cap_tiep_theo_da_duyet._Ban_khong_the_bo_duyet');\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n\r\n onReset(true);\r\n\r\n Config.notify.show('success', Config.lang('DHR_Thuc_hien_thanh_cong'), 2000);\r\n })\r\n );\r\n };\r\n\r\n const onReset = (resetData) => {\r\n dataApproval.current = {\r\n anchorEl: null,\r\n type: '',\r\n rowData: null,\r\n };\r\n\r\n setOpenApprovals(false);\r\n setErrorNote('');\r\n\r\n if (resetData) loadGrid();\r\n };\r\n\r\n const onSearch = () => {\r\n loadGrid();\r\n\r\n if (toolFilter.current) toolFilter.current.close();\r\n };\r\n\r\n const onDbCellClick = (e) => {\r\n const { data = {} } = e;\r\n\r\n showPopup('view', data);\r\n };\r\n\r\n const onChangePage = (page) => {\r\n itemPageDataGrid.current.skip = page * (itemPageDataGrid.current?.limit ?? 10);\r\n loadGrid();\r\n };\r\n\r\n const onChangePerPage = (perPage) => {\r\n itemPageDataGrid.current.skip = 0;\r\n itemPageDataGrid.current.limit = perPage;\r\n loadGrid();\r\n };\r\n\r\n const onCloseModal = (key, reload = false) => {\r\n dataPopup.current = {\r\n mode: '',\r\n rowData: null,\r\n };\r\n switch (key) {\r\n case 'W09F2271':\r\n setOpenW09F2271Popup(false);\r\n if (reload) loadGrid();\r\n break;\r\n case 'W84F3005':\r\n setOpenW84F3005Popup(false);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {renderFilter()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {openW09F2271Popup && (\r\n onCloseModal('W09F2271', isReload)} />\r\n )}\r\n\r\n {openW84F3005Popup && (\r\n onCloseModal('W84F3005')}\r\n FormID={'W09F2272'}\r\n TransID={dataPopup.current?.rowData?.VoucherID ?? ''}\r\n />\r\n )}\r\n\r\n saveApprovals(1, note)}\r\n onCancel={(note) => saveApprovals(100, note)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default W09F2272;\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author NAMDANG\r\n * @create 3/4/2021\r\n * @Example\r\n */\r\nimport React, {useState, useEffect ,useRef} from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport * as W09F2205Actions from \"../../../../redux/W0X/W09F2205/W09F2205_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport Config from \"../../../../config\";\r\n\r\nimport {IconButton, TextField} from \"@material-ui/core\";\r\n\r\nimport Modal from \"../../../common/modal/modal\";\r\nimport {Col, FormGroup, Row} from \"react-bootstrap\";\r\nimport {Combo} from \"../../../common/form-material\";\r\nimport Attachments from \"../../../common/attachments/attachments\";\r\nimport AttachFileIcon from \"@material-ui/core/SvgIcon/SvgIcon\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport _ from \"lodash\";\r\nimport DateBoxPicker from \"../../../common/form-material/date-box\";\r\nimport moment from \"moment\";\r\n\r\nconst W09F2205 = (props) => {\r\n\r\n const _initDataForm = {\r\n TransID: \"\",\r\n PropertyID: \"\",\r\n PropertyName: \"\",\r\n EmployeeID: \"\",\r\n OldPropertyValue: \"\",\r\n Notes: \"\",\r\n PropertyValue: \"\",\r\n AddressName: \"\",\r\n LabelProvince: \"\",\r\n LabelProvinceName: \"\",\r\n ProvinceID: \"\",\r\n ProvinceName: \"\",\r\n LabelDistrict: \"\",\r\n LabelDistrictName: \"\",\r\n DistrictID: \"\",\r\n DistrictName: \"\",\r\n LabelWard: \"\",\r\n LabelWardName: \"\",\r\n WardID: \"\",\r\n WardName: \"\",\r\n };\r\n const { rowData, mode, open, onClose} = props || {};\r\n const [dataForm, setDataForm] = useState(_initDataForm);\r\n const [dataCboProvinceLabel, setDataCboProvinceLabel] = useState([]);\r\n const [dataCboProvince, setDataCboProvince] = useState([]);\r\n const [dataCboDistrict, setDataCboDistrict] = useState([]);\r\n const [dataCboLabelDistrict, setDataCboLabelDistrict] = useState([]);\r\n const [dataCboWardLabel, setDataCboWardLabel] = useState([]);\r\n const [dataCboWard, setDataCboWard] = useState([]);\r\n const [dataOldAttachments, setDataOldAttachments] = useState([]);\r\n const [dataCboRelative, setDataCboRelative] = useState([]);\r\n const [uploading, setUploading] = useState(false);\r\n const [loading, _setLoading] = useState({formLoading: false});\r\n const [isDisabled, setIsDisabled] = useState(false);\r\n const [isTypeTextBox, setIsTypeTextBox] = useState(false);\r\n const [isTypeString, setIsTypeString] = useState(false);\r\n const [isTypeDatePicker, setIsTypeDatePicker] = useState(false);\r\n const [isTypeCombo, setIsTypeCombo] = useState(false);\r\n const attRef = useRef(null);\r\n const attachments = useRef([]);\r\n const deletedFile = useRef([]);\r\n const isSetStated = useRef(false);\r\n const isChanged = useRef(false);\r\n\r\n const loadForm = () => {\r\n const params = {\r\n TransID: _.get(rowData, \"TransID\", \"\")\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2205Actions.getForm(params, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n setDataForm({\r\n TransID: _.get(data, \"TransID\", \"\"),\r\n PropertyID: _.get(data, \"PropertyID\", \"\"),\r\n PropertyName: _.get(data, \"PropertyName\", \"\"),\r\n EmployeeID: _.get(data, \"EmployeeID\", \"\"),\r\n OldPropertyValue: _.get(data, \"OldPropertyValue\", \"\"),\r\n Notes: _.get(data, \"Notes\", \"\"),\r\n PropertyValue: _.get(data, \"PropertyValueU\", \"\"),\r\n AddressName: _.get(data, \"AddressName\", \"\"),\r\n LabelProvince: _.get(data, \"LabelProvince\", \"\"),\r\n ProvinceID: _.get(data, \"ProvinceID\", \"\"),\r\n LabelDistrict: _.get(data, \"LabelDistrict\", \"\"),\r\n DistrictID: _.get(data, \"DistrictID\", \"\"),\r\n LabelWard: _.get(data, \"LabelWard\", \"\"),\r\n WardID: _.get(data, \"WardID\", \"\"),\r\n LabelProvinceName: \"\",\r\n ProvinceName: \"\",\r\n LabelDistrictName: \"\",\r\n DistrictName: \"\",\r\n LabelWardName: \"\",\r\n WardName: \"\",\r\n })\r\n }\r\n });\r\n };\r\n\r\n const loadCboAddress = (sourceName = \"\", parentID = \"\") => {\r\n const params = {\r\n Language: Config.language || 84,\r\n CodeTable: 1,\r\n SourceName: sourceName,\r\n ParentID: parentID,\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2205Actions.getCboAddress(params, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n _setDataCbo(sourceName,data);\r\n if((sourceName === \"QUAN/HUYEN\" || sourceName === \"XA/PHUONG\") && mode === \"edit\" && isChanged.current) {\r\n if(data && data.length > 0) {\r\n const { AddressName, LabelProvinceName,DistrictName, ProvinceName, LabelDistrictName, LabelWardName, WardName} = dataForm;\r\n const Code = _.get(data[0], \"Code\", \"\");\r\n let dataFilter = \"\";\r\n let name = \"\";\r\n if(sourceName === \"XA/PHUONG\") {\r\n isChanged.current = false;\r\n dataFilter = data.find(item => item.Code === Code);\r\n name = AddressName + \" \" + LabelWardName + \" \" + (dataFilter?.Name || \"\") + \" \" +\r\n LabelDistrictName + \" \" + DistrictName + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({WardID: Code, WardName: dataFilter?.Name || \"\", PropertyValue: name});\r\n } else {\r\n dataFilter = data.find(item => item.Code === Code);\r\n name = AddressName + \" \" + LabelWardName + \" \" + WardName + \" \" + LabelDistrictName + \" \" +\r\n (dataFilter?.Name || \"\") + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({DistrictID: Code, DistrictName: dataFilter?.Name || \"\", PropertyValue: name});\r\n }\r\n\r\n }\r\n }\r\n }\r\n });\r\n };\r\n\r\n const _setDataCbo = (sourceName,data) => {\r\n switch (sourceName) {\r\n case \"ProvinceLabel\":\r\n setDataCboProvinceLabel(data);\r\n break;\r\n case \"TINH/THANH\":\r\n setDataCboProvince(data);\r\n break;\r\n case \"DistrictLabel\":\r\n setDataCboLabelDistrict(data);\r\n break;\r\n case \"WardLabel\":\r\n setDataCboWardLabel(data);\r\n break;\r\n case \"QUAN/HUYEN\":\r\n setDataCboDistrict(data);\r\n break;\r\n case \"XA/PHUONG\":\r\n setDataCboWard(data);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const loadListRelative = (fieldName = \"\") => {\r\n const params = {\r\n Language: Config.language || 84,\r\n FieldName: fieldName\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2205Actions.getListRelative(params, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if(data) {\r\n setDataCboRelative(data);\r\n }\r\n });\r\n };\r\n\r\n const getFieldName = (fieldName) => {\r\n switch (fieldName) {\r\n case \"ETHNIC\":\r\n return \"EthnicID\";\r\n case \"RELIGION\":\r\n return \"ReligionID\";\r\n case \"COUNTRY\":\r\n return \"CountryID\";\r\n case \"NUMIDPLACE\":\r\n return \"IDCardPlace\";\r\n case \"IDCARDPLACE\":\r\n return \"IDCardPlace\";\r\n case \"PASSPORTPLACE\":\r\n return \"CountryID\";\r\n case \"EDUCATION\":\r\n return \"EducationLevelID\";\r\n case \"PROFESSIONAL\":\r\n return \"ProfessionalLevelID\";\r\n case \"MAJOR\":\r\n return \"MajorID\";\r\n case \"POLITICS\":\r\n return \"PoliticsID\";\r\n case \"EMCONREL1\":\r\n return \"EmRelationID\";\r\n case \"EMCONREL2\":\r\n return \"EmRelationID\";\r\n case \"NATIVEPLACE\":\r\n return \"IDCardPlace\";\r\n case \"MARITALSTATUS\":\r\n return \"MaritalStatus\";\r\n default:\r\n return \"\";\r\n }\r\n };\r\n\r\n const checkTypePropertyValue = (key) => {\r\n if(!key) return false;\r\n switch (key) {\r\n case \"NUMIDCARD\":\r\n case \"IDCARD\":\r\n case \"PASSPORT\":\r\n case \"TEL\":\r\n case \"MOBILE\":\r\n case \"CompanyTEL\":\r\n case \"EMAIL\":\r\n case \"EMCONNAME1\":\r\n case \"EMCONPHONE1\":\r\n case \"EMCONNAME2\":\r\n case \"EMCONPHONE2\":\r\n setIsTypeTextBox(true);\r\n break;\r\n case \"CONADDR\":\r\n case \"PERADDR\":\r\n case \"PROADDR\":\r\n case \"EMCONADD1\":\r\n case \"EMCONADD2\":\r\n loadCboAddress(\"ProvinceLabel\", \"\");\r\n loadCboAddress(\"TINH/THANH\", \"\");\r\n loadCboAddress(\"DistrictLabel\", \"\");\r\n loadCboAddress(\"WardLabel\", \"\");\r\n setIsTypeString(true);\r\n break;\r\n case \"NUMIDDATE\":\r\n case \"IDCARDDATE\":\r\n case \"PASSPORTBEGIN\":\r\n case \"PASSPORTEND\":\r\n setIsTypeDatePicker(true);\r\n break;\r\n case \"ETHNIC\":\r\n case \"RELIGION\":\r\n case \"COUNTRY\":\r\n case \"NUMIDPLACE\":\r\n case \"IDCARDPLACE\":\r\n case \"PASSPORTPLACE\":\r\n case \"EDUCATION\":\r\n case \"PROFESSIONAL\":\r\n case \"MAJOR\":\r\n case \"POLITICS\":\r\n case \"EMCONREL1\":\r\n case \"EMCONREL2\":\r\n case \"NATIVEPLACE\":\r\n case \"MARITALSTATUS\":\r\n loadListRelative(_.get(rowData, \"fieldName\", getFieldName(key) || \"\"));\r\n setIsTypeCombo(true);\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if(mode === \"edit\") {\r\n checkTypePropertyValue(_.get(rowData, \"propertyID\", _.get(rowData, \"PropertyID\", \"\")));\r\n loadForm();\r\n loadAttachments();\r\n if(Number(rowData.AppStatusID) !== 0) {\r\n setIsDisabled(true);\r\n }\r\n }\r\n\r\n if(mode === \"view\") {\r\n checkTypePropertyValue(_.get(rowData, \"propertyID\", _.get(rowData, \"PropertyID\", \"\")));\r\n loadForm();\r\n loadAttachments();\r\n setIsDisabled(true);\r\n }\r\n if(mode === \"view\") {\r\n checkTypePropertyValue(_.get(rowData, \"propertyID\", _.get(rowData, \"PropertyID\", \"\")));\r\n loadForm();\r\n loadAttachments();\r\n setIsDisabled(true);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [mode]);\r\n\r\n useEffect(() => {\r\n if(!!_.get(dataForm, \"ProvinceID\", \"\")) {\r\n loadCboAddress(\"QUAN/HUYEN\",_.get(dataForm, \"ProvinceID\", \"\"));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataForm?.ProvinceID]);\r\n\r\n useEffect(() => {\r\n if(!!_.get(dataForm, \"DistrictID\", \"\")) {\r\n loadCboAddress(\"XA/PHUONG\",_.get(dataForm, \"DistrictID\", \"\"));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataForm?.DistrictID]);\r\n\r\n useEffect(() => {\r\n if(mode === \"edit\" && !isSetStated.current && !_.isEmpty(dataForm) && !_.isEmpty(dataCboProvinceLabel) &&\r\n !_.isEmpty(dataCboProvince) && !_.isEmpty(dataCboLabelDistrict) &&\r\n !_.isEmpty(dataCboDistrict) && !_.isEmpty(dataCboWardLabel) &&\r\n !_.isEmpty(dataCboWardLabel) && !_.isEmpty(dataCboWard)) {\r\n isSetStated.current = true;\r\n const LabelProvince = dataCboProvinceLabel.find(item =>\r\n item.ID === _.get(dataForm, \"LabelProvince\", \"\"));\r\n const ProvinceID = dataCboProvince.find(item =>\r\n item.Code === _.get(dataForm, \"ProvinceID\", \"\"));\r\n const LabelDistrict = dataCboLabelDistrict.find(item =>\r\n item.ID === _.get(dataForm, \"LabelDistrict\", \"\"));\r\n const DistrictID = dataCboDistrict.find(item =>\r\n item.Code === _.get(dataForm, \"DistrictID\", \"\"));\r\n const LabelWard = dataCboWardLabel.find(item =>\r\n item.ID === _.get(dataForm, \"LabelWard\", \"\"));\r\n const WardID = dataCboWard.find(item =>\r\n item.Code === _.get(dataForm, \"WardID\", \"\"));\r\n setData({\r\n LabelProvinceName: LabelProvince?.Name || \"\",\r\n ProvinceName: ProvinceID?.Name || \"\",\r\n LabelDistrictName: LabelDistrict?.Name || \"\",\r\n DistrictName: DistrictID?.Name || \"\",\r\n LabelWardName: LabelWard?.Name || \"\",\r\n WardName: WardID?.Name || \"\",\r\n })\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataForm, dataCboProvinceLabel, dataCboProvince, dataCboLabelDistrict,\r\n dataCboDistrict, dataCboWardLabel, dataCboWard]);\r\n\r\n\r\n const setLoading = (obj) => {\r\n _setLoading({...loading,...obj});\r\n };\r\n\r\n const setData = (obj) => {\r\n setDataForm({...dataForm,...obj});\r\n };\r\n\r\n const loadAttachments = () => {\r\n const param = {\r\n KeyID: _.get(rowData, \"TransID\", \"\"),\r\n TableName: \"D75T1010\"\r\n };\r\n setLoading({formLoading: true});\r\n props.generalActions.getAttachmentsByTransID(param, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data && data.length > 0) {\r\n setDataOldAttachments(data);\r\n }\r\n });\r\n };\r\n\r\n\r\n const onCloseModal = (isLoaded = false) => {\r\n if(onClose) onClose(isLoaded);\r\n };\r\n\r\n const onAttachment = () => {\r\n if (attRef) {\r\n attRef.onAttachment();\r\n }\r\n };\r\n\r\n const onUploading = (value) => {\r\n setUploading(value);\r\n };\r\n\r\n const onChangeAttachments = (e) => {\r\n attachments.current = e.uploadedFiles ? e.uploadedFiles : [];\r\n if (e.deletedFiles && e.deletedFiles.length > 0) {\r\n deletedFile.current = [ ...e.deletedFiles];\r\n const _arrRemove = deletedFile.current.map((d) => d.AttachmentID);\r\n setDataOldAttachments(dataOldAttachments.filter((att) => {\r\n return _arrRemove.indexOf(att.AttachmentID) < 0;\r\n }));\r\n }\r\n };\r\n\r\n const _getAttachments = () => {\r\n const listAttachments = Config.helpers.getFileInfomations(attachments.current);\r\n let arrAttachment = [];\r\n listAttachments.forEach((att) => {\r\n arrAttachment.push({\r\n URL: att.url ? att.url : \"\",\r\n FileName: att.fileName ? att.fileName : \"\",\r\n FileSize: att.fileSize ? att.fileSize : \"\",\r\n FileExt: att.fileExt ? att.fileExt : \"\"\r\n });\r\n });\r\n if (dataOldAttachments && dataOldAttachments.length > 0) {\r\n arrAttachment = dataOldAttachments.concat(arrAttachment);\r\n }\r\n\r\n return arrAttachment;\r\n };\r\n\r\n const handleChange = (key,e) => {\r\n if(!key) return false;\r\n if(!isChanged.current) {\r\n isChanged.current = true;\r\n }\r\n let value = _.get(e, \"value\", _.get(e, \"target.value\", \"\"));\r\n switch (key) {\r\n case \"PropertyValue\":\r\n _setName(key,value);\r\n break;\r\n case \"AddressName\":\r\n _setName(key,value);\r\n break;\r\n case \"LabelProvince\":\r\n _setName(key,value);\r\n break;\r\n case \"ProvinceID\":\r\n _setName(key,value);\r\n break;\r\n case \"LabelDistrict\":\r\n _setName(key,value);\r\n break;\r\n case \"DistrictID\":\r\n _setName(key,value);\r\n break;\r\n case \"LabelWard\":\r\n _setName(key,value);\r\n break;\r\n case \"WardID\":\r\n _setName(key,value);\r\n break;\r\n case \"Notes\":\r\n _setName(key,value);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const _setName = (key,value) => {\r\n const { AddressName, LabelProvinceName,DistrictName, ProvinceName, LabelDistrictName, LabelWardName, WardName} = dataForm;\r\n let dataFilter = \"\";\r\n let name = \"\";\r\n switch (key) {\r\n case \"PropertyValue\":\r\n setData({PropertyValue: value});\r\n break;\r\n case \"AddressName\":\r\n name = value + \" \" + LabelWardName + \" \" + WardName + \" \" + LabelDistrictName + \" \" +\r\n DistrictName + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({AddressName: value, PropertyValue: name});\r\n break;\r\n case \"LabelProvince\":\r\n dataFilter = dataCboProvinceLabel.find(item => item.ID === value);\r\n name = AddressName + \" \" + LabelWardName + \" \" + WardName + \" \" + LabelDistrictName +\r\n \" \" + DistrictName + \" \" + (dataFilter?.Name || \"\") + \" \" + ProvinceName;\r\n setData({LabelProvince: value, LabelProvinceName: dataFilter?.Name || \"\", PropertyValue: name});\r\n break;\r\n case \"ProvinceID\":\r\n dataFilter = dataCboProvince.find(item => item.Code === value);\r\n name = AddressName + \" \" + LabelWardName + \" \" + WardName + \" \" + LabelDistrictName + \" \" +\r\n DistrictName + \" \" + LabelProvinceName + \" \" + (dataFilter?.Name || \"\");\r\n setData({ProvinceID: value,ProvinceName: dataFilter?.Name || \"\", PropertyValue: name});\r\n break;\r\n case \"LabelDistrict\":\r\n dataFilter = dataCboLabelDistrict.find(item => item.ID === value);\r\n name = AddressName + \" \" + LabelWardName + \" \" + WardName + \" \" + (dataFilter?.Name || \"\") + \" \" +\r\n DistrictName + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({LabelDistrict: value, LabelDistrictName: dataFilter?.Name || \"\", PropertyValue: name});\r\n break;\r\n case \"DistrictID\":\r\n dataFilter = dataCboDistrict.find(item => item.Code === value);\r\n name = AddressName + \" \" + LabelWardName + \" \" + WardName + \" \" + LabelDistrictName + \" \" +\r\n (dataFilter?.Name || \"\") + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({DistrictID: value, DistrictName: dataFilter?.Name || \"\", PropertyValue: name});\r\n break;\r\n case \"LabelWard\":\r\n dataFilter = dataCboWardLabel.find(item => item.ID === value);\r\n name = AddressName + \" \" + (dataFilter?.Name || \"\") + \" \" + WardName + \" \" + LabelDistrictName + \" \" +\r\n DistrictName + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({LabelWard: value, LabelWardName: dataFilter?.Name || \"\", PropertyValue: name});\r\n break;\r\n case \"WardID\":\r\n dataFilter = dataCboWard.find(item => item.Code === value);\r\n name = AddressName + \" \" + LabelWardName + \" \" + (dataFilter?.Name || \"\") + \" \" +\r\n LabelDistrictName + \" \" + DistrictName + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({WardID: value, WardName: dataFilter?.Name || \"\", PropertyValue: name});\r\n break;\r\n case \"Notes\":\r\n setData({Notes: value});\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n const onSave = () => {\r\n const arrAttachments = _getAttachments();\r\n const params = {\r\n TransID: _.get(dataForm, \"TransID\", \"\"),\r\n PropertyID: _.get(dataForm, \"PropertyID\", \"\"),\r\n PropertyName: _.get(dataForm, \"PropertyName\", \"\"),\r\n EmployeeID: _.get(dataForm, \"EmployeeID\", \"\"),\r\n OldPropertyValue: dataForm?.OldPropertyValue ?\r\n (isTypeDatePicker ? moment(dataForm?.OldPropertyValue, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\") : dataForm.OldPropertyValue) : null,\r\n AddressName: _.get(dataForm, \"AddressName\", \"\"),\r\n LabelProvince: _.get(dataForm, \"LabelProvince\", \"\"),\r\n ProvinceID: _.get(dataForm, \"ProvinceID\", \"\"),\r\n LabelDistrict: _.get(dataForm, \"LabelDistrict\", \"\"),\r\n DistrictID: _.get(dataForm, \"DistrictID\", \"\"),\r\n LabelWard: _.get(dataForm, \"LabelWard\", \"\"),\r\n WardID: _.get(dataForm, \"WardID\", \"\"),\r\n PropertyValue: _.get(dataForm, \"PropertyValue\", \"\"),\r\n arrAttachment: JSON.stringify(arrAttachments)\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2205Actions.update(params, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n if(data.Status === 1) {\r\n let message = data.Message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if(data.Status === 0) {\r\n Config.notify.show('success', Config.lang(\"Luu_thanh_cong\"), 2000);\r\n onCloseModal(true);\r\n }\r\n\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n onCloseModal(false)}\r\n title={Config.lang(\"Chi_tiet_dieu_chinh\") + \" \" + _.get(dataForm, \"PropertyName\", \"\")}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isTypeTextBox &&\r\n \r\n handleChange(\"PropertyValue\", e)}\r\n fullWidth\r\n />\r\n \r\n }\r\n { isTypeString &&\r\n \r\n handleChange(\"PropertyValue\", e)}\r\n fullWidth\r\n />\r\n \r\n }\r\n { isTypeDatePicker &&\r\n \r\n handleChange(\"PropertyValue\", e)}\r\n />\r\n \r\n }\r\n {isTypeCombo &&\r\n \r\n handleChange(\"PropertyValue\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n \r\n \r\n { isTypeString &&\r\n \r\n handleChange(\"AddressName\", e)}\r\n fullWidth\r\n />\r\n \r\n }\r\n { isTypeString &&\r\n \r\n handleChange(\"LabelProvince\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n { isTypeString &&\r\n \r\n handleChange(\"ProvinceID\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n\r\n \r\n \r\n { isTypeString &&\r\n \r\n handleChange(\"LabelDistrict\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n {isTypeString &&\r\n \r\n handleChange(\"DistrictID\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n { isTypeString &&\r\n \r\n handleChange(\"LabelWard\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n { isTypeString &&\r\n \r\n handleChange(\"WardID\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n\r\n \r\n \r\n \r\n handleChange(\"Notes\", e)}\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nW09F2205.propTypes = {\r\n FormID: PropTypes.string,\r\n open: PropTypes.bool,\r\n mode: PropTypes.string,\r\n rowData: PropTypes.object,\r\n onClose: PropTypes.func,\r\n};\r\n\r\nexport default compose(\r\n connect(null,\r\n (dispatch) => ({\r\n w09f2205Actions: bindActionCreators(W09F2205Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n })\r\n ),\r\n)(W09F2205);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author NAMDANG\r\n * @create 3/4/2021\r\n * @Example\r\n */\r\nimport React, {useState, useEffect ,useRef} from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport * as W09F22215Actions from \"../../../../redux/W0X/W09F2215/W09F2215_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport Config from \"../../../../config\";\r\nimport {IconButton, TextField} from \"@material-ui/core\";\r\nimport Modal from \"../../../common/modal/modal\";\r\nimport {Col, FormGroup, Row} from \"react-bootstrap\";\r\nimport DateBoxPicker from \"../../../common/form-material/date-box\";\r\nimport {Combo} from \"../../../common/form-material\";\r\nimport Attachments from \"../../../common/attachments/attachments\";\r\nimport AttachFileIcon from \"@material-ui/core/SvgIcon/SvgIcon\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport _ from \"lodash\";\r\nimport moment from \"moment\";\r\n\r\nconst W09F2215 = (props) => {\r\n\r\n const _initDataForm = {\r\n TransID: \"\",\r\n OldPropertyValue: \"\",\r\n PropertyValue: \"\",\r\n RelativeName: \"\",\r\n RelationID: \"\",\r\n RelationName: \"\",\r\n Sex: \"\",\r\n SexName: \"\",\r\n BirthDate: null,\r\n RelativePhone: \"\",\r\n Notes: \"\",\r\n PropertyID: \"\",\r\n EmployeeID: \"\",\r\n };\r\n\r\n\r\n const { rowData, mode, open, onClose, dataGenders, dataListRelative} = props || {};\r\n const [dataForm, setDataForm] = useState(_initDataForm);\r\n const [dataOldAttachments, setDataOldAttachments] = useState([]);\r\n const [uploading, setUploading] = useState(false);\r\n const [loading, _setLoading] = useState({formLoading: false,});\r\n const [isDisabled, setIsDisabled] = useState(false);\r\n const attRef = useRef(null);\r\n const attachments = useRef([]);\r\n const deletedFile = useRef([]);\r\n\r\n const loadListRelative = (fieldName) => {\r\n const params = {\r\n Language: Config.language || 84,\r\n FieldName: fieldName\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2215Actions.getListRelative(params, (error) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n const loadGender = () => {\r\n setLoading({formLoading: true});\r\n props.w09f2215Actions.getGender((error) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n const loadForm = () => {\r\n const params = {\r\n TransID: _.get(rowData, \"TransID\", \"\")\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2215Actions.getForm(params, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n const sexID = data?.Sex ? Number(data?.Sex) : 0;\r\n const dataSexID = dataGenders.find(item => item.ID === sexID);\r\n const relationID = _.get(data, \"RelationID\", \"\");\r\n const dataRelationID = dataListRelative.find(item => item.ID === relationID);\r\n setDataForm({\r\n TransID: _.get(data, \"TransID\", \"\"),\r\n PropertyID: _.get(data, \"PropertyID\", \"\"),\r\n PropertyValue: _.get(data, \"PropertyValueU\", \"\"),\r\n EmployeeID: _.get(data, \"EmployeeID\", \"\"),\r\n RelativeName: _.get(data, \"RelativeName\", \"\"),\r\n RelationID: relationID,\r\n Sex: sexID,\r\n RelativePhone: _.get(data, \"RelativePhone\", \"\"),\r\n Notes: _.get(data, \"Notes\", \"\"),\r\n OldPropertyValue: _.get(data, \"OldPropertyValue\", \"\"),\r\n RelationName: _.get(dataRelationID, \"Name\", \"\"),\r\n SexName: _.get(dataSexID, \"Sex\", \"\"),\r\n BirthDate: _.get(data, \"BirthDate\", null),\r\n BirthDate1: _.get(data, \"BirthDate1\", null),\r\n });\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if(mode === \"edit\") {\r\n loadForm();\r\n loadGender();\r\n loadListRelative(\"RelativeID\");\r\n loadAttachments();\r\n if(Number(rowData.AppStatusID) !== 0) {\r\n setIsDisabled(true);\r\n }\r\n }\r\n if(mode === \"view\") {\r\n loadForm();\r\n loadGender();\r\n loadListRelative(\"RelativeID\");\r\n loadAttachments();\r\n setIsDisabled(true)\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [mode]);\r\n\r\n const setLoading = (obj) => {\r\n _setLoading({...loading,...obj});\r\n };\r\n\r\n const setData = (obj) => {\r\n setDataForm({...dataForm,...obj});\r\n };\r\n\r\n const loadAttachments = () => {\r\n const param = {\r\n KeyID: _.get(rowData, \"TransID\", \"\"),\r\n TableName: \"D75T1010\"\r\n };\r\n setLoading({formLoading: true});\r\n props.generalActions.getAttachmentsByTransID(param, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data && data.length > 0) {\r\n setDataOldAttachments(data);\r\n }\r\n });\r\n };\r\n\r\n\r\n const onCloseModal = (isLoaded = false) => {\r\n if(onClose) onClose(isLoaded);\r\n };\r\n\r\n const onAttachment = () => {\r\n if (attRef) {\r\n attRef.onAttachment();\r\n }\r\n };\r\n\r\n const onUploading = (value) => {\r\n setUploading(value);\r\n };\r\n\r\n const onChangeAttachments = (e) => {\r\n attachments.current = e.uploadedFiles ? e.uploadedFiles : [];\r\n if (e.deletedFiles && e.deletedFiles.length > 0) {\r\n deletedFile.current = [ ...e.deletedFiles];\r\n const _arrRemove = deletedFile.current.map((d) => d.AttachmentID);\r\n setDataOldAttachments(dataOldAttachments.filter((att) => {\r\n return _arrRemove.indexOf(att.AttachmentID) < 0;\r\n }));\r\n }\r\n };\r\n\r\n const _getAttachments = () => {\r\n const listAttachments = Config.helpers.getFileInfomations(attachments.current);\r\n let arrAttachment = [];\r\n listAttachments.forEach((att) => {\r\n arrAttachment.push({\r\n URL: att.url ? att.url : \"\",\r\n FileName: att.fileName ? att.fileName : \"\",\r\n FileSize: att.fileSize ? att.fileSize : \"\",\r\n FileExt: att.fileExt ? att.fileExt : \"\"\r\n });\r\n });\r\n if (dataOldAttachments && dataOldAttachments.length > 0) {\r\n arrAttachment = dataOldAttachments.concat(arrAttachment);\r\n }\r\n return arrAttachment;\r\n };\r\n\r\n const formatString = (value) => {\r\n return value ? ` - ${value}` : \"\";\r\n };\r\n\r\n const handleChange = (key,e) => {\r\n if(!key) return false;\r\n const { dataListRelative, dataGenders } = props;\r\n const {RelativeName, RelationName, SexName, BirthDate, RelativePhone} = dataForm;\r\n let value = _.get(e, \"value\", _.get(e, \"target.value\", \"\"));\r\n let dataFilter = \"\";\r\n let name = \"\";\r\n switch (key) {\r\n case \"RelativeName\":\r\n name = value + formatString(RelationName) + formatString(SexName) + formatString(BirthDate) + formatString(RelativePhone);\r\n setData({RelativeName: value, PropertyValue: name});\r\n break;\r\n case \"RelationID\":\r\n dataFilter = dataListRelative.find(item => item.ID === value);\r\n name = RelativeName + formatString(dataFilter?.Name || \"\") + formatString(SexName) + formatString(BirthDate) + formatString(RelativePhone);\r\n setData({RelationID: value, RelationName: (dataFilter?.Name || \"\"), PropertyValue: name});\r\n break;\r\n case \"Sex\":\r\n dataFilter = dataGenders.find(item => item.ID === value);\r\n name = RelativeName + formatString(RelationName) + formatString(dataFilter?.Sex || \"\") + formatString(BirthDate) + formatString(RelativePhone);\r\n setData({Sex: value, SexName: (dataFilter?.Sex || \"\"), PropertyValue: name });\r\n break;\r\n case \"BirthDate\":\r\n name = RelativeName + formatString(RelationName) + formatString(SexName) + formatString(value) + formatString(RelativePhone);\r\n setData({BirthDate: value, PropertyValue: name});\r\n break;\r\n case \"RelativePhone\":\r\n name = RelativeName + formatString(RelationName) + formatString(SexName) + formatString(BirthDate) + formatString(value);\r\n setData({RelativePhone: value, PropertyValue: name});\r\n break;\r\n case \"Notes\":\r\n setData({Notes: value});\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const onSave = () => {\r\n const arrAttachments = _getAttachments();\r\n const params = {\r\n TransID: _.get(dataForm, \"TransID\", \"\"),\r\n PropertyID: _.get(dataForm, \"PropertyID\", \"\"),\r\n PropertyValue: _.get(dataForm, \"PropertyValue\", \"\"),\r\n EmployeeID: _.get(dataForm, \"EmployeeID\", \"\"),\r\n RelativeName: _.get(dataForm, \"RelativeName\", \"\"),\r\n RelationID: _.get(dataForm, \"RelationID\", \"\"),\r\n Sex: _.get(dataForm, \"Sex\", 0),\r\n BirthDate: _.get(dataForm, \"BirthDate\", null),\r\n BirthDate1: dataForm?.BirthDate &&\r\n moment.utc(dataForm?.BirthDate).isValid() ?\r\n moment.utc(dataForm?.BirthDate) : null,\r\n RelativePhone: _.get(dataForm, \"RelativePhone\", \"\"),\r\n Notes: _.get(dataForm, \"Notes\", \"\"),\r\n arrAttachment: JSON.stringify(arrAttachments)\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2215Actions.update(params, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n if(data.Status === 1) {\r\n let message = data.Message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n } else {\r\n Config.notify.show('success', Config.lang(\"Luu_thanh_cong\"), 2000);\r\n onCloseModal(true);\r\n }\r\n\r\n }\r\n });\r\n };\r\n\r\n return (\r\n \r\n onCloseModal(false)}\r\n title={Config.lang(\"Chi_tiet_dieu_chinh_thong_tin_gia_dinh\")}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleChange(\"RelativeName\", e)}\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n \r\n handleChange(\"RelationID\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n \r\n handleChange(\"Sex\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n \r\n \r\n \r\n handleChange(\"BirthDate\", e)}\r\n />\r\n \r\n \r\n handleChange(\"RelativePhone\", e)}\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n \r\n handleChange(\"Notes\", e)}\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nW09F2215.propTypes = {\r\n FormID: PropTypes.string,\r\n open: PropTypes.bool,\r\n mode: PropTypes.string,\r\n rowData: PropTypes.object,\r\n onClose: PropTypes.func,\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n (state) => ({\r\n dataGenders: state.W09F2215.getGenders,\r\n dataListRelative: state.W09F2215.getListRelative,\r\n }),\r\n (dispatch) => ({\r\n w09f2215Actions: bindActionCreators(W09F22215Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n })\r\n ),\r\n)(W09F2215);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author NAMDANG\r\n * @create 3/4/2021\r\n * @Example\r\n */\r\nimport React, {useState, useEffect ,useRef} from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport * as W09F2200Actions from \"../../../../redux/W0X/W09F2200/W09F2200_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport Config from \"../../../../config\";\r\nimport {FormLabel as Label, IconButton, TextField, makeStyles} from \"@material-ui/core\";\r\nimport Modal from \"../../../common/modal/modal\";\r\nimport {Col, FormGroup, Row} from \"react-bootstrap\";\r\nimport {Combo} from \"../../../common/form-material\";\r\nimport Attachments from \"../../../common/attachments/attachments\";\r\nimport AttachFileIcon from \"@material-ui/core/SvgIcon/SvgIcon\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport W84F3005 from \"../../../W8X/W84/W84F3005/W84F3005\";\r\nimport Icons from \"../../../common/icons/\";\r\nimport GridActionBar from \"../../../grid-container/grid-actionbar\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport { Column } from \"devextreme-react/data-grid\";\r\nimport HistoryIcon from \"@material-ui/icons/History\"\r\nimport _ from \"lodash\";\r\nimport DateBoxPicker from \"../../../common/form-material/date-box\";\r\nimport W09F2205 from \"../W09F2205/W09F2205\";\r\nimport moment from \"moment\";\r\n\r\n\r\nconst useStyles = makeStyles(() => ({\r\n styleLabel: {\r\n fontStyle: 14,\r\n fontWeight: 700,\r\n color: \"#111D5E\"\r\n }\r\n}));\r\nconst W09F2200 = (props) => {\r\n\r\n const _initDataForm = {\r\n PropertyName: \"\",\r\n OldPropertyValue: \"\",\r\n Notes: \"\",\r\n PropertyValue: \"\",\r\n AddressName: \"\",\r\n LabelProvince: \"\",\r\n ProvinceID: \"\",\r\n LabelDistrict: \"\",\r\n DistrictID: \"\",\r\n LabelWard: \"\",\r\n WardID: \"\",\r\n TransID: \"\",\r\n PropertyID: \"\",\r\n EmployeeID: \"\",\r\n LabelProvinceName: \"\",\r\n ProvinceName: \"\",\r\n LabelDistrictName: \"\",\r\n DistrictName: \"\",\r\n LabelWardName: \"\",\r\n WardName: \"\",\r\n };\r\n\r\n const _w84F3005PopupData = {\r\n TransID: null\r\n };\r\n\r\n const initFilter = {\r\n skip: 0,\r\n limit: 10\r\n };\r\n\r\n const initDataGrid = {\r\n rows: [],\r\n total: 0\r\n };\r\n\r\n const _initRowData = {\r\n row: {},\r\n mode: \"\"\r\n };\r\n\r\n const { rowData, mode, open, onClose} = props || {};\r\n const [dataForm, setDataForm] = useState(_initDataForm);\r\n const [_rowData, setRowData] = useState(_initRowData);\r\n const [dataCboRelative, setDataCboRelative] = useState([]);\r\n const [dataOldAttachments, setDataOldAttachments] = useState([]);\r\n const [dataCboProvinceLabel, setDataCboProvinceLabel] = useState([]);\r\n const [dataCboProvince, setDataCboProvince] = useState([]);\r\n const [dataCboDistrict, setDataCboDistrict] = useState([]);\r\n const [dataCboLabelDistrict, setDataCboLabelDistrict] = useState([]);\r\n const [dataCboWardLabel, setDataCboWardLabel] = useState([]);\r\n const [dataGrid, setDataGrid] = useState(initDataGrid);\r\n const [dataCboWard, setDataCboWard] = useState([]);\r\n const [uploading, setUploading] = useState(false);\r\n const [loading, _setLoading] = useState({loadingForm: false, loadingUpdate: false});\r\n const [isDisabled, setIsDisabled] = useState(false);\r\n const [showW84F3005Popup, setShowW84F3005Popup] = useState(false);\r\n const [showW09F2205Popup, setShowW09F2205Popup] = useState(false);\r\n const [isTypeTextBox, setIsTypeTextBox] = useState(false);\r\n const [isTypeString, setIsTypeString] = useState(false);\r\n const [isTypeDatePicker, setIsTypeDatePicker] = useState(false);\r\n const [isTypeCombo, setIsTypeCombo] = useState(false);\r\n const attRef = useRef(null);\r\n const attachments = useRef([]);\r\n const deletedFile = useRef([]);\r\n const w84F3005PopupData = useRef(_w84F3005PopupData);\r\n const classes = useStyles();\r\n\r\n const loadForm = () => {\r\n const params = {\r\n TransID: \"\",\r\n Language: Config.language || 84,\r\n FormID: \"W09F2210\",\r\n EmployeeID: _.get(rowData, \"employeeID\", \"\"),\r\n PropertyID: _.get(rowData, \"propertyID\", \"\"),\r\n skip: initFilter.skip,\r\n limit: initFilter.limit,\r\n };\r\n setLoading({loadingForm: true});\r\n props.w09f2200Actions.getForm(params, (error, data) => {\r\n setLoading({loadingForm: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n setDataGrid({\r\n total: data.total,\r\n rows: data.rows\r\n });\r\n }\r\n });\r\n };\r\n\r\n const loadCboAddress = (sourceName = \"\", parentID = \"\") => {\r\n const params = {\r\n Language: Config.language || 84,\r\n CodeTable: 1,\r\n SourceName: sourceName,\r\n ParentID: parentID,\r\n };\r\n setLoading({loadingForm: true});\r\n props.w09f2200Actions.getCboAddress(params, (error, data) => {\r\n setLoading({loadingForm: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n _setDataCbo(sourceName,data);\r\n }\r\n });\r\n };\r\n\r\n const _setDataCbo = (sourceName,data) => {\r\n switch (sourceName) {\r\n case \"ProvinceLabel\":\r\n setDataCboProvinceLabel(data);\r\n break;\r\n case \"TINH/THANH\":\r\n setDataCboProvince(data);\r\n break;\r\n case \"DistrictLabel\":\r\n setDataCboLabelDistrict(data);\r\n break;\r\n case \"WardLabel\":\r\n setDataCboWardLabel(data);\r\n break;\r\n case \"QUAN/HUYEN\":\r\n setDataCboDistrict(data);\r\n break;\r\n case \"XA/PHUONG\":\r\n setDataCboWard(data);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const loadListRelative = (fieldName = \"\") => {\r\n const params = {\r\n Language: Config.language || 84,\r\n FieldName: fieldName\r\n };\r\n setLoading({loadingListRelative: true});\r\n props.w09f2200Actions.getListRelative(params, (error, data) => {\r\n setLoading({loadingListRelative: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if(data) {\r\n setDataCboRelative(data);\r\n }\r\n });\r\n };\r\n\r\n const checkTypePropertyValue = (key) => {\r\n if(!key) return false;\r\n switch (key) {\r\n case \"NUMIDCARD\":\r\n case \"IDCARD\":\r\n case \"PASSPORT\":\r\n case \"TEL\":\r\n case \"MOBILE\":\r\n case \"CompanyTEL\":\r\n case \"EMAIL\":\r\n case \"EMCONNAME1\":\r\n case \"EMCONPHONE1\":\r\n case \"EMCONNAME2\":\r\n case \"EMCONPHONE2\":\r\n setIsTypeTextBox(true);\r\n break;\r\n case \"CONADDR\":\r\n case \"PERADDR\":\r\n case \"PROADDR\":\r\n case \"EMCONADD1\":\r\n case \"EMCONADD2\":\r\n loadCboAddress(\"ProvinceLabel\", \"\");\r\n loadCboAddress(\"TINH/THANH\", \"\");\r\n loadCboAddress(\"DistrictLabel\", \"\");\r\n loadCboAddress(\"WardLabel\", \"\");\r\n setIsTypeString(true);\r\n break;\r\n case \"NUMIDDATE\":\r\n case \"IDCARDDATE\":\r\n case \"PASSPORTBEGIN\":\r\n case \"PASSPORTEND\":\r\n setIsTypeDatePicker(true);\r\n break;\r\n case \"ETHNIC\":\r\n case \"RELIGION\":\r\n case \"COUNTRY\":\r\n case \"NUMIDPLACE\":\r\n case \"IDCARDPLACE\":\r\n case \"PASSPORTPLACE\":\r\n case \"EDUCATION\":\r\n case \"PROFESSIONAL\":\r\n case \"MAJOR\":\r\n case \"POLITICS\":\r\n case \"EMCONREL1\":\r\n case \"EMCONREL2\":\r\n case \"NATIVEPLACE\":\r\n case \"MARITALSTATUS\":\r\n loadListRelative(_.get(rowData, \"fieldName\", \"\"));\r\n setIsTypeCombo(true);\r\n break;\r\n default:\r\n break;\r\n\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if(mode === \"edit\") {\r\n setData({OldPropertyValue: _.get(rowData, \"oldPropertyID\", \"\")});\r\n checkTypePropertyValue(_.get(rowData, \"propertyID\", \"\"));\r\n loadAttachments();\r\n loadForm();\r\n if(Number(rowData.AppStatusID) !== 0) {\r\n setIsDisabled(true);\r\n }\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n if(dataCboProvinceLabel && dataCboProvinceLabel.length > 0) {\r\n _setName(\"LabelProvince\",_.get(dataCboProvinceLabel[0], \"ID\", \"\"));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataCboProvinceLabel]);\r\n\r\n useEffect(() => {\r\n if(dataCboProvince && dataCboProvince.length > 0) {\r\n _setName(\"ProvinceID\",_.get(dataCboProvince[0], \"Code\", \"\"));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataCboProvince]);\r\n\r\n useEffect(() => {\r\n if(dataCboDistrict && dataCboDistrict.length > 0) {\r\n _setName(\"DistrictID\",_.get(dataCboDistrict[0], \"Code\", \"\"));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataCboDistrict]);\r\n\r\n useEffect(() => {\r\n if(dataCboLabelDistrict && dataCboLabelDistrict.length > 0) {\r\n _setName(\"LabelDistrict\",_.get(dataCboLabelDistrict[0], \"ID\", \"\"));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataCboLabelDistrict]);\r\n\r\n useEffect(() => {\r\n if(dataCboWardLabel && dataCboWardLabel.length > 0) {\r\n _setName(\"LabelWard\",_.get(dataCboWardLabel[0], \"ID\", \"\"));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataCboWardLabel]);\r\n\r\n useEffect(() => {\r\n if(dataCboWard && dataCboWard.length > 0) {\r\n _setName(\"WardID\",_.get(dataCboWard[0], \"Code\", \"\"));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataCboWard]);\r\n\r\n\r\n useEffect(() => {\r\n if(!!_.get(dataForm, \"ProvinceID\", \"\")) {\r\n loadCboAddress(\"QUAN/HUYEN\",_.get(dataForm, \"ProvinceID\", \"\"));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataForm?.ProvinceID]);\r\n\r\n useEffect(() => {\r\n if(!!_.get(dataForm, \"DistrictID\", \"\")) {\r\n loadCboAddress(\"XA/PHUONG\",_.get(dataForm, \"DistrictID\", \"\"));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [dataForm?.DistrictID]);\r\n\r\n const setLoading = (obj) => {\r\n _setLoading({...loading,...obj});\r\n };\r\n\r\n const setData = (obj) => {\r\n setDataForm({...dataForm,...obj});\r\n };\r\n\r\n const loadAttachments = () => {\r\n const param = {\r\n KeyID: _.get(rowData, \"propertyID\", \"\"),\r\n TableName: \"D75T1010\"\r\n };\r\n setLoading({loadingAttachment: true});\r\n props.generalActions.getAttachmentsByTransID(param, (error, data) => {\r\n setLoading({loadingAttachment: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data && data.length > 0) {\r\n setDataOldAttachments(data);\r\n }\r\n });\r\n };\r\n\r\n\r\n const onCloseModal = (formID, isLoaded = false) => {\r\n if(formID === \"W09F2205\") {\r\n setShowW09F2205Popup(false);\r\n isLoaded && loadForm();\r\n }\r\n if(formID === \"W09F2200\") {\r\n if(onClose) onClose();\r\n }\r\n\r\n };\r\n\r\n const onAttachment = () => {\r\n if (attRef) {\r\n attRef.onAttachment();\r\n }\r\n };\r\n\r\n const onUploading = (value) => {\r\n setUploading(value);\r\n };\r\n\r\n const onChangeAttachments = (e) => {\r\n attachments.current = e.uploadedFiles ? e.uploadedFiles : [];\r\n if (e.deletedFiles && e.deletedFiles.length > 0) {\r\n deletedFile.current = [ ...e.deletedFiles];\r\n const _arrRemove = deletedFile.current.map((d) => d.AttachmentID);\r\n setDataOldAttachments(dataOldAttachments.filter((att) => {\r\n return _arrRemove.indexOf(att.AttachmentID) < 0;\r\n }));\r\n }\r\n };\r\n\r\n const _getAttachments = () => {\r\n const listAttachments = Config.helpers.getFileInfomations(attachments.current);\r\n let arrAttachment = [];\r\n listAttachments.forEach((att) => {\r\n arrAttachment.push({\r\n URL: att.url ? att.url : \"\",\r\n FileName: att.fileName ? att.fileName : \"\",\r\n FileSize: att.fileSize ? att.fileSize : \"\",\r\n FileExt: att.fileExt ? att.fileExt : \"\"\r\n });\r\n });\r\n if (dataOldAttachments && dataOldAttachments.length > 0) {\r\n arrAttachment = dataOldAttachments.concat(arrAttachment);\r\n }\r\n\r\n return arrAttachment;\r\n };\r\n\r\n const handleChange = (key,e) => {\r\n if(!key) return false;\r\n let value = _.get(e, \"value\", _.get(e, \"target.value\", \"\"));\r\n switch (key) {\r\n case \"PropertyValue\":\r\n _setName(key,value);\r\n break;\r\n case \"AddressName\":\r\n _setName(key,value);\r\n break;\r\n case \"LabelProvince\":\r\n _setName(key,value);\r\n break;\r\n case \"ProvinceID\":\r\n _setName(key,value);\r\n break;\r\n case \"LabelDistrict\":\r\n _setName(key,value);\r\n break;\r\n case \"DistrictID\":\r\n _setName(key,value);\r\n break;\r\n case \"LabelWard\":\r\n _setName(key,value);\r\n break;\r\n case \"WardID\":\r\n _setName(key,value);\r\n break;\r\n case \"Notes\":\r\n _setName(key,value);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const _setName = (key,value) => {\r\n const { AddressName, LabelProvinceName,DistrictName, ProvinceName, LabelDistrictName, LabelWardName, WardName} = dataForm;\r\n let dataFilter = \"\";\r\n let name = \"\";\r\n switch (key) {\r\n case \"PropertyValue\":\r\n setData({PropertyValue: value});\r\n break;\r\n case \"AddressName\":\r\n name = value + \" \" + LabelWardName + \" \" + WardName + \" \" + LabelDistrictName + \" \" +\r\n DistrictName + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({AddressName: value, PropertyValue: name});\r\n break;\r\n case \"LabelProvince\":\r\n dataFilter = dataCboProvinceLabel.find(item => item.ID === value);\r\n name = AddressName + \" \" + LabelWardName + \" \" + WardName + \" \" + LabelDistrictName +\r\n \" \" + DistrictName + \" \" + (dataFilter?.Name || \"\") + \" \" + ProvinceName;\r\n setData({LabelProvince: value, LabelProvinceName: (dataFilter?.Name || \"\"), PropertyValue: name});\r\n break;\r\n case \"ProvinceID\":\r\n dataFilter = dataCboProvince.find(item => item.Code === value);\r\n name = AddressName + \" \" + LabelWardName + \" \" + WardName + \" \" + LabelDistrictName + \" \" +\r\n DistrictName + \" \" + LabelProvinceName + \" \" + (dataFilter?.Name || \"\");\r\n setData({ProvinceID: value,ProvinceName: (dataFilter?.Name || \"\"), PropertyValue: name});\r\n break;\r\n case \"LabelDistrict\":\r\n dataFilter = dataCboLabelDistrict.find(item => item.ID === value);\r\n name = AddressName + \" \" + LabelWardName + \" \" + WardName + \" \" + (dataFilter?.Name || \"\") + \" \" +\r\n DistrictName + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({LabelDistrict: value, LabelDistrictName: (dataFilter?.Name || \"\"), PropertyValue: name});\r\n break;\r\n case \"DistrictID\":\r\n dataFilter = dataCboDistrict.find(item => item.Code === value);\r\n name = AddressName + \" \" + LabelWardName + \" \" + WardName + \" \" + LabelDistrictName + \" \" +\r\n (dataFilter?.Name || \"\") + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({DistrictID: value, DistrictName: (dataFilter?.Name || \"\"), PropertyValue: name});\r\n break;\r\n case \"LabelWard\":\r\n dataFilter = dataCboWardLabel.find(item => item.ID === value);\r\n name = AddressName + \" \" + (dataFilter?.Name || \"\") + \" \" + WardName + \" \" + LabelDistrictName + \" \" +\r\n DistrictName + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({LabelWard: value, LabelWardName: (dataFilter?.Name || \"\"), PropertyValue: name});\r\n break;\r\n case \"WardID\":\r\n dataFilter = dataCboWard.find(item => item.Code === value);\r\n name = AddressName + \" \" + LabelWardName + \" \" + (dataFilter?.Name || \"\") + \" \" +\r\n LabelDistrictName + \" \" + DistrictName + \" \" + LabelProvinceName + \" \" + ProvinceName;\r\n setData({WardID: value, WardName: (dataFilter?.Name || \"\"), PropertyValue: name});\r\n break;\r\n case \"Notes\":\r\n setData({Notes: value});\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const onSave = () => {\r\n const arrAttachments = _getAttachments();\r\n const params = {\r\n PropertyID: _.get(rowData, \"propertyID\", \"\"),\r\n PropertyName: _.get(dataForm, \"PropertyName\", \"\"),\r\n PropertyValue: _.get(dataForm, \"PropertyValue\", \"\"),\r\n EmployeeID: _.get(rowData, \"employeeID\", \"\"),\r\n OldPropertyValue: dataForm?.OldPropertyValue ?\r\n (isTypeDatePicker ? moment(dataForm?.OldPropertyValue, \"DD/MM/YYYY\").format(\"YYYY-MM-DD\") : dataForm.OldPropertyValue) : null,\r\n Notes: _.get(dataForm, \"Notes\", \"\"),\r\n AddressName: _.get(dataForm, \"AddressName\", \"\"),\r\n LabelProvince: _.get(dataForm, \"LabelProvince\", \"\"),\r\n ProvinceID: _.get(dataForm, \"ProvinceID\", \"\"),\r\n LabelDistrict: _.get(dataForm, \"LabelDistrict\", \"\"),\r\n DistrictID: _.get(dataForm, \"DistrictID\", \"\"),\r\n LabelWard: _.get(dataForm, \"LabelWard\", \"\"),\r\n WardID: _.get(dataForm, \"WardID\", \"\"),\r\n arrAttachment: JSON.stringify(arrAttachments)\r\n };\r\n setLoading({loadingUpdate: true});\r\n props.w09f2200Actions.save(params, (error, data) => {\r\n setLoading({loadingUpdate: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n if(data.Status === 1) {\r\n let message = data.Message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if(data.Status === 0) {\r\n Config.notify.show('success', Config.lang(\"Luu_thanh_cong\"), 2000);\r\n onClose && onClose();\r\n }\r\n\r\n }\r\n });\r\n };\r\n\r\n const onHistoryApproval = (e, data = {}) => {\r\n w84F3005PopupData.current.TransID = data.TransID;\r\n setShowW84F3005Popup(true);\r\n };\r\n\r\n const onEdit = (e) => {\r\n const {data} = e.row;\r\n setRowData({row: {\r\n TransID: _.get(data, \"TransID\", \"\"),\r\n propertyID: _.get(data, \"PropertyID\", \"\"),\r\n fieldName: _.get(rowData, \"fieldName\", \"\"),\r\n AppStatusID: _.get(data, \"AppStatusID\", \"\")\r\n }, mode: \"edit\"});\r\n setShowW09F2205Popup(true);\r\n };\r\n\r\n const onDelete = (data) => {\r\n const params = {\r\n TransID: _.get(data, \"TransID\", \"\")\r\n };\r\n props.w09f2200Actions.deleteData(params, (error, data) => {\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n if(data.Status === 1) {\r\n let message = data.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if(data.Status === 0) {\r\n Config.notify.show('success', Config.lang(\"Xoa_thanh_cong\"), 2000);\r\n }\r\n\r\n }\r\n });\r\n };\r\n\r\n const cellRenderAction = (e) => {\r\n if(!e) return null;\r\n const {data} = e.row;\r\n return (\r\n \r\n
\r\n onHistoryApproval(e, data)}>\r\n \r\n \r\n onEdit(e)}\r\n >\r\n \r\n \r\n onDelete(data)}\r\n >\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n\r\n return (\r\n \r\n setShowW84F3005Popup(false)}\r\n FormID=\"W09F2225\" TransID={w84F3005PopupData.current.TransID}/>\r\n {showW09F2205Popup && onCloseModal(\"W09F2205\", isLoaded)}/>}\r\n onCloseModal(\"W09F2200\")}\r\n title={Config.lang(\"Dieu_chinh\") + \" \" + (rowData?.caption || \"\")}\r\n >\r\n \r\n \r\n \r\n \r\n handleChange(\"OldPropertyValue\", e)}\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n {isTypeTextBox &&\r\n \r\n handleChange(\"PropertyValue\", e)}\r\n fullWidth\r\n />\r\n \r\n }\r\n { isTypeString &&\r\n \r\n handleChange(\"PropertyValue\", e)}\r\n fullWidth\r\n />\r\n \r\n }\r\n { isTypeDatePicker &&\r\n \r\n handleChange(\"PropertyValue\", e)}\r\n />\r\n \r\n }\r\n {isTypeCombo &&\r\n \r\n handleChange(\"PropertyValue\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n \r\n \r\n { isTypeString &&\r\n \r\n handleChange(\"AddressName\", e)}\r\n fullWidth\r\n />\r\n \r\n }\r\n { isTypeString &&\r\n \r\n handleChange(\"LabelProvince\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n { isTypeString &&\r\n \r\n handleChange(\"ProvinceID\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n\r\n \r\n \r\n { isTypeString &&\r\n \r\n handleChange(\"LabelDistrict\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n {isTypeString &&\r\n \r\n handleChange(\"DistrictID\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n { isTypeString &&\r\n \r\n handleChange(\"LabelWard\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n { isTypeString &&\r\n \r\n handleChange(\"WardID\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n }\r\n\r\n \r\n \r\n \r\n handleChange(\"Notes\", e)}\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nW09F2200.propTypes = {\r\n FormID: PropTypes.string,\r\n open: PropTypes.bool,\r\n mode: PropTypes.string,\r\n rowData: PropTypes.object,\r\n onClose: PropTypes.func,\r\n};\r\n\r\nexport default compose(\r\n connect(null,\r\n (dispatch) => ({\r\n w09f2200Actions: bindActionCreators(W09F2200Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n })\r\n ),\r\n)(W09F2200);\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author NAMDANG\r\n * @create 3/4/2021\r\n * @Example\r\n */\r\nimport React, {useState, useEffect ,useRef} from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport PropTypes from \"prop-types\";\r\nimport * as W09F2210Actions from \"../../../../redux/W0X/W09F2210/W09F2210_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport { bindActionCreators, compose } from \"redux\";\r\nimport Config from \"../../../../config\";\r\nimport {FormLabel as Label, IconButton, makeStyles, TextField} from \"@material-ui/core\";\r\nimport Modal from \"../../../common/modal/modal\";\r\nimport {Col, FormGroup, Row} from \"react-bootstrap\";\r\nimport DateBoxPicker from \"../../../common/form-material/date-box\";\r\nimport {Combo} from \"../../../common/form-material\";\r\nimport Attachments from \"../../../common/attachments/attachments\";\r\nimport AttachFileIcon from \"@material-ui/core/SvgIcon/SvgIcon\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport _ from \"lodash\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport {Column} from \"devextreme-react/data-grid\";\r\nimport GridActionBar from \"../../../grid-container/grid-actionbar\";\r\nimport Icons from \"../../../common/icons\";\r\nimport HistoryIcon from \"@material-ui/icons/History\"\r\nimport W84F3005 from \"../../../W8X/W84/W84F3005/W84F3005\";\r\nimport moment from \"moment\";\r\nimport W09F2215 from \"../W09F2215/W09F2215\";\r\n\r\nconst useStyles = makeStyles(() => ({\r\n styleLabel: {\r\n fontStyle: 14,\r\n fontWeight: 700,\r\n color: \"#111D5E\"\r\n }\r\n}));\r\n\r\nconst W09F2210 = (props) => {\r\n\r\n const _initDataForm = {\r\n OldPropertyValue: \"\",\r\n PropertyValue: \"\",\r\n RelativeName: \"\",\r\n RelationID: \"\",\r\n RelationName: \"\",\r\n Sex: \"\",\r\n SexName: \"\",\r\n BirthDate: null,\r\n RelativePhone: \"\",\r\n Notes: \"\",\r\n PropertyID: \"\",\r\n EmployeeID: \"\",\r\n IGE: \"\",\r\n RelativeID: \"\",\r\n };\r\n\r\n const initDataGrid = {\r\n rows: [],\r\n total: 0\r\n };\r\n\r\n const initFilter = {\r\n skip: 0,\r\n limit: 10\r\n };\r\n\r\n const _w84F3005PopupData = {\r\n TransID: null\r\n };\r\n\r\n const _initRowData = {\r\n row: {},\r\n mode: \"\"\r\n };\r\n\r\n const { rowData, open, onClose, dataGenders, dataListRelative} = props || {};\r\n const [dataForm, setDataForm] = useState(_initDataForm);\r\n const [dataGrid, setDataGrid] = useState(initDataGrid);\r\n const [dataOldAttachments, setDataOldAttachments] = useState([]);\r\n const [_rowData, setRowData] = useState(_initRowData);\r\n const [uploading, setUploading] = useState(false);\r\n const [loading, _setLoading] = useState({formLoading: false, loadingListRelative: false, loadingGender: false});\r\n const [showW84F3005Popup, setShowW84F3005Popup] = useState(false);\r\n const [showW09F2215Popup, setShowW09F2215Popup] = useState(false);\r\n const attRef = useRef(null);\r\n const attachments = useRef([]);\r\n const deletedFile = useRef([]);\r\n const w84F3005PopupData = useRef(_w84F3005PopupData);\r\n const classes = useStyles();\r\n\r\n const loadListRelative = (fieldName) => {\r\n const params = {\r\n Language: Config.language || 84,\r\n FieldName: fieldName\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2210Actions.getListRelative(params, (error) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n const loadGender = () => {\r\n setLoading({formLoading: true});\r\n props.w09f2210Actions.getGender((error) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n const loadGrid = () => {\r\n const params = {\r\n TransID: \"\",\r\n Language: Config.language || 84,\r\n FormID: \"W09F2210\",\r\n EmployeeID: _.get(rowData, \"employeeID\", \"\"),\r\n PropertyID: _.get(rowData, \"propertyID\", \"\"),\r\n skip: initFilter.skip,\r\n limit: initFilter.limit,\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2210Actions.getDetail(params, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n setDataGrid({\r\n total: data.total,\r\n rows: data.rows\r\n });\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n loadGrid();\r\n loadGender();\r\n loadListRelative(\"RelativeID\");\r\n loadAttachments();\r\n setData({\r\n OldPropertyValue: _.get(rowData, \"oldPropertyID\", \"\"),\r\n RelativeID: _.get(rowData, \"RelativeID\", \"\"),\r\n IGE: _.get(rowData, \"IGE\", \"\"),\r\n EmployeeID: _.get(rowData, \"employeeID\", \"\"),\r\n PropertyID: _.get(rowData, \"propertyID\", \"\")\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const setLoading = (obj) => {\r\n _setLoading({...loading,...obj});\r\n };\r\n\r\n const setData = (obj) => {\r\n setDataForm({...dataForm,...obj});\r\n };\r\n\r\n const loadAttachments = () => {\r\n const param = {\r\n KeyID: _.get(rowData, \"propertyID\", \"\"),\r\n TableName: \"D75T1010\"\r\n };\r\n setLoading({formLoading: true});\r\n props.generalActions.getAttachmentsByTransID(param, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data && data.length > 0) {\r\n setDataOldAttachments(data);\r\n }\r\n });\r\n };\r\n\r\n\r\n const onCloseModal = (formID) => {\r\n if(formID === \"W09F2215\") {\r\n setShowW09F2215Popup(false);\r\n }\r\n if(formID === \"W09F2210\") {\r\n onClose && onClose();\r\n }\r\n };\r\n\r\n const onHistoryApproval = (e, data = {}) => {\r\n w84F3005PopupData.current.TransID = data.TransID;\r\n setShowW84F3005Popup(true);\r\n };\r\n\r\n const onAttachment = () => {\r\n if (attRef) {\r\n attRef.onAttachment();\r\n }\r\n };\r\n\r\n const onUploading = (value) => {\r\n setUploading(value);\r\n };\r\n\r\n const onChangeAttachments = (e) => {\r\n attachments.current = e.uploadedFiles ? e.uploadedFiles : [];\r\n if (e.deletedFiles && e.deletedFiles.length > 0) {\r\n deletedFile.current = [ ...e.deletedFiles];\r\n const _arrRemove = deletedFile.current.map((d) => d.AttachmentID);\r\n setDataOldAttachments(dataOldAttachments.filter((att) => {\r\n return _arrRemove.indexOf(att.AttachmentID) < 0;\r\n }));\r\n }\r\n };\r\n\r\n const _getAttachments = () => {\r\n const listAttachments = Config.helpers.getFileInfomations(attachments.current);\r\n let arrAttachment = [];\r\n listAttachments.forEach((att) => {\r\n arrAttachment.push({\r\n URL: att.url ? att.url : \"\",\r\n FileName: att.fileName ? att.fileName : \"\",\r\n FileSize: att.fileSize ? att.fileSize : \"\",\r\n FileExt: att.fileExt ? att.fileExt : \"\"\r\n });\r\n });\r\n if (dataOldAttachments && dataOldAttachments.length > 0) {\r\n arrAttachment = dataOldAttachments.concat(arrAttachment);\r\n }\r\n return arrAttachment;\r\n };\r\n\r\n const handleChange = (key,e) => {\r\n if(!key) return false;\r\n let value = _.get(e, \"value\", _.get(e, \"target.value\", \"\"));\r\n switch (key) {\r\n case \"RelativeName\":\r\n _setName(key,value);\r\n break;\r\n case \"RelationID\":\r\n _setName(key,value);\r\n break;\r\n case \"Sex\":\r\n _setName(key,value);\r\n break;\r\n case \"BirthDate\":\r\n _setName(key,value);\r\n break;\r\n case \"RelativePhone\":\r\n _setName(key,value);\r\n break;\r\n case \"Notes\":\r\n _setName(key,value);\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n const formatString = (value) => {\r\n return value ? ` - ${value}` : \"\";\r\n };\r\n\r\n const _setName = (key,value) => {\r\n const { dataListRelative, dataGenders } = props;\r\n const {RelativeName, RelationName, SexName, BirthDate, RelativePhone} = dataForm;\r\n let dataFilter = \"\";\r\n let name = \"\";\r\n switch (key) {\r\n case \"RelativeName\":\r\n name = value + formatString(RelationName) + formatString(SexName) + formatString(BirthDate) + formatString(RelativePhone);\r\n setData({RelativeName: value, PropertyValue: name});\r\n break;\r\n case \"RelationID\":\r\n dataFilter = dataListRelative.find(item => item.ID === value);\r\n name = RelativeName + formatString(dataFilter?.Name || \"\") + formatString(SexName) + formatString(BirthDate) + formatString(RelativePhone);\r\n setData({RelationID: value, RelationName: (dataFilter?.Name || \"\"), PropertyValue: name});\r\n break;\r\n case \"Sex\":\r\n dataFilter = dataGenders.find(item => item.ID === value);\r\n name = RelativeName + formatString(RelationName) + formatString(dataFilter?.Sex || \"\") + formatString(BirthDate) + formatString(RelativePhone);\r\n setData({Sex: value, SexName: (dataFilter?.Sex || \"\"), PropertyValue: name });\r\n break;\r\n case \"BirthDate\":\r\n name = RelativeName + formatString(RelationName) + formatString(SexName) + formatString(value) + formatString(RelativePhone);\r\n setData({BirthDate: value, PropertyValue: name});\r\n break;\r\n case \"RelativePhone\":\r\n name = RelativeName + formatString(RelationName) + formatString(SexName) + formatString(BirthDate) + formatString(value);\r\n setData({RelativePhone: value, PropertyValue: name});\r\n break;\r\n case \"Notes\":\r\n setData({Notes: value});\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const onSave = () => {\r\n const arrAttachments = _getAttachments();\r\n const params = {\r\n PropertyID: _.get(dataForm, \"PropertyID\", \"\"),\r\n PropertyValue: _.get(dataForm, \"PropertyValue\", \"\"),\r\n EmployeeID: _.get(dataForm, \"EmployeeID\", \"\"),\r\n OldPropertyValue: _.get(dataForm, \"OldPropertyValue\", \"\"),\r\n Notes: _.get(dataForm, \"Notes\", \"\"),\r\n RelativeName: _.get(dataForm, \"RelativeName\", \"\"),\r\n RelationID: _.get(dataForm, \"RelationID\", \"\"),\r\n Sex: _.get(dataForm, \"Sex\", \"\"),\r\n BirthDate: _.get(dataForm, \"BirthDate\", null),\r\n BirthDate1: dataForm?.BirthDate &&\r\n moment.utc(dataForm?.BirthDate).isValid() ?\r\n moment.utc(dataForm?.BirthDate) : null,\r\n RelativePhone: _.get(dataForm, \"RelativePhone\", \"\"),\r\n RelativeID: _.get(dataForm, \"RelativeID\", \"\"),\r\n IGE: _.get(dataForm, \"IGE\", \"\"),\r\n arrAttachment: JSON.stringify(arrAttachments)\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2210Actions.save(params, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n if(data.Status === 1) {\r\n let message = data.Message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if(data.Status === 0) {\r\n Config.notify.show('success', Config.lang(\"Luu_thanh_cong\"), 2000);\r\n onClose && onClose();\r\n }\r\n\r\n }\r\n });\r\n };\r\n\r\n const onEdit = (e) => {\r\n const {data} = e.row;\r\n const date = data?.BirthDate && moment(data?.BirthDate).format(\"DD/MM/YYYY\");\r\n let oldPropertyID = (data?.RelativeName || \"\") + \" - \" + (data?.RelationName || \"\") +\r\n \" - \" + (data?.SexName || \"\") + \" - \" + (date || \"\") + \" - \" + (data?.Telephone || \"\");\r\n setRowData({row: {\r\n TransID: _.get(data, \"TransID\", \"\"),\r\n propertyID: \"RELATIVE\",\r\n oldPropertyID: oldPropertyID,\r\n relativeID: _.get(data, \"RelativeID\", \"\"),\r\n employeeID: _.get(dataForm, \"EmployeeID\", \"\"),\r\n AppStatusID: _.get(data, \"AppStatusID\", \"\")\r\n }, mode: \"edit\"});\r\n setShowW09F2215Popup(true);\r\n };\r\n\r\n const onDelete = (data) => {\r\n const params = {\r\n TransID: _.get(data, \"TransID\", \"\")\r\n };\r\n setLoading({formLoading: true});\r\n props.w09f2210Actions.deleteData(params, (error, data) => {\r\n setLoading({formLoading: false});\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data) {\r\n if(data.Status === 1) {\r\n let message = data.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if(data.Status === 0) {\r\n Config.notify.show('success', Config.lang(\"Xoa_thanh_cong\"), 2000);\r\n }\r\n\r\n }\r\n });\r\n };\r\n\r\n\r\n\r\n const cellRenderAction = (e) => {\r\n if(!e) return null;\r\n const {data} = e.row;\r\n return (\r\n \r\n
\r\n onHistoryApproval(e, data)}>\r\n \r\n \r\n onEdit(e)}\r\n >\r\n \r\n \r\n onDelete(data)}\r\n >\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n return (\r\n \r\n setShowW84F3005Popup(false)}\r\n FormID=\"W09F2225\" TransID={w84F3005PopupData.current.TransID}/>\r\n {showW09F2215Popup && onCloseModal(\"W09F2215\")}/>}\r\n onCloseModal(\"W09F2210\")}\r\n title={Config.lang(\"Dieu_chinh_thong_tin_gia_dinh\")}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleChange(\"RelativeName\", e)}\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n \r\n handleChange(\"RelationID\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n \r\n handleChange(\"Sex\", e)}\r\n margin={\"normal\"}\r\n />\r\n \r\n \r\n \r\n \r\n handleChange(\"BirthDate\", e)}\r\n />\r\n \r\n \r\n handleChange(\"RelativePhone\", e)}\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n \r\n handleChange(\"Notes\", e)}\r\n fullWidth\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n};\r\n\r\nW09F2210.propTypes = {\r\n FormID: PropTypes.string,\r\n open: PropTypes.bool,\r\n mode: PropTypes.string,\r\n rowData: PropTypes.object,\r\n onClose: PropTypes.func,\r\n};\r\n\r\nexport default compose(\r\n connect(\r\n (state) => ({\r\n dataGenders: state.W09F2210.getGenders,\r\n dataListRelative: state.W09F2210.getListRelative,\r\n }),\r\n (dispatch) => ({\r\n w09f2210Actions: bindActionCreators(W09F2210Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n })\r\n ),\r\n)(W09F2210);\r\n","import React, {useState, useEffect, useRef} from \"react\";\r\nimport Config from \"../../../../config\";\r\nimport {\r\n TextInput,\r\n Button,\r\n Label,\r\n Avatar,\r\n Accordion,\r\n AccordionDetails,\r\n AccordionSummary,\r\n ButtonIcon,\r\n HelperText, DatePicker\r\n} from \"diginet-core-ui/components\";\r\nimport Modal from \"../../../common/modal/modal\";\r\nimport {Col, Row, FormGroup} from \"react-bootstrap\";\r\nimport GridContainer from \"../../../grid-container/grid-container\";\r\nimport HeadClick from \"../../../grid-container/head-click\";\r\nimport {Column, CustomRule, Summary, TotalItem} from \"devextreme-react/data-grid\";\r\nimport Attachments from \"../../../common/attachments/attachments\";\r\nimport Api from '../../../../services/api';\r\nimport _ from \"lodash\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {connect} from \"react-redux\";\r\nimport * as W09F2070Actions from \"../../../../redux/W0X/W09F2070/W09F2070_actions\";\r\nimport W09F6000 from \"../W09F6000/W09F6000\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport withStyles from \"@material-ui/core/styles/withStyles\";\r\nimport History from \"../../../libs/history\";\r\nimport moment from \"moment\";\r\n\r\n\r\nconst styles = {\r\n bgRow: {\r\n \"& td\": {\r\n opacity: 0.6\r\n }\r\n },\r\n bgRowDiff: {\r\n \"& td\": {\r\n backgroundColor: \"lightblue\"\r\n }\r\n },\r\n bgRowDiff2: {\r\n \"& td\": {\r\n backgroundColor: \"#6495ED\"\r\n }\r\n },\r\n bgRowDiff3: {\r\n \"& td\": {\r\n backgroundColor: \"#FAEBD7\"\r\n }\r\n },\r\n bgRowDiff4: {\r\n \"& td\": {\r\n backgroundColor: \"#F0F8FF\"\r\n }\r\n },\r\n hidden: {\r\n height: 0,\r\n overflow: \"hidden\",\r\n display: \"none\"\r\n },\r\n}\r\nconst W09F2271 = ({\r\n data,\r\n open,\r\n onClose,\r\n w09f2070Actions,\r\n generalActions,\r\n getCboDisRewardForm,\r\n getCboProDisRewardLevel,\r\n getCboDisViolationActGroup,\r\n getRewardCaption,\r\n classes\r\n }) => {\r\n const [dataForm, setDataForm] = useState({\r\n VoucherID: \"\",\r\n VoucherName: \"\",\r\n VoucherCreateDate: moment(),\r\n ViolationDate: moment(),\r\n Notes: \"\"\r\n });\r\n const [isLoadingForm, setLoadingForm] = useState(false);\r\n const [errors, setErrors] = useState({});\r\n\r\n const [dataGrid, setDataGrid] = useState([]);\r\n const [isLoadingGrid, setLoadingGrid] = useState(false);\r\n\r\n const [cboDisViolationAct, setCboDisViolationAct] = useState({});\r\n\r\n const [dataOldAttachments, setDataOldAttachments] = useState([]);\r\n const [isLoadingAttachment, setLoadingAttachment] = useState(false);\r\n const [uploading, setUploading] = useState(false);\r\n const [isSaving, setSaving] = useState(false);\r\n\r\n const [filterGridValue, setFilterGridValue] = useState([]);\r\n const [isShowModalW09F6000, setShowModalW09F6000] = useState(false);\r\n\r\n let cboDisViolationActTmp = useRef({});\r\n let attachments = useRef([]);\r\n let deletedFile = useRef([]);\r\n let selectedRange = useRef(null);\r\n let editing = useRef(0);\r\n let filterColIndx = useRef(null);\r\n let refDataGrid = useRef(null);\r\n const attRef = useRef(null);\r\n let filterGrid = useRef({});\r\n let oldDataGrid = useRef([]);\r\n let oldDataForm = useRef({});\r\n let timerUpdating = useRef(\"\");\r\n let cellEditing = useRef({rowIndex: -1, dataField: \"\"});\r\n let fieldUpdating = useRef({dataField: \"\", value: \"\"});\r\n const {mode, rowData} = data;\r\n\r\n useEffect(() => {\r\n let loadingTimer = \"\";\r\n (async () => {\r\n if (mode === \"add\") return;\r\n setLoadingForm(true)\r\n const params = {\r\n VoucherID: _.get(rowData, \"VoucherID\", \"\") || \"\"\r\n }\r\n const res = await Api.put(\"/w09f2271/load-master\", params);\r\n const getData = _.get(res, \"data\", {});\r\n const getMessageErr = _.get(res, \"message\", _.get(getData, \"Message\", \"\"));\r\n loadingTimer = setTimeout(() => {\r\n setLoadingForm(false);\r\n }, 300);\r\n if (getMessageErr) return Config.popup.show(\"ERROR\", getMessageErr);\r\n const dataForm = {\r\n VoucherID: _.get(getData, \"VoucherID\", \"\"),\r\n VoucherName: _.get(getData, \"VoucherName\", \"\"),\r\n VoucherCreateDate: _.get(getData, \"VoucherCreateDate\", null),\r\n ViolationDate: _.get(getData, \"ViolationDate\", null),\r\n Notes: _.get(getData, \"Notes\", \"\")\r\n }\r\n if (mode === \"edit\") oldDataForm.current = dataForm;\r\n setDataForm(dataForm);\r\n })()\r\n return () => {\r\n if (loadingTimer) clearTimeout(loadingTimer)\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n let loadingTimer = \"\";\r\n (async () => {\r\n if (mode === \"add\") return;\r\n setLoadingGrid(true);\r\n const params = {\r\n VoucherID: _.get(rowData, \"VoucherID\", \"\") || \"\"\r\n }\r\n const res = await Api.put(\"/w09f2271/load-gird\", params);\r\n const getData = _.get(res, \"data\", {});\r\n const getMessageErr = _.get(res, \"message\", _.get(getData, \"Message\", \"\"))\r\n loadingTimer = setTimeout(() => {\r\n setLoadingGrid(false);\r\n }, 300);\r\n if (getMessageErr) return Config.popup.show(\"ERROR\", getMessageErr);\r\n if (mode === \"edit\") oldDataGrid.current = getData;\r\n setDataGrid(_.map(getData, item => ({...item, IsCheck: !!item?.IsCheck})));\r\n _.uniqBy(getData, \"DisViolationActGroupID\")\r\n .forEach(item => {\r\n item.DisViolationActGroupID && loadCboDisViolationAct(item.DisViolationActGroupID, data => {\r\n setCboDisViolationAct(data)\r\n })\r\n })\r\n })()\r\n return () => {\r\n if (loadingTimer) clearTimeout(loadingTimer)\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n w09f2070Actions.loadCboDisViolationActGroup(error => {\r\n if (error) Config.popup.show(\"ERROR\", error);\r\n })\r\n w09f2070Actions.loadRewardCaption({Language: Config.language || \"84\"}, (error) => {\r\n if (error) Config.popup.show(\"ERROR\", error);\r\n });\r\n w09f2070Actions.loadCboProDisRewardLevel(error => {\r\n if (error) Config.popup.show(\"ERROR\", error);\r\n });\r\n w09f2070Actions.loadCboDisRewardForm(error => {\r\n if (error) Config.popup.show(\"ERROR\", error);\r\n })\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (mode !== \"add\") {\r\n const param = {\r\n KeyID: _.get(rowData, \"VoucherID\", \"\") || \"\",\r\n TableName: \"D09T2060\"\r\n };\r\n setLoadingAttachment(true);\r\n generalActions.getAttachmentsByTransID(param, (error, data) => {\r\n setLoadingAttachment(false);\r\n if (error) {\r\n Config.popup.show('ERROR', error);\r\n return false;\r\n }\r\n if (data && data.length > 0) {\r\n setDataOldAttachments(data);\r\n }\r\n });\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const validation = (field, value, type = \"required\") => {\r\n let objError = {...errors};\r\n let isError = false;\r\n switch (type) {\r\n case \"required\":\r\n if (!value) {\r\n isError = true;\r\n objError = {...objError, [field]: Config.lang(\"Truong_nay_bat_buoc_nhap\")};\r\n } else {\r\n objError = _.has(objError, field) ? _.omit(objError, field) : objError;\r\n }\r\n break;\r\n default:\r\n break\r\n }\r\n setErrors(objError);\r\n return isError\r\n }\r\n\r\n const loadCboDisViolationAct = async (DisViolationActGroupID = \"\", cb) => {\r\n const res = await Api.put(\"/w09f2070/load-cbo-disviolation-act\", {DisViolationActGroupID});\r\n const getData = _.get(res, \"data\", {});\r\n const getMessageErr = _.get(res, \"message\", _.get(getData, \"Message\", \"\"))\r\n if (getMessageErr) return Config.popup.show('ERROR', getMessageErr);\r\n cboDisViolationActTmp.current = {...cboDisViolationActTmp.current, [DisViolationActGroupID]: getData};\r\n if (cb) cb(cboDisViolationActTmp.current);\r\n }\r\n\r\n const getFilterGrid = (isClear) => {\r\n if (isClear) filterGrid = {};\r\n const filter = filterGrid.current;\r\n const dataFilter = [];\r\n Object.keys(filter).forEach(fil => {\r\n const itemFilter = filter[fil];\r\n if (itemFilter && itemFilter.length > 0) {\r\n dataFilter.push(filter[fil]);\r\n dataFilter.push(\"and\");\r\n }\r\n });\r\n dataFilter.pop();\r\n return dataFilter;\r\n };\r\n\r\n const _getAttachments = () => {\r\n const listAttachments = Config.helpers.getFileInfomations(attachments.current);\r\n let arrAttachment = [];\r\n listAttachments.forEach((att) => {\r\n arrAttachment.push({\r\n URL: att.url ? att.url : \"\",\r\n FileName: att.fileName ? att.fileName : \"\",\r\n FileSize: att.fileSize ? att.fileSize : \"\",\r\n FileExt: att.fileExt ? att.fileExt : \"\"\r\n });\r\n });\r\n if (dataOldAttachments && dataOldAttachments.length > 0) {\r\n arrAttachment = dataOldAttachments.concat(arrAttachment);\r\n }\r\n\r\n return arrAttachment;\r\n };\r\n\r\n const onRowPrepared = (e) => {\r\n if (!e) return false;\r\n const {data} = e;\r\n if (data?.Updated === 1 || data?.AddEmp === 0) {\r\n e.rowElement.classList.add(classes.bgRowDiff);\r\n }\r\n if (data?.Updated === 0 || data?.AddEmp === 1) {\r\n e.rowElement.classList.add(classes.bgRowDiff2);\r\n }\r\n if (data?.Updated === 1 || data?.AddEmp === 1) {\r\n e.rowElement.classList.add(classes.bgRowDiff3);\r\n }\r\n if (data?.Updated === 0 || data?.AddEmp === 0) {\r\n e.rowElement.classList.add(classes.bgRowDiff4);\r\n }\r\n if (data?.IsCancel === 2) {\r\n e.rowElement.classList.add(classes.bgRow);\r\n }\r\n if (data?.Deleted === 1) {\r\n e.rowElement.classList.add(classes.hidden);\r\n }\r\n };\r\n\r\n const onSelectedEmployees = async () => {\r\n setShowModalW09F6000(false);\r\n setLoadingGrid(true);\r\n const res = await Api.put(\"/w09f2271/load-employee\");\r\n setLoadingGrid(false);\r\n const getData = _.get(res, \"data\", []);\r\n const getMessageErr = _.get(res, \"message\", _.get(getData, \"Message\", \"\"))\r\n if (getMessageErr) return Config.popup.show(\"ERROR\", getMessageErr);\r\n setErrors(_.omit(errors, \"dataGrid\"));\r\n setDataGrid(_.uniqBy([...dataGrid, ...getData], \"EmployeeID\"));\r\n }\r\n\r\n const onChangeForm = (key, e) => {\r\n const value = _.get(e, \"target.value\", _.get(e, \"value\", \"\"));\r\n if (_.includes([\"VoucherName\", \"ViolationDate\"], key)) validation(key, value);\r\n setDataForm({...dataForm, [key]: value});\r\n };\r\n\r\n const onChangeAttachments = (e) => {\r\n attachments.current = e.uploadedFiles ? e.uploadedFiles : [];\r\n if (e.deletedFiles && e.deletedFiles.length > 0) {\r\n deletedFile.current = [...e.deletedFiles];\r\n const _arrRemove = deletedFile.map((d) => d.AttachmentID);\r\n const dataNew = [...dataOldAttachments].filter(att => _arrRemove.indexOf(att.AttachmentID) < 0);\r\n setDataOldAttachments(dataNew);\r\n }\r\n };\r\n\r\n const onFilterGrid = (e) => {\r\n let {column, filterValue, columnIndex} = e;\r\n filterColIndx.current = columnIndex;\r\n e.component.saveEditData();\r\n if (column) {\r\n if (column.dataField === \"EmployeeID\") {\r\n let dataFilter = [];\r\n if (filterValue) {\r\n if (filterValue.indexOf(\",\") > -1) {\r\n const arrFilters = filterValue.split(\",\");\r\n arrFilters.forEach(f => {\r\n dataFilter.push([\"EmployeeID\", \"=\", f.trim()]);\r\n dataFilter.push(\"or\");\r\n });\r\n dataFilter.pop();\r\n } else {\r\n dataFilter = [\"EmployeeID\", \"contains\", filterValue];\r\n }\r\n }\r\n filterGrid.current.EmployeeID = dataFilter;\r\n } else {\r\n let operator = \"contains\";\r\n if ([\"ValidDate\", \"ValidDateEnd\", \"IsCheck\", \"NumMonth\", \"DisViolationActGroupID\", \"DisViolationActID\", \"ProDisRewardLevelID\", \"ProDisRewardFormID\"].includes(column.dataField)) operator = \"=\";\r\n filterGrid.current[column.dataField] = (filterValue || typeof filterValue === \"boolean\") ? [column.dataField, operator, filterValue] : [];\r\n }\r\n setFilterGridValue(getFilterGrid());\r\n } else {\r\n filterGrid.current = {};\r\n setFilterGridValue([]);\r\n }\r\n };\r\n\r\n const onEditorPreparing = e => {\r\n if ((e.parentType === \"searchPanel\" || e.parentType === \"filterRow\") && e.dataField === \"EmployeeID\") {\r\n e.updateValueTimeout = 2500;\r\n }\r\n if (e.parentType === \"dataRow\") {\r\n switch (e.dataField) {\r\n case \"DisViolationActID\":\r\n e.editorOptions.dataSource = cboDisViolationAct[e.row.data.DisViolationActGroupID]\r\n break;\r\n case \"ValidDate\" :\r\n e.editorOptions.max = e.row.data.ValidEndDate;\r\n break;\r\n case \"ValidEndDate\":\r\n e.editorOptions.min = e.row.data.ValidDate;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n };\r\n\r\n const handleUpdateCell = (field, data1, data2) => {\r\n let newValue = \"\";\r\n switch (field) {\r\n case \"NumMonth\": {\r\n newValue = _.round(moment(data1).diff(moment(data2), \"months\", true));\r\n if (!_.isNumber(newValue)) newValue = 0;\r\n break;\r\n }\r\n case \"ValidDate\": {\r\n newValue = moment(data1)\r\n .subtract(Number(data2), \"months\")\r\n .format(\"YYYY-MM-DD\");\r\n if (newValue === \"Invalid date\") newValue = null;\r\n break;\r\n }\r\n case \"ValidEndDate\": {\r\n newValue = moment(data1)\r\n .add(Number(data2), \"month\")\r\n .format(\"YYYY-MM-DD\");\r\n if (newValue === \"Invalid date\") newValue = null;\r\n break;\r\n }\r\n default:\r\n break\r\n }\r\n return {dataField: field, value: newValue}\r\n }\r\n\r\n const onEditingStart = (e) => {\r\n const {data, column, key} = e;\r\n if (data.IsUpdate === 1) {\r\n e.cancel = true;\r\n }\r\n const getRowIndex = _.findIndex(dataGrid, o => o.EmployeeID === key);\r\n cellEditing.current = {rowIndex: getRowIndex, dataField: column.dataField};\r\n };\r\n\r\n const onRowUpdated = e => {\r\n const {data} = e;\r\n const {rowIndex} = cellEditing.current;\r\n const {dataField, value} = fieldUpdating.current;\r\n data.Updated = 1;\r\n if (timerUpdating.current) clearTimeout(timerUpdating.current);\r\n if (_.isEmpty(fieldUpdating.current)) return false;\r\n if (rowIndex === -1) return false;\r\n timerUpdating.current = setTimeout(() => {\r\n e.component.cellValue(rowIndex, dataField, value);\r\n fieldUpdating.current = {dataField: \"\", value: \"\"};\r\n cellEditing.current = {rowIndex: -1, dataField: \"\"};\r\n }, 300);\r\n }\r\n\r\n const onRowUpdating = e => {\r\n const {newData, oldData} = e;\r\n const {dataField, rowIndex} = cellEditing.current;\r\n switch (dataField) {\r\n case \"DisViolationActGroupID\":\r\n const getNewDisViolationActGroupID = _.get(newData, \"DisViolationActGroupID\", \"\");\r\n if (!_.has(cboDisViolationAct, getNewDisViolationActGroupID)) {\r\n loadCboDisViolationAct(getNewDisViolationActGroupID, data => {\r\n setCboDisViolationAct(data)\r\n });\r\n }\r\n fieldUpdating.current = {dataField: \"DisViolationActID\", value: \"\"};\r\n break;\r\n case \"NumMonth\":\r\n const getNewMonth = _.get(newData, \"NumMonth\", 0);\r\n if (!oldData?.ValidDate && oldData?.ValidEndDate) {\r\n fieldUpdating.current = handleUpdateCell(\"ValidDate\", oldData.ValidEndDate, getNewMonth);\r\n }\r\n if ((!oldData?.ValidEndDate && oldData?.ValidDate) || (oldData?.ValidEndDate && oldData?.ValidDate)) {\r\n fieldUpdating.current = handleUpdateCell(\"ValidEndDate\", oldData.ValidDate, getNewMonth);\r\n }\r\n\r\n break;\r\n case \"ValidDate\":\r\n const getNewValidDate = _.get(newData, \"ValidDate\", null);\r\n if (oldData?.ValidEndDate) {\r\n fieldUpdating.current = handleUpdateCell(\"NumMonth\", oldData.ValidEndDate, getNewValidDate);\r\n if (_.isNaN(fieldUpdating.current.value)) fieldUpdating.current = {\r\n ...fieldUpdating.current,\r\n value: newData?.NumMonth ? newData?.NumMonth : _.get(dataGrid, `[${rowIndex}]NumMonth`, 0)\r\n }\r\n }\r\n if (!oldData?.ValidEndDate && _.isNumber(oldData?.NumMonth)) {\r\n fieldUpdating.current = handleUpdateCell(\"ValidEndDate\", getNewValidDate, oldData?.NumMonth);\r\n }\r\n break;\r\n case \"ValidEndDate\":\r\n const getNewValidEndDate = _.get(newData, \"ValidEndDate\", null);\r\n if (oldData?.ValidDate) {\r\n fieldUpdating.current = handleUpdateCell(\"NumMonth\", getNewValidEndDate, oldData.ValidDate);\r\n if (_.isNaN(fieldUpdating.current.value)) fieldUpdating.current = {\r\n ...fieldUpdating.current,\r\n value: newData?.NumMonth ? newData?.NumMonth : _.get(dataGrid, `[${rowIndex}]NumMonth`, 0)\r\n }\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const onAttachment = () => {\r\n if (attRef) {\r\n attRef.current.onAttachment();\r\n }\r\n };\r\n\r\n const onSave = () => {\r\n const dataSource = refDataGrid.instance.option(\"dataSource\");\r\n let getVoucherID = {};\r\n let apiAction = \"save\";\r\n if (mode === \"edit\") {\r\n getVoucherID = {VoucherID: _.get(rowData, \"VoucherID\", \"\")}\r\n apiAction = \"update\"\r\n }\r\n\r\n const arrAttachments = _getAttachments();\r\n const params = {\r\n FormID: \"W09F2271\",\r\n Language: Config.language || \"84\",\r\n Data: JSON.stringify(_.map(dataSource, item => ({...item, IsCheck: !!item.IsCheck ? 1 : 0}))),\r\n arrAttachment: JSON.stringify(arrAttachments),\r\n ...dataForm,\r\n ...getVoucherID\r\n };\r\n const objErrors = _.reduce([{\r\n name: \"VoucherName\",\r\n isValid: !!dataForm.VoucherName\r\n },\r\n {\r\n name: \"VoucherName\",\r\n isValid: !!dataForm.ViolationDate\r\n },\r\n {\r\n name: \"dataGrid\",\r\n isValid: !!_.size(dataSource) || !_.every(dataSource, item => !!item.Deleted)\r\n }], (acc, currItem) => {\r\n if (!currItem.isValid) acc = {\r\n ...acc,\r\n [currItem.name]: currItem.name === \"dataGrid\" ? Config.lang(\"Vui_long_chon_nhan_vien\") : Config.lang(\"Truong_nay_bat_buoc_nhap\")\r\n }\r\n return acc;\r\n }, {})\r\n setErrors(objErrors);\r\n if (_.size(objErrors)) return false;\r\n (async () => {\r\n setSaving(true)\r\n const res = await Api.put(\"/w09f2271/\" + apiAction, params);\r\n setSaving(false)\r\n const getStatus = _.get(res, \"data.Status\", 1);\r\n const getMessageErr = _.get(res, \"message\", \"\") || _.get(res, \"data.Message\", \"\");\r\n if (!getStatus) {\r\n Config.notify.show(\"success\", Config.lang(\"Luu_thanh_cong\"), 2000);\r\n await saveHistory(params, _.get(res, \"data.TransID\", \"\"));\r\n onClose(true);\r\n }\r\n if (!!getMessageErr || !!getStatus) Config.popup.show(\"ERROR\", getMessageErr || Config.lang(\"Loi_khong_xac_dinh\"));\r\n })()\r\n };\r\n\r\n const saveHistory = async (data, _TransID) => {\r\n let getTransID = _TransID;\r\n let getAction = 0;\r\n let dataSource = JSON.parse(_.get(data, \"Data\", []));\r\n if (mode === \"edit\") {\r\n getTransID = _.get(rowData, \"VoucherID\", \"\");\r\n getAction = 1;\r\n }\r\n\r\n if (getTransID) {\r\n const captions = {\r\n VoucherName: \"ten_phieu\",\r\n Notes: \"ghi_chu\",\r\n VoucherCreateDate: \"ngay_tao_phieu\",\r\n ViolationDate: \"ngay_vi_pham\",\r\n };\r\n // name detail grid\r\n let detailCaptions = {\r\n EmployeeName: \"nhan_vien\",\r\n ValidDate: \"ngay_hieu_luc\",\r\n ProDisRewardFormName: \"hinh_thuc_ky_luat\",\r\n ProDisRewardLevelName: \"cap_ky_luat\",\r\n ProContent: \"noi_dung\",\r\n ProNotice: \"ghi_chu\",\r\n ...(_.reduce(getRewardCaption, (acc, currItem, currIdx) => {\r\n acc = {...acc, [currItem.Code]: \"he_so_\" + currIdx}\r\n return acc;\r\n }, {}))\r\n };\r\n const _dataOld = oldDataForm.current;\r\n\r\n const options = {\r\n data: data,\r\n captions: captions,\r\n dataCompare: _dataOld,\r\n action: getAction,\r\n ModuleID: \"D09\",\r\n TransID: getTransID,\r\n TransactionID: \"W09F2270\",\r\n TransactionName: \"Kỷ luật hàng loạt\",\r\n };\r\n const history = new History(options);\r\n history.createDetailHistory(\"Nhan_vien\", dataSource, oldDataGrid.current, detailCaptions, \"EmployeeID\", null, options); //Create detail..\r\n await history.save();\r\n }\r\n }\r\n\r\n const saveGrid = () => {\r\n refDataGrid.instance.saveEditData().done(() => {\r\n setTimeout(() => {\r\n if (editing.current === 0) {\r\n onSave();\r\n } else {\r\n editing.current = 0;\r\n }\r\n }, 200);\r\n });\r\n };\r\n\r\n const renderHeaderColumns = (e) => {\r\n return (\r\n {\r\n let newData = [];\r\n switch (col.dataField) {\r\n case \"ValidDate\":\r\n const getNewValidDate = _.get(data, \"ValidDate\", null);\r\n newData = _.map(dataGrid, item => {\r\n let fieldUpdate;\r\n const getValidEndDate = _.get(item, \"ValidEndDate\", null);\r\n const getNumMonth = _.get(item, \"NumMonth\", 0);\r\n if (getValidEndDate) {\r\n const dataUpdated = handleUpdateCell(\"NumMonth\", getValidEndDate, getNewValidDate);\r\n fieldUpdate = {NumMonth: dataUpdated.value};\r\n } else {\r\n const dataUpdated = handleUpdateCell(\"ValidEndDate\", getNewValidDate, getNumMonth);\r\n fieldUpdate = {ValidEndDate: dataUpdated.value}\r\n }\r\n return ({...item, ...fieldUpdate, Updated: 1})\r\n });\r\n break;\r\n case \"ValidEndDate\":\r\n const getNewValidEndDate = _.get(data, \"ValidEndDate\", null);\r\n newData = _.map(dataGrid, item => {\r\n let fieldUpdate;\r\n const getValidDate = _.get(item, \"ValidDate\", null);\r\n if (getValidDate) {\r\n const dataUpdated = handleUpdateCell(\"NumMonth\", getNewValidEndDate, getValidDate);\r\n fieldUpdate = {NumMonth: dataUpdated.value};\r\n }\r\n return ({...item, ...fieldUpdate, Updated: 1})\r\n });\r\n break;\r\n case \"NumMonth\":\r\n const getNewNumMonth = _.get(data, \"NumMonth\", 0);\r\n newData = _.map(dataGrid, item => {\r\n let fieldUpdate;\r\n const getValidDate = _.get(item, \"ValidDate\", null);\r\n const getValidEndDate = _.get(item, \"ValidEndDate\", null);\r\n if (getValidDate && (!getValidEndDate || getValidEndDate)) {\r\n const dataUpdated = handleUpdateCell(\"ValidEndDate\", getValidDate, getNewNumMonth);\r\n fieldUpdate = {ValidEndDate: dataUpdated.value}\r\n }\r\n if (!getValidDate && getValidEndDate) {\r\n const dataUpdated = handleUpdateCell(\"ValidDate\", getValidEndDate, getNewNumMonth);\r\n fieldUpdate = {ValidDate: dataUpdated.value}\r\n }\r\n return ({...item, ...fieldUpdate, Updated: 1});\r\n });\r\n break;\r\n\r\n default:\r\n break;\r\n\r\n }\r\n !_.isEmpty(newData) && setDataGrid(newData);\r\n }}\r\n conditionCopy={(eChild) => {\r\n const {data} = eChild;\r\n const dataSource = refDataGrid.instance.option(\"dataSource\");\r\n return (dataSource.find(i => !!i.IsCheck) && eChild.key !== \"IsCheck\") ? data.IsCheck : 1;\r\n }}\r\n />\r\n )\r\n };\r\n\r\n const renderEmployee = (e) => {\r\n const {data} = e.row;\r\n const user = Config.getUser({EmployeeID: data.EmployeeID});\r\n return
\r\n \r\n \r\n
\r\n };\r\n\r\n const calculateSelectedRow = (options) => {\r\n if (options.name === 'RowsSummary') {\r\n if (options.summaryProcess === 'start') {\r\n options.totalValue = 0;\r\n } else if (options.summaryProcess === 'calculate') {\r\n if (!options.value?.Deleted) {\r\n options.totalValue += 1;\r\n }\r\n }\r\n }\r\n };\r\n\r\n const cellRenderAction = (e) => {\r\n if (!e) return null;\r\n const {row} = e;\r\n return (\r\n {\r\n Config.popup.show(\"YES_NO\", Config.lang(\"Ban_co_chac_chan_muon_xoa_du_lieu_nay\"), () => {\r\n if (mode === \"add\") setDataGrid(_.filter(dataGrid, item => item.EmployeeID !== row.data.EmployeeID));\r\n if (mode === \"edit\") {\r\n e.component.cellValue(e.rowIndex, \"Deleted\", 1);\r\n e.component.saveEditData();\r\n }\r\n })\r\n }}\r\n />\r\n );\r\n };\r\n\r\n const rewardCaptionData = _.filter(getRewardCaption, [\"Disabled\", 0]);\r\n\r\n return <>\r\n {isShowModalW09F6000 && setShowModalW09F6000(false)}/>\r\n }\r\n onClose(false)}\r\n title={Config.lang(\"Lap_ky_luat_hang_loat\").toUpperCase()}>\r\n \r\n \r\n \r\n \r\n validation(\"VoucherName\", e.target.value || \"\")}\r\n required\r\n readOnly={mode === \"view\" || (mode === \"edit\" && _.toNumber(rowData?.AppStatusID) !== 0)}\r\n value={dataForm.VoucherName}\r\n disabled={isLoadingForm || isSaving}\r\n onChange={(e) => onChangeForm(\"VoucherName\", e)}\r\n label={Config.lang(\"Ten_phieu\")}\r\n placeholder={Config.lang(\"Nhap\")}\r\n />\r\n \r\n \r\n onChangeForm(\"Notes\", e)}\r\n label={Config.lang(\"Ghi_chu\")}\r\n placeholder={Config.lang(\"Nhap\")}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n onChangeForm('VoucherCreateDate', e)}\r\n />\r\n \r\n \r\n validation(\"ViolationDate\", e.target.value || \"\")}\r\n label={Config.lang(\"Ngay_vi_pham\")}\r\n actionIconAt=\"start\"\r\n error={errors['ViolationDate']}\r\n disabled={isLoadingForm || isSaving}\r\n value={dataForm.ViolationDate}\r\n displayFormat={\"DD/MM/YYYY\"}\r\n placeholder={\"DD/MM/YYYY\"}\r\n onChange={e => onChangeForm('ViolationDate', e)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {!!errors[\"dataGrid\"] ?\r\n {errors[\"dataGrid\"]} : \"\"}\r\n
\r\n \r\n
\r\n \r\n \r\n refDataGrid = ref}\r\n dataSource={dataGrid}\r\n keyExpr=\"EmployeeID\"\r\n showRowLines={true}\r\n showBorders={false}\r\n columnAutoWidth={true}\r\n showColumnLines={false}\r\n hoverStateEnabled={true}\r\n rowAlternationEnabled={false}\r\n pagerFullScreen={false}\r\n noDataText={Config.lang(\"No_data\")}\r\n style={{border: \"none\", overflowX: \"scroll\"}}\r\n loading={isLoadingGrid || isSaving}\r\n editing={{\r\n mode: 'cell',\r\n refreshMode: 'full',\r\n allowUpdating: mode !== \"view\" || (mode === \"edit\" && _.toNumber(rowData?.AppStatusID) !== 0),\r\n }}\r\n height={Config.getHeightGrid() - 280}\r\n filterValue={filterGridValue}\r\n filterPanel={{visible: true}}\r\n filterRow={{visible: true, showOperationChooser: false}}\r\n filterBuilderPopup={{\r\n onInitialized: (e) => {\r\n e.component.dispose();\r\n e.element.remove();\r\n }\r\n }}\r\n onRowValidating={e => {\r\n editing.current = +!e.isValid;\r\n }}\r\n sorting={{mode: \"none\"}}\r\n onEditingStart={onEditingStart}\r\n onCellPrepared={e => e.separator = \",\"}\r\n onRowPrepared={onRowPrepared}\r\n onFilterGrid={onFilterGrid}\r\n onCellSelectionChanged={(e) => {\r\n if (e.selectedRange && e.selectedRange.rowType !== \"header\") {\r\n selectedRange.current = e.selectedRange;\r\n }\r\n }}\r\n onEditorPreparing={onEditorPreparing}\r\n onRowUpdating={onRowUpdating}\r\n onRowUpdated={onRowUpdated}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n !!e.data.ValidDate}\r\n message=\"Giá trị bắt buộc nhập\"/>\r\n \r\n \r\n \r\n \r\n {\r\n acc = [...acc, ...cboDisViolationAct[currKey]];\r\n return acc;\r\n }, []),\r\n valueExpr: \"DisViolationActID\",\r\n displayExpr: \"DVAName\",\r\n }}\r\n editorOptions={{\r\n showClearButton: true,\r\n }}\r\n minWidth={140}\r\n dataField={\"DisViolationActID\"}\r\n />\r\n \r\n \r\n \r\n {_.map(rewardCaptionData, (item, k) => Number(cellValue[item.Code] || 0).toLocaleString()}\r\n editorOptions={{\r\n min: 0,\r\n showClearButton: true,\r\n format: {\r\n precision: Number(item?.Decimals) || 4,\r\n },\r\n }}\r\n headerCellRender={renderHeaderColumns}\r\n allowCopying={true}\r\n allowPasting={true}\r\n allowEditing={true}\r\n alignment={\"center\"}\r\n caption={item.Short || \"\"}\r\n dataField={item.Code || \"\"}/>)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n attRef.current = ref}\r\n disabled={isSaving || isLoadingAttachment || (mode === \"edit\" && _.toNumber(rowData?.AppStatusID) !== 0)}\r\n uploading={uploading}\r\n error={false}\r\n showButton={true}\r\n files={dataOldAttachments}\r\n isLocal={true}\r\n onChanged={onChangeAttachments}\r\n />\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n}\r\n\r\nexport default compose(connect(\r\n (state) => ({\r\n getCboDisRewardForm: state.W09F2070.getCboDisRewardForm,\r\n getCboProDisRewardLevel: state.W09F2070.getCboProDisRewardLevel,\r\n getCboDisViolationActGroup: state.W09F2070.getCboDisViolationActGroup,\r\n getCboDisViolationAct: state.W09F2070.getCboDisViolationAct,\r\n getRewardCaption: state.W09F2070.getRewardCaption,\r\n }),\r\n dispatch => ({\r\n w09f2070Actions: bindActionCreators(W09F2070Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch)\r\n }\r\n )), withStyles(styles))(W09F2271);\r\n","/**\r\n * @Copyright 2021 @DigiNet\r\n * @Author QUOCUY\r\n * @Create 6/24/2021\r\n * @Example\r\n */\r\n\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport {\r\n Button,\r\n Typography,\r\n Radio,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n CircularProgress,\r\n} from \"diginet-core-ui/components\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport * as W09F2230Actions from \"../../../../redux/W0X/W09F2230/W09F2230_actions\";\r\nimport Config from \"../../../../config\";\r\n\r\nconst styles = {\r\n loadingContainer: {\r\n position: \"absolute\",\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n alignItems: \"center\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n top: 0,\r\n left: 0,\r\n zIndex: 9999,\r\n },\r\n};\r\n\r\nconst W09F2230 = props => {\r\n const { open, onClose } = props;\r\n const [loading, setLoading] = useState(false);\r\n const [isDefaultMSS, setIsDefaultMSS] = useState();\r\n\r\n const dispatch = useDispatch();\r\n\r\n const dataOld = useRef();\r\n\r\n const loadData = () => {\r\n setLoading(true);\r\n dispatch(\r\n W09F2230Actions.getForm((errors, data) => {\r\n if (errors) {\r\n const message = errors.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show(\"INFO\", message);\r\n return false;\r\n } else if (data) {\r\n dataOld.current = data?.IsDefaultMSS;\r\n setIsDefaultMSS(data?.IsDefaultMSS);\r\n }\r\n setLoading(false);\r\n })\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (open) loadData();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [open]);\r\n\r\n const onSave = () => {\r\n const params = {\r\n IsDefaultMSS: isDefaultMSS,\r\n };\r\n setLoading(true);\r\n dispatch(\r\n W09F2230Actions.edit(params, (errors, data) => {\r\n if (errors) {\r\n const message = errors.message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show(\"INFO\", message);\r\n setLoading(false);\r\n return false;\r\n } else if (data) {\r\n if (data.Status === 1) {\r\n let message = data.Message || Config.lang(\"Loi_chua_xac_dinh\");\r\n Config.popup.show(\"INFO\", message);\r\n setLoading(false);\r\n } else {\r\n dataOld.current = isDefaultMSS;\r\n setLoading(false);\r\n Config.notify.show(\"success\", Config.lang(\"Luu_thanh_cong\"), 2000);\r\n }\r\n }\r\n })\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {loading && (\r\n
\r\n \r\n
\r\n )}\r\n {Config.lang(\"Man_hinh_mac_dinh_khi_dang_nhap\")}\r\n setIsDefaultMSS(0)}\r\n />\r\n setIsDefaultMSS(1)}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default W09F2230;\r\n","/**\r\n * @copyright 2019 @ DigiNet\r\n * @author NAMDANG\r\n * @create 9/29/2020\r\n * @Example\r\n */\r\n\r\nimport React from \"react\";\r\nimport {FormGroup, Col, Row, Image} from \"react-bootstrap\";\r\nimport Config from \"../../../../config\";\r\nimport ActionToolbar from \"../../../common/toolbar/action-toolbar\";\r\nimport Approvals from \"../../../approvals/approvals\";\r\nimport LabelText from \"../../../common/label-text/label-text\";\r\nimport {bindActionCreators, compose} from \"redux\";\r\nimport {connect} from \"react-redux\";\r\nimport {Input, withStyles, Checkbox, FormControlLabel, FormLabel as Label} from \"@material-ui/core\";\r\nimport InlineSVG from \"react-inlinesvg\";\r\nimport * as ApprovalActions from \"../../../../redux/approvals/approvals_actions\";\r\nimport * as generalActions from \"../../../../redux/general/general_actions\";\r\nimport * as W09F2152Actions from \"../../../../redux/W0X/W09F2152/W09F2152_actions\";\r\nimport * as W09F2150Actions from \"../../../../redux/W0X/W09F2150/W09F2150_actions\";\r\nimport ExpansionPanel from \"@material-ui/core/ExpansionPanel\";\r\nimport ExpansionPanelSummary from \"@material-ui/core/ExpansionPanelSummary\";\r\nimport ExpansionPanelDetails from \"@material-ui/core/ExpansionPanelDetails\";\r\nimport {Combo, TextField} from \"../../../common/form-material\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport DateBoxPicker from \"../../../common/form-material/date-box\";\r\nimport Filter from \"../../../filter/filter\";\r\nimport ButtonGeneral from \"../../../common/button/button-general\";\r\nimport moment from \"moment\";\r\nconst styles = {\r\n divAvatar: {\r\n width: 32,\r\n height: 32,\r\n borderRadius: '50%',\r\n border: '1px solid #ddd',\r\n overflow: 'hidden',\r\n marginRight: 8\r\n },\r\n imgAvatar: {\r\n width: '100%',\r\n maxWidth: '100%',\r\n objectFit: 'contain'\r\n },\r\n label: {\r\n fontSize: \"1rem\",\r\n fontWeight: 200,\r\n color:\"#757575\"\r\n },\r\n divText : {\r\n // fontSize: \"1rem\",\r\n fontWeight: 500,\r\n // color:\"#575757\"\r\n },\r\n expandPanel: {\r\n boxShadow: 'none'\r\n },\r\n expandSummary: {\r\n minHeight: '37px !important',\r\n padding: 0,\r\n '& .MuiExpansionPanelSummary-content': {\r\n margin: 0\r\n }\r\n },\r\n expandDetail: {\r\n display: 'block',\r\n padding: '0 0 10px 0'\r\n }\r\n};\r\n\r\nclass W09F2152 extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n iPermission: 0,\r\n dataForm: {},\r\n isExpanded: false,\r\n VoucherID: \"\",\r\n loadingDutyID: false,\r\n dataCboCode: [],\r\n cboEmployeeLoading: false,\r\n IsSalaryAdjustment: 0,\r\n Search: \"\",\r\n DutyID: \"\",\r\n AppStatusID: null,\r\n Employee: null,\r\n DateFrom: null,\r\n DateTo: null,\r\n dataCboEmployees: {\r\n rows: [],\r\n total: 0\r\n }\r\n };\r\n this.filter = {\r\n skip: 0,\r\n limit: 10\r\n };\r\n this.timer = null;\r\n this.interval = null;\r\n this.filterCboEmployees = {\r\n strSearch: \"\",\r\n skip: 0,\r\n limit: 50\r\n };\r\n }\r\n\r\n loadPermission = async () => {\r\n await this.props.generalActions.getPermission(\"W09F2152\", (isPer) => {\r\n this.setState({iPermission: isPer});\r\n });\r\n };\r\n\r\n loadCaption = () => {\r\n this.props.w09F2150Actions.loadCaption({Language: Config.language || \"84\" },(error, data) => {\r\n if (error) {\r\n Config.popup.show(\"ERROR\", error);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n loadCboEmployees = (isReset) => {\r\n const param = {\r\n HostID: \"\",\r\n Type: \"EmployeeID\",\r\n FormID: \"W09F2152\",\r\n Language: Config.language || \"84\",\r\n skip: this.filterCboEmployees.skip,\r\n limit: this.filterCboEmployees.limit,\r\n search: this.filterCboEmployees.strSearch\r\n };\r\n this.setState({cboEmployeeLoading: true});\r\n this.props.generalActions.getCboEmployees(param, (error, data) => {\r\n this.setState({cboEmployeeLoading: false});\r\n if (error) {\r\n let message = error.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n Config.popup.show(\"INFO\", message);\r\n return false;\r\n }\r\n if (data) {\r\n const {dataCboEmployees} = this.state;\r\n const rows = data && data.rows ? data.rows : data;\r\n const total = data && data.total ? data.total : data.length;\r\n this.setState({\r\n dataCboEmployees: {\r\n rows: isReset ? rows : dataCboEmployees.rows.concat(rows),\r\n total: total\r\n }\r\n })\r\n }\r\n });\r\n };\r\n\r\n loadPosition = () => {\r\n this.setState({loadingDutyID: true});\r\n this.props.generalActions.getCboDuty2(error => {\r\n this.setState({loadingDutyID: false});\r\n if (error) {\r\n let message = error.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n Config.popup.show(\"ERROR\", message);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n loadCboCode = () => {\r\n this.props.w09F2152Actions.getCboCode((error,data) => {\r\n if (error) {\r\n let message = error.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n Config.popup.show(\"ERROR\", message);\r\n return false;\r\n }\r\n if(data) {\r\n this.setState({dataCboCode : data});\r\n }\r\n });\r\n };\r\n\r\n loadCboStatus = () => {\r\n const params = {\r\n FormID: \"STANDARD\",\r\n Language: Config.language || '84'\r\n };\r\n this.props.approvalActions.getCboStatus(params, (error) => {\r\n if (error) {\r\n let message = error.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n });\r\n };\r\n\r\n handleFilterChange = (key, e) => {\r\n const {onTextFilterChanged} = this.props;\r\n switch (key) {\r\n case \"Search\":\r\n this.setState({Search : e.target.value});\r\n if (onTextFilterChanged) {\r\n if (this.timer) clearTimeout(this.timer);\r\n this.timer = setTimeout(() => {\r\n onTextFilterChanged(this.filter);\r\n }, 500);\r\n }\r\n break;\r\n case \"AppStatusID\":\r\n this.setState({AppStatusID : e.value});\r\n // this.filter.AppStatusID = e.value;\r\n break;\r\n case \"EmployeeID\":\r\n this.setState({Employee : e.value});\r\n // this.filter.Employee = e.value;\r\n break;\r\n case \"DutyID\":\r\n this.setState({DutyID : e.value});\r\n // this.filter.DutyID = e.value;\r\n break;\r\n case \"DateFrom\":\r\n this.setState({DateFrom : e.value});\r\n // this.filter.DateFrom = e.value;\r\n break;\r\n case \"DateTo\":\r\n this.setState({DateTo : e.value});\r\n // this.filter.DateTo = e.value;\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n componentDidMount = async () => {\r\n await this.loadPermission();\r\n if (!this.state.iPermission) return false;\r\n this.loadCboCode();\r\n this.loadCaption();\r\n this.loadPosition();\r\n this.loadCboStatus();\r\n this.loadCboEmployees();\r\n };\r\n\r\n onSelectionChanged = (e) => {\r\n if (!e) return false;\r\n this.loadFormInfo(e.VoucherID);\r\n };\r\n\r\n onDrawerClosed = () => {\r\n this.setState({VoucherID: \"\"});\r\n };\r\n\r\n loadFormInfo = (VoucherID, cb) => {\r\n const params = {\r\n DivisionID: Config.getDivisionID(),\r\n FormID: \"W09F2152\",\r\n Language: Config.language || \"84\",\r\n VoucherID: VoucherID ? VoucherID : \"\",\r\n };\r\n this.setState({\r\n dataForm: []\r\n });\r\n this.props.approvalActions.getFormInfo(params, (error, data) => {\r\n if (error) {\r\n let message = error.message || Config.lang(\"DHR_Loi_chua_xac_dinh\");\r\n Config.popup.show('INFO', message);\r\n return false;\r\n }\r\n if (data) {\r\n this.setState({\r\n dataForm: data\r\n });\r\n cb && cb (data);\r\n }\r\n });\r\n };\r\n\r\n renderFormInfo = (data) => {\r\n const {classes, getCaption} = this.props;\r\n const {isExpanded, dataCboCode} = this.state;\r\n if (data && data.UserPictureURL && data.UserPictureURL.indexOf('http') < 0) {\r\n data.UserPictureURL = Config.getCDNPath() + data.UserPictureURL;\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n return (\r\n
\r\n
\r\n {data && data.UserPictureURL ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n
\r\n );\r\n }}\r\n fullWidth={true}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n }\r\n label={Config.lang(\"DHR_Dieu_chinh_luong\")}\r\n />\r\n
\r\n
\r\n \r\n \r\n {data.IsSalaryAdjustment === 1 && dataCboCode && dataCboCode.map((dataCbo, index) => {\r\n if (dataCbo.Disabled) return null;\r\n let no = dataCbo && dataCbo.Code ? dataCbo.Code.slice(-2) : \"\";\r\n const dataField = \"ProBaseSalary\" + no;\r\n return (\r\n \r\n );\r\n })}\r\n {data.IsSalaryAdjustment === 1 && getCaption && getCaption.map((item, index) => {\r\n if (item.Disabled) return null;\r\n let no = item && item.Code ? item.Code.slice(-2) : \"\";\r\n const dataField = \"NewSalCoefficient\" + no;\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {\r\n this.setState({isExpanded: isExpaned})\r\n }}>\r\n }\r\n aria-label=\"Expand\"\r\n >\r\n
{Config.lang(\"DHR_Thong_tin_cu\")}
 \r\n {isExpanded ?\r\n {\"\"}\r\n\r\n :\r\n {\"\"}\r\n\r\n }\r\n \r\n \r\n \r\n \r\n {Config.lang(\"DHR_Chuc_vu\")}: \r\n {Config.helpers.getObjectValue(data, \"TempDutyName\", \"\")}\r\n \r\n \r\n \r\n {Number(data.IsSalaryAdjustment) === 1 && dataCboCode && dataCboCode.map((field, indx) => {\r\n if (field.Disabled) return null;\r\n const no = field && field.Code ? field.Code.slice(-2) : \"\";\r\n const dataField = \"TempBaseSalary\" + no;\r\n return (\r\n \r\n {field.CaptionName || \"\"}: \r\n {(data[dataField] && new Intl.NumberFormat().format(data[dataField])) || 0}\r\n \r\n );\r\n })}\r\n {Number(data.IsSalaryAdjustment) === 1 && getCaption && getCaption.map((field, indx) => {\r\n if (field.Disabled) return null;\r\n const no = field && field.Code ? field.Code.slice(-2) : \"\";\r\n const dataField = \"SalCoefficient\" + no;\r\n return (\r\n \r\n {field.CaptionName || \"\"}: \r\n {Number(data[dataField] || 0).toLocaleString()}\r\n \r\n );\r\n })}\r\n \r\n \r\n
\r\n
\r\n \r\n )\r\n };\r\n\r\n loadGrid = () => {\r\n if(this.refs['Approvals']) this.refs['Approvals'].onReset(true);\r\n };\r\n\r\n filterRender = () => {\r\n const {getCboStatus, getCboDuty} = this.props;\r\n const {dataCboEmployees, cboEmployeeLoading, loadingDutyID} = this.state;\r\n return (\r\n {\r\n return (\r\n <>\r\n \r\n \r\n \r\n this.handleFilterChange(\"AppStatusID\", e)}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const {data} = e;\r\n if (!data) return null;\r\n return data.EmployeeID + ' - ' + data.EmployeeName;\r\n }}\r\n showClearButton={true}\r\n // showCheckBoxMode={\"none\"}\r\n onValueChanged={(e) => this.handleFilterChange(\"EmployeeID\", e)}\r\n onInputChanged={(e) => {\r\n this.filterCboEmployees.strSearch = e.target.value;\r\n this.filterCboEmployees.skip = 0;\r\n this.loadCboEmployees(true);\r\n }}\r\n onLoadMore={(e) => {\r\n this.filterCboEmployees.skip = e.skip;\r\n this.filterCboEmployees.limit = e.limit;\r\n this.loadCboEmployees();\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n item && `${item.DutyID} - ${item.DutyName}`\r\n }\r\n valueExpr={'DutyID'}\r\n margin={\"dense\"}\r\n value={this.state.DutyID}\r\n stylingMode={'outlined'}\r\n disabled={loadingDutyID}\r\n showClearButton={true}\r\n placeholder={Config.lang('DHR_Chuc_vu')}\r\n onValueChanged={(e) => this.handleFilterChange(\"DutyID\", e)}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n this.handleFilterChange(\"DateFrom\", e)}\r\n />\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n this.handleFilterChange(\"DateTo\", e)\r\n }\r\n />\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n };\r\n\r\n render() {\r\n const {iPermission, dataForm, VoucherID, Search, DutyID, AppStatusID, Employee, DateFrom, DateTo} = this.state;\r\n if (!iPermission) return null;\r\n const objSearch = {Search, DutyID,ApprovalStatus: AppStatusID, EmployeeID: Employee && Employee.EmployeeID ,DateFrom: DateFrom ? moment(DateFrom).format(\"YYYY-MM-DD\") : null, DateTo : DateTo ? moment(DateTo).format(\"YYYY-MM-DD\") : null};\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default compose(connect(state => ({\r\n getCboDuty: state.general.getCboDuty2,\r\n getCboStatus: state.approvals.getCboStatus,\r\n getCaption: state.W09F2150.getCaption,\r\n }),\r\n (dispatch) => ({\r\n w09F2152Actions: bindActionCreators(W09F2152Actions, dispatch),\r\n w09F2150Actions: bindActionCreators(W09F2150Actions, dispatch),\r\n generalActions: bindActionCreators(generalActions, dispatch),\r\n approvalActions: bindActionCreators(ApprovalActions, dispatch),\r\n })\r\n), withStyles(styles, {withTheme: true}))(W09F2152);\r\n"],"sourceRoot":""}