{"version":3,"sources":["application/Components/ModalComponent.js","application/Utilities/AuthenticationInformation.js","application/Components/PropsRoute.js","application/Components/IMComponent.js","application/Components/IMErrorComponent.js","redux/actions/applicationActions.js","components/utility/PatternHelper.js","components/utility/Helper.js","application/License/Edit.js","application/License/LicenseGridForMerging.js","application/License/Index.js","application/LicenseUsage/LicenseUsagesGrid.js","components/SelectFile.js","application/LicenseUsage/LicenseUsagesHeader.js","application/LicenseUsage/List.js","application/LicenseUsage/LicenseUsagesNewRow.js","application/LicenseUsage/Index.js","application/Product/ProductSkus.js","application/Components/CenteredMidLayout.js","application/Product/Edit.js","application/Product/ProductsGrid.js","application/Product/List.js","application/Product/Index.js","application/SingleSignOn/Edit.js","application/Components/IM/IMRow.js","application/Components/IM/IMRowHeader.js","application/Components/IM/IMTable.js","application/SingleSignOn/List.js","application/SingleSignOn/Index.js","components/ResetPassword.js","application/User/UsersGrid.js","application/User/List.js","components/Semantic-ui-options.js","application/User/MyAccount.js","application/User/PasswordSetting.js","application/User/EditUser.js","application/Index.js","application/User/Index.js","application/Components/IMNavBar.js","application/Components/PrivateLayout.js","application/Components/PrivateRoute.js","application/Utilities/AuthenticationService.js","components/components/ErrorMessage.js","components/components/Textbox.js","components/AddLicense.js","application/License/LicenseGrid.js","components/License.js","components/LicensesFilter.js","components/MyAccount.js","components/PasswordSetting.js","components/UserList.js","components/ContentBlockList.js","components/Application.js","components/ForgotPassword.js","components/LoadingPage.js","application/Utilities/Utils.js","application/Services/history.js","application/Services/http.js","application/Services/authenticateHttp.js","components/Login.js","components/VerificationCode.js","components/ViewDetailWrapper.js","application/Components/IM/IMToastr.jsx","components/Logout.js","components/Main.js","redux/reducers/applicationReducers.js","redux/reducers/index.js","index.js","img/svg/check-solid.svg","img/svg/up-long-solid.svg"],"names":["confirmationModal","message","Promise","res","rej","ModalComponent","_Component","props","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","okConfirmationButton","cancelConfirmationButton","state","confirmation","title","setState","openConfirmationModal","self","_assertThisInitialized","_inherits","_createClass","key","value","_this$state","_this$state$confirmat","loadingState","React","createElement","Modal","open","Header","Content","Actions","Button","negative","onClick","color","content","closeOnEscape","closeOnDimmerClick","basic","className","hidden","Component","AuthenticationInformation","_instance","instance","getCurrentUser","_isUserAuthenticated","_userInformation","_needVerification","_firstTry","userInformation","isUserAuthenticated","needVerification","firstTry","ft","_useSms","sms","PropsRoute","_ref","rest","_objectWithoutProperties","Route","Object","assign","render","routeProps","component","_len","arguments","length","Array","_key","finalProps","apply","concat","renderMergedProps","IMComponent","model","undefined","showToastError","error","errorMessage","showToastSuccess","success","successMessage","resetModel","_objectSpread","onModelPropertyChange","target","name","validModel","onModelValidation","addError","errors","removeError","_ref2","clearErrors","onPropertyChange","_ref3","_ref3$target","_defineProperty","afterPropertyChanged","bind","IMErrorField","_ref4","children","Fragment","Popup","trigger","position","IMErrorComponent","actions","setCurrentUser","showLoading","hideLoading","notification","applicationActionCreator","payload","type","caller","specialCharsAndNumbers","upperCaseLetters","email","isEmailValid","match","emailPattern","getPasswordValidation","password","passwordSetting","minimunChars","uppercaseChars","specialChars","expirationMonths","twoFA","meetLengthPolicy","notMeetSpecialCharRegEx","meetSpecialCharPolicy","meetUpperPolicy","validations","push","status","messages","invalidEmail","firstNameRequired","lastNameRequired","usageWasAddedSucessfully","getCurrentDate","today","Date","mm","getMonth","dd","getDate","getFullYear","IsValidDate","ddmmyyyy","mmddyyyy","date","split","validate","normalizeMonth","t","m","parseInt","d","y","isFieldEmpty","str","replace","stringToDate","stringValue","moment","dateFormat","toDate","String","prototype","format","a","k","errorMessages","general","incorrectFormat","Edit","_IMComponent","startDate","endDate","setFullYear","encryptedProductId","userCount","sharepointIntegration","showRenewMsg","renewUserCount","currentUserCount","componentWillMount","productList","convertStringToInt","obj","propertyName","property","updateProducts","products","onProductsLoad","submitHandler","e","mode","preventDefault","promise","params","encryptedLicenseId","url","Axios","put","then","response","goToPageNavigation","catch","ex","data","post","_this$state$model","valid","checkChange","checkAdvancedTemplateChange","deleteLicense","delete","history","renewLicense","initializeProductFeatures","feature","options","filter","x","text","featureDisabled","initializeEndDate","loadProducts","loadEditInformation","get","productOptions","map","item","productId","includes","console","toString","manager","sharePointIntegration","advancedTemplate","m1","m2","months","duration","diff","asMonths","addMonths","add","_this2","_this$state$model2","firstName","lastName","_this$state$errors","errorEmail","errorFirstName","errorLastName","classColumn","currentUser","administrator","createButton","updateButton","deleteButton","renewButton","Form","size","primary","floated","secondary","disabled","Link","to","style","Icon","width","onSubmit","Input","required","label","onChange","placeholder","Select","DateInput","closable","initialDate","iconPosition","aria-hidden","min","Checkbox","checked","onClose","Description","textAlign","font-style","connect","ownProps","application","dispatch","LicenseGridForMerging","getProductName","changeEmailOrderBy","orderBy","ordering","order","find","_toConsumableArray","dir","callParentFilterChange","selectMainLicensePack","encryptedId","userEmail","validUntil","prevState","mainLicensePack","mainLicensePackProductId","mainUserEmail","mainValidUntil","selectedMainLicensePack","selectedMainLicensePackProductId","selectedForMerging","selectedMainUserEmail","selectedMainValidUntil","selectedMainLicensePacksValidUntil","selectForMergingLicensePack","some","mergeLicenses","selectedMainValidUntilTime","getTime","showConfirmModalForEndDate","showConfirmModalForProductId","showCombinedConfirmModal","mergeLicensesInternal","EncryptedUsageIds","EncryptedProductId","finally","renderTitleBar","href","xlinkHref","event","height","renderHeader","emailOrderIcon","Grid","columns","Row","Column","isAdmin","cursor","fontSize","paddingTop","paddingBottom","renderData","index","Math","random","wordWrap","trial","usedCount","canManage","htmlFor","defaultChecked","rememberPasswd","ref","id","renderNoData","renderConfirmationModalForEndDate","Confirm","onCancel","onConfirm","header","renderConfirmationModalForProductId","confirmModalForProductIdYes","messageForCombinedConfirmationModal","msg","item1","item2","List","bulleted","Item","renderCombinedConfirmationModal","confirmModalForEndDateYes","location","NaN","listForMerging","Index","Switch","exact","path","onNavigationEvent","goToPage","wordWrapper","LicenseUsageGrid","convertToUSDateFormat","dateString","elements","onFilterChanged","queryEmail","queryFirstName","queryLastName","resultData","matchSorter","keys","accountName","_","sortBy","row","showRole","roleName","emailForEditing","editedFirstName","fluid","handleDataChange","onFocus","onFocused","editedLastName","licenseEndDate","lastUsage","versionMatch","text-align","version","border","cellPadding","vertical-align","margin","src","CheckSvg","alt","UpSvg","paddingLeft","onManageAccessFocused","Dropdown","button","Menu","getManageAccessOptions","revokeUserRef","cryptId","display","onRevokeClick","sessionCount","removeSessionRef","onRemoveSessionsClick","editNameRef","editLicenseRow","saveNameRef","saveLicenseRows","licenseCryptId","extraColumn","selectedItem","onDataFocused","clearData","handleMouseEnter","handleMouseLeave","handleAction","stopPropagation","encryptedUsageId","_step","_iterator","_createForOfIteratorHelper","s","n","done","onMouseEnter","onMouseLeave","err","f","background","innerText","startsWith","click","tabIndex","SelectFile","_React$Component","onSelectionFileSuccess","fileObject","fileName","onDoneClickHandler","onCloseModalClick","modalOpen","selectFileComponent","showComponent","icon","comment","commentHtml","FilePicker","extensions","types","onError","errMsg","onErrorHandling","inverted","LicenseUsagesHeader","toggleEditManager","editManager","toggleChangeOrganizationName","editOrganizationName","toggleLinkOrganization","linkOrganization","toggleChangeOrganization","editOrganization","changeLicenseAdmin","isValidEmail","adminEmail","originalAdminEmail","LicenseId","licenseId","newAdminEmail","showConfirmModal","showMailSentMsg","changeOrganizationName","NewOrganizationName","organizationName","showChangeOrganizationNameConfirmModal","reloadData","onCancelChangeOrganizationName","changeOrganization","NewOrganizationId","organizationId","showChangeOrganizationConfirmModal","handleLinkOrganization","selectLicenseForLinking","organizations","l","handleLinkSelectedOrganization","EncryptedLicenseId","OrganizationId","OrganizationName","showLinkOrganizationConfirmModal","test","handleAdminEmailChange","handleOrganizationNameChange","handleaiGatewayLimitTokensChange","aiGatewayLimitTokensEdited","onClickUpdateAIFeatures","LimitTokens","showAIFeatures","handleOrganizationChange","handleGetSessionsFileClick","window","handleGetLicenseUserRolesFileClick","handleGetLicenseUserRolesTemplateFileClick","originalOrganizationName","onCancelChangeOrganization","originalOrganizationId","onCancelLinkOrganizationName","onCancelSelectOrganization","formData","FormData","append","headers","content-type","request","responseText","submitUpdateLifetimeHandler","getFsProCloudSettingsOptions","organizationForChanging","showLicenseAdministratorHistory","showLicenseManagemenHandler","showLicenseManagement","showFSProCloudSettingsHandler","showFSProCloudSettings","showUserDataOperationsHandler","showUserDataOperations","showAIFeaturesHandler","aiGatewayLimitTokens","renderLicenseAdministratorHistoryData","dateTimeChanged","importUsersRef","exportUsersRef","renameOrganizationRef","changeOrganizationRef","linkOrganizationRef","licenseAdministratorHistory","purchaserEmail","aiGatewayTokenId","aiGatewayInputTokens","aiGatewayOutputTokens","managerId","encryptedManagerId","encryptedOrganizationId","_step2","uniqueOrganizations","Map","_iterator2","has","set","organizationOptions","o","organizationOptionsForLinking","canUserImport","total","current","isHover","borderless","borderWidth","boxShadow","simple","direction","DropdownMenu","DropdownItem","isManager","verticalAlign","stretched","borderColor","borderStyle","paddingRight","class","search","selection","scrolling","fontWeight","padding-right","showErrorMessage","_step3","_iterator3","getUserDataOperationsOptions","addNewUsage","LicenseUsagesNewRow","role","handleAddLicenseUser","newLicenseUsage","encryptedRoleId","roleId","_this$props","canShowRoles","roles","roleSelected","descr","_this$props2","roleList","componentURL","onAddNewUsage","usage","addUserFromOtherOrganizationMode","updateUserOrganizationMode","onAddNewUsageWithDuplicateRevoking","onAddNewUsageSimple","duplicateOrganizationId","usages","something","duplicateEmail","duplicatedUsage","previousLurId","addingUserFromOtherOrganization","updateUserOrganizationOption","um","EncryptedOrganizationId","EncryptedEmail","loadLicenseUsages","log","loadData","revokeClicked","revokemode","getAttribute","removeSessionsClick","removemode","handleConfirmation","handleAddUserFromOtherOrganization","handleUpdateUserOrganization","handleUpdateUserOrganizationNo","duplicateLicenseId","duplicateUserId","duplicateRoleId","revokeReason","offlineChecked","Offline","renew","ToRenew","maximumSessions","currentLicense","loadRolesData","loadRolesFromServer","handleCancel","handleOfflineChecked","hasdataChanged","handleRenewChecked","handleUpdate","handleKeyPress","handleAddUserFromOtherOrganizationCancel","Id","charCode","userdata","MaximumSessions","responseType","handleFilter","_this$state2","canAddUsage","modalRevoke","modalAddUserFromOtherOrganization","modalUpdateUserOrganization","marginTop","maxWidth","ProductSkus","onDeleteSku","sku","onAddSku","newSku","skus","skuId","isNaN","newMonths","newQuantity","newYears","alert","years","quantity","cleanFields","onChangeNewSku","clickColumnSkuHandler","orderSku","skuFilterChangedHandler","skuIdFilter","renderNewSkuLine","orderedData","sort","b","Segment","overflow","maxHeight","CenteredMidLayout","Children","loadProductInformation","axios","onClickSubmitHandler","submitUpdateProduct","submitCreateProduct","productName","handleSkuDeleted","product","newSkus","productSkus","handleSkuAdded","formClassName","editmode","saveChangeslabel","lastVersion","downloadLink","mainProgram","shopifyAlias","limitTokens","modalButton","closeIcon","image","ProductsGrid","queryProductName","showProductEdit","r","deleteProduct","trim","loadProductsFromServer","showProductNew","isEdit","loadSSOSite","loadNewKeys","onSaveChangesClick","siteId","publicKey","privateKey","IMRow","i","colWidth","renderContent","overflowX","whiteSpace","textOverflow","renderRow","IMRowHeader","columnSortClass","identificator","columnSort","sortable","sortColumn","directionSort","filterRender","IMTable","originalItems","filters","paginationSize","activePage","filterRows","handlePaginationChange","onPaginationSizeChanged","_this3","_loop","column","filterColumn","originalItemsCount","itemsLeft","slice","items","count","forceUpdate","columnId","_this$state3","columnSorting","toLowerCase","chain","reverse","rows","hasFilters","_this$state4","maxPagination","ceil","tableLayout","hasFilter","renderTableBody","colSpan","Pagination","onPageChange","totalPages","deleteSSO","siteName","SSOId","filterCallback","showSSOSiteEdit","ResetPassword","onPasswordChange","newVal","newPassword","confirmPassword","passwordHelper","token","queryString","parse","handleNewPasswordChange","handleConfirmPasswordChange","handleResetPasswordSubmit","onPasswordChangeSuccessfully","encodeURIComponent","isLoading","autoComplete","withRouter","UsersGrid","queryName","onInputChanged","toggleAdministratorPermission","validateEmail","val","onHandleFilterChange","handleEditUser","loadDataGrid","pageNumber","pageSize","criteria","loading","handlePageChanged","lastSearched","handleFilterChange","usersToggleAdmin","handleSelected","saveChanges","loadUsersFromServer","users","usersAdminChanged","userId","findIndex","u","userIndex","persist","requesturl","manage","setUserList","setLicenseId","setUserCount","setUsedCount","detailType","detailName","clear","Message","info","defaultActivePage","float","marginLeft","Loader","active","countryOptions","flag","code","AccountCenteredMidLayout","MyAccount","phone","repassword","company","countryCode","phoneCode","loadCountriesAvailable","countries","onlyShortNames","shortName","filteredCountries","toUpperCase","country","currentCountryCode","onPasswordEnabled","passwordValidations","onPasswordDisabled","onSubmitHandler","loadUserData","createdAt","modifiedAt","componentDidMount","passwordEnabled","isValid","handleCountryChange","componentWillUpdate","loadPasswordSetting","_this$state$model3","classPassword","phoneEnabled","errorCountryCode","Field","Label","clearable","fontFamily","getPasswordSettings","PasswordSetting","passwordHistory","minChars","max","step","updateUser","createUser","idInt","magentoId","EditUser","IMNavBar","handleClick","handleLogout","onUserChange","navClass","isOpen","buttonMenuStyle","backgroundImage","PrivateLayout","menuOpen","document","getElementById","classList","remove","saveStatePrivate","appData","onClickMenuOpen","toggle","notificationInfo","isLicenseUsage","indexOf","contentStyle","marginRight","whiteSectionStyle","onUserChanged","marginBottom","LicenseUsage","License","User","SingleSignOn","Product","PrivateRoute","_extends","newProps","Redirect","AuthenticationService","onToggleLoadingPage","force","usr","resolve","previousUrl","saveStateGeneral","pathname","ErrorMessage","Textbox","validation","showError","handleBlur","handleChange","onKeyPress","onBlur","AddLicense","checkRequiredField","validated","emailErrorMessage","startdateErrorMessage","enddateErrorMessage","usercountErrorMessage","validateStartDate","validateEndDate","Manager","Name","StartDate","EndDate","UserCount","validateUserCount","handleNameKeyPress","handleUsercountKeyPress","submitLicense","updateLicenses","emptyFields","updateLicense","selectedIndex","onInsert","ProductId","keyCode","which","fromCharCode","returnValue","labelClassName","textboxClassName","buttonClassName","addupdateButton","LicenseGrid","queryProduct","queryStatus","queryType","changeFilterValue","changeInputText","onLicenseFilterChanged","truncateEmail","substring","manageUsersRef","handleLicenseUsageFilter","updateLicenseRef","handleLicenseEdit","renewLicenseRef","handleLicenseRenew","getEditLicenseOptions","handleSearchChange","option","selectedUser","filtered","LicensesFilter","emailPart","handleSearch","saveInGeneral","factoryGeneralState","searching","border-radius","backgroundColor","handleCountryCodeChange","onPhoneNumberChange","enablePassword","hasErrors","loadUserInformation","handleFirstNameChange","handleLastNameChange","handleEmailChange","handlePasswordChange","handleEnablePasswordChange","handleCompanyChange","handleUpdateSubmit","FirstName","LastName","Email","Password","passwordField","upperChars","numSpecialChars","handleCounterChange","UserList","Cell","filterable","cellInfo","original","ReactTable","defaultPageSize","noDataText","ContentBlockList","modal","showSuccessMessage","closeMessageModal","onCompletedEdition","detailId","onDetailSelectionChanged","getUserList","dataFromChild","licenseUserlist","getLicenseId","getUsedCount","getUserCount","updateUsedCount","onAddNewLicenseUsageHandler","licenseUsage","adding","licenseUserList","addMode","handleLicenseFilter","setCurrentLicense","license","handleLicensePageChanged","pagedFilterUpdated","searchLicensePaged","loadLicenseDataRows","lastSearchValue","list","loadTotalLicensesCount","handleLicenseGridFilterChanged","handleLicenseGridFilterInternal","isMerging","join","detailMode","removeMode","addLicenseRef","mergeLicenseRef","handleAdd","updateLicenseUser","getLicenseList","removeHandler","getLicenseManagementOptions","canRemove","locationUrl","unshift","_i","_items","addLicenseForm","licenseRows","usersGrid","licenseFilter","mergeLicensesButton","toggleAddButton","licenseManagementButton","userInformationForm","backButton","passwordSettingsButton","passwordSettingsView","hiddenAddLicenseButton","_this4","handleMerge","preventAddLicense","componentCanAddlicense","data-toggle","positive","dangerouslySetInnerHTML","__html","productDetailForm","productGrid","licenseUsageRows","addLicenseUserForm","Application","getTitle","expand","getDetailType","getUrl","loadLicensesFromServer","toggleNav","handleClickOutside","body","userName","reactClass","addEventListener","removeEventListener","tagName","contains","cookie","moveToDetail","detail","changeDetail","ForgotPassword","sending","sucess","handleForgotPasswordSubmit","login","form","LoadingPage","Dimmer","page","top","right","convertToForm","fields","forEach","createBrowserHistory","BEConfig","baseURL","processResponse","handleError","toLocaleLowerCase","JSON","stringify","handleStatusCodes","Error","config","authenticateZendDesk","method","Login","handleLoginSubmitZendDesk","authParams","authenticateHttp","zendDeskUrl","jwtUrl","jwt","URLSearchParams","jwtZendeskInputRef","jwtZendeskFormRef","submit","onLoginFailed","handleLoginSubmit","tokenExternalId","handleSuccessMessage","redirectUrl","RememberPassword","IsEncodedPassword","isEncodedPasswd","onUserLogined","handleLoginFailed","_props$match","_props$match2$params","_props$match2$params2","provider","createRef","loginFailed","handleUserChange","forgotPasswordHandleClick","handleRememberPasswd","handlePasswdFieldFocus","passFromCookie","parts","pop","shift","getCookieByName","action","VerificationCode","onSendCodeClickHandler","sender","verificationCode","onLogOutClickHandler","handleVerificationCodeSubmit","handleVerificationCodeChanged","onSendSmsVerificationClickHandler","onSendEmailVerificationClickHandler","ViewDetailWrapper","errorUrlMessage","headerMessage","cloneElement","toast","description","animation","time","SemanticToastContainer","defaultUrlHome","_queryString$parse","_queryString$parse$ur","urlHome","_queryString$parse$ki","kind","setTimeout","Main","logout","authenticated","tried","destroy","saveToGeneral","viewName","newState","viewState","getGeneralState","loadCurrentUser","user","userData","checkCountryCode","showCountryCodeFillMsg","onSetCurrentUser","closeCountryCodeFillMsg","events","resetTimeout","_clearTimeout","clearTimeout","logoutTimeout","_setTimeout","mainApp","Router","Logout","NoMatch","IMToastr","initialState","queue","reducers","combineReducers","errorNotification","store","createStore","__REDUX_DEVTOOLS_EXTENSION__","rootElement","ReactDOM","Provider","module","exports","__webpack_require__","p"],"mappings":"2UAGWA,kBAAoB,SAAUC,GACrC,OAAO,IAAIC,QAAQ,SAACC,EAAKC,GAAUD,QAElBE,EAAc,SAAAC,GAG/B,SAAAD,EAAYE,GAAO,IAAAC,EAqBd,OArBcC,YAAAC,KAAAL,IACfG,EAAAG,YAAAD,KAAAE,YAAAP,GAAAQ,KAAAH,KAAMH,KAHVO,qBAAuB,aAASN,EAChCO,yBAA2B,aAGvBP,EAAKQ,MAAQ,CACTC,aAAc,IAGlBjB,EAAoB,SAACkB,EAAOjB,GACxBO,EAAKW,SAAS,CAAEF,aAAc,CAAEC,QAAOjB,WAAWmB,uBAAuB,IACzE,IAAMC,EAAIC,wBAAAd,IAYV,OAXgB,IAAIN,QAAQ,SAACC,EAAKC,GAC9BiB,EAAKP,qBAAuB,WACxBO,EAAKF,SAAS,CAAEC,uBAAuB,IACvCjB,KAEJkB,EAAKN,yBAA2B,WAC5BM,EAAKF,SAAS,CAAEC,uBAAuB,IACvChB,QAKXI,EAoCJ,OA5D8Be,YAAAlB,EAAAC,GAyB9BkB,YAAAnB,EAAA,EAAAoB,IAAA,SAAAC,MAAA,WAEQ,IAAAC,EAC6EjB,KAAKM,MAA/EI,EAAqBO,EAArBP,sBAAqBQ,EAAAD,EAAEV,aAAgBhB,EAAO2B,EAAP3B,QAASiB,EAAKU,EAALV,MAASW,EAAYF,EAAZE,aACjE,OACIC,IAAAC,cAAA,WACID,IAAAC,cAACC,IAAK,CAACC,KAAMb,GACTU,IAAAC,cAACC,IAAME,OAAM,KAAEhB,GACfY,IAAAC,cAACC,IAAMG,QAAO,KACTlC,GAEL6B,IAAAC,cAACC,IAAMI,QAAO,KACVN,IAAAC,cAACM,IAAM,CAACC,UAAQ,EAACC,QAAS7B,KAAKI,sBAAsB,OACrDgB,IAAAC,cAACM,IAAM,CAACG,MAAM,OAAOD,QAAS7B,KAAKK,yBAA0B0B,QAAQ,aAG7EX,IAAAC,cAACC,IAAK,CACFC,KAAMJ,EACNa,eAAe,EACfC,oBAAoB,EACpBC,OAAK,GACLd,IAAAC,cAACC,IAAME,OAAM,KAAC,iBACdJ,IAAAC,cAACC,IAAMG,QAAO,KACVL,IAAAC,cAAA,OAAKc,UAAU,UAAUC,QAASpC,KAAKH,MAAMsB,cACzCC,IAAAC,cAAA,OAAKc,UAAU,OACXf,IAAAC,cAAA,OAAKc,UAAU,WACff,IAAAC,cAAA,SAAG,cAIfD,IAAAC,cAACC,IAAMI,QAAO,YAK7B/B,EA5D8B,CAAS0C,gCC6C7BC,EAnDmB,CAChCC,UAAW,KACXC,eA6CE,OA5CKxC,KAAKuC,YACRvC,KAAKuC,UAAY,CACfE,eAAc,WACZ,MAAO,mBAGTC,sBAAsB,EACtBC,iBAAkB,KAClBC,mBAAmB,EACnBC,WAAU,EAEVC,sBACE,OAAO9C,KAAK2C,kBAGdI,0BACE,OAAO/C,KAAK0C,sBAGdM,uBACE,OAAOhD,KAAK4C,mBAGdK,eACE,IAAMC,EAAKlD,KAAK6C,UAEhB,OADA7C,KAAK6C,WAAY,EACVK,GAGTJ,oBAAoBA,GAClB9C,KAAK2C,iBAAmBG,EAClBA,GACJ9C,KAAK0C,sBAAuB,EAC5B1C,KAAK4C,kBAAoBE,EAAgBE,iBACzChD,KAAKmD,QAAUL,EAAgBM,KAI/BpD,KAAK0C,qBAAuB1C,KAAK4C,kBAAoB5C,KAAKmD,SAAU,KAMrEnD,KAAKuC,qBC5BDc,EARI,SAAHC,GAA+B,IAAzBjB,EAASiB,EAATjB,UAAckB,EAAIC,YAAAF,EAAA,eACtC,OACElC,IAAAC,cAACoC,IAAKC,OAAAC,OAAA,GAAKJ,EAAI,CAAEK,OAAQ,SAACC,GACxB,OAVoB,SAACC,GAAuB,QAAAC,EAAAC,UAAAC,OAATV,EAAI,IAAAW,MAAAH,EAAA,EAAAA,EAAA,KAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJZ,EAAIY,EAAA,GAAAH,UAAAG,GAC3C,IAAMC,EAAaV,OAAOC,OAAMU,MAAbX,OAAM,CAAQ,IAAEY,OAAKf,IACxC,OACEnC,IAAMC,cAAcyC,EAAWM,GAOtBG,CAAkBlC,EAAWwB,EAAYN,4DCVjCiB,EAAW,SAAA5E,GAE5B,SAAA4E,EAAY3E,GAAmB,IAAAC,EAAZ2E,EAAKT,UAAAC,OAAA,QAAAS,IAAAV,UAAA,GAAAA,UAAA,GAAG,GASoB,OATlBjE,YAAAC,KAAAwE,IACzB1E,EAAAG,YAAAD,KAAAE,YAAAsE,GAAArE,KAAAH,KAAMH,KAWV8E,eAAiB,SAAUC,GACvB5E,KAAKH,MAAMgF,aAAaD,IAC3B9E,EAEDgF,iBAAmB,SAAUC,GACzB/E,KAAKH,MAAMmF,eAAeD,IAC7BjF,EAEDmF,WAAa,WACTjF,KAAKS,SAAS,CAAEgE,MAAKS,YAAA,GAAOlF,KAAKyE,UACpC3E,EAEDqF,sBAAwB,SAAA7B,GAAgB,IAAb8B,EAAM9B,EAAN8B,OACnBX,EAAQ3E,EAAKQ,MAAMmE,MACvBA,EAAMW,EAAOC,MAAQD,EAAOpE,MAC5BlB,EAAKW,SAAS,CACVgE,UAEJ3E,EAAKW,SAAS,CACV6E,WAAYxF,EAAKyF,uBAExBzF,EAED0F,SAAW,SAACH,EAAM9F,GACd,IAAIkG,EAAS3F,EAAKQ,MAAMmF,OACxBA,EAAOJ,GAAQ9F,EACfO,EAAKW,SAAS,CAAEgF,YACnB3F,EAED4F,YAAc,SAAAC,GAAgB,IAAbP,EAAMO,EAANP,OACTK,EAAS3F,EAAKQ,MAAMmF,OACxBA,EAAOL,EAAOC,MAAQ,KACtBvF,EAAKW,SAAS,CAAEgF,YACnB3F,EACD8F,YAAc,WACV9F,EAAKW,SAAS,CAAEgF,OAAQ,MAC3B3F,EAEDyF,kBAAoB,WAChB,OAAO,GACVzF,EAED+F,iBAAmB,SAAAC,GAAiC,IAAAC,EAAAD,EAA9BV,OAAUC,EAAIU,EAAJV,KAAMrE,EAAK+E,EAAL/E,MAClClB,EAAKW,SAAQuF,YAAA,GAAIX,EAAOrE,IACxBlB,EAAKmG,wBACRnG,EACDmG,qBAAuB,aAxDnBnG,EAAKQ,MAAQ,CACTmE,MAAOA,EACPgB,OAAQ,IAEZ3F,EAAK2E,MAAKS,YAAA,GAAQT,GAClB3E,EAAK6E,eAAe7E,EAAK6E,eAAeuB,KAAItF,wBAAAd,KAC5CA,EAAKgF,iBAAiBhF,EAAKgF,iBAAiBoB,KAAItF,wBAAAd,KAChDA,EAAKmF,WAAWnF,EAAKmF,WAAWiB,KAAItF,wBAAAd,KAAOA,EAC9C,OAZ2Be,YAAA2D,EAAA5E,GAY3B4E,EAZ2B,CAASnC,aAmElC,SAAS8D,EAAYC,GAAsB,IAAnBC,EAAQD,EAARC,SAAUzB,EAAKwB,EAALxB,MAErC,OACIxD,IAAAC,cAACiF,WAAQ,KACLlF,IAAAC,cAACkF,IAAK,CACFzE,MAAM,MACNK,UAAU,YACVqE,QAASH,EACTtE,QAAS6C,EACT6B,SAAS,eACTlF,OAAQqD,KC7EjB,SAAS8B,EAAgBpD,GAA+B,IAA5B+C,EAAQ/C,EAAR+C,SAAUzB,EAAKtB,EAALsB,MAAM6B,EAAQnD,EAARmD,SAE/C,OACIrF,IAAAC,cAACiF,WAAQ,KACLlF,IAAAC,cAACkF,IAAK,CACNzE,MAAM,MACNK,UAAU,YAENqE,QAASH,EACTtE,QAAS6C,EACT6B,SAAUA,EACVlF,OAAQqD,KCdjB,IAAM+B,EAAU,CACnBC,eAAgB,kBAChBC,YAAa,eACbC,YAAa,eACbC,aAAc,gBAGLC,EAA2B,CACpCJ,eAAgB,SAAUK,GAEtB,MAAO,CACHC,KAAMP,EAAQC,eACdK,YAGRJ,YAAa,SAAUM,GAEnB,MAAO,CACHD,KAAMP,EAAQE,YACdI,QAASE,IAGjBL,YAAa,SAAUK,GAEnB,MAAO,CACHD,KAAMP,EAAQG,YACdG,QAASE,IAGjBJ,aAAc,CACVnC,MAAO,SAAUA,GACb,MAAO,CACHsC,KAAMP,EAAQI,aACdE,QAAS,CACLrC,WAIZG,QAAS,SAAUA,GACf,MAAO,CACHmC,KAAMP,EAAQI,aACdE,QAAS,CACLlC,eASLiC,YCpDFI,EAAyB,gDACzBC,EAAmB,SACnBC,EAAQ,uJCId,SAASC,EAAaD,GAC3B,QAASA,GAASA,EAAME,MAAMC,GAGzB,SAASC,EAAsBC,GAAkC,IAAxBC,EAAe5D,UAAAC,OAAA,QAAAS,IAAAV,UAAA,GAAAA,UAAA,GAAG,KACxC,OAApB4D,IACFA,EAAkB,CAChBC,aAAc,EACdC,eAAgB,EAChBC,aAAc,EACdC,iBAAkB,EAClBC,OAAO,IAEX,IAAIC,EAAmBP,EAAS1D,QAAU2D,EAAgBC,aACtDM,EAA0Bf,EAC1BgB,EAAwBT,EAASH,MAAMW,GACvCE,EAAkBV,EAASH,MAAMH,GACjCiB,EAAc,GAMlB,OAJAA,EAAYC,KAAK,CAAEC,OAAQN,EAAkB3I,QAAO,YAAA+E,OAAcsD,EAAgBC,aAAY,iBAC9FS,EAAYC,KAAK,CAAEC,OAAkC,OAA1BJ,GAAkCA,EAAsBnE,QAAU2D,EAAgBG,aAAcxI,QAAO,YAAA+E,OAAcsD,EAAgBG,aAAY,kCAC5KO,EAAYC,KAAK,CAAEC,OAA4B,OAApBH,GAA4BA,EAAgBpE,QAAU2D,EAAgBE,eAAgBvI,QAAO,YAAA+E,OAAcsD,EAAgBE,eAAc,2BAE7JQ,EAGF,IAAMG,EAAW,CACtBhD,OAAQ,CACFiD,aAAc,0DACdC,kBAAmB,iCACnBC,iBAAkB,iCAExB7D,QAAS,CACP8D,yBAA0B,0CAIvB,SAASC,IACZ,IAAIC,EAAQ,IAAIC,KACZC,EAAKF,EAAMG,WAAa,EACxBC,EAAKJ,EAAMK,UASf,OAPIH,EAAK,KACLA,EAAK,IAAMA,GAGXE,EAAK,KACLA,EAAK,IAAMA,GAERF,EAAK,IAAME,EAAK,IAJZJ,EAAMM,cAOd,SAASC,EAAYC,GAC1B,OAA0D,OAAtDA,EAAS/B,MAAM,oCAad,SAAkBgC,GACvB,IAAIC,EAAO,IAAIT,KAAKQ,GAEpB,OADAA,EAAWA,EAASE,MAAM,KACnBD,EAAKP,WAAa,KAAOM,EAAS,IACvCC,EAAKL,aAAeI,EAAS,IAC7BC,EAAKJ,iBAAmBG,EAAS,GAf1BG,CAASJ,GA0Bb,SAASH,EAAQI,GAAkC,IAAxBI,EAAc5F,UAAAC,OAAA,QAAAS,IAAAV,UAAA,IAAAA,UAAA,GACxC6F,EAAIL,EAAShC,MAAM,mCACnBsC,EAAIC,SAASF,EAAE,GAAI,IAAKG,EAAID,SAASF,EAAE,GAAI,IAAKI,EAAIF,SAASF,EAAE,GAAI,IAMvE,OAJID,IACAE,GAAQ,GAGL,IAAId,KAAKiB,EAAGH,EAAGE,GAGnB,SAASE,GAAaC,GAE3B,MAAe,MADfA,EAAMA,EAAIC,QAAQ,SAAU,IAAIA,QAAQ,SAAU,KAwC7C,SAASC,GAAaC,GAC3B,OAAKA,EAEEC,IAAOD,EAAaE,IAAYC,SAD9BF,MAASE,SAMb,IAAMD,GAAa,aAQ1BE,OAAOC,UAAUC,OAAS,WACxB,IAAIC,EAAI7K,KACR,IAAK,IAAI8K,KAAK9G,UACZ6G,EAAIA,EAAET,QAAQ,IAAMU,EAAI,IAAK9G,UAAU8G,IAEzC,OAAOD,GAGF,IAAME,GAAgB,CAC3BC,QAAS,CACPC,gBAAiB,qDCnJfC,GAAI,SAAAC,GAEN,SAAAD,EAAYrL,GAAO,IAAAC,EAsB8C,OAtB9CC,YAAAC,KAAAkL,IACfpL,EAAAG,YAAAD,KAAAE,YAAAgL,GAAA/K,KAAAH,KAAMH,EAAO,CACTuL,UAAWb,IAAO,IAAIvB,MAAQ4B,OAAOJ,IACrCa,QAASd,KAAO,IAAIvB,MAAOsC,aAAY,IAAItC,MAAOK,cAAgB,IAAIuB,OAAOJ,IAC7EnF,KAAM,GACNkG,mBAAoB,GACpBC,UAAW,EACXC,uBAAuB,EACvBC,cAAc,EACdC,eAAgB,EAChBC,iBAAkB,MAe1BC,mBAAqB,WAEjB7L,KAAKS,SAAS,CAAEqL,YAAa,MAChChM,EAEDiM,mBAAqB,SAACC,EAAKC,GACvB,IAAIC,EAAWF,EAAIC,GACO,kBAAdC,IACRF,EAAIC,GAAgBlC,SAASmC,KAEpCpM,EAEDqM,eAAiB,SAACC,GACdtM,EAAKW,SAAS,CAAEqL,YAAaM,IACzBA,EAASnI,OAAS,GAClBnE,EAAKqF,sBAAsB,CACvBC,OAAQ,CACJC,KAAM,qBACNrE,MAAOoL,EAAS,GAAGpL,UAGlClB,EAEDuM,eAAiB,WACb,IAAMD,EAAWpM,KAAKM,MAAMwL,YACxBM,EAASnI,OAAS,GAClBjE,KAAKmF,sBAAsB,CACvBC,OAAQ,CACJC,KAAM,qBACNrE,MAAOoL,EAAS,GAAGpL,UAGlClB,EA4DDwM,cAAgB,SAAUC,EAAGvC,GACzB,GAAuB,GAAnBhK,KAAKH,MAAM2M,KAAf,CAGA,IAAM7L,EAAOX,KACbuM,EAAEE,iBACFzM,KAAKH,MAAMgH,YAAY,kBACvB,IAAMrG,EAAmE,SACrEkM,EAAU,KAGd,GAFA1M,KAAK+L,mBAAmBpL,EAAKL,MAAMmE,MAAO,aAEtC9D,EAAKd,MAAM2H,MAAMmF,OAAOC,mBAAoB,CAC5C,IAAMC,EAAM,iBAAmBlM,EAAKd,MAAM2H,MAAMmF,OAAOC,mBAEvDF,EAAUI,IAAMC,IAAIF,EAAKlM,EAAKL,MAAMmE,OAC/BuI,KAAK,SAAUC,GACZtM,EAAKmE,iBAAiB,CAAEtE,MAAO,kBAAmBjB,QAAS,sCAC3D2N,GAAmB,OAEtBC,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,OAGzD1M,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS,kEAItD,CAGHmN,EAAUI,IAAMQ,KAFJ,gBAEc3M,EAAKL,MAAMmE,OAChCuI,KAAK,SAAUC,GAEZtM,EAAKsE,aACLtE,EAAK0L,iBACL1L,EAAKmE,iBAAiB,CAClBtE,MAAO,kBACPjB,QAAS,wCAGhB4N,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,OAEzD1M,EAAKgE,eAAe,CAChBnE,MAAOA,EACPjB,QAAS,8DAM7B,OAAOmN,EACFS,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,OAGzD1M,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS,8DAGpDyN,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,sBAElChH,EAEDyF,kBAAoB,WAAY,IAAAgI,EACoBvN,KAAKM,MAA7CmE,MAASY,EAAIkI,EAAJlI,KAAM+F,EAASmC,EAATnC,UAAWC,EAAOkC,EAAPlC,QAC9BmC,GAAQ,EACR/H,EAAS,GAkBb,OAjBK8B,EAAalC,KACdI,EAAO6B,MAAQ,sBACfkG,GAAQ,GAEPlE,EAAY8B,KACb3F,EAAO2F,UAAY,2BACnBoC,GAAQ,GAEPlE,EAAY+B,KACb5F,EAAO4F,QAAU,yBACjBmC,GAAQ,GAERnD,GAAae,GAAaf,GAAagB,KACvC5F,EAAO2F,UAAY,kDACnBoC,GAAQ,GAEZxN,KAAKS,SAAS,CAAEgF,WACT+H,GACV1N,EAED2N,YAAc,SAAUlB,GACpB,IAAI9H,EAAQzE,KAAKM,MAAMmE,MACvBA,EAA6B,uBAAKA,EAA6B,sBAC/DzE,KAAKS,SAAS,CAAEgE,WACnB3E,EAED4N,4BAA8B,SAAUnB,GACpC,IAAI9H,EAAQzE,KAAKM,MAAMmE,MACvBA,EAAwB,kBAAKA,EAAwB,iBACrDzE,KAAKS,SAAS,CAAEgE,WACnB3E,EAED6N,cAAgB,SAAUpB,GACtBA,EAAEE,iBACFzM,KAAKH,MAAMgH,YAAY,kBACvB,IAAMlG,EAAOX,KACP6M,EAAM,iBAAmBlM,EAAKd,MAAM2H,MAAMmF,OAAOC,mBAEvD,OADA5M,KAAK+L,mBAAmBpL,EAAKL,MAAMmE,MAAO,aACnCqI,IAAMc,OAAOf,EAAKlM,EAAKL,MAAMmE,OAC/BuI,KAAK,WACFrM,EAAKmE,iBAAiB,CAAEtE,MAAO,kBAAmBjB,QAAS,wCAE9D4N,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAAO,kBAAmBjB,QAAS6N,EAAGH,SAASI,OAEpE1M,EAAKgE,eAAe,CAAEnE,MAAO,iBAAkBjB,QAAS,8DAGhEyN,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,kBACvBnG,EAAKd,MAAMgO,QAAQtF,KAAK,gBAEnCzI,EAEDgO,aAAe,SAAAvB,GACX,IAAM5L,EAAIC,wBAAAd,IAEVyM,EAAEE,iBACF,IACMI,EAAM,uBAAyBlM,EAAKd,MAAM2H,MAAMmF,OAAOC,mBAE7D,OADA9M,EAAKiM,mBAAmBpL,EAAKL,MAAMmE,MAAO,aACnCqI,IAAMQ,KAAKT,EAAKlM,EAAKL,MAAMmE,OAC7BuI,KAAK,SAAUC,GACRA,IACAtM,EAAKsE,aACLtE,EAAK0L,iBACL1L,EAAKmE,iBAAiB,CAAEtE,MAAO,kBAAmBjB,QAAS,sCAC3DoB,EAAKd,MAAMgO,QAAQtF,KAAK,gBAG/B4E,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,QAAoB4E,EAAGH,SAASI,KAAK1B,gBAAoByB,EAAGH,SAASI,KAAKzB,iBACvGjL,EAAKF,SAAS,CAAEiL,cAAc,EAAMC,eAAgByB,EAAGH,SAASI,KAAK1B,eAAgBC,iBAAkBwB,EAAGH,SAASI,KAAKzB,mBAEjHwB,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAClC7H,EAAKgE,eAAe,CAAEnE,MAjBpB,gBAiBkCjB,QAAS6N,EAAGH,SAASI,OAGzD1M,EAAKgE,eAAe,CAAEnE,MApBpB,gBAoBkCjB,QAAS,8DAGpDyN,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,qBAElChH,EAEDiO,0BAA4B,SAAA/D,GACxB,IAAIgE,EAAUhE,EAAEiE,QAAQC,OAAO,SAAAC,GAAC,OAAIA,EAAEpN,MAAQiJ,EAAEhJ,QAChD,GAAuB,IAAnBgN,EAAQ/J,OAAc,CACtB,IAAIQ,EAAQ3E,EAAKQ,MAAMmE,MACvB,OAAQuJ,EAAQ,GAAGI,MACf,IAAK,SACD3J,EAA6B,uBAAI,EACjCA,EAAwB,kBAAI,EAC5B3E,EAAKW,SAAS,CAAEgE,UAEhB3E,EAAKW,SAAS,CACV4N,iBAAiB,IAErB,MACJ,IAAK,qBACD5J,EAA6B,uBAAI,EACjCA,EAAwB,kBAAI,EAC5B3E,EAAKW,SAAS,CAAEgE,UAEhB3E,EAAKW,SAAS,CACV4N,iBAAiB,IAErB,MACJ,IAAK,kBACD5J,EAA6B,uBAAI,EACjCA,EAAwB,kBAAI,EAC5B3E,EAAKW,SAAS,CAAEgE,UAEhB3E,EAAKW,SAAS,CACV4N,iBAAiB,OAMpCvO,EAEDwO,kBAAoB,SAAAtE,GAChB,IAAIvF,EAAQ3E,EAAKQ,MAAMmE,MACnB2G,EAAY,IAAIpC,KAAKgB,EAAS,OAClCvF,EAAe,QAAI8F,IAAOa,EAAUE,YAAYF,EAAU/B,cAAgB,IAAIuB,OAAOJ,IAErF1K,EAAKW,SAAS,CAAEgE,WAjThB3E,EAAKyO,eACLzO,EAAK0O,sBACL1O,EAAKwM,cAAgBxM,EAAKwM,cAAcpG,KAAItF,wBAAAd,KAC5CA,EAAKuM,eAAiBvM,EAAKuM,eAAenG,KAAItF,wBAAAd,KAC9CA,EAAKyF,kBAAoBzF,EAAKyF,kBAAkBW,KAAItF,wBAAAd,KACpDA,EAAKyO,aAAezO,EAAKyO,aAAarI,KAAItF,wBAAAd,KAC1CA,EAAK2N,YAAc3N,EAAK2N,YAAYvH,KAAItF,wBAAAd,KACxCA,EAAK6N,cAAgB7N,EAAK6N,cAAczH,KAAItF,wBAAAd,KAC5CA,EAAKgO,aAAehO,EAAKgO,aAAa5H,KAAItF,wBAAAd,KAC1CA,EAAK4N,4BAA8B5N,EAAK4N,4BAA4BxH,KAAItF,wBAAAd,KACxEA,EAAKiM,mBAAqBjM,EAAKiM,mBAAmB7F,KAAItF,wBAAAd,KAAOA,EAibhE,OAzcKe,YAAAqK,EAAAC,GAyBLrK,YAAAoK,EAAA,EAAAnK,IAAA,eAAAC,MAAA,WAqCG,IAAML,EAAOX,KACb,OAAO8M,IAAM2B,IAAI,gBACZzB,KAAK,SAAUC,GACZ,IAAMyB,EAAiBzB,EAASI,KAAKsB,IAAI,SAAUC,GAC/C,MAAO,CAAE7N,IAAK6N,EAAKC,UAAY,GAAI7N,MAAO4N,EAAKC,UAAWT,KAAMQ,EAAKvJ,QAEpE6I,OAAO,SAAAC,GAAC,OAAIA,EAAEC,KAAKU,SAAS,YACjCnO,EAAKwL,eAAeuC,KAEvBvB,MAAM,SAAUZ,GACbwC,QAAQnK,MAAMjE,EAAKd,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,gBAG3D,CAAAjO,IAAA,sBAAAC,MAAA,WAGG,IAAIwL,EAAOxM,KAAKH,MAAM2M,KACtB,GAAIxM,KAAKH,MAAM2H,MAAMmF,OAAOC,mBAAoB,CAC5C,IAAMjM,EAAOX,KACb,OAAO8M,IAAM2B,IAAI,2BAA6BzO,KAAKH,MAAM2H,MAAMmF,OAAOC,oBACjEI,KAAK,SAAUC,GAeZ,GAdAtM,EAAKF,SAAS,CACVgE,MAAO,CACH+G,UAAWyB,EAASI,KAAK7B,UACzBnG,KAAM4H,EAASI,KAAK4B,QACpB7D,UAAW6B,EAASI,KAAKjC,UACzBC,QAAS4B,EAASI,KAAKhC,QACvBwD,UAAW5B,EAASI,KAAKwB,UACzBtD,mBAAoB0B,EAASI,KAAK9B,mBAClCE,sBAAuBwB,EAASI,KAAK6B,sBACrCC,iBAAkBlC,EAASI,KAAK8B,oBAGxCxO,EAAKF,SAAS,CAAEgF,OAAQ,KAEZ,GAAR+G,EAAW,CACX,IAAI4C,EAAK7E,IAAO0C,EAASI,KAAKjC,WAC1BiE,EAAK9E,IAAO0C,EAASI,KAAKhC,SAG1BiE,EADW/E,IAAOgF,SAASF,EAAGG,KAAKJ,IACjBK,WAGlBC,EAAyB,GAFbJ,EAAS,GAEQA,EAAS,GAE1C3O,EAAKF,SAAS,CACVgE,MAAO,CACH2G,UAAW6B,EAASI,KAAKhC,QACzBA,QAASd,IAAO0C,EAASI,KAAKhC,SAASsE,IAAID,EAAU,KAAK9E,OAAOJ,aAO5F,CAAAzJ,IAAA,SAAAC,MAAA,WA6MQ,IAAA4O,EAAA5P,KACsBiB,EAMSjB,KAAKM,MALjCwL,EAAW7K,EAAX6K,YAAW+D,EAAA5O,EAAEwD,MAASY,EAAIwK,EAAJxK,KAAMkG,EAAkBsE,EAAlBtE,mBAA+BH,GAAFyE,EAAThB,UAAoBgB,EAATzE,WAAWC,EAAOwE,EAAPxE,QAASG,EAASqE,EAATrE,UAAWC,EAAqBoE,EAArBpE,sBAAuB0D,EAAgBU,EAAhBV,iBAAkBW,EAASD,EAATC,UAAWC,EAAQF,EAARE,SAAYzK,EAAUrE,EAAVqE,WAAY+I,EAAepN,EAAfoN,gBAAe2B,EAAA/O,EACzLwE,OAAiBwK,EAAUD,EAAjB1I,MACK4I,EAAcF,EAAzBF,UACUK,EAAaH,EAAvBD,SAGFK,GAF2BJ,EAAzB5E,UACqB4E,EAArB3E,QACY,oBACpB,IAAKrL,KAAKH,MAAMwQ,YAAYhD,KAAKiD,cAE7B,OACIlP,IAAAC,cAAA,UAAI,iBAGZ,IAAIkP,EAAe,KACfC,EAAe,KACfC,EAAe,KACfC,EAAc,KAalB,YAZuBhM,GAAnB1E,KAAKH,MAAM2M,MAAwC,GAAnBxM,KAAKH,MAAM2M,KACvCxM,KAAKH,MAAM2H,MAAMmF,OAAOC,oBACxB4D,EAAepP,IAAAC,cAACsP,IAAKhP,OAAM,CAACiP,KAAK,QAAQC,SAAO,EAAC9O,QAAQ,SAAS+O,QAAQ,SAC1EL,EAAerP,IAAAC,cAACM,IAAM,CAACiP,KAAK,QAAQG,WAAS,EAAClP,QAAS7B,KAAK2N,cAAemD,QAAQ,QAAO,WAG1FP,EAAenP,IAAAC,cAACsP,IAAKhP,OAAM,CAACiP,KAAK,QAAQzO,UAAU,SAAS0O,SAAO,EAAC9O,QAAQ,SAAS+O,QAAQ,OAAOE,UAAW1L,IAG3F,GAAnBtF,KAAKH,MAAM2M,OAChBkE,EAActP,IAAAC,cAACM,IAAM,CAACiP,KAAK,QAAQC,SAAO,EAAChP,QAAS7B,KAAK8N,aAAcgD,QAAQ,QAAO,UAGtF1P,IAAAC,cAAA,OAAKc,UAAU,eACXf,IAAAC,cAAA,OAAKc,UAAU,uBACXf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,YAAY/O,UAAU,yBAAyBgP,MAjC3C,IAkCT/P,IAAAC,cAAC+P,IAAI,CAAC/L,KAAK,YAGnBjE,IAAAC,cAAA,MAAIc,UAAU,oBAAmB,YACjCf,IAAAC,cAAA,MAAIc,UAAU,4BAAgD,GAAnBnC,KAAKH,MAAM2M,KAAY,gBAAmBxM,KAAKH,MAAM2H,MAAMmF,OAAOC,mBAAsB,iBAAmB,kBACtJxL,IAAAC,cAAA,OAAKc,UAAU,UAAUgP,MAAO,CAAEE,MAAO,SACrCjQ,IAAAC,cAACsP,IAAI,CAACxO,UAAU,2BACZmP,SAAU,SAAC/E,EAAGvC,GAAC,OAAK4F,EAAKtD,cAAcC,EAAGvC,KAC1C5I,IAAAC,cAACqF,EAAgB,CAAC9B,MAAOqL,EAAYxJ,SAAS,gBAC1CrF,IAAAC,cAACsP,IAAKY,MAAK,CAACC,UAAQ,EAACC,MAAM,QAAQpM,KAAK,OAAOqM,SAAU1R,KAAKmF,sBAC1DP,MAAqB,MAAdqL,EACP9N,UAAWiO,EAAauB,YAAY,QAAQ3Q,MAAOqE,KAG3DjE,IAAAC,cAACqF,EAAgB,CAAC9B,MAAOsL,EAAgBzJ,SAAS,gBAC9CrF,IAAAC,cAACsP,IAAKY,MAAK,CAACE,MAAM,aAAapM,KAAK,YAAYqM,SAAU1R,KAAKmF,sBAC3DP,MAAyB,MAAlBsL,EACP/N,UAAWiO,EAAauB,YAAY,OAAO3Q,MAAO8O,KAG1D1O,IAAAC,cAACqF,EAAgB,CAAC9B,MAAOuL,EAAe1J,SAAS,gBAC7CrF,IAAAC,cAACsP,IAAKY,MAAK,CAACE,MAAM,YAAYpM,KAAK,WAAWqM,SAAU1R,KAAKmF,sBACzDP,MAAwB,MAAjBuL,EACPhO,UAAWiO,EAAauB,YAAY,IAAI3Q,MAAO+O,KAIvD3O,IAAAC,cAACsP,IAAKiB,OAAM,CAACJ,UAAQ,EAACrP,UAAWiO,EAAanC,QAASnC,EAAa2F,MAAM,UACtEpM,KAAK,qBAAqBrE,MAAOuK,EAAoBmG,SAAU,SAACnF,EAAGvC,GAAQ4F,EAAKzK,sBAAsB,CAAEC,OAAQ4E,IAAM4F,EAAK7B,0BAA0B/D,MAEzJ5I,IAAAC,cAACwQ,YAAS,CAACL,UAAQ,EAACrP,UAAWiO,EAC3B/K,KAAK,YAAYoM,MAAM,aACvBE,YAAY,aACZnH,WAAYA,GACZsH,UAAQ,EACRvC,SAAU,IACVwC,YAAa,IAAI/I,KACjBhI,MAAOoK,EACP4G,aAAa,OACbN,SAAU,SAACnF,EAAGvC,GAAQ4F,EAAKzK,sBAAsB,CAAEC,OAAQ4E,IAAM4F,EAAKtB,kBAAkBtE,MAC3FhK,KAAKH,MAAMwQ,YAAYhD,KAAKiD,cACzBlP,IAAAC,cAACwQ,YAAS,CAACL,UAAQ,EACfrP,UAAWiO,EACX/K,KAAK,UAAUoM,MAAM,WACrBE,YAAY,aACZnH,WAAYA,GACZsH,UAAQ,EACRd,UAAU,EACVzB,SAAU,IACVwC,YAAa3G,EACbpK,MAAOqK,EACP2G,aAAa,OACbN,SAAU,SAACnF,EAAGvC,GAAC,OAAK4F,EAAK/P,MAAMwQ,YAAYhD,KAAKiD,eAAiBV,EAAKzK,sBAAsB,CAAEC,OAAQ4E,OAE1G5I,IAAAC,cAAA,OAAKc,UAAU,0BACXf,IAAAC,cAAA,aAAO,YACPD,IAAAC,cAAA,OAAKc,UAAU,sBACXf,IAAAC,cAAA,KAAG4Q,cAAY,OAAO9P,UAAU,kBAChCf,IAAAC,cAAA,SAAOgE,KAAK,UAAU6B,KAAK,OAAOlG,MAAOoK,EAAU4D,SAAS,cAAegC,UAAQ,MAG/F5P,IAAAC,cAACsP,IAAKY,MAAK,CAACC,UAAQ,EAACC,MAAM,qBAAqBpM,KAAK,YAAYqM,SAAU1R,KAAKmF,sBAAuB+M,IAAI,IACvG/P,UAAWiO,EAAauB,YAAY,GAAG3Q,MAAOwK,EAAWtE,KAAK,WAE/B,GAA9BlH,KAAKM,MAAMmE,MAAMoK,UAClBzN,IAAAC,cAAA,WACAD,IAAAC,cAACsP,IAAKwB,SAAQ,CAACV,MAAM,yBAAyBW,QAAS3G,EAAuBpG,KAAK,wBAAwBqM,SAAU1R,KAAKyN,YAAauD,SAAU3C,IAC7IjN,IAAAC,cAACsP,IAAKwB,SAAQ,CAACV,MAAM,oBAAoBW,QAASjD,EAAkB9J,KAAK,mBAAmBqM,SAAU1R,KAAK0N,4BAA6BsD,SAAU3C,KAEpJjN,IAAAC,cAAA,YAEND,IAAAC,cAAA,WACAD,IAAAC,cAAA,OAAKc,UAAU,UACVqO,EACAC,EACAC,GAEJH,IAGTnP,IAAAC,cAACC,IAAK,CAACsP,KAAK,OAAOrP,KAAMvB,KAAKM,MAAMoL,aAAc2G,QAAS,WAAQzC,EAAKnP,SAAS,CAAEiL,cAAc,MAC7FtK,IAAAC,cAACC,IAAME,OAAM,KAAC,iBACdJ,IAAAC,cAACC,IAAMG,QAAO,KACVL,IAAAC,cAACC,IAAMgR,YAAW,KACdlR,IAAAC,cAAA,WACID,IAAAC,cAAA,SACID,IAAAC,cAAA,QAAM8P,MAAO,CAAErP,MAAO,YAAa,UAAa,gCAA6BV,IAAAC,cAAA,WAAM,yBAC7DD,IAAAC,cAAA,QAAM8P,MAAO,CAAErP,MAAO,YAAc9B,KAAKM,MAAMsL,kBAAwB,SAAMxK,IAAAC,cAAA,WAAM,sBACtFD,IAAAC,cAAA,QAAM8P,MAAO,CAAErP,MAAO,YAAc9B,KAAKM,MAAMqL,gBAAsB,SAAMvK,IAAAC,cAAA,WAAM,0HACmBD,IAAAC,cAAA,QAAM8P,MAAO,CAAErP,MAAO,YAAc9B,KAAKM,MAAMqL,gBAAsB,IAACvK,IAAAC,cAAA,QAAM8P,MAAO,CAAErP,MAAO,YAAa,MAAS,6CAA0CV,IAAAC,cAAA,YAEvRD,IAAAC,cAAA,KAAG8P,MAAO,CAAEoB,UAAW,QAASC,aAAc,WAAY,qDASrFtH,EAzcK,CAAS1G,GAwdJiO,oBAbS,SAACnS,EAAOoS,GAC5B,MAAO,CACHrC,YAAa/P,EAAMqS,YAAYtC,cAGvC,SAA4BuC,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFnC,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,KACnGsF,aAAc,SAAUtF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAanC,MAAMrF,OAGxFkT,CAA6CvH,iCC5d/C2H,GAAqB,SAAA1H,GAC9B,SAAA0H,EAAYhT,GAAO,IAAAC,EA0BoC,OA1BpCC,YAAAC,KAAA6S,IACf/S,EAAAG,YAAAD,KAAAE,YAAA2S,GAAA1S,KAAAH,KAAMH,KA4BViT,eAAiB,SAACjE,GACd,OAAQA,GACJ,KAAK,EAAG,MAAO,kBACf,KAAK,EAAG,MAAO,qBACf,KAAK,EAAG,MAAO,kBACf,QAAS,MAAO,KAEvB/O,EAEDiT,mBAAqB,WACjB,IAAMC,EAAUhT,KAAKM,MAAM0S,QAAQ9E,OAAO,SAAU+E,GAAY,MAAyB,UAAlBA,EAAS5N,OAC1E6N,EAAQlT,KAAKM,MAAM0S,QAAQG,KAAK,SAAUF,GAAY,MAAyB,UAAlBA,EAAS5N,OAC5ErF,KAAKS,SAAS,CACVuS,QAAO,GAAA1O,OAAA8O,aACAJ,GAAO,CACV,CACI3N,KAAM,QACNgO,IAAKH,GAAuB,QAAdA,EAAMG,IAAgB,OAAS,UAIrDrT,KAAKsT,yBACZxT,EAEDyT,sBAAwB,SAACC,EAAa3E,EAAW4E,EAAWC,EAAYnH,GACpEzM,EAAKW,SAAS,SAACkT,GACX,IAAIC,EAAiBC,EAA0BC,EAAeC,EAW9D,OATIJ,EAAUK,0BAA4BR,EACtCI,EAAkBC,EAA2BC,EAAgBC,EAAiB,IAE9EH,EAAkBJ,EAClBK,EAA2BhF,EAC3BiF,EAAgBL,EAChBM,EAAiBL,GAGd,CACHM,wBAAyBJ,EACzBK,iCAAkCJ,EAClCK,mBAAoB,GACpBC,sBAAuBL,EACvBM,uBAAwBL,EACxBM,mCAAoC,OAG/CvU,EAEDwU,4BAA8B,SAACd,EAAanI,EAASwD,EAAWtC,GAC5DzM,EAAKW,SAAS,SAAAkT,GAKV,MAAO,CACHO,mBALQP,EAAUO,mBAAmBK,KAAK,SAAApG,GAAC,OAAIA,EAAEqF,cAAgBA,IAC/DG,EAAUO,mBAAmBhG,OAAO,SAAAC,GAAC,OAAIA,EAAEqF,cAAgBA,IAC3DG,EAAUO,mBAAmB5P,OAAO,CAAEkP,YAAaA,EAAanI,QAASA,EAASwD,UAAWA,QAM1G/O,EAED0U,cAAgB,WACZ,IAAMN,EAAqBpU,EAAKQ,MAAM4T,mBAAmBhG,OAAO,SAAAC,GAAC,MAAsB,KAAlBA,EAAEqF,cACjEiB,EAA6BrL,EAAQtJ,EAAKQ,MAAM8T,wBAAwB,GAAMM,UAI9EC,EAA6BT,EAAmBK,KAAK,SAAApG,GAAC,OAAI/E,EAAQ+E,EAAE9C,SAAS,GAAMqJ,UAAYD,IAI/FG,EAA+BV,EAAmBK,KAAK,SAAApG,GAAC,OAAIA,EAAEU,YAAc/O,EAAKQ,MAAM2T,mCAEzFU,GAA8BC,EAC9B9U,EAAKW,SAAS,CACVoU,0BAA0B,IAG1BF,EACA7U,EAAKW,SAAS,CACVkU,2BAA4BA,IAEzBC,GACP9U,EAAKW,SAAS,CACVmU,6BAA8BA,IAKrCD,GAA+BC,GAChC9U,EAAKgV,yBAEZhV,EAEDgV,sBAAwB,WACpB,IAAMnU,EAAIC,wBAAAd,IACJU,EAAQ,gBACRkM,EAAUI,IAAM2B,IAAI,2BAA6B9N,EAAKL,MAAM0T,yBAC7DhH,KAAK,SAAUC,GACZtM,EAAKF,SAAS,CACVgE,MAAO,CACH6C,MAAO2F,EAASI,KAAK4B,QACrB1D,mBAAoB0B,EAASI,KAAK9B,sBAG1C5K,EAAKF,SAAS,CAAEgF,OAAQ,OAE3B0H,MAAM,SAAUC,GACb,MAAMA,IAETJ,KAAK,WACFF,IAAMQ,KAAI,iBAAAhJ,OAAkB3D,EAAKL,MAAM0T,wBAAuB,wBAC1D,CACIe,kBAAmBpU,EAAKL,MAAM4T,mBAAmBhG,OAAO,SAAAC,GAAC,MAAsB,KAAlBA,EAAEqF,cAC1D7E,IAAI,SAAAR,GAAC,OAAIA,EAAEqF,cAChBwB,mBAAoBrU,EAAKL,MAAMmE,MAAM8G,qBAExCyB,KAAK,WACFrM,EAAKmE,iBAAiB,CAAEtE,MAAOA,EAAOjB,QAAS,uCAC/C2N,GAAmB,OAEtBC,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,OAEzD1M,EAAKgE,eAAe,CAChBnE,MAAOA,EACPjB,QAAS,8DAIpB0V,QAAQ,WACLtU,EAAKd,MAAMiH,YAAY,2BAGlCqG,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,OAEzD1M,EAAKgE,eAAe,CAChBnE,MAAOA,EACPjB,QAAS,4DAIjBoB,EAAKd,MAAMiH,YAAY,yBAI/B,OADAhH,EAAKD,MAAMgH,YAAY,uBAChB6F,GACV5M,EAEDoV,eAAiB,WAAY,IAAAtF,EAAA5P,KACzB,MAA2C,KAAvCA,KAAKM,MAAM0T,yBAA6G,IAA3EhU,KAAKM,MAAM4T,mBAAmBhG,OAAO,SAAAC,GAAC,MAAsB,KAAlBA,EAAEqF,cAAoBvP,OACtG,CACH7C,IAAAC,cAAA,WACID,IAAAC,cAAA,KAAG8T,KAAK,YAAYhT,UAAU,4BAC1Bf,IAAAC,cAAA,OAAKc,UAAU,iBACXf,IAAAC,cAAA,OAAK+T,UAAU,+CAIvBhU,IAAAC,cAAA,OAAKc,UAAU,mBACXf,IAAAC,cAAA,SAAO6F,KAAK,SAAS/E,UAAU,gCAAgCnB,MAAM,iBAAiBiR,cAAY,OAAOpQ,QAAS,SAACwT,GAAK,OAAKzF,EAAK4E,sBAKvI,CACHpT,IAAAC,cAAA,WACID,IAAAC,cAAA,KAAG8T,KAAK,YAAYhT,UAAU,4BAC1Bf,IAAAC,cAAA,OAAKc,UAAU,iBACXf,IAAAC,cAAA,OAAK+T,UAAU,+CAIvBhU,IAAAC,cAAA,OAAK8P,MAAO,CAAEmE,OAAQ,SAAWnT,UAAU,+BACvCf,IAAAC,cAAA,MAAI8P,MAAO,CAAErP,MAAO,YAAa,wCAIpDhC,EAEDyV,aAAe,WACX,IAIMrC,EAAQlT,KAAKM,MAAM0S,QAAQG,KAAK,SAAUF,GAAY,MAAyB,UAAlBA,EAAS5N,OACtEmQ,EAAkBtC,EAAmC,SAAA5O,OAA2B,QAAd4O,EAAMG,IAAgB,OAAS,MAAvE,4BAChC,MAAO,CACHjS,IAAAC,cAACoU,IAAI,CAACC,QAAS,GACXtU,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,WACVK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,WAGtDf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,SACrEvS,KAAKM,MAAM+M,KAAKwI,QAAUzU,IAAAC,cAAA,OAAKQ,QAAS7B,KAAK+S,mBAAoB5B,MAbxD,CACtB2E,OAAQ,YAYgG,QACnF1U,IAAAC,cAAC+P,IAAI,CAAC/L,KAAI,GAAAf,OAAKkR,KAAoB,KACxC,SAERpU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,SAAU,QAGpFnR,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,SAAU,UAGpFnR,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,SAAUwD,SAAU,WAAY,cAG1G3U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,SAAUwD,SAAU,WAAY,eAG1G3U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,UAGtDf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,QAGtDf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,UAI1Df,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,YAAYoQ,MAAO,CAAE6E,WAAY,MAAOC,cAAe,QACjE7U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBAGjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBAGjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBAGjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBAGjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,WACtEnR,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,SAAU,iBAEvC3U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,WACtEnR,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,SAAU,iBAEvC3U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBAGjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,2BAIhDrC,EAEDoW,WAAa,SAAC7I,EAAM2G,GAChB,OAAO3G,EAAKsB,IAAI,SAACC,EAAMuH,GACnB,OAAO/U,IAAAC,cAACoU,IAAI,CAACC,QAAS,GAClBtU,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAG,GAAAuD,OAAK6R,GAAK7R,OAAG8R,KAAKC,WAC3BjV,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,OAAKc,UAAU,QACVrC,EAAKgT,eAAelE,EAAKC,aAGlCzN,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAGb,MAAOoO,EAAKK,QAASkC,MAAO,CAAEmF,SAAU,eAAqD1H,EAAKK,SAAY7N,IAAAC,cAAA,SAAIuN,EAAKvJ,OAE9HjE,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAG8P,MAAO,CAAEoB,UAAW,SAAkC,SAAvB7H,OAAOkE,EAAK2H,OAAoB,QAAU,SAEhFnV,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAG8P,MAAO,CAAEoB,UAAW,SAAW3D,EAAKpG,SAE3CpH,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAG8P,MAAO,CAAEoB,UAAW,WAAa3D,EAAKxD,YAE7ChK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAG8P,MAAO,CAAEoB,UAAW,WAAa3D,EAAKvD,UAE7CjK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAG8P,MAAO,CAAE4E,SAAUnH,EAAK4H,UAAY,IAAM5H,EAAKpD,UAAY,GAAK,SAAW,QAAUoD,EAAK6H,WAAa3W,EAAKQ,MAAM+M,KAAKwI,QAAUjH,EAAK4H,UAAY,MAAQ5H,EAAKpD,UAAY,KAElLpK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,WACID,IAAAC,cAAA,SAAOqV,QAAO,wBAAApS,OAA0B6R,GAAShF,MAAO,CAAE4E,SAAU,SAChE3U,IAAAC,cAAA,SAAO6F,KAAK,WACRyP,eAAgB7W,EAAKQ,MAAMsW,eAC3BC,IAAG,wBAAAvS,OAA0B6R,GAC7BtU,QAAS,SAAC0K,GAAC,OAAKzM,EAAKyT,sBAAsB3E,EAAK4E,YAAa5E,EAAKC,UAAWD,EAAKK,QAASL,EAAKvD,QAASkB,IAAIuK,GAAE,wBAAAxS,OAA0B6R,GACzI/D,QAASxD,EAAK4E,cAAgB1T,EAAKQ,MAAM0T,wBACzC7R,UAAU,2BACdf,IAAAC,cAAA,QAAMc,UAAU,gCAI5Bf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACD,KAAvCvW,EAAKQ,MAAM0T,yBAAkCpF,EAAK4E,cAAgB1T,EAAKQ,MAAM0T,wBACxE5S,IAAAC,cAAA,WACED,IAAAC,cAAA,SAAOqV,QAAO,yBAAApS,OAA2B6R,GAAShF,MAAO,CAAE4E,SAAU,SACjE3U,IAAAC,cAAA,SAAO6F,KAAK,WACRyP,eAAgB7W,EAAKQ,MAAMsW,eAC3BC,IAAG,yBAAAvS,OAA2B6R,GAC9BtU,QAAS,SAAC0K,GAAC,OAAKzM,EAAKwU,4BAA4B1F,EAAK4E,YAAa5E,EAAKvD,QAASuD,EAAKC,UAAWtC,IACjGuK,GAAE,yBAAAxS,OAA2B6R,GAC7B/D,QAAStS,EAAKQ,MAAM4T,mBAAmBK,KAAK,SAAApG,GAAC,OAAIA,EAAEqF,cAAgB5E,EAAK4E,cACxErR,UAAU,2BACdf,IAAAC,cAAA,QAAMc,UAAU,+BAGtB,WAMzBrC,EAEDiX,aAAe,WACX,MAAO,CACH3V,IAAAC,cAAA,WACID,IAAAC,cAAA,KAAG8T,KAAK,YAAYhT,UAAU,4BAC1Bf,IAAAC,cAAA,OAAKc,UAAU,iBACXf,IAAAC,cAAA,OAAK+T,UAAU,+CAIvBhU,IAAAC,cAAA,OAAKc,UAAU,mBACXf,IAAAC,cAAA,UAAI,kCAGnBvB,EAEDkX,kCAAoC,WAChC,MAAO,CACH5V,IAAAC,cAAC4V,KAAO,CACJ1V,KAAMzB,EAAKQ,MAAMqU,2BACjBuC,SAAU,WAAQpX,EAAKW,SAAS,CAAEkU,4BAA4B,KAC9DwC,UAAWrX,EAAKgV,sBAChBsC,OAAO,gBACPrV,QAAQ,kHACnBjC,EAEDuX,oCAAsC,WAClC,MAAO,CACHjW,IAAAC,cAAC4V,KAAO,CACJ1V,KAAMzB,EAAKQ,MAAMsU,6BACjBsC,SAAU,WAAQpX,EAAKW,SAAS,CAAEmU,8BAA8B,EAAO0C,6BAA6B,KACpGH,UAAWrX,EAAKgV,sBAChBsC,OAAO,gBACPrV,QAAQ,2GACnBjC,EAEDyX,oCAAsC,SAACC,EAAKC,EAAOC,GAC/C,MAAO,CACHtW,IAAAC,cAAA,WACID,IAAAC,cAAA,SAAImW,GACJpW,IAAAC,cAACsW,KAAI,CAACC,UAAQ,GACVxW,IAAAC,cAACsW,KAAKE,KAAI,KAAEJ,GACZrW,IAAAC,cAACsW,KAAKE,KAAI,KAAEH,OAG3B5X,EAEDgY,gCAAkC,WAC9B,MAAO,CACH1W,IAAAC,cAAC4V,KAAO,CACJ1V,KAAMzB,EAAKQ,MAAMuU,yBACjBqC,SAAU,WAAQpX,EAAKW,SAAS,CAAEoU,0BAA0B,EAAOkD,2BAA2B,EAAOT,6BAA6B,KAClIH,UAAWrX,EAAKgV,sBAChBsC,OAAO,gBACPrV,QAASjC,EAAKyX,oCAAoC,qCAAsC,4EAA6E,yEAvY7KzX,EAAKQ,MAAQ,CACT+M,KAAMvN,EAAKD,MAAMmY,SAAS1X,MAC1B4N,OAAQ,CAAE5G,MAAO,IACjB0L,QAAS,GACTgB,wBAAyB,GACzBC,iCAAkC,GAClCG,uBAAwB,GACxBD,sBAAuB,GACvBD,mBAAoB,CAChB,CACIV,YAAa,GACbnI,QAAS4M,IACTpJ,UAAWoJ,MAGnBtD,4BAA4B,EAC5BC,8BAA8B,EAC9BC,0BAA0B,GAG9B/U,EAAKiT,mBAAqBjT,EAAKiT,mBAAmB7M,KAAItF,wBAAAd,KACtDA,EAAKyT,sBAAwBzT,EAAKyT,sBAAsBrN,KAAItF,wBAAAd,KAC5DA,EAAKwU,4BAA8BxU,EAAKwU,4BAA4BpO,KAAItF,wBAAAd,KACxEA,EAAK0U,cAAgB1U,EAAK0U,cAActO,KAAItF,wBAAAd,KAAOA,EAyXtD,OApZ6Be,YAAAgS,EAAA1H,GA4B7BrK,YAAA+R,EAAA,EAAA9R,IAAA,SAAAC,MAAA,WAmXG,YAAwB0D,IAApB1E,KAAKM,MAAM+M,KACJ,CAACrN,KAAKkV,iBAAkBlV,KAAKuV,eAAgBvV,KAAKkW,WAAmBlW,KAAKM,MAAM+M,KAAK6K,eAAgBlY,KAAKM,MAAM0T,yBACvHhU,KAAKgX,oCAAqChX,KAAKqX,sCAAuCrX,KAAK8X,mCAEpF,CAAC9X,KAAK+W,oBACpBlE,EApZ6B,CAASrO,GA+Z5BiO,oBAAQ,KARvB,SAA4BG,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFnC,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,KACnGsF,aAAc,SAAUtF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAanC,MAAMrF,OAGxFkT,CAAkCI,ICva5BsF,GAAK,SAAAvY,GAAA,SAAAuY,IAAA,OAAApY,YAAAC,KAAAmY,GAAAlY,YAAAD,KAAAE,YAAAiY,GAAA9T,MAAArE,KAAAgE,YAUrB,OAVqBnD,YAAAsX,EAAAvY,GAAAkB,YAAAqX,EAAA,EAAApX,IAAA,SAAAC,MAAA,WAElB,OACII,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACoC,IAAK,CAAC4U,OAAK,EAACC,KAAK,eAAexU,UAAWoH,GAAMqN,kBAAmBvY,KAAKuY,oBAC1EnX,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,oCAAoCjW,UAAW6I,GAAMsN,SAAUxY,KAAKH,MAAM2Y,SAAUhM,KAAM,IACjHpL,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,qCAAqCjW,UAAW6I,GAAMsN,SAAUxY,KAAKH,MAAM2Y,SAAUhM,KAAM,IAClHpL,IAAAC,cAACoC,IAAK,CAAC4U,OAAK,EAACC,KAAK,mBAAmB1U,OAAQ,SAAC/D,GAAK,OAAKuB,IAAAC,cAACwR,GAA0BhT,WAG9FsY,EAVqB,CAAS9V,8kCCQnC,IAAMoW,GAAc,CAChBnC,SAAU,cAGRoC,GAAgB,SAAAvN,GAClB,SAAAuN,EAAY7Y,GAAO,IAAAC,EA4BkC,OA5BlCC,YAAAC,KAAA0Y,IACf5Y,EAAAG,YAAAD,KAAAE,YAAAwY,GAAAvY,KAAAH,KAAMH,KA6BV8Y,sBAAwB,SAACC,GACrB,IAAIC,EAAWD,EAAWlP,MAAM,KAChC,OAAImP,EAAS5U,OAAS,EAAU2U,EACzBC,EAAS,GAAK,IAAMA,EAAS,GAAK,IAAMA,EAAS,IAC3D/Y,EAEDgZ,gBAAkB,WAAM,IAAA7X,EACkCnB,EAAKQ,MAAnDyY,EAAU9X,EAAV8X,WAAYC,EAAc/X,EAAd+X,eAAgBC,EAAahY,EAAbgY,cAChCC,EAAapZ,EAAKD,MAAMwN,KAO5B,OANI0L,IACAG,EAAaC,aAAYD,EAAYH,EAAY,CAAEK,KAAM,CAAC,SAAAjL,GAAC,OAAIA,EAAEkL,iBACjEL,IACAE,EAAaC,aAAYD,EAAYF,EAAgB,CAAEI,KAAM,CAAC,SAAAjL,GAAC,OAAIA,EAAE2B,eACrEmJ,IACAC,EAAaC,aAAYD,EAAYD,EAAe,CAAEG,KAAM,CAAC,SAAAjL,GAAC,OAAIA,EAAE4B,cACjEuJ,IAAEC,OAAOL,EAAY,SAAAM,GAAG,OAAIA,EAAIH,eAC1CvZ,EAsJDoW,WAAa,SAAC7I,GAEV,OADqBvN,EAAKD,MAAlB4Z,SAEGpM,EAAKsB,IAAI,SAACC,EAAMuH,GAAK,OACxB/U,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,eAAeoQ,MAAOsH,IAChCrX,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,MAAA7R,OAAK8R,KAAKC,WAC1CjV,IAAAC,cAAA,SAAIuN,EAAKyK,cAEbjY,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,MAAA7R,OAAK8R,KAAKC,WAC1CjV,IAAAC,cAAA,SAAIuN,EAAK8K,WAEbtY,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAC/BvH,EAAKyK,cAAgBvZ,EAAKQ,MAAMqZ,gBAC3BvY,IAAAC,cAAA,SAAIuN,EAAKkB,UAAU,KACnB1O,IAAAC,cAACkQ,KAAK,CAAClM,KAAK,YAAY6B,KAAK,OAAO/E,UAAU,aAAanB,MAAOlB,EAAKQ,MAAMsZ,gBAAiBC,OAAK,EAACnI,SAAU5R,EAAKga,iBAAkBC,QAAS,SAAAxN,GAAC,OAAIzM,EAAKka,UAAUzN,EAAGqC,OAG/KxN,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAC/BvH,EAAKyK,cAAgBvZ,EAAKQ,MAAMqZ,gBAC3BvY,IAAAC,cAAA,SAAIuN,EAAKmB,SAAS,KAClB3O,IAAAC,cAACkQ,KAAK,CAAClM,KAAK,WAAW6B,KAAK,OAAO/E,UAAU,aAAanB,MAAOlB,EAAKQ,MAAM2Z,eAAgBJ,OAAK,EAACnI,SAAU5R,EAAKga,iBAAkBC,QAAS,SAAAxN,GAAC,OAAIzM,EAAKka,UAAUzN,EAAGqC,OAM7KxN,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,MAAA7R,OAAK8R,KAAKC,WAC1CjV,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,UAAYjW,EAAKD,MAAMqa,iBAEpD9Y,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,MAAA7R,OAAK8R,KAAKC,WAC1CjV,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,UAAYnH,EAAKuL,YAE9C/Y,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,MAAA7R,OAAK8R,KAAKC,WACpB,MAArBzH,EAAKwL,aAAuBhZ,IAAAC,cAAA,KAAG8P,MAAO,CAAEkJ,aAAc,WAAazL,EAAK0L,SACrElZ,IAAAC,cAAA,SAAOgQ,MAAM,OAAOkJ,OAAO,IAAIC,YAAY,KACvCpZ,IAAAC,cAAA,UACID,IAAAC,cAAA,MAAIgQ,MAAM,QACgB,GAArBzC,EAAKwL,aACFhZ,IAAAC,cAAA,OAAK8P,MAAO,CAAEmE,OAAU,OAAQjE,MAAS,OAAQoJ,iBAAkB,SAAUC,OAAU,OAASC,IAAKC,KAAUC,IAAI,UAC9F,GAArBjM,EAAKwL,aACDhZ,IAAAC,cAAA,OAAK8P,MAAO,CAAEmE,OAAU,OAAQmF,iBAAkB,SAAUC,OAAU,OAASC,IAAKG,KAAOD,IAAI,WAC/F,MAEZzZ,IAAAC,cAAA,UAAKuN,EAAK0L,YAK1BlZ,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,MAAA7R,OAAK8R,KAAKC,UAAYlF,MAAO,CAAE4J,YAAa,SAC5E3Z,IAAAC,cAAA,OAAKc,UAAU,2BAA2B4X,QAAS,SAAAxN,GAAC,OAAIzM,EAAKkb,sBAAsBzO,KAC/EnL,IAAAC,cAAC4Z,KAAQ,CACLC,QAAM,EACN9M,KAAK,iBACLhN,IAAAC,cAAC4Z,KAASE,KAAI,KACTrb,EAAKsb,uBAAuBxM,EAAMuH,MAI/C/U,IAAAC,cAACM,IAAMqE,wBAAA,CAAC6Q,IAAK,SAAA1I,GAAC,OAAIrO,EAAKub,cAAclF,GAAShI,GAAG2I,GAAIlI,EAAK0M,QAASnK,MAAO,CAAEoK,QAAS,QAAUzZ,MAAM,MAAM8O,KAAK,SAASiJ,OAAK,EAAC1X,UAAU,QAAQgU,MAAOA,GAAM,KAAKvH,EAAK0M,SAAO,UAAWxb,EAAKD,MAAM2b,eAAe,UACnN5M,EAAK6M,aAAe,EACjBra,IAAAC,cAACM,IAAM,CAACwP,MAAO,CAAEoK,QAAS,QAAU1E,IAAK,SAAA1I,GAAC,OAAIrO,EAAK4b,iBAAiBvF,GAAShI,GAAG2I,GAAIlI,EAAK0M,QAASzZ,QAAS/B,EAAKD,MAAM8b,uBAAuB,oBAAkB/M,EAAK6M,aAAa,KAC/K,IAGVra,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,MAAA7R,OAAK8R,KAAKC,UAAYlF,MAAO,CAAEoK,QAAS,SACvE3M,EAAKyK,cAAgBvZ,EAAKQ,MAAMqZ,gBAC3BvY,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIrO,EAAK8b,YAAYzF,GAAShI,GAAGgD,MAAO,CAAEoK,QAAS,QAAU1B,OAAK,EAAChJ,SAAO,EAACD,KAAK,SAAS7O,QAAQ,OAAOF,QAAS,WAAF,OAAQ/B,EAAK+b,eAAejN,EAAKyK,YAAazK,EAAKkB,UAAWlB,EAAKmB,aAChM3O,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIrO,EAAKgc,YAAY3F,GAAShI,GAAGgD,MAAO,CAAEoK,QAAS,QAAU1B,OAAK,EAAChJ,SAAO,EAACD,KAAK,SAAS7O,QAAQ,OAAOF,QAAS,WAAF,OAAQ/B,EAAKic,gBAAgBnN,EAAKoN,eAAgBpN,EAAK0M,gBAInMjO,EAAKsB,IAAI,SAACC,EAAMuH,GAAK,OACxB/U,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,OAAOoQ,MAAOsH,IACxBrX,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAA,SAAIuN,EAAKyK,cAEbjY,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAC/BvH,EAAKyK,cAAgBvZ,EAAKQ,MAAMqZ,gBAC3BvY,IAAAC,cAAA,SAAIuN,EAAKkB,UAAU,KACnB1O,IAAAC,cAACkQ,KAAK,CAAClM,KAAK,YAAY6B,KAAK,OAAO/E,UAAU,aAAanB,MAAOlB,EAAKQ,MAAMsZ,gBAAiBC,OAAK,EAACnI,SAAU5R,EAAKga,oBAG7H1Y,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAC/BvH,EAAKyK,cAAgBvZ,EAAKQ,MAAMqZ,gBAC3BvY,IAAAC,cAAA,SAAIuN,EAAKmB,SAAS,KAClB3O,IAAAC,cAACkQ,KAAK,CAAClM,KAAK,WAAW6B,KAAK,OAAO/E,UAAU,aAAanB,MAAOlB,EAAKQ,MAAM2Z,eAAgBJ,OAAK,EAACnI,SAAU5R,EAAKga,oBAM3H1Y,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,UAAYjW,EAAKD,MAAMqa,iBAEpD9Y,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,UAAYnH,EAAKuL,YAE9C/Y,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,MAAA7R,OAAK8R,KAAKC,WACpB,MAArBzH,EAAKwL,aAAuBhZ,IAAAC,cAAA,KAAG8P,MAAO,CAAEkJ,aAAc,WAAazL,EAAK0L,SACrElZ,IAAAC,cAAA,SAAOgQ,MAAM,OAAOkJ,OAAO,IAAIC,YAAY,KACvCpZ,IAAAC,cAAA,UACID,IAAAC,cAAA,MAAIgQ,MAAM,QACgB,GAArBzC,EAAKwL,aACFhZ,IAAAC,cAAA,OAAK8P,MAAO,CAAEmE,OAAU,OAAQjE,MAAS,OAAQoJ,iBAAkB,SAAUC,OAAU,OAASC,IAAKC,KAAUC,IAAI,UAC9F,GAArBjM,EAAKwL,aACDhZ,IAAAC,cAAA,OAAK8P,MAAO,CAAEmE,OAAU,OAAQmF,iBAAkB,SAAUC,OAAU,OAASC,IAAKG,KAAOD,IAAI,WAC/F,MAEZzZ,IAAAC,cAAA,UAAKuN,EAAK0L,YAK1BlZ,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAA,OAAKc,UAAU,2BAA2B4X,QAAS,SAAAxN,GAAC,OAAIzM,EAAKkb,sBAAsBzO,KAC/EnL,IAAAC,cAAC4Z,KAAQ,CACLC,QAAM,EACN9M,KAAK,iBACLhN,IAAAC,cAAC4Z,KAASE,KAAI,KACTrb,EAAKsb,uBAAuBxM,EAAMuH,MAK/C/U,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIrO,EAAKub,cAAclF,GAAShI,GAAGgD,MAAO,CAAEoK,QAAS,QAAUzZ,MAAM,MAAM8O,KAAK,SAASiJ,OAAK,EAAC1X,UAAU,QAAQgU,MAAOA,EAAOW,GAAIlI,EAAK0M,QAASzZ,QAAS/B,EAAKD,MAAM2b,eAAe,UACjM5M,EAAK6M,aAAe,EACjBra,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIrO,EAAK4b,iBAAiBvF,GAAShI,GAAGgI,MAAOA,EAAOW,GAAIlI,EAAK0M,QAASnK,MAAO,CAAErP,MAAO,UAAWiU,SAAU,OAAQwF,QAAS,QAAU1Z,QAAS/B,EAAKD,MAAM8b,uBAAuB,oBAAkB/M,EAAK6M,aAAa,KACjO,IAEVra,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,MAAA7R,OAAK8R,KAAKC,UAAYlF,MAAO,CAAEoK,QAAS,SACvE3M,EAAKyK,cAAgBvZ,EAAKQ,MAAMqZ,gBAC3BvY,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIrO,EAAK8b,YAAYzF,GAAShI,GAAGgD,MAAO,CAAEoK,QAAS,QAAU1B,OAAK,EAAChJ,SAAO,EAACD,KAAK,SAAS7O,QAAQ,OAAOF,QAAS,WAAF,OAAQ/B,EAAK+b,eAAejN,EAAKyK,YAAazK,EAAKkB,UAAWlB,EAAKmB,aAChM3O,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIrO,EAAKgc,YAAY3F,GAAShI,GAAGgD,MAAO,CAAEoK,QAAS,QAAU1B,OAAK,EAAChJ,SAAO,EAACD,KAAK,SAAS7O,QAAQ,OAAOF,QAAS,WAAF,OAAQ/B,EAAKic,gBAAgBnN,EAAKoN,eAAgBpN,EAAK0M,iBAIzMxb,EAEDyV,aAAe,WAAM,IACTkE,EAAa3Z,EAAKD,MAAlB4Z,SACFwC,EAAcxC,EAAW,EAAI,EACnC,MAAO,CACHrY,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,UACVK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAI4K,EAAa9Z,UAAU,sBAAqB,SAGnEsX,EAAWrY,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,QAEjD,KAEjBf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,cAGtDf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,aAMtDf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,cACvCf,IAAAC,cAAA,WAAMD,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,UAAW,iBAEzD3U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,aACxCf,IAAAC,cAAA,WAAMD,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,UAAW,iBAExD3U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,WAGtDf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAIlP,UAAU,0BA1W1CrC,EAAKub,cAAgB,GACrBvb,EAAK8b,YAAc,GACnB9b,EAAKgc,YAAc,GACnBhc,EAAK4b,iBAAmB,GACxB5b,EAAKoc,aAAe,KACpBpc,EAAKQ,MAAK4E,YAAA,GACHpF,EAAKQ,MAAK,CACbyY,WAAY,GACZC,eAAgB,GAChBC,cAAe,GACfU,gBAAiB,GACjBC,gBAAiB,GACjBK,eAAgB,GAChBrN,mBAAoB,KAGxB9M,EAAK+b,eAAiB/b,EAAK+b,eAAe3V,KAAItF,wBAAAd,KAC9CA,EAAKga,iBAAmBha,EAAKga,iBAAiB5T,KAAItF,wBAAAd,KAClDA,EAAKka,UAAYla,EAAKka,UAAU9T,KAAItF,wBAAAd,KACpCA,EAAKic,gBAAkBjc,EAAKic,gBAAgB7V,KAAItF,wBAAAd,KAChDA,EAAKqc,cAAgBrc,EAAKqc,cAAcjW,KAAItF,wBAAAd,KAC5CA,EAAKkb,sBAAwBlb,EAAKkb,sBAAsB9U,KAAItF,wBAAAd,KAC5DA,EAAKsc,UAAYtc,EAAKsc,UAAUlW,KAAItF,wBAAAd,KACpCA,EAAKuc,iBAAmBvc,EAAKuc,iBAAiBnW,KAAItF,wBAAAd,KAClDA,EAAKwc,iBAAmBxc,EAAKwc,iBAAiBpW,KAAItF,wBAAAd,KAClDA,EAAKsb,uBAAyBtb,EAAKsb,uBAAuBlV,KAAItF,wBAAAd,KAC9DA,EAAKyc,aAAezc,EAAKyc,aAAarW,KAAItF,wBAAAd,KAAOA,EAuVpD,OApXiBe,YAAA6X,EAAAvN,GA8BjBrK,YAAA4X,EAAA,EAAA3X,IAAA,iBAAAC,MAAA,SAmBcsG,EAAOwI,EAAWC,GAC7B/P,KAAKS,SAAS,CACVkZ,gBAAiBrS,EACjBsS,gBAAiB9J,EACjBmK,eAAgBlK,MAEvB,CAAAhP,IAAA,mBAAAC,MAAA,SAEgBuL,GACb,IAAIvL,EAAQuL,EAAEnH,OAAOpE,MACrB,OAAQuL,EAAEnH,OAAOC,MACb,IAAK,YACDrF,KAAKS,SAAS,CACVmZ,gBAAiB5Y,IAErB,MACJ,IAAK,WACDhB,KAAKS,SAAS,CACVwZ,eAAgBjZ,OAM/B,CAAAD,IAAA,YAAAC,MAAA,WAGGhB,KAAKS,SACD,CACIkZ,gBAAiB,OAE5B,CAAA5Y,IAAA,YAAAC,MAAA,SAESuL,EAAGqC,GACT5O,KAAKkc,aAAetN,EACpBrC,EAAEiQ,oBACL,CAAAzb,IAAA,gBAAAC,MAAA,SAEauL,GACgB,OAAtBvM,KAAKkc,cAMTlc,KAAK+b,gBAAgB/b,KAAKkc,aAAaF,eAAgBhc,KAAKkc,aAAaZ,SACzEtb,KAAKkc,aAAe,MANhBlc,KAAKoc,cAOZ,CAAArb,IAAA,wBAAAC,MAAA,SAEqBuL,GAClBA,EAAEiQ,oBACL,CAAAzb,IAAA,kBAAAC,MAAA,SAEe4L,EAAoB6P,GAChC,IAAM9b,EAAOX,KACbA,KAAKH,MAAMgH,YAAY,6BACvB,IACMgG,EAAM,iBAAmBD,EAAqB,kBAAoB6P,EAEpEhY,EADOzE,KAAKH,MAAMwN,KACL8F,KAAK,SAAAhF,GAAC,OAAIA,EAAEmN,UAAYmB,IACzChY,EAAMqL,UAAY9P,KAAKM,MAAMsZ,gBAC7BnV,EAAMsL,SAAW/P,KAAKM,MAAM2Z,eAS5B,OANUnN,IAAMC,IAAIF,EAAKpI,GACpBuI,KAAK,WACFrM,EAAKyb,YACLzb,EAAKmE,iBAAiB,CAAEtE,MAAO,eAAgBjB,QAAS,0DAI3D4N,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAjBpB,cAiBkCjB,QAAS6N,EAAGH,SAASI,OAGzD1M,EAAKgE,eAAe,CAAEnE,MApBpB,cAoBkCjB,QAAS,8DAGpDyN,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,iCAElC,CAAA/F,IAAA,yBAAAC,MAAA,SAEsB4N,EAAMuH,GACzB,IASsBuG,EAHlBzO,EAAU,GACZ0O,EAAAC,GAPS,CACP,CAAExO,KAAM,gBAAe9J,OAAA8O,aACpBxE,EAAKyK,cAAgBrZ,KAAKM,MAAMqZ,gBAAkB,CAAC,CAAEvL,KAAM,cAAiB,CAAC,CAAEA,KAAM,eAAcgF,aACnGxE,EAAK6M,aAAe,EAAI,CAAC,CAAErN,KAAI,mBAAA9J,OAAqBsK,EAAK6M,aAAY,OAAS,MAM/D,IAAtB,IAAAkB,EAAAE,MAAAH,EAAAC,EAAAG,KAAAC,MAAwB,KAAfnO,EAAI8N,EAAA1b,MACTiN,EAAO,GAAA3J,OAAA8O,aAAOnF,GAAO,CACrB7M,IAAAC,cAAC4Z,KAASpD,KAAI,CACV1G,MAAO,CAAErP,MAAO,WAChBkb,aAAchd,KAAKqc,iBACnBY,aAAcjd,KAAKsc,iBACnBza,QAAS7B,KAAKuc,aACdzF,GAAIX,GACHvH,EAAKR,SAGb,MAAA8O,GAAAP,EAAApQ,EAAA2Q,GAAA,QAAAP,EAAAQ,IACD,OAAOlP,IACV,CAAAlN,IAAA,mBAAAC,MAAA,SAEgBuL,GACbA,EAAEnH,OAAO+L,MAAMiM,WAAa,UAC5B7Q,EAAEnH,OAAO+L,MAAMrP,MAAQ,UAC1B,CAAAf,IAAA,mBAAAC,MAAA,SAEgBuL,GACbA,EAAEnH,OAAO+L,MAAMiM,WAAa,QAC5B7Q,EAAEnH,OAAO+L,MAAMrP,MAAQ,YAC1B,CAAAf,IAAA,eAAAC,MAAA,SAEYuL,GACT,IAAM6B,EAAO7B,EAAEnH,OAAOiY,UAChBlH,EAAQ5J,EAAEnH,OAAO0R,GAKvB,OAHwB1I,EAAKkP,WAAW,kBACJ,iBAAmB/Q,EAAEnH,OAAOiY,WAG5D,IAAK,cACDrd,KAAKqb,eAAelF,GAAOU,IAAI0G,QAC/B,MAEJ,IAAK,YACDvd,KAAK4b,aAAazF,GAAOU,IAAI0G,QAC7B,MAEJ,IAAK,YACDvd,KAAK8b,aAAa3F,GAAOU,IAAI0G,QAC7B,MAEJ,IAAK,iBACDvd,KAAK0b,kBAAkBvF,GAAOU,IAAI0G,WAM7C,CAAAxc,IAAA,SAAAC,MAAA,WA+KG,IAAMqM,EAAOrN,KAAK8Y,kBAClB,OAAO1X,IAAAC,cAACoU,IAAI,CAAC+H,SAAU,EAAGzD,QAAS/Z,KAAKmc,eAAe,IAAE,CAACnc,KAAKuV,eAAgBvV,KAAKkW,WAAW7I,IAAO,SACzGqL,EApXiB,CAASlU,GA+XhBiO,oBAAQ,KARvB,SAA4BG,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFnC,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,KACnGsF,aAAc,SAAUtF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAanC,MAAMrF,OAGxFkT,CAAkCiG,sDCxVlC+E,GApDC,SAAAC,GAEd,SAAAD,EAAY5d,GAAO,IAAAC,EAUwC,OAVxCC,YAAAC,KAAAyd,IACjB3d,EAAAG,YAAAD,KAAAE,YAAAud,GAAAtd,KAAAH,KAAMH,KAYR8d,uBAAyB,SAACC,GACxB9d,EAAKW,SAAS,CAAEmd,aAAYC,SAAUD,EAAWvY,QAClDvF,EAEDge,mBAAqB,WACnBhe,EAAKD,MAAM8d,uBAAuB7d,EAAKQ,MAAMsd,YAC7C9d,EAAKie,qBACNje,EACDie,kBAAoB,WAClBje,EAAKW,SAAS,CAAEmd,WAAY,KAAMC,SAAU,GAAIG,WAAW,KApB3Dle,EAAKQ,MAAQ,CACXud,SAAU,GACVD,WAAY,KACZI,WAAW,EACXC,oBAAqB,MAEvBne,EAAK6d,uBAAuB7d,EAAK6d,uBAAuBzX,KAAItF,wBAAAd,KAC5DA,EAAKge,mBAAmBhe,EAAKge,mBAAmB5X,KAAItF,wBAAAd,KACpDA,EAAKie,kBAAkBje,EAAKie,kBAAkB7X,KAAItF,wBAAAd,KAAOA,EAsC1D,OAlDae,YAAA4c,EAAAC,GAab5c,YAAA2c,EAAA,EAAA1c,IAAA,SAAAC,MAAA,WAcQ,IAAA4O,EAAA5P,KACP,OACEoB,IAAAC,cAACC,IAAK,CACAkF,QAASpF,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIyB,EAAKqO,oBAAsB9P,GAAGgD,MAAO,CAAEoK,QAASvb,KAAKH,MAAMqe,cAAgB,QAAU,QAAUrN,SAAO,EAAChP,QAAS,WAAF,OAAQ+N,EAAKnP,SAAS,CAAEud,WAAW,KAASpN,KAAK,SAAS5Q,KAAKH,MAAMW,OAClNe,KAAMvB,KAAKM,MAAM0d,UACjB3L,QAASrS,KAAK+d,kBACdnN,KAAK,QACLxP,IAAAC,cAACG,KAAM,CAAC2c,KAAK,OAAOpc,QAAS/B,KAAKH,MAAMW,QACxCY,IAAAC,cAACC,IAAMG,QAAO,KACXzB,KAAKH,MAAMue,QAAUhd,IAAAC,cAAA,SAAKrB,KAAKH,MAAMue,QAAQ,KAAQ,KACrDpe,KAAKH,MAAMwe,YACZjd,IAAAC,cAACid,cAAU,CACTC,WAAYve,KAAKH,MAAM2e,MACvB9M,SAAU1R,KAAK2d,uBACfc,QAAS,SAAAC,GAAY9O,EAAK/P,MAAM8e,gBAAgBD,KAChDtd,IAAAC,cAACM,IAAM,CAACkP,SAAO,GAA0B,KAAxB7Q,KAAKM,MAAMud,SAAkB7d,KAAKM,MAAMud,SAAW,iBAGxEzc,IAAAC,cAACC,IAAMI,QAAO,KACe,OAA1B1B,KAAKM,MAAMsd,WAAuBxc,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAAC+N,UAAQ,EAAC/c,QAAS7B,KAAK8d,oBAAoB1c,IAAAC,cAAC+P,IAAI,CAAC/L,KAAK,UAAU,MAAe,KAClIjE,IAAAC,cAACM,IAAM,CAACoP,WAAS,EAAClP,QAAS7B,KAAK+d,mBAAmB,gBAG1DN,EAlDa,CAASrc,IAAMiB,ogCCQ8B,IAEvDwc,GAAmB,SAAA1T,GACrB,SAAA0T,EAAYhf,GAAO,IAAAC,EAAAC,YAAAC,KAAA6e,IACf/e,EAAAG,YAAAD,KAAAE,YAAA2e,GAAA1e,KAAAH,KAAMH,KA+FVif,kBAAoB,WAChBhf,EAAKW,SAAS,CAAEse,aAAcjf,EAAKQ,MAAMye,eAC5Cjf,EAEDkf,6BAA+B,WAC3Blf,EAAKW,SAAS,CAAEwe,sBAAuBnf,EAAKQ,MAAM2e,wBACrDnf,EAEDof,uBAAyB,WACrBpf,EAAKW,SAAS,CAAE0e,kBAAmBrf,EAAKQ,MAAM6e,oBACjDrf,EAEDsf,yBAA2B,WACvBtf,EAAKW,SAAS,CAAE4e,kBAAmBvf,EAAKQ,MAAM+e,oBACjDvf,EAEDgf,kBAAoB,WAChBhf,EAAKW,SAAS,CAAEse,aAAcjf,EAAKQ,MAAMye,eAC5Cjf,EAEDwf,mBAAqB,WAEjB,IAAM3e,EAAOX,KACb,GAAIA,KAAKM,MAAMif,cAAgBvf,KAAKM,MAAMkf,aAAexf,KAAKM,MAAMmf,mBAChE,OAAO3S,IAAMQ,KAAI,4BAA8B,CAAEoS,UAAW1f,KAAKH,MAAM8f,UAAWC,cAAe5f,KAAKM,MAAMkf,aACvGxS,KAAK,SAAUC,GACRA,IACAtM,EAAKF,SAAS,CAAEof,kBAAkB,EAAOC,iBAAkBnf,EAAKd,MAAMgW,UAClElV,EAAKd,MAAMgW,UACXlV,EAAKuW,WACLvW,EAAKmE,iBAAiB,CAAEtE,MAAO,+BAAgCjB,QAAS,4DAMxFoB,EAAKgE,eAAe,CAAEnE,MAAO,GAAIjB,QAAS,iFAC1CoB,EAAKF,SAAS,CAAEof,kBAAkB,KAEzC/f,EAEDigB,uBAAyB,WAErB/f,KAAKH,MAAMgH,YAAY,4BACvB,IAEItH,EAFEoB,EAAOX,KACPQ,EAAQ,mCAEd,OAAOsM,IAAMQ,KAAI,uCACb,CAAEoS,UAAW1f,KAAKH,MAAM8f,UAAWK,oBAAqBhgB,KAAKM,MAAM2f,mBAClEjT,KAAK,SAAUC,GACRA,IACAtM,EAAKF,SAAS,CACVyf,wCAAwC,IAE5Cvf,EAAKd,MAAMsgB,aACPxf,EAAKd,MAAMgW,UACXlV,EAAKyf,iCACL7gB,EAAU0N,EAASI,KAAOJ,EAASI,KAAO,0DAC1C1M,EAAKmE,iBAAiB,CAClBtE,MAAOA,EACPjB,QAASA,QAKxB4N,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,OAGzD1M,EAAKgE,eAAe,CAChBnE,MAAOA,EACPjB,QAAS,8DAIpByN,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,+BAElChH,EAEDugB,mBAAqB,WAEjBrgB,KAAKH,MAAMgH,YAAY,uBACvB,IAAMlG,EAAOX,KACPQ,EAAQ,8BACd,OAAOsM,IAAMQ,KAAI,mCAAqC,CAAEoS,UAAW1f,KAAKH,MAAM8f,UAAWW,kBAAmBtgB,KAAKM,MAAMigB,iBAClHvT,KAAK,SAAUC,GACRA,IACAtM,EAAKF,SAAS,CACV+f,oCAAoC,IAExC7f,EAAKd,MAAMsgB,aACPxf,EAAKd,MAAMgW,UACXlV,EAAKuW,WACLvW,EAAKmE,iBAAiB,CAClBtE,MAAOA,EACPjB,QAAS,2DAMxB4N,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OACG,MAA5B4E,EAAGH,SAASI,KAAK7E,OACjB7H,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,KAAK9N,UAE9DoB,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,OAI7D1M,EAAKgE,eAAe,CAChBnE,MAAOA,EACPjB,QAAS,8DAIpByN,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,0BAElChH,EAED2gB,uBAAyB,WAErBzgB,KAAKH,MAAMgH,YAAY,qBACvB,IAAMlG,EAAOX,KACPQ,EAAQ,4BAEd,OAAOsM,IAAMQ,KAAI,4CAAAhJ,OAA6CtE,KAAKM,MAAM2f,iBAAgB,KAAA3b,OAAItE,KAAKH,MAAM8f,YACnG3S,KAAK,SAAUC,GACRA,GACAtM,EAAKF,SAAS,CACVigB,yBAAyB,EACzBC,cAAe1T,EAASI,KAAKsB,IAAI,SAAUiS,GAAK,MAAO,CAAEL,eAAgBK,EAAEL,eAAgBN,iBAAkBW,EAAEX,oBAC/GM,eAAgBtT,EAASI,KAAK,GAAGkT,mBAI5CpT,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,OAGzD1M,EAAKgE,eAAe,CAChBnE,MAAOA,EACPjB,QAAS,8DAIpByN,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,wBAElChH,EAED+gB,+BAAiC,WAE7B7gB,KAAKH,MAAMgH,YAAY,8BACvB,IAAMlG,EAAOX,KACPQ,EAAQ,4BAEd,OAAOsM,IAAMQ,KAAI,yCAA2C,CAAEwT,mBAAoB9gB,KAAKH,MAAM8f,UAAWoB,eAAgB/gB,KAAKM,MAAMigB,eAAgBS,iBAAkBhhB,KAAKM,MAAM2f,mBAC3KjT,KAAK,SAAUC,GACRA,IACAtM,EAAKF,SAAS,CACV0e,kBAAkB,EAClBuB,yBAAyB,EACzBO,kCAAkC,IAEtCtgB,EAAKd,MAAMsgB,aACPxf,EAAKd,MAAMgW,UACXlV,EAAKuW,WACLvW,EAAKmE,iBAAiB,CAClBtE,MAAOA,EACPjB,QAAS,0DAKxB4N,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,OAGzD1M,EAAKgE,eAAe,CAChBnE,MAAOA,EACPjB,QAAS,8DAIpByN,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,iCAElChH,EAEDyf,aAAe,SAACjY,GAEZ,MADY,yJACD4Z,KAAK5Z,IAEnBxH,EAGDqhB,uBAAyB,SAAC5U,GACtBzM,EAAKW,SAAS,CAAE8e,aAAczf,EAAKyf,aAAahT,EAAEnH,OAAOpE,SACzDlB,EAAKW,SAAS,CACV+e,WAAYjT,EAAEnH,OAAOpE,SAE5BlB,EAEDshB,6BAA+B,SAAC7U,GAC5BzM,EAAKW,SAAS,CACVwf,iBAAkB1T,EAAEnH,OAAOpE,SAElClB,EAEDuhB,iCAAmC,SAAC9U,GAChCzM,EAAKW,SAAS,CACV6gB,2BAA4B/U,EAAEnH,OAAOpE,SAE5ClB,EAEDyhB,wBAA0B,WACtBzhB,EAAKD,MAAMgH,YAAY,sBACvB,IAAMlG,EAAIC,wBAAAd,IACJU,EAAQ,qBAEd,OAAOsM,IAAMC,IAAG,4BAAAzI,OAA6BxE,EAAKD,MAAM8f,WACpD,CAAE6B,YAAa1hB,EAAKQ,MAAMghB,2BAA4B5B,UAAW5f,EAAKD,MAAM8f,YAC3E3S,KAAK,SAAUC,GACRA,GACAtM,EAAKF,SAAS,CACVghB,gBAAgB,MAI3BtU,MAAM,SAAUC,GACPA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,OAC7B7H,EAAKgE,eAAe,CAAEnE,MAAOA,EAAOjB,QAAS6N,EAAGH,SAASI,OAGzD1M,EAAKgE,eAAe,CAChBnE,MAAOA,EACPjB,QAAS,+DAIpByN,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,sBACvBnG,EAAKd,MAAMsgB,gBAEtBrgB,EAED4hB,yBAA2B,SAACnV,EAAGvC,GAC3BlK,EAAKW,SAAS,CACV8f,eAAgBvW,EAAEhJ,QAElBlB,EAAKQ,MAAMqgB,cAAczS,OAAO,SAAAC,GAAC,OAAIA,EAAEoS,iBAAmBvW,EAAEhJ,QAAOiD,OAAS,GAC5EnE,EAAKW,SAAS,CACVwf,iBAAkBngB,EAAKQ,MAAMqgB,cAAczS,OAAO,SAAAC,GAAC,OAAIA,EAAEoS,iBAAmBvW,EAAEhJ,QAAO,GAAGif,oBAGnGngB,EAED6hB,2BAA6B,WAAM,IACvBhC,EAAc7f,EAAKD,MAAnB8f,UACU,OAAdA,IACAiC,OAAO5J,SAAS7C,KAAI,oBAAA7Q,OAAuBqb,KAElD7f,EAED+hB,mCAAqC,WAAM,IAC/BlC,EAAc7f,EAAKD,MAAnB8f,UACU,OAAdA,IACAiC,OAAO5J,SAAS7C,KAAI,4BAAA7Q,OAA+Bqb,KAE1D7f,EAEDgiB,2CAA6C,WACzCF,OAAO5J,SAAS7C,KAAI,4BAEvBrV,EAEDoX,SAAW,WACPpX,EAAKW,SAAS,CAAE+e,WAAY1f,EAAKD,MAAMgW,QAAU/V,EAAKQ,MAAMkf,WAAa1f,EAAKQ,MAAMmf,mBAAoBV,aAAa,EAAOQ,cAAc,KAC7Izf,EAEDsgB,+BAAiC,WAC7BtgB,EAAKW,SACD,CACIwf,iBAAkBngB,EAAKQ,MAAMyhB,yBAC7B9C,sBAAsB,KAEjCnf,EAEDkiB,2BAA6B,WACzBliB,EAAKW,SACD,CACI8f,eAAgBzgB,EAAKQ,MAAM2hB,uBAC3B5C,kBAAkB,KAE7Bvf,EAEDoiB,6BAA+B,WAC3BpiB,EAAKW,SACD,CACI8f,eAAgBzgB,EAAKQ,MAAM2hB,uBAC3BhC,iBAAkBngB,EAAKQ,MAAMyhB,yBAC7B5C,kBAAkB,KAE7Brf,EAEDqiB,2BAA6B,WACzBriB,EAAKW,SACD,CACI8f,eAAgBzgB,EAAKQ,MAAM2hB,uBAC3BvB,yBAAyB,KAEpC5gB,EAED6d,uBAAyB,SAAUC,GAC/B5d,KAAKH,MAAMgH,YAAY,mBACvB,IAAMub,EAAW,IAAIC,SACf1hB,EAAOX,KACboiB,EAASE,OAAO,OAAQ1E,GAMxB9Q,IAAMQ,KAAI,iBAAAhJ,OAAkB3D,EAAKd,MAAM8f,UAAS,4BAA4ByC,EAL7D,CACXG,QAAS,CACLC,eAAgB,yBAInBxV,KAAK,WACFrM,EAAKmE,iBAAiB,CAAEtE,MAAO,gBAAiBjB,QAAS,wCAE5D4N,MAAM,SAAUC,GACbzM,EAAKgE,eAAe,CAAEnE,MAAO,gBAAiBjB,QAAS6N,EAAGqV,QAAQC,eAClE3T,QAAQnK,MAAMwI,KACfJ,KAAK,WACJrM,EAAKd,MAAMiH,YAAY,mBACvBnG,EAAKd,MAAMsgB,gBAEtBrgB,EAED6iB,4BAA8B,WAAY,IAAApV,EACPvN,KAAKM,MAAMmE,MAAlC2G,EAASmC,EAATnC,UAAWC,EAAOkC,EAAPlC,QACb1K,EAAOX,KACb,OAAO8M,IAAMQ,KAAI,qBAAuB,CAAElC,YAAWC,UAASmI,YAAaxT,KAAKH,MAAM8f,YACjF3S,KAAK,WACFrM,EAAKmE,iBAAiB,CAAEvF,QAAS,gDAEpC4N,MAAM,SAAUvI,GAEbmK,QAAQnK,MAAMA,KAEjBoI,KAAK,WACFrM,EAAKd,MAAMsgB,gBAEtBrgB,EAwCD8iB,6BAA+B,SAACC,GAO5B,MALQ/iB,EAAKQ,MAAM2e,uBAAyBnf,EAAKQ,MAAM+e,mBAAqBvf,EAAKQ,MAAM6e,oBAC3Erf,EAAKD,MAAMwQ,YAAYhD,KAAKiD,eAAyD,OAAxCxQ,EAAKQ,MAAMyhB,0BACxDjiB,EAAKD,MAAMwQ,YAAYhD,KAAKiD,gBACH,IAAzBxQ,EAAKQ,MAAMuO,WAGnB,MAAO,GAGX,IASsB6N,EAHlBzO,EAAU,GACZ0O,EAAAC,GAPS,GAAAtY,OAAA8O,aACqC,OAAxCtT,EAAKQ,MAAMyhB,yBAAoC,CAAC,CAAE3T,KAAM,wBAA2B,IAAEgF,aACrFyP,EAAwB5e,OAAS,IAAMnE,EAAKD,MAAMwQ,YAAYhD,KAAKiD,eAAyD,OAAxCxQ,EAAKQ,MAAMyhB,0BAA8D,IAAzBjiB,EAAKQ,MAAMuO,UAAkB,CAAC,CAAET,KAAM,wBAA2B,IAAEgF,aACvMtT,EAAKD,MAAMwQ,YAAYhD,KAAKiD,eAA0C,IAAzBxQ,EAAKQ,MAAMuO,UAAkB,CAAC,CAAET,KAAM,sBAAyB,MAM9F,IAAtB,IAAAuO,EAAAE,MAAAH,EAAAC,EAAAG,KAAAC,MAAwB,KAAfnO,EAAI8N,EAAA1b,MACTiN,EAAO,GAAA3J,OAAA8O,aAAOnF,GAAO,CACrB7M,IAAAC,cAAC4Z,KAASpD,KAAI,CACV1G,MAAO,CAAErP,MAAO,WAChBkb,aAAcld,EAAKuc,iBACnBY,aAAcnd,EAAKwc,iBACnBza,QAAS/B,EAAKyc,cACb3N,EAAKR,SAGb,MAAA8O,GAAAP,EAAApQ,EAAA2Q,GAAA,QAAAP,EAAAQ,IACD,OAAOlP,GACVnO,EAEDgjB,gCAAkC,WAC9BhjB,EAAKW,SACD,CACIqiB,iCAAiC,KAE5ChjB,EAEDijB,4BAA8B,WAC1BjjB,EAAKW,SAAS,CACVuiB,uBAAuB,KAE9BljB,EAEDmjB,8BAAgC,WAC5BnjB,EAAKW,SAAS,CACVyiB,wBAAwB,KAE/BpjB,EAEDqjB,8BAAgC,WAC5BrjB,EAAKW,SAAS,CACV2iB,wBAAwB,KAE/BtjB,EAEDujB,sBAAwB,WACpBvjB,EAAKW,SAAS,CACV6gB,2BAA4BxhB,EAAKQ,MAAMgjB,qBACvC7B,gBAAgB,KAEvB3hB,EAEDyjB,sCAAwC,SAAClW,GACrC,MAAO,CAACA,EAAKsB,IAAI,SAACC,EAAMuH,GAAK,OACzB/U,IAAAC,cAACoU,IAAI,CAACC,QAAS,IACXtU,IAAAC,cAACoU,IAAKE,IAAG,CAACpD,UAAU,OAAOpB,MAAO,CAAE8E,cAAe,MAAOD,WAAY,QAClE5U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,YAAOuN,EAAK4U,kBAEhBpiB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,YAAOuN,EAAKtH,cApjB5BxH,EAAKqhB,uBAAyBrhB,EAAKqhB,uBAAuBjb,KAAItF,wBAAAd,KAC9DA,EAAKshB,6BAA+BthB,EAAKshB,6BAA6Blb,KAAItF,wBAAAd,KAC1EA,EAAK4hB,yBAA2B5hB,EAAK4hB,yBAAyBxb,KAAItF,wBAAAd,KAClEA,EAAKwf,mBAAqBxf,EAAKwf,mBAAmBpZ,KAAItF,wBAAAd,KACtDA,EAAKigB,uBAAyBjgB,EAAKigB,uBAAuB7Z,KAAItF,wBAAAd,KAC9DA,EAAKugB,mBAAqBvgB,EAAKugB,mBAAmBna,KAAItF,wBAAAd,KACtDA,EAAK2gB,uBAAyB3gB,EAAK2gB,uBAAuBva,KAAItF,wBAAAd,KAC9DA,EAAK+gB,+BAAiC/gB,EAAK+gB,+BAA+B3a,KAAItF,wBAAAd,KAC9EA,EAAK6iB,4BAA8B7iB,EAAK6iB,4BAA4Bzc,KAAItF,wBAAAd,KACxEA,EAAK6d,uBAAyB7d,EAAK6d,uBAAuBzX,KAAItF,wBAAAd,KAC9DA,EAAKuc,iBAAmBvc,EAAKuc,iBAAiBnW,KAAItF,wBAAAd,KAClDA,EAAKwc,iBAAmBxc,EAAKwc,iBAAiBpW,KAAItF,wBAAAd,KAClDA,EAAKyc,aAAezc,EAAKyc,aAAarW,KAAItF,wBAAAd,KAC1CA,EAAK8iB,6BAA+B9iB,EAAK8iB,6BAA6B1c,KAAItF,wBAAAd,KAC1EA,EAAKgjB,gCAAkChjB,EAAKgjB,gCAAgC5c,KAAItF,wBAAAd,KAChFA,EAAKyjB,sCAAwCzjB,EAAKyjB,sCAAsCrd,KAAItF,wBAAAd,KAC5FA,EAAKijB,4BAA8BjjB,EAAKijB,4BAA4B7c,KAAItF,wBAAAd,KACxEA,EAAKmjB,8BAAgCnjB,EAAKmjB,8BAA8B/c,KAAItF,wBAAAd,KAC5EA,EAAKqjB,8BAAgCrjB,EAAKqjB,8BAA8Bjd,KAAItF,wBAAAd,KAC5EA,EAAKujB,sBAAwBvjB,EAAKujB,sBAAsBnd,KAAItF,wBAAAd,KAAO,IAC7DsL,EAAuBvL,EAAvBuL,UAAWC,EAAYxL,EAAZwL,QACjBvL,EAAKQ,MAAQ,CACTmE,MAAO,CAAE2G,YAAWC,WACpBsU,UAAW,CAAEA,aACbZ,aAAa,EAAOS,WAAY,GAAIK,kBAAkB,EAAOC,iBAAiB,EAAOP,cAAc,EAAME,mBAAoB,GAC7HhJ,WAAW,EACXwJ,iBAAkB,GAClB8B,yBAA0B,GAC1B9C,sBAAsB,EACtBI,kBAAkB,EAClBF,kBAAkB,EAClBuB,yBAAyB,EACzBR,wCAAwC,EACxCM,oCAAoC,EACpCS,kCAAkC,EAClC6B,iCAAiC,EACjCnC,cAAe,GACfJ,eAAgB,GAChB0B,uBAAwB,GACxBwB,eAAgB,KAChBC,eAAgB,KAChBC,sBAAuB,KACvBC,sBAAuB,KACvBC,oBAAqB,KACrBC,4BAA6B,GAC7BC,eAAgB,GAChBC,iBAAkB,KAClBC,qBAAsB,EACtBC,sBAAuB,EACvBZ,qBAAsB,EACtBhC,2BAA4B,EAC5B0B,uBAAuB,EACvBE,wBAAwB,EACxBE,wBAAwB,EACxB3B,gBAAgB,GACnB,IAEG0C,EAAW5D,EADPZ,EAAc9f,EAAd8f,UAEFhf,EAAIC,wBAAAd,IAiCH,OAhCPgN,IAAM2B,IAAG,2BAAAnK,OAA4Bqb,GAAa,CAAEhT,OAAQ,CAAE2N,QAASlE,KAAKC,YACvErJ,KAAK,SAAUC,GACRA,IACAtM,EAAKF,SAAS,CACV+e,WAAYvS,EAASI,KAAK4B,QAC1BwQ,mBAAoBxS,EAASI,KAAK4B,QAClCwH,UAAWxJ,EAASI,KAAKoJ,UACzBwJ,iBAAkBhT,EAASI,KAAK4S,iBAChC8B,yBAA0B9U,EAASI,KAAK4S,iBACxCpR,UAAW5B,EAASI,KAAKwB,UACzBiV,4BAA6B7W,EAASI,KAAKyW,4BAC3CC,eAAgB9W,EAASI,KAAK0W,eAC9BC,iBAAkB/W,EAASI,KAAK2W,iBAChCC,qBAAsBhX,EAASI,KAAK4W,qBACpCC,sBAAuBjX,EAASI,KAAK6W,sBACrCZ,qBAAsBrW,EAASI,KAAKiW,qBACpChC,2BAA4BrU,EAASI,KAAKiW,uBAE9Ca,EAAYlX,EAASI,KAAK+W,mBAC1B7D,EAAiBtT,EAASI,KAAKgX,2BAEpCrX,KAAK,WACJF,IAAM2B,IAAG,oCAAAnK,OAAqC6f,GAAa,CAAExX,OAAQ,CAAE2N,QAASlE,KAAKC,YAChFrJ,KAAK,SAAUC,GACRA,GACAtM,EAAKF,SAAS,CACVkgB,cAAe1T,EAASI,KAAKsB,IAAI,SAAUiS,GAAK,MAAO,CAAEL,eAAgBK,EAAEyD,wBAAyBpE,iBAAkBW,EAAEX,oBACxHM,eAAgBtT,EAASI,KAAK8F,KAAK,SAAAyN,GAAC,OAAIA,EAAEyD,0BAA4B9D,IAAgB8D,wBACtFpC,uBAAwBhV,EAASI,KAAK8F,KAAK,SAAAyN,GAAC,OAAIA,EAAEyD,0BAA4B9D,IAAgB8D,8BAI/GvkB,EAk9CV,OAhjDoBe,YAAAge,EAAA1T,GA+FpBrK,YAAA+d,EAAA,EAAA9d,IAAA,mBAAAC,MAAA,SAyWgBuL,GACbA,EAAEnH,OAAO+L,MAAMiM,WAAa,UAC5B7Q,EAAEnH,OAAO+L,MAAMrP,MAAQ,UAC1B,CAAAf,IAAA,mBAAAC,MAAA,SAEgBuL,GACbA,EAAEnH,OAAO+L,MAAMiM,WAAa,QAC5B7Q,EAAEnH,OAAO+L,MAAMrP,MAAQ,YAC1B,CAAAf,IAAA,eAAAC,MAAA,SAEYuL,GACT,OAAQA,EAAEnH,OAAOiY,WACb,IAAK,eACDrd,KAAK0jB,eAAe7M,IAAI0G,QACxB,MAEJ,IAAK,eACDvd,KAAKyjB,eAAexF,oBAAoBpH,IAAI0G,QAC5C,MAEJ,IAAK,sBACDvd,KAAK2jB,sBAAsB9M,IAAI0G,QAC/B,MAEJ,IAAK,sBACDvd,KAAK4jB,sBAAsB/M,IAAI0G,QAC/B,MAEJ,IAAK,oBACDvd,KAAK6jB,oBAAoBhN,IAAI0G,WAMxC,CAAAxc,IAAA,SAAAC,MAAA,WAkFQ,IAMsCsjB,EANtC1U,EAAA5P,KAAA6P,EAC0B7P,KAAKM,MAAMmE,MAGpC8f,GAHW1U,EAATzE,UAAkByE,EAAPxE,QAGS,IACtBsD,EAAM,IAAI6V,IAAMC,EAAA7H,GACH5c,KAAKM,MAAMqgB,eAAa,IAA3C,IAAA8D,EAAA5H,MAAAyH,EAAAG,EAAA3H,KAAAC,MAA6C,KAAlCnO,EAAI0V,EAAAtjB,MACN2N,EAAI+V,IAAI9V,EAAK2R,iBAA2C,OAAxB3R,EAAK2R,iBACtC5R,EAAIgW,IAAI/V,EAAK2R,gBAAgB,GAC7BgE,EAAoBhc,KAAK,CACrBuO,GAAIlI,EAAK2R,eACTlb,KAAMuJ,EAAKqR,qBAGtB,MAAA/C,GAAAuH,EAAAlY,EAAA2Q,GAAA,QAAAuH,EAAAtH,IAED,IAAMyH,EAAsBL,EAAoB5V,IAAI,SAAUkW,GAC1D,MAAO,CACH9jB,IAAK8jB,EAAE/N,GACP1I,KAAMyW,EAAExf,KACRrE,MAAO6jB,EAAE/N,MAIXgO,EAAgC9kB,KAAKM,MAAMqgB,cAAchS,IAAI,SAAUkW,GACzE,MAAO,CACH9jB,IAAK8jB,EAAEtE,eACPnS,KAAI,GAAA9J,OAAKugB,EAAE5E,iBAAgB,UAAA3b,OAASugB,EAAEtE,eAAc,KACpDvf,MAAO6jB,EAAEtE,kBAIXwE,EAAiB/kB,KAAKH,MAAMmlB,MAAQhlB,KAAKH,MAAMolB,QAAW,EAa3CjlB,KAAKM,MAAM4kB,QACrBllB,KAAKM,MAAM4kB,QA0BtB,OACI9jB,IAAAC,cAAA,WACID,IAAAC,cAAC8Z,KAAI,CAACgK,YAAU,EAAChU,MAAO,CAAEiU,YAAa,MAAOC,UAAW,SACrDjkB,IAAAC,cAAC4Z,KAAQ,CAACrM,MAAI,EAACuP,KAAK,UAAUmH,QAAM,EAACC,UAAU,QAC3CnkB,IAAAC,cAACmkB,KAAY,MACNxlB,KAAKM,MAAMmW,WAAazW,KAAKH,MAAMmlB,MAAQ,GAAMhlB,KAAKH,MAAMgW,UAC3DzU,IAAAC,cAACokB,KAAY,CAAC5jB,QAAS7B,KAAK+iB,6BAA6B,yBAEzD/iB,KAAKM,MAAMmW,WAAazW,KAAKH,MAAMmlB,MAAQ,GAAMhlB,KAAKH,MAAMgW,SAAW7V,KAAKH,MAAMwQ,YAAYhD,KAAKqY,YAAuC,IAAzB1lB,KAAKM,MAAMuO,WAC5HzN,IAAAC,cAACokB,KAAY,CAAC5jB,QAAS7B,KAAKijB,+BAA+B,yBAE/D7hB,IAAAC,cAACokB,KAAY,CAAC5jB,QAAS7B,KAAKmjB,+BAA+B,uBAElC,GAAxBnjB,KAAKM,MAAMuO,WAAkD,OAAhC7O,KAAKM,MAAM0jB,mBAA8BhkB,KAAKM,MAAMmW,WAAazW,KAAKH,MAAMgW,UACtGzU,IAAAC,cAACokB,KAAY,CAAC5jB,QAAS7B,KAAKqjB,uBAAuB,kBAMnEjiB,IAAAC,cAACC,IAAK,CAACsP,KAAK,OAAOrP,KAAMvB,KAAKM,MAAM0iB,sBAAuB3Q,QAAS,WAAQzC,EAAKnP,SAAS,CAAEuiB,uBAAuB,MAC/G5hB,IAAAC,cAACC,IAAME,OAAM,KACTJ,IAAAC,cAAA,WACID,IAAAC,cAAA,QAAM8P,MAAO,CAAEoK,QAAS,iBAAkB,wBAC1Cna,IAAAC,cAAA,KAAG8T,KAAK,0EAA0E/P,OAAO,SAAS+L,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,QAC7I3Z,IAAAC,cAAA,OAAKc,UAAU,uBACXf,IAAAC,cAAA,OAAK+T,UAAU,mDAK/BhU,IAAAC,cAACC,IAAMG,QAAO,KACVL,IAAAC,cAACC,IAAMgR,YAAW,KACZtS,KAAKM,MAAMye,YA4BP3d,IAAAC,cAACoU,IAAI,CAACC,QAAS,GAAIiQ,cAAc,UAC/BvkB,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS1J,MAAM,IAAIuU,UAAU,QAC5DxkB,IAAAC,cAAA,SAAO6F,KAAK,OAAOwK,SAAU1R,KAAKmhB,uBAAwBngB,MAAOhB,KAAKM,MAAMkf,WAAYrO,MAAO,CAC3FoK,QAAS,eACTvF,WAAY,MACZC,cAAe,MACf4P,YAAa,UACbC,YAAa,QACbV,YAAa,WAGrBhkB,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAEE,MAAO,IAAK0J,YAAa,MAAOgL,aAAc,OAASH,UAAU,OAAOvU,MAAM,KAChGjQ,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAACD,KAAK,QACjB7O,QAAQ,UACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,OACpElkB,QAAS,WAAQ+N,EAAKnP,SAAS,CAAEof,kBAAkB,QAE3Dze,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAEE,MAAO,IAAK0J,YAAa,OAAS6K,UAAU,OAAOvU,MAAM,KAC3EjQ,IAAAC,cAACM,IAAM,CAACoP,WAAS,EAACH,KAAK,QACnB7O,QAAQ,SACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,OACpElkB,QAAS7B,KAAKkX,cAjD9B9V,IAAAC,cAACoU,IAAI,CAACC,QAAS,GAAIiQ,cAAc,UAC7BvkB,IAAAC,cAACoU,IAAKE,IAAG,CAACxE,MAAO,CAAE8E,cAAe,QAC9B7U,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,MAAO9E,cAAe,OAAS5E,MAAM,KACpEjQ,IAAAC,cAAA,MAAIc,UAAU,mBAAmBgP,MAAO,CAAE4E,SAAU,OAAQjU,MAAO,YAAa,0BAEpFV,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAQ9E,cAAe,OAAS5E,MAAM,KACrEjQ,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAACD,KAAK,QACjB7O,QAAQ,SACRoP,MAAO,CAAEoK,QAAS,eAAgBlK,MAAO,SACzCxP,QAAS7B,KAAK8e,sBAG1B1d,IAAAC,cAACoU,IAAKE,IAAG,CAACxE,MAAO,CAAE6E,WAAY,QAC3B5U,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,MAAO/E,WAAY,QAAU3E,MAAM,KAAKuU,UAAU,QACjFxkB,IAAAC,cAAA,WACID,IAAAC,cAAA,QAAM8P,MAAO,CAAEmF,SAAU,eAAiBtW,KAAKM,MAAMkf,YACpDxf,KAAKH,MAAMwQ,YAAYhD,KAAKiD,cACzBlP,IAAAC,cAAA,OAAK2kB,MAAM,WAAW7U,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,QACjE3Z,IAAAC,cAAA,OAAKc,UAAU,sBAAsBN,QAAS7B,KAAK8iB,iCAC/C1hB,IAAAC,cAAA,OAAK+T,UAAU,yCAGrB,YAmCtChU,IAAAC,cAACC,IAAK,CAACsP,KAAK,OAAOrP,KAAMvB,KAAKM,MAAM4iB,uBAAwB7Q,QAAS,WAAQzC,EAAKnP,SAAS,CAAEyiB,wBAAwB,MACjH9hB,IAAAC,cAACC,IAAME,OAAM,KACTJ,IAAAC,cAAA,WACID,IAAAC,cAAA,QAAM8P,MAAO,CAAEoK,QAAS,iBAAkB,yBAC1Cna,IAAAC,cAAA,KAAG8T,KAAK,0EAA0E/P,OAAO,SAAS+L,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,QAC7I3Z,IAAAC,cAAA,OAAKc,UAAU,uBACXf,IAAAC,cAAA,OAAK+T,UAAU,mDAK/BhU,IAAAC,cAACC,IAAMG,QAAO,KACVL,IAAAC,cAACC,IAAMgR,YAAW,KAEVtS,KAAKM,MAAM2e,sBAAyBjf,KAAKM,MAAM+e,kBAAqBrf,KAAKM,MAAM6e,mBACxEnf,KAAKH,MAAMwQ,YAAYhD,KAAKiD,eAAyD,OAAxCtQ,KAAKM,MAAMyhB,4BAAsC/hB,KAAKH,MAAMwQ,YAAYhD,KAAKiD,eAA2C,IAAzBtQ,KAAKM,MAAMuO,UAiD5J,KAhDFzN,IAAAC,cAACoU,IAAI,CAACC,QAAS,GAAIiQ,cAAc,UAC7BvkB,IAAAC,cAACoU,IAAKE,IAAG,CAACxE,MAAO,CAAE8E,cAAe,QAC9B7U,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS1J,MAAM,KAC9CjQ,IAAAC,cAAA,MAAIc,UAAU,mBAAmBgP,MAAO,CAAE4E,SAAU,OAAQjU,MAAO,YAAa,sBAEpFV,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAQ9E,cAAe,OAAS5E,MAAM,KACrEjQ,IAAAC,cAAA,OAAKc,UAAU,4BACXf,IAAAC,cAAC4Z,KAAQ,CACLC,QAAM,EACN9M,KAAK,UACLhN,IAAAC,cAAC4Z,KAASE,KAAI,KACTnb,KAAK4iB,6BAA6BgC,OAKV,OAAxC5kB,KAAKM,MAAMyhB,yBACR3gB,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAEoK,QAAS,QAAUlK,MAAM,IAAIuU,UAAU,QACzDxkB,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIyB,EAAK+T,sBAAwBxV,GAAG0C,SAAO,EAACD,KAAK,QAC3D7O,QAAQ,sBACRoP,MAAO,CAAEoK,QAAS,QAClB1Z,QAAS7B,KAAKgf,gCAEpB,MAEV5d,IAAAC,cAACoU,IAAKE,IAAG,CAACxE,MAAO,CAAE6E,WAAY,SAC3B5U,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,OAAS1J,MAAM,KAC9B,OAAxCrR,KAAKM,MAAMyhB,yBACR3gB,IAAAC,cAAA,SAAG,IAAErB,KAAKM,MAAM2f,iBAAiB,KAC/B7e,IAAAC,cAAA,SAAG,mCAEbD,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAEoK,QAAS,QAAUlK,MAAM,IAAIuU,UAAU,QACvD5lB,KAAKH,MAAMwQ,YAAYhD,KAAKiD,eAAyD,OAAxCtQ,KAAKM,MAAMyhB,0BAA8D,IAAzB/hB,KAAKM,MAAMuO,UAKpG,KAJFzN,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIyB,EAAKgU,sBAAwBzV,GAAG0C,SAAO,EAACD,KAAK,QAC3D7O,QAAQ,sBACRoP,MAAO,CAAEoK,QAAS,QAClB1Z,QAAS7B,KAAKof,2BAGrBpf,KAAKH,MAAMwQ,YAAYhD,KAAKiD,eAA0C,IAAzBtQ,KAAKM,MAAMuO,UACrDzN,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIyB,EAAKiU,oBAAsB1V,GAAG0C,SAAO,EAACD,KAAK,QACzD7O,QAAQ,oBACRoP,MAAO,CAAEoK,QAAS,QAClB1Z,QAAS7B,KAAKkf,yBAChB,QAOrBlf,KAAKM,MAAM6e,mBAAqBnf,KAAKM,MAAMogB,yBAA2B1gB,KAAKH,MAAMwQ,YAAYhD,KAAKiD,cAC/FlP,IAAAC,cAACoU,IAAI,CAACC,QAAQ,MACVtU,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAM,KAAKF,MAAO,CAAE4J,YAAa,QAC1C3Z,IAAAC,cAAA,MAAIc,UAAU,mBAAmBgP,MAAO,CAAE4E,SAAU,OAAQjU,MAAO,UAAWiZ,YAAa,QAAS,0BAG5G3Z,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS1J,MAAM,IAAIuU,UAAU,QAC5DxkB,IAAAC,cAAA,SAAO6F,KAAK,OAAOwK,SAAU1R,KAAKohB,6BAA8BpgB,MAAOhB,KAAKM,MAAM2f,iBAAkB9O,MAAO,CACvGoK,QAAS,eAAgBvF,WAAY,MACrCC,cAAe,MACf4P,YAAa,UACbC,YAAa,QACbV,YAAa,WAGrBhkB,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,MAAOgL,aAAc,OAASH,UAAU,OAAOvU,MAAM,KACpFjQ,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAACD,KAAK,QACjB7O,QAAQ,UACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,OACpElkB,QAAS7B,KAAKygB,0BAEtBrf,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS6K,UAAU,OAAOvU,MAAM,KAC/DjQ,IAAAC,cAACM,IAAM,CAACoP,WAAS,EAACH,KAAK,QACnB7O,QAAQ,SACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,OACpElkB,QAAS7B,KAAKkiB,kCAI5B,KAGLliB,KAAKM,MAAMogB,yBAA2B1gB,KAAKH,MAAMgW,QAC9CzU,IAAAC,cAACoU,IAAI,CAACpE,MAAM,MACRjQ,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAM,KAAKF,MAAO,CAAE4J,YAAa,QAC1C3Z,IAAAC,cAAA,MAAIc,UAAU,mBAAmBgP,MAAO,CAAE4E,SAAU,OAAQjU,MAAO,UAAWiZ,YAAa,QAAS,4BAG5G3Z,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS1J,MAAM,IAAIuU,UAAU,QAC5DxkB,IAAAC,cAAC4Z,KAAQ,CACLpB,OAAK,EACLoM,QAAM,EACN9jB,UAAU,YACV+jB,WAAS,EACT7gB,KAAK,oBACL8gB,WAAS,EACTlY,QAAS6W,EACT9jB,MAAOhB,KAAKM,MAAMigB,eAClB7O,SAAU1R,KAAK0hB,4BAGvBtgB,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,MAAOgL,aAAc,OAASH,UAAU,OAAOvU,MAAM,KACpFjQ,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAACD,KAAK,QACjB7O,QAAQ,UACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,OACpElkB,QAAS,WAAQ+N,EAAKnP,SAAS,CAAEwgB,kCAAkC,QAE3E7f,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS6K,UAAU,OAAOvU,MAAM,KAC/DjQ,IAAAC,cAACM,IAAM,CAACoP,WAAS,EAACH,KAAK,QACnB7O,QAAQ,SACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,OACpElkB,QAAS7B,KAAKmiB,gCAI5B,KAGJniB,KAAKM,MAAM2e,sBAAyBjf,KAAKM,MAAM+e,kBAA4D,OAAxCrf,KAAKM,MAAMyhB,0BAAsC/hB,KAAKH,MAAMgW,SAAY7V,KAAKM,MAAM6e,kBAA6C,IAAzBnf,KAAKM,MAAMuO,UAUjL,KATFzN,IAAAC,cAACoU,IAAI,CAACpE,MAAM,MACRjQ,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS6K,UAAU,QAClDxkB,IAAAC,cAAA,KAAG8P,MAAO,CAAErP,MAAO,UAAWskB,WAAY,OAAQ9P,SAAU,eAAgB,8MAS3FtW,KAAKM,MAAM2e,qBACR7d,IAAAC,cAACoU,IAAI,CAACpE,MAAM,MACRjQ,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAM,KAAKF,MAAO,CAAE4J,YAAa,QAC1C3Z,IAAAC,cAAA,MAAIc,UAAU,mBAAmBgP,MAAO,CAAE4E,SAAU,OAAQjU,MAAO,UAAWiZ,YAAa,QAAS,2BAG5G3Z,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS1J,MAAM,IAAIuU,UAAU,QAC5DxkB,IAAAC,cAAA,SAAO6F,KAAK,OAAOwK,SAAU1R,KAAKohB,6BAA8BpgB,MAAOhB,KAAKM,MAAM2f,iBAAkB9O,MAAO,CACvGoK,QAAS,eAAgBvF,WAAY,MACrCC,cAAe,MACf4P,YAAa,UACbC,YAAa,QACbV,YAAa,WAGrBhkB,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,MAAOgL,aAAc,OAASH,UAAU,OAAOvU,MAAM,KACpFjQ,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAACD,KAAK,QACjB7O,QAAQ,UACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,OACpElkB,QAAS,WAAQ+N,EAAKnP,SAAS,CAAEyf,wCAAwC,QAEjF9e,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS6K,UAAU,OAAOvU,MAAM,KAC/DjQ,IAAAC,cAACM,IAAM,CAACoP,WAAS,EAACH,KAAK,QACnB7O,QAAQ,SACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,OACpElkB,QAAS7B,KAAKogB,oCAI5B,KAGLpgB,KAAKM,MAAM+e,iBACRje,IAAAC,cAACoU,IAAI,CAACpE,MAAM,MACRjQ,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAM,KAAKF,MAAO,CAAE4J,YAAa,QAC1C3Z,IAAAC,cAAA,MAAIc,UAAU,mBAAmBgP,MAAO,CAAE4E,SAAU,OAAQjU,MAAO,UAAWiZ,YAAa,QAAS,2BAG5G3Z,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS1J,MAAM,IAAIuU,UAAU,QAC5DxkB,IAAAC,cAAC4Z,KAAQ,CACLpB,OAAK,EACLoM,QAAM,EACN9jB,UAAU,YACV+jB,WAAS,EACT7gB,KAAK,oBACL8gB,WAAS,EACTlY,QAAS2W,EACT5jB,MAAOhB,KAAKM,MAAMigB,eAClB7O,SAAU1R,KAAK0hB,4BAGvBtgB,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,MAAOgL,aAAc,OAASH,UAAU,OAAOvU,MAAM,KACpFjQ,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAACD,KAAK,QACjB7O,QAAQ,UACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,OACpElkB,QAAS,WAAQ+N,EAAKnP,SAAS,CAAE+f,oCAAoC,QAE7Epf,IAAAC,cAACoU,IAAKG,OAAM,CAACzE,MAAO,CAAE4J,YAAa,OAAS6K,UAAU,OAAOvU,MAAM,KAC/DjQ,IAAAC,cAACM,IAAM,CAACoP,WAAS,EAACH,KAAK,QACnB7O,QAAQ,SACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,OACpElkB,QAAS7B,KAAKgiB,gCAI5B,QAMlB5gB,IAAAC,cAACC,IAAK,CAACsP,KAAK,OAAOrP,KAAMvB,KAAKM,MAAM8iB,uBAAwB/Q,QAAS,WAAQzC,EAAKnP,SAAS,CAAE2iB,wBAAwB,MACjHhiB,IAAAC,cAACC,IAAME,OAAM,KACTJ,IAAAC,cAAA,WACID,IAAAC,cAAA,QAAM8P,MAAO,CAAEoK,QAAS,iBAAkB,uBAC1Cna,IAAAC,cAAA,KAAG8T,KAAK,0EAA0E/P,OAAO,SAAS+L,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,QAC7I3Z,IAAAC,cAAA,OAAKc,UAAU,uBACXf,IAAAC,cAAA,OAAK+T,UAAU,mDAK/BhU,IAAAC,cAACC,IAAMG,QAAO,KACVL,IAAAC,cAACC,IAAMgR,YAAW,KACdlR,IAAAC,cAACoU,IAAI,CAACpE,MAAO,GAAIsU,cAAc,UAC3BvkB,IAAAC,cAACoU,IAAKE,IAAG,CAACxE,MAAO,CAAE8E,cAAe,QAC9B7U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAM,KACfjQ,IAAAC,cAAA,MAAIc,UAAU,mBAAmBgP,MAAO,CAAE4E,SAAU,OAAQjU,MAAO,YAAa,iBAEpFV,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAM,MACd0T,GACG3jB,IAAAC,cAAA,WACID,IAAAC,cAACoc,GAAU,CAAC5G,IAAK,SAAA1I,GAAC,OAAIyB,EAAK6T,eAAiBtV,GACxCwP,uBAAwB3d,KAAK2d,uBAC7Bnd,MAAM,eACN0d,eAAe,EACfG,YAAajd,IAAAC,cAAA,WAAK,2DAAwDD,IAAAC,cAAA,WACtED,IAAAC,cAAA,aAAOD,IAAAC,cAAA,UACHD,IAAAC,cAAA,MAAI8P,MAAO,CAAEoJ,OAAQ,iBAAkBQ,YAAa,OAAQgL,aAAc,SAAU,SACpF3kB,IAAAC,cAAA,MAAI8P,MAAO,CAAEoJ,OAAQ,iBAAkBQ,YAAa,OAAQgL,aAAc,SAAU,aACpF3kB,IAAAC,cAAA,MAAI8P,MAAO,CAAEoJ,OAAQ,iBAAkBQ,YAAa,OAAQgL,aAAc,SAAU,cAExF3kB,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAACD,KAAK,QACjB7O,QAAQ,2BACRoP,MAAO,CAAEkV,gBAAiB,QAC1BxkB,QAAS7B,KAAK8hB,6CAClB1gB,IAAAC,cAAA,WAAMD,IAAAC,cAAA,WAAM,2BAChBmd,MAAO,CAAC,OAAQG,gBAAiB3e,KAAKsmB,mBAC1CllB,IAAAC,cAAA,OAAK8P,MAAO,CAAEmE,OAAQ,OAAQiG,QAAS,WAI/Cna,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIyB,EAAK8T,eAAiBvV,GAAG0C,SAAO,EAACD,KAAK,QACpD7O,QAAQ,eACRoP,MAAO,CAAEkV,gBAAiB,OAAQ9K,QAAS,QAC3C1Z,QAAS7B,KAAK6hB,qCAElBzgB,IAAAC,cAAA,OAAKc,UAAU,4BACXf,IAAAC,cAAC4Z,KAAQ,CACLC,QAAM,EACN9M,KAAK,iBACLhN,IAAAC,cAAC4Z,KAASE,KAAI,KAvYjB,WACjC,IAQsBoL,EAHlBtY,EAAU,GACZuY,EAAA5J,GANS,GAAAtY,OAAA8O,aACJ2R,EAAgB,CAAC,CAAE3W,KAAM,iBAAoB,IAAE,CAClD,CAAEA,KAAM,mBAMU,IAAtB,IAAAoY,EAAA3J,MAAA0J,EAAAC,EAAA1J,KAAAC,MAAwB,KAAfnO,EAAI2X,EAAAvlB,MACTiN,EAAO,GAAA3J,OAAA8O,aAAOnF,GAAO,CACrB7M,IAAAC,cAAC4Z,KAASpD,KAAI,CACV1G,MAAO,CAAErP,MAAO,WAChBkb,aAAcpN,EAAKyM,iBACnBY,aAAcrN,EAAK0M,iBACnBza,QAAS+N,EAAK2M,cACb3N,EAAKR,SAGb,MAAA8O,GAAAsJ,EAAAja,EAAA2Q,GAAA,QAAAsJ,EAAArJ,IACD,OAAOlP,EAoXkCwY,YAYrCrlB,IAAAC,cAACC,IAAK,CAACsP,KAAK,OAAOrP,KAAMvB,KAAKM,MAAMmhB,eAAgBpP,QAAS,WAAQzC,EAAKnP,SAAS,CAAEghB,gBAAgB,MACjGrgB,IAAAC,cAACC,IAAME,OAAM,KACTJ,IAAAC,cAAA,WACID,IAAAC,cAAA,QAAM8P,MAAO,CAAEoK,QAAS,iBAAkB,iBAQlDna,IAAAC,cAACC,IAAMG,QAAO,KACVL,IAAAC,cAACC,IAAMgR,YAAW,KACdlR,IAAAC,cAACoU,IAAI,CAACC,QAAS,IACXtU,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,YAAM,gBAEVD,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,YAAOrB,KAAKM,MAAM2jB,qBAAuBjkB,KAAKM,MAAM4jB,wBAExD9iB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,KAGxBjQ,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,YAAM,iBAEVD,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAEZrR,KAAKH,MAAMgW,QAEPzU,IAAAC,cAAA,SAAO6F,KAAK,OAAO7B,KAAK,uBAAuBqM,SAAU1R,KAAKqhB,iCAAkCrgB,MAAOhB,KAAKM,MAAMghB,2BAA4BnQ,MAAO,CACjJoK,QAAS,eAAgBvF,WAAY,MACrCC,cAAe,MACf4P,YAAa,UACbC,YAAa,QACbV,YAAa,UAGjBhkB,IAAAC,cAAA,YAAOrB,KAAKM,MAAMgjB,uBAI9BliB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,KAExBjQ,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAQ,IAETrR,KAAKH,MAAMgW,QAEXzU,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAACD,KAAK,OACjB7O,QAAQ,SACRoP,MAAO,CAAEoK,QAAS,eAAgBR,YAAa,MAAOgL,aAAc,MAAO1U,MAAO,QAClFxP,QAAS7B,KAAKuhB,0BAEhB,WAgXlCngB,IAAAC,cAAA,OAAKc,UAAU,iBAAiBgP,MAAO,CAAE6E,WAAY,UAsDrD5U,IAAAC,cAAC4V,KAAO,CACJ1V,KAAMvB,KAAKM,MAAMuf,iBACjB3I,SAAU,WAAQtH,EAAKnP,SAAS,CAAEof,kBAAkB,KACpD1I,UAAWnX,KAAKsf,mBAChBlI,OAAO,uCACPrV,QAAU/B,KAAKH,MAAMgW,QAEjB,wHADA,iJAGRzU,IAAAC,cAAC4V,KAAO,CACJ1V,KAAMvB,KAAKM,MAAM4f,uCACjBhJ,SAAU,WAAQtH,EAAKnP,SAAS,CAAEyf,wCAAwC,KAC1E/I,UAAWnX,KAAK+f,uBAChB3I,OAAO,mCACPrV,QAAU/B,KAAKH,MAAMgW,QAEjB,oHADA,4EAGRzU,IAAAC,cAAC4V,KAAO,CACJ1V,KAAMvB,KAAKM,MAAMkgB,mCACjBtJ,SAAU,WAAQtH,EAAKnP,SAAS,CAAE+f,oCAAoC,KACtErJ,UAAWnX,KAAKqgB,mBAChBjJ,OAAO,8BACPrV,QAAU/B,KAAKH,MAAMgW,QAEjB,+GADA,uEAGRzU,IAAAC,cAAC4V,KAAO,CACJ1V,KAAMvB,KAAKM,MAAM2gB,iCACjB/J,SAAU,WAAQtH,EAAKnP,SAAS,CAAEwgB,kCAAkC,KACpE9J,UAAWnX,KAAK6gB,+BAChBzJ,OAAO,4BACPrV,QAAQ,+GAEZX,IAAAC,cAACC,IAAK,CAACsP,KAAK,OAAOrP,KAAMvB,KAAKM,MAAMwf,gBAAiBzN,QAAS,WAAQzC,EAAKnP,SAAS,CAAEqf,iBAAiB,IAAUlQ,EAAKsH,aAClH9V,IAAAC,cAACC,IAAME,OAAM,KAAC,cACdJ,IAAAC,cAACC,IAAMG,QAAO,KAEVL,IAAAC,cAACC,IAAMgR,YAAW,KAEdlR,IAAAC,cAAA,SAAG,wEACsED,IAAAC,cAAA,WAAM,mFACKD,IAAAC,cAAA,WAAM,+CAQtGD,IAAAC,cAACC,IAAK,CAACsP,KAAK,OAAOrP,KAAMvB,KAAKM,MAAMwiB,iCAChC1hB,IAAAC,cAACC,IAAME,OAAM,KAAC,oCACdJ,IAAAC,cAACC,IAAMG,QAAO,KACVL,IAAAC,cAACC,IAAMgR,YAAW,KAEdlR,IAAAC,cAACoU,IAAI,CAACC,QAAS,IACXtU,IAAAC,cAACoU,IAAKE,IAAG,CAACpD,UAAU,OAAOpB,MAAO,CAAE8E,cAAe,MAAOD,WAAY,QAClE5U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,UAAI,sBAERD,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,UAAI,sCAIfrB,KAAKujB,sCAAsCvjB,KAAKM,MAAMwjB,6BACtD9jB,KAAKM,MAAMyjB,eACR3iB,IAAAC,cAAA,OAAK8P,MAAO,CAAE6E,WAAY,SACtB5U,IAAAC,cAAA,UAAI,oBACJD,IAAAC,cAAA,YAAOrB,KAAKM,MAAMyjB,iBAEpB,OAGd3iB,IAAAC,cAACC,IAAMI,QAAO,KACVN,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAAChP,QAAS,WAAQ+N,EAAKnP,SAAS,CAAEqiB,iCAAiC,MAAY,aAKjHjE,EAhjDoB,CAASra,GAikDnBiO,IC/jDJiU,GD+jDIjU,gBAdS,SAACnS,EAAOoS,GAC5B,MAAO,CACHrC,YAAa/P,EAAMqS,YAAYtC,cAIvC,SAA4BuC,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFnC,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,KACnGsF,aAAc,SAAUtF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAanC,MAAMrF,OAGxFkT,CAA6CoM,IEvkDvC8H,GAAmB,SAAAxb,GACtC,SAAAwb,EAAY9mB,GAAO,IAAAC,EAAAC,YAAAC,KAAA2mB,IACjB7mB,EAAAG,YAAAD,KAAAE,YAAAymB,GAAAxmB,KAAAH,KAAMH,EAAO,CAAEyH,MAAO,GAAIwI,UAAW,GAAIC,SAAU,GAAI6W,KAAM,OAc/DC,qBAAuB,WACrB,IAAIC,EAAkB,CACpBzN,YAAavZ,EAAKQ,MAAMmE,MAAM6C,MAC9Byf,gBAAiBjnB,EAAKQ,MAAMmE,MAAMmiB,KAClC9W,UAAWhQ,EAAKQ,MAAMmE,MAAMqL,UAC5BC,SAAUjQ,EAAKQ,MAAMmE,MAAMsL,SAC3BiX,OAAQlnB,EAAKQ,MAAMmE,MAAMmiB,KAAO9mB,EAAKQ,MAAMmE,MAAMmiB,KAAO,GAE1DF,GAAYI,GACZhnB,EAAKmF,cACNnF,EACDyF,kBAAoB,WAAM,IAAAgI,EACezN,EAAKQ,MAAMmE,MAA1C6C,EAAKiG,EAALjG,MAAOwI,EAASvC,EAATuC,UAAWC,EAAQxC,EAARwC,SACtBtK,EAAS,GACTH,GAAa,EAgBjB,OAfKiC,EAAaD,KAChB7B,EAAO6B,MAAQmB,EAAShD,OAAOiD,aAC/BpD,GAAa,GAES,GAApBwK,EAAU7L,SACVwB,EAAOqK,UAAYrH,EAAShD,OAAOkD,kBACnCrD,GAAa,GAEM,GAAnByK,EAAS9L,SACTwB,EAAOsK,SAAWtH,EAAShD,OAAOmD,iBAClCtD,GAAa,GAGjBxF,EAAKW,SAAS,CAAEgF,WAETH,GACR,IAAA2hB,EA5CiCnnB,EAAKD,MAA7BqnB,EAAYD,EAAZC,aAAcC,EAAKF,EAALE,MACtB,GAAID,EAAc,CAChB,IAIME,EAHHD,EAAMxY,IAAI,SAACR,GACR,MAAO,CAAEC,KAAMD,EAAEkZ,MAAOrmB,MAAOmN,EAAE2I,MAET,GAAG9V,MACjClB,EAAKqF,sBAAsB,CACzBC,OAAQ,CAAEC,KAAM,OAAQrE,MAAOomB,KAElC,OAAAtnB,EAuIF,OApJqCe,YAAA8lB,EAAAxb,GAcrCrK,YAAA6lB,EAAA,EAAA5lB,IAAA,SAAAC,MAAA,WAkCU,IAAA4O,EAAA5P,KAEyB,KAA1BA,KAAKM,MAAMmE,MAAMmiB,OACjB5mB,KAAKM,MAAMmE,MAAMmiB,KAAO,GAC3B,IAAA/W,EAEwC7P,KAAKM,MAAMmE,MAAhD6C,EAAKuI,EAALvI,MAAOwI,EAASD,EAATC,UAAWC,EAAQF,EAARE,SAAU6W,EAAI/W,EAAJ+W,KAAIU,EACRtnB,KAAKH,MAA7BqnB,EAAYI,EAAZJ,aAAcC,EAAKG,EAALH,MACd7hB,EAAetF,KAAKM,MAApBgF,WAAU0K,EACgEhQ,KAAKM,MAAMmF,OAA9EwK,EAAUD,EAAjB1I,MAA8B4I,EAAcF,EAAzBF,UAAqCK,EAAaH,EAAvBD,SAEhDwX,EAAWL,EACbC,EAAMxY,IAAI,SAACR,GACT,MAAO,CAAEC,KAAMD,EAAEkZ,MAAOrmB,MAAOmN,EAAE2I,MAEnC,KACEsQ,EAAeF,IAAiBN,EAAOW,EAAS,GAAGvmB,MAAQ4lB,EAC3D3K,EAAciL,EAAe,EAAI,EACvC,OACE9lB,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAI4K,GACtB7a,IAAAC,cAACqF,EAAgB,CAAC9B,MAAOqL,EAAYxJ,SAAS,iBAC5CrF,IAAAC,cAACkQ,KAAK,CACJlM,KAAK,QACLT,QAASqL,EACT/I,KAAK,OACL/E,UAAU,aACV0X,OAAK,EACL7Y,MAAOsG,EACPoK,SAAU1R,KAAKmF,0BAIpB+hB,EACC9lB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAClBjQ,IAAAC,cAAC4Z,KAAQ,CACPja,MAAOomB,EACPnZ,QAASsZ,EACT7V,SAAU,SAACnF,EAAGvC,GAAC,OAAK4F,EAAKzK,sBAAsB,CAAEC,OAAQ4E,KACzD3E,KAAK,UAGH,KACRjE,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GACnBjQ,IAAAC,cAACqF,EAAgB,CAAC9B,MAAOsL,EAAgBzJ,SAAS,iBAC9CrF,IAAAC,cAACkQ,KAAK,CACHlM,KAAK,YACL6B,KAAK,OACL/E,UAAU,aACVyC,QAASsL,EACTlP,MAAO8O,EACP+J,OAAK,EACLnI,SAAU1R,KAAKmF,0BAIvB/D,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAACqF,EAAgB,CAAC9B,MAAOuL,EAAe1J,SAAS,iBACzCrF,IAAAC,cAACkQ,KAAK,CACVlM,KAAK,WACL6B,KAAK,OACL/E,UAAU,aACVnB,MAAO+O,EACPnL,QAASuL,EACT0J,OAAK,EACLnI,SAAU1R,KAAKmF,0BAIvB/D,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,IACnB6V,EAAe,KAAO9lB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,IAE1C6V,EACK9lB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAACM,IAAM,CACLkY,OAAK,EACLhJ,SAAO,EACPD,KAAK,SACLI,UAAW1L,EACXvD,QAAQ,WACRI,UAAU,kBACVgP,MAAO,CAAEE,MAAO,SAChBxP,QAAS7B,KAAK6mB,wBAGpBzlB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGF,MAAO,CAAE4J,YAAa,QAC3C3Z,IAAAC,cAACM,IAAM,CACPkY,OAAK,EACLhJ,SAAO,EACPD,KAAK,SACLI,UAAW1L,EACXvD,QAAQ,WACRI,UAAU,kBACVgP,MAAO,CAAEE,MAAO,SAChBxP,QAAS7B,KAAK6mB,6BAM3BF,EApJqC,CAASniB,GDO3CgjB,GAAe,kCAEf7P,GAAI,SAAAxM,GACR,SAAAwM,EAAY9X,GAAO,IAAAC,EAAAC,YAAAC,KAAA2X,IACjB7X,EAAAG,YAAAD,KAAAE,YAAAyX,GAAAxX,KAAAH,KAAMH,KAoDR4nB,cAAgB,SAAUC,GACtBA,EAAM1L,eAAiBhc,KAAKM,MAAMqf,UAClC3f,KAAKH,MAAMgH,YAAY,iBACnB7G,KAAKM,MAAMqnB,kCAAoC3nB,KAAKM,MAAMsnB,2BAC1D5nB,KAAK6nB,mCAAmCH,GAGxC1nB,KAAK8nB,oBAAoBJ,IAEhC5nB,EAEDgoB,oBAAsB,SAAUJ,GAC1BA,EAAM1L,eAAiBhc,KAAKM,MAAMqf,UAClC,IAAMhf,EAAOX,KAGb,OAFAA,KAAKH,MAAMgH,YAAY,iBAEhBiG,IAAMC,IAAG,0BAAAzI,OAA2BtE,KAAKM,MAAMqf,YACjD3S,KAAK,WACFF,IAAMQ,KAAI,gBAAAhJ,OAAiB3D,EAAKL,MAAMqf,UAAS,2CAAArb,OAA0C3D,EAAKL,MAAMynB,yBAA2BL,GAC1H1a,KAAK,WAEF,OADArM,EAAKF,SAAS,CAAEunB,OAAQ,GAAIhD,MAAO,EAAGkC,cAAc,IAC7CvmB,EAAKwf,eAGfnT,KAAK,WACFrM,EAAKd,MAAMmF,eAAe,CACtBxE,MAAO,gBACPjB,QAASkJ,EAAS1D,QAAQ8D,6BAGjCsE,MAAM,SAASC,GACZzM,EAAKF,SAAS,CAAEwnB,UAAW7a,IACM,uCAA7BA,EAAGH,SAASI,KAAK9N,QACjBoB,EAAKF,SAAS,CACVknB,kCAAkC,EAClCI,wBAAyB3a,EAAGH,SAASI,KAAKkT,eAC1C2H,eAAgB9a,EAAGH,SAASI,KAAK/F,MACjC6gB,gBAAiBT,IAGa,wCAA7Bta,EAAGH,SAASI,KAAK9N,QAEtBoB,EAAKF,SAAS,CACVmnB,4BAA4B,EAC5BG,wBAAyB3a,EAAGH,SAASI,KAAKkT,eAC1C2H,eAAgB9a,EAAGH,SAASI,KAAK/F,MACjC6gB,gBAAiBT,EACjBU,cAAehb,EAAGH,SAASI,KAAK+a,iBAIpCznB,EAAKd,MAAMgF,aAAa,CAAErE,MAAO,cAAejB,QAAS6N,EAAGH,SAASI,OACrE1M,EAAKF,SAAS,CACVsnB,wBAAyB,GACzBJ,kCAAkC,KAI1ChnB,EAAKF,SAAS,CAAE4nB,iCAAiC,MAEpDrb,KAAK,YACiD,IAA/CrM,EAAKL,MAAM+nB,iCACX1nB,EAAKd,MAAMiH,YAAY,sBAI9ChH,EAED+nB,mCAAqC,SAASH,GAC1CA,EAAM1L,eAAiBhc,KAAKM,MAAMqf,UAClC,IAAMhf,EAAOX,KACbA,KAAKH,MAAMgH,YAAY,iBACnB7G,KAAKM,MAAMsnB,6BACXF,EAAMY,6BAA+BtoB,KAAKM,MAAMgoB,8BAEpD,IAAIC,EAAKvoB,KAAKM,MAAMsnB,2BAEpB,OADA5nB,KAAKS,SAAS,CAAEknB,kCAAkC,EAAOC,4BAA4B,IAC9E9a,IACFQ,KAAI,gBAAAhJ,OAAiB3D,EAAKL,MAAMqf,UAAS,2CAAArb,OAA0C3D,EAAKL,MAAMynB,yBAA2BL,GACzH1a,KAAK,SAAUC,GACZ,GAAIsb,EACAzb,IAAMc,OAAM,iBAAAtJ,OAAkB3D,EAAKL,MAAMqf,UAAS,mBAAArb,OAAkB3D,EAAKL,MAAM8nB,cAAa,2BAE3F,CACD,IAAMvb,EAAG,iBAAAvI,OAAoB3D,EAAKL,MAAMqf,UAAS,uCACjD7S,IAAMQ,KAAKT,EACP,CACI2b,wBAAyB7nB,EAAKL,MAAMynB,wBACpCU,eAAgB9nB,EAAKL,MAAM4nB,oBAI1C/a,MAAO,SAASZ,GACb5L,EAAKd,MAAMiH,YAAY,iBACjByF,EAAEU,UAAkC,MAAtBV,EAAEU,SAASzE,OAC3B7H,EAAKgE,eAAe,CAAEnE,MAAO,wBAAyBjB,QAASgN,EAAEU,SAASI,OAE1E1M,EAAKgE,eAAe,CAChBnE,MAAO,wBACPjB,QAAS,8DAGpByN,KAAK,WAmBF,OAZArM,EAAKF,SAAS,CACVsnB,wBAAyB,GACzBJ,kCAAkC,EAClCU,iCAAiC,IAGrC1nB,EAAKd,MAAMmF,eAAe,CACtBxE,MAAO,gBACPjB,QAASkJ,EAAS1D,QAAQ8D,2BAE9BlI,EAAKd,MAAMiH,YAAY,iBAEhBnG,EAAK+nB,sBAEfvb,MAAM,SAASZ,GACZ5L,EAAKd,MAAMiH,YAAY,iBACjByF,EAAEU,UAAkC,MAAtBV,EAAEU,SAASzE,OAC3B7H,EAAKgE,eAAe,CAAEnE,MAAO,wBAAyBjB,QAASgN,EAAEU,SAASI,OAE1E1M,EAAKgE,eAAe,CAChBnE,MAAO,wBACPjB,QAAS,+DAG5BO,EAiBH4oB,kBAAoB,WAClB,IAAM/nB,EAAOX,KACP6M,EAAM2a,GAAa5c,OAAO5K,KAAKM,MAAMqf,WAC3C,OAAO7S,IAAM2B,IAAI5B,EAAK,CAAEF,OAAQ,CAAE2N,QAASlE,KAAKC,YAC7CrJ,KAAK,SAAUC,GAEdtM,EAAKF,SAAS,CACZunB,OAAQ/a,EAASI,KAAK2a,OACtBhD,MAAO/X,EAASI,KAAK2X,MACrBkC,aAAcja,EAASI,KAAK6Z,aAC5B7b,QAAS4B,EAASI,KAAKhC,QACvBD,UAAW6B,EAASI,KAAKjC,UACzByD,UAAW5B,EAASI,KAAKwB,cAG5B1B,MAAM,SAAUC,GACf2B,QAAQ4Z,IAAIvb,KAEbJ,KAAK,WACFrM,EAAKF,SAAS,CAAEmoB,UAAU,KACyB,IAA/CjoB,EAAKL,MAAM+nB,iCACX1nB,EAAKd,MAAMiH,YAAY,kBAGlChH,EAED+oB,cAAgB,SAACtc,GACfzM,EAAKW,SAAS,CACZqoB,YAAY,EACZhS,GAAIvK,EAAEnH,OAAO2jB,aAAa,MAC1B5S,MAAO5J,EAAEnH,OAAO2jB,aAAa,YAEhCjpB,EAEDkpB,oBAAsB,SAACzc,GACrBA,EAAEE,iBACF3M,EAAKW,SAAS,CACZwoB,YAAY,EACZnS,GAAIvK,EAAEnH,OAAO2jB,aAAa,MAC1B5S,MAAO5J,EAAEnH,OAAO2jB,aAAa,YAEhCjpB,EAEDopB,mBAAqB,WACnBlpB,KAAKH,MAAMgH,YAAY,sBAAsB,IAAA5F,EACVjB,KAAKM,MAAhC2oB,EAAUhoB,EAAVgoB,WAAYH,EAAU7nB,EAAV6nB,WACdnoB,EAAOX,KACbA,KAAKS,SAAS,CACZqoB,YAAY,EACZG,YAAY,IAEd,IAAMpc,EAAMic,EAAU,iBAAAxkB,OAAoBtE,KAAKM,MAAMqf,UAAS,mBAAArb,OAAkBtE,KAAKM,MAAMwW,IACzFmS,EAAU,gBAAA3kB,OAAmBtE,KAAKM,MAAMqf,UAAS,mBAAArb,OAAkBtE,KAAKM,MAAMwW,IAAO,GACvF,OAAOhK,IAAMc,OAAOf,GACjBG,KAAK,SAAUC,GACd,GAAIA,EAEF,OADAtM,EAAKd,MAAMmF,eAAe,CAAExE,MAAO,eAAgBjB,QAAS,oCACrDoB,EAAK+nB,sBAGfvb,MAAM,SAAUZ,GACPA,EAAEU,UAAkC,MAAtBV,EAAEU,SAASzE,OAC3B7H,EAAKgE,eAAe,CAAEnE,MAAO,cAAejB,QAASgN,EAAEU,SAASI,OAEhE1M,EAAKgE,eAAe,CAChBnE,MAAO,cACPjB,QAAS,8DAGpByN,KAAK,WACJrM,EAAKd,MAAMiH,YAAY,yBAE5BhH,EAcCqpB,mCAAqC,WACjCnpB,KAAKS,SAAS,CAAE4nB,iCAAiC,IACjDroB,KAAKynB,cAAcznB,KAAKM,MAAM6nB,kBACjCroB,EAEDspB,6BAA+B,WAC3BppB,KAAKM,MAAMgoB,8BAA+B,EAC1CtoB,KAAKynB,cAAcznB,KAAKM,MAAM6nB,kBACjCroB,EAEDupB,+BAAiC,WAC7BrpB,KAAKM,MAAMgoB,8BAA+B,EAC1CtoB,KAAKynB,cAAcznB,KAAKM,MAAM6nB,kBACjCroB,EAwEHqgB,WAAa,WACXrgB,EAAKW,SAAS,CAAEmoB,UAAU,IAC1B9oB,EAAK4oB,qBAtXL7oB,EAAMgH,YAAY,wBAAwB,IACf8Y,EAAkB7f,EAAKD,MAA1C2H,MAASmF,OAAUgT,UA+C0D,OA9CrF7f,EAAKQ,MAAQ,CACXqf,UAAWA,EACXoI,wBAAyB,GACzBuB,mBAAoB,GACpBpB,eAAgB,GAChBqB,gBAAiB,GACjBC,gBAAiB,GACjBrB,gBAAiB,GACjBW,YAAY,EACZnB,kCAAkC,EAClCC,4BAA4B,EAC5BU,6BAA8B,KAC9BF,cAAe,KACfqB,aAAc,cACdC,eAAmC,MAAnB5pB,EAAKD,MAAMwN,MAAuBvN,EAAKD,MAAMwN,KAAKsc,QAClEC,MAA0B,MAAnB9pB,EAAKD,MAAMwN,MAAuBvN,EAAKD,MAAMwN,KAAKwc,QACzDC,gBAAiB,GACjBC,eAAgB,GAChB1c,KAAM,GACN2a,OAAQ,GACRhD,MAAO,EACP9K,eAAgB,GAChB0O,UAAU,EACVoB,eAAe,EACf3B,iCAAiC,GAEjCvoB,EAAK4oB,kBAAoB5oB,EAAK4oB,kBAAkBxiB,KAAItF,wBAAAd,KACpDA,EAAKmqB,oBAAsBnqB,EAAKmqB,oBAAoB/jB,KAAItF,wBAAAd,KAE1DA,EAAK4oB,oBACL5oB,EAAKmqB,sBACLvD,GAAc5mB,EAAK2nB,cAAcvhB,KAAItF,wBAAAd,KACrCA,EAAK2nB,cAAgB3nB,EAAK2nB,cAAcvhB,KAAItF,wBAAAd,KAC5CA,EAAK+nB,mCAAqC/nB,EAAK+nB,mCAAmC3hB,KAAItF,wBAAAd,KACtFA,EAAKgoB,oBAAsBhoB,EAAKgoB,oBAAoB5hB,KAAItF,wBAAAd,KACxDA,EAAKopB,mBAAqBppB,EAAKopB,mBAAmBhjB,KAAItF,wBAAAd,KACtDA,EAAKoqB,aAAepqB,EAAKoqB,aAAahkB,KAAItF,wBAAAd,KAC1CA,EAAKqqB,qBAAuBrqB,EAAKqqB,qBAAqBjkB,KAAItF,wBAAAd,KAC1DA,EAAKsqB,eAAiBtqB,EAAKsqB,eAAelkB,KAAItF,wBAAAd,KAC9CA,EAAKuqB,mBAAqBvqB,EAAKuqB,mBAAmBnkB,KAAItF,wBAAAd,KACtDA,EAAKwqB,aAAexqB,EAAKwqB,aAAapkB,KAAItF,wBAAAd,KAC1CA,EAAKyqB,eAAiBzqB,EAAKyqB,eAAerkB,KAAItF,wBAAAd,KAC9CA,EAAKga,iBAAmBha,EAAKga,iBAAiB5T,KAAItF,wBAAAd,KAClDA,EAAKqpB,mCAAqCrpB,EAAKqpB,mCAAmCjjB,KAAItF,wBAAAd,KACtFA,EAAK0qB,yCAA2C1qB,EAAK0qB,yCAAyCtkB,KAAItF,wBAAAd,KAClGA,EAAKspB,6BAA+BtpB,EAAKspB,6BAA6BljB,KAAItF,wBAAAd,KAC1EA,EAAKupB,+BAAiCvpB,EAAKupB,+BAA+BnjB,KAAItF,wBAAAd,KAAOA,EAkYtF,OArbOe,YAAA8W,EAAAxM,GAoDPrK,YAAA6W,EAAA,EAAA5W,IAAA,sBAAAC,MAAA,WA0IC,IAAML,EAAOX,KACb,OAAO8M,IAAM2B,IAAG,aAAAnK,OAActE,KAAKM,MAAMqf,YACtC3S,KAAK,SAAUC,GACdtM,EAAKF,SAAS,CAAE0mB,MAAOla,EAASI,SAEjCF,MAAM,SAAUZ,GAEfwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,cAE3BhC,KAAK,WACFrM,EAAKF,SAAS,CAAEupB,eAAe,QAEtC,CAAAjpB,IAAA,iBAAAC,MAAA,WA6EC,OAAQhB,KAAKM,MAAMopB,iBAAmB1pB,KAAKM,MAAM+M,KAAKsc,SACnD3pB,KAAKM,MAAMspB,QAAU5pB,KAAKM,MAAM+M,KAAKwc,UACzC,CAAA9oB,IAAA,eAAAC,MAAA,WAGChB,KAAKS,SAAS,CACZqoB,YAAY,EACZG,YAAY,MAEb,CAAAloB,IAAA,2CAAAC,MAAA,WAkBChB,KAAKS,SAAS,CACVknB,kCAAkC,EAClCI,wBAAyB,OAEhC,CAAAhnB,IAAA,uBAAAC,MAAA,SAEoBuL,GACnBvM,KAAKS,SAAS,CACZipB,eAAgBnd,EAAEnH,OAAOgN,YAE5B,CAAArR,IAAA,qBAAAC,MAAA,SACkBuL,GACjBvM,KAAKS,SAAS,CACZmpB,MAAOrd,EAAEnH,OAAOgN,YAEnB,CAAArR,IAAA,mBAAAC,MAAA,SAEgBuL,EAAGuK,GAClB,IAAIgT,EAAkBpmB,OAAOC,OAAO,GAAI3D,KAAKM,MAAMwpB,iBACnD,OAAQvd,EAAEnH,OAAOC,MACf,IAAK,kBACHykB,EAAgBhT,GAAMvK,EAAEnH,OAAOpE,MAC/BhB,KAAKS,SAAS,CACZif,UAAWnT,EAAEnH,OAAO2jB,aAAa,aACjC5Q,MAAO5L,EAAEnH,OAAO2jB,aAAa,SAC7B0B,GAAIle,EAAEnH,OAAO0R,GACbgT,oBAMN,OAAOvd,EAAEnH,OAAOpE,QACjB,CAAAD,IAAA,iBAAAC,MAAA,SAEcuL,EAAGqC,GAChB,IAAIkb,EAAkBpmB,OAAOC,OAAO,GAAI3D,KAAKM,MAAMwpB,iBACnDA,EAAgBlb,EAAKkI,IAAMvK,EAAEnH,OAAOpE,MACpChB,KAAKS,SAAS,CACZif,UAAW9Q,EAAK8Q,UAChBvH,MAAO5L,EAAEnH,OAAO2jB,aAAa,SAC7B0B,GAAI7b,EAAKkI,GACTgT,oBAEqB,IAAnBvd,EAAEnH,OAAOpE,OACQ,KAAfuL,EAAEme,UACJ1qB,KAAKsqB,aAAa/d,EAAEnH,OAAOpE,MAAOuL,EAAEnH,OAAO2jB,aAAa,SAAUna,KAGvE,CAAA7N,IAAA,eAAAC,MAAA,SAEYA,EAAOmV,EAAOvH,GACzB,IAAI+b,EAAW3qB,KAAKM,MAAM+M,KAAK8I,GAC/BwU,EAASC,gBAAkB5pB,EAC3B,IAAML,EAAOX,KAEb,OAAO8M,IAAMC,IAAI,gBAAkB6B,EAAK8Q,UAAY,kBAAoB9Q,EAAK6b,GAAIE,EAAU,CAAEE,aAAc,SACxG7d,KAAK,SAAUC,GACVA,GACFtM,EAAKd,MAAMirB,aAAalc,EAAK8Q,aAGhCvS,MAAM,SAAUZ,GAEfwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,gBAG/B,CAAAjO,IAAA,SAAAC,MAAA,WAOQ,IAAA+pB,EACgP/qB,KAAKM,MAAlP0nB,EAAM+C,EAAN/C,OAAQc,EAAUiC,EAAVjC,WAAYG,EAAU8B,EAAV9B,WAAYtB,EAAgCoD,EAAhCpD,iCAAkCC,EAA0BmD,EAA1BnD,2BAAyE5C,GAAhC+F,EAAb3C,cAA2C2C,EAA5BzC,6BAAmCyC,EAAL/F,OAAOrF,EAASoL,EAATpL,UAAWuH,EAAY6D,EAAZ7D,aAAcC,EAAK4D,EAAL5D,MAAO9b,EAAO0f,EAAP1f,QAASD,EAAS2f,EAAT3f,UAAWwd,EAAQmC,EAARnC,SAAUoB,EAAae,EAAbf,cAAenb,EAASkc,EAATlc,UACjOmc,EAAchD,EAAO/jB,OAAS+gB,EACpC,GAAiB,GAAbnW,EACA,OAAOzN,IAAAC,cAAA,UAAI,2BAEjB,IAAM4pB,EAAc7pB,IAAAC,cAACC,IAAK,CAACC,KAAMunB,GAAcG,GAC7C7nB,IAAAC,cAACC,IAAME,OAAM,KACVsnB,EAAa,eAAiB,GAC9BG,EAAa,kBAAoB,IAEpC7nB,IAAAC,cAACC,IAAMG,QAAO,KACXqnB,EAAa,0CAA4C,GACzDG,EAAa,0DAA4D,IAE5E7nB,IAAAC,cAACC,IAAMI,QAAO,KAAC,WAAQN,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAAChP,QAAS7B,KAAKkpB,oBAAoB,OACvE9nB,IAAAC,cAACM,IAAM,CAACoP,WAAS,EAAClP,QAAS7B,KAAKkqB,aAAcnoB,QAAQ,aAIlDmpB,EAAoC9pB,IAAAC,cAACC,IAAK,CAACC,KAAMomB,GACnDvmB,IAAAC,cAACC,IAAME,OAAM,KAAC,oCACdJ,IAAAC,cAACC,IAAMG,QAAO,KAAC,qGACfL,IAAAC,cAACC,IAAMI,QAAO,KACVN,IAAAC,cAACM,IAAM,CAACE,QAAS7B,KAAKmpB,mCAAoCrnB,MAAM,UAAS,OACzEV,IAAAC,cAACM,IAAM,CAACG,MAAM,OAAOD,QAAS7B,KAAKwqB,yCAA0CzoB,QAAQ,aAIvFopB,EAA8B/pB,IAAAC,cAACC,IAAK,CAACC,KAAMqmB,GAC7CxmB,IAAAC,cAACC,IAAME,OAAM,KAAC,yBACdJ,IAAAC,cAACC,IAAMG,QAAO,KAAC,kIACfL,IAAAC,cAACC,IAAMI,QAAO,KACVN,IAAAC,cAACM,IAAM,CAACE,QAAS7B,KAAKopB,6BAA8BtnB,MAAM,UAAS,OACnEV,IAAAC,cAACM,IAAM,CAACG,MAAM,OAAOD,QAAS7B,KAAKqpB,+BAAgCtnB,QAAQ,SAIrF,OAAI/B,KAAKM,MAAMsoB,SACN,KACFxnB,IAAAC,cAAA,WACHD,IAAAC,cAAC4P,IAAI,CAACC,GAAG,YAAY/O,UAAU,gBAAgBgP,MAAO,CAAEia,UAAW,SACnEhqB,IAAAC,cAAC+P,IAAI,CAAC/L,KAAK,WAEbjE,IAAAC,cAACwd,GAAmB,CAACmG,MAAOA,EAAOC,QAAS+C,EAAO/jB,OAAQ0b,UAAWA,EAAW9J,QAAS7V,KAAKH,MAAMgW,QAASxK,QAASA,EAASD,UAAWA,EAAW+U,WAAYngB,KAAKmgB,aACvK/e,IAAAC,cAACoU,IAAI,CAACtE,MAAO,CAAEE,MAAO,OAAQga,SAAU,SACrCrD,EAAO/jB,OACN7C,IAAAC,cAACqX,GAAgB,CAACrL,KAAM2a,EAAQb,MAAOA,EAAO1N,SAAUyN,EAAc1L,cAAexb,KAAK6oB,cAAehT,QAAS7V,KAAKH,MAAMgW,QAAS8F,sBAAuB3b,KAAKgpB,oBAAqB9O,eAAgB7O,IACrMjK,IAAAC,cAACqX,GAAgB,CAACrL,KAAM,GAAI8Z,MAAOA,EAAO1N,SAAUyN,EAAc1L,cAAexb,KAAK6oB,cAAehT,QAAS7V,KAAKH,MAAMgW,QAAS8F,sBAAuB3b,KAAKgpB,oBAAqB9O,eAAgB7O,KAEtM2f,GAAgBpC,GAAaoB,EAAoF,KAApE5oB,IAAAC,cAACslB,GAAmB,CAACO,aAAcA,EAAcC,MAAOA,KAErG8D,EACAC,EACAC,OAGNxT,EArbO,CAASnT,GAicJiO,oBAAQ,KATvB,SAA4BG,GAC1B,MAAO,CACL/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFnC,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,KACnGsF,aAAc,SAAUtF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAanC,MAAMrF,OAIpFkT,CAAkCkF,IE7c5BQ,GAAK,SAAAvY,GAAA,SAAAuY,IAAA,OAAApY,YAAAC,KAAAmY,GAAAlY,YAAAD,KAAAE,YAAAiY,GAAA9T,MAAArE,KAAAgE,YAOrB,OAPqBnD,YAAAsX,EAAAvY,GAAAkB,YAAAqX,EAAA,EAAApX,IAAA,SAAAC,MAAA,WAElB,OACII,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,4BAA4BjW,UAAWsV,GAAM9B,QAAS7V,KAAKH,MAAMgW,eAGnGsC,EAPqB,CAAS9V,uBCEdipB,GAAW,SAAAngB,GAC5B,SAAAmgB,EAAYzrB,GAAO,IAAAC,EAIwD,OAJxDC,YAAAC,KAAAsrB,IACfxrB,EAAAG,YAAAD,KAAAE,YAAAorB,GAAAnrB,KAAAH,KAAMH,KAMV0rB,YAAc,SAACC,GACX1rB,EAAKD,MAAM0rB,YAAYC,IAC1B1rB,EAED2rB,SAAW,WACP,GAAI3rB,EAAKQ,MAAMorB,QAA+B,IAArB5rB,EAAKQ,MAAMorB,OAEhC,GAA6D,GADlD5rB,EAAKD,MAAM8rB,KACbzd,OAAO,SAAAC,GAAC,OAAIA,EAAEyd,OAAS9rB,EAAKQ,MAAMorB,SAAQznB,OAC/C,GAAK4nB,MAAM/rB,EAAKQ,MAAMwrB,YAAeD,MAAM/rB,EAAKQ,MAAMyrB,cAAiBF,MAAM/rB,EAAKQ,MAAM0rB,UAKpFC,MAAM,sCALyF,CAC/F,IAAIT,EAAM,CAAEI,MAAO9rB,EAAKQ,MAAMorB,OAAQpc,OAAQvF,SAASjK,EAAKQ,MAAMwrB,WAAYI,MAAOniB,SAASjK,EAAKQ,MAAM0rB,UAAWG,SAAUpiB,SAASjK,EAAKQ,MAAMyrB,cAClJjsB,EAAKD,MAAM4rB,SAASD,GACpB1rB,EAAKssB,mBAMTH,MAAM,uBAKjBnsB,EAEDssB,YAAc,WACVtsB,EAAKW,SAAS,CAAEirB,OAAQ,GAAII,UAAW,EAAGE,SAAU,EAAGD,YAAa,KACvEjsB,EAEDusB,eAAiB,SAAC9f,GACd,OAAQA,EAAEnH,OAAOC,MACb,IAAK,UACDvF,EAAKW,SAAS,CAAEirB,OAAQnf,EAAEnH,OAAOpE,QACjC,MACJ,IAAK,aACDlB,EAAKW,SAAS,CAAEqrB,UAA6B,IAAlBvf,EAAEnH,OAAOpE,MAAcuL,EAAEnH,OAAOpE,MAAQ,IACnE,MACJ,IAAK,YACDlB,EAAKW,SAAS,CAAEurB,SAA4B,IAAlBzf,EAAEnH,OAAOpE,MAAcuL,EAAEnH,OAAOpE,MAAQ,IAClE,MACJ,IAAK,eACDlB,EAAKW,SAAS,CAAEsrB,YAA+B,IAAlBxf,EAAEnH,OAAOpE,MAAcuL,EAAEnH,OAAOpE,MAAQ,MAIhFlB,EACDwsB,sBAAwB,WAAY,IAExBC,EAAavsB,KAAKM,MAAlBisB,SACRvsB,KAAKS,SAAS,CACV8rB,SAAU,CACNlZ,IAAKkZ,GAA6B,QAAjBA,EAASlZ,IAAgB,OAAS,UAG9DvT,EACD0sB,wBAA0B,SAAUjgB,EAACjJ,GAAmB,IAAf+B,EAAI/B,EAAJ+B,KAAMrE,EAAKsC,EAALtC,MAC3ChB,KAAKS,SAAQuF,YAAA,MAAA1B,OAAOe,EAAI,UAAWrE,KACtClB,EAEDyV,aAAe,WAAM,IAAAtU,EACiBnB,EAAKQ,MAA/BisB,EAAQtrB,EAARsrB,SAAUE,EAAWxrB,EAAXwrB,YACZjX,EAAkB+W,EAAsC,SAAAjoB,OAA8B,QAAjBioB,EAASlZ,IAAgB,OAAS,MAA1E,4BAEnC,MAAO,CACHjS,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,UACVK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAACkQ,KAAK,CACFlM,KAAK,QACL6B,KAAK,OACL/E,UAAU,aACV0X,OAAK,EACL7Y,MAAOyrB,EACP/a,SAAU5R,EAAK0sB,2BAEvBprB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,IAEpBjQ,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,IAEpBjQ,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,IAEpBjQ,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,KAIxBjQ,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,UACVK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,SAAGD,IAAAC,cAAA,OAAKQ,QAAS/B,EAAKwsB,uBAAuB,MAAGlrB,IAAAC,cAAC+P,IAAI,CAAC/L,KAAI,GAAAf,OAAKkR,QAEnEpU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,SAAG,WAEPD,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,SAAG,UAEPD,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,SAAG,UAEPD,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,SAAG,eAKlBvB,EAEDoW,WAAa,SAAC7I,GACV,OAAOA,EAAKsB,IAAI,SAACC,GAAI,OACjBxN,IAAAC,cAACoU,IAAKE,IAAG,KACLvU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,SAAIuN,EAAKgd,QAEbxqB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,SAAIuN,EAAKU,SAEblO,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,SAAIuN,EAAKsd,QAEb9qB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,SAAIuN,EAAKud,WAEb/qB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAA,UAAQ6F,KAAK,SAAS/E,UAAU,oBAAoBN,QAAS,WAAQ/B,EAAKyrB,YAAY3c,KAAS,IAACxN,IAAAC,cAAA,KAAGc,UAAU,qBAAuB,iBAGnJrC,EAED4sB,iBAAmB,WACf,OAAQtrB,IAAAC,cAACoU,IAAKE,IAAG,KACbvU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAACkQ,KAAK,CACFlM,KAAK,UACL6B,KAAK,OACL/E,UAAU,aACV0X,OAAK,EACL7Y,MAAOlB,EAAKQ,MAAMorB,OAClBha,SAAU5R,EAAKusB,kBAEvBjrB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAACkQ,KAAK,CACFlM,KAAK,aACL6B,KAAK,OACL/E,UAAU,aACV0X,OAAK,EACL7Y,MAAOlB,EAAKQ,MAAMwrB,UAClBpa,SAAU5R,EAAKusB,kBAEvBjrB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAACkQ,KAAK,CACFlM,KAAK,YACL6B,KAAK,OACL/E,UAAU,aACV0X,OAAK,EACL7Y,MAAOlB,EAAKQ,MAAM0rB,SAClBta,SAAU5R,EAAKusB,kBAEvBjrB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAACkQ,KAAK,CACFlM,KAAK,eACL6B,KAAK,OACL/E,UAAU,aACV0X,OAAK,EACL7Y,MAAOlB,EAAKQ,MAAMyrB,YAClBra,SAAU5R,EAAKusB,kBAEvBjrB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAACM,IAAM,CAACkY,OAAK,EAAChJ,SAAO,EAACD,KAAK,MAAM7O,QAAQ,MAAMF,QAAS/B,EAAK2rB,cAzKrE3rB,EAAKQ,MAAQ,CAAEorB,OAAQ,GAAII,UAAW,EAAGE,SAAU,EAAGD,YAAa,EAAGU,YAAa,IACnF3sB,EAAKwsB,sBAAwBxsB,EAAKwsB,sBAAsBpmB,KAAItF,wBAAAd,KAC5DA,EAAK0sB,wBAA0B1sB,EAAK0sB,wBAAwBtmB,KAAItF,wBAAAd,KAAOA,EA0L1E,OA/L2Be,YAAAyqB,EAAAngB,GAM3BrK,YAAAwqB,EAAA,EAAAvqB,IAAA,SAAAC,MAAA,WA4KQ,IAAA+pB,EAC6B/qB,KAAKM,MAA/BisB,EAAQxB,EAARwB,SAAUE,EAAW1B,EAAX0B,YACdpf,EAAOrN,KAAKH,MAAM8rB,KAAO3rB,KAAKH,MAAM8rB,KAAKzd,OAAO,SAAUsd,GAC1D,OAAOA,EAAII,MAAM9c,SAAS2d,KACzB,GAECE,EAAeJ,EAAkBlf,EAAKuf,KAAK,SAAU/hB,EAAGgiB,GAC1D,MAAwB,QAAjBN,EAASlZ,IAAgBxI,EAAE+gB,MAAQiB,EAAEjB,MAAQiB,EAAEjB,MAAQ/gB,EAAE+gB,QADpCve,EAGhC,OAAOjM,IAAAC,cAACyrB,KAAO,CAAC3b,MAAO,CAAE4b,SAAU,OAAQC,UAAW,MAClD5rB,IAAAC,cAACoU,IAAI,CAACtE,MAAO,CAAEE,MAAO,SAAW,CAACrR,KAAKuV,eAAgBvV,KAAKkW,WAAWyW,GAAc3sB,KAAK0sB,0BAGjGpB,EA/L2B,CAAS9mB,GCC1ByoB,OATf,SAA0B3pB,GAAyB,IAAZ4pB,EAAQ5pB,EAAlB+C,SACzB,OACIjF,IAAAC,cAAA,OAAKc,UAAU,QACXf,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,yBACxB+qB,KCWXhiB,GAAI,SAAAC,GACN,SAAAD,EAAYrL,GAAO,IAAAC,EAG2C,OAH3CC,YAAAC,KAAAkL,IACfpL,EAAAG,YAAAD,KAAAE,YAAAgL,GAAA/K,KAAAH,KAAMH,KAKV0F,kBAAoB,WAChB,OAAO,GACVzF,EAEDqtB,uBAAyB,SAAUrW,GAC/B,IAAMnW,EAAOX,KACb,GAAK8W,EAGL,OADA9W,KAAKH,MAAMgH,YAAY,4BAChBumB,IAAM3e,IAAI,eAAiBqI,GAC7B9J,KAAK,SAAUC,GACRA,GACAtM,EAAKF,SAAS,CAAEgE,MAAOwI,EAASI,SAGvCF,MAAM,SAAUZ,GACbvM,KAAK2E,eAAe,CAAEnE,MAAO,UAAWjB,QAASgN,EAAEU,SAASI,SAE/DL,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,+BAElChH,EAEDutB,qBAAuB,WACdvtB,EAAKD,MAAM2H,MAAMmF,OAAOkC,UAGzB/O,EAAKwtB,sBAFLxtB,EAAKytB,uBAGZztB,EAEDytB,oBAAsB,WAClBvtB,KAAKH,MAAMgH,YAAY,kBACvB,IAAMlG,EAAOX,KACb,OAAOotB,IAAM9f,KAAK,cAAetN,KAAKM,MAAMmE,OACvCuI,KAAK,SAAUC,GACRA,IACAtM,EAAKd,MAAM2Y,SAAQ,iBAAAlU,OAAkB2I,EAASI,KAAKwB,YACnDlO,EAAKmE,iBAAiB,CAAEtE,MAAO,UAAWjB,QAAS,yCAG1D4N,MAAM,SAAUZ,GACb5L,EAAKgE,eAAe,CAAEnE,MAAO,UAAWjB,QAASgN,EAAEU,SAASI,SAE/DL,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,qBAElChH,EAEDwtB,oBAAsB,WAClBttB,KAAKH,MAAMgH,YAAY,kBACvB,IAAMlG,EAAOX,KACb,OAAOotB,IAAMrgB,IAAI,cAAe/M,KAAKM,MAAMmE,OACtCuI,KAAK,SAAUC,GACRA,GACAtM,EAAKmE,iBAAiB,CAAEtE,MAAO,UAAWjB,QAAS,wCAG1D4N,MAAM,SAAUZ,GACb5L,EAAKgE,eAAe,CAAEnE,MAAO,UAAWjB,QAASgN,EAAEU,SAASI,SAE/DL,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,qBAGlChH,EAEDga,iBAAmB,SAACvN,GAChB,OAAQA,EAAEnH,OAAOC,MACb,IAAK,OAAQvF,EAAKW,SAAS,CAAE+sB,YAAajhB,EAAEnH,OAAOpE,UAK1DlB,EAED2tB,iBAAmB,SAACjC,GAChB,IAAIkC,EAAU5tB,EAAKQ,MAAMmE,MAErBkpB,EADOD,EAAQE,YACA1f,OAAO,SAAAC,GAAC,OAAIA,EAAEyd,OAASJ,EAAII,QAC9C8B,EAAQE,YAAcD,EACtB7tB,EAAKW,SAAS,CAAEgE,MAAOipB,EAASpoB,YAAY,KAC/CxF,EAED+tB,eAAiB,SAACrC,GACd,IAAIkC,EAAU5tB,EAAKQ,MAAMmE,MACrBknB,EAAO+B,GAAWA,EAAQE,YAAcF,EAAQE,YAAc,GAClEjC,EAAKpjB,KAAKijB,GACVkC,EAAQE,YAAcjC,EACtB7rB,EAAKW,SAAS,CAAEgE,MAAOipB,EAASpoB,YAAY,KA3F5CxF,EAAKqtB,uBAAuBttB,EAAM2H,MAAMmF,OAAOkC,WAAW/O,EAyI7D,OA7IKe,YAAAqK,EAAAC,GAKLrK,YAAAoK,EAAA,EAAAnK,IAAA,SAAAC,MAAA,WA+FG,IAAI8sB,EAAgB9tB,KAAKH,MAAMkuB,SAAW,gEAAkE,oDACxGC,EAAoBhuB,KAAKH,MAAM2H,MAAMmF,OAAOkC,UAAuB,SAAX,SACpDvJ,EAAetF,KAAKM,MAApBgF,WAAUiI,EACkEvN,KAAKM,MAAMmE,MAAvFY,EAAIkI,EAAJlI,KAAM4oB,EAAW1gB,EAAX0gB,YAAaC,EAAY3gB,EAAZ2gB,aAAcC,EAAW5gB,EAAX4gB,YAAaC,EAAY7gB,EAAZ6gB,aAAcC,EAAW9gB,EAAX8gB,YAC9DC,EAAcltB,IAAAC,cAACsP,IAAKhP,OAAM,CAACI,QAAS,cAAe8X,OAAK,EAAChJ,SAAO,EAACD,KAAK,SAC5E,OACIxP,IAAAC,cAAA,OAAKc,UAAW2rB,GAEZ1sB,IAAAC,cAAA,OAAKc,UAAU,WACXf,IAAAC,cAAA,OAAKc,UAAU,mBACXf,IAAAC,cAAA,OAAKc,UAAU,uBAAsBf,IAAAC,cAAA,MAAIc,UAAU,oBAAmB,YACtEf,IAAAC,cAAA,OAAKc,UAAU,wBACXf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,WAAW/O,UAAU,cAC1Bf,IAAAC,cAAA,OAAKc,UAAU,iBACXf,IAAAC,cAAA,OAAK+T,UAAU,kDAKnChU,IAAAC,cAAC4rB,GAAiB,KACd7rB,IAAAC,cAACsP,IAAI,CAACW,SAAUtR,KAAKqtB,sBACjBjsB,IAAAC,cAACsP,IAAKY,MAAK,CAACvQ,MAAOqE,EAAMA,KAAK,OAAOqM,SAAU1R,KAAKmF,sBAAuBsM,MAAM,iBACjFrQ,IAAAC,cAACsP,IAAKY,MAAK,CAACvQ,MAAOitB,EAAa5oB,KAAK,cAAcqM,SAAU1R,KAAKmF,sBAAuBsM,MAAM,iBAC/FrQ,IAAAC,cAACsP,IAAKY,MAAK,CAACvQ,MAAOktB,EAAc7oB,KAAK,eAAeqM,SAAU1R,KAAKmF,sBAAuBsM,MAAM,kBACjGrQ,IAAAC,cAACsP,IAAKY,MAAK,CAACvQ,MAAOmtB,EAAa9oB,KAAK,cAAcqM,SAAU1R,KAAKmF,sBAAuBsM,MAAM,iBAC/FrQ,IAAAC,cAACsP,IAAKY,MAAK,CAACvQ,MAAOotB,EAAc/oB,KAAK,eAAeqM,SAAU1R,KAAKmF,sBAAuBsM,MAAM,kBACjGrQ,IAAAC,cAACsP,IAAKY,MAAK,CAACvQ,MAAOqtB,EAAchpB,KAAK,cAAcqM,SAAU1R,KAAKmF,sBAAuBsM,MAAM,iBAChGrQ,IAAAC,cAACsP,IAAKhP,OAAM,CAACI,QAASisB,EAAkBnU,OAAK,EAAChJ,SAAO,EAACD,KAAK,OAAOI,UAAW1L,KAGjFlE,IAAAC,cAAA,WACAD,IAAAC,cAACC,IAAK,CAACkF,QAAS8nB,EAAaC,WAAS,EAAC3d,KAAK,SACxCxP,IAAAC,cAACC,IAAME,OAAM,KAAC,gBACdJ,IAAAC,cAACC,IAAMG,QAAO,CAAC+sB,OAAK,GAChBptB,IAAAC,cAACiqB,GAAW,CAACK,KAAM3rB,KAAKM,MAAMmE,MAAMmpB,YAAc5tB,KAAKM,MAAMmE,MAAMmpB,YAAc,GAAIrC,YAAavrB,KAAKytB,iBAAkBhC,SAAUzrB,KAAK6tB,yBAO/J3iB,EA7IK,CAAS1G,GAyJJiO,oBAAQ,KATvB,SAA4BG,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFnC,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,KACnGsF,aAAc,SAAUtF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAanC,MAAMrF,OAIxFkT,CAAkCvH,IC/J5BujB,GAAY,SAAAtjB,GAE7B,SAAAsjB,EAAY5uB,GAAO,IAAAC,EA+DlB,OA/DkBC,YAAAC,KAAAyuB,IACf3uB,EAAAG,YAAAD,KAAAE,YAAAuuB,GAAAtuB,KAAAH,KAAMH,EAAO,MAGjB0V,aAAe,WAAM,IACTmZ,EAAqB5uB,EAAKQ,MAA1BouB,iBACR,MAAO,CACHttB,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,UACVK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBACjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,gBACtDf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,wBAErCf,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,UACVK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,IACpBjQ,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAACkQ,KAAK,CACFlM,KAAK,mBACL6B,KAAK,OACL/E,UAAU,aACV0X,OAAK,EACL7Y,MAAO0tB,EACPhd,SAAU5R,EAAK+F,oBAEvBzE,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,kBAC7Bf,IAAAC,cAAA,KAAGc,UAAU,qBAAoB,cAGhDrC,EAEDoW,WAAa,SAAC7I,GACV,OAAOA,EAAKsB,IAAI,SAACC,EAAMuH,GAAK,OACxB/U,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAKoV,GACX/U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,MAEpC/U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAA,SAAIuN,EAAKvJ,OAEbjE,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAE5C/U,IAAAC,cAAA,UAAQ6F,KAAK,SAAS/E,UAAU,wBAChB2U,GAAIlI,EAAKC,UACThN,QAAS/B,EAAKD,MAAM8uB,iBACvB,IAACvtB,IAAAC,cAAA,KAAGc,UAAU,sBAAwB,SACnDf,IAAAC,cAAA,UAAQ6F,KAAK,SAAS/E,UAAU,oBAChB2U,GAAIlI,EAAKC,UACThN,QAAS,SAAC+sB,GAAC,OAAK9uB,EAAKD,MAAMgvB,cAAcD,EAAGhgB,EAAKvJ,QACpD,IAACjE,IAAAC,cAAA,KAAGc,UAAU,qBAAuB,iBAGrDrC,EAEDgZ,gBAAkB,WAAM,IACZ4V,EAAqB5uB,EAAKQ,MAA1BouB,iBACJxV,EAAapZ,EAAKD,MAAMwN,KAE5B,MADa,yCACF6T,KAAKwN,IACZzC,MAAM,qDACC/S,IAGPwV,IACAxV,EAAaC,aAAYD,EAAYwV,EAAkB,CAAEtV,KAAM,CAAC,SAAAjL,GAAC,OAAIA,EAAE9I,UACpEiU,IAAEC,OAAOL,EAAY,SAAA/K,GAAC,OAAIA,EAAE9I,KAAKypB,WAC3ChvB,EAKA,OAtE4Be,YAAA4tB,EAAAtjB,GAI5BrK,YAAA2tB,EAAA,EAAA1tB,IAAA,SAAAC,MAAA,WAgEG,IAAMqM,EAAOrN,KAAK8Y,kBAClB,OAAO1X,IAAAC,cAACoU,IAAI,KAAE,CAACzV,KAAKuV,eAAgBvV,KAAKkW,WAAW7I,SACvDohB,EAtE4B,CAASjqB,GCCpCmT,GAAI,SAAAxM,GACR,SAAAwM,EAAY9X,GAAO,IAAAC,EAKa,OALbC,YAAAC,KAAA2X,IACjB7X,EAAAG,YAAAD,KAAAE,YAAAyX,GAAAxX,KAAAH,KAAMH,KAYRgvB,cAAgB,SAAUrV,EAAKgU,GAC7B,IAAM3e,EAAY2K,EAAIpU,OAAO0R,GACvBnW,EAAOX,KACbV,EAAkB,kBAAiB,2BAAAgF,OAA6BkpB,EAAW,eACxExgB,KAAK,WAEJ,OADArM,EAAKd,MAAMgH,YAAY,kBAChBumB,IAAMxf,OAAM,iBAAAtJ,OAAkBuK,MAGtC7B,KAAK,WACJrM,EAAKouB,yBACLpuB,EAAKmE,iBAAiB,CAAEtE,MAAO,UAAWjB,QAAS,4BAGpD4N,MAAM,SAAUZ,GACXA,GACFwC,QAAQnK,MAAMjE,EAAKd,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,cAEnDhC,KAAK,WACJrM,EAAKd,MAAMiH,YAAY,qBAE5BhH,EAEDkvB,eAAiB,WACflvB,EAAKD,MAAM2Y,SAAS,iBAnCpB1Y,EAAKQ,MAAQ,CAAE8L,SAAU,IACzBtM,EAAK6uB,gBAAkB7uB,EAAK6uB,gBAAgBzoB,KAAItF,wBAAAd,KAChDA,EAAKivB,uBAAyBjvB,EAAKivB,uBAAuB7oB,KAAItF,wBAAAd,KAC9DA,EAAKivB,yBAAyBjvB,EA2G/B,OAjHOe,YAAA8W,EAAAxM,GAOPrK,YAAA6W,EAAA,EAAA5W,IAAA,kBAAAC,MAAA,SAEewY,GACd,IAAM3K,EAAY2K,EAAIpU,OAAO0R,GAC7B9W,KAAKH,MAAM2Y,SAAQ,iBAAAlU,OAAkBuK,MACtC,CAAA9N,IAAA,yBAAAC,MAAA,WA8BC,IAAML,EAAOX,KACb,OAAOotB,IAAM3e,IAAI,iBACdzB,KAAK,SAAUC,GAEVA,GACFtM,EAAKF,SAAS,CAAE2L,SAAUa,EAASI,SAGtCF,MAAM,SAAUZ,GACfwC,QAAQnK,MAAMjE,EAAKd,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,gBAErD,CAAAjO,IAAA,SAAAC,MAAA,WA8CC,OACEI,IAAAC,cAAA,WACED,IAAAC,cAAA,KAAG8T,KAAK,YAAYhT,UAAU,0BAC5Bf,IAAAC,cAAA,OAAKc,UAAU,iBACbf,IAAAC,cAAA,OAAK+T,UAAU,+CAGnBhU,IAAAC,cAAA,MAAIc,UAAU,oBAAmB,YACjCf,IAAAC,cAAA,UAAQQ,QAAS7B,KAAKgvB,eACpB7sB,UAAU,oCACVf,IAAAC,cAAA,KAAGc,UAAU,gBAAkB,gBACjCf,IAAAC,cAACotB,GAAY,CAACphB,KAAMrN,KAAKM,MAAM8L,SAAUyiB,cAAe7uB,KAAK6uB,cAAeF,gBAAiB3uB,KAAK2uB,uBAGvGhX,EAjHO,CAASnT,GA+HJiO,oBAAQ,KATvB,SAA4BG,GAC1B,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFnC,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,KACnGsF,aAAc,SAAUtF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAanC,MAAMrF,OAItFkT,CAAkCkF,ICjI5BQ,GAAK,SAAAvY,GAAA,SAAAuY,IAAA,OAAApY,YAAAC,KAAAmY,GAAAlY,YAAAD,KAAAE,YAAAiY,GAAA9T,MAAArE,KAAAgE,YASrB,OATqBnD,YAAAsX,EAAAvY,GAAAkB,YAAAqX,EAAA,EAAApX,IAAA,SAAAC,MAAA,WAElB,OACII,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,2BAA2BjW,UAAW6I,GAAMsN,SAAUxY,KAAKH,MAAM2Y,WACxFpX,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,eAAejW,UAAW6I,GAAMsN,SAAUxY,KAAKH,MAAM2Y,WAC5EpX,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,WAAWjW,UAAWsV,GAAMa,SAAUxY,KAAKH,MAAM2Y,gBAGnFL,EATqB,CAAS9V,aCEd6I,GAAI,SAAAC,GAErB,SAAAD,EAAYrL,GAAO,IAAAC,EAO8C,OAP9CC,YAAAC,KAAAkL,IACfpL,EAAAG,YAAAD,KAAAE,YAAAgL,GAAA/K,KAAAH,KAAMH,KACGA,MAAMovB,OACXnvB,EAAKovB,cAELpvB,EAAKqvB,cAETrvB,EAAKsvB,mBAAqBtvB,EAAKsvB,mBAAmBlpB,KAAItF,wBAAAd,KAAOA,EAuEhE,OAhFoBe,YAAAqK,EAAAC,GAUpBrK,YAAAoK,EAAA,EAAAnK,IAAA,cAAAC,MAAA,WAGG,IAAML,EAAOX,KACb,OAAO8M,IAAM2B,IAAI,wBACZzB,KAAK,SAAUC,GACZtM,EAAKF,SAAS,CAAEgE,MAAOwI,EAASI,WAE3C,CAAAtM,IAAA,cAAAC,MAAA,WAGG,IAAML,EAAOX,KACb,OAAO8M,IAAM2B,IAAG,oBAAAnK,OAAqBtE,KAAKH,MAAM2H,MAAMmF,OAAO0iB,SACxDriB,KAAK,SAAUC,GACZtM,EAAKF,SAAS,CAAEgE,MAAOwI,EAASI,WAE3C,CAAAtM,IAAA,qBAAAC,MAAA,WAGG,IAAML,EAAOX,KACTA,KAAKH,MAAMovB,OACXniB,IAAMC,IAAI,mBAAoB/M,KAAKM,MAAMmE,OACpCuI,KAAK,WACFrM,EAAKmE,iBAAiB,CAAEtE,MAAO,iBAAkBjB,QAAS,cAIlEuN,IAAMQ,KAAK,mBAAoBtN,KAAKM,MAAMmE,OACrCuI,KAAK,WACFrM,EAAKmE,iBAAiB,CAAEtE,MAAO,iBAAkBjB,QAAS,cAItE2N,GAAmB,qBACtB,CAAAnM,IAAA,SAAAC,MAAA,WAIG,IAAMgtB,EAAmBhuB,KAAKH,MAAMovB,OAAS,UAAY,UACjD3pB,EAAetF,KAAKM,MAApBgF,WAAUiI,EAC2BvN,KAAKM,MAAMmE,MAAhDY,EAAIkI,EAAJlI,KAAMwH,EAAGU,EAAHV,IAAKyiB,EAAS/hB,EAAT+hB,UAAWC,EAAUhiB,EAAVgiB,WAC1BzB,EAAgB9tB,KAAKH,MAAMovB,OAAS,gEAAkE,oDAE1G,OACI7tB,IAAAC,cAAA,OAAKc,UAAW2rB,GAEZ1sB,IAAAC,cAAA,OAAK2kB,MAAM,WACP5kB,IAAAC,cAAA,OAAK2kB,MAAM,mBACP5kB,IAAAC,cAAA,OAAK2kB,MAAM,uBAAsB5kB,IAAAC,cAAA,MAAIc,UAAU,oBAAmB,mBAClEf,IAAAC,cAAA,OAAK2kB,MAAM,wBACP5kB,IAAAC,cAAC4P,IAAI,CAACC,GAAG,kBAAkB/O,UAAU,cACjCf,IAAAC,cAAA,OAAKc,UAAU,iBACXf,IAAAC,cAAA,OAAK+T,UAAU,kDAKnChU,IAAAC,cAAC4rB,GAAiB,KACd7rB,IAAAC,cAACsP,IAAI,CAACW,SAAUtR,KAAKqtB,sBACjBjsB,IAAAC,cAACsP,IAAKY,MAAK,CAACvQ,MAAOqE,EAAMA,KAAK,OAAOqM,SAAU1R,KAAKmF,sBAAuBsM,MAAM,SACjFrQ,IAAAC,cAACsP,IAAKY,MAAK,CAACvQ,MAAO6L,EAAKxH,KAAK,MAAMqM,SAAU1R,KAAKmF,sBAAuBsM,MAAM,QAC/ErQ,IAAAC,cAACsP,IAAKY,MAAK,CAACvQ,MAAOsuB,EAAWjqB,KAAK,YAAYqM,SAAU1R,KAAKmF,sBAAuBsM,MAAM,eAC1FzR,KAAKH,MAAMovB,OAAS,KACjB7tB,IAAAC,cAACsP,IAAKY,MAAK,CAACvQ,MAAOuuB,EAAYlqB,KAAK,aAAaqM,SAAU1R,KAAKmF,sBAAuBsM,MAAM,gBAEjGrQ,IAAAC,cAACsP,IAAKhP,OAAM,CAACI,QAASisB,EAAkBnU,OAAK,EAAChJ,SAAO,EAACD,KAAK,OAAOI,UAAW1L,EAAYzD,QAAS7B,KAAKovB,4BAK1HlkB,EAhFoB,CAAS1G,GCTbgrB,GAAK,SAAA5vB,GAAA,SAAA4vB,IAAA,OAAAzvB,YAAAC,KAAAwvB,GAAAvvB,YAAAD,KAAAE,YAAAsvB,GAAAnrB,MAAArE,KAAAgE,YAiBrB,OAjBqBnD,YAAA2uB,EAAA5vB,GAAAkB,YAAA0uB,EAAA,EAAAzuB,IAAA,YAAAC,MAAA,WAEV,IAAAimB,EACiBjnB,KAAKH,MAAtB2Z,EAAGyN,EAAHzN,IAAK9D,EAAOuR,EAAPvR,QACb,OAAK8D,EAGF9D,EAAQ/G,IAAI,SAACR,EAAGshB,GAAC,OAAKruB,IAAAC,cAAA,MAAIN,IAAG,QAAAuD,OAAUmrB,GAAMttB,UAAS,GAAAmC,OAAK6J,EAAEuhB,SAAQ,UAAWvhB,EAAEwhB,cAAcxhB,EAAEwhB,cAAcnW,GAAKpY,IAAAC,cAAA,OAAK8P,MAAO,CAACye,UAAU,SAAUC,WAAW,SAAUC,aAAa,YAAatvB,MAAO2N,EAAEvK,OAAO4V,IAAOrL,EAAEvK,OAAO4V,OAF7N9D,EAAQ/G,IAAI,SAACR,EAAGshB,GAAC,OAAKruB,IAAAC,cAAA,MAAIN,IAAG,QAAAuD,OAAUmrB,GAAMttB,UAAS,GAAAmC,OAAK6J,EAAEuhB,SAAQ,UAAU,YAG7F,CAAA3uB,IAAA,SAAAC,MAAA,WAGG,OACII,IAAAC,cAAA,UACKrB,KAAK+vB,iBAIjBP,EAjBqB,CAASntB,aCAd2tB,GAAW,SAAApwB,GAAA,SAAAowB,IAAA,OAAAjwB,YAAAC,KAAAgwB,GAAA/vB,YAAAD,KAAAE,YAAA8vB,GAAA3rB,MAAArE,KAAAgE,YAwB3B,OAxB2BnD,YAAAmvB,EAAApwB,GAAAkB,YAAAkvB,EAAA,EAAAjvB,IAAA,SAAAC,MAAA,WAExB,IAAML,EAAOX,KACb,OAAOoB,IAAAC,cAAA,aACHD,IAAAC,cAAA,MAAIN,IAAI,UACHJ,EAAKd,MAAM6V,QAAQ/G,IAAI,SAACR,EAAGshB,GACxB,IAAIQ,EAAkB9hB,EAAE+hB,eAAiBvvB,EAAKd,MAAMswB,aAAehiB,EAAE+hB,cAAgB,SAAW,GAEhG,OAAO9uB,IAAAC,cAAA,MAAIN,IAAK,SAAW0uB,EACvBttB,UAAS,GAAAmC,OAAK6J,EAAEuhB,SAAQ,UAAAprB,OAAS6J,EAAEiiB,UAAYjiB,EAAE+hB,cAAgB,WAAa,GAAE,KAAA5rB,OAAI2rB,GACpFpuB,QAAS,WAAF,OAAQlB,EAAKd,MAAMwwB,WAAWliB,EAAE+hB,iBAAkB/hB,EAAEiJ,OAC1D6Y,EAAgD,QAA7BtvB,EAAKd,MAAMywB,cAA0BlvB,IAAAC,cAAA,KAAG2kB,MAAM,2BAC5D5kB,IAAAC,cAAA,KAAG2kB,MAAM,yBACT,OAKlB5kB,IAAAC,cAAA,MAAIN,IAAI,UACHJ,EAAKd,MAAM6V,QAAQ/G,IAAI,SAACR,EAAGshB,GAAC,OAAKruB,IAAAC,cAAA,MAAIN,IAAK,SAAW0uB,EAAGttB,UAAS,GAAAmC,OAAK6J,EAAEuhB,SAAQ,UAAYvhB,EAAEoiB,aAC3FpiB,EAAEoiB,aAAa,SAACvvB,GAAK,OAAKL,EAAKd,MAAMiZ,gBAAgB3K,EAAE+hB,cAAelvB,KADoC,cAKzHgvB,EAxB2B,CAAS3tB,uBCIpBmuB,GAAO,SAAA5wB,GACxB,SAAA4wB,EAAY3wB,GAAO,IAAAC,EAY8B,OAZ9BC,YAAAC,KAAAwwB,IACf1wB,EAAAG,YAAAD,KAAAE,YAAAswB,GAAArwB,KAAAH,KAAMH,KACDS,MAAQ,CACTmwB,cAAe5wB,EAAMwN,KACrBqjB,QAAS,GACTC,eAAgB,EAChBC,WAAY,GAEhB9wB,EAAKgZ,gBAAkBhZ,EAAKgZ,gBAAgB5S,KAAItF,wBAAAd,KAChDA,EAAK+wB,WAAa/wB,EAAK+wB,WAAW3qB,KAAItF,wBAAAd,KACtCA,EAAKgxB,uBAAyBhxB,EAAKgxB,uBAAuB5qB,KAAItF,wBAAAd,KAC9DA,EAAKixB,wBAA0BjxB,EAAKixB,wBAAwB7qB,KAAItF,wBAAAd,KAChEA,EAAKuwB,WAAavwB,EAAKuwB,WAAWnqB,KAAItF,wBAAAd,KAAOA,EA4GhD,OAzHuBe,YAAA2vB,EAAA5wB,GAcvBkB,YAAA0vB,EAAA,EAAAzvB,IAAA,kBAAAC,MAAA,SAEeqM,GAAM,IAAAuC,EAAA5P,KAClB,OAAKqN,EAEEA,EAAKsB,IAAI,SAACR,EAAGshB,GAAC,OAAMruB,IAAAC,cAACmuB,GAAK,CAAChW,IAAKrL,EAAGuH,QAAS9F,EAAK/P,MAAM6V,QAAS3U,IAAK,MAAQ0uB,MADzE,OAEd,CAAA1uB,IAAA,aAAAC,MAAA,WAIG,IAFS,IAAAgwB,EAAAhxB,KAAAiB,EACwBjB,KAAKM,MAAhCmwB,EAAaxvB,EAAbwvB,cAAeC,EAAOzvB,EAAPyvB,QAAOO,EAAA,WAExB,IAAMC,EAASF,EAAKnxB,MAAM6V,QAAQS,GAC5Bgb,EAAeT,EAAQQ,EAAOhB,eAChCiB,IACAV,EAAgBnX,IAAEpL,OAAOuiB,EAAe,SAACjX,GAAG,OAAK0X,EAAOttB,OAAO4V,GAAK1K,SAASqiB,OAJ5Ehb,EAAQ,EAAGA,EAAQnW,KAAKH,MAAM6V,QAAQzR,OAAQkS,IAAO8a,IAY9D,IANC,IAAAlG,EACsC/qB,KAAKM,MAApCqwB,EAAc5F,EAAd4F,eAAgBC,EAAU7F,EAAV6F,WAClBQ,EAAqBX,EAAcxsB,OAEnCotB,EAAYV,GADlBF,EAAard,aAAOqd,EAAca,OAAOV,EAAa,GAAKD,EAAgBC,EAAaD,KACvC1sB,OAExCkS,EAAQ,EAAGA,EAAQkb,EAAWlb,IACnCsa,EAAcloB,KAAK,MAEvB,MAAO,CAAEgpB,MAAOd,EAAee,MAAOJ,KACzC,CAAArwB,IAAA,kBAAAC,MAAA,SAEe8V,EAAI9V,GAAO,IACf0vB,EAAY1wB,KAAKM,MAAjBowB,QACRA,EAAQ5Z,GAAM9V,EAEdhB,KAAKS,SAAS,CACViwB,UACAE,WAAY,IAEhB5wB,KAAKyxB,gBACR,CAAA1wB,IAAA,yBAAAC,MAAA,SAEsBuL,EAACjJ,GAAkB,IAAdstB,EAAUttB,EAAVstB,WACxB5wB,KAAKS,SAAS,CAAEmwB,iBACnB,CAAA7vB,IAAA,0BAAAC,MAAA,SAEuBuL,EAAC5G,GAAa,IAAT3E,EAAK2E,EAAL3E,MACzBhB,KAAKS,SAAS,CAAEkwB,eAAgB3vB,MACnC,CAAAD,IAAA,aAAAC,MAAA,SAEU0wB,GAAU,IAAAC,EAC8B3xB,KAAKM,MAA9CmwB,EAAakB,EAAblB,cAAeN,EAAUwB,EAAVxB,WAAY5K,EAASoM,EAATpM,UAC3BqM,EAAgB5xB,KAAKH,MAAM6V,QAAQxH,OAAO,SAAAC,GAAC,OAAIA,EAAE+hB,gBAAkBwB,IAAU,GACnFjB,EAAgBnX,IAAEC,OAAOkX,EAAe,SAAAtiB,GAAC,OAAIyjB,EAAchuB,OAAOuK,GAAG0jB,gBACnD,SAAdtM,IACAkL,EAAgBnX,IAAEwY,MAAMrB,GAAesB,UAAU/wB,SAErDhB,KAAKS,SAAS,CACVgwB,gBACAN,WAAYuB,EACZnM,UAAY4K,IAAeuB,GAA0B,QAAdnM,EAAsB,OAAS,UAE7E,CAAAxkB,IAAA,SAAAC,MAAA,WAGG,IAAMgxB,EAAOhyB,KAAK6wB,aACZoB,EAAajyB,KAAKH,MAAM6V,QAAQxH,OAAO,SAAAC,GAAC,QAAMA,EAAEoiB,eAActsB,OAAS,EAAEiuB,EACjBlyB,KAAKM,MAA3DqwB,EAAcuB,EAAdvB,eAAgBC,EAAUsB,EAAVtB,WAAYT,EAAU+B,EAAV/B,WAAY5K,EAAS2M,EAAT3M,UAC1C4M,EAAgB/b,KAAKgc,KAAKJ,EAAKR,MAAQb,GAQ7C,OAEIvvB,IAAAC,cAAA,OAAKc,UAAU,mBAAmBgP,MAAO,CAAEkhB,YAAa,UACpDjxB,IAAAC,cAAA,SAAOc,UAAU,wCAAwCgP,MAAO,CAAEkhB,YAAa,UAC3EjxB,IAAAC,cAAC2uB,GAAW,CAACK,WAAYrwB,KAAKqwB,WAC9B3a,QAAS1V,KAAKH,MAAM6V,QAAS4c,UAAWL,EACxC9B,WAAYA,EACZG,cAAe/K,EACfzM,gBAAiB9Y,KAAK8Y,kBACtB1X,IAAAC,cAAA,aACKrB,KAAKuyB,gBAAgBP,EAAKT,QAE/BnwB,IAAAC,cAAA,aACID,IAAAC,cAAA,UAAID,IAAAC,cAAA,MAAImxB,QAASxyB,KAAKH,MAAM6V,QAAQzR,QAChB,IAAf+tB,EAAKR,MACFpwB,IAAAC,cAAA,WACID,IAAAC,cAAA,OAAKc,UAAU,2BACXf,IAAAC,cAACoxB,KAAU,CACP7B,WAAYA,EACZ8B,aAAc1yB,KAAK8wB,uBACnB6B,WAAYR,KAGpB/wB,IAAAC,cAAA,OAAKc,UAAU,4BACXf,IAAAC,cAAA,YAAM,gBACND,IAAAC,cAAC4Z,KAAQ,CAAChN,QAhChB,CACtB,CAAElN,IAAK,IAAKC,MAAO,EAAGoN,KAAM,UAC5B,CAAErN,IAAK,KAAMC,MAAO,GAAIoN,KAAM,WAC9B,CAAErN,IAAK,KAAMC,MAAO,GAAIoN,KAAM,WAC9B,CAAErN,IAAK,KAAMC,MAAO,GAAIoN,KAAM,WAC9B,CAAErN,IAAK,KAAMC,MAAO,GAAIoN,KAAM,YA2BoCpN,MAAO2vB,EAAgBjf,SAAU1R,KAAK+wB,4BAElF,cAO7BP,EAzHuB,CAASnuB,aCO/BsV,GAAI,SAAAxM,GAEN,SAAAwM,EAAY9X,GAAO,IAAAC,EAEC,OAFDC,YAAAC,KAAA2X,IACf7X,EAAAG,YAAAD,KAAAE,YAAAyX,GAAAxX,KAAAH,KAAMH,KAaV+yB,UAAY,SAAUpZ,EAAKqZ,GACvB,IAAMC,EAAQtZ,EAAIpU,OAAO0R,GACnBnW,EAAOX,KAEb,OADAA,KAAKH,MAAMgH,YAAY,cAChBvH,EAAkB,cAAa,2BAAAgF,OAA6BuuB,EAAQ,WACtE7lB,KAAK,WACFrM,EAAKF,SAAS,CAAE4M,KAAM,OAEzBL,KAAK,WACF,OAAOF,IAAMc,OAAM,qBAAAtJ,OAAsBwuB,MAE5C9lB,KAAK,WACFrM,EAAKioB,WACLjoB,EAAKmE,iBAAiB,CAAEtE,MAAO,iBAAkBjB,QAAS,4BAE7D4N,MAAM,SAAUZ,GACTA,GACAwC,QAAQnK,MAAMjE,EAAKd,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,cAEvDhC,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,iBAElChH,EAQDkvB,eAAiB,WACb9hB,GAAmB,wBA3CnBpN,EAAK8oB,WAAW9oB,EAwGnB,OA5GKe,YAAA8W,EAAAxM,GAKLrK,YAAA6W,EAAA,EAAA5W,IAAA,WAAAC,MAAA,WAGG,IAAML,EAAOX,KACb8M,IAAM2B,IAAI,qBACLzB,KAAK,SAAUC,GACZtM,EAAKF,SAAS,CAAE4M,KAAMJ,EAASI,WAE1C,CAAAtM,IAAA,kBAAAC,MAAA,SA4BewY,GACZ,IAAM6V,EAAS7V,EAAIpU,OAAO0R,GAC1B5J,GAAkB,wBAAA5I,OAAyB+qB,MAC9C,CAAAtuB,IAAA,SAAAC,MAAA,WAMQ,IAAA4O,EAAA5P,KACC0V,EAAU,CACZ,CACI0B,OAAQ,OACR8Y,cAAe,OACftsB,OAAQ,SAAC4V,GAAG,OAAKA,EAAInU,MACrBqqB,SAAU,MACVU,UAAU,EACVG,aAAc,SAACwC,GAAc,OACzB3xB,IAAAC,cAACkQ,KAAK,CAACpP,UAAU,QAAQuP,SAAU,SAAFpO,GAAA,IAAetC,EAAKsC,EAAf8B,OAAUpE,MAAK,OAAS+xB,EAAe/xB,QAErF,CACI0uB,SAAU,OACVtY,OAAQ,MACRgZ,UAAU,EACVxsB,OAAQ,SAAC4V,GAAG,OAAKA,EAAI3M,KACrBqjB,cAAe,MACfK,aAAc,SAACwC,GAAc,OACzB3xB,IAAAC,cAACkQ,KAAK,CAACpP,UAAU,QAAQuP,SAAU,SAAF/L,GAAA,IAAe3E,EAAK2E,EAAfP,OAAUpE,MAAK,OAAS+xB,EAAe/xB,QAErF,CACI0uB,SAAU,QACVtY,OAAQ,aACR8Y,cAAe,YACfE,UAAU,EACVxsB,OAAQ,SAAC4V,GAAG,OAAKA,EAAI8V,YAEzB,CACII,SAAU,MACVtY,OAAQ,GACRuY,cAAe,SAACnW,GAAG,OAAKpY,IAAAC,cAAA,WACpBD,IAAAC,cAAA,UAAQ6F,KAAK,SAAS/E,UAAU,8BAC5B2U,GAAI0C,EAAI1C,GACRjV,QAAS+N,EAAKojB,iBACjB,IAAC5xB,IAAAC,cAAA,KAAGc,UAAU,sBAAwB,SACvCf,IAAAC,cAAA,UAAQ6F,KAAK,SAAS/E,UAAU,0BAC5B2U,GAAI0C,EAAI1C,GACRjV,QAAS,SAAC+sB,GAAC,OAAKhf,EAAKgjB,UAAUhE,EAAGpV,EAAInU,QACzC,IAACjE,IAAAC,cAAA,KAAGc,UAAU,qBAAuB,gBAK1CkL,EAASrN,KAAKM,MAAd+M,KAER,OAAQjM,IAAAC,cAAA,WACJD,IAAAC,cAAA,MAAIc,UAAU,oBAAmB,wBACjCf,IAAAC,cAAA,UAAQQ,QAAS7B,KAAKgvB,eAClB7sB,UAAU,oCACVf,IAAAC,cAAA,KAAGc,UAAU,gBAAkB,aACnCf,IAAAC,cAAA,WACGgM,EACCjM,IAAAC,cAACmvB,GAAO,CACJ8B,WAAW,EACXjlB,KAAMA,EACNqI,QAASA,IAAsB,UAG9CiC,EA5GK,CAASnT,GAyHJiO,oBAAQ,KATvB,SAA4BG,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFnC,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,KACnGsF,aAAc,SAAUtF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAanC,MAAMrF,OAIxFkT,CAAkCkF,IC9H5BQ,GAAK,SAAAvY,GAAA,SAAAuY,IAAA,OAAApY,YAAAC,KAAAmY,GAAAlY,YAAAD,KAAAE,YAAAiY,GAAA9T,MAAArE,KAAAgE,YAUrB,OAVqBnD,YAAAsX,EAAAvY,GAAAkB,YAAAqX,EAAA,EAAApX,IAAA,SAAAC,MAAA,WAElB,OAAQI,IAAAC,cAAA,WACJD,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,+BAA+BjW,UAAW6I,GAAM+jB,QAAQ,IAC/E7tB,IAAAC,cAACoC,IAAK,CAAC4U,OAAK,EAACC,KAAK,sBAAsBxU,UAAWoH,KACnD9J,IAAAC,cAACoC,IAAK,CAAC4U,OAAK,EAACC,KAAK,kBAAkBxU,UAAW6T,WAI1DQ,EAVqB,CAAS9V,6CCC7B4wB,GAAa,SAAAvV,GACjB,SAAAuV,EAAYpzB,GAAO,IAAAC,EAeM,OAfNC,YAAAC,KAAAizB,IACjBnzB,EAAAG,YAAAD,KAAAE,YAAA+yB,GAAA9yB,KAAAH,KAAMH,KA8BRqzB,iBAAmB,SAACC,GAElB,IAAI7qB,EAAcZ,EAAsByrB,EAAQrzB,EAAKQ,MAAMsH,iBAE3D9H,EAAKW,SAAS,CACZ2yB,YAAaD,EACb7qB,iBAnCFxI,EAAKQ,MAAQ,CACX+yB,gBAAiB,GACjBD,YAAa,GACbvuB,aAAc,GACdyuB,gBAAgB,EAChBhrB,YAAaZ,EAAsB,IACnC6rB,MAAOC,KAAYC,MAAM3zB,EAAKD,MAAMmY,SAASiO,QAAQsN,OAGvDzzB,EAAK4zB,wBAA0B5zB,EAAK4zB,wBAAwBxtB,KAAItF,wBAAAd,KAChEA,EAAK6zB,4BAA8B7zB,EAAK6zB,4BAA4BztB,KAAItF,wBAAAd,KACxEA,EAAK8zB,0BAA4B9zB,EAAK8zB,0BAA0B1tB,KAAItF,wBAAAd,KACpEA,EAAK+zB,6BAA+B/zB,EAAK+zB,6BAA6B3tB,KAAItF,wBAAAd,KAC1EA,EAAK8H,kBAAkB9H,EAkIxB,OAlJgBe,YAAAoyB,EAAAvV,GAiBhB5c,YAAAmyB,EAAA,EAAAlyB,IAAA,kBAAAC,MAAA,WAGC,IAAML,EAAOX,KACbW,EAAKd,MAAMgH,YAAY,wBACvBumB,IAAM3e,IAAG,2BAAAnK,OAA4BwvB,mBAAmB9zB,KAAKM,MAAMizB,SAChEvmB,KAAK,SAACC,GAAetM,EAAKF,SAAS,CAAEmH,gBAAiBqF,EAASI,SAC/DF,MAAM,SAACZ,GAAQ5L,EAAKF,SAAS,CAAEoE,aAAc0H,EAAEU,SAASI,SACxDL,KAAK,WACJrM,EAAKuyB,iBAAiB,IACtBvyB,EAAKd,MAAMiH,YAAY,wBACvBnG,EAAKF,SAAS,CAAE6yB,gBAAgB,QAErC,CAAAvyB,IAAA,0BAAAC,MAAA,SAYuBuL,GACtB,IAAI4mB,EAAS5mB,EAAEnH,OAAOpE,MACtBhB,KAAKkzB,iBAAiBC,KACvB,CAAApyB,IAAA,8BAAAC,MAAA,SAC2BuL,GAC1BvM,KAAKS,SAAS,CAAE4yB,gBAAiB9mB,EAAEnH,OAAOpE,UAC3C,CAAAD,IAAA,+BAAAC,MAAA,WAEC4gB,OAAO5J,SAAW,MACnB,CAAAjX,IAAA,4BAAAC,MAAA,SAEyBuL,GACxBvM,KAAKS,SAAS,CAAEszB,WAAW,IAC3BxnB,EAAEE,iBACF,IAAI9L,EAAOX,KACX,IACE,GAAIA,KAAKM,MAAMgI,YAAY4F,OAAO,SAAAC,GAAC,OAAKA,EAAE3F,SAAQvE,OAAS,EAEzD,YADAjE,KAAKS,SAAS,CAAEoE,aAAc,4CAGhC,GAAI7E,KAAKM,MAAM8yB,cAAgBpzB,KAAKM,MAAM+yB,gBAExC,YADArzB,KAAKS,SAAS,CAAEoE,aAAc,8CAGhCuoB,IAAMrgB,IAAG,wBAAAzI,OAAyBwvB,mBAAmB9zB,KAAKM,MAAMizB,OAAM,OAAAjvB,OAAMwvB,mBAAmB9zB,KAAKM,MAAM8yB,eACvGpmB,KAAK,WACJrM,EAAKkzB,+BAELlzB,EAAKF,SAAS,CAAEszB,WAAW,MAE5B5mB,MAAM,SAAUvI,GACfjE,EAAKF,SAAS,CAAEoE,aAAcD,EAAMqI,SAASI,KAAM0mB,WAAW,MAElE,MAAOxnB,GACPwC,QAAQ4Z,IAAIpc,MAEf,CAAAxL,IAAA,SAAAC,MAAA,WAGC,OACEI,IAAAC,cAAA,WACED,IAAAC,cAAA,OAAKc,UAAU,QACbf,IAAAC,cAAA,UAAQc,UAAU,wCAAwCykB,KAAK,UAC7DxlB,IAAAC,cAAA,KAAGc,UAAU,iBAAiBgT,KAAK,uCACjC/T,IAAAC,cAAA,KAAGc,UAAU,OAAM,6BAErBf,IAAAC,cAAA,MAAIc,UAAU,mCAAkCf,IAAAC,cAAA,KAAGc,UAAU,kBAAkBgT,KAAK,KAAI,qBAG5F/T,IAAAC,cAAA,OAAKc,UAAU,QACbf,IAAAC,cAAA,OAAKc,UAAU,yBACbf,IAAAC,cAAA,MAAIc,UAAU,gCAA+B,gGAGjDf,IAAAC,cAAA,OAAKc,UAAU,eACbf,IAAAC,cAAA,OAAKyV,GAAG,iBAAiB3U,UAAU,gDACH,KAA5BnC,KAAKM,MAAMuE,aAAuBzD,IAAAC,cAAA,OAAKc,UAAU,uBAChDnC,KAAKM,MAAMuE,cACL,GACTzD,IAAAC,cAAA,MAAIc,UAAU,uCAAsC,kBACpDf,IAAAC,cAAA,KAAGc,UAAU,uBAAsB,wBACnCf,IAAAC,cAAA,QAAMc,UAAU,sBAAsBmP,SAAUtR,KAAK4zB,2BACnDxyB,IAAAC,cAAA,OAAKc,UAAU,eACbf,IAAAC,cAAA,SAAOc,UAAU,sBAAsBuU,QAAQ,gBAAe,iBAE9DtV,IAAAC,cAACkF,IAAK,CACJC,QAASpF,IAAAC,cAAA,SACPgE,KAAK,eACLlD,UAAU,cACV+E,KAAK,WACLyK,YAAY,eACZ3Q,MAAOhB,KAAKM,MAAM8yB,YAClB1hB,SAAU1R,KAAK0zB,wBACfliB,UAAQ,IAEVjQ,KAAMvB,KAAKM,MAAMgzB,eACjBvxB,QAAoC,OAA3B/B,KAAKM,MAAMgI,YAAuBtI,KAAKM,MAAMgI,YAAYqG,IAAI,SAACR,EAAGshB,GAAC,OAAMruB,IAAAC,cAAA,OAAKc,UAAU,aAAapB,IAAK0uB,GAC/GthB,EAAE3F,OAASpH,IAAAC,cAAA,KAAGc,UAAU,2BAAgCf,IAAAC,cAAA,KAAGc,UAAU,0BACrEgM,EAAE5O,QAAQ,IAAC6B,IAAAC,cAAA,cAAiB,KAC/B+V,OAAO,kBACP3Q,SAAS,eACTmK,KAAK,UAEmD,IAAzD5Q,KAAKM,MAAMgI,YAAY4F,OAAO,SAAAC,GAAC,OAAKA,EAAE3F,SAAQvE,OAC7C7C,IAAAC,cAAA,WACED,IAAAC,cAAA,SAAOc,UAAU,sBAAsBuU,QAAQ,oBAAmB,qBAClEtV,IAAAC,cAAA,SACE2yB,aAAa,MACb7xB,UAAU,cACV+E,KAAK,WACLyK,YAAY,mBACZ3Q,MAAOhB,KAAKM,MAAM+yB,gBAClB3hB,SAAU1R,KAAK2zB,4BACfniB,UAAQ,KAEH,KAEXpQ,IAAAC,cAAA,SAAOc,UAAU,4BAA4B+E,KAAK,SAASlG,MAAM,QAAQgQ,SAAUhR,KAAKM,MAAMyzB,qBAO3Gd,EAlJgB,CAAS7xB,IAAMiB,WA4JnB4xB,oBAAWxhB,aAAQ,KAPlC,SAA4BG,GAC1B,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,OAIlEsL,CAAkCwgB,KC9JvCiB,GAAS,SAAA/oB,GAC1B,SAAA+oB,EAAYr0B,GAAO,IAAAC,EAEgB,OAFhBC,YAAAC,KAAAk0B,IACfp0B,EAAAG,YAAAD,KAAAE,YAAAg0B,GAAA/zB,KAAAH,KAAMH,EAAO,MAIjB0V,aAAe,WAAM,IACT4e,EAAcr0B,EAAKQ,MAAnB6zB,UACR,MAAO,CACH/yB,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,UACVK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBACjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,QACtDf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,wBAErCf,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,UACVK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,IACpBjQ,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAACkQ,KAAK,CACFlM,KAAK,YACL6B,KAAK,OACL/E,UAAU,aACV0X,OAAK,EACL7Y,MAAOmzB,EACPziB,SAAU5R,EAAKs0B,eAAeluB,KAAItF,wBAAAd,QAE1CsB,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,kBAC7Bf,IAAAC,cAAA,KAAGc,UAAU,qBAAoB,cAGhDrC,EAEDoW,WAAa,SAAC7I,GACV,OAAOA,EAAKsB,IAAI,SAACC,EAAMuH,GAAK,OACxB/U,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAG,GAAAuD,OAAK6R,GAAK7R,OAAG8R,KAAKC,WAC3BjV,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAA,OAAKc,UAAU,aAAawY,IAAI,eAAeE,IAAI,kBAEvDzZ,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAA,YAAAiD,OAAyB,MAAlBsK,EAAKkB,UAAoBlB,EAAKkB,UAAY,kBAAiB,KAAAxL,OAAqB,MAAjBsK,EAAKmB,SAAmBnB,EAAKmB,SAAW,kBAAmB3O,IAAAC,cAAA,WAAMuN,EAAKtH,QAEhJlG,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAEpC/U,IAAAC,cAAA,UAAQ6F,KAAK,SAAS/E,WAAYyM,EAAK0B,cAAgB,OAAS,QAAU,aACtEwG,GAAIlI,EAAKkI,GAAIjV,QAAS/B,EAAKD,MAAMw0B,+BAChC,IAAEzlB,EAAK0B,cAAe,yBAAyB,iBAAyB,oBAC7ElP,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAC4P,IAAI,CAAC9O,UAAU,iBAAiB+O,GAAE,cAAA5M,OAAgBsK,EAAKkI,IAAM3F,MAAO,CAAEmE,OAAQ,SAAU,aAKxGxV,EAEDw0B,cAAgB,SAAChtB,GAEb,MADS,4JACC4Z,KAAK5Z,IApDfxH,EAAKQ,MAAQ,CAAE6zB,UAAW,IAAKr0B,EAyElC,OA5EyBe,YAAAqzB,EAAA/oB,GAIzBrK,YAAAozB,EAAA,EAAAnzB,IAAA,iBAAAC,MAAA,SAsDcuL,GACXvM,KAAKS,SAAS,CAAE0zB,UAAW5nB,EAAEnH,OAAOpE,QACpC,IAAIuzB,EAAMhoB,EAAEnH,OAAOpE,OAEN,mCACFkgB,KAAKqT,IACPv0B,KAAKs0B,cAAcC,GAM5Bv0B,KAAKH,MAAM20B,qBAAqBjoB,EAAEnH,OAAOpE,OALjCirB,MAAM,sEAMjB,CAAAlrB,IAAA,SAAAC,MAAA,WAGG,IAAMqM,EAAOrN,KAAKH,MAAMwN,KAAOrN,KAAKH,MAAMwN,KAAO,GACjD,OAAOjM,IAAAC,cAACoU,IAAI,KAAE,CAACzV,KAAKuV,eAAgBvV,KAAKkW,WAAW7I,SACvD6mB,EA5EyB,CAAS1vB,uBCUjCmT,GAAI,SAAAxM,GACN,SAAAwM,EAAY9X,GAAO,IAAAC,EAU8C,OAV9CC,YAAAC,KAAA2X,IACf7X,EAAAG,YAAAD,KAAAE,YAAAyX,GAAAxX,KAAAH,KAAMH,KAgBV40B,eAAiB,SAAC3d,GACdhX,EAAKD,MAAMgO,QAAQtF,KAAI,cAAAjE,OAAewS,KACzChX,EAoFD40B,aAAe,SAAUC,EAAYC,EAAUC,GAC3C70B,KAAKS,SAAS,CAAEq0B,SAAS,IACzB,IAAMn0B,EAAOX,KAEb,OAAOotB,IAAM3e,IAAI,sBAAuB,CAAE9B,OAAQ,CAAEgoB,aAAYC,WAAUC,WAAUva,QAASlE,KAAKC,YAC7FrJ,KAAK,SAAUC,GACRA,GACAtM,EAAKF,SAAS,SAACkT,GAAS,OAAAzO,YAAA,GACjByO,EAAS,CACZtG,KAAMJ,EAASI,KAAMynB,SAAS,SAIjDh1B,EAEDi1B,kBAAoB,SAAC1f,EAAOhI,GACxBvN,EAAKW,SAAS,CAAEk0B,WAAYtnB,EAAKujB,aAEjC9wB,EAAK40B,aAAarnB,EAAKujB,WAAY9wB,EAAKQ,MAAMs0B,SAAU90B,EAAKQ,MAAM00B,eACtEl1B,EAEDm1B,mBAAqB,SAAUd,GAC3B,IAAMxzB,EAAOX,KACb,OAAOotB,IAAM3e,IAAI,qCAAuC0lB,GACnDnnB,KAAK,SAAUwkB,GAKZ,OAHA7wB,EAAKF,SAAS,CAAEkyB,WAAYvc,KAAKgc,KAAKZ,EAAMnkB,KAAO,MACnD1M,EAAKF,SAAS,CAAEq0B,SAAS,EAAMH,WAAY,EAAGK,aAAcb,EAAWS,SAAU,KAE1ExH,IAAM3e,IAAI,yDAA2E0lB,KAE/FnnB,KAAK,SAAUC,GAEZ,GAAKA,EAAL,CAGA,IAAIiM,EAAajM,EAASI,KAC1B1M,EAAKF,SAAS,CAAE4M,KAAMiM,IAAEC,OAAOL,EAAY,SAAA/K,GAAC,OAAIA,EAAE2B,UAAY3B,EAAE4B,WAAW+kB,SAAS,QA1I5Fh1B,EAAKQ,MAAQ,CAAE+M,KAAMxN,EAAMwN,KAAM6nB,iBAAkB,GAAIP,WAAY,EAAGC,SAAU,GAAIE,SAAS,EAAOnC,YAAa,GAEjH7yB,EAAKq1B,eAAiBr1B,EAAKq1B,eAAejvB,KAAItF,wBAAAd,KAC9CA,EAAKu0B,8BAAgCv0B,EAAKu0B,8BAA8BnuB,KAAItF,wBAAAd,KAC5EA,EAAKs1B,YAAct1B,EAAKs1B,YAAYlvB,KAAItF,wBAAAd,KACxCA,EAAKi1B,kBAAoBj1B,EAAKi1B,kBAAkB7uB,KAAItF,wBAAAd,KACpDA,EAAKu1B,oBAAsBv1B,EAAKu1B,oBAAoBnvB,KAAItF,wBAAAd,KACxDA,EAAK40B,aAAe50B,EAAK40B,aAAaxuB,KAAItF,wBAAAd,KAC1CA,EAAKm1B,mBAAqBn1B,EAAKm1B,mBAAmB/uB,KAAItF,wBAAAd,KAAOA,EA2KhE,OAtLKe,YAAA8W,EAAAxM,GAYLrK,YAAA6W,EAAA,EAAA5W,IAAA,oBAAAC,MAAA,WAGGhB,KAAKq1B,wBACR,CAAAt0B,IAAA,cAAAC,MAAA,WAOGhB,KAAKH,MAAMgH,YAAY,uBACvB,IAAMlG,EAAOX,KACb,OAAOotB,IAAMrgB,IAAI,aAAc/M,KAAKM,MAAM40B,kBACrCloB,KAAK,SAAUC,GACRA,IACAtM,EAAK00B,sBACL10B,EAAKF,SAAS,CAAEy0B,iBAAkB,KAClCv0B,EAAKmE,iBAAiB,CAAEtE,MAAO,aAAcjB,QAAS,wCAG7D4N,MAAM,SAAUZ,GACbwC,QAAQnK,MAAMjE,EAAKd,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,YAChDrO,EAAKgE,eAAe,CAAEnE,MAAO,aAAcjB,QAASgN,EAAEU,SAASI,SAElEL,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,2BAElC,CAAA/F,IAAA,iBAAAC,MAAA,SAEcD,EAAKC,MAEnB,CAAAD,IAAA,gCAAAC,MAAA,SAE6BuL,GAC1B,IAAM+oB,EAAQt1B,KAAKM,MAAM+M,KACrBkoB,EAAoBv1B,KAAKM,MAAM40B,iBAC/BM,EAASjpB,EAAEnH,OAAO0R,GAClBye,EAAkBE,UAAU,SAAAC,GAAC,OAAIA,IAAMF,KAAW,EAClDD,EAAoBA,EAAkBrnB,OAAO,SAAAwnB,GAAC,OAAIA,IAAMF,IAGxDD,EAAkBhtB,KAAKwB,SAASwC,EAAEnH,OAAO0R,GAAI,KAEjD,IAAI6e,EAAYL,EAAMG,UAAU,SAAAC,GAAC,OAAIA,EAAE5e,GAAG9H,aAAewmB,IACzDF,EAAMK,GAAWrlB,eAAiBglB,EAAMK,GAAWrlB,cACnDtQ,KAAKS,SAAS,CAAE4M,KAAMioB,EAAOJ,iBAAkBK,MAClD,CAAAx0B,IAAA,2BAAAC,MAAA,SAGwBuL,GACrBA,EAAEqpB,UACF,IAAMjW,EAAYpT,EAAEnH,OAAO0R,GACrBtL,EAAYe,EAAEnH,OAAO2jB,aAAa,aAClCvS,EAAYjK,EAAEnH,OAAO2jB,aAAa,aAClC8M,EAAa,gBAAkBlW,EAAY,iBACjD3f,KAAKS,SAAS,CAAEq1B,QAAQ,IACxB,IAAMn1B,EAAOX,KACbotB,IAAM3e,IAAIonB,GACL7oB,KAAK,SAAUC,GAERA,IACAtM,EAAKd,MAAMk2B,YAAY9oB,EAASI,MAChC1M,EAAKd,MAAMm2B,aAAarW,GACxBhf,EAAKd,MAAMo2B,aAAazqB,GACxB7K,EAAKd,MAAMq2B,aAAa1f,GACxB7V,EAAKd,MAAMs2B,WAAW,gBACtBx1B,EAAKd,MAAM2H,MAAMmF,OAAOypB,WAAa,eACrCz1B,EAAKd,MAAMgO,QAAQtF,KAAK,sBAG/B4E,MAAM,SAAUZ,GACbwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,gBAErC,CAAAjO,IAAA,sBAAAC,MAAA,WAGG,IAAML,EAAOX,KAEbA,KAAKS,SAAS,CAAEq0B,SAAS,IACzB90B,KAAKi1B,mBAAmB,IACnBjoB,KAAK,WAEFhN,KAAKS,SAAS,CAAEq0B,SAAS,MAG5B3nB,MAAM,SAAUZ,GACbwC,QAAQnK,MAAMjE,EAAKd,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,YAChDrO,EAAKF,SAAS,CAAEq0B,SAAS,QAEpC,CAAA/zB,IAAA,SAAAC,MAAA,WA8CG,OAAKhB,KAAKH,MAAMwQ,YAAYhD,KAAKiD,cAO7BlP,IAAAC,cAAA,WACID,IAAAC,cAAA,KAAG8T,KAAK,YAAYhT,UAAU,4BAC1Bf,IAAAC,cAAA,OAAKc,UAAU,iBACXf,IAAAC,cAAA,OAAK+T,UAAU,+CAGvBhU,IAAAC,cAAA,MAAIc,UAAU,oBAAmB,SACjCf,IAAAC,cAAA,UAAQQ,QAAS7B,KAAKo1B,YAAapkB,SAAiD,IAAvChR,KAAKM,MAAM40B,iBAAiBjxB,OACrE9B,WAAmD,IAAvCnC,KAAKM,MAAM40B,iBAAiBjxB,OAAe,OAAS,QAAU,0BAA0B,QACpG7C,IAAAC,cAAC4P,IAAI,CAAC9O,UAAU,6BAA6B+O,GAAE,YAAeC,MAAO,CAAEmE,OAAQ,SAAU,OAE7FlU,IAAAC,cAAA,OAAK8P,MAAO,CAAEklB,MAAO,UACrBj1B,IAAAC,cAACyrB,KAAO,CAAC3b,MAAO,CAAE8E,cAAe,SAC7B7U,IAAAC,cAACi1B,KAAO,CAACC,MAAI,GAAC,qFAGdn1B,IAAAC,cAAC6yB,GAAS,CAAC7mB,KAAMrN,KAAKM,MAAM+M,KAAMonB,eAAgBz0B,KAAKy0B,eAAgBJ,8BAA+Br0B,KAAKq0B,8BAA+BG,qBAAsBx0B,KAAKi1B,qBAErK7zB,IAAAC,cAACoxB,KAAU,CACP+D,kBAAmB,EACnB7D,WAAY3yB,KAAKM,MAAMqyB,WAAYD,aAAc1yB,KAAK+0B,kBAAmB5jB,MAAO,CAAEslB,MAAO,OAAQC,WAAY,UACjHt1B,IAAAC,cAACs1B,KAAM,CAACC,OAAQ52B,KAAKM,MAAMw0B,YAzB/B1zB,IAAAC,cAAA,UAAI,qBA+BfsW,EAtLK,CAASnT,GAiMnB,IAMeiO,gBANS,SAACnS,EAAOoS,GAC5B,MAAO,CACHrC,YAAa/P,EAAMqS,YAAYtC,cAVvC,SAA4BuC,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFnC,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,OAU5FkT,CAA6CkF,cCxN/Ckf,GAAiB,CAC5B,CAAE91B,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,eAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,iBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,kBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAAW2oB,KAAK,MAC5D,CAAEh2B,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,iBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,0BAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,kBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,kBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,4BAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,oBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,iBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,qBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,kBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,sBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,eAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAAW2oB,KAAK,MAC5D,CAAEh2B,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,qBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,kBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,oBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,iBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,iBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,oBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,sBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,iBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,0BAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,iBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,oBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,wBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,eAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,iBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,eAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,kBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,eAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,4BAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,eAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,oBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,eAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,yBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,eAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,iBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,oBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,mBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,eAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,eAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,QAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,YAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,wBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,iBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,oBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,qBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,cAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,gBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,WAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,qBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,kBAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,SAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,UAC5C,CAAErN,IAAK,KAAMC,MAAO,KAAM81B,KAAM,KAAM1oB,KAAM,aC7N9C,SAAS4oB,GAAwB1zB,GAAyB,IAAZ4pB,EAAQ5pB,EAAlB+C,SAChC,OACIjF,IAAAC,cAAA,OAAKc,UAAU,OAAOgP,MAAO,CAAEulB,WAAY,SACvCt1B,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,eAAegP,MAAO,CAAEE,MAAO,MAAOqlB,WAAY,MAAOD,MAAO,SACxFvJ,IAIhB,IAEK+J,GAAS,SAAA9rB,GACX,SAAA8rB,EAAYp3B,GAAO,IAAAC,EAWY,OAXZC,YAAAC,KAAAi3B,IACfn3B,EAAAG,YAAAD,KAAAE,YAAA+2B,GAAA92B,KAAAH,KAAMH,EAAO,CAAEiQ,UAAW,GAAIonB,MAAO,GAAIvvB,SAAU,GAAIwvB,WAAY,GAAIpnB,SAAU,GAAIzI,MAAO,GAAI8vB,QAAS,GAAIC,YAAa,GAAIC,UAAW,OAa7IC,uBAAyB,WACrB,IAAM52B,EAAOX,KACb8M,IAAM2B,IAAI,uBACLzB,KAAK,SAAUwqB,GAEZ,IAAMC,EAAiBD,EAAUnqB,KAAKsB,IAAI,SAAAR,GAAC,OAAIA,EAAEupB,YAC3CC,EAAoBd,GAAe3oB,OAAO,SAAAC,GAAC,OAAIspB,EAAe3oB,SAASX,EAAEpN,IAAI62B,iBAAgBjpB,IAAI,SAAAR,GACnG,IAAM0pB,EAAUL,EAAUnqB,KAAK8F,KAAK,SAAAlJ,GAAC,OAAIA,EAAEytB,YAAcvpB,EAAEpN,IAAI62B,gBAE/D,OADAzpB,EAAE4oB,KAAOc,EAAQd,KACV5oB,IAGP2pB,EAAqBH,EAAkBxkB,KAAK,SAAAhF,GAAC,OAAIA,EAAEpN,MAAQJ,EAAKL,MAAMmE,MAAM4yB,cAChF12B,EAAKF,SAAS,CACV+2B,UAAWG,EACXlzB,MAAKS,YAAA,GACEvE,EAAKL,MAAMmE,MAAK,CACnB6yB,eAAkC5yB,IAAvBozB,EAAmCA,EAAmBf,KAAO,UAI3Fj3B,EAEDi4B,kBAAoB,WAAM,IACdnwB,EAAoB9H,EAAKQ,MAAzBsH,gBACR9H,EAAKW,SAAS,CAAEu3B,oBAAqBtwB,EAAsB,GAAIE,GAAkBtC,YAAY,KAChGxF,EAEDm4B,mBAAqB,WAAM,IACfxzB,EAAU3E,EAAKQ,MAAfmE,MACR3E,EAAKW,SAAS,CAAEgE,MAAKS,YAAA,GAAOT,EAAK,CAAEkD,SAAU,GAAIwvB,WAAY,QAChEr3B,EAEDo4B,gBAAkB,WACd,IAAMv3B,EAAOX,KAEb,OADAA,KAAKH,MAAMgH,YAAY,4BAChBiG,IAAMC,IAAI,kBAAmB/M,KAAKM,MAAMmE,OAC1CuI,KAAK,WACFrM,EAAKd,MAAMgO,QAAQtF,KAAK,aACxB5H,EAAKmE,iBAAiB,CAAEtE,MAAO,SAAUjB,QAAS,2GAErD4N,MAAM,SAAUC,GACbzM,EAAKgE,eAAe,CAAEnE,MAAO,GAAIjB,QAAS6N,EAAGH,SAASI,SAEzDL,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,+BAElChH,EAEDq4B,aAAe,WACX,IAAMx3B,EAAOX,KACb,OAAO8M,IAAM2B,IAAI,YAAa,CAAE9B,OAAQ,CAAE2N,QAASlE,KAAKC,YACnDrJ,KAAK,SAAUC,GAAY,OAAOA,EAASI,OAC3CL,KAAK,SAAUlK,GACZnC,EAAKF,SAAS,CACVilB,UAAW5iB,EAAgB4iB,UAC3BjhB,MAAO,CACHqL,UAAWhN,EAAgBgN,UAC3BsnB,QAASt0B,EAAgBs0B,SAAW,GACpCrnB,SAAUjN,EAAgBiN,SAC1BzI,MAAOxE,EAAgBwE,MACvB8wB,UAAWt1B,EAAgBs1B,UAC3BlB,MAAOp0B,EAAgBo0B,MACvBG,YAAav0B,EAAgBu0B,YAC7BgB,WAAYv1B,EAAgBu1B,gBAKvClrB,MAAM,SAAUC,GACb2B,QAAQ4Z,IAAIvb,KAEfJ,KAAK,WAIF,OAHArM,EAAKF,SAAS,CACV6E,WAAY3E,EAAK4E,sBAEd5E,EAAK42B,4BAEvBz3B,EAEDw4B,kBAAoB,WAChB,IAAM33B,EAAOX,KACbA,KAAKm4B,eACAnrB,KAAK,WACF,OAAOrM,EAAK4E,sBAEfyH,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,qBAElChH,EAEDyF,kBAAoB,WAAM,IAAAgI,EACsCzN,EAAKQ,MAAMmE,MAAxDkD,GAAF4F,EAAL2pB,MAAe3pB,EAAR5F,UAAUwvB,EAAU5pB,EAAV4pB,WAAY7vB,EAAKiG,EAALjG,MAAkBrG,GAAAsM,EAAX8pB,YACCv3B,EAAKQ,OAA1Ci4B,EAAet3B,EAAfs3B,gBAAiB3wB,EAAe3G,EAAf2G,gBACrB4wB,GAAU,GACd14B,EAAK8F,cACA2B,EAAaD,KACdxH,EAAK0F,SAAS,QAASuF,GAAcC,QAAQC,gBAAgBL,OAAO,UACpE4tB,GAAU,GAGVD,MAC0B7wB,EAAsBC,GAAsB,IAC9CuG,OAAO,SAAAC,GAAC,OAAKA,EAAE3F,SAAQvE,OAAS,GAAK0D,IAAawvB,KACtEqB,GAAU,GACd14B,EAAKW,SAAS,CAAEu3B,oBAAqBtwB,EAAsBC,GAAsB,GAAIC,MAEzF,OAAO4wB,GACV14B,EAcD24B,oBAAsB,WAClB,IAAIZ,EAAU,CAAEd,KAAM,KAAM/1B,MAAO,IACE,KAAjClB,EAAKQ,MAAMmE,MAAM4yB,cACjBQ,EAAUhB,GAAe1jB,KAAK,SAAAhF,GAAC,OAAIA,EAAEpN,MAAQjB,EAAKQ,MAAMmE,MAAM4yB,eAElEv3B,EAAKqF,sBAAsB,CAAEC,OAAQ,CAAEC,KAAM,YAAarE,MAAO62B,EAAQd,SAC5Ej3B,EAED44B,oBAAsB,WAAM,IAAA7oB,EAE6B/P,EAAKQ,MAAMmE,MAAxDyyB,EAAKrnB,EAALqnB,MAAOvvB,EAAQkI,EAARlI,SAAUwvB,EAAUtnB,EAAVsnB,WAAYE,EAAWxnB,EAAXwnB,YAC7BkB,EAAoBz4B,EAAKQ,MAAzBi4B,mBACelB,GAEAH,GACnBp3B,EAAKqF,sBAAsB,CAAEC,OAAQ,CAAEC,KAAM,QAASrE,MAAO,MAC5Du3B,IAAoB5wB,IAAYwvB,IACjCr3B,EAAKqF,sBAAsB,CAAEC,OAAQ,CAAEC,KAAM,WAAYrE,MAAO,MAChElB,EAAKqF,sBAAsB,CAAEC,OAAQ,CAAEC,KAAM,aAAcrE,MAAO,QAxJtElB,EAAKQ,MAAK4E,YAAA,CACNsyB,UAAW,GACX9R,UAAWpjB,EAA0BE,SAASkjB,WAC3C5lB,EAAKQ,OAEZT,EAAMgH,YAAY,kBAClB/G,EAAKyF,kBAAoBzF,EAAKyF,kBAAkBW,KAAItF,wBAAAd,KACpDA,EAAKy3B,uBAAyBz3B,EAAKy3B,uBAAuBrxB,KAAItF,wBAAAd,KAC9DA,EAAKo4B,gBAAkBp4B,EAAKo4B,gBAAgBhyB,KAAItF,wBAAAd,KAChDA,EAAK64B,sBAAsB74B,EA6P9B,OAzQUe,YAAAo2B,EAAA9rB,GAaVrK,YAAAm2B,EAAA,EAAAl2B,IAAA,sBAAAC,MAAA,WAiHGhB,KAAKH,MAAMgH,YAAY,yBACvB,IAAMlG,EAAOX,KACb,OAAO8M,IAAM2B,IAAG,qCACXzB,KAAK,SAAUpF,GACZjH,EAAKF,SAAS,CAAEmH,gBAAiBA,EAAgByF,SAGpDL,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,6BAElC,CAAA/F,IAAA,SAAAC,MAAA,WAwBQ,IAAA4O,EAAA5P,KAAA44B,EAEgG54B,KAAKM,MAAMmE,MAAxGqL,EAAS8oB,EAAT9oB,UAAWonB,EAAK0B,EAAL1B,MAAOvvB,EAAQixB,EAARjxB,SAAUwvB,EAAUyB,EAAVzB,WAAYpnB,EAAQ6oB,EAAR7oB,SAAUzI,EAAKsxB,EAALtxB,MAAO8vB,EAAOwB,EAAPxB,QAASC,EAAWuB,EAAXvB,YAAaC,EAASsB,EAATtB,UAASvM,EACb/qB,KAAKM,MAAhFk3B,EAASzM,EAATyM,UAAWlyB,EAAUylB,EAAVzlB,WAAY0yB,EAAmBjN,EAAnBiN,oBAAqBO,EAAexN,EAAfwN,gBAAiB7S,EAASqF,EAATrF,UACtDzV,EAAejQ,KAAKM,MAAMmF,OAAjC6B,MACFuxB,EAAgBN,EAAkB,gBAAkB,SACpDO,IAAiBzB,EACjB0B,EAAqB1B,EAAc,GAAK,6BAE9C,OACIj2B,IAAAC,cAAA,WACID,IAAAC,cAAA,OAAKc,UAAU,WAEXf,IAAAC,cAAA,OAAKc,UAAU,qBACXf,IAAAC,cAAA,MAAIc,UAAU,qBAAoB,eAEtCf,IAAAC,cAAA,OAAKc,UAAU,qBACXf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,YAAY/O,UAAU,0BAC3Bf,IAAAC,cAAA,OAAKc,UAAU,iBACXf,IAAAC,cAAA,OAAK+T,UAAU,iDAK/BhU,IAAAC,cAAC21B,GAAwB,KACrB51B,IAAAC,cAACsP,IAAI,CAACC,KAAK,OAAOU,SAAUtR,KAAKk4B,gBAAiB/1B,UAAU,eACxDf,IAAAC,cAACsP,IAAKY,MAAK,CAACpP,UAAU,mBAAmBwP,YAAY,aAAatM,KAAK,YACnErE,MAAO8O,EAAW0B,UAAQ,EAACC,MAAM,aACjCC,SAAU1R,KAAKmF,wBAEnB/D,IAAAC,cAACsP,IAAKY,MAAK,CAACpP,UAAU,gBAAgBwP,YAAY,YAAYtM,KAAK,WAC/DrE,MAAO+O,EAAUyB,UAAQ,EAACC,MAAM,YAChCC,SAAU1R,KAAKmF,wBACnB/D,IAAAC,cAAC8E,EAAY,CAACvB,MAAOqL,GACjB7O,IAAAC,cAACsP,IAAKY,MAAK,CAACpP,UAAU,gBAAgBwP,YAAY,iBAAiBtM,KAAK,QACpE6B,KAAK,QAAQuK,MAAM,gBACnBzQ,MAAOsG,EAAOkK,UAAQ,EACtBE,SAAU1R,KAAKmF,yBAGtBnF,KAAKM,MAAMolB,UACRtkB,IAAAC,cAACsP,IAAKY,MAAK,CAACpP,UAAU,gBAAgBwP,YAAY,gBAAgBtM,KAAK,UACnErE,MAAOo2B,EAAS3lB,MAAM,eACtBC,SAAU1R,KAAKmF,wBACnB/D,IAAAC,cAACsP,IAAKqoB,MAAK,KACP53B,IAAAC,cAAC43B,KAAK,CAACroB,KAAK,MAAM9O,MAAM,OAAOK,UAAU,SAASi1B,IAG1Dh2B,IAAAC,cAAC8E,EAAY,CAACvB,MAAOm0B,EAAkBtyB,SAAS,gBAC5CrF,IAAAC,cAACsP,IAAKiB,OAAM,CAACJ,UAAQ,EAACrP,UAAU,gBAAgB8L,QAASupB,EAAW0B,WAAS,EACzEznB,MAAM,UACNpM,KAAK,cAAcrE,MAAOq2B,EAAa1lB,YAAY,sBAAsBuU,WAAS,EAClFxU,SAAU,SAACnF,EAAGvC,GAAQ4F,EAAKzK,sBAAsB,CAAEC,OAAQ4E,IAAM4F,EAAK6oB,0BAI7EK,EACG13B,IAAAC,cAACsP,IAAKqoB,MAAK,KACP53B,IAAAC,cAAA,aAAO,gBACPD,IAAAC,cAACkQ,KAAK,CAACE,MAAO,IAAM6lB,EAAWjyB,KAAK,QAAQlD,UAAU,wBAClDwP,YAAY,QAAQzK,KAAK,SACzBlG,MAAOk2B,EAAOxlB,SAAU1R,KAAKmF,yBACrB,KAEpB/D,IAAAC,cAACsP,IAAKwB,SAAQ,CAACV,MAAM,uBAAuBpM,KAAK,kBAC7CxD,QAAS,WAAF,OACF02B,EAAkB3oB,EAAKqoB,qBAAuBroB,EAAKmoB,sBACpDnoB,EAAK/J,iBAAiB,CAAET,OAAQ,CAAEC,KAAM,kBAAmBrE,OAAQu3B,MAEvEnmB,QAASmmB,IACZA,EACIn3B,IAAAC,cAACsP,IAAKqoB,MAAK,KACR53B,IAAAC,cAACkF,IAAK,CACFC,QACIpF,IAAAC,cAACsP,IAAKY,MAAK,CAACpP,UAAW02B,EAAgB,iBAAkBlnB,YAAY,yBAAyBkI,OAAK,EAACxU,KAAK,WAAWmM,SAAU+mB,EAC1HrxB,KAAK,WAAW8sB,aAAa,MAAMviB,MAAM,yBACzCzQ,MAAO2G,EAAU+J,SAAU1R,KAAKmF,wBAExC5D,KAA6B,MAAvBy2B,EACNj2B,QAAgC,MAAvBi2B,EAA8BA,EAAoBrpB,IAAI,SAACR,EAAGshB,GAAC,OAAMruB,IAAAC,cAAA,OAAK8P,MAAO,CAClFoB,UAAW,OAAQlB,MAAO,SAC3BtQ,IAAK0uB,GACHthB,EAAE3F,OAASpH,IAAAC,cAAA,KAAGc,UAAU,2BAAgCf,IAAAC,cAAA,KAAGc,UAAU,0BACrEgM,EAAE5O,QAAQ,IAAC6B,IAAAC,cAAA,cAAiB,KACjC+V,OAAO,kBACP3Q,SAAS,eACTmK,KAAK,WAEI,KAErBxP,IAAAC,cAACsP,IAAKY,MAAK,CAACI,YAAY,2BAA2BtM,KAAK,aACpDrE,MAAOm2B,EAAY3lB,SAAU+mB,EAAiB9mB,MAAM,2BACpDvK,KAAK,WAAW8sB,aAAa,MAAM7xB,UAAW02B,EAC9CnnB,SAAU1R,KAAKmF,wBACnB/D,IAAAC,cAAA,SAAO8P,MAAO,CAAE4E,SAAU,QAASE,cAAe,MAAOkjB,WAAY,uDAAwD,wBAA4B/3B,IAAAC,cAAA,WAEzJD,IAAAC,cAACsP,IAAKhP,OAAM,CAACI,QAAQ,OAAO8X,OAAK,EAAChJ,SAAO,EAACD,KAAK,OAAOI,UAAW1L,IAAkB+xB,IAClF3R,EACGtkB,IAAAC,cAAC4P,IAAI,CAACC,GAAG,yBAAyBrP,QAAS7B,KAAKo5B,oBAAqBj3B,UAAU,+BAA+B3B,MAAM,wHAAuH,uBAEjO,YAKjCy2B,EAzQU,CAASzyB,GAqRTiO,oBAAQ,KATvB,SAA4BG,GACxB,MAAO,CACH5N,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,KACnGsF,aAAc,SAAUtF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAanC,MAAMrF,KAC/FsH,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,OAI/EsL,CAAkCwkB,ICrS3CoC,GAAe,SAAAluB,GACjB,SAAAkuB,EAAYx5B,GAAO,IAAAC,EAgBwC,OAhBxCC,YAAAC,KAAAq5B,IACfv5B,EAAAG,YAAAD,KAAAE,YAAAm5B,GAAAl5B,KAAAH,KAAMH,EAAO,CACTgI,aAAc,EACdC,eAAgB,EAChBC,aAAc,EACdC,iBAAkB,GAClBC,OAAO,EACPqxB,iBAAiB,MAczBX,oBAAsB,WAClB,IAAMh4B,EAAOX,KACb,OAAOotB,IAAM3e,IAAI,qCACZzB,KAAK,SAAUC,GACZtM,EAAKF,SAAS,CAAEgE,MAAOwI,EAASI,UAE3CvN,EACDyF,kBAAoB,WAAM,IAAAgI,EAC2CzN,EAAKQ,MAAMmE,MAApEoD,EAAY0F,EAAZ1F,aAAcC,EAAcyF,EAAdzF,eAAgBC,EAAYwF,EAAZxF,aAAiBtD,EAAKjB,YAAA+J,EAAA,kDACxDgsB,EAAWxvB,SAAShC,GAAgBgC,SAASjC,GAcjD,OAZIyxB,EAAW,IACXA,EAAW,GACfz5B,EAAKW,SAAS,CACVgE,MAAKS,YAAA,GACET,EAAK,CACRsD,aAAcgC,SAAShC,GACvBD,eAAgBiC,SAASjC,GACzBD,aAAcA,EAAe0xB,EAAWA,EAAWxvB,SAASlC,KAEhE0xB,aAEJz5B,EAAK2xB,eACE,GACV3xB,EAEDo4B,gBAAkB,WACd,IAAMv3B,EAAOX,KAGb,OAFAA,KAAKS,SAAS,CAAEoE,aAAc,GAAIG,eAAgB,KAClDhF,KAAKH,MAAMgH,YAAY,2BAChBumB,IAAM9f,KAAK,wBAAyBtN,KAAKM,MAAMmE,OACjDuI,KAAK,WACFrM,EAAKF,SAAS,CAAEuE,eAAgB,4CAGnCmI,MAAM,SAAUC,GAEb,IAAMvI,EAAeuI,EAAGC,KACxB1M,EAAKF,SAAS,CAAEoE,mBAEnBmI,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,8BArD/BhH,EAAKQ,MAAK4E,YAAA,GACHpF,EAAKQ,MAAK,CACbi5B,SAAU,EACV10B,aAAc,GACdG,eAAgB,KAEpBlF,EAAK64B,sBACL74B,EAAKo4B,gBAAkBp4B,EAAKo4B,gBAAgBhyB,KAAItF,wBAAAd,KAAOA,EAoI1D,OArJgBe,YAAAw4B,EAAAluB,GAkBhBrK,YAAAu4B,EAAA,EAAAt4B,IAAA,oBAAAC,MAAA,cAEA,CAAAD,IAAA,SAAAC,MAAA,WA+CQ,IAAA4O,EAAA5P,KAAA6P,EAC4F7P,KAAKM,MAAMmE,MAApGoD,EAAYgI,EAAZhI,aAAcC,EAAc+H,EAAd/H,eAAgBC,EAAY8H,EAAZ9H,aAAqBC,GAAF6H,EAAL5H,MAAuB4H,EAAhB7H,kBAAkBsxB,EAAezpB,EAAfypB,gBAAer4B,EACzCjB,KAAKM,MAAhDuE,EAAY5D,EAAZ4D,aAAcG,EAAc/D,EAAd+D,eAAgBu0B,EAAQt4B,EAARs4B,SA+EtC,OA7EIn4B,IAAAC,cAAA,OAAKc,UAAU,QACXf,IAAAC,cAACoU,IAAI,KACDrU,IAAAC,cAACoU,IAAKE,IAAG,CAACD,QAAS,GAEXtU,IAAAC,cAACoU,IAAKG,OAAM,KACRxU,IAAAC,cAAA,MAAIc,UAAU,oBAAmB,sBAGzCf,IAAAC,cAACoU,IAAKG,OAAM,KACRxU,IAAAC,cAAC4P,IAAI,CAACC,GAAG,mBAAmB/O,UAAU,4BAClCf,IAAAC,cAAA,OAAKc,UAAU,iBACXf,IAAAC,cAAA,OAAK+T,UAAU,kDAM/BvQ,EAAgBzD,IAAAC,cAAA,OAAKc,UAAU,uBAAsBf,IAAAC,cAAA,OAAKc,UAAU,UAAS,SAAWf,IAAAC,cAAA,SAAIrB,KAAKM,MAAMuE,eAA0B,GACjIG,EAAkB5D,IAAAC,cAAA,OAAKc,UAAU,uBAAsBf,IAAAC,cAAA,OAAKc,UAAU,UAAS,WAAaf,IAAAC,cAAA,SAAIrB,KAAKM,MAAM0E,iBAA4B,GAC3I5D,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,eAAegP,MAAO,CAAEslB,MAAO,OAAQC,WAAY,SAC5Et1B,IAAAC,cAACsP,IAAI,CAACW,SAAUtR,KAAKk4B,iBAEjB92B,IAAAC,cAAA,MAAIc,UAAU,aAAY,uBAAqB0F,GAC/CzG,IAAAC,cAACsP,IAAKY,MAAK,CACPW,IAAKqnB,EACLC,IAAK,GACLn0B,KAAK,eACLqM,SAAU1R,KAAKmF,sBACfs0B,KAAM,EACNvyB,KAAK,QACLlG,MAAO6G,IACXzG,IAAAC,cAAA,MAAIc,UAAU,aAAY,iCAA+B2F,GACzD1G,IAAAC,cAACsP,IAAKY,MAAK,CACPW,IAAK,EACLsnB,IAAK,GACLn0B,KAAK,iBACLqM,SAAU1R,KAAKmF,sBACfs0B,KAAM,EACNvyB,KAAK,QACLlG,MAAO8G,IACX1G,IAAAC,cAAA,MAAIc,UAAU,aAAY,0CAAwC4F,GAClE3G,IAAAC,cAACsP,IAAKY,MAAK,CACPW,IAAK,EACLsnB,IAAK,GACLn0B,KAAK,eACLqM,SAAU1R,KAAKmF,sBACfs0B,KAAM,EACNvyB,KAAK,QACLlG,MAAO+G,IAEX3G,IAAAC,cAAA,MAAIc,UAAU,aAAY,wBAAsB6F,EAAiB,WACjE5G,IAAAC,cAACsP,IAAKY,MAAK,CACPW,IAAK,EACLsnB,IAAK,GACLn0B,KAAK,mBACLqM,SAAU1R,KAAKmF,sBACfs0B,KAAM,EACNvyB,KAAK,QACLlG,MAAOgH,IACX5G,IAAAC,cAACsP,IAAKqoB,MAAK,KAEP53B,IAAAC,cAAA,MAAI8P,MAAO,CAAEoK,QAAS,gBAAkBpZ,UAAU,aAAY,qCAC9Df,IAAAC,cAACM,IAAM,CAACwP,MAAO,CAAEulB,WAAY,SAAW70B,QAAS,WAAF,OAAQ+N,EAAKzK,sBAAsB,CAAEC,OAAQ,CAAEC,KAAM,kBAAmBrE,OAAQs4B,MAAsBpyB,KAAK,SACtJpF,MAAOw3B,EAAkB,UAAY,QAASA,EAAkB,UAAY,aAOpFl4B,IAAAC,cAACsP,IAAKqoB,MAAK,KACP53B,IAAAC,cAACM,IAAM,CAACQ,UAAU,2BAA2B0X,OAAK,GAAE,gBAO3Ewf,EArJgB,CAAS70B,GA+JfiO,oBAAQ,KAPvB,SAA4BG,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,OAI/EsL,CAAkC4mB,IC7JjD,SAASrC,GAAwB1zB,GAAyB,IAAZ4pB,EAAQ5pB,EAAlB+C,SAChC,OACIjF,IAAAC,cAAA,OAAKc,UAAU,OAAOgP,MAAO,CAAEulB,WAAY,SACvCt1B,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,eAAegP,MAAO,CAAEE,MAAO,MAAOqlB,WAAY,MAAOD,MAAO,SACxFvJ,IAIhB,IAEKhiB,GAAI,SAAAC,GACN,SAAAD,EAAYrL,GAAO,IAAAC,EAUwC,OAVxCC,YAAAC,KAAAkL,IACfpL,EAAAG,YAAAD,KAAAE,YAAAgL,GAAA/K,KAAAH,KAAMH,EAAO,CAAEiQ,UAAW,GAAIonB,MAAO,GAAIvvB,SAAU,GAAIwvB,WAAY,GAAIpnB,SAAU,GAAIzI,MAAO,GAAI8vB,QAAS,GAAIC,YAAa,GAAIC,UAAW,OAY7IC,uBAAyB,WACrB,IAAM52B,EAAOX,KACb8M,IAAM2B,IAAI,uBACLzB,KAAK,SAAUwqB,GACZ,IAAMC,EAAiBD,EAAUnqB,KAAKsB,IAAI,SAAAR,GAAC,OAAIA,EAAEupB,YAC3CC,EAAoBd,GAAe3oB,OAAO,SAAAC,GAAC,OAAIspB,EAAe3oB,SAASX,EAAEpN,IAAI62B,iBAAgBjpB,IAAI,SAAAR,GACnG,IAAI0pB,EAAUL,EAAUnqB,KAAK8F,KAAK,SAAAlJ,GAAC,OAAIA,EAAEytB,YAAcvpB,EAAEpN,IAAI62B,gBAE7D,OADAzpB,EAAE4oB,KAAOc,EAAQd,KACV5oB,IAGP2pB,EAAqBH,EAAkBxkB,KAAK,SAAAhF,GAAC,OAAIA,EAAEpN,MAAQJ,EAAKL,MAAMmE,MAAM4yB,cAChF12B,EAAKF,SAAS,CACV+2B,UAAWG,EACXlzB,MAAKS,YAAA,GACEvE,EAAKL,MAAMmE,MAAK,CACnB6yB,eAAkC5yB,IAAvBozB,EAAmCA,EAAmBf,KAAO,UAK3Fj3B,EAEDi4B,kBAAoB,WAAM,IACdnwB,EAAoB9H,EAAKQ,MAAzBsH,gBACR9H,EAAKW,SAAS,CAAEu3B,oBAAqBtwB,EAAsB,GAAIE,GAAkBtC,YAAY,KAChGxF,EAEDm4B,mBAAqB,WAAM,IACfxzB,EAAU3E,EAAKQ,MAAfmE,MACR3E,EAAKW,SAAS,CAAEgE,MAAKS,YAAA,GAAOT,EAAK,CAAEkD,SAAU,GAAIwvB,WAAY,QAChEr3B,EAEDo4B,gBAAkB,WACdl4B,KAAKH,MAAMgH,YAAY,eACvB,IAEMiQ,EAFO9W,KAEGH,MAAM2H,MAAMmF,OAAO6oB,OACnC,OAAI1e,EAHS9W,KAIG05B,WAAWxzB,KAJdlG,KAIyB8W,EAA3BnW,GAJEX,KAMG25B,WAAWzzB,KANdlG,KAMFW,IAGdb,EAED65B,WAAa,WACT,IAAMh5B,EAAOX,KACb,OAAO8M,IAAMQ,KAAK,WAAUpI,YAAA,GAAOlF,KAAKM,MAAMmE,QACzCuI,KAAK,WACFrM,EAAKd,MAAMgO,QAAQtF,KAAK,cACxB5H,EAAKmE,iBAAiB,CAAEtE,MAAO,SAAUjB,QAAS,gDAErD4N,MAAM,SAAUC,GAEbzM,EAAKgE,eAAe,CAAEnE,MAAO,GAAIjB,QAAS6N,EAAGH,SAASI,SAEzDL,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,kBAElChH,EAED45B,WAAa,SAAU5iB,GACnB,IAAMnW,EAAOX,KACP45B,EAAQ7vB,SAAS+M,GAGvB,OAFA9W,KAAKM,MAAMmE,MAAMqS,GAAK8iB,EAEf9sB,IAAMC,IAAI,WAAU7H,YAAA,GAAOlF,KAAKM,MAAMmE,QACxCuI,KAAK,WACFrM,EAAKd,MAAMgO,QAAQtF,KAAK,cACxB5H,EAAKmE,iBAAiB,CAAEtE,MAAO,SAAUjB,QAAS,gDAErD4N,MAAM,SAAUC,GAEbzM,EAAKgE,eAAe,CAAEnE,MAAO,GAAIjB,QAAS6N,EAAGH,SAASI,SAEzDL,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,kBAElChH,EAEDq4B,aAAe,WACX,IAAMx3B,EAAOX,KACPw1B,EAAS70B,EAAKd,MAAM2H,MAAMmF,OAAO6oB,OACvC,OAAKA,EAaE1oB,IAAM2B,IAAI,aAAe+mB,GAC3BxoB,KAAK,SAAUC,GAAY,OAAOA,EAASI,OAC3CL,KAAK,SAAUlK,GACZnC,EAAKF,SAAS,CACVilB,UAAW5iB,EAAgB4iB,UAC3BjhB,MAAO,CACHqL,UAAWhN,EAAgBgN,UAC3BsnB,QAASt0B,EAAgBs0B,SAAW,GACpCrnB,SAAUjN,EAAgBiN,SAC1BzI,MAAOxE,EAAgBwE,MACvB8wB,UAAWt1B,EAAgBs1B,UAC3BlB,MAAOp0B,EAAgBo0B,MACvBG,YAAav0B,EAAgBu0B,YAC7BwC,UAAW/2B,EAAgB+2B,UAC3BxB,WAAYv1B,EAAgBu1B,gBAKvClrB,MAAM,SAAUC,GACb2B,QAAQ4Z,IAAIvb,KAEfJ,KAAK,WACFrM,EAAKF,SAAS,CACV6E,WAAY3E,EAAK4E,wBAGxByH,KAAK,WACF,OAAOrM,EAAK42B,2BAxCT,IAAI/3B,QAAQ,SAAUC,GACzBA,MAECuN,KAAK,WACFrM,EAAKF,SAAS,CACV6E,WAAY3E,EAAK4E,wBAGxByH,KAAK,WACF,OAAOrM,EAAK42B,4BAiC3Bz3B,EAEDw4B,kBAAoB,WAChB,IAAM33B,EAAOX,KACb,OAAOW,EAAKw3B,eACPnrB,KAAK,WACF,OAAOrM,EAAK4E,sBAEfyH,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,qBAElChH,EAEDyF,kBAAoB,WAAM,IAAAgI,EACsCzN,EAAKQ,MAAMmE,MAAxDkD,GAAF4F,EAAL2pB,MAAe3pB,EAAR5F,UAAUwvB,EAAU5pB,EAAV4pB,WAAY7vB,EAAKiG,EAALjG,MAAkBrG,GAAAsM,EAAX8pB,YACCv3B,EAAKQ,OAA1Ci4B,EAAet3B,EAAfs3B,gBAAiB3wB,EAAe3G,EAAf2G,gBACrB4wB,GAAU,GACd14B,EAAK8F,cACA2B,EAAaD,KACdxH,EAAK0F,SAAS,QAASuF,GAAcC,QAAQC,gBAAgBL,OAAO,UACpE4tB,GAAU,GAGVD,MAC0B7wB,EAAsBC,GAAsB,IAC9CuG,OAAO,SAAAC,GAAC,OAAKA,EAAE3F,SAAQvE,OAAS,GAAK0D,IAAawvB,KACtEqB,GAAU,GACd14B,EAAKW,SAAS,CAAEu3B,oBAAqBtwB,EAAsBC,GAAsB,GAAIC,MAEzF,OAAO4wB,GACV14B,EAaD24B,oBAAsB,WAClB,IAAIZ,EAAU,CAAEd,KAAM,KAAM/1B,MAAO,IACE,KAAjClB,EAAKQ,MAAMmE,MAAM4yB,cACjBQ,EAAUhB,GAAe1jB,KAAK,SAAAhF,GAAC,OAAIA,EAAEpN,MAAQjB,EAAKQ,MAAMmE,MAAM4yB,eAElEv3B,EAAKqF,sBAAsB,CAAEC,OAAQ,CAAEC,KAAM,YAAarE,MAAO62B,EAAQd,SAC5Ej3B,EAED44B,oBAAsB,WAAM,IAAA7oB,EAE6B/P,EAAKQ,MAAMmE,MAAxDyyB,EAAKrnB,EAALqnB,MAAOvvB,EAAQkI,EAARlI,SAAUwvB,EAAUtnB,EAAVsnB,WAAYE,EAAWxnB,EAAXwnB,YAC7BkB,EAAoBz4B,EAAKQ,MAAzBi4B,mBACelB,GAEAH,GACnBp3B,EAAKqF,sBAAsB,CAAEC,OAAQ,CAAEC,KAAM,QAASrE,MAAO,MAC5Du3B,IAAoB5wB,IAAYwvB,IACjCr3B,EAAKqF,sBAAsB,CAAEC,OAAQ,CAAEC,KAAM,WAAYrE,MAAO,MAChElB,EAAKqF,sBAAsB,CAAEC,OAAQ,CAAEC,KAAM,aAAcrE,MAAO,QAvMtElB,EAAKQ,MAAK4E,YAAA,CACNsyB,UAAW,GACX9R,UAAWpjB,EAA0BE,SAASkjB,WAC3C5lB,EAAKQ,OAEZT,EAAMgH,YAAY,kBAClB/G,EAAK64B,sBACL74B,EAAKq4B,aAAer4B,EAAKq4B,aAAajyB,KAAItF,wBAAAd,KAC1CA,EAAKo4B,gBAAkBp4B,EAAKo4B,gBAAgBhyB,KAAItF,wBAAAd,KAAOA,EAqT1D,OAhUKe,YAAAqK,EAAAC,GAYLrK,YAAAoK,EAAA,EAAAnK,IAAA,sBAAAC,MAAA,WAkKGhB,KAAKH,MAAMgH,YAAY,0BACvB,IAAMlG,EAAOX,KACb,OAAO8M,IAAM2B,IAAG,qCACXzB,KAAK,SAAUpF,GACZjH,EAAKF,SAAS,CAAEmH,gBAAiBA,EAAgByF,SAEpDL,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,8BAElC,CAAA/F,IAAA,SAAAC,MAAA,WAwBQ,IAAA4O,EAAA5P,KAAA44B,EAE2G54B,KAAKM,MAAMmE,MAAnHqL,EAAS8oB,EAAT9oB,UAAWonB,EAAK0B,EAAL1B,MAAOvvB,EAAQixB,EAARjxB,SAAUwvB,EAAUyB,EAAVzB,WAAYpnB,EAAQ6oB,EAAR7oB,SAAUzI,EAAKsxB,EAALtxB,MAAO8vB,EAAOwB,EAAPxB,QAASC,EAAWuB,EAAXvB,YAAaC,EAASsB,EAATtB,UAAWuC,EAASjB,EAATiB,UAAS9O,EACxB/qB,KAAKM,MAAhFk3B,EAASzM,EAATyM,UAAWlyB,EAAUylB,EAAVzlB,WAAY0yB,EAAmBjN,EAAnBiN,oBAAqBO,EAAexN,EAAfwN,gBACrCtoB,GAD+D8a,EAATrF,UACvC1lB,KAAKM,MAAMmF,OAAjC6B,OACFuxB,EAAgBN,EAAkB,gBAAkB,SACpDO,IAAiBzB,EACjB0B,EAAqB1B,EAAc,GAAK,6BAE9C,OACIj2B,IAAAC,cAAA,WAEID,IAAAC,cAAA,OAAKc,UAAU,WAEXf,IAAAC,cAAA,OAAKc,UAAU,qBACXf,IAAAC,cAAA,MAAIc,UAAU,qBAAoB,cAEtCf,IAAAC,cAAA,OAAKc,UAAU,qBACXf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,YAAY/O,UAAU,0BAC3Bf,IAAAC,cAAA,OAAKc,UAAU,iBACXf,IAAAC,cAAA,OAAK+T,UAAU,iDAK/BhU,IAAAC,cAAC21B,GAAwB,KACrB51B,IAAAC,cAACsP,IAAI,CAACC,KAAK,OAAOU,SAAUtR,KAAKk4B,gBAAiB/1B,UAAU,eACxDf,IAAAC,cAACsP,IAAKY,MAAK,CAACpP,UAAU,mBAAmBwP,YAAY,aAAatM,KAAK,YACnErE,MAAO8O,EAAW0B,UAAQ,EAACC,MAAM,aACjCC,SAAU1R,KAAKmF,wBAEnB/D,IAAAC,cAACsP,IAAKY,MAAK,CAACpP,UAAU,gBAAgBwP,YAAY,YAAYtM,KAAK,WAC/DrE,MAAO+O,EAAUyB,UAAQ,EAACC,MAAM,YAChCC,SAAU1R,KAAKmF,wBACnB/D,IAAAC,cAAC8E,EAAY,CAACvB,MAAOqL,GACjB7O,IAAAC,cAACsP,IAAKY,MAAK,CAACpP,UAAU,gBAAgBwP,YAAY,iBAAiBtM,KAAK,QACpE6B,KAAK,QAAQuK,MAAM,gBACnBzQ,MAAOsG,EAAOkK,UAAQ,EACtBE,SAAU1R,KAAKmF,yBAGtBnF,KAAKM,MAAMolB,UACRtkB,IAAAC,cAACsP,IAAKY,MAAK,CAACpP,UAAU,gBAAgBwP,YAAY,gBAAgBtM,KAAK,UACnErE,MAAOo2B,EAAS3lB,MAAM,eACtBC,SAAU1R,KAAKmF,wBACnB/D,IAAAC,cAACsP,IAAKqoB,MAAK,KACP53B,IAAAC,cAAC43B,KAAK,CAACroB,KAAK,MAAM9O,MAAM,OAAOK,UAAU,SAASi1B,IAGzD90B,EAA0BE,UACpBF,EAA0BE,SAASM,iBACnCR,EAA0BE,SAASM,gBAAgBwN,eAAiBlP,IAAAC,cAAAD,IAAAkF,SAAA,KAAElF,IAAAC,cAACsP,IAAKY,MAAK,CAChFI,YAAY,YAAYtM,KAAK,YAC7BrE,MAAO64B,EAAWpoB,MAAM,aACxBvK,KAAK,OAAO8sB,aAAa,MACzBtiB,SAAU1R,KAAKmF,yBAEvB/D,IAAAC,cAAC8E,EAAY,CAACvB,MAAOm0B,EAAkBtyB,SAAS,gBAC5CrF,IAAAC,cAACsP,IAAKiB,OAAM,CAACJ,UAAQ,EAACrP,UAAU,gBAAgB8L,QAASupB,EAAW0B,WAAS,EACzEznB,MAAM,UACNpM,KAAK,cAAcrE,MAAOq2B,EAAa1lB,YAAY,iBAAiBuU,WAAS,EAC7ExU,SAAU,SAACnF,EAAGvC,GAAQ4F,EAAKzK,sBAAsB,CAAEC,OAAQ4E,IAAM4F,EAAK6oB,0BAI7EK,EACG13B,IAAAC,cAACsP,IAAKqoB,MAAK,KACP53B,IAAAC,cAAA,aAAO,gBACPD,IAAAC,cAACkQ,KAAK,CAACE,MAAO,IAAM6lB,EAAWjyB,KAAK,QAAQlD,UAAU,wBAClDwP,YAAY,QAAQzK,KAAK,SACzBlG,MAAOk2B,EAAOxlB,SAAU1R,KAAKmF,yBACrB,KAEpB/D,IAAAC,cAACsP,IAAKwB,SAAQ,CAACV,MAAM,kBAAkBpM,KAAK,kBACxCxD,QAAS,WAAF,OACF02B,EAAkB3oB,EAAKqoB,qBAAuBroB,EAAKmoB,sBACpDnoB,EAAK/J,iBAAiB,CAAET,OAAQ,CAAEC,KAAM,kBAAmBrE,OAAQu3B,MAEvEnmB,QAASmmB,IACZA,EACIn3B,IAAAC,cAACsP,IAAKqoB,MAAK,KACR53B,IAAAC,cAACkF,IAAK,CACFC,QACIpF,IAAAC,cAACsP,IAAKY,MAAK,CAACpP,UAAW02B,EAAgB,iBAAkBlnB,YAAY,yBAAyBkI,OAAK,EAACxU,KAAK,WAAWmM,SAAU+mB,EAC1HrxB,KAAK,WAAW8sB,aAAa,MAAMviB,MAAM,yBACzCzQ,MAAO2G,EAAU+J,SAAU1R,KAAKmF,wBAExC5D,KAA6B,MAAvBy2B,EACNj2B,QAAgC,MAAvBi2B,EAA8BA,EAAoBrpB,IAAI,SAACR,EAAGshB,GAAC,OAAMruB,IAAAC,cAAA,OAAK8P,MAAO,CAClFoB,UAAW,OAAQlB,MAAO,SAC3BtQ,IAAK0uB,GACHthB,EAAE3F,OAASpH,IAAAC,cAAA,KAAGc,UAAU,2BAAgCf,IAAAC,cAAA,KAAGc,UAAU,0BACrEgM,EAAE5O,QAAQ,IAAC6B,IAAAC,cAAA,cAAiB,KACjC+V,OAAO,kBACP3Q,SAAS,eACTmK,KAAK,WAEI,KAErBxP,IAAAC,cAACsP,IAAKY,MAAK,CAACI,YAAY,2BAA2BtM,KAAK,aACpDrE,MAAOm2B,EAAY3lB,SAAU+mB,EAAiB9mB,MAAM,2BACpDvK,KAAK,WAAW8sB,aAAa,MAAM7xB,UAAW02B,EAC9CnnB,SAAU1R,KAAKmF,wBACnB/D,IAAAC,cAAA,SAAO8P,MAAO,CAAE4E,SAAU,QAASE,cAAe,MAAOkjB,WAAY,uDAAwD,wBAA4B/3B,IAAAC,cAAA,WAEzJD,IAAAC,cAACsP,IAAKhP,OAAM,CAACI,QAAQ,OAAO8X,OAAK,EAAChJ,SAAO,EAACD,KAAK,OAAOI,UAAW1L,IAAiB+xB,WAQrGnsB,EAhUK,CAAS1G,GA4UJyvB,IC1VJ/mB,GD0VI+mB,gBAAWxhB,aAAQ,KATlC,SAA4BG,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFnC,eAAgB,SAAUzF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAahC,QAAQxF,KACnGsF,aAAc,SAAUtF,GAAW,OAAOqT,EAAS5L,EAAyBD,aAAanC,MAAMrF,OAI7EkT,CAAkCvH,KE1VvCiN,GAAK,SAAAvY,GAAA,SAAAuY,IAAA,OAAApY,YAAAC,KAAAmY,GAAAlY,YAAAD,KAAAE,YAAAiY,GAAA9T,MAAArE,KAAAgE,YAYrB,OAZqBnD,YAAAsX,EAAAvY,GAAAkB,YAAAqX,EAAA,EAAApX,IAAA,SAAAC,MAAA,WAElB,OACII,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,mBAAmBxU,UAAWmzB,KACrD71B,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,aAAaxU,UAAW6T,KAC/CvW,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,yBAAyBxU,UAAWu1B,KAC3Dj4B,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,iBAAiBxU,UAAWmvB,KACnD7xB,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,qBAAqBxU,UAAWg2B,GAAUxpB,eAAe,IAChFlP,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,YAAYxU,UAAWg2B,GAAUxpB,eAAe,SAGlF6H,EAZqB,CAAS9V,aCNd03B,GAAQ,SAAAn6B,GACzB,SAAAm6B,EAAYl6B,GAAO,IAAAC,EAOgC,OAPhCC,YAAAC,KAAA+5B,IACfj6B,EAAAG,YAAAD,KAAAE,YAAA65B,GAAA55B,KAAAH,KAAMH,KASVm6B,YAAc,WACVl6B,EAAKD,MAAM0Y,qBAEdzY,EACDm6B,aAAe,WACXj6B,KAAKH,MAAM0Y,oBAEX,OAAOzL,IAAMQ,KAAK,eACbN,KAAK,WACNktB,OAEC/sB,MAAM,SAAUZ,GACbwC,QAAQnK,MAAM2H,MApBtBzM,EAAKQ,MAAQ,CACT+M,KAAM,CACF8oB,WAAY,KAGpBr2B,EAAKm6B,aAAan6B,EAAKm6B,aAAa/zB,KAAItF,wBAAAd,KAAOA,EAkClD,OA1CwBe,YAAAk5B,EAAAn6B,GASxBkB,YAAAi5B,EAAA,EAAAh5B,IAAA,SAAAC,MAAA,WAkBG,IAAMm5B,EAAWn6B,KAAKH,MAAMu6B,OAAS,kBAAoB,MACzD,OACIh5B,IAAAC,cAAA,OAAKc,UAAWg4B,GACZ/4B,IAAAC,cAAA,MAAIc,UAAU,kBACVf,IAAAC,cAAA,MAAIc,UAA0C,YAA/BnC,KAAKM,MAAM+M,KAAK8oB,WAA2B,mBAAqB,aAAa/0B,IAAAC,cAAC4P,IAAI,CAACC,GAAG,IAAIrP,QAAS7B,KAAKg6B,aAAa,aACpI54B,IAAAC,cAAA,MAAIc,UAAU,aAAYf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,mBAAmBrP,QAAS7B,KAAKg6B,aAAa,eAChFh6B,KAAKH,MAAMgW,QAAWzU,IAAAC,cAAA,MAAIc,UAAU,aAAYf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,aAAarP,QAAS7B,KAAKg6B,aAAa,UAAqB,KAEtHh6B,KAAKH,MAAMgW,QAAWzU,IAAAC,cAAA,MAAIc,UAAU,aAAYf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,WAAWrP,QAAS7B,KAAKg6B,aAAa,aAAwB,KACxH54B,IAAAC,cAAA,MAAIc,UAAU,aAAYf,IAAAC,cAAA,KAAGc,UAAU,YAAYgT,KAAK,yCAAyC/P,OAAO,UAAS,kBAEjHhE,IAAAC,cAAA,MAAIc,UAAU,aAAYf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,IAAIrP,QAAS7B,KAAKi6B,cAAe,kBAInFF,EA1CwB,CAAS13B,aCQhCg4B,GAAkB,CACpBC,gBAAiB,+BAGAC,GAAa,SAAA36B,GAE9B,SAAA26B,EAAY16B,GAAO,IAAAC,EAOd,OAPcC,YAAAC,KAAAu6B,IAEfz6B,EAAAG,YAAAD,KAAAE,YAAAq6B,GAAAp6B,KAAAH,KAAMH,KAQV0Y,kBAAoB,WAChBzY,EAAKW,SAAS,CAAE+5B,UAAU,IAC1BC,SAASC,eAAe,YAAYC,UAAUC,OAAO,eACxD96B,EAED+6B,iBAAmB,SAAC75B,GAAU,IAClB85B,EAAYh7B,EAAKQ,MAAjBw6B,QACRh7B,EAAKW,SAAS,CAAEq6B,QAAO51B,YAAA,GAAO41B,EAAY95B,MAC7ClB,EAEDi7B,gBAAkB,WAAM,IACZP,EAAa16B,EAAKQ,MAAlBk6B,SACR16B,EAAKW,SAAS,CAAE+5B,UAAWA,IAC3BC,SAASC,eAAe,YAAYC,UAAUK,OAAO,eApBrDl7B,EAAKQ,MAAQ,CACTw6B,QAAS,GACTN,UAAU,EACVS,iBAAkB,MACrBn7B,EAmEJ,OA5E6Be,YAAA05B,EAAA36B,GAU7BkB,YAAAy5B,EAAA,EAAAx5B,IAAA,SAAAC,MAAA,WAiBQ,IAAAC,EACgCjB,KAAKM,MAAlCk6B,EAAQv5B,EAARu5B,SAAUzQ,EAAc9oB,EAAd8oB,eACVzZ,EAAkBtQ,KAAKH,MAAMiD,gBAA7BwN,cACF4qB,EAAiBtZ,OAAO5J,SAAS7C,KAAKgmB,QAAQ,oBAAsB,EACpEC,GAAkC,IAAnBF,EAA0B,CAAE7pB,MAAO,OAAQqlB,WAAY,MAAO2E,YAAa,MAAOhQ,SAAU,QAAW,GACtHiQ,GAAuC,IAAnBJ,EAA0B,CAAE7pB,MAAO,MAAOga,SAAU,QAAW,GACzF,OACIjqB,IAAAC,cAAA,OAAKc,UAAU,oBAAoBgP,MAAOiqB,GACtCh6B,IAAAC,cAAA,OAAKc,UAAU,QACXf,IAAAC,cAAA,UAAQc,UAAU,wCAAwCykB,KAAK,UAC3DxlB,IAAAC,cAAA,KAAGc,UAAU,iBAAiBgT,KAAK,sCAC/B/T,IAAAC,cAAA,KAAGc,UAAU,OAAM,6BAEvBf,IAAAC,cAAA,OAAKc,UAAU,QAEXf,IAAAC,cAAA,OAAKc,UAAU,aAAaN,QAAS7B,KAAK+6B,gBAAiB5pB,MAAOkpB,MAItEj5B,IAAAC,cAAA,MAAIc,UAAU,mDAAkDf,IAAAC,cAAA,KAAGc,UAAU,kBAAkBgT,KAAK,KAAI,oBAE5G/T,IAAAC,cAAC04B,GAAQ,CAACK,OAAQI,EAAU3kB,QAASvF,EAAe4pB,aAAcl6B,KAAKH,MAAM07B,cACzEhjB,kBAAmBvY,KAAKuY,qBAEhCnX,IAAAC,cAAA,OAAKc,UAAU,QACXf,IAAAC,cAAA,OAAKc,UAAU,yBACXf,IAAAC,cAAA,MAAI8P,MAAO,CAAEqqB,aAAc,MAAO15B,MAAO,SAAWK,UAAU,gCAA+B,uEAIrGf,IAAAC,cAAA,OAAKc,UAAU,OAAOgP,MAAOmqB,GACzBl6B,IAAAC,cAAA,OAAKc,UAAU,kBACXf,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACgC,EAAU,CAACgV,OAAK,EAACC,KAAK,4BACnByR,eAAgBA,EAAgBlU,QAASvF,EACzCjO,UAAWo5B,KACfr6B,IAAAC,cAACgC,EAAU,CAACiV,KAAK,WAAWC,kBAAmBvY,KAAKuY,kBAChDlW,UAAWq5B,KACft6B,IAAAC,cAACgC,EAAU,CAACiV,KAAK,QAAQ4hB,aAAcl6B,KAAKH,MAAMq6B,aAC9C73B,UAAWs5B,KACfv6B,IAAAC,cAACgC,EAAU,CAACiV,KAAK,kBAAkB4hB,aAAcl6B,KAAKH,MAAMq6B,aACxD73B,UAAWu5B,KACfx6B,IAAAC,cAACgC,EAAU,CAACiV,KAAK,WAAWE,SAAUxY,KAAKH,MAAM2Y,SAC7CnW,UAAWw5B,aAMtCtB,EA5E6B,CAASl4B,aCZtBy5B,GAAY,SAAAl8B,GAC/B,SAAAk8B,EAAYj8B,GAAO,IAAAC,EAIhB,OAJgBC,YAAAC,KAAA87B,IACjBh8B,EAAAG,YAAAD,KAAAE,YAAA47B,GAAA37B,KAAAH,KAAMH,KACDS,MAAM,GAEVR,EAsBF,OA3B8Be,YAAAi7B,EAAAl8B,GAM9BkB,YAAAg7B,EAAA,EAAA/6B,IAAA,SAAAC,MAAA,WACQ,IACIuC,EAAIw4B,YAAA,GAAK/7B,KAAKH,OACzB,OAAQuB,IAAAC,cAACoC,IAAKC,OAAAC,OAAA,GACRJ,EAAI,CACRK,OAAQ,SAAA/D,GACN,IAAMm8B,EAAQ92B,YAAA,GAAQrF,EAAU0D,GAChC,OACEjB,EAA0BE,SAASO,oBAChCT,EAA0BE,SAASQ,iBAClC5B,IAAAC,cAAC46B,IAAQ,CAAC3jB,KAAK,IAAIpH,GAAG,uBACtB9P,IAAAC,cAACk5B,GAAkByB,GAEnB15B,EAA0BE,SAASS,SACrC7B,IAAAC,cAAC46B,IAAQ,CAAC3jB,KAAK,IAAIpH,GAAG,WACtB9P,IAAAC,cAAC46B,IAAQ,CAAC3jB,KAAK,IAAIpH,GAAG,+BAM/B4qB,EA3B8B,CAASz5B,aCF7B65B,GAAqB,oBAAAA,IAAAn8B,YAAAC,KAAAk8B,GAwB7B,OAxB6Bp7B,YAAAo7B,EAAA,EAAAn7B,IAAA,eAAAC,MAAA,SAEjBsG,EAAOK,GAChB,IACMhH,EAAOX,KACb,OAAO8M,IAAMQ,KAFE,oBAEW,CAAEhG,QAAOK,YAAY,CAAEgF,OAAQ,CAAE2N,QAASlE,KAAKC,YACpErJ,KAAK,WACF,OAAOrM,EAAK8B,mBAEf0K,MAAM,SAAUC,GACb2B,QAAQ4Z,IAAIvb,OAGvB,CAAArM,IAAA,iBAAAC,MAAA,WAGG,OAAO8L,IAAM2B,IADE,kBACU,CAAE9B,OAAQ,CAAE2N,QAASlE,KAAKC,YAC9CrJ,KAAK,SAAUC,GACZ3K,EAA0BE,SAASM,gBAAkBmK,EAASI,OAEjEF,MAAM,SAAUC,GAEb2B,QAAQnK,MAAMwI,SAEzB8uB,EAxB6B,GLU5B/jB,GAAK,SAAAvY,GACT,SAAAuY,EAAYtY,GAAO,IAAAC,EAAAC,YAAAC,KAAAmY,IACjBrY,EAAAG,YAAAD,KAAAE,YAAAiY,GAAAhY,KAAAH,KAAMH,KAWRs8B,oBAAsB,WACpBr8B,EAAKW,SAAS,CAAEU,cAAerB,EAAKQ,MAAMa,gBAC3CrB,EAEDy7B,cAAgB,WAAyB,IAAfa,EAAKp4B,UAAAC,OAAA,QAAAS,IAAAV,UAAA,IAAAA,UAAA,GAEvBq4B,EAAM/5B,EAA0BE,SAASM,gBAC/C9C,KAAKH,MAAMgH,YAAY,gBACvB,IAAMlG,EAAOX,KACb,OAAO,IAAIR,QAAQ,SAAC88B,GAClBA,MACCtvB,KAAK,WAGJ,OADArM,EAAKF,SAAS,CAAEqC,gBAAiBR,EAA0BE,SAASM,mBAC7D,IAAIo5B,IAAwBz5B,mBAMpCuK,KAAK,WACAovB,GACFz7B,EAAK8wB,cAAc,IACb8K,EAAgB57B,EAAKL,MAArBi8B,YACJF,IAAQ/5B,EAA0BE,SAASM,kBACvCR,EAA0BE,SAASM,gBAAgBuC,KACvD1E,EAAK6X,SAAyB,MAAhB+jB,EAAsB,WAAaA,GAEjD57B,EAAK6X,SAAS,aAElB7X,EAAKd,MAAMiH,YAAY,mBAE5BhH,EAED0Y,SAAW,SAAC3L,GACV/M,EAAKW,SAAS,CAAEqC,gBAAiBR,EAA0BE,SAASM,kBACpEhD,EAAKD,MAAMgO,QAAQtF,KAAKsE,IACzB/M,EAED08B,iBAAmB,SAACx7B,GAClBlB,EAAKW,SAAQyE,YAAA,GAAMlE,KACpBlB,EACD+L,mBAAqB,aAEpB,IAtDS4wB,EAAa38B,EAAKD,MAAMmY,SAAxBykB,SAOsC,OAN9C38B,EAAKQ,MAAQ,CACXa,cAAc,EACdo7B,YAAaE,EACb35B,gBAAiB,MAEnBhD,EAAKy7B,eAAc,GACnBruB,GAAqBpN,EAAK0Y,SAAStS,KAAItF,wBAAAd,KAAOA,EAoF/C,OA9FQe,YAAAsX,EAAAvY,GAWRkB,YAAAqX,EAAA,EAAApX,IAAA,oBAAAC,MAAA,cAiDA,CAAAD,IAAA,SAAAC,MAAA,WAEQ,IAAAC,EACmCjB,KAAKM,MAAvCa,EAAYF,EAAZE,aAAc2B,EAAe7B,EAAf6B,gBACtB,OACE1B,IAAAC,cAAA,WACED,IAAAC,cAAC1B,EAAc,CAACwB,aAAcA,IAC7B2B,EAAkB1B,IAAAC,cAAC+W,IAAM,KACxBhX,IAAAC,cAACy6B,GAAY,CAACxjB,KAAK,4BAA4BE,SAAUxY,KAAKwY,SAAUgkB,iBAAkBx8B,KAAKw8B,iBAC7F15B,gBAAiB9C,KAAKM,MAAMwC,gBAAiBy4B,cAAev7B,KAAKH,MAAMq6B,aACvEiC,oBAAqBn8B,KAAKm8B,sBAC5B/6B,IAAAC,cAACy6B,GAAY,CAACxjB,KAAK,WAAWE,SAAUxY,KAAKwY,SAAUgkB,iBAAkBx8B,KAAKw8B,iBAC5E15B,gBAAiB9C,KAAKM,MAAMwC,gBAAiBy4B,cAAev7B,KAAKu7B,cACjEY,oBAAqBn8B,KAAKm8B,sBAC5B/6B,IAAAC,cAACy6B,GAAY,CAACxjB,KAAK,iBAAiBE,SAAUxY,KAAKwY,SAAUgkB,iBAAkBx8B,KAAKw8B,iBAClF15B,gBAAiB9C,KAAKM,MAAMwC,gBAAiBy4B,cAAev7B,KAAKu7B,cACjEY,oBAAqBn8B,KAAKm8B,sBAC5B/6B,IAAAC,cAACy6B,GAAY,CAACxjB,KAAK,kBAAkBE,SAAUxY,KAAKwY,SAAUgkB,iBAAkBx8B,KAAKw8B,iBACnF15B,gBAAiB9C,KAAKM,MAAMwC,gBAAiBy4B,cAAev7B,KAAKu7B,cACjEY,oBAAqBn8B,KAAKm8B,sBAC5B/6B,IAAAC,cAACy6B,GAAY,CAACxjB,KAAK,QAAQE,SAAUxY,KAAKwY,SAAUgkB,iBAAkBx8B,KAAKw8B,iBACzE15B,gBAAiB9C,KAAKM,MAAMwC,gBAAiBy4B,cAAev7B,KAAKu7B,cACjEY,oBAAqBn8B,KAAKm8B,sBAC5B/6B,IAAAC,cAACy6B,GAAY,CAACxjB,KAAK,WAAWE,SAAUxY,KAAKwY,SAAUgkB,iBAAkBx8B,KAAKw8B,iBAC5E15B,gBAAiB9C,KAAKM,MAAMwC,gBAAiBy4B,cAAev7B,KAAKu7B,cACjEY,oBAAqBn8B,KAAKm8B,sBAC5B/6B,IAAAC,cAAC46B,IAAQ,CAAC5jB,OAAK,EAACC,KAAK,qBAAqBpH,GAAG,uBAC7C9P,IAAAC,cAACoC,IAAK,CAAC4U,OAAK,EAACC,KAAK,IAAI1U,OAAQ,SAAA/D,GAAK,OACjCuB,IAAAC,cAAC46B,IAAQ,CAAC/qB,GAAE,gBAEd9P,IAAAC,cAAC46B,IAAQ,CAAC3jB,KAAK,KAAKpH,GAAG,gBACb,UAGjBiH,EA9FQ,CAAS9V,aAwGL4xB,oBAAWxhB,aAAQ,KAPlC,SAA4BG,GAC1B,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,OAIlEsL,CAAkC0F,KMxG7CukB,GAXG,SAAAhf,GAAA,SAAAgf,IAAA,OAAA38B,YAAAC,KAAA08B,GAAAz8B,YAAAD,KAAAE,YAAAw8B,GAAAr4B,MAAArE,KAAAgE,YAQf,OARenD,YAAA67B,EAAAhf,GAAA5c,YAAA47B,EAAA,EAAA37B,IAAA,SAAAC,MAAA,WAGd,OACEI,IAAAC,cAAA,OAAKc,UAAU,mBACbf,IAAAC,cAAA,UAAQc,UAAU,WAAU,KAAUf,IAAAC,cAAA,YAAOrB,KAAKH,MAAMgF,mBAG7D63B,EARe,CAASt7B,IAAMiB,WCsFlBs6B,GApFF,SAAAjf,GACX,SAAAif,EAAY98B,GAAO,IAAAC,EAaoC,OAbpCC,YAAAC,KAAA28B,IACjB78B,EAAAG,YAAAD,KAAAE,YAAAy8B,GAAAx8B,KAAAH,KAAMH,KAcR+8B,WAAW,SAAC57B,EAAOwM,GACI,qBAAVA,IACTA,GAAQ,GAEV,IAAIjO,EAAU,GACVs9B,GAAY,EACXrvB,IACHjO,EAAUO,EAAKD,MAAMgF,aACrB2I,GAAQ,EACRqvB,GAAY,GAGd/8B,EAAKW,SAAS,CACZO,MAAOA,EACPwM,MAAOA,EACP3I,aAActF,EACds9B,UAAWA,KA7Bb/8B,EAAKQ,MAAQ,CACXu8B,WAAW,EACX77B,MAAO,KACP6D,aAAc,sBAEgB,oBAApBhF,EAAM8J,SAChB7J,EAAK6J,SAAW,SAACwE,GAAC,OAAK,GAEvBrO,EAAK6J,SAAW9J,EAAM8J,SACxB7J,EAAKg9B,WAAah9B,EAAKg9B,WAAW52B,KAAItF,wBAAAd,KACtCA,EAAKi9B,aAAej9B,EAAKi9B,aAAa72B,KAAItF,wBAAAd,KAC1CA,EAAKyqB,eAAiBzqB,EAAKyqB,eAAerkB,KAAItF,wBAAAd,KAAOA,EAmEtD,OAjFUe,YAAA87B,EAAAjf,GAeV5c,YAAA67B,EAAA,EAAA57B,IAAA,eAAAC,MAAA,SAqBYuL,GACXvM,KAAK48B,WAAWrwB,EAAEnH,OAAOpE,OACrBhB,KAAKH,MAAM6R,UACb1R,KAAKH,MAAM6R,SAASnF,KAEvB,CAAAxL,IAAA,iBAAAC,MAAA,SAEcuL,QACiB7H,IAA1B1E,KAAKH,MAAMm9B,YACbh9B,KAAKH,MAAMm9B,WAAWzwB,KACzB,CAAAxL,IAAA,aAAAC,MAAA,SAEUuL,GACT,IAAIiB,EACJA,EAAQxN,KAAK2J,SAAS4C,EAAEnH,OAAOpE,OAC/BhB,KAAK48B,WAAWrwB,EAAEnH,OAAOpE,MAAOwM,KACjC,CAAAzM,IAAA,SAAAC,MAAA,WAGC,OACEI,IAAAC,cAAA,OAAKc,UAAWnC,KAAKH,MAAMsC,WACL,SAApBnC,KAAKH,MAAMqH,KACT9F,IAAAC,cAAA,SAAO6F,KAAMlH,KAAKH,MAAMqH,KACtB7B,KAAMrF,KAAKH,MAAMwF,KACjBlD,UAAU,mCACVwP,YAAa3R,KAAKH,MAAMuO,KACxBpN,MAAOhB,KAAKH,MAAMmB,OAAS,GAC3Bi8B,OAAQj9B,KAAK88B,WACbprB,SAAU1R,KAAK+8B,aACfC,WAAYh9B,KAAKuqB,iBACG,WAApBvqB,KAAKH,MAAMqH,KACX9F,IAAAC,cAAA,SAAO6F,KAAMlH,KAAKH,MAAMqH,KACtB7B,KAAMrF,KAAKH,MAAMwF,KACjBlD,UAAU,mCACV+P,IAAKlS,KAAKH,MAAMqS,IAChBunB,KAAMz5B,KAAKH,MAAM45B,KACjBz4B,MAAOhB,KAAKH,MAAMmB,OAAS,GAC3Bi8B,OAAQj9B,KAAK88B,WACbprB,SAAU1R,KAAK+8B,aACfC,WAAYh9B,KAAKuqB,iBACjB,KAELvqB,KAAKM,MAAMu8B,UAAYz7B,IAAAC,cAACq7B,GAAY,CAAC73B,aAAc7E,KAAKH,MAAMgF,eAAmB,UAGvF83B,EAjFU,CAASv7B,IAAMiB,WCMtB66B,GAAU,SAAAxf,GACd,SAAAwf,EAAYr9B,GAAO,IAAAC,EA4BG,OA5BHC,YAAAC,KAAAk9B,IACjBp9B,EAAAG,YAAAD,KAAAE,YAAAg9B,GAAA/8B,KAAAH,KAAMH,KAkCRsM,eAAiB,SAACC,GAChBtM,EAAKW,SAAS,CAAEqL,YAAaM,IACzBA,EAASnI,OAAS,GACpBnE,EAAKW,SAAS,CAAEoO,UAAWzC,EAAS,GAAGyC,aAC1C/O,EAeDq9B,mBAAqB,WACnB,IAAIC,GAAY,EAgChB,MA9B2B,KAAvBt9B,EAAKQ,MAAM2O,UACbnP,EAAKW,SAAS,CACZ48B,kBAAmB,kDAErBD,GAAY,GAQe,KAAzBt9B,EAAKQ,MAAM8K,YACbtL,EAAKW,SAAS,CACZ68B,sBAAuB,+CAEzBF,GAAY,GAEa,KAAvBt9B,EAAKQ,MAAM+K,UACbvL,EAAKW,SAAS,CACZ88B,oBAAqB,6CAEvBH,GAAY,GAEe,KAAzBt9B,EAAKQ,MAAMkL,YACb1L,EAAKW,SAAS,CACZ+8B,sBAAuB,sDAEzBJ,GAAY,GAEPA,GA6BTt9B,EAEA29B,kBAAoB,SAACh0B,GACnB,OAAIS,GAAaT,IACf3J,EAAKW,SAAS,CACZ68B,sBAAuB,gDAElB,GAELh0B,EAAYG,GACVL,EAAQK,IAASL,EAAQN,MACvBQ,EAAYxJ,EAAKQ,MAAM+K,WACrBjC,EAAQK,GAAQL,EAAQtJ,EAAKQ,MAAM+K,WAIrCvL,EAAKW,SAAS,CACZ68B,sBAAuB,gDAElB,KAQXx9B,EAAKW,SAAS,CACZ68B,sBAAuB,iDAElB,IAITx9B,EAAKW,SAAS,CACZ68B,sBAAuB,6BAElB,IAEVx9B,EAED49B,gBAAkB,SAACj0B,GACjB,OAAIS,GAAaT,IACf3J,EAAKW,SAAS,CACZ88B,oBAAqB,8CAEhB,GAELj0B,EAAYG,GACVL,EAAQK,IAASL,EAAQN,MACvBQ,EAAYxJ,EAAKQ,MAAM8K,aACrBhC,EAAQK,GAAQL,EAAQtJ,EAAKQ,MAAM8K,aAIrCtL,EAAKW,SAAS,CACZ88B,oBAAqB,6CAEhB,KAQXz9B,EAAKW,SAAS,CACZ88B,oBAAqB,+CAEhB,IAITz9B,EAAKW,SAAS,CACZ88B,oBAAqB,2BAEhB,IA9LTz9B,EAAKQ,MAAQ,CACX2O,QAASnP,EAAKD,MAAMwN,KAAKswB,QACzBt4B,KAAMvF,EAAKD,MAAMwN,KAAKuwB,KACtB/uB,UAAW/O,EAAKD,MAAMwN,KAAKwB,UAC3BzD,UAAWf,GAAavK,EAAKD,MAAMwN,KAAKwwB,WACxCxyB,QAAShB,GAAavK,EAAKD,MAAMwN,KAAKywB,SACtCtyB,UAAW1L,EAAKD,MAAMwN,KAAK0wB,UAC3BV,kBAAmB,GAEnBC,sBAAuB,GACvBC,oBAAqB,GACrBC,sBAAuB,GACvB1xB,YAAa,IAEfhM,EAAKoqB,aAAepqB,EAAKoqB,aAAahkB,KAAItF,wBAAAd,KAC1CA,EAAKga,iBAAmBha,EAAKga,iBAAiB5T,KAAItF,wBAAAd,KAElDA,EAAK49B,gBAAkB59B,EAAK49B,gBAAgBx3B,KAAItF,wBAAAd,KAChDA,EAAKk+B,kBAAoBl+B,EAAKk+B,kBAAkB93B,KAAItF,wBAAAd,KACpDA,EAAKm+B,mBAAqBn+B,EAAKm+B,mBAAmB/3B,KAAItF,wBAAAd,KACtDA,EAAKo+B,wBAA0Bp+B,EAAKo+B,wBAAwBh4B,KAAItF,wBAAAd,KAChEA,EAAKq+B,cAAgBr+B,EAAKq+B,cAAcj4B,KAAItF,wBAAAd,KAC5CA,EAAKq9B,mBAAqBr9B,EAAKq9B,mBAAmBj3B,KAAItF,wBAAAd,KACtDA,EAAKs+B,eAAiBt+B,EAAKs+B,eAAel4B,KAAItF,wBAAAd,KAC9CA,EAAKu+B,YAAcv+B,EAAKu+B,YAAYn4B,KAAItF,wBAAAd,KACxCA,EAAKw+B,cAAgBx+B,EAAKw+B,cAAcp4B,KAAItF,wBAAAd,KAC5CA,EAAKyO,eAAezO,EAoWrB,OAjYae,YAAAq8B,EAAAxf,GA8Bb5c,YAAAo8B,EAAA,EAAAn8B,IAAA,eAAAC,MAAA,WAGChB,KAAKH,MAAMqX,aACZ,CAAAnW,IAAA,eAAAC,MAAA,WASC,OAAOosB,IAAM3e,IAAI,gBACdzB,KAAK,SAAUC,GACVA,GACFjN,KAAKmM,eAAec,EAASI,QAIhCF,MAAM,SAAUZ,GACfwC,QAAQnK,MAAM5E,KAAKH,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,gBAErD,CAAAjO,IAAA,mBAAAC,MAAA,SAsCgBuL,GACf,OAAQA,EAAEnH,OAAOC,MACf,IAAK,QAASrF,KAAKS,SAAS,CAAEwO,QAAS1C,EAAEnH,OAAOpE,QAC9C,MACF,IAAK,OAAQhB,KAAKS,SAAS,CAAE4E,KAAMkH,EAAEnH,OAAO6I,QAAQ1B,EAAEnH,OAAOm5B,eAAenwB,KAAMS,UAAYtC,EAAEnH,OAAOpE,QACrG,MACF,IAAK,YAAahB,KAAKS,SAAS,CAAE2K,UAAWmB,EAAEnH,OAAOpE,QACpD,MACF,IAAK,UAAWhB,KAAKS,SAAS,CAAE4K,QAASkB,EAAEnH,OAAOpE,QAChD,MACF,IAAK,YAAahB,KAAKS,SAAS,CAAE+K,UAAWe,EAAEnH,OAAOpE,QACpD,MACF,QACEhB,KAAKS,SAAQuF,YAAA,GAAIuG,EAAEnH,OAAOC,KAAOkH,EAAEnH,OAAOpE,WAG/C,CAAAD,IAAA,oBAAAC,MAAA,SA0FiBwwB,GAChB,OAAItnB,GAAasnB,KACfxxB,KAAKS,SAAS,CACZ+8B,sBAAuB,uDAElB,KAGV,CAAAz8B,IAAA,iBAAAC,MAAA,SAEcgX,GACbhY,KAAKH,MAAM2+B,SAASxmB,GACpBhY,KAAKH,MAAMkuB,UAAW,IACvB,CAAAhtB,IAAA,cAAAC,MAAA,WAGChB,KAAKS,SAAS,CACZwO,QAAS,GACT7D,UAAW,GACXC,QAAS,GACTG,UAAW,KAEbxL,KAAKH,MAAMkuB,UAAW,IACvB,CAAAhtB,IAAA,gBAAAC,MAAA,WAGC,GAAIhB,KAAKm9B,qBAAsB,CAC7B,IAAMx8B,EAAOX,KACbA,KAAKH,MAAMgH,YAAY,iBACvBumB,IAAM9f,KAAK,gBAAiB,CAC1BqwB,QAAS39B,KAAKM,MAAM2O,QACpB2uB,KAAM59B,KAAKM,MAAM+E,KACjBo5B,UAAWz+B,KAAKM,MAAMuO,UACtBgvB,UAAWxzB,GAAarK,KAAKM,MAAM8K,WACnC0yB,QAASzzB,GAAarK,KAAKM,MAAM+K,SACjC0yB,UAAW/9B,KAAKM,MAAMkL,YAErBwB,KAAK,SAAUC,GACdtM,EAAK09B,cACDpxB,GACFtM,EAAKy9B,eAAenxB,EAASsV,QAAQvK,YAGxC7K,MAAM,SAAUZ,GACfwC,QAAQnK,MAAMjE,EAAKd,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,cAGjDhC,KAAK,WAEJhN,KAAKH,MAAMgH,YAAY,sBAG9B,CAAA9F,IAAA,gBAAAC,MAAA,WAGC,GAAIhB,KAAKm9B,qBAAsB,CAC7B,IAAMx8B,EAAKX,KACX,OAAOotB,IAAMrgB,IAAI,gBAAiB,CAChC4wB,QAAS39B,KAAKM,MAAM2O,QACpB2uB,KAAM59B,KAAKM,MAAM+E,KACjBo5B,UAAWz+B,KAAKM,MAAMuO,UACtBgvB,UAAW79B,KAAKM,MAAM8K,UACtB0yB,QAAS99B,KAAKM,MAAM+K,QACpB0yB,UAAW/9B,KAAKM,MAAMkL,YACrBwB,KAAK,SAAUC,GACZA,GACFtM,EAAKy9B,eAAenxB,EAASsV,QAAQvK,YAItC7K,MAAM,SAAUZ,GACfwC,QAAQnK,MAAMjE,EAAKd,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,iBAGvD,CAAAjO,IAAA,qBAAAC,MAAA,SAEkBqU,GACjB,IAAI9I,EAAI8I,GAASuM,OAAOvM,MACpBtU,EAAMwL,EAAEmyB,SAAWnyB,EAAEoyB,MACzB59B,EAAM2J,OAAOk0B,aAAa79B,GACd,oBACDmgB,KAAKlhB,KAAKM,MAAM+E,KAAOtE,KAChCwL,EAAEsyB,aAAc,EACZtyB,EAAEE,gBAAgBF,EAAEE,oBAE3B,CAAA1L,IAAA,0BAAAC,MAAA,SAEuBqU,GACtB,IAAImc,EAAwC,qBAAzBxxB,KAAKM,MAAMkL,UAA4B,GAAKxL,KAAKM,MAAMkL,UACtEe,EAAI8I,GAASuM,OAAOvM,MACpBtU,EAAMwL,EAAEmyB,SAAWnyB,EAAEoyB,MACzB59B,EAAM2J,OAAOk0B,aAAa79B,GACd,gBACDmgB,KAAKsQ,EAAQzwB,KACtBwL,EAAEsyB,aAAc,EACZtyB,EAAEE,gBAAgBF,EAAEE,oBAE3B,CAAA1L,IAAA,SAAAC,MAAA,WAEQ,IAAA4O,EAAA5P,KACH8+B,GAAiB9+B,KAAKH,MAAMkuB,SAAW,uBACvCgR,GAAmB/+B,KAAKH,MAAMkuB,SAAW,mCACzCD,EAAgB9tB,KAAKH,MAAMkuB,SAAW,gEAAkE,oDACxGiR,GAAkBh/B,KAAKH,MAAMkuB,SAAW,4BACxCkR,GAA0C,IAAxBj/B,KAAKH,MAAMkuB,SAC/B3sB,IAAAC,cAACM,IAAM,CAACkY,OAAK,EAACjJ,KAAK,OAAO1J,KAAK,SAAS2J,SAAO,EAAChP,QAAS7B,KAAKm+B,eAAe,UAC7E/8B,IAAAC,cAACM,IAAM,CAACkY,OAAK,EAACjJ,KAAK,OAAO1J,KAAK,SAAS2J,SAAO,EAAChP,QAAS7B,KAAKs+B,eAAe,UACzE5vB,EAAiB1O,KAAKM,MAAMwL,YAAY6C,IAAI,SAACC,GAAW,MAAO,CAAE7N,IAAK6N,EAAKC,UAAY,GAAI7N,MAAO4N,EAAKC,UAAWT,KAAMQ,EAAKvJ,QAAWpE,EACnGjB,KAAKM,MAA1CuO,EAAS5N,EAAT4N,UAAWyuB,EAAqBr8B,EAArBq8B,sBAGjB,YAFkB54B,IAAdmK,GAA2BH,EAAezK,OAAS,IACrD4K,EAAYH,EAAe,GAAG1N,OAE9BI,IAAAC,cAAA,OAAKc,UAAW2rB,GACd1sB,IAAAC,cAAA,QAAMc,UAAU,mBACdf,IAAAC,cAAA,OAAKc,UAAU,cACbf,IAAAC,cAAA,SAAOc,UAAW28B,GAAgB,SAClC19B,IAAAC,cAACs7B,GAAO,CACNz1B,KAAK,OACL7B,KAAK,QACL+I,KAAK,QACLjM,UAAW48B,EACXl6B,aAAc7E,KAAKM,MAAM+8B,kBACzBr8B,MAAOhB,KAAKM,MAAM2O,QAClByC,SAAU1R,KAAK8Z,oBAGnB1Y,IAAAC,cAAA,OAAKc,UAAU,cACbf,IAAAC,cAAA,SAAOc,UAAW28B,GAAgB,WAClC19B,IAAAC,cAAC4Z,KAAQ,CACPtJ,YAAY,iBACZkI,OAAK,EACLnI,SAAU,SAACnF,EAAGvC,GAAC,OAAK4F,EAAKkK,iBAAiB,CAAE1U,OAAQ4E,KACpDkc,WAAS,EACT/jB,UAAW48B,EACX9wB,QAASS,EACTrJ,KAAK,YACLrE,MAAO6N,KAGXzN,IAAAC,cAAA,OAAKc,UAAU,cACbf,IAAAC,cAAA,SAAOc,UAAW28B,GAAgB,cAClC19B,IAAAC,cAACs7B,GAAO,CACNz1B,KAAK,OACL7B,KAAK,YACL+I,KAAK,aACLjM,UAAW48B,EACXl6B,aAAcy4B,EACdt8B,MAAOhB,KAAKM,MAAM8K,UAClBzB,SAAU3J,KAAKy9B,kBACf/rB,SAAU1R,KAAK8Z,oBAGnB1Y,IAAAC,cAAA,OAAKc,UAAU,cACbf,IAAAC,cAAA,SAAOc,UAAW28B,GAAgB,YAClC19B,IAAAC,cAACs7B,GAAO,CACNz1B,KAAK,OACL7B,KAAK,UACL+I,KAAK,aACLjM,UAAW48B,EACXl6B,aAAc7E,KAAKM,MAAMi9B,oBACzBv8B,MAAOhB,KAAKM,MAAM+K,QAClB1B,SAAU3J,KAAK09B,gBACfhsB,SAAU1R,KAAK8Z,oBAGnB1Y,IAAAC,cAAA,OAAKc,UAAU,cACbf,IAAAC,cAAA,SAAOc,UAAW28B,GAAgB,sBAClC19B,IAAAC,cAACs7B,GAAO,CACNz1B,KAAK,SACL7B,KAAK,YACLlD,UAAW48B,EACXl6B,aAAc7E,KAAKM,MAAMk9B,sBACzBtrB,IAAI,IACJunB,KAAK,IACLz4B,MAAOhB,KAAKM,MAAMkL,UAClB7B,SAAU3J,KAAKg+B,kBACftsB,SAAU1R,KAAK8Z,iBACfkjB,WAAYh9B,KAAKk+B,2BAGrB98B,IAAAC,cAAA,OAAKc,UAAU,cACbf,IAAAC,cAAA,OAAKc,UAAW68B,GACbC,UAMZ/B,EAjYa,CAAS97B,IAAMiB,WAoYhB4xB,gBAAWiJ,qgCCtYoC,IAEzCgC,GAAW,SAAA/zB,GAE5B,SAAA+zB,EAAYr/B,GAAO,IAAAC,EAwBkC,OAxBlCC,YAAAC,KAAAk/B,IACfp/B,EAAAG,YAAAD,KAAAE,YAAAg/B,GAAA/+B,KAAAH,KAAMH,KA0BViZ,gBAAkB,WAAM,IAAA7X,EACyCnB,EAAKQ,MAA1D6+B,EAAYl+B,EAAZk+B,aAAcC,EAAWn+B,EAAXm+B,YAAarmB,EAAU9X,EAAV8X,WAAYsmB,EAASp+B,EAATo+B,UAC3CnmB,EAAapZ,EAAKD,MAAMwN,KAgB5B,OAfI0L,IACAG,EAAaC,aAAYD,EAAYH,EAAY,CAAEK,KAAM,CAAC,SAAAjL,GAAC,OAAIA,EAAE9I,MAAM,SAAA8I,GAAC,OAAIA,EAAEc,aAC9EkwB,IACAjmB,EAAaA,EAAWhL,OAAO,SAAAC,GAAC,OAAIA,EAAEU,WAAaswB,KACnDC,IAEIlmB,EADe,OAAfkmB,EACalmB,EAEAA,EAAWhL,OAAO,SAAAC,GAAC,OAAIA,EAAE3F,QAAU42B,KAKpDC,IACAnmB,EAAaA,EAAWhL,OAAO,SAAAC,GAAC,OAAIA,EAAEoI,MAAMvH,YAAcqwB,KACvD/lB,IAAEC,OAAOL,EAAY,SAAAM,GAAG,OAAIA,EAAIH,eAC1CvZ,EAEDw/B,kBAAoB,SAAU/yB,EAAGvC,GAC7B,OAAQA,EAAE3E,MAEN,IAAK,eAAgBrF,KAAKS,SAAS,CAAE0+B,aAAcn1B,EAAEhJ,OAAShB,KAAKsT,wBAAyB,MAC5F,IAAK,cAAetT,KAAKS,SAAS,CAAE2+B,YAAap1B,EAAEhJ,OAAShB,KAAKsT,wBAAyB,MAC1F,IAAK,YAAatT,KAAKS,SAAS,CAAE4+B,UAAWr1B,EAAEhJ,OAAShB,KAAKsT,0BAIpExT,EAEDy/B,gBAAkB,SAAChzB,GACf,IAAIvL,EAAQuL,EAAEnH,OAAOpE,MACrBlB,EAAKW,SAAS,CAAEyN,OAAQ,CAAE5G,MAAOtG,IAAWlB,EAAKwT,wBACjDxT,EAAKwT,0BACRxT,EAEDwT,uBAAyB,WAAY,IAAAyX,EAC6C/qB,KAAKM,MAA3E6+B,EAAYpU,EAAZoU,aAAcC,EAAWrU,EAAXqU,YAAarmB,EAAUgS,EAAVhS,WAAYsmB,EAAStU,EAATsU,UAAWrsB,EAAO+X,EAAP/X,QAAS9E,EAAM6c,EAAN7c,OACnElO,KAAKH,MAAM2/B,uBAAuBL,EAAcC,EAAarmB,EAAYsmB,EAAWrsB,EAAS9E,IAChGpO,EAED2/B,cAAgB,SAACn4B,GACb,OAAIA,EAAMrD,OAAS,GACRqD,EAAMo4B,UAAU,EAAG,IAAM,KAE7Bp4B,GACVxH,EAEDgT,eAAiB,SAACjE,GACd,OAAQA,GACJ,KAAK,EAAG,MAAO,kBACf,KAAK,EAAG,MAAO,qBACf,KAAK,EAAG,MAAO,kBACf,KAAK,EAAG,MAAO,mBACf,KAAK,EAAG,MAAO,eACf,KAAK,EAAG,MAAO,iBACf,QAAS,MAAO,KAEvB/O,EAuDDoW,WAAa,SAAC7I,GAEV,OADqBvN,EAAKD,MAAlB4Z,SAEGpM,EAAKsB,IAAI,SAACC,EAAMuH,GAAK,OACxB/U,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAKoV,GACX/U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAEhC/U,IAAAC,cAAA,OAAKc,UAAU,UACS,GAAlByM,EAAKC,UAAkBzN,IAAAC,cAAA,OAAKc,UAAU,gBAAgBwY,IAAI,oBAAoBE,IAAI,iBAAoB,GACpF,GAAlBjM,EAAKC,UAAkBzN,IAAAC,cAAA,OAAKc,UAAU,gBAAgBwY,IAAI,uBAAuBE,IAAI,iBAAoB,KAGnHzZ,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAA,SAAIuN,EAAK8K,WAEbtY,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAA,SAAIuN,EAAKkB,YAEb1O,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAAA,SAAIuN,EAAKmB,WAEb3O,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAKoV,EAAQ,KAChC/U,IAAAC,cAACM,IAAM,CAACG,MAAM,MAAM8O,KAAK,SAASiJ,OAAK,EAAC1X,UAAU,QAAQgU,MAAOA,EAAOW,GAAIlI,EAAK0M,QAASzZ,QAAS/B,EAAKD,MAAM2b,eAAe,cAGtInO,EAAKsB,IAAI,SAACC,EAAMuH,GACnB,OAAO/U,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAG,GAAAuD,OAAK6R,GAAK7R,OAAG8R,KAAKC,WAClCjV,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,OAAKc,UAAU,QACXf,IAAAC,cAAA,KAAG8P,MAAO,CAAEmF,SAAU,eAAiBxW,EAAKgT,eAAelE,EAAKC,YACtC,MAAzBD,EAAKqR,kBAAkD,GAAtBngB,EAAKD,MAAMgW,QAEzCzU,IAAAC,cAAA,KAAGb,MAAM,qBAAoBY,IAAAC,cAAA,QAAM2kB,MAAM,oBAAyB,IAAEpX,EAAKqR,kBACvE,OAKd7e,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAGb,MAAOoO,EAAKK,QAASkC,MAAO,CAAEmF,SAAU,eAAqD1H,EAAKK,SAAY7N,IAAAC,cAAA,SAAIuN,EAAKvJ,OAE9HjE,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAG8P,MAAO,CAAEoB,UAAW,SAAkC,SAAvB7H,OAAOkE,EAAK2H,OAAoB,QAAU,SAEhFnV,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAG8P,MAAO,CAAEoB,UAAW,SAAW3D,EAAKpG,SAE3CpH,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAG8P,MAAO,CAAEoB,UAAW,WAAa3D,EAAKxD,YAE7ChK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WACzCjV,IAAAC,cAAA,KAAG8P,MAAO,CAAEoB,UAAW,WAAa3D,EAAKvD,UAE7CjK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,WAEzCjV,IAAAC,cAAA,KAAG8P,MAAO,CAAE4E,SAAUnH,EAAK4H,UAAY,IAAM5H,EAAKpD,UAAY,GAAK,SAAW,QAAUoD,EAAK6H,WAAa3W,EAAKD,MAAMgW,QAAUjH,EAAK4H,UAAY,MAAQ5H,EAAKpD,UAAY,KAE7KpK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGtQ,IAAG,GAAAuD,OAAK6R,EAAK,KAAA7R,OAAI8R,KAAKC,YACtCzH,EAAK6H,WAAa3W,EAAKD,MAAMgW,UAA8B,GAAlBjH,EAAKC,UAAkBzN,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIrO,EAAK6/B,eAAexpB,GAAShI,GAAGgD,MAAO,CAAEoK,QAAS,QAAUzE,GAAIlI,EAAK4E,YAAarR,UAAU,0BAA0BN,QAAS/B,EAAKD,MAAM+/B,0BAA0B,gBAAwB,KAC/Q9/B,EAAKD,MAAMgW,QAAWzU,IAAAC,cAAA,WAAKD,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIrO,EAAK+/B,iBAAiB1pB,GAAShI,GAAGgD,MAAO,CAAEoK,QAAS,QAAUzE,GAAIlI,EAAK4E,YAAarR,UAAU,0BAA0BN,QAAS/B,EAAKD,MAAMigC,mBAAmB,WAAwB,KACpOhgC,EAAKD,MAAMgW,QAAWzU,IAAAC,cAAA,WAAKD,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIrO,EAAKigC,gBAAgB5pB,GAAShI,GAAGgD,MAAO,CAAEoK,QAAS,QAAUzE,GAAIlI,EAAK4E,YAAarR,UAAU,0BAA0BN,QAAS/B,EAAKD,MAAMmgC,oBAAoB,UAAuB,KAEnOlgC,EAAKD,MAAMgW,QACTzU,IAAAC,cAAA,OAAKc,UAAU,4BACXf,IAAAC,cAAC4Z,KAAQ,CACLC,QAAM,EACN9M,KAAK,QACLhN,IAAAC,cAAC4Z,KAASE,KAAI,KACTrb,EAAKmgC,sBAAsBrxB,EAAMuH,OAI1CvH,EAAK6H,WAAa3W,EAAKD,MAAMgW,UAA8B,GAAlBjH,EAAKC,WAAmBzN,IAAAC,cAACM,IAAM,CAACmV,GAAIlI,EAAK4E,YAAarR,UAAU,0BAA0BN,QAAS/B,EAAKD,MAAM+/B,0BAA0B,qBAIxM9/B,EAGDiT,mBAAqB,WACjB,IAAMC,EAAUhT,KAAKM,MAAM0S,QAAQ9E,OAAO,SAAU+E,GAAY,MAAyB,UAAlBA,EAAS5N,OAC1E6N,EAAQlT,KAAKM,MAAM0S,QAAQG,KAAK,SAAUF,GAAY,MAAyB,UAAlBA,EAAS5N,OAC5ErF,KAAKS,SAAS,CACVuS,QAAO,GAAA1O,OAAA8O,aACAJ,GAAO,CACV,CACI3N,KAAM,QACNgO,IAAKH,GAAuB,QAAdA,EAAMG,IAAgB,OAAS,UAGtDrT,KAAKsT,yBACXxT,EAGDyV,aAAe,WAAY,IAAAoc,EACsC3xB,KAAKM,MAA9C++B,GAAF1N,EAAV5Y,WAAqB4Y,EAAT0N,WAAWD,EAAWzN,EAAXyN,YAAaD,EAAYxN,EAAZwN,aA2BtCjsB,EAAQlT,KAAKM,MAAM0S,QAAQG,KAAK,SAAUF,GAAY,MAAyB,UAAlBA,EAAS5N,OACtEmQ,EAAkBtC,EAAmC,SAAA5O,OAA2B,QAAd4O,EAAMG,IAAgB,OAAS,MAAvE,4BAChC,MAAO,CACHjS,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,UACVK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,WAGtDf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,SAErEvS,KAAKH,MAAMgW,QAAUzU,IAAAC,cAAA,OAAKQ,QAAS7B,KAAK+S,mBAAoB5B,MAZ/C,CACtB2E,OAAQ,YAWuF,QAC9E1U,IAAAC,cAAC+P,IAAI,CAAC/L,KAAI,GAAAf,OAAKkR,MAEpB,SAERpU,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,SAAU,QAGpFnR,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,SAAU,UAGpFnR,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,SAAUwD,SAAU,WAAY,cAG1G3U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,SAAUwD,SAAU,WAAY,eAG1G3U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAAqB,UAGtDf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,wBAGrCf,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,YAAYoQ,MAAO,CAAE6E,WAAY,MAAOC,cAAe,QACjE7U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBAGjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBAGjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBAGjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBAGjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,WACtEnR,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,SAAU,iBAEvC3U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,qBAAqBgP,MAAO,CAAEoB,UAAW,WACtEnR,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,SAAU,iBAEvC3U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,uBAGjCf,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,wBAGrCf,IAAAC,cAACoU,IAAKE,IAAG,CAAC5U,IAAI,UAEVK,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,GAChBjQ,IAAAC,cAAC4Z,KAAQ,CACLpB,OAAK,EACLoM,QAAM,EACN9jB,UAAU,YACVwP,YAAY,WACZuU,WAAS,EACT7gB,KAAK,eACL8gB,WAAS,EACTlY,QA7FO,CACnB,CAAElN,IAAK,GAAIC,MAAO,GAAIoN,KAAM,WAAYtM,MAAO,WAC/C,CAAEf,IAAK,IAAKC,MAAO,IAAKoN,KAAM,kBAAmBtM,MAAO,WACxD,CAAEf,IAAK,IAAKC,MAAO,IAAKoN,KAAM,kBAAmBtM,MAAO,WACxD,CAAEf,IAAK,IAAKC,MAAO,IAAKoN,KAAM,qBAAsBtM,MAAO,WAC3D,CAAEf,IAAK,IAAKC,MAAO,IAAKoN,KAAM,sBAAuBtM,MAAO,WAC5D,CAAEf,IAAK,IAAKC,MAAO,IAAKoN,KAAM,eAAgBtM,MAAO,WACrD,CAAEf,IAAK,IAAKC,MAAO,IAAKoN,KAAM,iBAAkBtM,MAAO,YAuF3Cd,MAAOm+B,EACPztB,SAAU1R,KAAKs/B,qBAGvBl+B,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAC7Bf,IAAAC,cAACkQ,KAAK,CACFJ,MAAO,CAAEmE,OAAQ,QACjBjQ,KAAK,aACL6B,KAAK,OACL/E,UAAU,aACV0X,OAAK,EACL7Y,MAAOhB,KAAKM,MAAM4N,OAAO5G,MACzBoK,SAAU1R,KAAKu/B,mBAEvBn+B,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAE7Bf,IAAAC,cAAC4Z,KAAQ,CACLpB,OAAK,EACLoM,QAAM,EACN9jB,UAAU,6BACVwP,YAAY,WACZuU,WAAS,EACT7gB,KAAK,YACL8gB,WAAS,EACTlY,QA5GI,CAChB,CAAElN,IAAK,MAAOC,MAAO,GAAIoN,KAAM,WAAYtM,MAAO,WAClD,CAAEf,IAAK,OAAQC,MAAO,OAAQoN,KAAM,QAAStM,MAAO,WACpD,CAAEf,IAAK,QAASC,MAAO,QAASoN,KAAM,OAAQtM,MAAO,YA0GzCd,MAAOq+B,EACP3tB,SAAU1R,KAAKs/B,oBACjB,oBACNl+B,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAO,EAAGlP,UAAU,sBAC7Bf,IAAAC,cAAC4Z,KAAQ,CACLpB,OAAK,EACLoM,QAAM,EACN9jB,UAAU,6BACVwP,YAAY,WACZuU,WAAS,EACT7gB,KAAK,cACLrE,MAAOo+B,EACPjZ,WAAS,EACTlY,QApHM,CAClB,CAAElN,IAAK,MAAOC,MAAO,MAAOoN,KAAM,WAAYtM,MAAO,WACrD,CAAEf,IAAK,OAAQC,MAAO,SAAUoN,KAAM,SAAUtM,MAAO,WACvD,CAAEf,IAAK,QAASC,MAAO,UAAWoN,KAAM,UAAWtM,MAAO,YAkH9C4P,SAAU1R,KAAKs/B,wBAlX/Bx/B,EAAK6/B,eAAiB,GACtB7/B,EAAK+/B,iBAAmB,GACxB//B,EAAKigC,gBAAkB,GACvBjgC,EAAKQ,MAAK4E,YAAA,GACHpF,EAAKQ,MAAK,CACb4N,OAAQ,CAAE5G,MAAO,IACjB0R,eAAgB,GAChBC,cAAe,GACfjG,QAAS,GACTmsB,aAAc,GACdC,YAAa,SACbC,UAAW,KAEfv/B,EAAKgZ,gBAAkBhZ,EAAKgZ,gBAAgB5S,KAAItF,wBAAAd,KAChDA,EAAKw/B,kBAAoBx/B,EAAKw/B,kBAAkBp5B,KAAItF,wBAAAd,KACpDA,EAAKwT,uBAAyBxT,EAAKwT,uBAAuBpN,KAAItF,wBAAAd,KAC9DA,EAAKiT,mBAAqBjT,EAAKiT,mBAAmB7M,KAAItF,wBAAAd,KACtDA,EAAKyV,aAAezV,EAAKyV,aAAarP,KAAItF,wBAAAd,KAC1CA,EAAKy/B,gBAAkBz/B,EAAKy/B,gBAAgBr5B,KAAItF,wBAAAd,KAChDA,EAAKuc,iBAAmBvc,EAAKuc,iBAAiBnW,KAAItF,wBAAAd,KAClDA,EAAKwc,iBAAmBxc,EAAKwc,iBAAiBpW,KAAItF,wBAAAd,KAClDA,EAAKmgC,sBAAwBngC,EAAKmgC,sBAAsB/5B,KAAItF,wBAAAd,KAC5DA,EAAKyc,aAAezc,EAAKyc,aAAarW,KAAItF,wBAAAd,KAAOA,EAqWpD,OA/X2Be,YAAAq+B,EAAA/zB,GA2B3BrK,YAAAo+B,EAAA,EAAAn+B,IAAA,wBAAAC,MAAA,SAgEqB4N,EAAMuH,GACxB,IASsBuG,EAHlBzO,EAAU,GACZ0O,EAAAC,GAPS,GAAAtY,OAAA8O,cACDxE,EAAK6H,WAAazW,KAAKH,MAAMgW,UAA8B,GAAlBjH,EAAKC,UAAkB,CAAC,CAAET,KAAM,iBAAoB,IAAEgF,aACjGpT,KAAKH,MAAMgW,QAAU,CAAC,CAAEzH,KAAM,mBAAsB,IAAEgF,aACtDpT,KAAKH,MAAMgW,QAAU,CAAC,CAAEzH,KAAM,kBAAqB,MAMrC,IAAtB,IAAAuO,EAAAE,MAAAH,EAAAC,EAAAG,KAAAC,MAAwB,KAAfnO,EAAI8N,EAAA1b,MACTiN,EAAO,GAAA3J,OAAA8O,aAAOnF,GAAO,CACrB7M,IAAAC,cAAC4Z,KAASpD,KAAI,CACV1G,MAAO,CAAErP,MAAO,WAChBkb,aAAchd,KAAKqc,iBACnBY,aAAcjd,KAAKsc,iBACnBza,QAAS7B,KAAKuc,aACdzF,GAAIX,GACHvH,EAAKR,SAGb,MAAA8O,GAAAP,EAAApQ,EAAA2Q,GAAA,QAAAP,EAAAQ,IACD,OAAOlP,IACV,CAAAlN,IAAA,mBAAAC,MAAA,SAEgBuL,GACbA,EAAEnH,OAAO+L,MAAMiM,WAAa,UAC5B7Q,EAAEnH,OAAO+L,MAAMrP,MAAQ,UAC1B,CAAAf,IAAA,mBAAAC,MAAA,SAEgBuL,GACbA,EAAEnH,OAAO+L,MAAMiM,WAAa,QAC5B7Q,EAAEnH,OAAO+L,MAAMrP,MAAQ,YAC1B,CAAAf,IAAA,eAAAC,MAAA,SAEYuL,GACT,IAAI6B,EAAO7B,EAAEnH,OAAOiY,UAChBlH,EAAQ5J,EAAEnH,OAAO0R,GACrB,OAAQ1I,GACJ,IAAK,eACDpO,KAAK2/B,gBAAgBxpB,GAAOU,IAAI0G,QAChC,MACJ,IAAK,iBACDvd,KAAK6/B,kBAAkB1pB,GAAOU,IAAI0G,QAClC,MACJ,IAAK,gBACDvd,KAAK+/B,iBAAiB5pB,GAAOU,IAAI0G,WAK5C,CAAAxc,IAAA,SAAAC,MAAA,WAgPG,MAAO,CAAChB,KAAKuV,eAAgBvV,KAAKkW,WAAmBlW,KAAKH,MAAMwN,WACnE6xB,EA/X2B,CAAS16B,GCKnCk3B,GAAO,SAAAhe,GACX,SAAAge,EAAY77B,GAAO,IAAAC,EAgB4C,OAhB5CC,YAAAC,KAAA07B,IACjB57B,EAAAG,YAAAD,KAAAE,YAAAw7B,GAAAv7B,KAAAH,KAAMH,KAkBR+/B,yBAA2B,SAAUrzB,GACnCA,EAAEqpB,UACF,IAAMjW,EAAYpT,EAAEnH,OAAO0R,GAC3B9W,KAAKS,SAAS,CAAEq1B,QAAQ,IACxB91B,KAAKH,MAAMgO,QAAQtF,KAAI,mBAAAjE,OAAoBqb,KAC5C7f,EAEDggC,kBAAoB,SAAUvzB,GAC5BA,EAAEqpB,UACF,IAAMjW,EAAYpT,EAAEnH,OAAO0R,GAC3B9W,KAAKS,SAAS,CAAEq1B,QAAQ,IACxB91B,KAAKH,MAAMgO,QAAQtF,KAAI,kBAAAjE,OAAmBqb,KACzC7f,EAEDkgC,mBAAqB,SAAUzzB,GAC3BA,EAAEqpB,UACF,IAAMjW,EAAYpT,EAAEnH,OAAO0R,GAC3B9W,KAAKS,SAAS,CAAEq1B,QAAQ,IACxB91B,KAAKH,MAAMgO,QAAQtF,KAAI,mBAAAjE,OAAoBqb,KAC9C7f,EAGHw4B,kBAAoB,WAElB,IACM33B,EAAOX,KACb,OAAOotB,IAAM3e,IAFM,sBAGhBzB,KAAK,SAAUC,GAEVA,GAAYA,EAASI,MACvB1M,EAAKF,SAAS,CAAE60B,MAAOroB,EAASI,SAGnCF,MAAM,SAAUZ,GACfwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,eAE/BlP,EAED0/B,uBAAyB,SAAUL,EAAcC,EAAarmB,EAAYsmB,EAAWrsB,EAAS9E,GAC5FlO,KAAKH,MAAM2/B,uBAAuBL,EAAcC,EAAarmB,EAAYsmB,EAAWrsB,EAAS9E,IAC9FpO,EAEDogC,mBAAqB,SAAU3zB,EAAG4zB,GAChCngC,KAAKS,SAAS,CAAE2/B,aAAcD,EAAOn/B,MAAOq/B,SAAU,CAAC,CAAEvpB,GAAI,cAAe9V,MAAOm/B,EAAOn/B,MAAM0I,MAAM,KAAK,QA5D3G5J,EAAKQ,MAAQ,CAEXw1B,QAAQ,EACRR,MAAO,GACL8K,aAAc,GAChBC,SAAU,CAAC,CACTvpB,GAAM,SACN9V,MAAS,UAGblB,EAAK8/B,yBAA2B9/B,EAAK8/B,yBAAyB15B,KAAItF,wBAAAd,KAClEA,EAAKggC,kBAAoBhgC,EAAKggC,kBAAkB55B,KAAItF,wBAAAd,KACpDA,EAAK0/B,uBAAyB1/B,EAAK0/B,uBAAuBt5B,KAAItF,wBAAAd,KAC9DA,EAAKogC,mBAAqBpgC,EAAKogC,mBAAmBh6B,KAAItF,wBAAAd,KACtDA,EAAKkgC,mBAAqBlgC,EAAKkgC,mBAAmB95B,KAAItF,wBAAAd,KAAOA,EAiE9D,OAlFUe,YAAA66B,EAAAhe,GAkBV5c,YAAA46B,EAAA,EAAA36B,IAAA,SAAAC,MAAA,WAiDehB,KAAKM,MAAMg1B,MAAM3mB,IAAI,SAACC,EAAMuH,GAAK,MAAM,CAAEpV,IAAK6N,EAAK0M,QAASta,MAAO4N,EAAKoN,eAAiB,IAAM7F,EAAO/H,KAAMQ,EAAKyK,YAAc,MAAQzK,EAAKkB,UAAY,IAAMlB,EAAKmB,YAAjL,IACU1C,EAASrN,KAAKH,MAAdwN,KACV,OACEjM,IAAAC,cAAA,WACED,IAAAC,cAACoU,IAAI,CAACtE,MAAO,CAAEE,MAAO,OAAQga,SAAU,SAMhCjqB,IAAAC,cAAC69B,GAAW,CAAC7xB,KAAMA,EAAMwI,QAAS7V,KAAKH,MAAMgW,QAASiqB,kBAAmB9/B,KAAK8/B,kBAAmBE,mBAAoBhgC,KAAKggC,mBACtHJ,yBAA0B5/B,KAAK4/B,yBAA0BJ,uBAAwBx/B,KAAKw/B,+BAIvG9D,EAlFU,CAASt6B,IAAMiB,WAqFb4xB,gBAAWyH,IC1BX4E,GAtEK,SAAA5iB,GAClB,SAAA4iB,EAAYzgC,GAAO,IAAAC,EAQoC,OARpCC,YAAAC,KAAAsgC,IACjBxgC,EAAAG,YAAAD,KAAAE,YAAAogC,GAAAngC,KAAAH,KAAMH,KAURia,iBAAmB,SAACvN,GAClB,OAAQA,EAAEnH,OAAOC,MACf,IAAK,WACHvF,EAAKW,SAAS,CAAE8/B,UAAWh0B,EAAEnH,OAAOpE,UAKzClB,EAEDw0B,cAAgB,SAAChtB,GAEf,MADW,4JACD4Z,KAAK5Z,IAChBxH,EAED0gC,aAAe,WACb,IAAMD,EAAYzgC,EAAKQ,MAAMigC,WACd,oCACJrf,KAAKqf,IACTzgC,EAAKw0B,cAAciM,IAM1BzgC,EAAK2gC,cAAcpzB,KAAO,CAAEkzB,UAAWA,GACvCzgC,EAAKD,MAAMirB,aAAayV,IANpBtU,MAAM,qEA7BVnsB,EAAK2gC,cAAgBC,GAAoB,WACzC5gC,EAAKQ,MAAQ,CACXigC,UAAWzgC,EAAK2gC,cAAcpzB,KAAKkzB,WAAa,IAGlDzgC,EAAK0gC,eACL1gC,EAAKyqB,eAAiBzqB,EAAKyqB,eAAerkB,KAAItF,wBAAAd,KAAOA,EA0DtD,OAnEiBe,YAAAy/B,EAAA5iB,GAUjB5c,YAAAw/B,EAAA,EAAAv/B,IAAA,iBAAAC,MAAA,SA+BcuL,GACM,KAAfA,EAAEme,WACJne,EAAEE,iBACFzM,KAAKwgC,kBAER,CAAAz/B,IAAA,SAAAC,MAAA,WAGC,OACEI,IAAAC,cAAA,OAAKc,UAAU,WACbf,IAAAC,cAAA,OAAKc,UAAU,8BAA8BgP,MAAO,CAAEulB,WAAY,QAChEt1B,IAAAC,cAAA,MAAIc,UAAU,mBAAkB,sBAGlCf,IAAAC,cAAA,OAAKc,UAAU,8BAA8BgP,MAAO,CAAEulB,WAAY,QAChEt1B,IAAAC,cAAA,OAAKc,UAAU,8BACbf,IAAAC,cAAA,SAAO6F,KAAK,OAAOyK,YAAY,mBAAmBqrB,WAAYh9B,KAAKuqB,eAAgB7Y,SAAU1R,KAAK8Z,iBAAkBzU,KAAK,WAAWrE,MAAOhB,KAAKM,MAAMigC,YAC3IvgC,KAAKH,MAAM8gC,UACpBv/B,IAAAC,cAAA,UAAQc,UAAU,oBAAmBf,IAAAC,cAAA,OAAKc,UAAU,gBAAef,IAAAC,cAAA,YAAWD,IAAAC,cAAA,YAAWD,IAAAC,cAAA,YAAWD,IAAAC,cAAA,cADnED,IAAAC,cAACM,IAAM,CAACQ,UAAU,oBAAoBgP,MAAO,CAAEyvB,gBAAiB,MAAOC,gBAAiB,WAAah/B,QAAS7B,KAAKwgC,cAAe,iBAS9KF,EAnEiB,CAASl/B,IAAMiB,WCsVpB40B,GAjVA,SAAAvZ,GACb,SAAAuZ,EAAYp3B,GAAO,IAAAC,EAiCU,OAjCVC,YAAAC,KAAAi3B,IACjBn3B,EAAAG,YAAAD,KAAAE,YAAA+2B,GAAA92B,KAAAH,KAAMH,KAyER44B,oBAAsB,SAAClsB,EAAGvC,GACxB,IAAI6tB,EAAU,CAAEd,KAAM,KAAM/1B,MAAO,IACnB,KAAZgJ,EAAEhJ,QACJ62B,EAAUhB,GAAe1jB,KAAK,SAAAhF,GAAC,OAAIA,EAAEpN,MAAQiJ,EAAEhJ,SAEjDlB,EAAKW,SAAS,SAACkT,GAAS,MAAM,CAC5BtG,KAAInI,YAAA,GACCyO,EAAUtG,KAAI,CACjBiqB,UAAWO,EAAQd,KACnBM,YAAaQ,EAAQ72B,YAG1BlB,EAoCDozB,iBAAmB,SAACC,GAClB,IAAI7qB,EAAcZ,EAAsByrB,EAAQrzB,EAAKQ,MAAMsH,iBAE3D9H,EAAKW,SAAS,SAACkT,GAAS,MACtB,CACEtG,KAAInI,YAAA,GAAOyO,EAAUtG,KAAI,CAAE1F,SAAUwrB,IACrC7qB,kBAELxI,EAsBDghC,wBAA0B,SAACv0B,GACzBzM,EAAKW,SAAS,SAACkT,GAAS,MACtB,CAAEtG,KAAInI,YAAA,GAAOyO,EAAUtG,KAAI,CAAEgqB,YAAa9qB,EAAEnH,OAAOpE,YACtDlB,EAEDihC,oBAAsB,SAACx0B,EAAGvC,GACxB+E,QAAQ4Z,IAAI3e,GACZlK,EAAKW,SAAS,SAACkT,GAAS,MACtB,CAAEtG,KAAInI,YAAA,GAAOyO,EAAUtG,KAAI,CAAE6pB,MAAOltB,EAAEhJ,YA9JxClB,EAAKQ,MAAQ,CACXk3B,UAAW,GACXH,YAAa,KACb/uB,YAAa,GACb+E,KAAM,CACJyC,UAAW,GACXC,SAAU,GACVqnB,QAAS,GACT9vB,MAAO,GACP4vB,MAAO,GACPG,YAAa,GACbe,UAAW,GACXC,WAAY,GACZ1wB,SAAU,GACV0rB,gBAAiB,GACjB2N,gBAAgB,EAChBC,WAAW,EACXp8B,aAAc,KACdE,SAAS,IAGbjF,EAAKy3B,yBACLz3B,EAAKohC,sBACLphC,EAAKqhC,sBAAwBrhC,EAAKqhC,sBAAsBj7B,KAAItF,wBAAAd,KAC5DA,EAAKshC,qBAAuBthC,EAAKshC,qBAAqBl7B,KAAItF,wBAAAd,KAC1DA,EAAKuhC,kBAAoBvhC,EAAKuhC,kBAAkBn7B,KAAItF,wBAAAd,KACpDA,EAAKwhC,qBAAuBxhC,EAAKwhC,qBAAqBp7B,KAAItF,wBAAAd,KAC1DA,EAAK6zB,4BAA8B7zB,EAAK6zB,4BAA4BztB,KAAItF,wBAAAd,KACxEA,EAAKyhC,2BAA6BzhC,EAAKyhC,2BAA2Br7B,KAAItF,wBAAAd,KACtEA,EAAK0hC,oBAAsB1hC,EAAK0hC,oBAAoBt7B,KAAItF,wBAAAd,KACxDA,EAAK2hC,mBAAqB3hC,EAAK2hC,mBAAmBv7B,KAAItF,wBAAAd,KACtDA,EAAK64B,sBAAsB74B,EA4S5B,OA9UYe,YAAAo2B,EAAAvZ,GAmCZ5c,YAAAm2B,EAAA,EAAAl2B,IAAA,sBAAAC,MAAA,WAIChB,KAAKH,MAAMgH,YAAY,wBACvB,IAAMlG,EAAOX,KACbotB,IAAM3e,IAAG,qCACNzB,KAAK,SAACC,GACLtM,EAAKF,SAAS,CAAEmH,gBAAiBqF,EAASI,OAC1C1M,EAAKuyB,iBAAiB,MAEvB/lB,MAAM,SAACZ,GAAQ5L,EAAKF,SAAS,CAAEoE,aAAc0H,EAAEU,SAASI,SACxDL,KAAK,WACJrM,EAAKd,MAAMiH,YAAY,4BAE5B,CAAA/F,IAAA,sBAAAC,MAAA,WAGC,IAAML,EAAOX,KACb,OAAOotB,IAAM3e,IAAI,YAAY,CAAC9B,OAAO,CAAC2N,QAAQlE,KAAKC,YAChDrJ,KAAK,SAAUlK,GACd,IAAMg1B,EAAqBn3B,EAAKL,MAAMk3B,UAAUrkB,KAAK,SAAAhF,GAAC,OAAIA,EAAEpN,MAAQ+B,EAAgBuK,KAAKgqB,cACzF12B,EAAKF,SAAS,SAACkT,GAAS,MAAM,CAC5B+R,UAAW5iB,EAAgBuK,KAAKqY,UAChCrY,KAAInI,YAAA,GACCyO,EAAUtG,KAAI,CACjByC,UAAWhN,EAAgBuK,KAAKyC,UAChCsnB,QAASt0B,EAAgBuK,KAAK+pB,QAC9BrnB,SAAUjN,EAAgBuK,KAAK0C,SAC/BzI,MAAOxE,EAAgBuK,KAAK/F,MAC5B8wB,UAAWt1B,EAAgBuK,KAAK+qB,UAChClB,MAAOp0B,EAAgBuK,KAAK6pB,MAC5BG,YAAav0B,EAAgBuK,KAAKgqB,YAClCC,eAAkC5yB,IAAvBozB,EAAmCA,EAAmBf,KAAO,GACxEsB,WAAYv1B,EAAgBuK,KAAKgrB,oBAI1C,CAAAt3B,IAAA,yBAAAC,MAAA,WAiBC,IAAML,EAAOX,KACb,OAAOotB,IAAM3e,IAAI,uBACdzB,KAAK,SAAUwqB,GACd72B,EAAKF,SAAS,CACZ+2B,UAAWX,GAAe3oB,OAAO,SAAAC,GAAC,OAAIqpB,EAAUnqB,KAAKyB,SAASX,EAAEpN,aAIvE,CAAAA,IAAA,sBAAAC,MAAA,SACmBuL,GAClBA,EAAEqpB,UACF51B,KAAKS,SAAS,SAACkT,GAAS,MACtB,CAAEtG,KAAInI,YAAA,GAAOyO,EAAUtG,KAAI,CAAE+pB,QAAS7qB,EAAEnH,OAAOpE,aAClD,CAAAD,IAAA,8BAAAC,MAAA,SAC2BuL,GAC1BA,EAAEqpB,UACF51B,KAAKS,SAAS,SAACkT,GAAS,MACtB,CAAEtG,KAAInI,YAAA,GAAOyO,EAAUtG,KAAI,CAAEgmB,gBAAiB9mB,EAAEnH,OAAOpE,aAC1D,CAAAD,IAAA,6BAAAC,MAAA,SAC0BuL,GAAG,IAAAqD,EAAA5P,KAC5BuM,EAAEqpB,UACF51B,KAAKS,SAAS,SAACkT,GAAS,MACtB,CACEtG,KAAInI,YAAA,GACCyO,EAAUtG,KAAI,CACjB2zB,gBAAiBpxB,EAAKtP,MAAM+M,KAAK2zB,eACjCr5B,SAAU,GACV0rB,gBAAiB,KAEnB/qB,YAAaZ,EAAsB,GAAIkI,EAAKtP,MAAMsH,sBAEvD,CAAA7G,IAAA,uBAAAC,MAAA,SAYoBuL,GACnB,IAAI4mB,EAAS5mB,EAAEnH,OAAOpE,MACtBhB,KAAKkzB,iBAAiBC,KACvB,CAAApyB,IAAA,wBAAAC,MAAA,SACqBuL,GACpBA,EAAEqpB,UACF51B,KAAKS,SAAS,SAACkT,GAAS,MACtB,CAAEtG,KAAInI,YAAA,GAAOyO,EAAUtG,KAAI,CAAEyC,UAAWvD,EAAEnH,OAAOpE,aACpD,CAAAD,IAAA,uBAAAC,MAAA,SACoBuL,GACnBA,EAAEqpB,UACF51B,KAAKS,SAAS,SAACkT,GAAS,MACtB,CAAEtG,KAAInI,YAAA,GAAOyO,EAAUtG,KAAI,CAAE0C,SAAUxD,EAAEnH,OAAOpE,aACnD,CAAAD,IAAA,oBAAAC,MAAA,SACiBuL,GAChBA,EAAEqpB,UACF51B,KAAKS,SAAS,SAACkT,GAAS,MACtB,CAAEtG,KAAInI,YAAA,GAAOyO,EAAUtG,KAAI,CAAE/F,MAAOiF,EAAEnH,OAAOpE,aAChD,CAAAD,IAAA,qBAAAC,MAAA,SAakBuL,GAEjB,GADAA,EAAEE,kBACqC,IAAnCzM,KAAKM,MAAM+M,KAAK2zB,eAAyB,CAC3C,IAAIn8B,EAAe,KAQnB,GANI7E,KAAKM,MAAM+M,KAAKgmB,kBAAoBrzB,KAAKM,MAAM+M,KAAK1F,WACtD9C,EAAe,sCAEZ7E,KAAKM,MAAM+M,KAAK1F,UAAyC,KAA7B3H,KAAKM,MAAM+M,KAAK1F,WAC/C9C,EAAe,yCAEbA,GAAiC,KAAjBA,EASlB,YARA7E,KAAKS,SAAS,SAACkT,GAAS,MAAM,CAC5BtG,KAAInI,YAAA,GACCyO,EAAUtG,KAAI,CACjBxI,aAAcA,EACdo8B,WAAW,EACXl8B,SAAS,OAMjB,IAAMpE,EAAOX,KAEb,OADAW,EAAKd,MAAMgH,YAAY,qBAChBumB,IAAMrgB,IAAI,YACf,CACE20B,UAAW1hC,KAAKM,MAAM+M,KAAKyC,UAC3BsnB,QAASp3B,KAAKM,MAAM+M,KAAK+pB,QACzBuK,SAAU3hC,KAAKM,MAAM+M,KAAK0C,SAC1B6xB,MAAO5hC,KAAKM,MAAM+M,KAAK/F,MACvB4vB,MAAOl3B,KAAKM,MAAM+M,KAAK6pB,MACvBG,YAAar3B,KAAKM,MAAM+M,KAAKgqB,YAC7BwK,SAAU7hC,KAAKM,MAAM+M,KAAK2zB,eAAiBhhC,KAAKM,MAAM+M,KAAK1F,SAAW,KAExEqF,KAAK,SAACC,GAENtM,EAAKd,MAAMq6B,eACXv5B,EAAKugC,sBACLvgC,EAAKF,SAAS,SAACkT,GAAS,MAAM,CAC5BtG,KAAInI,YAAA,GACCyO,EAAUtG,KAAI,CACjB4zB,WAAW,EACXp8B,aAAc,GACdm8B,eAAgB,GAChBr5B,SAAU,GACV0rB,gBAAiB,GACjBtuB,SAAS,OAGbpE,EAAKd,MAAMiH,YAAY,uBAEtBqG,MAAM,SAACZ,GACN5L,EAAKF,SAAS,SAACkT,GAAS,MAAM,CAC5BtG,KAAInI,YAAA,GACCyO,EAAUtG,KAAI,CACjBxI,aAAc0H,EAAEU,SAASI,KACzB4zB,WAAW,EACXl8B,SAAS,OAGbpE,EAAKd,MAAMiH,YAAY,yBAE5B,CAAA/F,IAAA,SAAAC,MAAA,WAGC,IAAI8gC,EAAgB1gC,IAAAC,cAAA,SAClBc,UAAU,cACV+E,KAAK,WACL8sB,aAAa,MACbriB,YAAY,WACZ3Q,MAAOhB,KAAKM,MAAM+M,KAAK1F,SACvB+J,SAAU1R,KAAKshC,qBACf9vB,UAAQ,IAEV,OACEpQ,IAAAC,cAAA,WACED,IAAAC,cAAA,OAAKc,UAAU,QACbf,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,yBACzBnC,KAAKM,MAAM+M,KAAK4zB,UAAa7/B,IAAAC,cAAA,OAAKc,UAAU,uBAC3CnC,KAAKM,MAAM+M,KAAKxI,cACV,GAEP7E,KAAKM,MAAM+M,KAAKtI,QAAW3D,IAAAC,cAAA,OAAKc,UAAU,uBAAsB,8CAEzD,GACTf,IAAAC,cAAA,QAAMc,UAAU,OAAOmP,SAAUtR,KAAKyhC,oBACpCrgC,IAAAC,cAAA,OAAKc,UAAU,eACbf,IAAAC,cAAA,SAAOc,UAAU,sBAAsBuU,QAAQ,SAAQ,kBACvDtV,IAAAC,cAAA,SACEc,UAAU,cACV+E,KAAK,OACLyK,YAAY,aACZ3Q,MAAOhB,KAAKM,MAAM+M,KAAKyC,UACvB4B,SAAU1R,KAAKmhC,sBACf3vB,UAAQ,IAEVpQ,IAAAC,cAAA,SACEc,UAAU,cACV+E,KAAK,OACLyK,YAAY,YACZ3Q,MAAOhB,KAAKM,MAAM+M,KAAK0C,SACvB2B,SAAU1R,KAAKohC,qBACf5vB,UAAQ,IAEVpQ,IAAAC,cAAA,SACEc,UAAU,cACV+E,KAAK,QACLyK,YAAY,gBACZ3Q,MAAOhB,KAAKM,MAAM+M,KAAK/F,MACvBoK,SAAU1R,KAAKqhC,kBACf7vB,UAAQ,IAEVpQ,IAAAC,cAAA,SACEc,UAAU,cACVwP,YAAY,eACZ3Q,MAAOhB,KAAKM,MAAM+M,KAAK+pB,QACvB1lB,SAAU1R,KAAKwhC,sBAGjBpgC,IAAAC,cAAC4Z,KAAQ,CAACtJ,YAAY,sBAAsBunB,WAAS,EAAChT,WAAS,EAC7DxU,SAAU1R,KAAKy4B,oBAAqB5e,OAAK,EACzC1X,UAAU,aACVnB,MAAOhB,KAAKM,MAAM+M,KAAKgqB,YACvBppB,QAASjO,KAAKM,MAAMk3B,YACW,KAAhCx3B,KAAKM,MAAM+M,KAAKgqB,aAAsD,OAAhCr3B,KAAKM,MAAM+M,KAAKgqB,YAAuB,KAAOj2B,IAAAC,cAAA,WACnFD,IAAAC,cAACkQ,KAAK,CAACE,MAAO,IAAMzR,KAAKM,MAAM+M,KAAKiqB,UAClC3lB,YAAY,QAAQH,SAA0C,OAAhCxR,KAAKM,MAAM+M,KAAKgqB,YAC9Cr2B,MAAOhB,KAAKM,MAAM+M,KAAK6pB,MAAOxlB,SAAU1R,KAAK+gC,uBAEjD3/B,IAAAC,cAAA,MAAIc,UAAU,kCAAiC,KAC/Cf,IAAAC,cAAA,SAAOc,UAAU,QACff,IAAAC,cAAA,SACE8P,MAAO,CAAEoK,QAAS,gBAClBrU,KAAK,WACL7B,KAAK,iBACL+M,QAASpS,KAAKM,MAAM+M,KAAK2zB,eACzBtvB,SAAU1R,KAAKuhC,6BACf,qBAEHvhC,KAAKM,MAAM+M,KAAK2zB,eAAiB5/B,IAAAC,cAAA,WAChCD,IAAAC,cAACkF,IAAK,CACJC,QAASs7B,EACTvgC,KAAMvB,KAAKM,MAAM+M,KAAK2zB,eACtBj/B,QAAoC,OAA3B/B,KAAKM,MAAMgI,YAClBtI,KAAKM,MAAMgI,YAAYqG,IAAI,SAACR,EAAGshB,GAAC,OAAMruB,IAAAC,cAAA,OAAKc,UAAU,aAAapB,IAAK0uB,GACpEthB,EAAE3F,OAASpH,IAAAC,cAAA,KAAGc,UAAU,2BAAgCf,IAAAC,cAAA,KAAGc,UAAU,0BACrEgM,EAAE5O,QAAQ,IAAC6B,IAAAC,cAAA,cAAiB,KACjC+V,OAAO,kBACP3Q,SAAS,eACTmK,KAAK,UAEmD,IAAzD5Q,KAAKM,MAAMgI,YAAY4F,OAAO,SAAAC,GAAC,OAAKA,EAAE3F,SAAQvE,OAC7C7C,IAAAC,cAAA,SACEc,UAAU,cACV6O,UAAWhR,KAAKM,MAAM+M,KAAK2zB,eAC3B95B,KAAK,WACL8sB,aAAa,MACbriB,YAAY,mBACZ3Q,MAAOhB,KAAKM,MAAM+M,KAAKgmB,gBACvB3hB,SAAU1R,KAAK2zB,4BACfniB,UAAQ,IACL,MAAc,KACvBpQ,IAAAC,cAAA,SAAOc,UAAU,4BAA4B+E,KAAK,SAASlG,MAAM,oBAO9Ei2B,EA9UY,CAAS71B,IAAMiB,WC8Jfg3B,GApKM,SAAA3b,GACnB,SAAA2b,EAAYx5B,GAAO,IAAAC,EAaU,OAbVC,YAAAC,KAAAq5B,IACjBv5B,EAAAG,YAAAD,KAAAE,YAAAm5B,GAAAl5B,KAAAH,KAAMH,KAiBR84B,oBAAsB,WACpB,IAAMh4B,EAAIC,wBAAAd,IACVstB,IAAM3e,IAAI,qCACPzB,KAAK,SAAUC,GACdtM,EAAKF,SAAS,CACZ84B,SAAUtsB,EAASI,KAAKxF,aACxBk6B,WAAY90B,EAASI,KAAKvF,eAC1Bk6B,gBAAiB/0B,EAASI,KAAKtF,aAC/BC,iBAAkBiF,EAASI,KAAKrF,iBAChCC,MAAOgF,EAASI,KAAKpF,MACrBqxB,gBAAiBrsB,EAASI,KAAKisB,qBAGtCx5B,EACDmiC,oBAAsB,SAAC11B,EAACjJ,GAAsB,IAAlB+B,EAAI/B,EAAJ+B,KAAMrE,EAAKsC,EAALtC,MAC5Bu4B,EAAW,EACf,OAAQl0B,GACN,IAAK,kBACHk0B,EAAWxvB,SAAS/I,GAAS+I,SAASjK,EAAKQ,MAAMyhC,YACjD,MACF,IAAK,aACHxI,EAAWxvB,SAASjK,EAAKQ,MAAM0hC,iBAAmBj4B,SAAS/I,GAK3Du4B,GAAU,GACZz5B,EAAKW,SAAS,CACZoH,aAAc0xB,EACdA,SAAUz5B,EAAKQ,MAAMi5B,SAAWA,EAAWA,EAAYz5B,EAAKQ,MAAMi5B,WAEtEz5B,EAAKW,SAAQuF,YAAA,GAAIX,EAAOrE,KACzBlB,EAEDo4B,gBAAkB,WAChB,IAAMv3B,EAAIC,wBAAAd,IACVA,EAAKW,SAAS,CAAEoE,aAAc,GAAIG,eAAgB,KAClDrE,EAAKd,MAAMgH,YAAY,0BACvBumB,IAAM9f,KAAK,wBAAyB,CAClCzF,aAAc/H,EAAKQ,MAAMi5B,SACzBzxB,eAAgBhI,EAAKQ,MAAMyhC,WAC3Bh6B,aAAcjI,EAAKQ,MAAM0hC,gBACzBh6B,iBAAkBlI,EAAKQ,MAAM0H,iBAC7BC,MAAOnI,EAAKQ,MAAM2H,MAClBqxB,gBAAiBx5B,EAAKQ,MAAMg5B,kBAE3BtsB,KAAK,WACFrM,EAAKF,SAAS,CAAEuE,eAAgB,gDAEnCmI,MAAM,SAAUvI,GACf,IAAIC,EAAeD,EAAMqI,SAASI,KAClC1M,EAAKF,SAAS,CAAEoE,mBACfoQ,QAAQ,WACTtU,EAAKd,MAAMiH,YAAY,6BArE3BhH,EAAKQ,MAAQ,CACXi5B,SAAU,EACVwI,WAAY,EACZC,gBAAiB,EACjBn6B,aAAa,EACbG,iBAAkB,EAClBnD,aAAc,GACdG,eAAgB,GAChBs0B,iBAAiB,EACjBrxB,OAAO,GAETnI,EAAK64B,sBAAsB74B,EAmJ5B,OAjKkBe,YAAAw4B,EAAA3b,GAelB5c,YAAAu4B,EAAA,EAAAt4B,IAAA,oBAAAC,MAAA,cAEA,CAAAD,IAAA,SAAAC,MAAA,WA2DQ,IAAA4O,EAAA5P,KAoFP,OAlFEoB,IAAAC,cAAA,OAAKc,UAAU,QACiB,KAA5BnC,KAAKM,MAAMuE,aAAuBzD,IAAAC,cAAA,OAAKc,UAAU,uBAAsBf,IAAAC,cAAA,OAAKc,UAAU,UAAS,SAAWf,IAAAC,cAAA,SAAIrB,KAAKM,MAAMuE,eAA0B,GACrH,KAA9B7E,KAAKM,MAAM0E,eAAyB5D,IAAAC,cAAA,OAAKc,UAAU,uBAAsBf,IAAAC,cAAA,OAAKc,UAAU,UAAS,SAAWf,IAAAC,cAAA,SAAIrB,KAAKM,MAAM0E,iBAA4B,GACzJ5D,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,yBAC3Bf,IAAAC,cAACsP,IAAI,CAACW,SAAUtR,KAAKk4B,iBACnB92B,IAAAC,cAACoU,IAAI,KACHrU,IAAAC,cAACoU,IAAKE,IAAG,MAETvU,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAACsP,IAAKY,MAAK,CACTE,MAAK,oBAAAnN,OAAsBtE,KAAKM,MAAMi5B,UACtCrnB,IAAKlS,KAAKM,MAAMuH,aAChB2xB,IAAK,GACLn0B,KAAK,WACLqM,SAAU1R,KAAKiiC,oBACfxI,KAAM,EACNvyB,KAAK,QACLlG,MAAOhB,KAAKM,MAAMi5B,YAGtBn4B,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAACsP,IAAKY,MAAK,CACTE,MAAK,8BAAAnN,OAAgCtE,KAAKM,MAAMyhC,YAChD7vB,IAAK,EACLsnB,IAAK,GACLn0B,KAAK,aACLqM,SAAU1R,KAAKiiC,oBACfxI,KAAM,EACNvyB,KAAK,QACLlG,MAAOhB,KAAKM,MAAMyhC,cAGtB3gC,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAACsP,IAAKY,MAAK,CACTE,MAAK,sCAAAnN,OAAwCtE,KAAKM,MAAM0hC,iBACxD9vB,IAAK,EACLsnB,IAAK,GACLn0B,KAAK,kBACLqM,SAAU1R,KAAKiiC,oBACfxI,KAAM,EACNvyB,KAAK,QACLlG,MAAOhB,KAAKM,MAAM0hC,mBAGtB5gC,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAAA,MAAIc,UAAU,sBAAqB,wBAErCf,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAACsP,IAAKY,MAAK,CACTE,MAAK,wBAAAnN,OAA0BtE,KAAKM,MAAM0H,iBAAgB,WAC1DkK,IAAK,EACLsnB,IAAK,GACLn0B,KAAK,mBACLqM,SAAU1R,KAAKiiC,oBACfxI,KAAM,EACNvyB,KAAK,QACLlG,MAAOhB,KAAKM,MAAM0H,oBAGtB5G,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAAA,MAAIc,UAAU,sBAAqB,oBACnCf,IAAAC,cAAA,MAAIc,UAAU,sBAAqB,sCAErCf,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAACM,IAAM,CAACE,QAAS,WAAF,OAAQ+N,EAAKnP,SAAS,CAAE64B,iBAAkB1pB,EAAKtP,MAAMg5B,mBAAoBpyB,KAAK,SAC3FpF,MAAO9B,KAAKM,MAAMg5B,gBAAkB,UAAY,QAASt5B,KAAKM,MAAMg5B,gBAAkB,UAAY,aAEtGl4B,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAAA,MAAIc,UAAU,sBAAqB,8BAErCf,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAACM,IAAM,CAACE,QAAS,WAAF,OAAQ+N,EAAKnP,SAAS,CAAEwH,OAAQ2H,EAAKtP,MAAM2H,SAAUf,KAAK,SACvEpF,MAAO9B,KAAKM,MAAM2H,MAAQ,OAAS,QAASjI,KAAKM,MAAM2H,MAAQ,UAAY,aAE/E7G,IAAAC,cAACoU,IAAKE,IAAG,KACPvU,IAAAC,cAACM,IAAM,CAACG,MAAM,UAAUK,UAAU,SAAS,mBAQxDk3B,EAjKkB,CAASj4B,IAAMiB,qBCI9B6/B,GAAQ,SAAAxkB,GACZ,SAAAwkB,EAAYriC,GAAO,IAAAC,EAM8B,OAN9BC,YAAAC,KAAAkiC,IACjBpiC,EAAAG,YAAAD,KAAAE,YAAAgiC,GAAA/hC,KAAAH,KAAMH,KACDS,MAAQ,CAAE+M,KAAMxN,EAAMwN,KAAM6nB,iBAAkB,IACnDp1B,EAAKu1B,sBACLv1B,EAAKq1B,eAAiBr1B,EAAKq1B,eAAejvB,KAAItF,wBAAAd,KAC9CA,EAAKu0B,8BAAgCv0B,EAAKu0B,8BAA8BnuB,KAAItF,wBAAAd,KAC5EA,EAAKs1B,YAAct1B,EAAKs1B,YAAYlvB,KAAItF,wBAAAd,KAAOA,EAsIhD,OA7IWe,YAAAqhC,EAAAxkB,GAQX5c,YAAAohC,EAAA,EAAAnhC,IAAA,cAAAC,MAAA,WAGC,OAAOosB,IAAMrgB,IAAI,aAAc/M,KAAKM,MAAM40B,kBACvCloB,KAAK,SAAUC,GACVA,IACFjN,KAAKq1B,sBACLr1B,KAAKS,SAAS,CAAEy0B,iBAAkB,QAGrC/nB,MAAM,SAAUZ,GACfwC,QAAQnK,MAAM5E,KAAKH,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,gBAErD,CAAAjO,IAAA,iBAAAC,MAAA,SAEcD,EAAKC,MAEnB,CAAAD,IAAA,gCAAAC,MAAA,SAE6BuL,GAC5B,IAAM+oB,EAAQt1B,KAAKM,MAAM+M,KACrBkoB,EAAoBv1B,KAAKM,MAAM40B,iBAC/BM,EAASjpB,EAAEnH,OAAO0R,GAClBye,EAAkBE,UAAU,SAAAC,GAAC,OAAIA,IAAMF,KAAW,EACpDD,EAAoBA,EAAkBrnB,OAAO,SAAAwnB,GAAC,OAAIA,IAAMF,IAIxDD,EAAkBhtB,KAAKgE,EAAEnH,OAAO0R,IAElC,IAAI6e,EAAYL,EAAMG,UAAU,SAAAC,GAAC,OAAIA,EAAE5e,GAAG9H,aAAewmB,IACzDF,EAAMK,GAAWrlB,eAAiBglB,EAAMK,GAAWrlB,cACnDtQ,KAAKS,SAAS,CAAE4M,KAAMioB,EAAOJ,iBAAkBK,MAChD,CAAAx0B,IAAA,2BAAAC,MAAA,SAGwBuL,GACvBA,EAAEqpB,UACF,IAAMjW,EAAYpT,EAAEnH,OAAO0R,GACrBtL,EAAYe,EAAEnH,OAAO2jB,aAAa,aAClCvS,EAAYjK,EAAEnH,OAAO2jB,aAAa,aAClC8M,EAAa,gBAAkBlW,EAAY,iBACjD3f,KAAKS,SAAS,CAAEq1B,QAAQ,IACxB,IAAMn1B,EAAOX,KACb,OAAOotB,IAAM3e,IAAIonB,GACd7oB,KAAK,SAAUC,GACVA,IACFtM,EAAKd,MAAMk2B,YAAY9oB,EAASI,MAChC1M,EAAKd,MAAMm2B,aAAarW,GACxBhf,EAAKd,MAAMo2B,aAAazqB,GACxB7K,EAAKd,MAAMq2B,aAAa1f,GACxB7V,EAAKd,MAAMs2B,WAAW,gBACtBx1B,EAAKd,MAAM2H,MAAMmF,OAAOypB,WAAa,eACrCz1B,EAAKd,MAAMgO,QAAQtF,KAAK,sBAI3B4E,MAAM,SAAUZ,GACfwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,gBAE/B,CAAAjO,IAAA,sBAAAC,MAAA,WAGC,OAAOosB,IAAM3e,IAAI,cACdzB,KAAK,SAAUC,GACVA,GACFjN,KAAKS,SAAS,SAACkT,GAAS,OAAAzO,YAAA,GACnByO,EAAS,CACZtG,KAAMJ,EAASI,WAKpBF,MAAM,SAAUZ,GACfwC,QAAQnK,MAAM5E,KAAKH,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,gBAErD,CAAAjO,IAAA,SAAAC,MAAA,WAGQ,IAAA4O,EAAA5P,KACD0V,EAAU,CAAC,CACfysB,KAAM,WAAF,OACF/gC,IAAAC,cAAA,WAIED,IAAAC,cAAA,OAAKc,UAAU,aAAawY,IAAI,eAAeE,IAAI,mBAGvDwQ,SAAU,GACV+W,YAAY,EACZhS,UAAU,GACT,CACD+R,KAAM,WAAF,OACF/gC,IAAAC,cAAA,aAEFgqB,SAAU,GACV+W,YAAY,EACZhS,UAAU,GACT,CACD+R,KAAM,SAACE,GAAQ,OACbjhC,IAAAC,cAAA,WACGghC,EAASC,SAASxyB,UAAY,IAAMuyB,EAASC,SAASvyB,WAG3DvO,OAAQ,QACR6pB,SAAU,IACV+W,YAAY,EACZhS,UAAU,GACT,CACD+R,KAAM,SAACE,GAAQ,OACbjhC,IAAAC,cAAA,UAAQ6F,KAAK,SAAS/E,WAAYkgC,EAASC,SAAShyB,cAAgB,OAAS,QAAU,aACrFwG,GAAIurB,EAASC,SAASxrB,GAAIjV,QAAS+N,EAAKykB,+BACzC,mBAEHhJ,SAAU,IACV+W,YAAY,EACZhS,UAAU,IAGZ,OACEhvB,IAAAC,cAAA,WACED,IAAAC,cAAA,UAAQQ,QAAS7B,KAAKo1B,YAAapkB,SAAiD,IAAvChR,KAAKM,MAAM40B,iBAAiBjxB,OACvE9B,WAAmD,IAAvCnC,KAAKM,MAAM40B,iBAAiBjxB,OAAe,OAAS,QAAU,0BAA0B,QACtG7C,IAAAC,cAACkhC,KAAU,CACT7sB,QAASA,EACTrI,KAAMrN,KAAKM,MAAM+M,KACjB+0B,YAAU,EACVI,gBAAiB,EACjBC,WAAY,qCAInBP,EA7IW,CAAS9gC,IAAMiB,WAgJd4xB,gBAAWiO,ICtIpBQ,GAAgB,SAAAhlB,GAClB,SAAAglB,EAAY7iC,GAAO,IAAAC,EAwDkC,OAxDlCC,YAAAC,KAAA0iC,IACf5iC,EAAAG,YAAAD,KAAAE,YAAAwiC,GAAAviC,KAAAH,KAAMH,KA0DVymB,iBAAmB,SAAC/mB,GAChBO,EAAKW,SAAS,CAAEkiC,MAAO,CAAEphC,MAAM,EAAMsD,aAActF,EAAS2H,KAAM,QAASlC,eAAgB,OAC9FlF,EAED8iC,mBAAqB,SAACrjC,GAClBO,EAAKW,SAAS,CAAEkiC,MAAO,CAAEphC,MAAM,EAAMyD,eAAgBzF,EAAS2H,KAAM,UAAWrC,aAAc,OAChG/E,EAED+iC,kBAAoB,WAChB/iC,EAAKW,SAAS,CAAEkiC,MAAO,CAAEphC,MAAM,MAElCzB,EAEDgjC,mBAAqB,WACjBhjC,EAAKW,SAAS,CAAEsiC,SAAU,KAAMhV,UAAU,KAC7CjuB,EASDkjC,yBAA2B,SAACD,GACxBjjC,EAAKW,SAAS,CAAEsiC,WAAUhV,SAAsB,MAAZgV,KACvCjjC,EA6EDmjC,YAAc,SAAUC,GACpBljC,KAAKS,SAAS,CAAE0iC,gBAAiBD,KACpCpjC,EACDsjC,aAAe,SAAU/1B,GACrBrN,KAAKS,SAAS,CAAEkf,UAAWtS,KAC9BvN,EACDujC,aAAe,SAACh2B,GACZvN,EAAKW,SAAS,CAAE+V,UAAWnJ,KAC9BvN,EACDwjC,aAAe,SAACj2B,GACZvN,EAAKW,SAAS,CAAE+K,UAAW6B,KAC9BvN,EAEDyjC,gBAAkB,SAACl2B,GACfvN,EAAKW,SAAS,SAACkT,GACX,MAAO,CAAE6C,WAAY7C,EAAU6C,UAAYnJ,MAElDvN,EAuBDs5B,oBAAsB,WAClBt5B,EAAKD,MAAMs2B,WAAW,mBACtBr2B,EAAKD,MAAM2H,MAAMmF,OAAOypB,WAAa,mBACxCt2B,EAED0jC,4BAA8B,SAACC,GAC3B,IAAM9iC,EAAIC,wBAAAd,IACVa,EAAKd,MAAMgH,YAAY,eACvB/G,EAAKW,SAAS,CAAEijC,QAAQ,IACxBtW,IAAM9f,KAAI,gBAAAhJ,OAAiB3D,EAAKL,MAAMqf,UAAS,kBAAkB8jB,GAC5Dz2B,KAAK,SAACC,GAEH,IAAI02B,EAAkBhjC,EAAKL,MAAM6iC,gBACjCQ,EAAgBp7B,KAAK0E,EAASI,MAC9B1M,EAAKF,SAAS,CAAEkjC,gBAAiBA,EAAiBC,SAAUjjC,EAAKL,MAAMsjC,UACnE32B,IACAtM,EAAKiiC,mBAAmB,mDACxBjiC,EAAK4iC,gBAAgB,GACrB5iC,EAAKF,SAAS,CAAEmjC,SAAUjjC,EAAKL,MAAMsjC,aAE1Cz2B,MAAM,SAACZ,GACN5L,EAAK4iC,iBAAiB,GACtBx0B,QAAQ4Z,IAAIpc,GACZwC,QAAQnK,MAAMjE,EAAKd,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,YAC5CzC,EAAEU,UAAgC,KAApBV,EAAEU,SAASI,KACzB1M,EAAK2lB,iBAAgB,UAAAhiB,OAAWm/B,EAAapqB,YAAW,QAAA/U,OAAOiI,EAAEU,SAASI,OAE1E1M,EAAK2lB,iBAAgB,UAAAhiB,OAAWm/B,EAAapqB,YAAW,2GAC7DrM,KAAK,WACJrM,EAAKF,SAAS,CAAEijC,QAAQ,IACxB/iC,EAAKd,MAAMiH,YAAY,eACvBnG,EAAKkjC,oBAAoBljC,EAAKL,MAAMqf,cAE/C7f,EAEDgkC,kBAAoB,SAACC,GACjBjkC,EAAKW,SAAS,CAAEspB,eAAgBga,KACnCjkC,EAED6hB,2BAA6B,WACzB,IAAMhhB,EAAIC,wBAAAd,IACmB,OAAzBa,EAAKL,MAAMqf,YACXiC,OAAO5J,SAAS7C,KAAI,oBAAA7Q,OAAuB3D,EAAKL,MAAMqf,aAC7D7f,EAEDkkC,yBAA2B,SAAU3uB,EAAOhI,GACxC,IAAM1M,EAAOX,KACbA,KAAKS,SAAS,CAAEk0B,WAAYtnB,EAAKujB,WAAYqT,oBAAoB,GAAS,WACvC,GAA3BtjC,EAAKL,MAAM6+B,cAA6C,IAAxBx+B,EAAKL,MAAM++B,WAA6C,IAA1B1+B,EAAKL,MAAM8+B,aAEzEz+B,EAAKd,MAAMgH,YAAY,mBACvBlG,EAAKujC,sBAELvjC,EAAKwjC,oBAAoBxjC,EAAKL,MAAM8jC,gBAAiB/2B,EAAKujB,WAAYjwB,EAAKL,MAAMs0B,aAK5F90B,EAEDqkC,oBAAsB,SAAUnjC,EAAO2zB,EAAYC,GAC/C,GAAK5zB,EAAL,CACAhB,KAAKS,SAAS,CAAEkgC,WAAW,EAAMyD,gBAAiBpjC,IAClDhB,KAAKH,MAAMgH,YAAY,mBACvB,IAAMlG,EAAOX,KACP61B,EAAe70B,IAAS,QAAQkgB,KAAKlgB,KAAWL,EAAKd,MAAMwN,KAAKwI,QAA2B,4CAA8C7U,EAAQ,eAAiB2zB,EAAa,aAAeC,EAApH,eAChF,OAAOxH,IAAM3e,IAAIonB,GACZ7oB,KAAK,SAAUC,GACRA,IACAtM,EAAKd,MAAMwN,KAAKg3B,KAAOp3B,EAASI,KAChC1M,EAAKF,SAASE,EAAKd,MAAMwN,MACzB1M,EAAKF,SAAS,CAAEoV,QAASlV,EAAKd,MAAMwN,KAAKwI,UACzClV,EAAKF,SAAS,CAAEkgC,WAAW,OAGlCxzB,MAAM,SAAUZ,GACbwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,cAE7BhC,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,uBAGlChH,EAEDwkC,uBAAyB,SAAU/D,GAC/B,GAA6B,GAAzBvgC,KAAKM,MAAMqyB,WAAiB,CAC5B,IAAMhyB,EAAOX,KACb,OAAOotB,IAAM3e,IAAI,6CAA+C8xB,GAC3DvzB,KAAK,SAAAvN,GACF,IAAIkzB,EAAavc,KAAKgc,KAAK3yB,EAAI4N,KAAO1M,EAAKL,MAAMs0B,UACjDj0B,EAAKF,SAAS,CAAEkyB,WAAYA,IAC5BhyB,EAAKwjC,oBAAoB5D,EAAW5/B,EAAKL,MAAMq0B,WAAYh0B,EAAKL,MAAMs0B,YAG9E50B,KAAKmkC,oBAAoB5D,EAAWvgC,KAAKM,MAAMq0B,WAAY30B,KAAKM,MAAMs0B,WAE7E90B,EAEDykC,+BAAiC,SAAUpF,EAAcC,EACrDrmB,EAAYsmB,EAAWrsB,EAAS9E,GAChC,IACIlN,EADShB,KACIM,MAAM8jC,gBADVpkC,KAERS,SAAS,CACVsY,WAAY/X,EACZq+B,YACAD,cACAD,eACA8E,oBAAoB,EACpB/1B,SACA8E,WATShT,KAWJwkC,kCACZ1kC,EAEDokC,mBAAqB,WAAY,IAAAjjC,EACgDjB,KAAKM,MAA1E8+B,EAAWn+B,EAAXm+B,YAAaC,EAASp+B,EAATo+B,UAAWF,EAAYl+B,EAAZk+B,aAAcnsB,EAAO/R,EAAP+R,QAAS9E,EAAMjN,EAANiN,OAAQu2B,EAASxjC,EAATwjC,UACzD9jC,EAAOX,KACTgB,EAAQhB,KAAKM,MAAM8jC,gBACvB,IAAKpjC,GAASL,EAAKd,MAAMwN,KAAKwI,QAAS,OAAO,IAAIrW,QAAQ,SAAU88B,GAChEA,EAAQ,MAEZ,IAAM1H,EAAW6P,EAAY,IAAMzkC,KAAKM,MAAMs0B,SACxCjoB,EAAMzH,YAAA,GACLgJ,EAAM,CACTqyB,UAAWv/B,EACXkG,KAAMm4B,EACN72B,OAAQ42B,EACRvwB,UAAWswB,EACXvK,SAAUA,EACVD,WAAY30B,KAAKM,MAAMq0B,aACnB3hB,GAAW,IAAIG,KAAK,SAAUhF,GAC9B,QAASA,EAAE9I,QAGbwwB,EAAe70B,IAAS,QAAQkgB,KAAKlgB,KAAWL,EAAKd,MAAMwN,KAAKwI,QAA2B,kCAAjB,eAEhF,OADAlV,EAAKd,MAAMgH,YAAY,kBAChBumB,IAAM3e,IAAIonB,EAAY,CAAElpB,WAC1BK,KAAK,SAAUC,GACRA,IACAtM,EAAKd,MAAMwN,KAAKg3B,KAAOp3B,EAASI,KAEhC1M,EAAKF,SAASE,EAAKd,MAAMwN,MACzB1M,EAAKF,SAAS,CAAEoV,QAASlV,EAAKd,MAAMwN,KAAKwI,UACzClV,EAAKF,SAAS,CAAEkgC,WAAW,IAEvB8D,IACA9jC,EAAKd,MAAMwN,KAAK6K,eAAiBjL,EAASI,KAC1C1M,EAAKd,MAAMgO,QAAQtF,KAAK,CACpBk0B,SAAU,mBACVn8B,MAAOK,EAAKd,MAAMwN,WAKjCF,MAAM,SAAUZ,GACbwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,cAE7BhC,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,qBAElChH,EAED0kC,gCAAkC,WAAY,IAAAzZ,EAC0B/qB,KAAKM,MAAjE8+B,EAAWrU,EAAXqU,YAAaC,EAAStU,EAATsU,UAAWF,EAAYpU,EAAZoU,aAAcjxB,EAAM6c,EAAN7c,OAAQu2B,EAAS1Z,EAAT0Z,UAChD9jC,EAAOX,KACTgB,EAAQhB,KAAKM,MAAM8jC,gBACjBxP,EAAW6P,EAAY,IAAMzkC,KAAKM,MAAMs0B,SACxCjoB,EAAMzH,YAAA,GACLgJ,EAAM,CACTqyB,UAAWv/B,EACXkG,KAAMm4B,EACN72B,OAAQ42B,EACRvwB,UAAWswB,EACXvK,SAAUA,EACVD,WAAY,IAEVkB,EAAe70B,IAAS,QAAQkgB,KAAKlgB,KAAWL,EAAKd,MAAMwN,KAAKwI,QAA2B,uCAAjB,eAEhF,OADA7V,KAAKH,MAAMgH,YAAY,uBAChBumB,IAAM3e,IAAIonB,EAAY,CAAElpB,WAC1BK,KAAK,SAAUC,GACZ,GAAIA,EAAU,CACV,IAAI0lB,EAAavc,KAAKgc,KAAKnlB,EAASI,KAAOunB,GAC3C,OAAO,IAAIp1B,QAAQ,SAAU88B,GACzB37B,EAAKF,SAAS,CAAEkyB,WAAYA,EAAYgC,WAAY,GAAK2H,QAIpEtvB,KAAK,WAEF,OADArM,EAAKd,MAAMgH,YAAY,wBAChBlG,EAAKujC,qBACPl3B,KAAK,gBAGbG,MAAM,SAAUZ,GACbwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,cAE7BhC,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,uBACvBnG,EAAKd,MAAMiH,YAAY,2BAIlChH,EAED6d,uBAAyB,SAACC,GACtB,IAAMjd,EAAIC,wBAAAd,IAEJsiB,EAAW,IAAIC,SACrBD,EAASE,OAAO,OAAQ1E,GAMxBjd,EAAKd,MAAMgH,YAAY,mBACvBumB,IAAM9f,KAAI,iBAAAhJ,OAAkB3D,EAAKL,MAAMqf,UAAS,4BAA4ByC,EAN7D,CACXG,QAAS,CACLC,eAAgB,yBAKnBrV,MAAM,SAACZ,GACJ5L,EAAK2lB,iBAAiB/Z,EAAEU,SAASI,KAAKq3B,KAAK,WAC5C13B,KAAK,WAEJrM,EAAKd,MAAMgH,YAAY,uBApa/B/G,EAAKQ,MAAQ,CACTqgC,WAAW,EACX+C,QAAQ,EACRU,gBAAiB,GACjBR,SAAS,EACTT,gBAAiB,GACjBxjB,UAAW,KACXnJ,UAAW,EACXhL,UAAW,EACXuiB,UAAU,EACVgV,SAAU,EACV4B,YAAY,EACZC,YAAY,EACZ/uB,SAAS,EACTkU,eAAgB,CACZ7C,cAAc,GAElByb,MAAO,CACHphC,MAAM,EACNsD,aAAc,GACdG,eAAgB,IAEpB4vB,SAAU,GACVD,WAAY,EACZhC,WAAY,EACZwM,aAAc,EACdE,UAAW,GACXD,YAAa,SACb6E,oBAAoB,EACpBQ,WAAW,EACXI,cAAe,KACfC,gBAAiB,MAErBhlC,EAAKilC,UAAYjlC,EAAKilC,UAAU7+B,KAAItF,wBAAAd,KACpCA,EAAKoqB,aAAepqB,EAAKoqB,aAAahkB,KAAItF,wBAAAd,KAC1CA,EAAKs+B,eAAiBt+B,EAAKs+B,eAAel4B,KAAItF,wBAAAd,KAC9CA,EAAKklC,kBAAoBllC,EAAKklC,kBAAkB9+B,KAAItF,wBAAAd,KACpDA,EAAK8/B,yBAA2B9/B,EAAK8/B,yBAAyB15B,KAAItF,wBAAAd,KAClEA,EAAK+jC,oBAAsB/jC,EAAK+jC,oBAAoB39B,KAAItF,wBAAAd,KACxDA,EAAKmjC,YAAcnjC,EAAKmjC,YAAY/8B,KAAItF,wBAAAd,KACxCA,EAAKsjC,aAAetjC,EAAKsjC,aAAal9B,KAAItF,wBAAAd,KAC1CA,EAAKujC,aAAevjC,EAAKujC,aAAan9B,KAAItF,wBAAAd,KAC1CA,EAAKwjC,aAAexjC,EAAKwjC,aAAap9B,KAAItF,wBAAAd,KAC1CA,EAAKyjC,gBAAkBzjC,EAAKyjC,gBAAgBr9B,KAAItF,wBAAAd,KAChDA,EAAKmlC,eAAiBnlC,EAAKmlC,eAAe/+B,KAAItF,wBAAAd,KAC9CA,EAAKolC,cAAgBplC,EAAKolC,cAAch/B,KAAItF,wBAAAd,KAC5CA,EAAKqkC,oBAAsBrkC,EAAKqkC,oBAAoBj+B,KAAItF,wBAAAd,KACxDA,EAAKkkC,yBAA2BlkC,EAAKkkC,yBAAyB99B,KAAItF,wBAAAd,KAClEA,EAAKykC,+BAAiCzkC,EAAKykC,+BAA+Br+B,KAAItF,wBAAAd,KAC9EA,EAAK0kC,gCAAkC1kC,EAAK0kC,gCAAgCt+B,KAAItF,wBAAAd,KAChFA,EAAKokC,mBAAqBpkC,EAAKokC,mBAAmBh+B,KAAItF,wBAAAd,KACtDA,EAAKuc,iBAAmBvc,EAAKuc,iBAAiBnW,KAAItF,wBAAAd,KAClDA,EAAKwc,iBAAmBxc,EAAKwc,iBAAiBpW,KAAItF,wBAAAd,KAClDA,EAAKqlC,4BAA8BrlC,EAAKqlC,4BAA4Bj/B,KAAItF,wBAAAd,KACxEA,EAAKyc,aAAezc,EAAKyc,aAAarW,KAAItF,wBAAAd,KAAOA,EA+jBpD,OAxnBiBe,YAAA6hC,EAAAhlB,GA0DjB5c,YAAA4hC,EAAA,EAAA3hC,IAAA,gBAAAC,MAAA,SAmBaokC,GACVplC,KAAKS,SAAS,SAACkT,GAAS,OAAAzO,YAAA,GACjByO,EAAS,CACZixB,WAAYQ,QAEnB,CAAArkC,IAAA,YAAAC,MAAA,WAQGhB,KAAKH,MAAMgO,QAAQtF,KAAK,iBAG3B,CAAAxH,IAAA,cAAAC,MAAA,WAEa,IAAA4O,EAAA5P,KACVA,KAAKS,SAAS,CACVgkC,WAAW,GACZ,kBAAM70B,EAAKi0B,oBAAoBj0B,EAAKtP,MAAM8jC,qBAChD,CAAArjC,IAAA,eAAAC,MAAA,WAGGhB,KAAKS,SAAS,CAAEmjC,SAAS,MAC5B,CAAA7iC,IAAA,iBAAAC,MAAA,SAEcqkC,GACX,IAAM1kC,EAAOX,KACb,OAAOotB,IAAM3e,IAAI42B,GACZr4B,KAAK,SAAUC,GACRA,GACAtM,EAAKd,MAAMgO,QAAQtF,KAAK,gBAG/B4E,MAAM,SAAUZ,GACbwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,gBAErC,CAAAjO,IAAA,oBAAAC,MAAA,SAEiBqkC,GACd,OAAOjY,IAAM3e,IAAI42B,GACZr4B,KAAK,SAAUC,GACRA,IACAjN,KAAKM,MAAM6iC,gBAAgBmC,QAAQr4B,EAASI,MAC5CrN,KAAKS,SAAS,CACV0iC,gBAAiBnjC,KAAKM,MAAM6iC,qBAIvCh2B,MAAM,SAAUZ,GACbwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,gBAGrC,CAAAjO,IAAA,2BAAAC,MAAA,SAEwBA,GACrB,IAAM60B,EAAa,gBAAkB70B,EAAQ,iBACvCL,EAAOX,KACb,OAAOotB,IAAM3e,IAAIonB,GACZ7oB,KAAK,SAAUC,GACRA,GAAYA,EAASI,OACrB1M,EAAKF,SAAS,CAAE0iC,gBAAiBl2B,EAASI,OAC1C1M,EAAKd,MAAMgO,QAAQtF,KAAK,sBAG/B4E,MAAM,SAAUZ,GACbwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,gBAErC,CAAAjO,IAAA,sBAAAC,MAAA,SAEmBA,GAEZA,GADShB,KAEJS,SACD,CACIk0B,WAAY,EACZhC,WAAY,EACZyR,gBAAiBpjC,EAAOijC,oBAAoB,GAN3CjkC,KAQAwkC,mCAIhB,CAAAzjC,IAAA,yBAAAC,MAAA,WAoBwB,IAAAgwB,EAAAhxB,KAErB,MAD4B,CAAC,WAAY,UAAW,IACzBkO,OAAO,SAAAC,GAAC,OAAIA,IAAM6iB,EAAKnxB,MAAMwN,KAAK8oB,aAAYlyB,OAAS,IACrF,CAAAlD,IAAA,iBAAAC,MAAA,WAGQhB,KAAKH,MAAMwN,KAAKwI,QAGjB7V,KAAK6jC,oBAAoB7jC,KAAKM,MAAM8jC,iBAFpCpkC,KAAK6jC,oBAAoB,iBAI7B7jC,KAAKH,MAAMs2B,WAAW,WACtBn2B,KAAKH,MAAM2H,MAAMmF,OAAOypB,WAAa,YACxC,CAAAr1B,IAAA,eAAAC,MAAA,WAGGhB,KAAK6jC,oBAAoB,kBACzB7jC,KAAKH,MAAMs2B,WAAW,aACtBn2B,KAAKH,MAAM2H,MAAMmF,OAAOypB,WAAa,cACxC,CAAAr1B,IAAA,8BAAAC,MAAA,SAkO2B4N,GASxB,IARA,IAKIX,EAAU,GAGds3B,EAAA,EAAAC,EARc,CACV,CAAEp3B,KAAM,eACR,CAAEA,KAAM,kBAMUm3B,EAAAC,EAAAvhC,OAAAshC,IAAE,CAAnB,IAAI32B,EAAI42B,EAAAD,GACTt3B,EAAO,GAAA3J,OAAA8O,aAAOnF,GAAO,CACrB7M,IAAAC,cAAC4Z,KAASpD,KAAI,CACV1G,MAAO,CAAErP,MAAO,WAChBkb,aAAchd,KAAKqc,iBACnBY,aAAcjd,KAAKsc,iBACnBza,QAAS7B,KAAKuc,cACb3N,EAAKR,QAId,OAAOH,IACV,CAAAlN,IAAA,mBAAAC,MAAA,SAEgBuL,GACbA,EAAEnH,OAAO+L,MAAMiM,WAAa,UAC5B7Q,EAAEnH,OAAO+L,MAAMrP,MAAQ,UAC1B,CAAAf,IAAA,mBAAAC,MAAA,SAEgBuL,GACbA,EAAEnH,OAAO+L,MAAMiM,WAAa,QAC5B7Q,EAAEnH,OAAO+L,MAAMrP,MAAQ,YAC1B,CAAAf,IAAA,eAAAC,MAAA,SAEYuL,GACT,OAAQA,EAAEnH,OAAOiY,WACb,IAAK,cACDrd,KAAK6kC,cAAchuB,IAAI0G,QACvB,MAEJ,IAAK,gBACDvd,KAAK8kC,gBAAgBjuB,IAAI0G,WAMpC,CAAAxc,IAAA,SAAAC,MAAA,WAEQ,IACDykC,EAEAC,EACAC,EAGAnlC,EACAolC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EAlBCC,EAAArmC,KAoBLylC,EAAgD,YAA/BzlC,KAAKH,MAAMwN,KAAK8oB,aAAmD,IAAvBn2B,KAAKM,MAAMsjC,UAAgD,IAA5B5jC,KAAKH,MAAMwN,KAAKwI,QACxGzU,IAAAC,cAAA,OAAKc,UAAU,WACXf,IAAAC,cAAA,OAAKc,UAAU,8BACXf,IAAAC,cAAA,MAAIc,UAAU,eAAc,kBAC5Bf,IAAAC,cAAC67B,GAAU,CAAC7vB,KAAMrN,KAAKH,MAAMwN,KAAKg3B,KAC9BntB,SAAUlX,KAAKkqB,aAAcsU,SAAUx+B,KAAKo+B,eAAgBrQ,UAV7D,MAaT,KAEN4X,EAA2C,eAA/B3lC,KAAKH,MAAMwN,KAAK8oB,aAAsD,IAAvBn2B,KAAKM,MAAMsjC,UAAiD,IAA5B5jC,KAAKH,MAAMwN,KAAKwI,QACvGzU,IAAAC,cAAC6gC,GAAQ,CAACvB,UAAW3gC,KAAKM,MAAMqgC,UAAW7V,aAAc9qB,KAAK6jC,sBAC9D,KACJsC,EAAuBnmC,KAAKH,MAAM6lB,WAA4C,oBAA/B1lB,KAAKH,MAAMwN,KAAK8oB,WAC3D/0B,IAAAC,cAACg4B,GAAe,MAAM,KAC1B2M,EAAqD,cAA/BhmC,KAAKH,MAAMwN,KAAK8oB,WAClC/0B,IAAAC,cAAA,WAGID,IAAAC,cAAC41B,GAAS,OAEZ,KAENiP,EAAwD,cAA/BlmC,KAAKH,MAAMwN,KAAK8oB,YAA8Bn2B,KAAKH,MAAM6lB,UAC9EtkB,IAAAC,cAAC4P,IAAI,CAACC,GAAG,oBAAoBrP,QAAS7B,KAAKo5B,oBAAqBj3B,UAAU,oCAAmC,qBAG3G,KAEN8jC,EAA4C,oBAA/BjmC,KAAKH,MAAMwN,KAAK8oB,WACzB/0B,IAAAC,cAAA,OAAKc,UAAU,6BACXf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,aAAarP,QAAS,WAAF,OAAQwkC,EAAKxmC,MAAMs2B,WAAW,eACvD/0B,IAAAC,cAAA,OAAKc,UAAU,iBACXf,IAAAC,cAAA,OAAK+T,UAAU,gDAGlB,KACbswB,EAA6C,YAA/B1lC,KAAKH,MAAMwN,KAAK8oB,WAC1B/0B,IAAAC,cAAA,WACID,IAAAC,cAACq6B,GAAO,CAAC3F,YAAa/1B,KAAKijC,YAAajN,aAAch2B,KAAKojC,aACvDlN,aAAcl2B,KAAKqjC,aAAcpN,aAAcj2B,KAAKsjC,aACpDQ,kBAAmB9jC,KAAK8jC,kBACxBz2B,KAAMrN,KAAKH,MAAMwN,KAAKg3B,KAAMlO,WAAYn2B,KAAKH,MAAMs2B,WACnDtgB,QAAS7V,KAAKH,MAAMwN,KAAKwI,QAAS2pB,uBAAwBx/B,KAAKukC,iCAClEvkC,KAAKH,MAAMwN,KAAKg3B,KAAKpgC,OAAS,GAAKjE,KAAKM,MAAMqyB,WAAa,GACxDvxB,IAAAC,cAACoxB,KAAU,CACP+D,kBAAmB,EACnB7D,WAAY3yB,KAAKM,MAAMqyB,WAAYD,aAAc1yB,KAAKgkC,yBAA0B7yB,MAAO,CAAEslB,MAAO,QAAS4E,YAAa,YACzH,KAGbuK,EAA+C,YAA/B5lC,KAAKH,MAAMwN,KAAK8oB,aAAmD,IAAvBn2B,KAAKM,MAAMsjC,UAAiD,IAA5B5jC,KAAKH,MAAMwN,KAAKwI,QACxGzU,IAAAC,cAACi/B,GAAc,CAACK,UAAW3gC,KAAKM,MAAMqgC,UAAW7V,aAAc9qB,KAAK6jC,sBACpE,KAIJgC,EAAqD,YAA/B7lC,KAAKH,MAAMwN,KAAK8oB,aAAmD,IAAvBn2B,KAAKM,MAAMsjC,UAAiD,IAA5B5jC,KAAKH,MAAMwN,KAAKwI,SAAuD,qBAA1B7V,KAAKH,MAAMwN,KAAKg3B,MAA0BrkC,KAAKH,MAAMwN,KAAKg3B,KAAKpgC,OAAS,EACjN7C,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIk4B,EAAKvB,gBAAkB32B,GAAGpM,QAAQ,iBAAiBoP,MAAO,CAAE0vB,gBAAiB,UAAWtlB,QAAS,QAAUtJ,cAAY,OAAOpQ,QAAS,SAACwT,GAAK,OAAKgxB,EAAKC,eAAiBD,EAAKxmC,MAAM0Y,kBAAkBlD,MACvN,KAEN,IAAIkxB,GAAiD,IAA5BvmC,KAAKH,MAAMwN,KAAKwI,SAAoD,YAA/B7V,KAAKH,MAAMwN,KAAK8oB,aAA8Bn2B,KAAKwmC,yBA2BjH,OA1BAV,GAAyC,IAAvB9lC,KAAKM,MAAMsjC,QACrBxiC,IAAAC,cAAA,SAAO6F,KAAK,SAAS/E,UAAU,wCAAwCnB,MAAM,OAAOiR,cAAY,OAAOpQ,QAAS7B,KAAKkqB,eACnH,KAEVkc,EAAyBhlC,IAAAC,cAACM,IAAM,CAACkV,IAAK,SAAA1I,GAAC,OAAIk4B,EAAKxB,cAAgB12B,GAAGgD,MAAO,CAAE0vB,gBAAiB,UAAWtlB,QAAS,QAAUxZ,QAAQ,cAAckQ,cAAY,OAAOpQ,QAAS,SAACwT,GAAK,OAAKgxB,EAAKtB,aAAesB,EAAKxmC,MAAM0Y,kBAAkBlD,MAEzO0wB,EAAkD,OAAxBF,GAAoD,OAApBC,EACtD1kC,IAAAC,cAAA,OAAKc,UAAU,wCACXf,IAAAC,cAAC4Z,KAAQ,CACLC,QAAM,EACN9M,KAAK,mBACLhN,IAAAC,cAAC4Z,KAASE,KAAI,KACTnb,KAAKmlC,iCAIQ,OAAxBU,GAAoD,OAApBC,GAA6BS,EAEjC,OAAxBV,GAAoD,OAApBC,EAC9B1kC,IAAAC,cAAA,SAAO6F,KAAK,SAAS/E,UAAU,wCAAwCnB,MAAM,OAAOiR,cAAY,OAAOpQ,QAAS7B,KAAKkqB,eACnH,KAHN9oB,IAAAC,cAAA,SAAO6F,KAAK,SAAS/E,UAAU,sCAAsCnB,MAAM,cAAciR,cAAY,OAAOpQ,QAAS,SAACwT,GAAK,OAAKgxB,EAAKtB,aAAesB,EAAKxmC,MAAM0Y,kBAAkBlD,IAAQoxB,cAAY,UAAUjmC,MAAM,8BAK7NA,EAAuC,YAA/BR,KAAKH,MAAMwN,KAAK8oB,WACpB/0B,IAAAC,cAAA,MAAIc,UAAU,mBAAmBgP,MAAO,CAAEulB,WAAY,SAAU,YAC9Dt1B,IAAAC,cAAA,MAAIc,UAAU,oBAAoBnC,KAAKH,MAAMwN,KAAK7M,OAGpDY,IAAAC,cAAA,OAAKc,UAAU,kBACXf,IAAAC,cAACC,IAAK,CACFC,KAAMvB,KAAKM,MAAMqiC,MAAMphC,KACvBS,eAAe,EACfC,oBAAoB,EACpBE,UAAWnC,KAAKM,MAAMqiC,MAAMz7B,KAC5BmL,QAASrS,KAAK6iC,kBACd6D,SAA4C,KAAlC1mC,KAAKM,MAAMqiC,MAAM99B,cAAyD,OAAlC7E,KAAKM,MAAMqiC,MAAM99B,aAAwB,QAAU,QAErGzD,IAAAC,cAACC,IAAME,OAAM,KACTJ,IAAAC,cAAA,WAEJD,IAAAC,cAACC,IAAMG,QAAO,KACVL,IAAAC,cAAA,KAAGslC,wBAAyB,CAAEC,OAAQ5mC,KAAKM,MAAMqiC,MAAM99B,aAAe7E,KAAKM,MAAMqiC,MAAM39B,mBAE3F5D,IAAAC,cAACC,IAAMI,QAAO,KACVN,IAAAC,cAACM,IAAM,CAACE,QAAS7B,KAAK6iC,kBAAmB6D,SAA8C,KAApC1mC,KAAKM,MAAMqiC,MAAM39B,eAAuBpD,SAA4C,KAAlC5B,KAAKM,MAAMqiC,MAAM99B,cAAqB,QAKnJzD,IAAAC,cAAA,WACK4kC,EACAC,EACAJ,EACAM,EACAP,EACAE,EACAvlC,GAELY,IAAAC,cAAA,OAAKc,UAAU,eACVyjC,GAELxkC,IAAAC,cAAA,OAAKc,UAAU,eACVgkC,EACAV,OAlIToB,EAoISlB,OA7ITmB,EA+ISd,EACAN,GAELtkC,IAAAC,cAAA,OAAKc,UAAU,cAAcgP,MAAO,CAAE8E,cAAe,cAjJzD8wB,OAJAC,QA2JPtE,EAxnBiB,CAASthC,IAAMiB,WAkoBtB4xB,oBAAWxhB,aAAQ,KAPlC,SAA4BG,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,OAIpEsL,CAAkCiwB,KC3oBtDrI,GAAkB,CACtBC,gBAAiB,+BAuMJ2M,GApME,SAAAvpB,GACf,SAAAupB,EAAYpnC,GAAO,IAAAC,EAc4C,OAd5CC,YAAAC,KAAAinC,IACjBnnC,EAAAG,YAAAD,KAAAE,YAAA+mC,GAAA9mC,KAAAH,KAAMH,KAsIRs2B,WAAa,SAAUjvB,GAAM,IAAA0I,EAAA5P,KAC3BA,KAAKS,SAAS,SAACkT,GAAS,MAAM,CAC5BtG,KAAInI,YAAA,GACCyO,EAAUtG,KAAI,CACjB8oB,WAAYjvB,EACZ1G,MAAOoP,EAAKs3B,SAAShgC,SA1IzBpH,EAAKQ,MAAQ,CACX6mC,QAAQ,EACR95B,KAAM,CAAEg3B,KAAM,GAAIlO,WAAY,UAAW31B,MAAO,aAElDV,EAAKsnC,cAAgBtnC,EAAKsnC,cAAclhC,KAAItF,wBAAAd,KAC5CA,EAAKq2B,WAAar2B,EAAKq2B,WAAWjwB,KAAItF,wBAAAd,KACtCA,EAAKunC,OAASvnC,EAAKunC,OAAOnhC,KAAItF,wBAAAd,KAC9BA,EAAKonC,SAAWpnC,EAAKonC,SAAShhC,KAAItF,wBAAAd,KAClCA,EAAKwnC,uBAAyBxnC,EAAKwnC,uBAAuBphC,KAAItF,wBAAAd,KAC9DA,EAAKm6B,aAAen6B,EAAKm6B,aAAa/zB,KAAItF,wBAAAd,KAC1CA,EAAKynC,UAAYznC,EAAKynC,UAAUrhC,KAAItF,wBAAAd,KACpCA,EAAKk6B,YAAcl6B,EAAKk6B,YAAY9zB,KAAItF,wBAAAd,KACxCA,EAAK0nC,mBAAqB1nC,EAAK0nC,mBAAmBthC,KAAItF,wBAAAd,KAAOA,EAkL9D,OAjMce,YAAAomC,EAAAvpB,GAgBd5c,YAAAmmC,EAAA,EAAAlmC,IAAA,gBAAAC,MAAA,WAGC,GAAiD,oBAAtChB,KAAKH,MAAM2H,MAAMmF,OAAOypB,WAA2B,MAAO,UACrE,OAAQp2B,KAAKH,MAAM2H,MAAMmF,OAAOypB,YAC9B,IAAK,QAAS,MAAO,OACrB,IAAK,WAAY,MAAO,UACxB,IAAK,cAAe,MAAO,aAC3B,IAAK,WAAY,MAAO,UACxB,IAAK,mBAAoB,MAAO,kBAChC,QAAS,OAAOp2B,KAAKH,MAAM2H,MAAMmF,OAAOypB,cAE3C,CAAAr1B,IAAA,SAAAC,MAAA,SAEMm1B,GACL,OAAQA,GACN,IAAK,OAAQ,MAAO,QACpB,IAAK,UAAW,MAAO,WACvB,IAAK,kBAAmB,MAAO,mBAC/B,QAAS,OAAOA,KAEnB,CAAAp1B,IAAA,WAAAC,MAAA,SAEQm1B,GACP,OAAQA,GACN,IAAK,OAAQ,MAAO,QACpB,IAAK,YAAa,MAAO,aACzB,IAAK,UAAW,MAAO,WACvB,IAAK,aAAc,MAAO,eAC1B,IAAK,UAAW,MAAO,WACvB,IAAK,kBAAmB,MAAO,mBAC/B,QAAS,MAAO,MAEnB,CAAAp1B,IAAA,YAAAC,MAAA,WAGChB,KAAKS,SAAS,CACZ0mC,QAASnnC,KAAKM,MAAM6mC,SAEtB1M,SAASgN,KAAK9M,UAAUK,OAAO,gBAChC,CAAAj6B,IAAA,yBAAAC,MAAA,WAGC,IAAIm1B,EAAan2B,KAAKonC,gBAChBzmC,EAAOX,KACb,OAAOotB,IAAM3e,IAAI,gBAAiB,CAAE9B,OAAQ,CAAE2N,QAASlE,KAAKC,YACzDrJ,KAAK,SAAUC,GACVA,GACFtM,EAAKF,SAAS,CACZ4M,KACA,CACEq6B,SAAU/mC,EAAKd,MAAM6nC,SACrB7xB,QAASlV,EAAKd,MAAMgW,QACpBwuB,KAAMp3B,EAASI,KACf8oB,WAAYA,EACZ31B,MAAOG,EAAKumC,SAAS/Q,GACrBwR,WAA2B,YAAfxR,EAA2BuF,GAAU,UAMxDvuB,MAAM,SAAUZ,GACfwC,QAAQnK,MAAMjE,EAAKd,MAAM2H,MAAMqF,IAAKN,EAAE/D,OAAQ+D,EAAEyC,gBAGrD,CAAAjO,IAAA,oBAAAC,MAAA,WAGC,GAAKhB,KAAKH,MAAMgW,QAET,CACL,IAAIsgB,EAAan2B,KAAKonC,gBACtBpnC,KAAKS,SAAS,CACZ4M,KACA,CACEq6B,SAAU1nC,KAAKH,MAAM6nC,SACrB7xB,QAAS7V,KAAKH,MAAMgW,QACpBwuB,KAAM,GACNlO,WAAYA,EACZ31B,MAAOR,KAAKknC,SAAS/Q,GACrBwR,YAAY,UAXhB3nC,KAAKsnC,yBAeP7M,SAASmN,iBAAiB,QAAS5nC,KAAKwnC,sBACzC,CAAAzmC,IAAA,uBAAAC,MAAA,WAGCy5B,SAASoN,oBAAoB,QAAS7nC,KAAKwnC,sBAC5C,CAAAzmC,IAAA,qBAAAC,MAAA,SAEkBqU,GAC0B,QAAvCA,EAAMjQ,OAAO0iC,QAAQjW,eAAkE,QAAvCxc,EAAMjQ,OAAO0iC,QAAQjW,eAAkE,QAAvCxc,EAAMjQ,OAAO0iC,QAAQjW,eAA2B4I,SAASgN,KAAK9M,UAAUoN,SAAS,gBACnL/nC,KAAKS,SAAS,CACZ0mC,QAASnnC,KAAKM,MAAM6mC,SAEtB1M,SAASgN,KAAK9M,UAAUK,OAAO,iBAElC,CAAAj6B,IAAA,eAAAC,MAAA,SAEYuL,GACX,IAAM5L,EAAOX,KAGb,OAFAA,KAAKunC,YACLh7B,EAAEE,iBACK2gB,IAAM9f,KAAK,eACfN,KAAK,WACJrM,EAAKd,MAAMq6B,eACXO,SAASuN,OAAS,GAClBrnC,EAAKd,MAAMgO,QAAQtF,KAAK,OAE1B4E,MAAM,WACJ4B,QAAQnK,MAAM2H,OAEnB,CAAAxL,IAAA,cAAAC,MAAA,WAEChB,KAAKunC,YACLvnC,KAAKioC,aAAa,aACnB,CAAAlnC,IAAA,eAAAC,MAAA,SAYYknC,GACXloC,KAAKm2B,WAAW+R,GAChBloC,KAAKH,MAAM2H,MAAMmF,OAAOypB,WAAa8R,IACtC,CAAAnnC,IAAA,SAAAC,MAAA,WAGC,IAAMm5B,EAAWn6B,KAAKM,MAAM6mC,OAAS,kBAAoB,MACnD/L,EAA8C,YAA/Bp7B,KAAKM,MAAM+M,KAAK8oB,WAA2B,CAAE9kB,MAAO,OAAQqlB,WAAY,MAAO2E,YAAa,MAAOhQ,SAAU,QAAW,GACvIiQ,EAAmD,YAA/Bt7B,KAAKM,MAAM+M,KAAK8oB,WAA2B,CAAE9kB,MAAO,MAAOga,SAAU,QAAW,GAC1G,OACEjqB,IAAAC,cAAA,OAAKc,UAAU,OAAOgP,MAAOiqB,GAC3Bh6B,IAAAC,cAAA,OAAKc,UAAU,QACbf,IAAAC,cAAA,UAAQc,UAAU,wCAAwCykB,KAAK,UAC7DxlB,IAAAC,cAAA,KAAGc,UAAU,iBAAiBgT,KAAK,sCACjC/T,IAAAC,cAAA,KAAGc,UAAU,OAAM,6BAErBf,IAAAC,cAAA,OAAKc,UAAU,QACbf,IAAAC,cAAA,OAAKc,UAAU,aAAaN,QAAS7B,KAAKunC,UAAWp2B,MAAOkpB,MAG9Dj5B,IAAAC,cAAA,MAAIc,UAAU,mDAAkDf,IAAAC,cAAA,KAAGc,UAAU,kBAAkBgT,KAAK,KAAI,oBAE1G/T,IAAAC,cAAA,OAAKc,UAAWg4B,GACd/4B,IAAAC,cAAA,MAAIc,UAAU,kBACZf,IAAAC,cAAA,MAAIc,UAA0C,YAA/BnC,KAAKM,MAAM+M,KAAK8oB,WAA2B,mBAAqB,aAAa/0B,IAAAC,cAAC4P,IAAI,CAACC,GAAG,YAAYrP,QAAS7B,KAAKg6B,aAAa,aAC5I54B,IAAAC,cAAA,MAAIc,UAAU,aAAYf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,mBAAmBrP,QAAS7B,KAAKg6B,aAAa,eAChFh6B,KAAKH,MAAMgW,QAAWzU,IAAAC,cAAA,MAAIc,UAAU,aAAYf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,aAAarP,QAAS7B,KAAKg6B,aAAa,UAAqB,KACtHh6B,KAAKH,MAAMgW,QAAWzU,IAAAC,cAAA,MAAIc,UAAU,aAAYf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,WAAWrP,QAAS7B,KAAKg6B,aAAa,aAAwB,KAExH54B,IAAAC,cAAA,MAAIc,UAAU,aAAYf,IAAAC,cAAA,KAAGc,UAAU,YAAYgT,KAAK,yCAAyC/P,OAAO,UAAU,kBAElHhE,IAAAC,cAAA,MAAIc,UAAU,aAAYf,IAAAC,cAAC4P,IAAI,CAACC,GAAG,IAAIrP,QAAS7B,KAAKi6B,cAAe,eAI1E74B,IAAAC,cAAA,OAAKc,UAAU,QACbf,IAAAC,cAAA,OAAKc,UAAU,yBACbf,IAAAC,cAAA,MAAI8P,MAAO,CAAEqqB,aAAc,MAAO15B,MAAO,SAAWK,UAAU,gCAA+B,uEAIjGf,IAAAC,cAAA,OAAKc,UAAU,OAAOgP,MAAOmqB,GAC3Bl6B,IAAAC,cAACqhC,GAAgB,CAACr1B,KAAMrN,KAAKM,MAAM+M,KAAM8oB,WAAYn2B,KAAKm2B,WAAY+D,aAAcl6B,KAAKH,MAAMq6B,aAAcxU,UAAW1lB,KAAKH,MAAM6lB,UACjIyiB,aAAcnoC,KAAKioC,aAAc1vB,kBAAmBvY,KAAKwnC,2BAIlEP,EAjMc,CAAS7lC,IAAMiB,WC0EjB+lC,GAlFK,SAAA1qB,GAClB,SAAA0qB,EAAYvoC,GAAO,IAAAC,EAQ4D,OAR5DC,YAAAC,KAAAooC,IACjBtoC,EAAAG,YAAAD,KAAAE,YAAAkoC,GAAAjoC,KAAAH,KAAMH,KACDS,MAAQ,CACX+nC,SAAS,EACT/gC,MAAO,GACPghC,QAAQ,GAEVxoC,EAAKuhC,kBAAoBvhC,EAAKuhC,kBAAkBn7B,KAAItF,wBAAAd,KACpDA,EAAKyoC,2BAA6BzoC,EAAKyoC,2BAA2BriC,KAAItF,wBAAAd,KAAOA,EAsE9E,OA/EiBe,YAAAunC,EAAA1qB,GAUjB5c,YAAAsnC,EAAA,EAAArnC,IAAA,oBAAAC,MAAA,SACiBuL,GAChBvM,KAAKS,SAAS,CAAE6G,MAAOiF,EAAEnH,OAAOpE,UACjC,CAAAD,IAAA,6BAAAC,MAAA,SAC0BuL,GACzBA,EAAEE,iBACFzM,KAAKS,SAAS,CAAE4nC,SAAS,IACzB,IAAM1nC,EAAOX,KACb,OAAOotB,IAAM9f,KAAK,sBAAuB,CAAEs0B,MAAO5hC,KAAKM,MAAMgH,QAC1D0F,KAAK,SAAUw7B,GAEVA,IACF7nC,EAAKF,SAAS,CAAE6G,MAAO,GAAIghC,QAAQ,IACnC3nC,EAAKF,SAAS,CAAE4nC,SAAS,OAG5Bl7B,MAAM,SAAUZ,GACfwC,QAAQnK,MAAM2H,EAAE/D,OAAQ+D,EAAEyC,YAC1BrO,EAAKF,SAAS,CAAE4nC,SAAS,QAE9B,CAAAtnC,IAAA,SAAAC,MAAA,WAGC,IAAI+D,EACA0jC,EA6BJ,OA5BA1jC,EAAU/E,KAAKM,MAAMgoC,OAASlnC,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,+DACzDf,IAAAC,cAAA,MAAIc,UAAU,sCAAqC,cAAWf,IAAAC,cAAA,KAAGc,UAAU,2CAC3Ef,IAAAC,cAAA,OAAKc,UAAU,IACbf,IAAAC,cAAA,KAAGc,UAAU,cAAa,yJAC1Bf,IAAAC,cAAA,KAAGc,UAAU,cAAa,8DAA2Df,IAAAC,cAAA,KAAGc,UAAU,mBAAmBgT,KAAK,sCAAqC,gBAC/J/T,IAAAC,cAAA,KAAGc,UAAU,qCAAqCgT,KAAK,KAAI,qBAEtD,GACTszB,EAAQzoC,KAAKM,MAAMgoC,OAkBV,GAlBmBlnC,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,gDACvDf,IAAAC,cAAA,MAAIc,UAAU,uCAAsC,8BACpDf,IAAAC,cAAA,KAAGc,UAAU,uBAAsB,6BACnCf,IAAAC,cAAA,QAAMc,UAAU,OAAOmP,SAAUtR,KAAKuoC,4BACpCnnC,IAAAC,cAAA,OAAKc,UAAU,eACbf,IAAAC,cAAA,SAAOc,UAAU,sBAAsBuU,QAAQ,SAAQ,kBACvDtV,IAAAC,cAAA,SACEc,UAAU,cACV+E,KAAK,QACLyK,YAAY,mBACZ3Q,MAAOhB,KAAKM,MAAMgH,MAClBoK,SAAU1R,KAAKqhC,kBACf7vB,UAAQ,IAEVpQ,IAAAC,cAAA,KAAGc,UAAU,cAAa,8EACxBnC,KAAKM,MAAM+nC,QAAWjnC,IAAAC,cAAA,UAAQc,UAAU,aAAaf,IAAAC,cAAA,OAAKc,UAAU,gBAAef,IAAAC,cAAA,YAAWD,IAAAC,cAAA,YAAWD,IAAAC,cAAA,YAAWD,IAAAC,cAAA,cAA6BD,IAAAC,cAAA,SAAOc,UAAU,4BAA4B+E,KAAK,SAASlG,MAAM,gBAMxNI,IAAAC,cAAA,WACED,IAAAC,cAAA,OAAKc,UAAU,QACbf,IAAAC,cAAA,UAAQc,UAAU,wCAAwCykB,KAAK,UAC7DxlB,IAAAC,cAAA,KAAGc,UAAU,iBAAiBgT,KAAK,KACjC/T,IAAAC,cAAA,KAAGc,UAAU,OAAM,6BAErBf,IAAAC,cAAA,MAAIc,UAAU,mCAAkCf,IAAAC,cAAA,KAAGc,UAAU,kBAAkBgT,KAAK,KAAI,qBAG5F/T,IAAAC,cAAA,OAAKc,UAAU,wBACZ4C,EACA0jC,QAIRL,EA/EiB,CAAShnC,IAAMiB,+BCA7BqmC,GAAW,SAAAhrB,GACf,SAAAgrB,EAAY7oC,GAAO,IAAAC,EAIf,OAJeC,YAAAC,KAAA0oC,IACjB5oC,EAAAG,YAAAD,KAAAE,YAAAwoC,GAAAvoC,KAAAH,KAAMH,KACDS,MAAQ,CACXa,cAAc,GACdrB,EAkBH,OAvBce,YAAA6nC,EAAAhrB,GAMd5c,YAAA4nC,EAAA,EAAA3nC,IAAA,oBAAAC,MAAA,cAEA,CAAAD,IAAA,SAAAC,MAAA,WAK0BhB,KAAKM,MAAtBa,aAER,OAAOC,IAAAC,cAACsnC,KAAM,CAAC/R,OAAQ52B,KAAKH,MAAMi1B,QAAQA,QAAS8T,MAAM,GACvDxnC,IAAAC,cAAA,OAAKc,UAAU,WACbf,IAAAC,cAAA,OAAKc,UAAU,OACbf,IAAAC,cAAA,OAAKc,UAAU,WAAef,IAAAC,cAAA,WAC9BD,IAAAC,cAAA,KAAG8P,MALiB,CAAE03B,IAAK,QAASC,MAAO,UAKb,qBAIrCJ,EAvBc,CAAStnC,IAAMiB,WAgCjBoQ,gBANS,SAAUnS,GAChC,MAAO,CACLw0B,QAASx0B,EAAMqS,YAAYmiB,UAIhBriB,CAAyBi2B,ICrC3BK,YAAgB,SAACC,GAC1B,IAAM37B,EAAO,IAAIgV,SAOjB,OALA3e,OAAO0V,KAAK4vB,GAAQC,QAAQ,SAASloC,EAAIoV,GACrC,IAAMnV,EAAMgoC,EAAOjoC,GACnBsM,EAAKiV,OAAOvhB,EAAqB,kBAAVC,EAAqB+nC,GAAc/nC,GAASA,KAGhEqM,cCPI67B,kBC4BTC,GAAW,CACfC,QAAO,GAAA9kC,OAHO,IAGK,SAGf+kC,GAAkB,SAAUp8B,GAChC,OAAOA,EAASI,MAQZi8B,GAAc,SAAC1kC,GACnB,GAAIA,EAAMqI,SACR,MAxCsB,SAAH3J,GAAwC,IAAzB+J,EAAI/J,EAAJ+J,KAAM7E,EAAMlF,EAANkF,OAAWjF,EAAIC,YAAAF,EAAA,mBACzD,OAAQkF,GACJ,KAAK,IACD,GAAKoZ,OAAO5J,SAAS7C,KAAKo0B,oBAAoBz6B,SAAS,SAGnD,OAAA5J,YAAA,CAASmI,OAAM7E,UAAWjF,GAF1BsK,GAAQtF,KAAK,UAIrB,MACF,KAAK,IACH,MAAO,CAAE3D,MAAO,aAClB,KAAK,IAEH,YADAiJ,GAAQtF,KAAK,QAEf,KAAK,IAGH,OAFAwG,QAAQnK,MAAK,UAAAN,OAAWkE,EAAM,MAAAlE,OAAKklC,KAAKC,UAAUp8B,UAClDQ,GAAQtF,KAAK,QAEf,QAEE,OADAwG,QAAQnK,MAAK,UAAAN,OAAWkE,EAAM,MAAAlE,OAAKklC,KAAKC,UAAUp8B,KAClDnI,YAAA,CAASmI,OAAM7E,UAAWjF,IAoBtBmmC,CAAkB9kC,EAAMqI,UAEhC,GAAIrI,EAAM6d,QAER,MADA1T,QAAQnK,MAAMA,EAAM6d,SACd,IAAIknB,MAAM,qDAIlB,MAFA56B,QAAQnK,MAAM,QAASA,EAAMrF,SAC7BwP,QAAQnK,MAAMA,EAAMglC,QACd,IAAID,MACR,yEAIElnB,GAAU,SAAUmnB,GACxB,OAAOxc,IACJ3K,SArB8B9V,EAqBLi9B,EApB5B1kC,YAAA,GAAaikC,GAAax8B,KAqBvBK,KAAKq8B,IACLl8B,MAAMm8B,IAvBc,IAAU38B,GC9BtBk9B,GAAuB,SAAUx8B,GAC1C,OAAOoV,GAAQ,CACX5V,IAAG,GAAAvI,OAJQ,eAIO,YAClBwlC,OAAQ,OACRz8B,KAAK07B,GAAc17B,MCErB08B,GAAK,SAAArsB,GACP,SAAAqsB,EAAYlqC,GAAO,IAAAC,EAAAC,YAAAC,KAAA+pC,IACfjqC,EAAAG,YAAAD,KAAAE,YAAA6pC,GAAA5pC,KAAAH,KAAMH,KA8DVmqC,0BAA4B,SAAUz9B,GAClCA,EAAEE,iBACF,IAAMw9B,EAAa,CAAE3iC,MAAOtH,KAAKM,MAAMonC,SAAU//B,SAAU3H,KAAKM,MAAMqH,UAChEhH,EAAOX,KACbkqC,GAAsCD,GAIjCj9B,KAAK,SAAUm9B,GACZ,IACMC,EADMD,EAAYzgC,MAAM,KACX,GAEb2gC,EADe,IAAIC,gBAAgBH,GAChB17B,IAAI27B,GAI7B,OAFAzpC,EAAK4pC,mBAAmBtlB,QAAQjkB,MAAQqpC,EACxC1pC,EAAK6pC,kBAAkBvlB,QAAQwlB,SACxBN,IAENn9B,KAAK,SAAUnC,GAEZ+W,OAAO5J,SAAS7C,KAAOtK,IAG9BsC,MAAMxM,EAAK+pC,gBACnB5qC,EAED6qC,kBAAoB,SAAUp+B,GAC1BvM,KAAKS,SAAS,CAAEsE,QAAS,OACzBwH,EAAEE,iBACFzM,KAAKH,MAAMgH,YAAY,eACvB,IAAMlG,EAAOX,MAETA,KAAK4qC,gBACKxd,IAAM9f,KAAI,6BAAAhJ,OAA8BtE,KAAK4qC,iBAAmB,CAAEhJ,MAAO5hC,KAAKM,MAAMonC,SAAU7F,SAAU7hC,KAAKM,MAAMqH,WACxHqF,KAAK,SAAUC,GACZtM,EAAKkqC,qBAAqB59B,EAASsV,QAAQvK,SAAU,kBACrDrX,EAAKF,SAAS,CAAEqqC,YAAa79B,EAASsV,QAAQvK,aAI5CoV,IAAM9f,KAAK,oBAAqB,CAAEs0B,MAAO5hC,KAAKM,MAAMonC,SAAU7F,SAAU7hC,KAAKM,MAAMqH,SAAUojC,iBAAkB/qC,KAAKM,MAAMsW,eAAgBo0B,kBAAmBhrC,KAAKM,MAAM2qC,kBAC7Kj+B,KAAK,WACFrM,EAAKd,MAAMq6B,eACXv5B,EAAKd,MAAMqrC,mBAIlB/9B,MAAMxM,EAAK+pC,eACX19B,KAAK,WACFrM,EAAKd,MAAMiH,YAAY,kBAElChH,EAED4qC,cAAgB,SAAUt9B,GACtB,IAAIvI,EAAe,GACblE,EAAOX,KACb,GAAIoN,GAAMA,EAAGH,UAAmC,MAAvBG,EAAGH,SAASzE,QAEjC,IADA3D,EAAeuI,EAAGH,SAASI,MACVyB,SAAS,wBACtB,OAAOse,IAAM9f,KAAK,sBAAuB,CAAEs0B,MAAOjhC,EAAKL,MAAMonC,WACxD16B,KAAK,SAAUw7B,GACRA,GACA7nC,EAAKF,SAAS,CAAEinC,SAAU,GAAI//B,SAAU,OAE/CwF,MAAM,SAAUZ,MAEhBS,KAAK,WACFrM,EAAKwqC,kBAAkBtmC,UAGnClE,EAAKwqC,kBAAkBtmC,IAE9B,IAAAumC,EArI0EvrC,EAA/D2H,MAA0D6jC,QAArD,IAAAD,EAAmD,GAAEA,GAAjDz+B,OAAM2+B,OAAA,IAAAD,EAAkC,GAAEA,EAAhCT,EAAeU,EAAfV,gBAAiBW,EAAQD,EAARC,SAyByB,OAxBrEzrC,EAAK8qC,gBAAkBA,EACvB9qC,EAAK0qC,kBAAoBppC,IAAMoqC,YAC/B1rC,EAAKyqC,mBAAqBnpC,IAAMoqC,YAChC1rC,EAAKQ,MAAQ,CACTmrC,aAAa,EACb/D,SAAU,GACV//B,SAAU,GACV9C,aAAc,GACd+R,gBAAgB,EAChBq0B,iBAAiB,EACjBM,YAEJzrC,EAAK4rC,iBAAmB5rC,EAAK4rC,iBAAiBxlC,KAAItF,wBAAAd,KAClDA,EAAKwhC,qBAAuBxhC,EAAKwhC,qBAAqBp7B,KAAItF,wBAAAd,KAC1DA,EAAK4qC,cAAgB5qC,EAAK4qC,cAAcxkC,KAAItF,wBAAAd,KAExCA,EAAK6qC,kBADQ,YAAbY,EACyBzrC,EAAKkqC,0BAA0B9jC,KAAItF,wBAAAd,KAGnCA,EAAK6qC,kBAAkBzkC,KAAItF,wBAAAd,KAExDA,EAAKqrC,kBAAoBrrC,EAAKqrC,kBAAkBjlC,KAAItF,wBAAAd,KACpDA,EAAK6rC,0BAA4B7rC,EAAK6rC,0BAA0BzlC,KAAItF,wBAAAd,KACpEA,EAAK8rC,qBAAuB9rC,EAAK8rC,qBAAqB1lC,KAAItF,wBAAAd,KAC1DA,EAAK+rC,uBAAyB/rC,EAAK+rC,uBAAuB3lC,KAAItF,wBAAAd,KAAOA,EA0MxE,OAtOMe,YAAAkpC,EAAArsB,GA6BN5c,YAAAipC,EAAA,EAAAhpC,IAAA,4BAAAC,MAAA,cAIA,CAAAD,IAAA,mBAAAC,MAAA,SACgBuL,GACbvM,KAAKS,SAAS,CAAEinC,SAAUn7B,EAAEnH,OAAOpE,UACtC,CAAAD,IAAA,uBAAAC,MAAA,SACoBuL,GACjBvM,KAAKS,SAAS,CAAEkH,SAAU4E,EAAEnH,OAAOpE,MAAOiqC,iBAAiB,MAC9D,CAAAlqC,IAAA,oBAAAC,MAAA,WACoC,IAAnB6D,EAAYb,UAAAC,OAAA,QAAAS,IAAAV,UAAA,GAAAA,UAAA,GAAG,GACR,KAAjBa,IACAA,EAAe,gEAEnB7E,KAAKS,SAAS,CAAEgrC,aAAa,EAAM5mC,aAAcA,MACpD,CAAA9D,IAAA,uBAAAC,MAAA,WAE8C,IAA1BzB,EAAOyE,UAAAC,OAAA,QAAAS,IAAAV,UAAA,GAAAA,UAAA,GAAG,GAAIxD,EAAKwD,UAAAC,OAAA,QAAAS,IAAAV,UAAA,GAAAA,UAAA,GAAG,GACvChE,KAAKS,SAAS,CAAEsE,QAAS,CAAExF,UAASiB,aACvC,CAAAO,IAAA,uBAAAC,MAAA,SAEoBuL,GACjBvM,KAAKS,SAAS,CACVmW,gBAAiB5W,KAAKM,MAAMsW,mBAEnC,CAAA7V,IAAA,yBAAAC,MAAA,SAEsBuL,GACnB,IAAIu/B,EpDuGmB,SAACzmC,GAC5B,IACI0mC,GADQ,KAAOtR,SAASuN,QACVt+B,MAAM,KAAOrE,EAAK+E,QAAQ,IAAK,OAAS,KAC1D,GAAoB,GAAhB2hC,EAAM9nC,OAAa,OAAO8nC,EAAMC,MAAMtiC,MAAM,KAAKuiC,QoD1G5BC,CAAgB,WAAalsC,KAAKM,MAAMonC,UACzDoE,GAAoC,MAAlBA,GAA4C,IAAlBA,GAC5C9rC,KAAKS,SAAS,CAAEwqC,iBAAiB,EAAMtjC,SAAUmkC,MAGxD,CAAA/qC,IAAA,SAAAC,MAAA,WA4EQ,IAAAC,EACsCjB,KAAKM,MAAxCyE,EAAO9D,EAAP8D,QAAS+lC,EAAW7pC,EAAX6pC,YAAqB7pC,EAARsqC,SAK9B,OAAIT,EACO1pC,IAAAC,cAACoC,IAAK,CAACK,UAAW,WAErB,OADA8d,OAAO5J,SAAS7C,KAAO21B,EAChB,QAGX1pC,IAAAC,cAAA,WACID,IAAAC,cAAA,OAAKc,UAAU,QACXf,IAAAC,cAAA,UAAQc,UAAU,wCAAwCykB,KAAK,UAC3DxlB,IAAAC,cAAA,KAAGc,UAAU,iBAAiBgT,KAAK,uCAC/B/T,IAAAC,cAAA,KAAGc,UAAU,OAAM,6BAEvBf,IAAAC,cAAA,MAAIc,UAAU,mCAAkCf,IAAAC,cAAA,KAAGc,UAAU,kBAAkBgT,KAAK,KAAI,qBAGhG/T,IAAAC,cAAA,OAAKc,UAAU,QACXf,IAAAC,cAAA,OAAKc,UAAU,yBACXf,IAAAC,cAAA,MAAI8P,MAAO,CAAEqqB,aAAc,MAAO15B,MAAO,SAAWK,UAAU,gCAA+B,uEAGrGf,IAAAC,cAAA,OAAKc,UAAU,eACXf,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,gDACvBnC,KAAKM,MAAMmrC,YACTrqC,IAAAC,cAAA,OAAKc,UAAU,uBACXf,IAAAC,cAAA,OAAKc,UAAU,UAAS,eACxBf,IAAAC,cAAA,SAAIrB,KAAKM,MAAMuE,eACV,GACXE,EACE3D,IAAAC,cAAA,OAAKc,UAAU,uBACXf,IAAAC,cAAA,OAAKc,UAAU,UAAU4C,EAAQvE,OACjCY,IAAAC,cAAA,SAAI0D,EAAQxF,UACP,GACb6B,IAAAC,cAAA,MAAIc,UAAU,gCAA+B,UAC7Cf,IAAAC,cAAA,QAAMc,UAAU,OAAOmP,SAAUtR,KAAK2qC,mBAClCvpC,IAAAC,cAAA,OAAKc,UAAU,eACXf,IAAAC,cAAA,SAAOc,UAAU,sBAAsBuU,QAAQ,SAAQ,kBACvDtV,IAAAC,cAAA,SACIc,UAAU,cACV+E,KAAK,QACLyK,YAAY,gBACZ3Q,MAAOhB,KAAKM,MAAMonC,SAClBh2B,SAAU1R,KAAK0rC,iBACfl6B,UAAQ,IAEZpQ,IAAAC,cAAA,SAAOc,UAAU,sBAAsBuU,QAAQ,YAAW,aAC1DtV,IAAAC,cAAA,SACIc,UAAU,cACV+E,KAAK,WACLyK,YAAY,WACZ3Q,MAAOhB,KAAKM,MAAMqH,SAClB+J,SAAU1R,KAAKshC,qBAAsBvnB,QAAS/Z,KAAK6rC,uBACnDr6B,UAAQ,EACRL,MAAO,CAAEqqB,aAAc,SAE3Bp6B,IAAAC,cAAA,OAAKyV,GAAG,iBACJ1V,IAAAC,cAAA,WACID,IAAAC,cAAA,SAAOqV,QAAQ,oBAAoBvF,MAAO,CAAE4E,SAAU,SAClD3U,IAAAC,cAAA,SAAO6F,KAAK,WACRyP,eAAgB3W,KAAKM,MAAMsW,eAC3BC,IAAI,oBACJnF,SAAU1R,KAAK4rC,qBAAsB90B,GAAG,oBACxC3U,UAAU,2BACdf,IAAAC,cAAA,QAAMc,UAAU,6BAChBf,IAAAC,cAAA,QAAM2kB,MAAM,0BAAyB,sBACjC5kB,IAAAC,cAAA,KAAGc,UAAU,qBAAqBgP,MAAO,CAAE4J,YAAa,OAC5Dva,MAAM,0EACdY,IAAAC,cAAA,OAAKc,UAAU,kBAAiB,IAACf,IAAAC,cAAC4P,IAAI,CAAC9O,UAAU,wBAAwB+O,GAAG,kBAAkBC,MAAO,CAAErP,MAAO,WAAaD,QAAS7B,KAAK2rC,2BAA2B,sBAGxKvqC,IAAAC,cAAA,SAAOc,UAAU,oCAAoC+E,KAAK,SAASlG,MAAM,SAASmQ,MAAO,CAAEia,UAAW,MAAO/Z,MAAO,YAQ5HjQ,IAAAC,cAAA,QAAMwV,IAAK7W,KAAKwqC,kBAAmB2B,OAAM,WAAA7nC,OAjFvC,iCAiF6D,eAAewlC,OAAO,QACjF1oC,IAAAC,cAAA,SAAOwV,IAAK7W,KAAKuqC,mBAAoBrjC,KAAK,SAAS7B,KAAK,gBAO/E0kC,EAtOM,CAAS3oC,IAAMiB,WA+OX4xB,oBAAWxhB,aAAQ,KANlC,SAA4BG,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,OAGpEsL,CAAkCs3B,KCxI7CqC,GAjHO,SAAA1uB,GACpB,SAAA0uB,EAAYvsC,GAAO,IAAAC,EAK8C,OAL9CC,YAAAC,KAAAosC,IACjBtsC,EAAAG,YAAAD,KAAAE,YAAAksC,GAAAjsC,KAAAH,KAAMH,KASRwsC,uBAAyB,WACvB,IAAI1rC,EAAIC,wBAAAd,IACRA,EAAKD,MAAMymB,iBAAiB,IAC5B,IAAMgmB,EAASlf,IAAM3e,IAAG,qCAAAnK,OAAsCxE,EAAKQ,MAAMisC,mBACrED,GACFA,EACGt/B,KAAK,WACJrM,EAAKd,MAAMq6B,iBAEZ/sB,MAAM,SAAUvI,GACfjE,EAAKd,MAAMymB,iBAAiB1hB,EAAMqI,SAASI,SAElDvN,EAED0sC,qBAAuB,WACrB,IAAM7rC,EAAOX,KAEb,OAAOotB,IAAM9f,KAAK,eAAeN,KAAK,SAAUC,GAE1CA,IACFtM,EAAKd,MAAMq6B,eACXtY,OAAO5J,SAAS7C,KAAO,OAExBhI,MAAM,SAAUZ,GACjBwC,QAAQnK,MAAM2H,MAEjBzM,EAED2sC,6BAA+B,WAC7B3sC,EAAKD,MAAMymB,iBAAiB,8BAC5BxmB,EAAKW,SAAS,CAAE4nC,SAAS,EAAMkE,iBAAkB,MAClDzsC,EAED4sC,8BAAgC,SAACngC,GAC/BA,EAAEE,iBACF3M,EAAKW,SAAS,CAAE8rC,iBAAkBhgC,EAAEnH,OAAOpE,SAC5ClB,EAED6sC,kCAAoC,SAACpgC,GACnCA,EAAEE,iBACF,IAAI9L,EAAIC,wBAAAd,IACFwsC,EAASlf,IAAM3e,IAAI,6BACrB69B,GACFA,EACGt/B,KAAK,WACJrM,EAAKd,MAAM+iC,mBAAmB,4CAE/Bz1B,MAAM,SAAUvI,GACfjE,EAAKd,MAAMymB,iBAAiB1hB,EAAMqI,SAASI,SAElDvN,EACD8sC,oCAAsC,SAACrgC,GACrCA,EAAEE,iBACF,IAAI9L,EAAIC,wBAAAd,IACFwsC,EAASlf,IAAM3e,IAAI,+BACrB69B,GACFA,EACGt/B,KAAK,WACJrM,EAAKd,MAAM+iC,mBAAmB,oCAE/Bz1B,MAAM,SAAUvI,GACfjE,EAAKd,MAAMymB,iBAAiB1hB,EAAMqI,SAASI,SArEjDvN,EAAKQ,MAAQ,CACXisC,iBAAkB,IAEpBzsC,EAAK0sC,qBAAqB1sC,EAAK0sC,qBAAqBtmC,KAAItF,wBAAAd,KAAOA,EAwGhE,OA9GmBe,YAAAurC,EAAA1uB,GAOnB5c,YAAAsrC,EAAA,EAAArrC,IAAA,oBAAAC,MAAA,cAEA,CAAAD,IAAA,SAAAC,MAAA,WAoGC,OAhCEI,IAAAC,cAAA,QAAMc,UAAU,OAAOgqC,OAAO,yBAAyBrC,OAAO,QAC5D1oC,IAAAC,cAAA,OAAKc,UAAU,eACbf,IAAAC,cAAA,KAAGc,UAAU,cAAa,2CAExBnC,KAAKM,MAAM+nC,QAAWjnC,IAAAC,cAAA,UAAQc,UAAU,aAAaf,IAAAC,cAAA,OAAKc,UAAU,kBAClEf,IAAAC,cAAA,OAAKc,UAAU,wCACff,IAAAC,cAAA,UAAQc,UAAU,YAAYN,QAAS7B,KAAK2sC,kCAAmC37B,UAAWhR,KAAKH,MAAMuD,KAAK,OAC1GhC,IAAAC,cAAA,OAAKc,UAAU,OACff,IAAAC,cAAA,UAAQc,UAAU,YAAYN,QAAS7B,KAAK4sC,qCAAqC,UAErFxrC,IAAAC,cAAA,OAAKc,UAAU,0BAEff,IAAAC,cAAA,SACEc,UAAU,cACV+E,KAAK,OACLyK,YAAY,OACZ3Q,MAAOhB,KAAKM,MAAMisC,iBAClB76B,SAAU1R,KAAK0sC,gCAGjBtrC,IAAAC,cAAA,SAAOc,UAAU,uBAAuB+E,KAAK,SAASlG,MAAM,cAAca,QAAS7B,KAAKqsC,yBACxFjrC,IAAAC,cAAA,OAAKc,UAAU,yBAAwB,UACvCf,IAAAC,cAAA,OAAKc,UAAU,mCACbf,IAAAC,cAAA,UAAQc,UAAU,iBAAiBkD,KAAK,WAAW6B,KAAK,SAASlG,MAAM,aAAYI,IAAAC,cAAA,KAAGc,UAAU,mBAAqB,aACrHf,IAAAC,cAAA,OAAKc,UAAU,OACff,IAAAC,cAAA,UAAQc,UAAU,wBAAwBkD,KAAK,WAAW6B,KAAK,SAASlG,MAAM,UAASI,IAAAC,cAAA,KAAGc,UAAU,gBAAkB,WAExHf,IAAAC,cAAA,OAAKc,UAAU,yBAAwB,MACvCf,IAAAC,cAAA,SAAOc,UAAU,uBAAuB+E,KAAK,SAASrF,QAAS7B,KAAKwsC,qBAAsBxrC,MAAM,kBAKvGorC,EA9GmB,CAAShrC,IAAMiB,WCA/BwqC,GAAiB,SAAAnvB,GACrB,SAAAmvB,EAAYhtC,GAAO,IAAAC,EAAAC,YAAAC,KAAA6sC,GACjB,IAAMC,EAAkB,IAAIxC,gBAAgBzqC,EAAMmY,SAASiO,QAAQxX,IAAI,SAKrE,OAJF3O,EAAAG,YAAAD,KAAAE,YAAA2sC,GAAA1sC,KAAAH,KAAMH,KAMR+iC,mBAAqB,SAACprB,GACpB1X,EAAKW,SAAS,CAAEuE,eAAgBwS,EAAK3S,aAAc,MACpD/E,EACDwmB,iBAAmB,SAAC9O,GAClB1X,EAAKW,SAAS,CAAEoE,aAAc2S,EAAKxS,eAAgB,MATnDlF,EAAKQ,MAAQ,CACXuE,aAAkC,OAApBioC,EAA2B,GAAKA,EAC9C9nC,eAAgB,IAChBlF,EA+CH,OAtDoBe,YAAAgsC,EAAAnvB,GAQpB5c,YAAA+rC,EAAA,EAAA9rC,IAAA,SAAAC,MAAA,WAUC,OACEI,IAAAC,cAAA,WACED,IAAAC,cAAA,OAAKc,UAAU,QACbf,IAAAC,cAAA,UAAQc,UAAU,wCAAwCykB,KAAK,UAC7DxlB,IAAAC,cAAA,KAAGc,UAAU,iBAAiBgT,KAAK,uCACjC/T,IAAAC,cAAA,KAAGc,UAAU,OAAM,6BAErBf,IAAAC,cAAA,MAAIc,UAAU,mCAAkCf,IAAAC,cAAA,KAAGc,UAAU,kBAAkBgT,KAAK,KAAI,qBAG5F/T,IAAAC,cAAA,OAAKc,UAAU,QACbf,IAAAC,cAAA,OAAKc,UAAU,yBACbf,IAAAC,cAAA,MAAIc,UAAU,gCAAgCnC,KAAKH,MAAMktC,iBAG7D3rC,IAAAC,cAAA,OAAKc,UAAU,eACbf,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,gDACG,KAA5BnC,KAAKM,MAAMuE,aACXzD,IAAAC,cAAA,OAAKc,UAAU,uBACbf,IAAAC,cAAA,OAAKc,UAAU,UAAS,sBACxBf,IAAAC,cAAA,SAAIrB,KAAKM,MAAMuE,eAA0B,GACb,KAA9B7E,KAAKM,MAAM0E,eACX5D,IAAAC,cAAA,OAAKc,UAAU,uBACbf,IAAAC,cAAA,OAAKc,UAAU,UAAS,sBACxBf,IAAAC,cAAA,SAAIrB,KAAKM,MAAM0E,iBAA4B,GAC9C5D,IAAM4rC,aACLhtC,KAAKH,MAAMwG,SACX,CACEigB,iBAAmBtmB,KAAKsmB,iBACxBsc,mBAAoB5iC,KAAK4iC,mBACzB/0B,QA/BC7N,KA+BaH,MAAMgO,iBAMjCg/B,EAtDoB,CAASzrC,IAAMiB,WAyDvB4xB,gBAAY4Y,ICvB3B,IAOep6B,gBAPS,SAAUnS,GAC9B,MAAO,CACHyE,QAASzE,EAAMqS,YAAYs6B,MAAMloC,QACjCH,MAAOtE,EAAMqS,YAAYs6B,MAAMroC,QAIxB6N,CAzCf,SAAkB5S,GA6Bd,OA3BIA,EAAMkF,QAENkoC,gBAAM,CACF/lC,KAAM,UACNiX,KAAM,QACN3d,MAAOX,EAAMkF,QAAQvE,MACrB0sC,YAAartC,EAAMkF,QAAQxF,QAC3B4tC,UAAW,SACXC,KAAM,IACNvrC,QAAS,WAAckN,QAAQ4Z,IAAG,uCAClCtW,QAAS,WAActD,QAAQ4Z,IAAG,gCAE/B9oB,EAAM+E,OAEbqoC,gBAAM,CACF/lC,KAAM,QACNiX,KAAM,QACN3d,MAAOX,EAAM+E,MAAMpE,MACnB0sC,YAAartC,EAAM+E,MAAMrF,QACzB4tC,UAAW,SACXC,KAAM,IACNvrC,QAAS,WAAF,OAAQkN,QAAQ4Z,IAAG,uCAC1BtW,QAAS,WAAF,OAAQtD,QAAQ4Z,IAAG,gCAM9BvnB,IAAAC,cAACgsC,yBAAsB,CAAC5mC,SAAS,mBC9BnC6mC,GAAiB,iCA2CRrZ,IC1BJyM,GAAqBxG,GD0BjBjG,gBAzCf,SAAgBp0B,GACZ,IAAM0rC,EAAW1rC,EAAM2H,MAAMmF,OAAO4+B,SAAQgC,EACwC/Z,KAAYC,MAAM5zB,EAAMmY,SAASiO,QAAOunB,EAAAD,EAAnH,YAAaE,OAAO,IAAAD,EAAGF,GAAcE,EAAAE,EAAAH,EAAEI,KAAMntC,OAAK,IAAAktC,EAAG,SAAQA,EAAEnuC,EAAOguC,EAAPhuC,QAEpEwC,EAAUX,IAAAC,cAAAD,IAAAkF,SAAA,KAAE,2BAAwBlF,IAAAC,cAAA,SAAIkqC,IAY5C,OAVIhsC,IACAwC,EAAUxC,GAGVkuC,GACAG,WAAW,WACPhsB,OAAO5J,SAAS7C,KAAOs4B,GACxB,KAIHrsC,IAAAC,cAAA,WAAKD,IAAAC,cAAA,OAAKc,UAAU,QAChBf,IAAAC,cAAA,UAAQc,UAAU,wCAAwCykB,KAAK,UAC3DxlB,IAAAC,cAAA,KAAGc,UAAU,iBAAiBgT,KAAK,KAC/B/T,IAAAC,cAAA,KAAGc,UAAU,OAAM,6BAEvBf,IAAAC,cAAA,MAAIc,UAAU,mCAAkCf,IAAAC,cAAA,KAAGc,UAAU,kBAAkBgT,KAAK,KAAI,qBAG5F/T,IAAAC,cAAA,OAAKc,UAAU,wBACXf,IAAAC,cAAA,OAAKyV,GAAG,WAAW3U,UAAU,+DACzBf,IAAAC,cAAA,MAAIc,UAAU,qCAAqCgP,MAAO,CAAEqqB,aAAc,IAAMh7B,EAAM,GAAGo3B,cAAgBp3B,EAAMk/B,UAAU,IACzHt+B,IAAAC,cAAA,OAAKc,UAAU,cAAcJ,EAAQ,KAAOX,IAAAC,cAAA,WAC5CD,IAAAC,cAAA,OAAKc,UAAU,IACA,UAAV3B,GAAqBY,IAAAC,cAAAD,IAAAkF,SAAA,KAAE,4DAAyDlF,IAAAC,cAAA,KAAGc,UAAU,mBAAmBgT,KAAK,yCAAwC,mCAAsC/T,IAAAC,cAAA,WAAMD,IAAAC,cAAA,WAAMD,IAAAC,cAAA,WAC/MosC,GAAWrsC,IAAAC,cAAA,KAAGc,UAAU,qCAAqCgT,KAAMs4B,GAAS,wBCd/FI,GAAI,SAAAnwB,GACN,SAAAmwB,EAAYhuC,GAAO,IAAAC,EAAAC,YAAAC,KAAA6tC,IACf/tC,EAAAG,YAAAD,KAAAE,YAAA2tC,GAAA1tC,KAAAH,KAAMH,KA8DViuC,OAAS,WACL,IAAMntC,EAAOX,KACb,OAAOotB,IAAM9f,KAAK,eACbN,KAAK,WACFrM,EAAKF,SAAS,CAAEstC,eAAe,EAAOC,OAAO,EAAM3gC,KAAM,CAAEhI,KAAM,MACjE1E,EAAKstC,YAER9gC,MAAM,SAAUZ,GAEb5L,EAAKF,SAAS,CAAEstC,eAAe,EAAOC,OAAO,EAAM3gC,KAAM,CAAEhI,KAAM,MACjE0J,QAAQnK,MAAM2H,MAEzBzM,EAUDouC,cAAgB,SAACC,GAA0B,IAAhB9gC,EAAIrJ,UAAAC,OAAA,QAAAS,IAAAV,UAAA,GAAAA,UAAA,GAAG,KAC1BoqC,EAAW,KACf,GAAa,OAAT/gC,EAAe,CACf,IAAIghC,EAAYvuC,EAAKQ,MAAM6tC,GAC3BC,EAAQlpC,YAAA,GAAQmpC,EAAchhC,GAElCvN,EAAKW,SAAQuF,YAAA,GAAImoC,EAAWC,KAC/BtuC,EAEDwuC,gBAAkB,SAAUH,GACxB,OAAOnuC,KAAKM,MAAM6tC,IACrBruC,EAEDyuC,gBAAkB,WACd,IAAM5tC,EAAOX,KACbotB,IAAM3e,IAAI,mBAAoB,CAAE9B,OAAQ,CAAE2N,QAASlE,KAAKC,YACnDrJ,KAAK,SAAUwhC,GAGR,IAAIC,EADJD,IAEiB,MAAbA,EAAKnhC,MAEDohC,EADAD,EAAKnhC,KAAKrK,iBACC,CAAE+qC,eAAe,EAAM/qC,kBAAkB,EAAMqK,KAAM,CAAEhI,KAAM,IAAMjC,IAAKorC,EAAKnhC,KAAKjK,KAElF,CAAE2qC,eAAe,EAAMC,OAAO,EAAMhrC,kBAAkB,EAAOqK,KAAMmhC,EAAKnhC,MAGnF1M,EAAK+tC,mBAAqBD,EAASphC,KAAKgqB,cACxC12B,EAAK+mC,SAAW+G,EAASphC,KAAKhI,KAC9B1E,EAAKF,SAAS,CAAEkuC,wBAAyBhuC,EAAKL,MAAMquC,2BAGxDF,EAAW,CAAEV,eAAe,EAAOC,OAAO,EAAM3gC,KAAM,CAAEhI,KAAM,KAElE1E,EAAKd,MAAM+uC,iBAAiBH,GAC5B9tC,EAAKF,SAASguC,MAGrBthC,MAAM,SAAUZ,GACb5L,EAAKF,SAAS,CAAEstC,eAAe,EAAOC,OAAO,EAAM3gC,KAAM,CAAEhI,KAAM,MACjE0J,QAAQnK,MAAM2H,MAGzBzM,EAEDw4B,kBAAoB,WAChBx4B,EAAKyuC,mBACRzuC,EAEDk6B,YAAc,WACVl6B,EAAKD,MAAM0Y,qBACdzY,EAED+uC,wBAA0B,WACZjuC,wBAAAd,IACLW,SAAS,CAAEkuC,wBAAwB,KA1IxC7uC,EAAK4nC,SAAW,GAChB5nC,EAAKQ,MAAQ,CACTytC,eAAe,EACfC,OAAO,EACPhrC,kBAAkB,EAClBqK,KAAM,GACNshC,wBAAwB,GAE5B7uC,EAAKyuC,gBAAkBzuC,EAAKyuC,gBAAgBroC,KAAItF,wBAAAd,KAChDA,EAAK+uC,wBAA0B/uC,EAAK+uC,wBAAwB3oC,KAAItF,wBAAAd,KAChEA,EAAKw4B,kBAAoBx4B,EAAKw4B,kBAAkBpyB,KAAItF,wBAAAd,KACpD,IAAIa,EAAIC,wBAAAd,IA8BR,IAAK,IAAI2vB,KA5BTyK,GAAev5B,EAAK4tC,gBACpB7N,GAAsB,SAACyN,GACnB,MAAO,CACH9gC,WACI,IAAIrM,EAAQL,EAAK2tC,gBAAe,GAAAhqC,OAAI6pC,EAAQ,SAC5C,YAAczpC,IAAV1D,EACO,GAEAA,GAEfqM,SAASrM,GACLL,EAAKutC,cAAa,GAAA5pC,OAAI6pC,EAAQ,QAAQntC,MAIlDlB,EAAKgvC,OAAS,CACV,OACA,YACA,YACA,QACA,SACA,YAGJhvC,EAAKguC,OAAShuC,EAAKguC,OAAO5nC,KAAItF,wBAAAd,KAC9BA,EAAKyuC,gBAAkBzuC,EAAKyuC,gBAAgBroC,KAAItF,wBAAAd,KAChDA,EAAKivC,aAAejvC,EAAKivC,aAAa7oC,KAAItF,wBAAAd,KAE5BA,EAAKgvC,OACfltB,OAAOgmB,iBAAiB9nC,EAAKgvC,OAAOrf,GAAI3vB,EAAKivC,cAG/B,OAAlBjvC,EAAK8tC,aAAa9tC,EAiMrB,OAjPKe,YAAAgtC,EAAAnwB,GAiDL5c,YAAA+sC,EAAA,EAAA9sC,IAAA,eAAAC,MAAA,SAAAguC,GAAA,SAAAC,IAAA,OAAAD,EAAA3qC,MAAArE,KAAAgE,WAAA,OAAAirC,EAAAjgC,SAAA,kBAAAggC,EAAAhgC,YAAAigC,EAAA,YAGOjvC,KAAKkvC,eAAeD,aAAajvC,KAAKkvC,kBAC7C,CAAAnuC,IAAA,aAAAC,MAAA,SAAAmuC,GAAA,SAAAvB,IAAA,OAAAuB,EAAA9qC,MAAArE,KAAAgE,WAAA,OAAA4pC,EAAA5+B,SAAA,kBAAAmgC,EAAAngC,YAAA4+B,EAAA,YAGG5tC,KAAKkvC,cAAgBtB,WAAW5tC,KAAK8tC,OAAQ,SAChD,CAAA/sC,IAAA,eAAAC,MAAA,WAGGhB,KAAKivC,eACLjvC,KAAK4tC,eACR,CAAA7sC,IAAA,UAAAC,MAAA,WAmBG,IAAK,IAAIyuB,KAFTzvB,KAAKivC,eAESjvC,KAAK8uC,OACfltB,OAAOimB,oBAAoB7nC,KAAK8uC,OAAOrf,GAAIzvB,KAAK+uC,gBAEvD,CAAAhuC,IAAA,SAAAC,MAAA,WA4DQ,IAAA4O,EAAA5P,KACDovC,EAAUhuC,IAAAC,cAAA,YA0Dd,OArDI+tC,EAHaxtB,OAAO5J,SAASykB,SAEpBnf,WAAW,0BAEhBlc,IAAAC,cAACguC,IAAM,KACHjuC,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,mBAAmBxU,UAAWimC,KACrD3oC,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,0CAA0CxU,UAAWimC,OAGjF/pC,KAAKM,MAAM0C,kBAAoBhD,KAAKM,MAAMytC,cACvC3sC,IAAAC,cAACguC,IAAM,KACbjuC,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,mBAAmBxU,UAAWimC,KACrD3oC,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,kBAAkBxU,UAAWskC,GAAgBlO,aAAcl6B,KAAKuuC,kBACvFntC,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,oBAAoBxU,UAAWwrC,KACtDluC,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,iBAAiBxU,UAAWmvB,GAAeyU,SAAU1nC,KAAKM,MAAM+M,KAAKhI,KAAMwQ,QAAS7V,KAAKM,MAAM+M,KAAKiD,cAAe4pB,aAAcl6B,KAAKuuC,kBAC7JntC,IAAAC,cAACoC,IAAK,CAACG,OAAQ,WAAF,OACTxC,IAAAC,cAACwrC,GAAiB,KACdzrC,IAAAC,cAAC+qC,GAAgB,CAAClS,aAActqB,EAAK2+B,gBAAiBnrC,IAAKwM,EAAKtP,MAAM8C,YAKjFpD,KAAKM,MAAMytC,cAEZ3sC,IAAAC,cAACguC,IAAM,KACHjuC,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,oBAAoBxU,UAAWwrC,KACtDluC,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,mBAAmBxU,UAAWimC,KACrD3oC,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,IAAIxU,UAAWmjC,GAAaS,SAAU1nC,KAAKM,MAAM+M,KAAKhI,KAAMwQ,QAAS7V,KAAKM,MAAM+M,KAAKiD,cAAe4pB,aAAcl6B,KAAKuuC,kBAC9IntC,IAAAC,cAACgC,GAAU,CAACiV,KAAK,iBAAiB4hB,aAAcl6B,KAAKuuC,gBAAiBzqC,UAAWqU,GAAOrV,gBAAeoC,YAAA,GAAOlF,KAAKM,MAAM+M,KAAI,CAAErK,kBAAkB,MACjJ5B,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,iBAAiBxU,UAAWmvB,GAAeyU,SAAU1nC,KAAKM,MAAM+M,KAAKhI,KAAMwQ,QAAS7V,KAAKM,MAAM+M,KAAKiD,cAAe4pB,aAAcl6B,KAAKuuC,kBAC7JntC,IAAAC,cAACgC,GAAU,CAACiV,KAAK,kBAAkB4hB,aAAcl6B,KAAKuuC,gBAAiBzqC,UAAWqU,GAAOrV,gBAAeoC,YAAA,GAAOlF,KAAKM,MAAM+M,KAAI,CAAErK,kBAAkB,MAClJ5B,IAAAC,cAACgC,GAAU,CAACiV,KAAK,WAAW4hB,aAAcl6B,KAAKuuC,gBAAiBzqC,UAAWqU,GAAOrV,gBAAeoC,YAAA,GAAOlF,KAAKM,MAAM+M,KAAI,CAAErK,kBAAkB,MAC3I5B,IAAAC,cAACgC,GAAU,CAACiV,KAAK,QAAQ4hB,aAAcl6B,KAAKuuC,gBAAiBzqC,UAAWqU,GAAOrV,gBAAeoC,YAAA,GAAOlF,KAAKM,MAAM+M,KAAI,CAAErK,kBAAkB,MACxI5B,IAAAC,cAACgC,GAAU,CAACiV,KAAK,WAAW4hB,aAAcl6B,KAAKuuC,gBAAiBzqC,UAAWqU,GAAOrV,gBAAeoC,YAAA,GAAOlF,KAAKM,MAAM+M,KAAI,CAAErK,kBAAkB,MAC3I5B,IAAAC,cAACgC,GAAU,CAACiV,KAAK,eAAe4hB,aAAcl6B,KAAKuuC,gBAAiBzqC,UAAWmjC,GAAaS,SAAU1nC,KAAKM,MAAM+M,KAAKhI,KAAMwQ,QAAS7V,KAAKM,MAAM+M,KAAKiD,cAAeoV,UAAW1lB,KAAKM,MAAM+M,KAAKqY,YAC/LtkB,IAAAC,cAACoC,IAAK,CAACK,UAAWyrC,OAIzBvvC,KAAKM,MAAM0tC,MAEZ5sC,IAAAC,cAACguC,IAAM,KACHjuC,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,oBAAoBxU,UAAWwrC,KACtDluC,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,mBAAmBxU,UAAWimC,KACrD3oC,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,kBAAkBxU,UAAWskC,GAAgBlO,aAAcl6B,KAAKuuC,kBACvFntC,IAAAC,cAACgC,GAAU,CAACgV,OAAK,EAACC,KAAK,iBAAiBxU,UAAWmvB,GAAeyU,SAAU1nC,KAAKM,MAAM+M,KAAKhI,KAAMwQ,QAAS7V,KAAKM,MAAM+M,KAAKiD,cAAe4pB,aAAcl6B,KAAKuuC,kBAC7JntC,IAAAC,cAACoC,IAAK,CAACG,OAAQ,WAAF,OAAQxC,IAAAC,cAAC0oC,GAAK,CAAC7P,aAActqB,EAAK2+B,gBAAiBrD,cAAe,WAAF,OAAQt7B,EAAK8+B,kBAAmB,UAI/GttC,IAAAC,cAAA,YAEPD,IAAAC,cAAA,WACHD,IAAAC,cAACqnC,GAAW,MACZtnC,IAAAC,cAACmuC,GAAQ,MACRJ,EACDhuC,IAAAC,cAACC,IAAK,CAACsP,KAAK,OAAOrP,KAAMvB,KAAKM,MAAMquC,uBAAwBt8B,QAAS,WAAF,OAAQzC,EAAKnP,SAAS,CAAEkuC,wBAAwB,MAC/GvtC,IAAAC,cAACC,IAAME,OAAM,KAAC,sCACdJ,IAAAC,cAACC,IAAMG,QAAO,CAAC0P,MAAO,CAAE6E,WAAY,MAAOC,cAAe,QACtD7U,IAAAC,cAACC,IAAMgR,YAAW,KACdlR,IAAAC,cAACoU,IAAI,CAACC,QAAS,GAAIvE,MAAO,CAAE6E,WAAY,QACpC5U,IAAAC,cAACoU,IAAKE,IAAG,CAACpD,UAAU,QAChBnR,IAAAC,cAAA,SAAG,MAAIrB,KAAK0nC,SAAS,KACrBtmC,IAAAC,cAAA,YAAM,kJAEVD,IAAAC,cAACoU,IAAKE,IAAG,CAACpD,UAAU,OAAOpB,MAAO,CAAE6E,WAAY,QAC5C5U,IAAAC,cAACoU,IAAKG,OAAM,CAACvE,MAAM,KAAKF,MAAO,CAAE4J,YAAa,QAC1C3Z,IAAAC,cAAA,OAAKc,UAAU,sBACXf,IAAAC,cAACguC,IAAM,KACHjuC,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACM,IAAM,CAACkP,SAAO,EAACD,KAAK,UAASxP,IAAAC,cAAC4P,IAAI,CAACE,MAAO,CAAErP,MAAO,WAAaoP,GAAG,mBAAmBrP,QAAS7B,KAAKg6B,aAAa,qBAG1H54B,IAAAC,cAACguC,IAAM,KACHjuC,IAAAC,cAAC+W,IAAM,KACHhX,IAAAC,cAACM,IAAM,CAACoP,WAAS,EAACH,KAAK,SAAS7O,QAAQ,cAAcF,QAAS7B,KAAK6uC,+BAMxFztC,IAAAC,cAACoU,IAAKE,IAAG,CAACpD,UAAU,QAChBnR,IAAAC,cAAA,YAAM,gDACND,IAAAC,cAAA,QAAM8P,MAAO,CAAE4E,SAAU,SAAU,sDAAmD3U,IAAAC,cAAA,KAAG8P,MAAO,CAAErP,MAAO,WAAaqT,KAAK,4FAA4F/P,OAAO,UAAS,6BAOlQyoC,EAjPK,CAASzsC,IAAMiB,WAmPnBktC,GAAU,SAAHjsC,GAAA,IAAM0U,EAAQ1U,EAAR0U,SAAQ,OACvB5W,IAAAC,cAAA,WACID,IAAAC,cAAA,UAAI,gBAAaD,IAAAC,cAAA,YAAO2W,EAASykB,aAWnCp5B,GAAa,SAAHsC,GAA+B,IAAzB7B,EAAS6B,EAAT7B,UAAcP,EAAIC,YAAAmC,EAAA,eACpC,OACIvE,IAAAC,cAACoC,IAAKC,OAAAC,OAAA,GAAKJ,EAAI,CAAEK,OAAQ,SAACC,GACtB,OAVc,SAACC,GAAuB,QAAAC,EAAAC,UAAAC,OAATV,EAAI,IAAAW,MAAAH,EAAA,EAAAA,EAAA,KAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJZ,EAAIY,EAAA,GAAAH,UAAAG,GACzC,IAAMC,EAAaV,OAAOC,OAAMU,MAAbX,OAAM,CAAQ,IAAEY,OAAKf,IACxC,OACInC,IAAMC,cAAcyC,EAAWM,GAOpBG,CAAkBT,EAAWD,EAAYN,QAgB7CkP,oBAAQ,KAVvB,SAA4BG,GACxB,MAAO,CACH/L,YAAa,SAAUM,GAAU,OAAOyL,EAAS5L,EAAyBH,YAAYM,KACtFL,YAAa,SAAUK,GAAU,OAAOyL,EAAS5L,EAAyBF,YAAYK,KACtFynC,iBAAkB,SAAU3nC,GACxB2L,EAAS5L,EAAyBJ,eAAeK,OAK9CwL,CAAkCo7B,cCxS3C4B,GAAe,CACjBp/B,YAAa,GACbykB,QAAS,CACL4a,MAAO,GACP5a,SAAS,GAEbmY,MAAO,ICHL0C,GAAWC,aAAgB,CAC7Bj9B,YDK8B,WAA6C,IAA5CrS,EAAK0D,UAAAC,OAAA,QAAAS,IAAAV,UAAA,GAAAA,UAAA,GAAGyrC,GAAYnsC,EAAAU,UAAAC,OAAA,EAAAD,UAAA,QAAAU,EAAIwC,EAAI5D,EAAJ4D,KAAMD,EAAO3D,EAAP2D,QAC7D,OAAQC,GAEJ,KAAKP,EAAQC,eACT,OAAA1B,YAAA,GAAY5E,EAAK,CAAE+P,YAAWnL,YAAA,GAAO+B,KACzC,KAAKN,EAAQG,YACT,OAAA5B,YAAA,GACO5E,EAAK,CAAEw0B,QAAS,CACf4a,MAAOpvC,EAAMw0B,QAAQ4a,MAAMxhC,OAAO,SAAU+W,GAAW,OAAOA,IAAYhe,IAC1E6tB,SAAS,KAGrB,KAAKnuB,EAAQE,YAOb,KAAKF,EAAQkpC,kBACT,OAAA3qC,YAAA,GACO5E,EAAK,CAAEw0B,QAAS,CACf4a,MAAK,GAAAprC,OAAA8O,aAAM9S,EAAMw0B,QAAQ4a,OAAK,CAAEzoC,IAChC6tB,SAAS,KAGrB,KAAKnuB,EAAQI,aACT,OAAA7B,YAAA,GACO5E,EAAK,CAAE2sC,MAAOhmC,IAEzB,QACI,OAAO3G,MC9BJwvC,GAHMC,aAAYJ,GAC7B,EAAI/tB,OAAOouB,8BAAgCpuB,OAAOouB,gCCEhDC,GAAcxV,SAASC,eAAe,OAE5CwV,IAAStsC,OACLxC,IAAAC,cAAC8uC,KAAQ,CAACL,MAAOA,IACb1uC,IAAAC,cAACwsC,GAAI,OACIoC,yBCjBjBG,EAAAC,QAAiBC,EAAAC,EAAuB,6DCAxCH,EAAAC,QAAiBC,EAAAC,EAAuB","file":"static/js/main.ee2a43e5.chunk.js","sourcesContent":["import React, { Component } from 'react'\nimport { Modal, Button } from 'semantic-ui-react';\n\nexport let confirmationModal = function (message) {\n return new Promise((res, rej) => { res(); });\n}\nexport default class ModalComponent extends Component {\n okConfirmationButton = () => { }\n cancelConfirmationButton = () => { }\n constructor(props) {\n super(props);\n this.state = {\n confirmation: {}\n };\n\n confirmationModal = (title, message) => {\n this.setState({ confirmation: { title, message }, openConfirmationModal: true });\n const self = this;\n const promise = new Promise((res, rej) => {\n self.okConfirmationButton = () => {\n self.setState({ openConfirmationModal: false });\n res();\n }\n self.cancelConfirmationButton = () => {\n self.setState({ openConfirmationModal: false });\n rej();\n }\n })\n\n return promise;\n }\n }\n\n render() {\n const { openConfirmationModal, confirmation: { message, title }, loadingState } = this.state;\n return (\n
\n \n {title}\n \n {message}\n \n \n \n
\n )\n }\n}\n","const AuthenticationInformation = {\n _instance: null,\n get instance() {\n if (!this._instance) {\n this._instance = {\n getCurrentUser() {\n return 'singletonMethod';\n },\n\n _isUserAuthenticated: false,\n _userInformation: null,\n _needVerification: true,\n _firstTry:true,\n\n get userInformation() {\n return this._userInformation;\n },\n\n get isUserAuthenticated() {\n return this._isUserAuthenticated;\n },\n\n get needVerification() {\n return this._needVerification;\n },\n\n get firstTry() {\n const ft = this._firstTry;\n this._firstTry = false;\n return ft;\n },\n\n set userInformation(userInformation) {\n this._userInformation = userInformation;\n if (!!userInformation) {\n this._isUserAuthenticated = true;\n this._needVerification = userInformation.needVerification;\n this._useSms = userInformation.sms;\n }\n else {\n\n this._isUserAuthenticated = this._needVerification = this._useSms = false;\n }\n }\n\n };\n }\n return this._instance;\n }\n};\n\nexport default AuthenticationInformation;","\nimport { Route } from 'react-router-dom'\nimport React from 'react';\n\nconst renderMergedProps = (component, ...rest) => {\n const finalProps = Object.assign({}, ...rest);\n return (\n React.createElement(component, finalProps)\n );\n};\n\nconst PropsRoute = ({ Component, ...rest }) => {\n return (\n {\n return renderMergedProps(Component, routeProps, rest);\n }} />\n );\n};\n\nexport default PropsRoute;","import React, { Component, Fragment } from 'react'\nimport { Popup } from 'semantic-ui-react';\n\n\nexport default class IMComponent extends Component {\n\n constructor(props, model = {}) {\n super(props);\n this.state = {\n model: model,\n errors: {}\n }\n this.model = { ...model };\n this.showToastError=this.showToastError.bind(this);\n this.showToastSuccess=this.showToastSuccess.bind(this);\n this.resetModel=this.resetModel.bind(this);\n }\n\n showToastError = function (error) {\n this.props.errorMessage(error);\n }\n\n showToastSuccess = function (success) {\n this.props.successMessage(success);\n }\n\n resetModel = function () {\n this.setState({ model: { ...this.model } });\n }\n\n onModelPropertyChange = ({ target }) => {\n let model = this.state.model;\n model[target.name] = target.value;\n this.setState({\n model\n });\n this.setState({\n validModel: this.onModelValidation()\n })\n }\n\n addError = (name, message) => {\n let errors = this.state.errors;\n errors[name] = message;\n this.setState({ errors });\n }\n\n removeError = ({ target }) => {\n let errors = this.state.errors;\n errors[target.name] = null;\n this.setState({ errors });\n }\n clearErrors = () => {\n this.setState({ errors: {} });\n }\n\n onModelValidation = () => {\n return true;\n }\n\n onPropertyChange = ({ target: { name, value } }) => {\n this.setState({ [name]: value });\n this.afterPropertyChanged();\n }\n afterPropertyChanged = () => {\n\n }\n}\n\n\n\nexport function IMErrorField({ children, error }) {\n\n return (\n \n \n \n );\n}","import React, { Fragment } from 'react'\nimport { Popup } from 'semantic-ui-react';\n\n\nexport function IMErrorComponent({ children, error,position }) {\n\n return (\n \n \n \n );\n}\n\n","\nexport const actions = {\n setCurrentUser: \"SET_CURRENTUSER\",\n showLoading: \"SHOW_LOADING\",\n hideLoading: \"HIDE_LOADING\",\n notification: \"NOTIFICATION\",\n}\n\nexport const applicationActionCreator = {\n setCurrentUser: function (payload) {\n\n return {\n type: actions.setCurrentUser,\n payload\n };\n },\n showLoading: function (caller) {\n\n return {\n type: actions.showLoading,\n payload: caller\n };\n },\n hideLoading: function (caller) {\n\n return {\n type: actions.hideLoading,\n payload: caller\n };\n },\n notification: {\n error: function (error) {\n return {\n type: actions.notification,\n payload: {\n error\n }\n }\n },\n success: function (success) {\n return {\n type: actions.notification,\n payload: {\n success\n }\n\n }\n\n }\n }\n}\n\nexport default applicationActionCreator\n\n","export const specialCharsAndNumbers = /[\\^~!@#$%^&*()_+`\\-=[\\]\\\\'/.,<>?\"{}|+=._0-9]/g\nexport const upperCaseLetters = /[A-Z]/g \nexport const email = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(.+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/","import moment from \"moment\";\n\nimport _ from \"underscore\";\n\nimport { specialCharsAndNumbers, upperCaseLetters, email as emailPattern } from \"./PatternHelper\";\n\nexport function isEmailValid(email) {\n return !!email && email.match(emailPattern);\n}\n\nexport function getPasswordValidation(password, passwordSetting = null) {\n if (passwordSetting === null)\n passwordSetting = {\n minimunChars: 8,\n uppercaseChars: 1,\n specialChars: 1,\n expirationMonths: 1,\n twoFA: false\n };\n var meetLengthPolicy = password.length >= passwordSetting.minimunChars;\n var notMeetSpecialCharRegEx = specialCharsAndNumbers;\n var meetSpecialCharPolicy = password.match(notMeetSpecialCharRegEx);\n var meetUpperPolicy = password.match(upperCaseLetters);\n var validations = [];\n\n validations.push({ status: meetLengthPolicy, message: `At least ${passwordSetting.minimunChars} characters` });\n validations.push({ status: meetSpecialCharPolicy !== null && meetSpecialCharPolicy.length >= passwordSetting.specialChars, message: `At least ${passwordSetting.specialChars} special character or number` });\n validations.push({ status: meetUpperPolicy !== null && meetUpperPolicy.length >= passwordSetting.uppercaseChars, message: `At least ${passwordSetting.uppercaseChars} upper case character` });\n\n return validations;\n}\n\nexport const messages = {\n errors: {\n invalidEmail: \"Email address is invalid. Please enter a valid address.\",\n firstNameRequired: \"First Name is a required field\",\n lastNameRequired: \"Last Name is a required field\"\n },\n success: {\n usageWasAddedSucessfully: \"License Usage was added successfully.\"\n }\n}\n\nexport function getCurrentDate() {\n let today = new Date();\n let mm = today.getMonth() + 1;\n let dd = today.getDate();\n\n if (mm < 10) {\n mm = '0' + mm;\n }\n let yyyy = today.getFullYear();\n if (dd < 10) {\n dd = '0' + dd;\n }\n return mm + '/' + dd + '/' + yyyy;\n}\n\nexport function IsValidDate(ddmmyyyy) {\n if (ddmmyyyy.match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/) === null)\n return false;\n //let mmddyyyy = ConvertddmmyyyyTommddyyy(ddmmyyyy);\n return validate(ddmmyyyy);\n}\n\nexport function ConvertddmmyyyyTommddyyy(ddmmyyyy) {\n let str = ddmmyyyy.split('/');\n let mmddyyyy = '';\n mmddyyyy = mmddyyyy.concat(str[1], '/', str[0], '/', str[2]);\n return mmddyyyy;\n}\n\nexport function validate(mmddyyyy) {\n var date = new Date(mmddyyyy);\n mmddyyyy = mmddyyyy.split('/');\n return date.getMonth() + 1 === +mmddyyyy[0] &&\n date.getDate() === +mmddyyyy[1] &&\n date.getFullYear() === +mmddyyyy[2];\n}\n\n//export function getDate(ddmmyyyy) {\n// var t = ddmmyyyy.match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/);\n// let d = parseInt(t[1]), m = parseInt(t[2], 10), y = parseInt(t[3], 10);\n// return new Date(y, m, d);\n//}\n\n// Returns the month (0 - 11) in the specified date according to local time.\n// normalizeMonth argument allows to normalize passed month (current value - 1)\nexport function getDate(mmddyyyy, normalizeMonth = false) {\n var t = mmddyyyy.match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/);\n let m = parseInt(t[1], 10), d = parseInt(t[2], 10), y = parseInt(t[3], 10);\n\n if (normalizeMonth) {\n m = m - 1;\n }\n\n return new Date(y, m, d);\n}\n\nexport function isFieldEmpty(str) {\n str = str.replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n return str === '' ? true : false;\n}\n\nexport function convertDateTommddyyyy(date) {\n if (typeof date == 'undefined' || isFieldEmpty(date)) return '';\n let dt = new Date(date);\n let mm = dt.getMonth() + 1;\n let dd = dt.getDate();\n let yyyy = dt.getFullYear();\n\n if (mm < 10) {\n mm = '0' + mm;\n }\n if (dd < 10) {\n dd = '0' + dd;\n }\n return mm + '/' + dd + '/' + yyyy;\n}\n\nexport function convertDate(inputFormat) {\n function pad(s) { return (s < 10) ? '0' + s : s; }\n let d = stringToDate(inputFormat);\n let month = [];\n month[1] = 'JAN';\n month[2] = 'FEB';\n month[3] = 'MAR';\n month[4] = 'APR';\n month[5] = 'MAY';\n month[6] = 'JUN';\n month[7] = 'JUL';\n month[8] = 'AUG';\n month[9] = 'SEPT';\n month[10] = 'OCT';\n month[11] = 'NOV';\n month[12] = 'DEC';\n \n return [pad(d.getDate()), pad(month[d.getMonth() + 1]), d.getFullYear()].join(' ');\n}\n\nexport function stringToDate(stringValue) {\n if (!stringValue)\n return moment().toDate();\n return moment(stringValue, dateFormat).toDate();\n}\nexport function dateToString(date) {\n return moment(date).format(dateFormat);\n}\nexport const dateFormat = \"MM/DD/YYYY\";\n\nexport function activityDate(inputFormat) {\n let date = new Date(inputFormat);\n let pastDate = new Date();\n return (date > pastDate.setDate(pastDate.getDate() - 90));\n}\n\nString.prototype.format = function () {\n let a = this;\n for (let k in arguments) {\n a = a.replace(\"{\" + k + \"}\", arguments[k])\n }\n return a\n}\n\nexport const errorMessages = {\n general: {\n incorrectFormat: \"{0} field does not have correct format.\"\n }\n}\n\nexport const isNullOrEmpty = (val) => {\n\n return (_.isUndefined(val) || val === \"\" || _.isNull(val));\n}\n\nexport const getCookieByName = (name) => {\n var value = \"; \" + document.cookie;\n var parts = value.split(\"; \" + name.replace(\"@\", \"%40\") + \"=\");\n if (parts.length == 2) return parts.pop().split(\";\").shift(); \n}","import React, { } from 'react'\nimport Axios from 'axios';\n\nimport moment from 'moment';\n\nimport { Link } from 'react-router-dom';\n\nimport { Form, Button, Icon, Modal } from 'semantic-ui-react';\n\nimport { DateInput } from 'semantic-ui-calendar-react';\n\nimport { goToPageNavigation } from '../Index';\nimport IMComponent from '../Components/IMComponent';\nimport { IMErrorComponent } from '../Components/IMErrorComponent';\nimport applicationActionCreator from '../../redux/actions/applicationActions';\nimport { isEmailValid, IsValidDate, dateFormat, stringToDate } from '../../components/utility/Helper';\nimport { connect } from 'react-redux';\n\n\nclass Edit extends IMComponent {\n\n constructor(props) {\n super(props, {\n startDate: moment(new Date()).format(dateFormat),\n endDate: moment(new Date().setFullYear(new Date().getFullYear() + 1)).format(dateFormat),\n name: \"\",\n encryptedProductId: \"\",\n userCount: 1,\n sharepointIntegration: false,\n showRenewMsg: false,\n renewUserCount: 0,\n currentUserCount: 0\n });\n this.loadProducts();\n this.loadEditInformation();\n this.submitHandler = this.submitHandler.bind(this);\n this.onProductsLoad = this.onProductsLoad.bind(this);\n this.onModelValidation = this.onModelValidation.bind(this);\n this.loadProducts = this.loadProducts.bind(this);\n this.checkChange = this.checkChange.bind(this);\n this.deleteLicense = this.deleteLicense.bind(this);\n this.renewLicense = this.renewLicense.bind(this);\n this.checkAdvancedTemplateChange = this.checkAdvancedTemplateChange.bind(this);\n this.convertStringToInt = this.convertStringToInt.bind(this);\n };\n\n componentWillMount = function () {\n\n this.setState({ productList: [] });\n }\n\n convertStringToInt = (obj, propertyName) => {\n var property = obj[propertyName];\n if (typeof (property) === \"string\") {\n obj[propertyName] = parseInt(property);\n }\n }\n\n updateProducts = (products) => {\n this.setState({ productList: products });\n if (products.length > 0)\n this.onModelPropertyChange({\n target: {\n name: \"encryptedProductId\",\n value: products[0].value\n }\n });\n }\n\n onProductsLoad = function () {\n const products = this.state.productList;\n if (products.length > 0)\n this.onModelPropertyChange({\n target: {\n name: \"encryptedProductId\",\n value: products[0].value\n }\n });\n }\n\n loadProducts() {\n const self = this;\n return Axios.get('/api/Product')\n .then(function (response) {\n const productOptions = response.data.map(function (item) {\n return { key: item.productId + '', value: item.productId, text: item.name };\n })\n .filter(x => x.text.includes(\"FS Pro\"));\n self.updateProducts(productOptions);\n })\n .catch(function (e) {\n console.error(self.props.match.url, e.status, e.toString());\n\n })\n }\n\n loadEditInformation() {\n var mode = this.props.mode;\n if (this.props.match.params.encryptedLicenseId) {\n const self = this;\n return Axios.get('/api/Licenses/encrypted/' + this.props.match.params.encryptedLicenseId)\n .then(function (response) {\n self.setState({\n model: {\n userCount: response.data.userCount,\n name: response.data.manager,\n startDate: response.data.startDate,\n endDate: response.data.endDate,\n productId: response.data.productId,\n encryptedProductId: response.data.encryptedProductId,\n sharepointIntegration: response.data.sharePointIntegration,\n advancedTemplate: response.data.advancedTemplate\n }\n });\n self.setState({ errors: {} });\n\n if (mode == 1) {\n var m1 = moment(response.data.startDate);\n var m2 = moment(response.data.endDate);\n\n var duration = moment.duration(m2.diff(m1));\n var months = duration.asMonths();\n var remainder = months % 12;\n\n var addMonths = remainder == 0 ? months : 12;\n\n self.setState({\n model: {\n startDate: response.data.endDate,\n endDate: moment(response.data.endDate).add(addMonths,'M').format(dateFormat)\n }\n });\n \n }\n })\n }\n }\n\n submitHandler = function (e, d) {\n if (this.props.mode == 1) {\n return;\n }\n const self = this;\n e.preventDefault();\n this.props.showLoading('SUBMIT_LICENCE');\n const title = 'License' + (self.props.match.params.encryptedLicenseId) ? 'Update' : 'Create';\n let promise = null;\n this.convertStringToInt(self.state.model, 'userCount');\n \n if (self.props.match.params.encryptedLicenseId) {\n const url = '/api/licenses/' + self.props.match.params.encryptedLicenseId;\n\n promise = Axios.put(url, self.state.model)\n .then(function (response) {\n self.showToastSuccess({ title: \"License Updated\", message: \"License was updated successfully.\" });\n goToPageNavigation(\"/\")\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n }\n else {\n self.showToastError({ title: title, message: \"There were some error please contact to Administrators.\" })\n }\n });\n \n } else {\n const url = '/api/licenses';\n\n promise = Axios.post(url, self.state.model)\n .then(function (response) {\n\n self.resetModel();\n self.onProductsLoad();\n self.showToastSuccess({\n title: \"License Created\",\n message: \"License was created successfully.\"\n });\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n } else {\n self.showToastError({\n title: title,\n message: \"There were some error please contact to Administrators.\"\n })\n }\n });\n \n }\n return promise\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n }\n else {\n self.showToastError({ title: title, message: \"There were some error please contact to Administrators.\" })\n }\n })\n .then(function () {\n self.props.hideLoading('SUBMIT_LICENCE');\n })\n }\n\n onModelValidation = function () {\n const { model: { name, startDate, endDate } } = this.state;\n let valid = true;\n let errors = {};\n if (!isEmailValid(name)) {\n errors.email = \"Email is not valid.\";\n valid = false;\n }\n if (!IsValidDate(startDate)) {\n errors.startDate = \"Start Date is not valid.\";\n valid = false;\n }\n if (!IsValidDate(endDate)) {\n errors.endDate = \"End date is not valid.\";\n valid = false;\n }\n if (stringToDate(startDate) > stringToDate(endDate)) {\n errors.startDate = \"Start Date should not be greater than End Date.\";\n valid = false;\n }\n this.setState({ errors });\n return valid;\n }\n\n checkChange = function (e) {\n let model = this.state.model;\n model['sharepointIntegration'] = !model['sharepointIntegration'];\n this.setState({ model });\n }\n\n checkAdvancedTemplateChange = function (e) {\n let model = this.state.model;\n model['advancedTemplate'] = !model['advancedTemplate'];\n this.setState({ model });\n }\n\n deleteLicense = function (e) {\n e.preventDefault();\n this.props.showLoading('DELETE_LICENSE');\n const self = this;\n const url = '/api/licenses/' + self.props.match.params.encryptedLicenseId;\n this.convertStringToInt(self.state.model, 'userCount');\n return Axios.delete(url, self.state.model)\n .then(function () {\n self.showToastSuccess({ title: \"License deleted\", message: \"License was deleted successfully.\" });\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400)\n self.showToastError({ title: \"License deleted\", message: ex.response.data })\n\n else self.showToastError({ title: \"License delete\", message: \"There were some error please contact to Administrators.\" })\n\n })\n .then(function () {\n self.props.hideLoading('DELETE_LICENSE');\n self.props.history.push('/Licenses');\n })\n }\n\n renewLicense = e => {\n const self = this;\n \n e.preventDefault();\n const title = 'License Renew';\n const url = '/api/licenses/Renew/' + self.props.match.params.encryptedLicenseId;\n this.convertStringToInt(self.state.model, 'userCount');\n return Axios.post(url, self.state.model)\n .then(function (response) {\n if (response) {\n self.resetModel();\n self.onProductsLoad();\n self.showToastSuccess({ title: \"License Renewed\", message: \"License was renewed successfully.\" });\n self.props.history.push('/Licenses');\n }\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400 && !!ex.response.data.renewUserCount && !!ex.response.data.currentUserCount) {\n self.setState({ showRenewMsg: true, renewUserCount: ex.response.data.renewUserCount, currentUserCount: ex.response.data.currentUserCount });\n }\n else if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n }\n else {\n self.showToastError({ title: title, message: \"There were some error please contact to Administrators.\" })\n }\n })\n .then(function () {\n self.props.hideLoading('SUBMIT_LICENCE');\n });\n }\n\n initializeProductFeatures = d => {\n let feature = d.options.filter(x => x.key === d.value);\n if (feature.length === 1) {\n let model = this.state.model;\n switch (feature[0].text) {\n case \"FS Pro\":\n model['sharepointIntegration'] = false;\n model['advancedTemplate'] = false;\n this.setState({ model });\n\n this.setState({\n featureDisabled: false\n })\n break;\n case \"FS Pro For Outlook\":\n model['sharepointIntegration'] = false;\n model['advancedTemplate'] = false;\n this.setState({ model });\n\n this.setState({\n featureDisabled: true\n })\n break;\n case \"FS Pro Business\":\n model['sharepointIntegration'] = true;\n model['advancedTemplate'] = true;\n this.setState({ model });\n\n this.setState({\n featureDisabled: false\n })\n break;\n default:\n }\n }\n }\n\n initializeEndDate = d => {\n let model = this.state.model;\n let startDate = new Date(d['value']);\n model['endDate'] = moment(startDate.setFullYear(startDate.getFullYear() + 1)).format(dateFormat);\n\n this.setState({ model });\n }\n\n render() {\n const closeStyleButton = {}\n const { productList, model: { name, encryptedProductId, productId, startDate, endDate, userCount, sharepointIntegration, advancedTemplate, firstName, lastName }, validModel, featureDisabled,\n errors: { email: errorEmail,\n firstName: errorFirstName,\n lastName: errorLastName,\n startDate: errorStartDate,\n endDate: errorEndDate } } = this.state;\n const classColumn = 'ui im_text_field';\n if (!this.props.currentUser.data.administrator) \n {\n return (\n

Access Denied

\n )\n }\n var createButton = null;\n var updateButton = null;\n var deleteButton = null\n var renewButton = null;\n if (this.props.mode == undefined || this.props.mode == 0) {\n if (this.props.match.params.encryptedLicenseId) {\n updateButton = ;\n deleteButton = ;\n }\n else {\n createButton = ;\n }\n }\n else if (this.props.mode == 1) {\n renewButton = ;\n }\n return (\n
\n
\n \n \n \n
\n

Licenses

\n

{ this.props.mode == 1 ? 'Renew License' : (this.props.match.params.encryptedLicenseId) ? 'Update License' : 'Create License'}

\n
\n
this.submitHandler(e, d)}>\n \n \n \n\n \n \n \n\n \n \n \n\n\n { this.onModelPropertyChange({ target: d }); this.initializeProductFeatures(d); }}\n >\n { this.onModelPropertyChange({ target: d }); this.initializeEndDate(d); }}>\n {this.props.currentUser.data.administrator ?\n this.props.currentUser.data.administrator && this.onModelPropertyChange({ target: d })}\n /> :\n
\n \n
\n \n \n
\n
}\n \n {\n (this.state.model.productId != 7)?\n
\n \n \n
\n :
\n }\n
\n
\n {updateButton}\n {deleteButton}\n {renewButton}\n
\n {createButton}\n \n
\n { this.setState({ showRenewMsg: false }); }}>\n License Renew\n \n \n
\n

\n Error: License Renewal Unsuccessful
\n Current License Pack: {this.state.currentUserCount} Users
\n Requested Renewal: {this.state.renewUserCount} Users
\n Issue: The number of currently assigned users exceeds the requested renewal count. Please reduce the assigned users to {this.state.renewUserCount} or fewer before proceeding with the renewal.
\n

\n

\n (Click outside this dialog to close it).\n

\n
\n
\n
\n
\n
\n )\n }\n}\nconst mapStateToProps = (state, ownProps) => {\n return {\n currentUser: state.application.currentUser\n }\n}\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) },\n successMessage: function (message) { return dispatch(applicationActionCreator.notification.success(message)) },\n errorMessage: function (message) { return dispatch(applicationActionCreator.notification.error(message)) }\n }\n}\nexport default connect(mapStateToProps, mapDispatchToProps)(Edit)","import React from 'react';\nimport Axios from 'axios';\n\nimport _ from \"underscore\";\n\nimport { Confirm, Button, Grid, Icon, Checkbox, List } from 'semantic-ui-react';\nimport { Link } from 'react-router-dom';\n\nimport IMComponent from '../Components/IMComponent';\nimport { goToPageNavigation } from '../Index';\nimport { getDate } from '../../components/utility/Helper';\n\nimport applicationActionCreator from '../../redux/actions/applicationActions';\nimport { connect } from 'react-redux';\n\nexport class LicenseGridForMerging extends IMComponent {\n constructor(props) {\n super(props);\n\n this.state = {\n data: this.props.location.state,\n filter: { email: \"\" },\n orderBy: [],\n selectedMainLicensePack: \"\",\n selectedMainLicensePackProductId: \"\",\n selectedMainValidUntil: \"\",\n selectedMainUserEmail: \"\",\n selectedForMerging: [\n {\n encryptedId: \"\",\n endDate: NaN,\n productId: NaN\n }],\n\n showConfirmModalForEndDate: false,\n showConfirmModalForProductId: false,\n showCombinedConfirmModal: false\n };\n\n this.changeEmailOrderBy = this.changeEmailOrderBy.bind(this);\n this.selectMainLicensePack = this.selectMainLicensePack.bind(this);\n this.selectForMergingLicensePack = this.selectForMergingLicensePack.bind(this);\n this.mergeLicenses = this.mergeLicenses.bind(this);\n }\n\n getProductName = (productId) => {\n switch (productId) {\n case 1: return 'FS Pro Standard';\n case 2: return 'FS Pro for Outlook';\n case 3: return 'FS Pro Business';\n default: return '';\n }\n }\n\n changeEmailOrderBy = function () {\n const orderBy = this.state.orderBy.filter(function (ordering) { return ordering.name !== \"email\"; });\n const order = this.state.orderBy.find(function (ordering) { return ordering.name === \"email\"; });\n this.setState({\n orderBy: [\n ...orderBy,\n {\n name: \"email\",\n dir: order && order.dir === \"asc\" ? \"desc\" : \"asc\"\n }\n ]\n },\n this.callParentFilterChange);\n }\n\n selectMainLicensePack = (encryptedId, productId, userEmail, validUntil, e) => {\n this.setState((prevState) => {\n let mainLicensePack, mainLicensePackProductId, mainUserEmail, mainValidUntil;\n\n if (prevState.selectedMainLicensePack === encryptedId) {\n mainLicensePack = mainLicensePackProductId = mainUserEmail = mainValidUntil = '';\n } else {\n mainLicensePack = encryptedId;\n mainLicensePackProductId = productId;\n mainUserEmail = userEmail;\n mainValidUntil = validUntil;\n }\n\n return {\n selectedMainLicensePack: mainLicensePack,\n selectedMainLicensePackProductId: mainLicensePackProductId,\n selectedForMerging: [],\n selectedMainUserEmail: mainUserEmail,\n selectedMainValidUntil: mainValidUntil,\n selectedMainLicensePacksValidUntil: []\n };\n });\n }\n\n selectForMergingLicensePack = (encryptedId, endDate, productId, e) => {\n this.setState(prevState => {\n const val = prevState.selectedForMerging.some(x => x.encryptedId === encryptedId)\n ? prevState.selectedForMerging.filter(x => x.encryptedId !== encryptedId)\n : prevState.selectedForMerging.concat({ encryptedId: encryptedId, endDate: endDate, productId: productId });\n\n return {\n selectedForMerging: val\n };\n });\n }\n\n mergeLicenses = () => {\n const selectedForMerging = this.state.selectedForMerging.filter(x => x.encryptedId !== \"\");\n const selectedMainValidUntilTime = getDate(this.state.selectedMainValidUntil, true).getTime();\n\n // Check EndDate for Merged and Main LicensePacks\n // Should be EndDate for Main longer than Merged License Packs. Otherwise, need to show the following notification\n const showConfirmModalForEndDate = selectedForMerging.some(x => getDate(x.endDate, true).getTime() > selectedMainValidUntilTime);\n\n // Check that all Merged License Packs have the same ProductId as ProductId for Main License Pack\n // Should be the same ProductIds. Otherwise, need to show the following notification\n const showConfirmModalForProductId = selectedForMerging.some(x => x.productId !== this.state.selectedMainLicensePackProductId);\n\n if (showConfirmModalForEndDate && showConfirmModalForProductId) {\n this.setState({\n showCombinedConfirmModal: true\n });\n } else {\n if (showConfirmModalForEndDate) {\n this.setState({\n showConfirmModalForEndDate: showConfirmModalForEndDate\n });\n } else if (showConfirmModalForProductId) {\n this.setState({\n showConfirmModalForProductId: showConfirmModalForProductId\n });\n }\n }\n\n if (!showConfirmModalForEndDate && !showConfirmModalForProductId) {\n this.mergeLicensesInternal();\n }\n }\n\n mergeLicensesInternal = () => {\n const self = this;\n const title = 'License Merge';\n const promise = Axios.get('/api/Licenses/encrypted/' + self.state.selectedMainLicensePack)\n .then(function (response) {\n self.setState({\n model: {\n email: response.data.manager,\n encryptedProductId: response.data.encryptedProductId\n }\n });\n self.setState({ errors: {} });\n })\n .catch(function (ex) {\n throw ex;\n })\n .then(function () {\n Axios.post(`/api/Licenses/${self.state.selectedMainLicensePack}/LicenseUsages/Merge`,\n {\n EncryptedUsageIds: self.state.selectedForMerging.filter(x => x.encryptedId !== \"\")\n .map(x => x.encryptedId),\n EncryptedProductId: self.state.model.encryptedProductId\n })\n .then(function () {\n self.showToastSuccess({ title: title, message: \"Licenses were merged successfully.\" });\n goToPageNavigation(\"/\");\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n } else {\n self.showToastError({\n title: title,\n message: \"There were some error please contact to Administrators.\"\n });\n }\n })\n .finally(function () {\n self.props.hideLoading(\"LOAD_SEARCH_RESULTS\");\n });\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n } else {\n self.showToastError({\n title: title,\n message: \"There were some error please contact to Administrators.\"\n });\n }\n\n self.props.hideLoading(\"LOAD_SEARCH_RESULTS\");\n });\n\n this.props.showLoading(\"LOAD_SEARCH_RESULTS\");\n return promise;\n }\n\n renderTitleBar = function () {\n if (this.state.selectedMainLicensePack !== '' && this.state.selectedForMerging.filter(x => x.encryptedId !== \"\").length !== 0) {\n return [\n
\n \n \n \n \n \n\n
\n this.mergeLicenses()} />\n
\n
];\n }\n else {\n return [\n
\n \n \n \n \n \n\n
\n

Select License Packs for merging

\n
\n
];\n }\n }\n\n renderHeader = function () {\n const styleButtonHeader = {\n cursor: \"pointer\"\n }\n\n const order = this.state.orderBy.find(function (ordering) { return ordering.name === \"email\"; });\n const emailOrderIcon = !order ? \"arrows alternate vertical\" : `arrow ${(order.dir === \"asc\" ? \"down\" : \"up\")}`;\n return [\n \n \n \n PRODUCT\n \n \n {this.state.data.isAdmin ?
\n EMAIL
:\n \"EMAIL\"}\n
\n \n TYPE\n \n \n STATUS\n \n \n VALID FROM\n \n \n VALID UNTIL\n \n \n #USERS\n \n \n MAIN\n \n \n MERGE\n \n
\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n (mm/dd/yyyy)\n \n \n (mm/dd/yyyy)\n \n \n\n \n \n \n \n
];\n }\n\n renderData = (data, selectedMainLicensePack) => {\n return data.map((item, index) => {\n return \n \n \n
\n {this.getProductName(item.productId)}\n
\n
\n \n

{/*this.truncateEmail(item.manager)*/item.manager}

{item.name}

\n
\n \n

{String(item.trial) === 'true' ? 'Trial' : 'Full'}

\n
\n \n

{item.status}

\n
\n \n

{item.startDate}

\n
\n \n

{item.endDate}

\n
\n \n

99 || item.userCount > 99 ? \"0.85em\" : \"1em\" }}>{item.canManage || this.state.data.isAdmin ? item.usedCount + ' / ' + item.userCount : ''}

\n
\n \n
\n \n
\n
\n \n {this.state.selectedMainLicensePack !== '' && item.encryptedId !== this.state.selectedMainLicensePack\n ?
\n \n
\n : null\n }\n
\n
\n
\n });\n }\n\n renderNoData = function () {\n return [\n
\n \n \n \n \n \n\n
\n

No information for merging

\n
\n
];\n }\n\n renderConfirmationModalForEndDate = () => {\n return [\n { this.setState({ showConfirmModalForEndDate: false }) }}\n onConfirm={this.mergeLicensesInternal}\n header=\"License Merge\"\n content=\"Are you sure you want to proceed? One of the merged licenses has a longer valid date than the main license.\" />];\n }\n\n renderConfirmationModalForProductId = () => {\n return [\n { this.setState({ showConfirmModalForProductId: false, confirmModalForProductIdYes: false }) }}\n onConfirm={this.mergeLicensesInternal}\n header=\"License Merge\"\n content=\"Are you sure you want to continue? The main license and the combined license are different products.\" />];\n }\n\n messageForCombinedConfirmationModal = (msg, item1, item2) => {\n return [\n
\n

{msg}

\n \n {item1}\n {item2}\n \n
];\n }\n\n renderCombinedConfirmationModal = () => {\n return [\n { this.setState({ showCombinedConfirmModal: false, confirmModalForEndDateYes: false, confirmModalForProductIdYes: false }) }}\n onConfirm={this.mergeLicensesInternal}\n header=\"License Merge\"\n content={this.messageForCombinedConfirmationModal(\"Are you sure you want to continue?\", \"One of the merged licenses has a longer valid date than the main license.\", \"The main license and the combined license are different products.\")} />];\n }\n\n render() {\n if (this.state.data !== undefined)\n return [this.renderTitleBar(), this.renderHeader(), this.renderData(/*data*/this.state.data.listForMerging, this.state.selectedMainLicensePack),\n this.renderConfirmationModalForEndDate(), this.renderConfirmationModalForProductId(), this.renderCombinedConfirmationModal()];\n else\n return [this.renderNoData()];\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) },\n successMessage: function (message) { return dispatch(applicationActionCreator.notification.success(message)) },\n errorMessage: function (message) { return dispatch(applicationActionCreator.notification.error(message)) }\n }\n}\nexport default connect(null, mapDispatchToProps)(LicenseGridForMerging)\n","import React, { Component } from 'react'\nimport {Switch, Route} from 'react-router-dom';\nimport PropsRoute from '../Components/PropsRoute';\n\nimport Edit from './Edit';\nimport LicenseGridForMerging from './LicenseGridForMerging';\n\nexport default class Index extends Component {\n render() {\n return (\n \n \n \n \n } />\n \n )\n }\n}\n","import React from 'react';\nimport Axios from 'axios';\n\nimport matchSorter from 'match-sorter';\n\nimport _ from \"underscore\";\n\nimport { Button, Grid, Input, Dropdown } from 'semantic-ui-react';\n\nimport IMComponent from '../Components/IMComponent';\nimport applicationActionCreator from '../../redux/actions/applicationActions';\nimport { connect } from 'react-redux';\nimport CheckSvg from '../../img/svg/check-solid.svg';\nimport UpSvg from '../../img/svg/up-long-solid.svg';\n\nconst wordWrapper = {\n wordWrap: \"break-word\"\n}\n\nclass LicenseUsageGrid extends IMComponent {\n constructor(props) {\n super(props);\n this.revokeUserRef = [];\n this.editNameRef = [];\n this.saveNameRef = [];\n this.removeSessionRef = [];\n this.selectedItem = null;\n this.state = {\n ...this.state,\n queryEmail: '',\n queryFirstName: '',\n queryLastName: '',\n emailForEditing: '',\n editedFirstName: '',\n editedLastName: '',\n encryptedLicenseId: ''\n };\n\n this.editLicenseRow = this.editLicenseRow.bind(this);\n this.handleDataChange = this.handleDataChange.bind(this);\n this.onFocused = this.onFocused.bind(this);\n this.saveLicenseRows = this.saveLicenseRows.bind(this);\n this.onDataFocused = this.onDataFocused.bind(this);\n this.onManageAccessFocused = this.onManageAccessFocused.bind(this);\n this.clearData = this.clearData.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.getManageAccessOptions = this.getManageAccessOptions.bind(this);\n this.handleAction = this.handleAction.bind(this);\n }\n convertToUSDateFormat = (dateString) => {\n var elements = dateString.split(\"/\");\n if (elements.length < 3) return dateString;\n return elements[1] + \"/\" + elements[0] + \"/\" + elements[2];\n }\n\n onFilterChanged = () => {\n const { queryEmail, queryFirstName, queryLastName } = this.state;\n let resultData = this.props.data;\n if (queryEmail)\n resultData = matchSorter(resultData, queryEmail, { keys: [x => x.accountName] });\n if (queryFirstName)\n resultData = matchSorter(resultData, queryFirstName, { keys: [x => x.firstName] });\n if (queryLastName)\n resultData = matchSorter(resultData, queryLastName, { keys: [x => x.lastName] });\n return _.sortBy(resultData, row => row.accountName);\n }\n\n editLicenseRow(email, firstName, lastName) {\n this.setState({\n emailForEditing: email,\n editedFirstName: firstName,\n editedLastName: lastName\n });\n }\n\n handleDataChange(e) {\n let value = e.target.value;\n switch (e.target.name) {\n case 'firstName':\n this.setState({\n editedFirstName: value\n });\n break;\n case 'lastName':\n this.setState({\n editedLastName: value\n });\n break;\n default:\n break;\n }\n }\n\n clearData() {\n this.setState(\n {\n emailForEditing: ''\n });\n }\n\n onFocused(e, item) {\n this.selectedItem = item;\n e.stopPropagation();\n }\n\n onDataFocused(e) {\n if (this.selectedItem === null) {\n this.clearData();\n return;\n }\n\n //console.log(`>>>!!!!!!!!!!!!!!!!!!!!onDataFocused ${this.selectedItem.firstName} ${this.selectedItem.lastName}`);\n this.saveLicenseRows(this.selectedItem.licenseCryptId, this.selectedItem.cryptId);\n this.selectedItem = null;\n }\n\n onManageAccessFocused(e) {\n e.stopPropagation();\n }\n\n saveLicenseRows(encryptedLicenseId, encryptedUsageId) {\n const self = this;\n this.props.showLoading('SUBMIT_FIRSTNAME_LASTNAME');\n const title = 'User Update';\n const url = '/api/Licenses/' + encryptedLicenseId + '/LicenseUsages/' + encryptedUsageId;\n let data = this.props.data;\n let model = data.find(x => x.cryptId === encryptedUsageId);\n model.firstName = this.state.editedFirstName;\n model.lastName = this.state.editedLastName;\n\n let promise = null;\n promise = Axios.put(url, model)\n .then(function () {\n self.clearData();\n self.showToastSuccess({ title: \"User Updated\", message: \"First Name and Last Name were updated successfully.\" });\n });\n\n return promise\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n }\n else {\n self.showToastError({ title: title, message: \"There were some error please contact to Administrators.\" })\n }\n })\n .then(function () {\n self.props.hideLoading('SUBMIT_FIRSTNAME_LASTNAME');\n });\n }\n\n getManageAccessOptions(item, index) {\n const items = [\n { text: \"Revoke User\" },\n ...item.accountName !== this.state.emailForEditing ? [{ text: \"Edit Name\" }] : [{ text: \"Save Name\" }],\n ...item.sessionCount > 0 ? [{ text: `Remove Session (${item.sessionCount})` }] : []\n ];\n\n let options = [\n ];\n\n for (let item of items) {\n options = [...options,\n \n {item.text}\n \n ];\n }\n return options;\n }\n\n handleMouseEnter(e) {\n e.target.style.background = '#FF8019';\n e.target.style.color = 'white';\n }\n\n handleMouseLeave(e) {\n e.target.style.background = 'white';\n e.target.style.color = '#FF8019';\n }\n\n handleAction(e) {\n const text = e.target.innerText;\n const index = e.target.id;\n\n const isRemoveSession = text.startsWith(\"Remove Session\");\n const parameter = isRemoveSession ? \"Remove Session\" : e.target.innerText;\n\n switch (parameter) {\n case \"Revoke User\":\n this.revokeUserRef[+index].ref.click();\n break;\n\n case \"Edit Name\":\n this.editNameRef[+index].ref.click();\n break;\n\n case \"Save Name\":\n this.saveNameRef[+index].ref.click();\n break;\n\n case \"Remove Session\":\n this.removeSessionRef[+index].ref.click();\n break;\n\n default:\n break;\n }\n }\n\n renderData = (data) => {\n const { showRole } = this.props;\n if (showRole)\n return data.map((item, index) =>\n \n \n

{item.accountName}

\n
\n \n

{item.roleName}

\n
\n \n {item.accountName !== this.state.emailForEditing\n ?

{item.firstName}

\n : this.onFocused(e, item)} />\n }\n
\n \n {item.accountName !== this.state.emailForEditing\n ?

{item.lastName}

\n : this.onFocused(e, item)} />\n }\n
\n {/* \n {item.systems && item.systems.map((x, i) => ([,
]))}\n
*/}\n \n {this.props.licenseEndDate}\n \n \n {item.lastUsage}\n \n \n {item.versionMatch == null ?

{item.version}

:\n \n \n \n \n \n
\n {item.versionMatch == 1 ?\n \"Match\" :\n item.versionMatch == 0 ?\n \"Update\" :\n null}\n {item.version}
\n }\n
\n \n
this.onManageAccessFocused(e)}>\n \n \n {this.getManageAccessOptions(item, index)}\n \n \n
\n \n {item.sessionCount > 0 ?\n \n : ''}\n
\n {/* this.removeSessionRef = x} index={index} id={item.cryptId} style={{ color: \"#4183c4\", fontSize: \"13px\" }} onClick={this.props.onRemoveSessionsClick}>Remove Sessions ({item.sessionCount})*/}\n \n {item.accountName !== this.state.emailForEditing\n ? \n {item.sessionCount > 0 ?\n \n : ''}\n \n \n {item.accountName !== this.state.emailForEditing\n ? }\n open={this.state.modalOpen}\n onClose={this.onCloseModalClick}\n size='mini'>\n
\n \n {this.props.comment ?

{this.props.comment}

: null}\n {this.props.commentHtml}\n { this.props.onErrorHandling(errMsg); }}>\n \n \n
\n \n {this.state.fileObject !== null ? () : null}\n \n \n );\n }\n}\nexport default SelectFile;","import React, { Component } from 'react'\nimport Axios from 'axios';\n\nimport { Button, Form, Grid, Dropdown, Menu, DropdownMenu, DropdownItem, Icon, Segment } from 'semantic-ui-react';\n\nimport { DateInput } from 'semantic-ui-calendar-react';\n\nimport { connect } from 'react-redux';\n\nimport { Confirm, Modal, Header, Image } from 'semantic-ui-react';\n\nimport IMComponent from '../Components/IMComponent';\nimport applicationActionCreator, { actions } from '../../redux/actions/applicationActions';\nimport SelectFile from '../../components/SelectFile';\nimport { dateFormat } from '../../components/utility/Helper';\n\nclass LicenseUsagesHeader extends IMComponent {\n constructor(props) {\n super(props);\n this.handleAdminEmailChange = this.handleAdminEmailChange.bind(this);\n this.handleOrganizationNameChange = this.handleOrganizationNameChange.bind(this);\n this.handleOrganizationChange = this.handleOrganizationChange.bind(this);\n this.changeLicenseAdmin = this.changeLicenseAdmin.bind(this);\n this.changeOrganizationName = this.changeOrganizationName.bind(this);\n this.changeOrganization = this.changeOrganization.bind(this);\n this.handleLinkOrganization = this.handleLinkOrganization.bind(this);\n this.handleLinkSelectedOrganization = this.handleLinkSelectedOrganization.bind(this);\n this.submitUpdateLifetimeHandler = this.submitUpdateLifetimeHandler.bind(this);\n this.onSelectionFileSuccess = this.onSelectionFileSuccess.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.getFsProCloudSettingsOptions = this.getFsProCloudSettingsOptions.bind(this);\n this.showLicenseAdministratorHistory = this.showLicenseAdministratorHistory.bind(this);\n this.renderLicenseAdministratorHistoryData = this.renderLicenseAdministratorHistoryData.bind(this);\n this.showLicenseManagemenHandler = this.showLicenseManagemenHandler.bind(this);\n this.showFSProCloudSettingsHandler = this.showFSProCloudSettingsHandler.bind(this);\n this.showUserDataOperationsHandler = this.showUserDataOperationsHandler.bind(this);\n this.showAIFeaturesHandler = this.showAIFeaturesHandler.bind(this);\n let { startDate, endDate } = props;\n this.state = {\n model: { startDate, endDate },\n licenseId: { licenseId },\n editManager: false, adminEmail: \"\", showConfirmModal: false, showMailSentMsg: false, isValidEmail: true, originalAdminEmail: \"\",\n canManage: false,\n organizationName: \"\",\n originalOrganizationName: \"\",\n editOrganizationName: false,\n editOrganization: false,\n linkOrganization: false,\n selectLicenseForLinking: false,\n showChangeOrganizationNameConfirmModal: false,\n showChangeOrganizationConfirmModal: false,\n showLinkOrganizationConfirmModal: false,\n showLicenseAdministratorHistory: false,\n organizations: [],\n organizationId: \"\",\n originalOrganizationId: \"\",\n importUsersRef: null,\n exportUsersRef: null,\n renameOrganizationRef: null,\n changeOrganizationRef: null,\n linkOrganizationRef: null,\n licenseAdministratorHistory: [],\n purchaserEmail: \"\",\n aiGatewayTokenId: null,\n aiGatewayInputTokens: 0,\n aiGatewayOutputTokens: 0,\n aiGatewayLimitTokens: 0,\n aiGatewayLimitTokensEdited: 0,\n showLicenseManagement: false,\n showFSProCloudSettings: false,\n showUserDataOperations: false,\n showAIFeatures: false,\n }\n const { licenseId } = props;\n let managerId, organizationId;\n const self = this;\n Axios.get(`/api/Licenses/encrypted/${licenseId}`, { params: { version: Math.random() } })\n .then(function (response) {\n if (response) {\n self.setState({\n adminEmail: response.data.manager,\n originalAdminEmail: response.data.manager,\n canManage: response.data.canManage,\n organizationName: response.data.organizationName,\n originalOrganizationName: response.data.organizationName,\n productId: response.data.productId,\n licenseAdministratorHistory: response.data.licenseAdministratorHistory,\n purchaserEmail: response.data.purchaserEmail,\n aiGatewayTokenId: response.data.aiGatewayTokenId,\n aiGatewayInputTokens: response.data.aiGatewayInputTokens,\n aiGatewayOutputTokens: response.data.aiGatewayOutputTokens,\n aiGatewayLimitTokens: response.data.aiGatewayLimitTokens,\n aiGatewayLimitTokensEdited: response.data.aiGatewayLimitTokens\n });\n managerId = response.data.encryptedManagerId;\n organizationId = response.data.encryptedOrganizationId;\n }\n }).then(function () {\n Axios.get(`/api/Licenses/encryptedManagerId/${managerId}`, { params: { version: Math.random() } })\n .then(function (response) {\n if (response) {\n self.setState({\n organizations: response.data.map(function (l) { return { organizationId: l.encryptedOrganizationId, organizationName: l.organizationName } }),\n organizationId: response.data.find(l => l.encryptedOrganizationId === organizationId).encryptedOrganizationId,\n originalOrganizationId: response.data.find(l => l.encryptedOrganizationId === organizationId).encryptedOrganizationId\n });\n }\n });\n });\n }\n\n toggleEditManager = () => {\n this.setState({ editManager: !this.state.editManager });\n }\n\n toggleChangeOrganizationName = () => {\n this.setState({ editOrganizationName: !this.state.editOrganizationName });\n }\n\n toggleLinkOrganization = () => {\n this.setState({ linkOrganization: !this.state.linkOrganization });\n }\n\n toggleChangeOrganization = () => {\n this.setState({ editOrganization: !this.state.editOrganization });\n }\n\n toggleEditManager = () => {\n this.setState({ editManager: !this.state.editManager });\n }\n\n changeLicenseAdmin = function () {\n //api/Licenses/switchAdmin\n const self = this;\n if (this.state.isValidEmail && this.state.adminEmail !== this.state.originalAdminEmail) {\n return Axios.post(`/api/Licenses/switchAdmin`, { LicenseId: this.props.licenseId, newAdminEmail: this.state.adminEmail })\n .then(function (response) {\n if (response) {\n self.setState({ showConfirmModal: false, showMailSentMsg: !self.props.isAdmin });\n if (self.props.isAdmin) {\n self.onCancel();\n self.showToastSuccess({ title: \"Switch Administrator License\", message: \"The license administrator was successfully changed.\" });\n\n }\n }\n })\n } else {\n self.showToastError({ title: \"\", message: \"Please specify a valid email address different to the current admin license.\" });\n self.setState({ showConfirmModal: false })\n }\n }\n\n changeOrganizationName = function () {\n //api/Licenses/changeOrganizationName\n this.props.showLoading('CHANGE_ORGANIZATION_NAME');\n const self = this;\n const title = \"Change Organization Name License\";\n let message;\n return Axios.post(`/api/Licenses/changeOrganizationName`,\n { LicenseId: this.props.licenseId, NewOrganizationName: this.state.organizationName })\n .then(function (response) {\n if (response) {\n self.setState({\n showChangeOrganizationNameConfirmModal: false\n });\n self.props.reloadData();\n if (self.props.isAdmin) {\n self.onCancelChangeOrganizationName();\n message = response.data ? response.data : \"The license organization name was successfully changed.\";\n self.showToastSuccess({\n title: title,\n message: message\n });\n }\n }\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n }\n else {\n self.showToastError({\n title: title,\n message: \"There were some error please contact to Administrators.\"\n });\n }\n })\n .then(function () {\n self.props.hideLoading('CHANGE_ORGANIZATION_NAME');\n });\n }\n\n changeOrganization = function () {\n //api/Licenses/changeOrganization\n this.props.showLoading('CHANGE_ORGANIZATION');\n const self = this;\n const title = \"Change Organization License\";\n return Axios.post(`/api/Licenses/changeOrganization`, { LicenseId: this.props.licenseId, NewOrganizationId: this.state.organizationId })\n .then(function (response) {\n if (response) {\n self.setState({\n showChangeOrganizationConfirmModal: false\n });\n self.props.reloadData();\n if (self.props.isAdmin) {\n self.onCancel();\n self.showToastSuccess({\n title: title,\n message: \"The license organization was successfully changed.\"\n });\n\n }\n }\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n if (ex.response.data.status === 401) {\n self.showToastError({ title: title, message: ex.response.data.message });\n } else {\n self.showToastError({ title: title, message: ex.response.data });\n }\n }\n else {\n self.showToastError({\n title: title,\n message: \"There were some error please contact to Administrators.\"\n });\n }\n })\n .then(function () {\n self.props.hideLoading('CHANGE_ORGANIZATION');\n });\n }\n\n handleLinkOrganization = function () {\n //api/Licenses/linkOrganization\n this.props.showLoading('LINK_ORGANIZATION');\n const self = this;\n const title = \"Link Organization License\";\n\n return Axios.post(`/api/Licenses/GetOrganizationsForLinking/${this.state.organizationName}/${this.props.licenseId}`)\n .then(function (response) {\n if (response) {\n self.setState({\n selectLicenseForLinking: true,\n organizations: response.data.map(function (l) { return { organizationId: l.organizationId, organizationName: l.organizationName } }),\n organizationId: response.data[0].organizationId\n });\n }\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n }\n else {\n self.showToastError({\n title: title,\n message: \"There were some error please contact to Administrators.\"\n });\n }\n })\n .then(function () {\n self.props.hideLoading('LINK_ORGANIZATION');\n });\n }\n\n handleLinkSelectedOrganization = function () {\n //api/Licenses/linkSelectedOrganization\n this.props.showLoading('LINK_SELECTED_ORGANIZATION');\n const self = this;\n const title = \"Link Organization License\";\n\n return Axios.post(`/api/Licenses/linkSelectedOrganization`, { EncryptedLicenseId: this.props.licenseId, OrganizationId: this.state.organizationId, OrganizationName: this.state.organizationName })\n .then(function (response) {\n if (response) {\n self.setState({\n linkOrganization: false,\n selectLicenseForLinking: false,\n showLinkOrganizationConfirmModal: false\n });\n self.props.reloadData();\n if (self.props.isAdmin) {\n self.onCancel();\n self.showToastSuccess({\n title: title,\n message: \"The license organization was successfully linked.\"\n });\n }\n }\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n }\n else {\n self.showToastError({\n title: title,\n message: \"There were some error please contact to Administrators.\"\n });\n }\n })\n .then(function () {\n self.props.hideLoading('LINK_SELECTED_ORGANIZATION');\n });\n }\n\n isValidEmail = (email) => {\n const reg = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return reg.test(email);\n\n }\n\n\n handleAdminEmailChange = (e) => {\n this.setState({ isValidEmail: this.isValidEmail(e.target.value) });\n this.setState({\n adminEmail: e.target.value\n });\n }\n\n handleOrganizationNameChange = (e) => {\n this.setState({\n organizationName: e.target.value\n });\n }\n\n handleaiGatewayLimitTokensChange = (e) => {\n this.setState({\n aiGatewayLimitTokensEdited: e.target.value\n });\n }\n\n onClickUpdateAIFeatures = () => {\n this.props.showLoading('UPDATE_AI_FEATURES');\n const self = this;\n const title = \"Update AI Features\";\n let message;\n return Axios.put(`api/Tokens/UpdateDetails/${this.props.licenseId}`,\n { LimitTokens: this.state.aiGatewayLimitTokensEdited, LicenseId: this.props.licenseId })\n .then(function (response) {\n if (response) {\n self.setState({\n showAIFeatures: false\n });\n }\n })\n .catch(function (ex) {\n if (!!ex.response && ex.response.status === 400) {\n self.showToastError({ title: title, message: ex.response.data });\n }\n else {\n self.showToastError({\n title: title,\n message: \"There were some error please contact the Administrators.\"\n });\n }\n })\n .then(function () {\n self.props.hideLoading('UPDATE_AI_FEATURES');\n self.props.reloadData();\n });\n }\n\n handleOrganizationChange = (e, d) => {\n this.setState({\n organizationId: d.value\n });\n if (this.state.organizations.filter(x => x.organizationId === d.value).length > 0) {\n this.setState({\n organizationName: this.state.organizations.filter(x => x.organizationId === d.value)[0].organizationName\n });\n }\n }\n\n handleGetSessionsFileClick = () => {\n const { licenseId } = this.props;\n if (licenseId !== null)\n window.location.href = `/api/Session/Csv/${licenseId}`;\n\n }\n\n handleGetLicenseUserRolesFileClick = () => {\n const { licenseId } = this.props;\n if (licenseId !== null)\n window.location.href = `/api/LicenseUserRole/Csv/${licenseId}`;\n\n }\n\n handleGetLicenseUserRolesTemplateFileClick = () => {\n window.location.href = `/api/LicenseUserRole/Csv`;\n\n }\n\n onCancel = () => {\n this.setState({ adminEmail: this.props.isAdmin ? this.state.adminEmail : this.state.originalAdminEmail, editManager: false, isValidEmail: true });\n }\n\n onCancelChangeOrganizationName = () => {\n this.setState(\n {\n organizationName: this.state.originalOrganizationName,\n editOrganizationName: false\n });\n }\n\n onCancelChangeOrganization = () => {\n this.setState(\n {\n organizationId: this.state.originalOrganizationId,\n editOrganization: false\n });\n }\n\n onCancelLinkOrganizationName = () => {\n this.setState(\n {\n organizationId: this.state.originalOrganizationId,\n organizationName: this.state.originalOrganizationName,\n linkOrganization: false\n });\n }\n\n onCancelSelectOrganization = () => {\n this.setState(\n {\n organizationId: this.state.originalOrganizationId,\n selectLicenseForLinking: false\n });\n }\n\n onSelectionFileSuccess = function (fileObject) {\n this.props.showLoading('IMPORT_LICENSES');\n const formData = new FormData();\n const self = this;\n formData.append('file', fileObject)\n const config = {\n headers: {\n 'content-type': 'multipart/form-data'\n }\n };\n Axios.post(`/api/Licenses/${self.props.licenseId}/LicenseUsages/UploadCSV`, formData, config)\n .then(function () {\n self.showToastSuccess({ title: \"Import Usages\", message: \"Usages were imported successfully\" });\n })\n .catch(function (ex) {\n self.showToastError({ title: \"Import Usages\", message: ex.request.responseText });\n console.error(ex);\n }).then(function () {\n self.props.hideLoading('IMPORT_LICENSES');\n self.props.reloadData();\n });\n }\n\n submitUpdateLifetimeHandler = function () {\n const { startDate, endDate } = this.state.model;\n const self = this;\n return Axios.post(`api/Licenses/Dates`, { startDate, endDate, encryptedId: this.props.licenseId })\n .then(function () {\n self.showToastSuccess({ message: \"Lifetime license was changed sucessfully.\" });\n })\n .catch(function (error) {\n\n console.error(error);\n })\n .then(function () {\n self.props.reloadData();\n })\n }\n\n\n handleMouseEnter(e) {\n e.target.style.background = '#FF8019';\n e.target.style.color = 'white';\n }\n\n handleMouseLeave(e) {\n e.target.style.background = 'white';\n e.target.style.color = '#FF8019';\n }\n\n handleAction(e) {\n switch (e.target.innerText) {\n case \"Export Users\":\n this.exportUsersRef.ref.click();\n break;\n\n case \"Import Users\":\n this.importUsersRef.selectFileComponent.ref.click();\n break;\n\n case \"Rename Organization\":\n this.renameOrganizationRef.ref.click();\n break;\n\n case \"Change Organization\":\n this.changeOrganizationRef.ref.click();\n break;\n\n case \"Link Organization\":\n this.linkOrganizationRef.ref.click();\n break;\n\n default:\n break;\n }\n }\n\n getFsProCloudSettingsOptions = (organizationForChanging) => {\n const canInit =\n (((!this.state.editOrganizationName && !this.state.editOrganization && !this.state.linkOrganization) &&\n (((!this.props.currentUser.data.administrator && this.state.originalOrganizationName !== null) ||\n this.props.currentUser.data.administrator) &&\n this.state.productId === 3)));\n\n if (!canInit) {\n return [];\n }\n\n const items = [\n ... this.state.originalOrganizationName !== null ? [{ text: \"Rename Organization\" }] : [],\n ... organizationForChanging.length > 1 && !this.props.currentUser.data.administrator && this.state.originalOrganizationName !== null && this.state.productId === 3 ? [{ text: \"Change Organization\" }] : [],\n ... this.props.currentUser.data.administrator && this.state.productId === 3 ? [{ text: \"Link Organization\" }] : []\n ];\n\n let options = [\n ];\n\n for (let item of items) {\n options = [...options,\n \n {item.text}\n \n ];\n }\n return options;\n }\n\n showLicenseAdministratorHistory = () => {\n this.setState(\n {\n showLicenseAdministratorHistory: true\n });\n }\n\n showLicenseManagemenHandler = () => {\n this.setState({\n showLicenseManagement: true,\n });\n }\n\n showFSProCloudSettingsHandler = () => {\n this.setState({\n showFSProCloudSettings: true,\n });\n }\n\n showUserDataOperationsHandler = () => {\n this.setState({\n showUserDataOperations: true,\n });\n }\n\n showAIFeaturesHandler = () => {\n this.setState({\n aiGatewayLimitTokensEdited: this.state.aiGatewayLimitTokens,\n showAIFeatures: true,\n });\n }\n\n renderLicenseAdministratorHistoryData = (data) => {\n return [data.map((item, index) =>\n \n \n \n {item.dateTimeChanged}\n \n \n {item.email}\n \n \n )];\n }\n\n render() {\n const { startDate, endDate } = this.state.model;\n const classColumn = 'ui im_text_field';\n\n const uniqueOrganizations = [];\n const map = new Map();\n for (const item of this.state.organizations) {\n if (!map.has(item.organizationId) && item.organizationId !== null) {\n map.set(item.organizationId, true);\n uniqueOrganizations.push({\n id: item.organizationId,\n name: item.organizationName\n });\n }\n }\n\n const organizationOptions = uniqueOrganizations.map(function (o) {\n return {\n key: o.id,\n text: o.name,\n value: o.id\n };\n });\n\n const organizationOptionsForLinking = this.state.organizations.map(function (o) {\n return {\n key: o.organizationId,\n text: `${o.organizationName} (id: ${o.organizationId})`,\n value: o.organizationId\n };\n });\n\n const canUserImport = (this.props.total - this.props.current) > 0;\n\n const optionsImportExport = [\n { key: \"import\", text: \"Import Users\", value: \"import\" },\n { key: \"export\", text: \"Export Users\", value: \"export\" }\n ];\n\n const renderLabel = (option) => ({\n color: option.color,\n content: option.text\n });\n\n const itemStyle = {\n backgroundColor: this.state.isHover ? '#FF8019' : 'white',\n color: this.state.isHover ? 'white' : '#FF8019',\n };\n\n const getUserDataOperationsOptions = () => {\n const items = [\n ...canUserImport ? [{ text: \"Import Users\" }] : [],\n { text: \"Export Users\" }\n ];\n\n let options = [\n ];\n\n for (let item of items) {\n options = [...options,\n \n {item.text}\n \n ];\n }\n return options;\n }\n\n return (\n
\n \n \n \n {((this.state.canManage && this.props.total > 1) || this.props.isAdmin) &&\n Change License Admin}\n\n {(((this.state.canManage && this.props.total > 1) || this.props.isAdmin || this.props.currentUser.data.isManager) && this.state.productId === 3) &&\n FS Pro Cloud Settings}\n\n Import/Export Users\n\n {this.state.productId == 7 && this.state.aiGatewayTokenId !== null && (this.state.canManage || this.props.isAdmin) &&\n AI Features}\n \n \n \n\n {/*License Management Modal*/}\n { this.setState({ showLicenseManagement: false }); }}>\n \n
\n Change License Admin\n \n \n \n \n \n
\n
\n \n \n {!this.state.editManager ?\n \n \n \n

License Administrator

\n
\n \n \n \n
\n \n \n
\n {this.state.adminEmail}\n {this.props.currentUser.data.administrator ?\n
\n \n \n \n
\n : null}\n
\n
\n
\n
\n : \n \n \n \n \n \n \n \n \n \n \n }\n
\n
\n
\n\n {/*FS Pro Cloud Settings Modal*/}\n { this.setState({ showFSProCloudSettings: false }); }}>\n \n
\n FS Pro Cloud Settings\n \n \n \n \n \n
\n
\n \n \n {/*Organization Info when Organization is linked to Cloud*/}\n {((!this.state.editOrganizationName && !this.state.editOrganization && !this.state.linkOrganization)\n && (((!this.props.currentUser.data.administrator && this.state.originalOrganizationName !== null) || this.props.currentUser.data.administrator) && this.state.productId === 3)) ?\n \n \n \n

Organization Name

\n
\n \n
\n \n \n {this.getFsProCloudSettingsOptions(organizationOptions)}\n \n \n
\n
\n {this.state.originalOrganizationName !== null ?\n \n \n \n \n \n \n
\n
\n : null}\n\n {/*Select organization for linking*/}\n {this.state.selectLicenseForLinking && this.props.isAdmin ?\n \n \n \n

Selecting Organization

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n : null}\n\n {/*Organization Info when Organization is not linked to Cloud for not Admin*/}\n {!this.state.editOrganizationName && !this.state.editOrganization && this.state.originalOrganizationName === null && !this.props.isAdmin && !this.state.linkOrganization && this.state.productId === 3 ?\n \n \n \n

This license pack is not currently associated with an FS Pro Cloud\n organization. For automatic user access to FS Pro Cloud, please\n Contact support to link an existing organization or create a new one

\n
\n
\n
\n : null}\n\n {/*Change Organization Name*/}\n {this.state.editOrganizationName ?\n \n \n \n

Renaming Organization

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n : null}\n\n {/*Change Organization*/}\n {this.state.editOrganization ?\n \n \n \n

Changing Organization

\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n : null}\n
\n
\n
\n\n {/*User Data Operations Modal*/}\n { this.setState({ showUserDataOperations: false }); }}>\n \n
\n Import/Export Users\n \n \n \n \n \n
\n
\n \n \n \n \n \n

Manage Users

\n
\n \n {canUserImport &&\n
\n this.importUsersRef = x}\n onSelectionFileSuccess={this.onSelectionFileSuccess}\n title='Import Users'\n showComponent={false}\n commentHtml={
The csv file should contain columns with these headers:
\n \n \n \n \n
EmailFirstNameLastName
\n \n

*Only email is required
}\n types={['csv']} onErrorHandling={this.showErrorMessage} />\n
\n
\n }\n\n \n\n : null\n }\n
\n
\n
\n
\n
\n
\n\n\n {/**/}\n {/* */}\n {/* */}\n {/* */}{/*Change License Administrator*/}\n {/*
*/}\n {/* {((this.state.canManage && this.props.total > 1) || this.props.isAdmin) &&*/}\n {/*
*/}\n {/*
*/}\n {/*

License Management

*/}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/*
*/}\n {/* {!this.state.editManager ?*/}\n {/* */}\n {/* */}\n {/* */}\n {/*

License Administrator

*/}\n {/*
*/}\n {/* */}\n {/* */}\n {/* */}\n {/*
*/}\n {/* */}\n {/* */}\n {/*
*/}\n {/* {this.state.adminEmail}*/}\n {/* {this.props.currentUser.data.administrator ?*/}\n {/*
*/}\n {/* */}\n {/* */}\n {/* */}\n {/*
*/}\n {/* : null}*/}\n {/*
*/}\n {/*
*/}\n {/*
*/}\n {/*
*/}\n {/* : */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* }*/}\n {/*
}*/}\n {/*
*/}\n {/*
*/}\n {/* */}\n {/* {this.state.productId === 3 &&*/}\n {/*
}*/}\n {/* */}\n {/* {((this.state.canManage && this.props.total > 1) || this.props.isAdmin || this.props.currentUser.data.isManager) &&*/}\n {/* */}\n {/* {this.state.productId === 3 &&*/}\n {/*
*/}\n {/*

FS Pro Cloud Settings

*/}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/*
}*/}\n {/* */}{/*Organization Info when Organization is linked to Cloud*/}\n {/* {((!this.state.editOrganizationName && !this.state.editOrganization && !this.state.linkOrganization)*/}\n {/* && (((!this.props.currentUser.data.administrator && this.state.originalOrganizationName !== null) || this.props.currentUser.data.administrator) && this.state.productId === 3)) ?*/}\n {/* */}\n {/* */}\n {/* */}\n {/*

Organization Name

*/}\n {/*
*/}\n {/* */}\n {/*
*/}\n {/* */}\n {/* */}\n {/* {this.getFsProCloudSettingsOptions(organizationOptions)}*/}\n {/* */}\n {/* */}\n {/*
*/}\n {/*
*/}\n {/* {this.state.originalOrganizationName !== null ?*/}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/*
*/}\n {/*
*/}\n {/* : null}*/}\n\n {/* */}{/*Select organization for linking*/}\n {/* {this.state.selectLicenseForLinking && this.props.isAdmin ?*/}\n {/* */}\n {/* */}\n {/* */}\n {/*

Selecting Organization

*/}\n {/*
*/}\n {/*
*/}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/*
*/}\n {/* : null}*/}\n\n {/* */}{/*Organization Info when Organization is not linked to Cloud for not Admin*/}\n {/* {!this.state.editOrganizationName && !this.state.editOrganization && this.state.originalOrganizationName === null && !this.props.isAdmin && !this.state.linkOrganization && this.state.productId === 3 ?*/}\n {/* */}\n {/* */}\n {/* */}\n {/*

This license pack is not currently associated with an FS Pro Cloud*/}\n {/* organization. For automatic user access to FS Pro Cloud, please*/}\n {/* Contact support to link an existing organization or create a new one

*/}\n {/*
*/}\n {/*
*/}\n {/*
*/}\n {/* : null}*/}\n\n {/* */}{/*Change Organization Name*/}\n {/* {this.state.editOrganizationName ?*/}\n {/* */}\n {/* */}\n {/* */}\n {/*

Renaming Organization

*/}\n {/*
*/}\n {/*
*/}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/*
*/}\n {/* : null}*/}\n\n {/* */}{/*Change Organization*/}\n {/* {this.state.editOrganization ?*/}\n {/* */}\n {/* */}\n {/* */}\n {/*

Changing Organization

*/}\n {/*
*/}\n {/*
*/}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/*
*/}\n {/* : null}*/}\n {/*
}*/}\n {/* */}\n {/* {this.state.productId === 3 &&*/}\n {/*
}*/}\n {/* */}\n {/* */}\n {/*
*/}\n {/*

User Data Operations

*/}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/*
*/}\n {/* */}\n {/* */}\n {/* */}\n {/*

Data Transfer

*/}\n {/*
*/}\n {/* */}\n {/* {canUserImport &&*/}\n {/*
*/}\n {/* this.importUsersRef = x}*/}\n {/* onSelectionFileSuccess={this.onSelectionFileSuccess}*/}\n {/* title='Import users'*/}\n {/* showComponent={false}*/}\n {/* commentHtml={
The csv file should contain columns with these headers:
*/}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/*
EmailFirstNameLastName
*/}\n {/* */}\n {/*

*Only email is required
}*/}\n {/* types={['csv']} onErrorHandling={this.showErrorMessage} />*/}\n {/*
*/}\n {/*
*/}\n {/* }*/}\n\n {/*
*/}\n {/*
*/}\n {/* {this.props.currentUser && this.props.currentUser.data && this.props.currentUser.data.administrator ?*/}\n {/*
*/}\n {/*
*/}\n\n {/* */}\n {/* */}\n {/* this.onModelPropertyChange({ target: d })}>*/}\n {/* */}\n {/* */}\n {/* this.onModelPropertyChange({ target: d })}>*/}\n\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n {/* */}\n\n {/*
: null}
*/}\n
\n\n { this.setState({ showConfirmModal: false }) }}\n onConfirm={this.changeLicenseAdmin}\n header=\"Confirm License Administrator Change\"\n content={!this.props.isAdmin ?\n \"Are you sure you want to change the license administrator for this license? An email will be sent to the new administrator for confirmation.\" :\n \"Are you sure you want to change the license administrator for this license? This change won't require a confirmation.\"} />\n\n { this.setState({ showChangeOrganizationNameConfirmModal: false }) }}\n onConfirm={this.changeOrganizationName}\n header=\"Confirm Organization Name Change\"\n content={!this.props.isAdmin ?\n \"Are you sure you want to change the organization name for this license?\" :\n \"Are you sure you want to change the organization name for this license? This change won't require a confirmation.\"} />\n\n { this.setState({ showChangeOrganizationConfirmModal: false }) }}\n onConfirm={this.changeOrganization}\n header=\"Confirm Organization Change\"\n content={!this.props.isAdmin ?\n \"Are you sure you want to change the organization for this license?\" :\n \"Are you sure you want to change the organization for this license? This change won't require a confirmation.\"} />\n\n { this.setState({ showLinkOrganizationConfirmModal: false }) }}\n onConfirm={this.handleLinkSelectedOrganization}\n header=\"Confirm Organization Link\"\n content=\"Are you sure you want to link the organization for this license? This change won't require a confirmation.\" />\n\n { this.setState({ showMailSentMsg: false }); this.onCancel(); }}>\n Email Sent\n \n\n \n\n

\n An email has been sent to the new administrator requesting approval.
\n The change will not be effective until the new administrator accepts the change.
\n (Click outside this dialog to close it).\n

\n\n
\n
\n
\n\n \n License Administrator Change Log\n \n \n {/*

Here you can see the history of changes in license administrators.

*/}\n \n \n \n

Date (mm/dd/yyyy)

\n
\n \n

New License Administrator Email

\n
\n
\n
\n {this.renderLicenseAdministratorHistoryData(this.state.licenseAdministratorHistory)}\n {this.state.purchaserEmail ?\n
\n

Email Purchaser:

\n {this.state.purchaserEmail}\n
\n : null}\n
\n
\n \n \n \n
\n
\n )\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n currentUser: state.application.currentUser\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) },\n successMessage: function (message) { return dispatch(applicationActionCreator.notification.success(message)) },\n errorMessage: function (message) { return dispatch(applicationActionCreator.notification.error(message)) }\n }\n}\nexport default connect(mapStateToProps, mapDispatchToProps)(LicenseUsagesHeader)","import React, { Component } from 'react'\nimport Axios from 'axios';\nimport IMComponent from '../Components/IMComponent';\n\nimport { Link } from 'react-router-dom';\n\nimport { Modal, Button, Grid, Icon } from 'semantic-ui-react';\n\nimport applicationActionCreator from '../../redux/actions/applicationActions';\nimport { messages } from '../../components/utility/Helper';\n\nimport LicenseUsageGrid from './LicenseUsagesGrid';\nimport LicenseUsagesHeader from './LicenseUsagesHeader';\nimport LicenseUsagesNewRow from './LicenseUsagesNewRow';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nconst componentURL = \"/api/Licenses/{0}/LicenseUsages\";\nexport let addNewUsage;\nclass List extends IMComponent {\n constructor(props) {\n super(props);\n props.showLoading(\"LicenseUsage_Started\");\n const { match: { params: { licenseId } } } = this.props;\n this.state = {\n licenseId: licenseId,\n duplicateOrganizationId: \"\",\n duplicateLicenseId: \"\",\n duplicateEmail: \"\",\n duplicateUserId: \"\",\n duplicateRoleId: \"\",\n duplicatedUsage: \"\",\n revokemode: false,\n addUserFromOtherOrganizationMode: false,\n updateUserOrganizationMode: false,\n updateUserOrganizationOption: null,\n previousLurId: null,\n revokeReason: 'User revoke',\n offlineChecked: this.props.data == null ? false : this.props.data.Offline,\n renew: this.props.data == null ? false : this.props.data.ToRenew,\n maximumSessions: {},\n currentLicense: {},\n data: [],\n usages: [],\n total: 0,\n licenseEndDate: \"\",\n loadData: true,\n loadRolesData: true,\n addingUserFromOtherOrganization: false\n };\n this.loadLicenseUsages = this.loadLicenseUsages.bind(this);\n this.loadRolesFromServer = this.loadRolesFromServer.bind(this);\n\n this.loadLicenseUsages();\n this.loadRolesFromServer();\n addNewUsage = this.onAddNewUsage.bind(this);\n this.onAddNewUsage = this.onAddNewUsage.bind(this);\n this.onAddNewUsageWithDuplicateRevoking = this.onAddNewUsageWithDuplicateRevoking.bind(this);\n this.onAddNewUsageSimple = this.onAddNewUsageSimple.bind(this);\n this.handleConfirmation = this.handleConfirmation.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleOfflineChecked = this.handleOfflineChecked.bind(this);\n this.hasdataChanged = this.hasdataChanged.bind(this);\n this.handleRenewChecked = this.handleRenewChecked.bind(this);\n this.handleUpdate = this.handleUpdate.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleDataChange = this.handleDataChange.bind(this);\n this.handleAddUserFromOtherOrganization = this.handleAddUserFromOtherOrganization.bind(this);\n this.handleAddUserFromOtherOrganizationCancel = this.handleAddUserFromOtherOrganizationCancel.bind(this);\n this.handleUpdateUserOrganization = this.handleUpdateUserOrganization.bind(this);\n this.handleUpdateUserOrganizationNo = this.handleUpdateUserOrganizationNo.bind(this);\n }\n\n onAddNewUsage = function (usage) {\n usage.licenseCryptId = this.state.licenseId;\n this.props.showLoading(\"ADD_NEW_USAGE\");\n if (this.state.addUserFromOtherOrganizationMode || this.state.updateUserOrganizationMode) {\n this.onAddNewUsageWithDuplicateRevoking(usage);\n }\n else {\n this.onAddNewUsageSimple(usage);\n }\n }\n\n onAddNewUsageSimple = function (usage) {\n usage.licenseCryptId = this.state.licenseId;\n const self = this;\n this.props.showLoading(\"ADD_NEW_USAGE\");\n // CheckLinkingToOrganization\n return Axios.put(`api/Licenses/encrypted/${this.state.licenseId}`)\n .then(function() {\n Axios.post(`api/Licenses/${self.state.licenseId}/LicenseUsages/DuplicateOrganizationId/${self.state.duplicateOrganizationId}`, usage)\n .then(function() {\n self.setState({ usages: [], total: 0, canShowRoles: false });\n return self.reloadData();\n //return self.loadLicenseUsages();\n })\n .then(function() {\n self.props.successMessage({\n title: \"Usage License\",\n message: messages.success.usageWasAddedSucessfully\n });\n })\n .catch(function(ex) {\n self.setState({ something: ex });\n if (ex.response.data.message === 'User is part of other organization') {\n self.setState({\n addUserFromOtherOrganizationMode: true,\n duplicateOrganizationId: ex.response.data.organizationId,\n duplicateEmail: ex.response.data.email,\n duplicatedUsage: usage\n });\n }\n else if (ex.response.data.message === 'User is part of other organization2')\n {\n self.setState({\n updateUserOrganizationMode: true,\n duplicateOrganizationId: ex.response.data.organizationId,\n duplicateEmail: ex.response.data.email,\n duplicatedUsage: usage,\n previousLurId: ex.response.data.previousLurId\n });\n }\n else {\n self.props.errorMessage({ title: \"Usage Error\", message: ex.response.data });\n self.setState({\n duplicateOrganizationId: \"\",\n addUserFromOtherOrganizationMode: false\n });\n }\n\n self.setState({ addingUserFromOtherOrganization: false });\n })\n .then(function() {\n if (self.state.addingUserFromOtherOrganization === false) {\n self.props.hideLoading(\"ADD_NEW_USAGE\");\n }\n });\n });\n }\n\n onAddNewUsageWithDuplicateRevoking = function(usage) {\n usage.licenseCryptId = this.state.licenseId;\n const self = this;\n this.props.showLoading(\"ADD_NEW_USAGE\");\n if (this.state.updateUserOrganizationMode) {\n usage.updateUserOrganizationOption = this.state.updateUserOrganizationOption;\n }\n var um = this.state.updateUserOrganizationMode;\n this.setState({ addUserFromOtherOrganizationMode: false, updateUserOrganizationMode: false });\n return Axios\n .post(`api/Licenses/${self.state.licenseId}/LicenseUsages/DuplicateOrganizationId/${self.state.duplicateOrganizationId}`, usage)\n .then(function (response) {\n if (um) {\n Axios.delete(`/api/Licenses/${self.state.licenseId}/LicenseUsages/${self.state.previousLurId}?informCloud=false`);\n }\n else {\n const url = `/api/Licenses/${self.state.licenseId}/LicenseUsages/userWithOrganization`;\n Axios.post(url,\n {\n EncryptedOrganizationId: self.state.duplicateOrganizationId,\n EncryptedEmail: self.state.duplicateEmail\n });\n }\n })\n .catch (function(e) {\n self.props.hideLoading(\"ADD_NEW_USAGE\");\n if (!!e.response && e.response.status === 400)\n self.showToastError({ title: \"Revoke duplicate user\", message: e.response.data });\n else\n self.showToastError({\n title: \"Revoke duplicate user\",\n message: \"There were some error please contact to Administrators.\"\n });\n })\n .then(function() {\n //self.setState({\n // usages: [],\n // total: 0,\n // canShowRoles: false\n //});\n\n self.setState({\n duplicateOrganizationId: \"\",\n addUserFromOtherOrganizationMode: false,\n addingUserFromOtherOrganization: false\n });\n\n self.props.successMessage({\n title: \"Usage License\",\n message: messages.success.usageWasAddedSucessfully\n });\n self.props.hideLoading(\"ADD_NEW_USAGE\");\n\n return self.loadLicenseUsages();\n })\n .catch(function(e) {\n self.props.hideLoading(\"ADD_NEW_USAGE\");\n if (!!e.response && e.response.status === 400)\n self.showToastError({ title: \"Revoke duplicate user\", message: e.response.data });\n else\n self.showToastError({\n title: \"Revoke duplicate user\",\n message: \"There were some error please contact to Administrators.\"\n });\n });\n }\n\n loadRolesFromServer() {\n const self = this;\n return Axios.get(`api/Roles/${this.state.licenseId}`)\n .then(function (response) {\n self.setState({ roles: response.data });\n })\n .catch(function (e) {\n // ToDo: Show alert message is changing max sessions fails\n console.error(e.status, e.toString());\n })\n .then(function () {\n self.setState({ loadRolesData: false });\n });\n }\n\n loadLicenseUsages = function () {\n const self = this;\n const url = componentURL.format(this.state.licenseId);\n return Axios.get(url, { params: { version: Math.random() } })\n .then(function (response) {\n\n self.setState({\n usages: response.data.usages,\n total: response.data.total,\n canShowRoles: response.data.canShowRoles,\n endDate: response.data.endDate,\n startDate: response.data.startDate,\n productId: response.data.productId\n });\n })\n .catch(function (ex) {\n console.log(ex);\n })\n .then(function () {\n self.setState({ loadData: false });\n if (self.state.addingUserFromOtherOrganization === false) {\n self.props.hideLoading('LOAD_USAGES');\n }\n });\n }\n\n revokeClicked = (e) => {\n this.setState({\n revokemode: true,\n id: e.target.getAttribute('id'),\n index: e.target.getAttribute('index')\n });\n }\n\n removeSessionsClick = (e) => {\n e.preventDefault();\n this.setState({\n removemode: true,\n id: e.target.getAttribute('id'),\n index: e.target.getAttribute('index')\n });\n }\n\n handleConfirmation = function () {\n this.props.showLoading('CONFIRMATION_MODAL');\n const { removemode, revokemode } = this.state\n const self = this;\n this.setState({\n revokemode: false,\n removemode: false\n });\n const url = revokemode ? `/api/Licenses/${this.state.licenseId}/LicenseUsages/${this.state.id}` :\n removemode ? `/api/Session/${this.state.licenseId}/LicenseUsages/${this.state.id}` : '';\n return Axios.delete(url)\n .then(function (response) {\n if (response) {\n self.props.successMessage({ title: \"Revoke Usage\", message: \"Usage was revoked successfully.\" })\n return self.loadLicenseUsages();\n }\n })\n .catch(function (e) {\n if (!!e.response && e.response.status === 400)\n self.showToastError({ title: \"Revoke user\", message: e.response.data });\n else\n self.showToastError({\n title: \"Revoke user\",\n message: \"There were some error please contact to Administrators.\"\n });\n })\n .then(function () {\n self.props.hideLoading('CONFIRMATION_MODAL');\n });\n }\n\n hasdataChanged() {\n return (this.state.offlineChecked === this.state.data.Offline) &&\n (this.state.renew === this.state.data.ToRenew) ? false : true;\n }\n\n handleCancel() {\n this.setState({\n revokemode: false,\n removemode: false\n });\n }\n\n handleAddUserFromOtherOrganization = function () {\n this.setState({ addingUserFromOtherOrganization: true });\n this.onAddNewUsage(this.state.duplicatedUsage);\n }\n\n handleUpdateUserOrganization = function () {\n this.state.updateUserOrganizationOption = true; \n this.onAddNewUsage(this.state.duplicatedUsage);\n }\n\n handleUpdateUserOrganizationNo = function () {\n this.state.updateUserOrganizationOption = false;\n this.onAddNewUsage(this.state.duplicatedUsage);\n }\n\n handleAddUserFromOtherOrganizationCancel() {\n this.setState({\n addUserFromOtherOrganizationMode: false,\n duplicateOrganizationId: \"\"\n });\n }\n\n handleOfflineChecked(e) {\n this.setState({\n offlineChecked: e.target.checked,\n });\n }\n handleRenewChecked(e) {\n this.setState({\n renew: e.target.checked,\n });\n }\n\n handleDataChange(e, id) {\n let maximumSessions = Object.assign({}, this.state.maximumSessions);\n switch (e.target.name) {\n case 'maximumSessions':\n maximumSessions[id] = e.target.value;\n this.setState({\n LicenseId: e.target.getAttribute('licenseid'),\n Index: e.target.getAttribute('index'),\n Id: e.target.id,\n maximumSessions\n });\n break;\n default:\n break;\n }\n return e.target.value;\n }\n\n handleKeyPress(e, item) {\n let maximumSessions = Object.assign({}, this.state.maximumSessions);\n maximumSessions[item.id] = e.target.value;\n this.setState({\n LicenseId: item.LicenseId,\n Index: e.target.getAttribute('index'),\n Id: item.id,\n maximumSessions\n });\n if (e.target.value !== 2) {\n if (e.charCode === 13) {\n this.handleUpdate(e.target.value, e.target.getAttribute('index'), item);\n }\n }\n }\n\n handleUpdate(value, index, item) {\n let userdata = this.state.data[index];\n userdata.MaximumSessions = value;\n const self = this;\n\n return Axios.put('api/Licenses/' + item.LicenseId + '/LicenseUsages/' + item.Id, userdata, { responseType: 'text' })\n .then(function (response) {\n if (response) {\n self.props.handleFilter(item.LicenseId);\n }\n })\n .catch(function (e) {\n // ToDo: Show alert message is changing max sessions fails\n console.error(e.status, e.toString());\n\n });\n }\n\n reloadData = () => {\n this.setState({ loadData: true });\n this.loadLicenseUsages();\n }\n\n render() {\n const { usages, revokemode, removemode, addUserFromOtherOrganizationMode, updateUserOrganizationMode, previousLurId, updateUserOrganizationOption, total, licenseId, canShowRoles, roles, endDate, startDate, loadData, loadRolesData, productId } = this.state;\n const canAddUsage = usages.length < total;\n if (productId == 9) {\n return

Operation not available

\n }\n const modalRevoke = \n \n {revokemode ? 'Revoke usage' : ''}\n {removemode ? 'Remove sessions' : ''}\n \n \n {revokemode ? 'Do you really want to revoke this user?' : ''}\n {removemode ? 'Do you really want to remove the sessions of this user?' : ''}\n \n \n \n \n \n \n );\n }\n\n renderNewSkuLine = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n\n onFilterChanged = () => {\n const { queryProductName } = this.state;\n let resultData = this.props.data;\n var format = /[!@._#$%^&*()+\\-=\\[\\]{};':\"\\\\|,<>\\/?]+/;\n if (format.test(queryProductName)) { \n alert(\"Please specify valid characters for product names\");\n return resultData;\n }\n \n if (queryProductName)\n resultData = matchSorter(resultData, queryProductName, { keys: [x => x.name] });\n return _.sortBy(resultData, x => x.name.trim());\n }\n\n render() {\n const data = this.onFilterChanged();\n return {[this.renderHeader(), this.renderData(data)]};\n }\n}\n","import React from 'react';\n\nimport axios from 'axios';\n\nimport IMComponent from '../Components/IMComponent';\nimport { confirmationModal } from '../Components/ModalComponent';\nimport applicationActionCreator, { actions } from '../../redux/actions/applicationActions'\nimport ProductsGrid from './ProductsGrid';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nclass List extends IMComponent {\n constructor(props) {\n super(props);\n this.state = { products: [] }\n this.showProductEdit = this.showProductEdit.bind(this);\n this.loadProductsFromServer = this.loadProductsFromServer.bind(this);\n this.loadProductsFromServer();\n }\n\n showProductEdit(row) {\n const productId = row.target.id;\n this.props.goToPage(`/product/edit/${productId}`);\n }\n\n deleteProduct = function (row, productName) {\n const productId = row.target.id;\n const self = this;\n confirmationModal('Delete Product?', `Are you sure to delete '${productName}' product?`)\n .then(function () {\n self.props.showLoading('DELETE_PRODUCT');\n return axios.delete(`/api/products/${productId}`);\n\n })\n .then(function () {\n self.loadProductsFromServer();\n self.showToastSuccess({ title: \"Product\", message: \"Deleted successfully.\" })\n\n })\n .catch(function (e) {\n if (e)\n console.error(self.props.match.url, e.status, e.toString());\n })\n .then(function () {\n self.props.hideLoading('DELETE_PRODUCT')\n })\n }\n\n showProductNew = () => {\n this.props.goToPage(\"/product/new\");\n }\n\n loadProductsFromServer() {\n const self = this;\n return axios.get('/api/products')\n .then(function (response) {\n\n if (response) {\n self.setState({ products: response.data });\n }\n })\n .catch(function (e) {\n console.error(self.props.match.url, e.status, e.toString());\n });\n }\n\n\n render() {\n const columns = [{\n Cell: () => (\n
\n \"user\n
\n ),\n maxWidth: 40,\n filterable: false,\n sortable: false\n }, {\n Cell: () => (\n
\n ),\n maxWidth: 40,\n filterable: false,\n sortable: false\n }, {\n Cell: (cellInfo) => (\n
\n {cellInfo.original.name}\n
\n ),\n Header: 'Name ',\n maxWidth: 350,\n filterable: false,\n sortable: false\n }, {\n Cell: (cellInfo) => ([\n ,\n ]\n ),\n maxWidth: 350,\n filterable: false,\n sortable: false\n }\n ];\n return (\n
\n \n \n \n \n \n

Products

\n \n \n
\n );\n }\n}\n\n\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) },\n successMessage: function (message) { return dispatch(applicationActionCreator.notification.success(message)) },\n errorMessage: function (message) { return dispatch(applicationActionCreator.notification.error(message)) },\n }\n}\n\nexport default connect(null, mapDispatchToProps)(List);","import React, { Component } from 'react'\nimport { Switch } from 'react-router-dom';\n\nimport PropsRoute from '../Components/PropsRoute';\n\nimport Edit from './Edit';\nimport List from './List';\n\n\nexport default class Index extends Component {\n render() {\n return (\n \n \n \n \n \n )\n }\n}\n","import React, { } from 'react'\nimport Axios from 'axios';\n\nimport { Link } from 'react-router-dom';\n\nimport { Form } from 'semantic-ui-react';\n\nimport { goToPageNavigation } from '../Index';\nimport CenteredMidLayout from '../Components/CenteredMidLayout';\nimport IMComponent from '../Components/IMComponent';\n\nexport default class Edit extends IMComponent {\n\n constructor(props) {\n super(props)\n if (this.props.isEdit) {\n this.loadSSOSite();\n } else {\n this.loadNewKeys();\n }\n this.onSaveChangesClick = this.onSaveChangesClick.bind(this);\n }\n\n loadNewKeys() {\n const self = this;\n return Axios.get(\"api/SingleSignOn/new\")\n .then(function (response) {\n self.setState({ model: response.data });\n });\n }\n\n loadSSOSite() {\n const self = this;\n return Axios.get(`api/SingleSignOn/${this.props.match.params.siteId}`)\n .then(function (response) {\n self.setState({ model: response.data });\n })\n }\n\n onSaveChangesClick() {\n const self = this;\n if (this.props.isEdit) {\n Axios.put(\"api/SingleSignOn\", this.state.model)\n .then(function () {\n self.showToastSuccess({ title: \"Single Sign On\", message: \"Updated\" });\n })\n\n } else {\n Axios.post(\"api/SingleSignOn\", this.state.model)\n .then(function () {\n self.showToastSuccess({ title: \"Single Sign On\", message: \"Created\" });\n })\n }\n\n goToPageNavigation(\"/single-sign-on\");\n }\n\n render() {\n\n const saveChangeslabel = this.props.isEdit ? \" Update\" : \" Create\";\n const { validModel } = this.state;\n const { name, url, publicKey, privateKey } = this.state.model;\n let formClassName = this.props.isEdit ? 'col-sm-6 col-md-6 col-sm-offset-3 col-md-offset-3 no__padding' : 'col-sm-6 col-md-6 col-sm-offset-3 col-md-offset-3';\n\n return (\n
\n\n
\n
\n

Single Sign On

\n
\n \n \n \n \n
\n
\n
\n \n
\n \n \n \n {this.props.isEdit ? null :\n \n }\n \n \n
\n
\n )\n }\n}\n","import React, { Component } from 'react'\n\nexport default class IMRow extends Component {\n\n renderRow() {\n const { row, columns } = this.props;\n if (!row)\n return columns.map((x, i) =>  );\n else\n return columns.map((x, i) => {x.renderContent?x.renderContent(row):
{x.render(row)}
});\n }\n\n render() {\n return (\n \n {this.renderRow()}\n \n\n )\n }\n}\n","import React, { Component } from 'react'\n\nexport default class IMRowHeader extends Component {\n render() {\n const self = this;\n return \n \n {self.props.columns.map((x, i) => {\n let columnSortClass = x.identificator && self.props.columnSort === x.identificator ? \"sorted\" : \"\";\n\n return self.props.sortColumn(x.identificator)} >{x.header}\n {columnSortClass ? (self.props.directionSort === \"asc\" ? \n : )\n : ''\n }\n ;\n })}\n \n \n {self.props.columns.map((x, i) => {!x.filterRender ? null :\n x.filterRender((value) => self.props.onFilterChanged(x.identificator, value))})}\n \n \n\n }\n}\n","import React, { Component } from 'react'\nimport IMRow from './IMRow'\nimport IMRowHeader from './IMRowHeader';\nimport _ from 'underscore';\nimport { Dropdown, Select, Pagination } from 'semantic-ui-react';\n\nexport default class IMTable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n originalItems: props.data,\n filters: {},\n paginationSize: 5,\n activePage: 1\n }\n this.onFilterChanged = this.onFilterChanged.bind(this);\n this.filterRows = this.filterRows.bind(this);\n this.handlePaginationChange = this.handlePaginationChange.bind(this);\n this.onPaginationSizeChanged = this.onPaginationSizeChanged.bind(this);\n this.sortColumn = this.sortColumn.bind(this);\n }\n\n renderTableBody(data) {\n if (!data)\n return null\n return data.map((x, i) => ());\n }\n\n filterRows() {\n let { originalItems, filters } = this.state;\n for (let index = 0; index < this.props.columns.length; index++) {\n const column = this.props.columns[index];\n const filterColumn = filters[column.identificator];\n if (filterColumn) {\n originalItems = _.filter(originalItems, (row) => column.render(row).includes(filterColumn));\n }\n }\n const { paginationSize, activePage } = this.state;\n const originalItemsCount = originalItems.length;\n originalItems = [...originalItems.slice((activePage - 1) * paginationSize, activePage * paginationSize)];\n const itemsLeft = paginationSize - originalItems.length;\n\n for (let index = 0; index < itemsLeft; index++) {\n originalItems.push(null);\n }\n return { items: originalItems, count: originalItemsCount };\n }\n\n onFilterChanged(id, value) {\n const { filters } = this.state;\n filters[id] = value;\n\n this.setState({\n filters,\n activePage: 1\n });\n this.forceUpdate();\n }\n\n handlePaginationChange(e, { activePage }) {\n this.setState({ activePage });\n }\n\n onPaginationSizeChanged(e, { value }) {\n this.setState({ paginationSize: value });\n }\n\n sortColumn(columnId) {\n let { originalItems, columnSort, direction } = this.state;\n const columnSorting = this.props.columns.filter(x => x.identificator === columnId)[0];\n originalItems = _.sortBy(originalItems, x => columnSorting.render(x).toLowerCase());\n if (direction === \"desc\") {\n originalItems = _.chain(originalItems).reverse().value();\n }\n this.setState({\n originalItems,\n columnSort: columnId,\n direction: (columnSort === columnId && direction === \"asc\" ? \"desc\" : \"asc\")\n });\n }\n\n render() {\n const rows = this.filterRows();\n const hasFilters = this.props.columns.filter(x => !!x.filterRender).length > 0;\n const { paginationSize, activePage, columnSort, direction } = this.state;\n const maxPagination = Math.ceil(rows.count / paginationSize);\n const paginationOptions = [\n { key: '5', value: 5, text: '5 rows' },\n { key: '10', value: 10, text: '10 rows' },\n { key: '15', value: 15, text: '15 rows' },\n { key: '20', value: 20, text: '20 rows' },\n { key: '25', value: 25, text: '25 rows' },\n ]\n return (\n\n
\n \n \n \n {this.renderTableBody(rows.items)}\n \n \n \n \n \n
\n {rows.count !== 0 ? (\n
\n
\n \n\n
\n
\n Pagination: \n \n
)\n : null}\n
\n
\n )\n }\n}\n","import React, { } from 'react'\nimport Axios from 'axios';\n\nimport { Input } from 'semantic-ui-react';\n\nimport { goToPageNavigation } from '../Index';\nimport IMComponent from '../Components/IMComponent';\nimport { confirmationModal } from '../Components/ModalComponent';\nimport IMTable from '../Components/IM/IMTable';\nimport applicationActionCreator, { actions } from '../../redux/actions/applicationActions';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nclass List extends IMComponent {\n\n constructor(props) {\n super(props)\n this.loadData();\n }\n\n loadData() {\n const self = this;\n Axios.get(\"/api/singlesignon\")\n .then(function (response) {\n self.setState({ data: response.data });\n })\n }\n\n\n deleteSSO = function (row, siteName) {\n const SSOId = row.target.id;\n const self = this;\n this.props.showLoading('DELETE_SSO');\n return confirmationModal('Delete SSO?', `Are you sure to delete '${siteName}' SSO?`)\n .then(function () {\n self.setState({ data: [] });\n })\n .then(function () {\n return Axios.delete(`/api/SingleSignOn/${SSOId}`);\n })\n .then(function () {\n self.loadData();\n self.showToastSuccess({ title: \"Single Site On\", message: \"Deleted successfully.\" })\n })\n .catch(function (e) {\n if (e)\n console.error(self.props.match.url, e.status, e.toString());\n })\n .then(function () {\n self.props.hideLoading('DELETE_SSO')\n })\n }\n\n\n showSSOSiteEdit(row) {\n const siteId = row.target.id;\n goToPageNavigation(`/single-sign-on/edit/${siteId}`);\n }\n\n showProductNew = () => {\n goToPageNavigation(\"/single-sign-on/new\");\n }\n\n render() {\n const columns = [\n {\n header: \"Name\",\n identificator: \"name\",\n render: (row) => row.name,\n colWidth: \"two\",\n sortable: true,\n filterRender: (filterCallback) =>\n filterCallback(value)}>\n },\n {\n colWidth: \"five\",\n header: \"URL\",\n sortable: true,\n render: (row) => row.url,\n identificator: \"url\",\n filterRender: (filterCallback) =>\n filterCallback(value)}>\n },\n {\n colWidth: \"seven\",\n header: \"Public Key\",\n identificator: \"publicKey\",\n sortable: true,\n render: (row) => row.publicKey\n },\n {\n colWidth: \"two\",\n header: \"\",\n renderContent: (row) =>
\n \n \n\n
\n }\n ]\n const { data } = this.state;\n\n return (
\n

Single Sign On Sites

\n \n
\n {!!data ?\n : null}\n
\n )\n }\n}\n\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) },\n successMessage: function (message) { return dispatch(applicationActionCreator.notification.success(message)) },\n errorMessage: function (message) { return dispatch(applicationActionCreator.notification.error(message)) },\n }\n}\n\nexport default connect(null, mapDispatchToProps)(List);","import React, { Component } from 'react'\nimport {Switch, Route} from 'react-router-dom';\n\nimport PropsRoute from '../Components/PropsRoute';\n\nimport Edit from './Edit';\nimport List from './List';\n\nexport default class Index extends Component {\n render() {\n return (
\n \n \n \n \n \n
\n )\n }\n}\n","import React from 'react';\nimport queryString from 'query-string';\nimport { Popup } from 'semantic-ui-react'\nimport { withRouter } from 'react-router-dom';\nimport axios from 'axios';\nimport { getPasswordValidation } from './utility/Helper';\nimport { connect } from 'react-redux';\nimport applicationActionCreator from '../redux/actions/applicationActions';\n\nclass ResetPassword extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n confirmPassword: \"\",\n newPassword: \"\",\n errorMessage: \"\",\n passwordHelper: false,\n validations: getPasswordValidation(\"\"),\n token: queryString.parse(this.props.location.search).token\n };\n\n this.handleNewPasswordChange = this.handleNewPasswordChange.bind(this);\n this.handleConfirmPasswordChange = this.handleConfirmPasswordChange.bind(this);\n this.handleResetPasswordSubmit = this.handleResetPasswordSubmit.bind(this);\n this.onPasswordChangeSuccessfully = this.onPasswordChangeSuccessfully.bind(this);\n this.passwordSetting();\n }\n\n passwordSetting() {\n const self = this;\n self.props.showLoading(\"LoadPasswordSettings\");\n axios.get(`/api/PasswordSettings?t=${encodeURIComponent(this.state.token)}`)\n .then((response) => { self.setState({ passwordSetting: response.data }) })\n .catch((e) => { self.setState({ errorMessage: e.response.data }); })\n .then(() => {\n self.onPasswordChange(\"\");\n self.props.hideLoading(\"LoadPasswordSettings\");\n self.setState({ passwordHelper: true });\n });\n }\n\n onPasswordChange = (newVal) => {\n\n var validations = getPasswordValidation(newVal, this.state.passwordSetting);\n\n this.setState({\n newPassword: newVal,\n validations\n });\n }\n\n handleNewPasswordChange(e) {\n var newVal = e.target.value;\n this.onPasswordChange(newVal);\n }\n handleConfirmPasswordChange(e) {\n this.setState({ confirmPassword: e.target.value });\n }\n onPasswordChangeSuccessfully() {\n window.location = \"/\";\n }\n\n handleResetPasswordSubmit(e) {\n this.setState({ isLoading: true });\n e.preventDefault();\n var self = this;\n try {\n if (this.state.validations.filter(x => !x.status).length > 0) {\n this.setState({ errorMessage: \"Password did not match Password Policy!\" });\n return;\n }\n if (this.state.newPassword !== this.state.confirmPassword) {\n this.setState({ errorMessage: \"Password did not match! Please try again!\" });\n return;\n }\n axios.put(`/api/ResetPassword?t=${encodeURIComponent(this.state.token)}&p=${encodeURIComponent(this.state.newPassword)}`)\n .then(function () {\n self.onPasswordChangeSuccessfully();\n\n self.setState({ isLoading: false });\n })\n .catch(function (error) {\n self.setState({ errorMessage: error.response.data, isLoading: false });\n });\n } catch (e) {\n console.log(e);\n }\n }\n\n render() {\n return (\n
\n \n
\n
\n

Welcome to the FS Pro Console, you can manage, update and renew your FS Pro Licenses here.

\n
\n
\n
\n
\n {(this.state.errorMessage !== \"\") ?
\n {this.state.errorMessage}\n
: ''}\n

Reset Password

\n

Reset your password!

\n
\n
\n \n\n }\n open={this.state.passwordHelper}\n content={this.state.validations !== null ? this.state.validations.map((x, i) => (
\n {x.status ? : }\n {x.message}
)) : null}\n header='Password Policy'\n position='right center'\n size='small'\n />\n {this.state.validations.filter(x => !x.status).length === 0 ?\n
\n \n \n
: null}\n\n \n
\n
\n
\n
\n
\n );\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) }\n }\n}\n\nexport default withRouter(connect(null, mapDispatchToProps)(ResetPassword));","import { Grid, Button, Input } from 'semantic-ui-react';\n\nimport _ from 'underscore';\nimport React from 'react';\nimport IMComponent from '../Components/IMComponent';\nimport { Link } from 'react-router-dom';\n\nexport default class UsersGrid extends IMComponent {\n constructor(props) {\n super(props, {});\n this.state = { queryName: '' };\n }\n\n renderHeader = () => {\n const { queryName } = this.state;\n return [\n \n \n NAME\n \n ,\n \n \n \n \n \n \n Filter\n \n ];\n }\n\n renderData = (data) => {\n return data.map((item, index) =>\n \n \n \"license\n \n \n

{`${item.firstName != null ? item.firstName : \"[no first name]\"} ${item.lastName != null ? item.lastName : \"[no last name]\"}`}
{item.email}

\n
\n \n\n \n \n Edit\n \n \n
);\n\n }\n\n validateEmail = (email) => {\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(email);\n }\n\n onInputChanged(e) {\n this.setState({ queryName: e.target.value });\n var val = e.target.value; \n //valida special chars\n var format = /[!#$%^&*()+=\\[\\]{};:\"\\\\|,<>\\/?]+/;\n if (format.test(val)) {\n if (!this.validateEmail(val)) {\n alert(\"Please specify valid characters for names or valid email formats\");\n return;\n }\n\n }\n this.props.onHandleFilterChange(e.target.value);\n }\n\n render() {\n const data = this.props.data ? this.props.data : [];\n return {[this.renderHeader(), this.renderData(data)]};\n }\n}\n","import React from 'react';\n\nimport axios from 'axios';\n\nimport _ from 'underscore';\nimport { showLoading, hideLoading } from '../Components/ModalComponent';\nimport IMComponent from '../Components/IMComponent';\n\nimport UsersGrid from './UsersGrid';\nimport { Pagination, Dimmer, Loader, Image, Segment, Message } from 'semantic-ui-react';\n\nimport matchSorter from 'match-sorter';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\nimport applicationActionCreator, { actions } from '../../redux/actions/applicationActions';\nimport { Link } from 'react-router-dom';\n\nclass List extends IMComponent {\n constructor(props) {\n super(props);\n this.state = { data: props.data, usersToggleAdmin: [], pageNumber: 1, pageSize: 10, loading: false, totalPages: -1 };\n //this.loadUsersFromServer();\n this.handleSelected = this.handleSelected.bind(this);\n this.toggleAdministratorPermission = this.toggleAdministratorPermission.bind(this);\n this.saveChanges = this.saveChanges.bind(this);\n this.handlePageChanged = this.handlePageChanged.bind(this);\n this.loadUsersFromServer = this.loadUsersFromServer.bind(this);\n this.loadDataGrid = this.loadDataGrid.bind(this);\n this.handleFilterChange = this.handleFilterChange.bind(this);\n }\n\n componentDidMount() {\n this.loadUsersFromServer();\n }\n\n handleEditUser = (id) => {\n this.props.history.push(`./EditUser/${id}`);\n }\n\n saveChanges() {\n this.props.showLoading('SUBMIT_USER_CHANGES');\n const self = this;\n return axios.put('/api/Users', this.state.usersToggleAdmin)\n .then(function (response) {\n if (response) {\n self.loadUsersFromServer();\n self.setState({ usersToggleAdmin: [] });\n self.showToastSuccess({ title: \"Users List\", message: \"The users list has been updated.\" })\n }\n })\n .catch(function (e) {\n console.error(self.props.match.url, e.status, e.toString());\n self.showToastError({ title: \"Users List\", message: e.response.data })\n })\n .then(function () {\n self.props.hideLoading('SUBMIT_USER_CHANGES');\n })\n }\n\n handleSelected(key, value) {\n //this.props.handleFilter(value);\n }\n\n toggleAdministratorPermission(e) {\n const users = this.state.data;\n var usersAdminChanged = this.state.usersToggleAdmin;\n var userId = e.target.id;\n if (usersAdminChanged.findIndex(u => u === userId) > -1) {\n usersAdminChanged = usersAdminChanged.filter(u => u !== userId);\n }\n else {\n usersAdminChanged.push(parseInt(e.target.id, 10));\n }\n var userIndex = users.findIndex(u => u.id.toString() === userId);\n users[userIndex].administrator = !users[userIndex].administrator;\n this.setState({ data: users, usersToggleAdmin: usersAdminChanged });\n }\n\n\n handleLicenseUsageFilter(e) {\n e.persist()\n const licenseId = e.target.id;\n const userCount = e.target.getAttribute('usercount');\n const usedCount = e.target.getAttribute('usedcount');\n const requesturl = 'api/Licenses/' + licenseId + '/LicenseUsages';\n this.setState({ manage: false });\n const self = this;\n axios.get(requesturl)\n .then(function (response) {\n\n if (response) {\n self.props.setUserList(response.data);\n self.props.setLicenseId(licenseId);\n self.props.setUserCount(userCount);\n self.props.setUsedCount(usedCount);\n self.props.detailType('LicenseUsage');\n self.props.match.params.detailName = 'LicenseUsage';\n self.props.history.push('./LicenseUsages');\n }\n })\n .catch(function (e) {\n console.error(e.status, e.toString());\n });\n }\n\n loadUsersFromServer() {\n const self = this;\n\n this.setState({ loading: true });\n this.handleFilterChange(\"\")\n .then(function () {\n\n this.setState({ loading: false });\n })\n //return this.loadDataGrid(this.state.pageNumber, this.state.pageSize, \"\")\n .catch(function (e) {\n console.error(self.props.match.url, e.status, e.toString());\n self.setState({ loading: false });\n })\n }\n\n loadDataGrid = function (pageNumber, pageSize, criteria) {\n this.setState({ loading: true });\n const self = this;\n //const response = await axios.get('api/UsersPaged?pageNumber=' + pageNumber + \"&pageSize=\" + pageSize);\n return axios.get('api/SearchUserPaged', { params: { pageNumber, pageSize, criteria, version: Math.random() } })\n .then(function (response) {\n if (response) {\n self.setState((prevState) => ({\n ...prevState,\n data: response.data, loading: false\n }));\n }\n })\n }\n\n handlePageChanged = (event, data) => {\n this.setState({ pageNumber: data.activePage });\n //this.loadDataGrid(data.activePage, this.state.pageSize);\n this.loadDataGrid(data.activePage, this.state.pageSize, this.state.lastSearched);\n }\n\n handleFilterChange = function (queryName) {\n const self = this;\n return axios.get('api/SearchUserPagedCount?criteria=' + queryName)\n .then(function (count) {\n\n self.setState({ totalPages: Math.ceil(count.data / 10) });\n self.setState({ loading: true, pageNumber: 1, lastSearched: queryName, pageSize: 10 });\n //const response = await axios.get('/api/SearchUser?criteria=' + queryName + \"&pageSize=\" + this.state.pageSize);\n return axios.get('api/SearchUserPaged?pageNumber=' + 1 + \"&pageSize=\" + 10 + \"&criteria=\" + queryName);\n })\n .then(function (response) {\n\n if (!response) {\n return;\n }\n let resultData = response.data;\n self.setState({ data: _.sortBy(resultData, x => x.firstName + x.lastName), loading: false });\n });\n }\n\n\n\n render() {\n if (!this.props.currentUser.data.administrator)\n {\n return (\n

Access Denied

\n )\n }\n return (\n
\n \n \n \n \n \n

Users

\n \n New\n\n
\n \n \n You can swith the role for user between 'IM Super Administrator'/'Standard User'.\n \n \n\n \n \n \n\n\n
\n );\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) },\n successMessage: function (message) { return dispatch(applicationActionCreator.notification.success(message)) }\n }\n}\n\nconst mapStateToProps = (state, ownProps) => {\n return {\n currentUser: state.application.currentUser\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(List);","export const countryOptions = [\n { key: 'af', value: 'af', flag: 'af', text: 'Afghanistan' },\n { key: 'ax', value: 'ax', flag: 'ax', text: 'Aland Islands' },\n { key: 'al', value: 'al', flag: 'al', text: 'Albania' },\n { key: 'dz', value: 'dz', flag: 'dz', text: 'Algeria' },\n { key: 'as', value: 'as', flag: 'as', text: 'American Samoa' },\n { key: 'ad', value: 'ad', flag: 'ad', text: 'Andorra' },\n { key: 'ao', value: 'ao', flag: 'ao', text: 'Angola' },\n { key: 'ai', value: 'ai', flag: 'ai', text: 'Anguilla' },\n { key: 'ag', value: 'ag', flag: 'ag', text: 'Antigua' },\n { key: 'ar', value: 'ar', flag: 'ar', text: 'Argentina' },\n { key: 'am', value: 'am', flag: 'am', text: 'Armenia' },\n { key: 'aw', value: 'aw', flag: 'aw', text: 'Aruba' },\n { key: 'au', value: 'au', flag: 'au', text: 'Australia' },\n { key: 'at', value: 'at', flag: 'at', text: 'Austria' },\n { key: 'az', value: 'az', flag: 'az', text: 'Azerbaijan' },\n { key: 'bs', value: 'bs', flag: 'bs', text: 'Bahamas' },\n { key: 'bh', value: 'bh', flag: 'bh', text: 'Bahrain' },\n { key: 'bd', value: 'bd', flag: 'bd', text: 'Bangladesh' },\n { key: 'bb', value: 'bb', flag: 'bb', text: 'Barbados' },\n { key: 'by', value: 'by', flag: 'by', text: 'Belarus' },\n { key: 'be', value: 'be', flag: 'be', text: 'Belgium', code:'32' },\n { key: 'bz', value: 'bz', flag: 'bz', text: 'Belize' },\n { key: 'bj', value: 'bj', flag: 'bj', text: 'Benin' },\n { key: 'bm', value: 'bm', flag: 'bm', text: 'Bermuda' },\n { key: 'bt', value: 'bt', flag: 'bt', text: 'Bhutan' },\n { key: 'bo', value: 'bo', flag: 'bo', text: 'Bolivia' },\n { key: 'ba', value: 'ba', flag: 'ba', text: 'Bosnia' },\n { key: 'bw', value: 'bw', flag: 'bw', text: 'Botswana' },\n { key: 'bv', value: 'bv', flag: 'bv', text: 'Bouvet Island' },\n { key: 'br', value: 'br', flag: 'br', text: 'Brazil' },\n { key: 'vg', value: 'vg', flag: 'vg', text: 'British Virgin Islands' },\n { key: 'bn', value: 'bn', flag: 'bn', text: 'Brunei' },\n { key: 'bg', value: 'bg', flag: 'bg', text: 'Bulgaria' },\n { key: 'bf', value: 'bf', flag: 'bf', text: 'Burkina Faso' },\n { key: 'bi', value: 'bi', flag: 'bi', text: 'Burundi' },\n { key: 'tc', value: 'tc', flag: 'tc', text: 'Caicos Islands' },\n { key: 'kh', value: 'kh', flag: 'kh', text: 'Cambodia' },\n { key: 'cm', value: 'cm', flag: 'cm', text: 'Cameroon' },\n { key: 'ca', value: 'ca', flag: 'ca', text: 'Canada' },\n { key: 'cv', value: 'cv', flag: 'cv', text: 'Cape Verde' },\n { key: 'ky', value: 'ky', flag: 'ky', text: 'Cayman Islands' },\n { key: 'cf', value: 'cf', flag: 'cf', text: 'Central African Republic' },\n { key: 'td', value: 'td', flag: 'td', text: 'Chad' },\n { key: 'cl', value: 'cl', flag: 'cl', text: 'Chile' },\n { key: 'cn', value: 'cn', flag: 'cn', text: 'China' },\n { key: 'cx', value: 'cx', flag: 'cx', text: 'Christmas Island' },\n { key: 'cc', value: 'cc', flag: 'cc', text: 'Cocos Islands' },\n { key: 'co', value: 'co', flag: 'co', text: 'Colombia' },\n { key: 'km', value: 'km', flag: 'km', text: 'Comoros' },\n { key: 'cg', value: 'cg', flag: 'cg', text: 'Congo Brazzaville' },\n { key: 'cd', value: 'cd', flag: 'cd', text: 'Congo' },\n { key: 'ck', value: 'ck', flag: 'ck', text: 'Cook Islands' },\n { key: 'cr', value: 'cr', flag: 'cr', text: 'Costa Rica' },\n { key: 'ci', value: 'ci', flag: 'ci', text: 'Cote Divoire' },\n { key: 'hr', value: 'hr', flag: 'hr', text: 'Croatia' },\n { key: 'cu', value: 'cu', flag: 'cu', text: 'Cuba' },\n { key: 'cy', value: 'cy', flag: 'cy', text: 'Cyprus' },\n { key: 'cz', value: 'cz', flag: 'cz', text: 'Czech Republic' },\n { key: 'dk', value: 'dk', flag: 'dk', text: 'Denmark' },\n { key: 'dj', value: 'dj', flag: 'dj', text: 'Djibouti' },\n { key: 'dm', value: 'dm', flag: 'dm', text: 'Dominica' },\n { key: 'do', value: 'do', flag: 'do', text: 'Dominican Republic' },\n { key: 'ec', value: 'ec', flag: 'ec', text: 'Ecuador' },\n { key: 'eg', value: 'eg', flag: 'eg', text: 'Egypt' },\n { key: 'sv', value: 'sv', flag: 'sv', text: 'El Salvador' },\n { key: 'gb', value: 'gb', flag: 'gb', text: 'England', code:'44' },\n { key: 'gq', value: 'gq', flag: 'gq', text: 'Equatorial Guinea' },\n { key: 'er', value: 'er', flag: 'er', text: 'Eritrea' },\n { key: 'ee', value: 'ee', flag: 'ee', text: 'Estonia' },\n { key: 'et', value: 'et', flag: 'et', text: 'Ethiopia' },\n { key: 'eu', value: 'eu', flag: 'eu', text: 'European Union' },\n { key: 'fk', value: 'fk', flag: 'fk', text: 'Falkland Islands' },\n { key: 'fo', value: 'fo', flag: 'fo', text: 'Faroe Islands' },\n { key: 'fj', value: 'fj', flag: 'fj', text: 'Fiji' },\n { key: 'fi', value: 'fi', flag: 'fi', text: 'Finland' },\n { key: 'fr', value: 'fr', flag: 'fr', text: 'France' },\n { key: 'gf', value: 'gf', flag: 'gf', text: 'French Guiana' },\n { key: 'pf', value: 'pf', flag: 'pf', text: 'French Polynesia' },\n { key: 'tf', value: 'tf', flag: 'tf', text: 'French Territories' },\n { key: 'ga', value: 'ga', flag: 'ga', text: 'Gabon' },\n { key: 'gm', value: 'gm', flag: 'gm', text: 'Gambia' },\n { key: 'ge', value: 'ge', flag: 'ge', text: 'Georgia' },\n { key: 'de', value: 'de', flag: 'de', text: 'Germany' },\n { key: 'gh', value: 'gh', flag: 'gh', text: 'Ghana' },\n { key: 'gi', value: 'gi', flag: 'gi', text: 'Gibraltar' },\n { key: 'gr', value: 'gr', flag: 'gr', text: 'Greece' },\n { key: 'gl', value: 'gl', flag: 'gl', text: 'Greenland' },\n { key: 'gd', value: 'gd', flag: 'gd', text: 'Grenada' },\n { key: 'gp', value: 'gp', flag: 'gp', text: 'Guadeloupe' },\n { key: 'gu', value: 'gu', flag: 'gu', text: 'Guam' },\n { key: 'gt', value: 'gt', flag: 'gt', text: 'Guatemala' },\n { key: 'gw', value: 'gw', flag: 'gw', text: 'Guinea-Bissau' },\n { key: 'gn', value: 'gn', flag: 'gn', text: 'Guinea' },\n { key: 'gy', value: 'gy', flag: 'gy', text: 'Guyana' },\n { key: 'ht', value: 'ht', flag: 'ht', text: 'Haiti' },\n { key: 'hm', value: 'hm', flag: 'hm', text: 'Heard Island' },\n { key: 'hn', value: 'hn', flag: 'hn', text: 'Honduras' },\n { key: 'hk', value: 'hk', flag: 'hk', text: 'Hong Kong' },\n { key: 'hu', value: 'hu', flag: 'hu', text: 'Hungary' },\n { key: 'is', value: 'is', flag: 'is', text: 'Iceland' },\n { key: 'in', value: 'in', flag: 'in', text: 'India' },\n { key: 'io', value: 'io', flag: 'io', text: 'Indian Ocean Territory' },\n { key: 'id', value: 'id', flag: 'id', text: 'Indonesia' },\n { key: 'ir', value: 'ir', flag: 'ir', text: 'Iran' },\n { key: 'iq', value: 'iq', flag: 'iq', text: 'Iraq' },\n { key: 'ie', value: 'ie', flag: 'ie', text: 'Ireland' },\n { key: 'il', value: 'il', flag: 'il', text: 'Israel' },\n { key: 'it', value: 'it', flag: 'it', text: 'Italy' },\n { key: 'jm', value: 'jm', flag: 'jm', text: 'Jamaica' },\n { key: 'jp', value: 'jp', flag: 'jp', text: 'Japan' },\n { key: 'jo', value: 'jo', flag: 'jo', text: 'Jordan' },\n { key: 'kz', value: 'kz', flag: 'kz', text: 'Kazakhstan' },\n { key: 'ke', value: 'ke', flag: 'ke', text: 'Kenya' },\n { key: 'ki', value: 'ki', flag: 'ki', text: 'Kiribati' },\n { key: 'kw', value: 'kw', flag: 'kw', text: 'Kuwait' },\n { key: 'kg', value: 'kg', flag: 'kg', text: 'Kyrgyzstan' },\n { key: 'la', value: 'la', flag: 'la', text: 'Laos' },\n { key: 'lv', value: 'lv', flag: 'lv', text: 'Latvia' },\n { key: 'lb', value: 'lb', flag: 'lb', text: 'Lebanon' },\n { key: 'ls', value: 'ls', flag: 'ls', text: 'Lesotho' },\n { key: 'lr', value: 'lr', flag: 'lr', text: 'Liberia' },\n { key: 'ly', value: 'ly', flag: 'ly', text: 'Libya' },\n { key: 'li', value: 'li', flag: 'li', text: 'Liechtenstein' },\n { key: 'lt', value: 'lt', flag: 'lt', text: 'Lithuania' },\n { key: 'lu', value: 'lu', flag: 'lu', text: 'Luxembourg' },\n { key: 'mo', value: 'mo', flag: 'mo', text: 'Macau' },\n { key: 'mk', value: 'mk', flag: 'mk', text: 'Macedonia' },\n { key: 'mg', value: 'mg', flag: 'mg', text: 'Madagascar' },\n { key: 'mw', value: 'mw', flag: 'mw', text: 'Malawi' },\n { key: 'my', value: 'my', flag: 'my', text: 'Malaysia' },\n { key: 'mv', value: 'mv', flag: 'mv', text: 'Maldives' },\n { key: 'ml', value: 'ml', flag: 'ml', text: 'Mali' },\n { key: 'mt', value: 'mt', flag: 'mt', text: 'Malta' },\n { key: 'mh', value: 'mh', flag: 'mh', text: 'Marshall Islands' },\n { key: 'mq', value: 'mq', flag: 'mq', text: 'Martinique' },\n { key: 'mr', value: 'mr', flag: 'mr', text: 'Mauritania' },\n { key: 'mu', value: 'mu', flag: 'mu', text: 'Mauritius' },\n { key: 'yt', value: 'yt', flag: 'yt', text: 'Mayotte' },\n { key: 'mx', value: 'mx', flag: 'mx', text: 'Mexico' },\n { key: 'fm', value: 'fm', flag: 'fm', text: 'Micronesia' },\n { key: 'md', value: 'md', flag: 'md', text: 'Moldova' },\n { key: 'mc', value: 'mc', flag: 'mc', text: 'Monaco' },\n { key: 'mn', value: 'mn', flag: 'mn', text: 'Mongolia' },\n { key: 'me', value: 'me', flag: 'me', text: 'Montenegro' },\n { key: 'ms', value: 'ms', flag: 'ms', text: 'Montserrat' },\n { key: 'ma', value: 'ma', flag: 'ma', text: 'Morocco' },\n { key: 'mz', value: 'mz', flag: 'mz', text: 'Mozambique' },\n { key: 'na', value: 'na', flag: 'na', text: 'Namibia' },\n { key: 'nr', value: 'nr', flag: 'nr', text: 'Nauru' },\n { key: 'np', value: 'np', flag: 'np', text: 'Nepal' },\n { key: 'an', value: 'an', flag: 'an', text: 'Netherlands Antilles' },\n { key: 'nl', value: 'nl', flag: 'nl', text: 'Netherlands' },\n { key: 'nc', value: 'nc', flag: 'nc', text: 'New Caledonia' },\n { key: 'pg', value: 'pg', flag: 'pg', text: 'New Guinea' },\n { key: 'nz', value: 'nz', flag: 'nz', text: 'New Zealand' },\n { key: 'ni', value: 'ni', flag: 'ni', text: 'Nicaragua' },\n { key: 'ne', value: 'ne', flag: 'ne', text: 'Niger' },\n { key: 'ng', value: 'ng', flag: 'ng', text: 'Nigeria' },\n { key: 'nu', value: 'nu', flag: 'nu', text: 'Niue' },\n { key: 'nf', value: 'nf', flag: 'nf', text: 'Norfolk Island' },\n { key: 'kp', value: 'kp', flag: 'kp', text: 'North Korea' },\n { key: 'mp', value: 'mp', flag: 'mp', text: 'Northern Mariana Islands' },\n { key: 'no', value: 'no', flag: 'no', text: 'Norway' },\n { key: 'om', value: 'om', flag: 'om', text: 'Oman' },\n { key: 'pk', value: 'pk', flag: 'pk', text: 'Pakistan' },\n { key: 'pw', value: 'pw', flag: 'pw', text: 'Palau' },\n { key: 'ps', value: 'ps', flag: 'ps', text: 'Palestine' },\n { key: 'pa', value: 'pa', flag: 'pa', text: 'Panama' },\n { key: 'py', value: 'py', flag: 'py', text: 'Paraguay' },\n { key: 'pe', value: 'pe', flag: 'pe', text: 'Peru' },\n { key: 'ph', value: 'ph', flag: 'ph', text: 'Philippines' },\n { key: 'pn', value: 'pn', flag: 'pn', text: 'Pitcairn Islands' },\n { key: 'pl', value: 'pl', flag: 'pl', text: 'Poland' },\n { key: 'pt', value: 'pt', flag: 'pt', text: 'Portugal' },\n { key: 'pr', value: 'pr', flag: 'pr', text: 'Puerto Rico' },\n { key: 'qa', value: 'qa', flag: 'qa', text: 'Qatar' },\n { key: 're', value: 're', flag: 're', text: 'Reunion' },\n { key: 'ro', value: 'ro', flag: 'ro', text: 'Romania' },\n { key: 'ru', value: 'ru', flag: 'ru', text: 'Russia' },\n { key: 'rw', value: 'rw', flag: 'rw', text: 'Rwanda' },\n { key: 'sh', value: 'sh', flag: 'sh', text: 'Saint Helena' },\n { key: 'kn', value: 'kn', flag: 'kn', text: 'Saint Kitts and Nevis' },\n { key: 'lc', value: 'lc', flag: 'lc', text: 'Saint Lucia' },\n { key: 'pm', value: 'pm', flag: 'pm', text: 'Saint Pierre' },\n { key: 'vc', value: 'vc', flag: 'vc', text: 'Saint Vincent' },\n { key: 'ws', value: 'ws', flag: 'ws', text: 'Samoa' },\n { key: 'sm', value: 'sm', flag: 'sm', text: 'San Marino' },\n { key: 'gs', value: 'gs', flag: 'gs', text: 'Sandwich Islands' },\n { key: 'st', value: 'st', flag: 'st', text: 'Sao Tome' },\n { key: 'sa', value: 'sa', flag: 'sa', text: 'Saudi Arabia' },\n { key: 'sn', value: 'sn', flag: 'sn', text: 'Senegal' },\n { key: 'cs', value: 'cs', flag: 'cs', text: 'Serbia' },\n { key: 'rs', value: 'rs', flag: 'rs', text: 'Serbia' },\n { key: 'sc', value: 'sc', flag: 'sc', text: 'Seychelles' },\n { key: 'sl', value: 'sl', flag: 'sl', text: 'Sierra Leone' },\n { key: 'sg', value: 'sg', flag: 'sg', text: 'Singapore' },\n { key: 'sk', value: 'sk', flag: 'sk', text: 'Slovakia' },\n { key: 'si', value: 'si', flag: 'si', text: 'Slovenia' },\n { key: 'sb', value: 'sb', flag: 'sb', text: 'Solomon Islands' },\n { key: 'so', value: 'so', flag: 'so', text: 'Somalia' },\n { key: 'za', value: 'za', flag: 'za', text: 'South Africa' },\n { key: 'kr', value: 'kr', flag: 'kr', text: 'South Korea' },\n { key: 'es', value: 'es', flag: 'es', text: 'Spain' },\n { key: 'lk', value: 'lk', flag: 'lk', text: 'Sri Lanka' },\n { key: 'sd', value: 'sd', flag: 'sd', text: 'Sudan' },\n { key: 'sr', value: 'sr', flag: 'sr', text: 'Suriname' },\n { key: 'sj', value: 'sj', flag: 'sj', text: 'Svalbard' },\n { key: 'sz', value: 'sz', flag: 'sz', text: 'Swaziland' },\n { key: 'se', value: 'se', flag: 'se', text: 'Sweden' },\n { key: 'ch', value: 'ch', flag: 'ch', text: 'Switzerland' },\n { key: 'sy', value: 'sy', flag: 'sy', text: 'Syria' },\n { key: 'tw', value: 'tw', flag: 'tw', text: 'Taiwan' },\n { key: 'tj', value: 'tj', flag: 'tj', text: 'Tajikistan' },\n { key: 'tz', value: 'tz', flag: 'tz', text: 'Tanzania' },\n { key: 'th', value: 'th', flag: 'th', text: 'Thailand' },\n { key: 'tl', value: 'tl', flag: 'tl', text: 'Timorleste' },\n { key: 'tg', value: 'tg', flag: 'tg', text: 'Togo' },\n { key: 'tk', value: 'tk', flag: 'tk', text: 'Tokelau' },\n { key: 'to', value: 'to', flag: 'to', text: 'Tonga' },\n { key: 'tt', value: 'tt', flag: 'tt', text: 'Trinidad' },\n { key: 'tn', value: 'tn', flag: 'tn', text: 'Tunisia' },\n { key: 'tr', value: 'tr', flag: 'tr', text: 'Turkey' },\n { key: 'tm', value: 'tm', flag: 'tm', text: 'Turkmenistan' },\n { key: 'tv', value: 'tv', flag: 'tv', text: 'Tuvalu' },\n { key: 'ug', value: 'ug', flag: 'ug', text: 'Uganda' },\n { key: 'ua', value: 'ua', flag: 'ua', text: 'Ukraine' },\n { key: 'ae', value: 'ae', flag: 'ae', text: 'United Arab Emirates' },\n { key: 'us', value: 'us', flag: 'us', text: 'United States' },\n { key: 'uy', value: 'uy', flag: 'uy', text: 'Uruguay' },\n { key: 'um', value: 'um', flag: 'um', text: 'Us Minor Islands' },\n { key: 'vi', value: 'vi', flag: 'vi', text: 'Us Virgin Islands' },\n { key: 'uz', value: 'uz', flag: 'uz', text: 'Uzbekistan' },\n { key: 'vu', value: 'vu', flag: 'vu', text: 'Vanuatu' },\n { key: 'va', value: 'va', flag: 'va', text: 'Vatican City' },\n { key: 've', value: 've', flag: 've', text: 'Venezuela' },\n { key: 'vn', value: 'vn', flag: 'vn', text: 'Vietnam' },\n { key: 'wf', value: 'wf', flag: 'wf', text: 'Wallis and Futuna' },\n { key: 'eh', value: 'eh', flag: 'eh', text: 'Western Sahara' },\n { key: 'ye', value: 'ye', flag: 'ye', text: 'Yemen' },\n { key: 'zm', value: 'zm', flag: 'zm', text: 'Zambia' },\n { key: 'zw', value: 'zw', flag: 'zw', text: 'Zimbabwe' },\n]","\nimport React from 'react';\n\nimport Axios from 'axios';\n\nimport { Link } from 'react-router-dom';\n\nimport { Form, Input, Label, Popup } from 'semantic-ui-react';\n\nimport { onUserChanged } from '../Index';\nimport CenteredMidLayout from '../Components/CenteredMidLayout';\nimport IMComponent, { IMErrorField } from '../Components/IMComponent';\nimport { showLoading, hideLoading } from '../Components/ModalComponent';\nimport AuthenticationInformation from '../Utilities/AuthenticationInformation';\nimport { countryOptions } from '../../components/Semantic-ui-options';\nimport { isEmailValid, errorMessages, getPasswordValidation, isNullOrEmpty } from '../../components/utility/Helper';\nimport { connect } from 'react-redux';\nimport applicationActionCreator, { actions } from '../../redux/actions/applicationActions';\nimport { bindActionCreators } from 'redux';\n\nfunction AccountCenteredMidLayout({ children: Children }) {\n return (\n
\n
\n {Children}\n
\n
\n )\n}\n\nclass MyAccount extends IMComponent {\n constructor(props) {\n super(props, { firstName: '', phone: '', password: '', repassword: '', lastName: '', email: '', company: '', countryCode: '', phoneCode: '' });\n this.state = {\n countries: [],\n isManager: AuthenticationInformation.instance.isManager,\n ...this.state\n };\n props.showLoading('LOAD_MYACCOUNT');\n this.onModelValidation = this.onModelValidation.bind(this);\n this.loadCountriesAvailable = this.loadCountriesAvailable.bind(this);\n this.onSubmitHandler = this.onSubmitHandler.bind(this);\n this.loadPasswordSetting();\n }\n\n loadCountriesAvailable = function () {\n const self = this;\n Axios.get('/api/CountriesPhone')\n .then(function (countries) {\n\n const onlyShortNames = countries.data.map(x => x.shortName);\n const filteredCountries = countryOptions.filter(x => onlyShortNames.includes(x.key.toUpperCase())).map(x => {\n const country = countries.data.find(y => y.shortName === x.key.toUpperCase());\n x.code = country.code;\n return x;\n });\n\n let currentCountryCode = filteredCountries.find(x => x.key === self.state.model.countryCode);\n self.setState({\n countries: filteredCountries,\n model: {\n ...self.state.model,\n phoneCode: currentCountryCode !== undefined ? currentCountryCode.code : \"\",\n }\n });\n })\n }\n\n onPasswordEnabled = () => {\n const { passwordSetting } = this.state;\n this.setState({ passwordValidations: getPasswordValidation(\"\", passwordSetting), validModel: false });\n }\n\n onPasswordDisabled = () => {\n const { model } = this.state;\n this.setState({ model: { ...model, password: \"\", repassword: \"\" } });\n }\n\n onSubmitHandler = function () {\n const self = this;\n this.props.showLoading('SUBMIT_MYACCOUNT_CHANGES');\n return Axios.put('api/User/Update', this.state.model)\n .then(function () {\n self.props.history.push('/Licenses');\n self.showToastSuccess({ title: \"Update\", message: \"User information was successfully updated.Please check your mail for confirmation of email changing.\" });\n })\n .catch(function (ex) {\n self.showToastError({ title: \"\", message: ex.response.data });\n })\n .then(function () {\n self.props.hideLoading('SUBMIT_MYACCOUNT_CHANGES');\n })\n }\n\n loadUserData = function () {\n const self = this;\n return Axios.get('/api/User', { params: { version: Math.random() } })\n .then(function (response) { return response.data })\n .then(function (userInformation) {\n self.setState({\n isManager: userInformation.isManager,\n model: {\n firstName: userInformation.firstName,\n company: userInformation.company || '',\n lastName: userInformation.lastName,\n email: userInformation.email,\n createdAt: userInformation.createdAt,\n phone: userInformation.phone,\n countryCode: userInformation.countryCode,\n modifiedAt: userInformation.modifiedAt\n }\n });\n\n })\n .catch(function (ex) {\n console.log(ex);\n })\n .then(function () {\n self.setState({\n validModel: self.onModelValidation()\n });\n return self.loadCountriesAvailable();\n })\n }\n\n componentDidMount = function () {\n const self = this;\n this.loadUserData()\n .then(function () {\n return self.onModelValidation();\n })\n .then(function () {\n self.props.hideLoading('LOAD_MYACCOUNT');\n })\n }\n\n onModelValidation = () => {\n const { phone, password, repassword, email, countryCode } = this.state.model;\n const { passwordEnabled, passwordSetting } = this.state;\n let isValid = true;\n this.clearErrors();\n if (!isEmailValid(email)) {\n this.addError(\"email\", errorMessages.general.incorrectFormat.format(\"email\"));\n isValid = false;\n }\n\n if (passwordEnabled) {\n let passwordValidations = getPasswordValidation(password ? password : \"\")\n if (passwordValidations.filter(x => !x.status).length > 0 || password !== repassword)\n isValid = false;\n this.setState({ passwordValidations: getPasswordValidation(password ? password : \"\", passwordSetting) });\n }\n return isValid;\n }\n\n loadPasswordSetting() {\n this.props.showLoading('LOAD_PASSWORDSETTINGS')\n const self = this;\n return Axios.get(`/api/PasswordSettings/CurrentUser`)\n .then(function (passwordSetting) {\n self.setState({ passwordSetting: passwordSetting.data });\n\n })\n .then(function () {\n self.props.hideLoading('LOAD_PASSWORDSETTINGS');\n })\n }\n handleCountryChange = () => {\n let country = { code: null, value: \"\" };\n if (this.state.model.countryCode !== \"\")\n country = countryOptions.find(x => x.key === this.state.model.countryCode);\n\n this.onModelPropertyChange({ target: { name: \"phoneCode\", value: country.code } });\n }\n\n componentWillUpdate = () => {\n\n const { phone, password, repassword, countryCode } = this.state.model\n const { passwordEnabled } = this.state;\n const phoneEnabled = !!countryCode;\n\n if (!phoneEnabled && !!phone)\n this.onModelPropertyChange({ target: { name: \"phone\", value: '' } });\n if (!passwordEnabled && (password || repassword)) {\n this.onModelPropertyChange({ target: { name: \"password\", value: '' } });\n this.onModelPropertyChange({ target: { name: \"repassword\", value: '' } });\n }\n\n }\n\n render() {\n\n const { firstName, phone, password, repassword, lastName, email, company, countryCode, phoneCode } = this.state.model;\n const { countries, validModel, passwordValidations, passwordEnabled, isManager } = this.state;\n const { email: errorEmail } = this.state.errors;\n const classPassword = passwordEnabled ? \"im_text_field\" : \"hidden\";\n const phoneEnabled = !!countryCode;\n const errorCountryCode = !!countryCode ? '' : 'Please select your Country';\n\n return (\n
\n
\n\n
\n

My Profile

\n
\n
\n \n \n \n \n \n
\n
\n \n
\n \n\n \n \n \n \n\n {this.state.isManager ?\n :\n \n \n }\n\n \n { this.onModelPropertyChange({ target: d }); this.handleCountryChange(); }}>\n \n \n\n {phoneEnabled ?\n \n \n \n : null}\n\n (\n (passwordEnabled ? this.onPasswordDisabled() : this.onPasswordEnabled()) ||\n this.onPropertyChange({ target: { name: \"passwordEnabled\", value: !passwordEnabled } })\n )}\n checked={passwordEnabled} >\n {passwordEnabled ?\n (\n \n }\n open={passwordValidations != null}\n content={passwordValidations != null ? passwordValidations.map((x, i) => (
\n {x.status ? : }\n {x.message}
)) : null}\n header='Password Policy'\n position='right center'\n size='small'\n />\n
) : null}\n\n \n
\n\n \n {isManager ?\n \n Set Password Policy\n : null}\n \n
\n
\n )\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n successMessage: function (message) { return dispatch(applicationActionCreator.notification.success(message)) },\n errorMessage: function (message) { return dispatch(applicationActionCreator.notification.error(message)) },\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) }\n }\n}\n\nexport default connect(null, mapDispatchToProps)(MyAccount);","import React from 'react';\n\nimport axios from 'axios';\n\nimport { Link } from 'react-router-dom';\n\nimport { Form, Grid, Button } from 'semantic-ui-react';\n\nimport IMComponent from '../Components/IMComponent';\nimport { showLoading, hideLoading } from '../Components/ModalComponent';\nimport { bindActionCreators } from 'redux';\nimport applicationActionCreator, { actions } from '../../redux/actions/applicationActions';\nimport { connect } from 'react-redux';\n\nclass PasswordSetting extends IMComponent {\n constructor(props) {\n super(props, {\n minimunChars: 8,\n uppercaseChars: 1,\n specialChars: 1,\n expirationMonths: 12,\n twoFA: false,\n passwordHistory: false\n });\n this.state = {\n ...this.state,\n minChars: 8,\n errorMessage: '',\n successMessage: '',\n };\n this.loadPasswordSetting();\n this.onSubmitHandler = this.onSubmitHandler.bind(this);\n }\n componentDidMount() {\n }\n\n loadPasswordSetting = function () {\n const self = this;\n return axios.get('/api/PasswordSettings/CurrentUser')\n .then(function (response) {\n self.setState({ model: response.data });\n });\n }\n onModelValidation = () => {\n const { minimunChars, uppercaseChars, specialChars, ...model } = this.state.model;\n let minChars = parseInt(specialChars) + parseInt(uppercaseChars);\n\n if (minChars < 8)\n minChars = 8;\n this.setState({\n model: {\n ...model,\n specialChars: parseInt(specialChars),\n uppercaseChars: parseInt(uppercaseChars),\n minimunChars: minimunChars < minChars ? minChars : parseInt(minimunChars)\n },\n minChars\n });\n this.forceUpdate();\n return true;\n }\n\n onSubmitHandler = function () {\n const self = this;\n this.setState({ errorMessage: '', successMessage: '' });\n this.props.showLoading('SUBMIT_PASSWORDSETTINGS');\n return axios.post('/api/PasswordSettings', this.state.model)\n .then(function () {\n self.setState({ successMessage: 'Password settings saved successfully.' });\n\n })\n .catch(function (ex) {\n\n const errorMessage = ex.data;\n self.setState({ errorMessage });\n })\n .then(function () {\n self.props.hideLoading('SUBMIT_PASSWORDSETTINGS');\n });\n }\n\n render() {\n const { minimunChars, uppercaseChars, specialChars, twoFA, expirationMonths, passwordHistory } = this.state.model;\n const { errorMessage, successMessage, minChars } = this.state;\n let view = (\n
\n \n \n {\n \n

Password Settings

\n
\n }\n \n \n \n \n \n \n \n
\n
\n {(!!errorMessage) ?
Error

{this.state.errorMessage}

: ''}\n {(!!successMessage) ?
Success

{this.state.successMessage}

: ''}\n
\n
\n\n

Minimum Characters: {minimunChars}

\n \n

Minimum Uppercase Characters: {uppercaseChars}

\n \n

Minimum Special Characters or Numbers: {specialChars}

\n \n\n

Expiration Password: {expirationMonths} months

\n \n \n\n

Last five passwords will be saved

\n \n
\n {/*\n

Two Factor Authentication

\n \n
*/}\n \n \n \n \n
\n
\n );\n return view;\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) }\n }\n}\n\nexport default connect(null, mapDispatchToProps)(PasswordSetting);","\nimport React from 'react';\n\nimport Axios from 'axios';\n\nimport { Link, withRouter } from 'react-router-dom';\n\nimport { Form, Input, Label, Popup } from 'semantic-ui-react';\nimport IMComponent, { IMErrorField } from '../Components/IMComponent';\nimport AuthenticationInformation from '../Utilities/AuthenticationInformation';\nimport { countryOptions } from '../../components/Semantic-ui-options';\nimport { isEmailValid, errorMessages, getPasswordValidation, isNullOrEmpty } from '../../components/utility/Helper';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\nimport applicationActionCreator, { actions } from '../../redux/actions/applicationActions';\n\nfunction AccountCenteredMidLayout({ children: Children }) {\n return (\n
\n
\n {Children}\n
\n
\n )\n}\n\nclass Edit extends IMComponent {\n constructor(props) {\n super(props, { firstName: '', phone: '', password: '', repassword: '', lastName: '', email: '', company: '', countryCode: '', phoneCode: '' });\n this.state = {\n countries: [],\n isManager: AuthenticationInformation.instance.isManager,\n ...this.state\n };\n props.showLoading('LOAD_USER_DATE');\n this.loadPasswordSetting();\n this.loadUserData = this.loadUserData.bind(this);\n this.onSubmitHandler = this.onSubmitHandler.bind(this);\n }\n\n loadCountriesAvailable = function () {\n const self = this;\n Axios.get('/api/CountriesPhone')\n .then(function (countries) {\n const onlyShortNames = countries.data.map(x => x.shortName);\n const filteredCountries = countryOptions.filter(x => onlyShortNames.includes(x.key.toUpperCase())).map(x => {\n var country = countries.data.find(y => y.shortName === x.key.toUpperCase());\n x.code = country.code;\n return x;\n });\n\n let currentCountryCode = filteredCountries.find(x => x.key === self.state.model.countryCode);\n self.setState({\n countries: filteredCountries,\n model: {\n ...self.state.model,\n phoneCode: currentCountryCode !== undefined ? currentCountryCode.code : \"\",\n }\n });\n\n })\n }\n\n onPasswordEnabled = () => {\n const { passwordSetting } = this.state;\n this.setState({ passwordValidations: getPasswordValidation(\"\", passwordSetting), validModel: false });\n }\n\n onPasswordDisabled = () => {\n const { model } = this.state;\n this.setState({ model: { ...model, password: \"\", repassword: \"\" } });\n }\n\n onSubmitHandler = function () {\n this.props.showLoading('SUBMIT_USER');\n const self = this;\n\n const id = self.props.match.params.userId;\n if (id) {\n return self.updateUser.bind(self, id)();\n } else {\n return self.createUser.bind(self)();\n\n }\n }\n\n createUser = function () {\n const self = this;\n return Axios.post('api/User', { ...this.state.model })\n .then(function () {\n self.props.history.push('/user/list');\n self.showToastSuccess({ title: \"Create\", message: \"User information was successfully Created\" })\n })\n .catch(function (ex) {\n debugger\n self.showToastError({ title: \"\", message: ex.response.data })\n })\n .then(function () {\n self.props.hideLoading('SUBMIT_USER');\n });\n }\n\n updateUser = function (id) {\n const self = this;\n const idInt = parseInt(id);\n this.state.model.id = idInt;\n\n return Axios.put('api/User', { ...this.state.model })\n .then(function () {\n self.props.history.push('/user/list');\n self.showToastSuccess({ title: \"Update\", message: \"User information was successfully updated\" })\n })\n .catch(function (ex) {\n debugger\n self.showToastError({ title: \"\", message: ex.response.data })\n })\n .then(function () {\n self.props.hideLoading('SUBMIT_USER');\n });\n }\n\n loadUserData = function () {\n const self = this;\n const userId = self.props.match.params.userId;\n if (!userId) {\n return new Promise(function (res) {\n res();\n })\n .then(function () {\n self.setState({\n validModel: self.onModelValidation()\n });\n })\n .then(function () {\n return self.loadCountriesAvailable();\n })\n }\n return Axios.get('/api/User/' + userId)\n .then(function (response) { return response.data; })\n .then(function (userInformation) {\n self.setState({\n isManager: userInformation.isManager,\n model: {\n firstName: userInformation.firstName,\n company: userInformation.company || '',\n lastName: userInformation.lastName,\n email: userInformation.email,\n createdAt: userInformation.createdAt,\n phone: userInformation.phone,\n countryCode: userInformation.countryCode,\n magentoId: userInformation.magentoId,\n modifiedAt: userInformation.modifiedAt\n }\n });\n\n })\n .catch(function (ex) {\n console.log(ex);\n })\n .then(function () {\n self.setState({\n validModel: self.onModelValidation()\n });\n })\n .then(function () {\n return self.loadCountriesAvailable();\n })\n }\n\n componentDidMount = function () {\n const self = this;\n return self.loadUserData()\n .then(function () {\n return self.onModelValidation();\n })\n .then(function () {\n self.props.hideLoading('LOAD_USER_DATE');\n });\n }\n\n onModelValidation = () => {\n const { phone, password, repassword, email, countryCode } = this.state.model;\n const { passwordEnabled, passwordSetting } = this.state;\n let isValid = true;\n this.clearErrors();\n if (!isEmailValid(email)) {\n this.addError(\"email\", errorMessages.general.incorrectFormat.format(\"email\"));\n isValid = false;\n }\n\n if (passwordEnabled) {\n let passwordValidations = getPasswordValidation(password ? password : \"\")\n if (passwordValidations.filter(x => !x.status).length > 0 || password !== repassword)\n isValid = false;\n this.setState({ passwordValidations: getPasswordValidation(password ? password : \"\", passwordSetting) });\n }\n return isValid;\n }\n\n loadPasswordSetting() {\n this.props.showLoading('Load_PASSWORD_SETTINGS');\n const self = this;\n return Axios.get(`/api/PasswordSettings/CurrentUser`)\n .then(function (passwordSetting) {\n self.setState({ passwordSetting: passwordSetting.data });\n })\n .then(function () {\n self.props.hideLoading('Load_PASSWORD_SETTINGS');\n })\n }\n handleCountryChange = () => {\n let country = { code: null, value: \"\" };\n if (this.state.model.countryCode !== \"\")\n country = countryOptions.find(x => x.key === this.state.model.countryCode);\n\n this.onModelPropertyChange({ target: { name: \"phoneCode\", value: country.code } });\n }\n\n componentWillUpdate = () => {\n\n const { phone, password, repassword, countryCode } = this.state.model\n const { passwordEnabled } = this.state;\n const phoneEnabled = !!countryCode;\n\n if (!phoneEnabled && !!phone)\n this.onModelPropertyChange({ target: { name: \"phone\", value: '' } });\n if (!passwordEnabled && (password || repassword)) {\n this.onModelPropertyChange({ target: { name: \"password\", value: '' } });\n this.onModelPropertyChange({ target: { name: \"repassword\", value: '' } });\n }\n\n }\n\n render() {\n\n const { firstName, phone, password, repassword, lastName, email, company, countryCode, phoneCode, magentoId } = this.state.model;\n const { countries, validModel, passwordValidations, passwordEnabled, isManager } = this.state;\n const { email: errorEmail } = this.state.errors\n const classPassword = passwordEnabled ? \"im_text_field\" : \"hidden\";\n const phoneEnabled = !!countryCode;\n const errorCountryCode = !!countryCode ? '' : 'Please select your Country';\n\n return (\n
\n\n
\n\n
\n

Edit User

\n
\n
\n \n \n \n \n \n
\n
\n \n
\n \n\n \n \n \n \n\n {this.state.isManager ?\n :\n \n \n }\n\n {AuthenticationInformation.instance\n && AuthenticationInformation.instance.userInformation\n && AuthenticationInformation.instance.userInformation.administrator && <>}\n\n \n { this.onModelPropertyChange({ target: d }); this.handleCountryChange(); }}>\n \n \n\n {phoneEnabled ?\n \n \n \n : null}\n\n (\n (passwordEnabled ? this.onPasswordDisabled() : this.onPasswordEnabled()) ||\n this.onPropertyChange({ target: { name: \"passwordEnabled\", value: !passwordEnabled } })\n )}\n checked={passwordEnabled} >\n {passwordEnabled ?\n (\n \n }\n open={passwordValidations != null}\n content={passwordValidations != null ? passwordValidations.map((x, i) => (
\n {x.status ? : }\n {x.message}
)) : null}\n header='Password Policy'\n position='right center'\n size='small'\n />\n
) : null}\n\n \n
\n\n \n\n\n\n \n
\n
\n )\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) },\n successMessage: function (message) { return dispatch(applicationActionCreator.notification.success(message)) },\n errorMessage: function (message) { return dispatch(applicationActionCreator.notification.error(message)) }\n }\n}\n\nexport default withRouter(connect(null, mapDispatchToProps)(Edit));","import React, { Component } from 'react';\n\nimport '../scss/app.scss';\nimport '../scss/semantic-ui-css-personalized.scss';\n\nimport ModalComponent from './Components/ModalComponent';\nimport PrivateRoute from './Components/PrivateRoute';\nimport AuthenticationInformation from './Utilities/AuthenticationInformation';\nimport { AuthenticationService } from './Utilities/AuthenticationService';\nimport { Switch, Redirect, withRouter, Route } from 'react-router-dom';\nimport applicationActionCreator from '../redux/actions/applicationActions';\nimport { connect } from 'react-redux';\nexport let goToPageNavigation;\nexport let onUserChanged;\nclass Index extends Component {\n constructor(props) {\n super(props);\n const { pathname } = this.props.location\n this.state = {\n loadingState: true,\n previousUrl: pathname,\n userInformation: null\n };\n this.onUserChanged(false);\n goToPageNavigation = this.goToPage.bind(this);\n }\n\n onToggleLoadingPage = () => {\n this.setState({ loadingState: !this.state.loadingState });\n }\n\n onUserChanged = function (force = false) {\n const userInformation = null;\n const usr = AuthenticationInformation.instance.userInformation;\n this.props.showLoading('LOADING_USER');\n const self = this;\n return new Promise((resolve) => {\n resolve();\n }).then(function () {\n if (!userInformation || force) {\n self.setState({ userInformation: AuthenticationInformation.instance.userInformation });\n return new AuthenticationService().getCurrentUser();\n }\n else\n AuthenticationInformation.instance.userInformation = userInformation;\n\n })\n .then(function () {\n if (force)\n self.forceUpdate();\n const { previousUrl } = self.state;\n if (usr !== AuthenticationInformation.instance.userInformation) {\n if (!!AuthenticationInformation.instance.userInformation.name)\n self.goToPage(previousUrl === \"/\" ? \"/private\" : previousUrl);\n else\n self.goToPage('/private');\n }\n self.props.hideLoading('LOADING_USER');\n })\n }\n\n goToPage = (url) => {\n this.setState({ userInformation: AuthenticationInformation.instance.userInformation });\n this.props.history.push(url);\n }\n\n saveStateGeneral = (value) => {\n this.setState({ ...value });\n }\n componentWillMount = () => {\n\n }\n componentDidMount() {\n\n }\n\n render() {\n const { loadingState, userInformation } = this.state;\n return (\n
\n \n {userInformation ? \n \n \n \n \n \n \n \n (\n \n )} />\n \n : null}\n
\n )\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) }\n }\n}\n\nexport default withRouter(connect(null, mapDispatchToProps)(Index))\n\n","import React, { Component } from 'react'\nimport { Switch } from 'react-router-dom';\n\nimport PropsRoute from '../Components/PropsRoute';\nimport ResetPassword from '../../components/ResetPassword';\n\nimport List from './List';\nimport MyAccount from './MyAccount';\nimport PasswordSetting from './PasswordSetting';\nimport EditUser from './EditUser';\n\n\nexport default class Index extends Component {\n render() {\n return (\n \n \n \n \n \n \n \n \n )\n }\n}\n","import React, { Component } from 'react'\nimport { Link } from 'react-router-dom'\nimport Axios from 'axios';\n\nimport { onUserChange } from '../../components/Main';\n\nexport default class IMNavBar extends Component {\n constructor(props) {\n super(props);\n this.state = {\n data: {\n detailType: ''\n }\n }\n this.handleLogout=this.handleLogout.bind(this);\n }\n\n handleClick = () => {\n this.props.onNavigationEvent();\n\n }\n handleLogout = function () {\n this.props.onNavigationEvent();\n const self = this;\n return Axios.post('/api/Logout')\n .then(function () {\n onUserChange();\n })\n .catch(function (e) {\n console.error(e);\n });\n }\n render() {\n const navClass = this.props.isOpen ? 'nav is__visible' : 'nav';\n return (\n \n )\n }\n}\n","import React, { Component } from 'react'\nimport { Switch } from 'react-router-dom'\n\nimport { SemanticToastContainer, toast } from 'react-semantic-toasts';\n\nimport License from '../License/Index';\nimport LicenseUsage from '../LicenseUsage/Index';\nimport Product from '../Product/Index';\nimport SingleSignOn from '../SingleSignOn/Index';\nimport User from '../User/Index';\n\nimport IMNavBar from './IMNavBar';\nimport PropsRoute from './PropsRoute';\n\nconst buttonMenuStyle = {\n backgroundImage: 'url(\"/img/menu-button.png\")'\n}\n\nexport default class PrivateLayout extends Component {\n\n constructor(props) {\n\n super(props);\n this.state = {\n appData: {},\n menuOpen: false,\n notificationInfo: null\n }\n }\n\n onNavigationEvent = () => {\n this.setState({ menuOpen: false });\n document.getElementById(\"app-main\").classList.remove('push__left');\n }\n\n saveStatePrivate = (value) => {\n const { appData } = this.state;\n this.setState({ appData: { ...appData, ...value } });\n }\n\n onClickMenuOpen = () => {\n const { menuOpen } = this.state;\n this.setState({ menuOpen: !menuOpen });\n document.getElementById(\"app-main\").classList.toggle('push__left');\n }\n render() {\n const { menuOpen, currentLicense } = this.state;\n const { administrator } = this.props.userInformation;\n const isLicenseUsage = window.location.href.indexOf(\"/license-usage/\") > -1 ? true : false;\n const contentStyle = isLicenseUsage === true ? { width: \"100%\", marginLeft: \"0px\", marginRight: \"0px\", maxWidth: \"none\" } : {};\n const whiteSectionStyle = isLicenseUsage === true ? { width: \"99%\", maxWidth: \"none\" } : {};\n return (\n
\n
\n
\n \n Information Mapping Logo\n \n
\n\n \n\n \n
\n

FS Pro Console

\n
\n \n
\n
\n
\n

Welcome to the FS Pro Console. Here you can manage your licenses.

\n
\n\n
\n
\n
\n \n \n \n \n \n \n \n
\n
\n
\n )\n }\n}","import React, { Component } from 'react'\nimport { Route, Redirect } from 'react-router-dom'\nimport AuthenticationInformation from '../Utilities/AuthenticationInformation';\n\nimport PrivateLayout from './PrivateLayout';\n\nexport default class PrivateRoute extends Component {\n constructor(props) {\n super(props);\n this.state={\n\n }\n }\n render() {\n const { ...rest } = this.props;\n return ( {\n const newProps = { ...props, ...rest }\n return (\n AuthenticationInformation.instance.isUserAuthenticated ?\n (AuthenticationInformation.instance.needVerification ?\n :\n )\n :(\n AuthenticationInformation.instance.firstTry?\n :\n \n )\n );\n }\n }\n />)\n }\n}\n","import Axios from \"axios\";\n\nimport AuthenticationInformation from \"./AuthenticationInformation\";\n\nexport class AuthenticationService {\n\n authenticate(email, password) {\n const urlAPI = '/api/authenticate';\n const self = this;\n return Axios.post(urlAPI, { email, password }, { params: { version: Math.random() } })\n .then(function () {\n return self.getCurrentUser();\n })\n .catch(function (ex) {\n console.log(ex);\n\n });\n }\n getCurrentUser() {\n const urlAPI = 'api/currentUser';\n return Axios.get(urlAPI, { params: { version: Math.random() } })\n .then(function (response) {\n AuthenticationInformation.instance.userInformation = response.data;\n })\n .catch(function (ex) {\n\n console.error(ex);\n })\n }\n}","import React from 'react';\n\n\nclass ErrorMessage extends React.Component{\n \n render(){\n return (\n
\n *{this.props.errorMessage}\n
\n );\n }\n}\n\nexport default ErrorMessage;\n","import React from 'react';\nimport ErrorMessage from './ErrorMessage';\n\n\n\nclass Textbox extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n showError: false,\n value: null,\n errorMessage: 'Input is not valid',\n };\n if ((typeof props.validate) !== \"function\")\n this.validate = (x) => true;\n else\n this.validate = props.validate;\n this.handleBlur = this.handleBlur.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n validation=(value, valid)=>{\n if (typeof valid === 'undefined') {\n valid = true;\n }\n let message = '';\n let showError = false;\n if (!valid) {\n message = this.props.errorMessage;\n valid = false;\n showError = true;\n }\n\n this.setState({\n value: value,\n valid: valid,\n errorMessage: message,\n showError: showError\n });\n }\n\n handleChange(e) {\n this.validation(e.target.value);\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n }\n\n handleKeyPress(e) {\n if (this.props.onKeyPress !== undefined)\n this.props.onKeyPress(e);\n }\n\n handleBlur(e) {\n let valid = true;\n valid = this.validate(e.target.value);\n this.validation(e.target.value, valid);\n }\n\n render() {\n return (\n
{\n this.props.type === 'text' ?\n \n : this.props.type === 'number' ?\n \n : null\n }\n {this.state.showError ? : null}\n
\n );\n }\n}\n\nexport default Textbox;\n","import React from 'react';\n\nimport axios from 'axios';\n\nimport { withRouter } from 'react-router-dom';\n\nimport { Dropdown, Button } from 'semantic-ui-react';\n\nimport Textbox from './components/Textbox';\nimport { IsValidDate, getDate, getCurrentDate, isFieldEmpty, stringToDate } from './utility/Helper';\n\nclass AddLicense extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n manager: this.props.data.Manager,\n name: this.props.data.Name,\n productId: this.props.data.productId,\n startDate: stringToDate(this.props.data.StartDate),\n endDate: stringToDate(this.props.data.EndDate),\n userCount: this.props.data.UserCount,\n emailErrorMessage: '',\n // nameErrorMessage: '',\n startdateErrorMessage: '',\n enddateErrorMessage: '',\n usercountErrorMessage: '',\n productList: [],\n };\n this.handleCancel = this.handleCancel.bind(this);\n this.handleDataChange = this.handleDataChange.bind(this);\n // this.validateName = this.validateName.bind(this);\n this.validateEndDate = this.validateEndDate.bind(this);\n this.validateUserCount = this.validateUserCount.bind(this);\n this.handleNameKeyPress = this.handleNameKeyPress.bind(this);\n this.handleUsercountKeyPress = this.handleUsercountKeyPress.bind(this);\n this.submitLicense = this.submitLicense.bind(this);\n this.checkRequiredField = this.checkRequiredField.bind(this);\n this.updateLicenses = this.updateLicenses.bind(this);\n this.emptyFields = this.emptyFields.bind(this);\n this.updateLicense = this.updateLicense.bind(this);\n this.loadProducts();\n }\n\n handleCancel() {\n this.props.onCancel();\n }\n\n updateProducts = (products) => {\n this.setState({ productList: products });\n if (products.length > 0)\n this.setState({ productId: products[0].productId });\n }\n\n loadProducts() {\n return axios.get('/api/Product')\n .then(function (response) {\n if (response) {\n this.updateProducts(response.data);\n }\n\n })\n .catch(function (e) {\n console.error(this.props.match.url, e.status, e.toString());\n });\n }\n\n checkRequiredField = () => {\n let validated = true;\n\n if (this.state.manager === '') {\n this.setState({\n emailErrorMessage: 'email address is required and cannot be empty'\n });\n validated = false;\n }\n // if (this.state.name === '') {\n // this.setState({\n // nameErrorMessage: 'Name is required and cannot be empty'\n // });\n // validated = false;\n // }\n if (this.state.startDate === '') {\n this.setState({\n startdateErrorMessage: 'Start date is required and cannot be empty'\n });\n validated = false;\n }\n if (this.state.endDate === '') {\n this.setState({\n enddateErrorMessage: 'End date is required and cannot be empty'\n });\n validated = false;\n }\n if (this.state.userCount === '') {\n this.setState({\n usercountErrorMessage: 'Number of license is required and cannot be empty'\n });\n validated = false;\n }\n return validated;\n }\n\n handleDataChange(e) {\n switch (e.target.name) {\n case 'email': this.setState({ manager: e.target.value });\n break;\n case 'name': this.setState({ name: e.target.options[e.target.selectedIndex].text, productId: (e.target.value) });\n break;\n case 'startdate': this.setState({ startDate: e.target.value });\n break;\n case 'enddate': this.setState({ endDate: e.target.value });\n break;\n case 'usercount': this.setState({ userCount: e.target.value });\n break;\n default:\n this.setState({ [e.target.name]: e.target.value });\n break;\n }\n }\n\n // validateName(name) {\n // if (isFieldEmpty(name)) {\n // this.setState({\n // nameErrorMessage: 'Name is required and cannot be empty'\n // });\n // return false;\n // }\n // return true;\n // }\n\n validateStartDate = (date) => {\n if (isFieldEmpty(date)) {\n this.setState({\n startdateErrorMessage: 'Start date is required and cannot be empty'\n });\n return false;\n }\n if (IsValidDate(date)) {\n if (getDate(date) >= getDate(getCurrentDate())) {\n if (IsValidDate(this.state.endDate)) {\n if (getDate(date) < getDate(this.state.endDate)) {\n return true;\n }\n else {\n this.setState({\n startdateErrorMessage: 'Start date cannot be greater than end date'\n });\n return false;\n }\n }\n else {\n return true;\n }\n }\n else {\n this.setState({\n startdateErrorMessage: 'Start date cannot be less than current date'\n });\n return false;\n }\n }\n else {\n this.setState({\n startdateErrorMessage: 'Start date is not valid'\n });\n return false;\n }\n }\n\n validateEndDate = (date) => {\n if (isFieldEmpty(date)) {\n this.setState({\n enddateErrorMessage: 'End date is required and cannot be empty'\n });\n return false;\n }\n if (IsValidDate(date)) {\n if (getDate(date) >= getDate(getCurrentDate())) {\n if (IsValidDate(this.state.startDate)) {\n if (getDate(date) > getDate(this.state.startDate)) {\n return true;\n }\n else {\n this.setState({\n enddateErrorMessage: 'End date cannot be less than start date'\n });\n return false;\n }\n }\n else {\n return true;\n }\n }\n else {\n this.setState({\n enddateErrorMessage: 'End date cannot be less than current date'\n });\n return false;\n }\n }\n else {\n this.setState({\n enddateErrorMessage: 'End date is not valid'\n });\n return false;\n }\n }\n\n validateUserCount(count) {\n if (isFieldEmpty(count)) {\n this.setState({\n usercountErrorMessage: 'Number of license is required and cannot be empty'\n });\n return false;\n }\n return true;\n }\n\n updateLicenses(location) {\n this.props.onInsert(location);\n this.props.editmode = true;\n }\n\n emptyFields() {\n this.setState({\n manager: '',\n startDate: '',\n endDate: '',\n userCount: ''\n });\n this.props.editmode = true;\n }\n\n submitLicense() {\n if (this.checkRequiredField()) {\n const self = this;\n this.props.showLoading(\"SubmitLicense\");\n axios.post('/api/Licenses', {\n Manager: this.state.manager,\n Name: this.state.name,\n ProductId: this.state.productId,\n StartDate: stringToDate(this.state.startDate),\n EndDate: stringToDate(this.state.endDate),\n UserCount: this.state.userCount\n })\n .then(function (response) {\n self.emptyFields();\n if (response) {\n self.updateLicenses(response.headers.location);\n }\n })\n .catch(function (e) {\n console.error(self.props.match.url, e.status, e.toString());\n\n })\n .then(function () {\n\n this.props.showLoading(\"SubmitLicense\");\n })\n }\n }\n\n updateLicense() {\n if (this.checkRequiredField()) {\n const self=this;\n return axios.put('/api/Licenses', {\n Manager: this.state.manager,\n Name: this.state.name,\n ProductId: this.state.productId,\n StartDate: this.state.startDate,\n EndDate: this.state.endDate,\n UserCount: this.state.userCount\n }).then(function (response) {\n if (response) {\n self.updateLicenses(response.headers.location);\n \n }\n })\n .catch(function (e) {\n console.error(self.props.match.url, e.status, e.toString());\n });\n }\n }\n\n handleNameKeyPress(event) {\n let e = event || window.event;\n let key = e.keyCode || e.which;\n key = String.fromCharCode(key);\n let regex = /^[a-zA-Z0-9_\\s]+$/;\n if (!regex.test(this.state.name + key)) {\n e.returnValue = false;\n if (e.preventDefault) e.preventDefault();\n }\n }\n\n handleUsercountKeyPress(event) {\n let count = typeof this.state.userCount === 'undefined' ? '' : this.state.userCount;\n let e = event || window.event;\n let key = e.keyCode || e.which;\n key = String.fromCharCode(key);\n let regex = /^[1-9][0-9]*$/;\n if (!regex.test(count + key)) {\n e.returnValue = false;\n if (e.preventDefault) e.preventDefault();\n }\n }\n\n render() {\n let labelClassName = this.props.editmode ? 'col-sm-12 col-md-12' : 'col-sm-12 col-md-12';\n let textboxClassName = this.props.editmode ? 'col-sm-12 col-md-12 form__input' : 'col-sm-12 col-md-12 form__input';\n let formClassName = this.props.editmode ? 'col-sm-6 col-md-6 col-sm-offset-3 col-md-offset-3 no__padding' : 'col-sm-6 col-md-6 col-sm-offset-3 col-md-offset-3';\n let buttonClassName = this.props.editmode ? 'col-sm-offset-4 col-sm-2' : 'col-sm-offset-4 col-sm-2';\n let addupdateButton = this.props.editmode === false ?\n :\n ;\n const productOptions = this.state.productList.map((item) => { return { key: item.productId + '', value: item.productId, text: item.name }; });\n let { productId, startdateErrorMessage } = this.state;\n if (productId === undefined && productOptions.length > 1)\n productId = productOptions[0].value;\n return (\n
\n
\n
\n \n \n
\n
\n \n this.handleDataChange({ target: d })}\n selection\n className={textboxClassName}\n options={productOptions}\n name=\"productId\"\n value={productId}\n />\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n {addupdateButton}\n
\n
\n
\n
\n );\n }\n}\n\nexport default withRouter(AddLicense);\n","import React from 'react';\n\nimport matchSorter from 'match-sorter';\n\nimport _ from \"underscore\";\n\nimport { Button, Grid, Input, Dropdown, Form, Icon } from 'semantic-ui-react';\n\nimport IMComponent from '../Components/IMComponent';\nimport { convertDate } from '../../components/utility/Helper';\n\nexport default class LicenseGrid extends IMComponent {\n\n constructor(props) {\n super(props);\n this.manageUsersRef = [];\n this.updateLicenseRef = [];\n this.renewLicenseRef = [];\n this.state = {\n ...this.state,\n filter: { email: \"\" },\n queryFirstName: '',\n queryLastName: '',\n orderBy: [],\n queryProduct: '',\n queryStatus: \"Active\",\n queryType: ''\n };\n this.onFilterChanged = this.onFilterChanged.bind(this);\n this.changeFilterValue = this.changeFilterValue.bind(this);\n this.callParentFilterChange = this.callParentFilterChange.bind(this);\n this.changeEmailOrderBy = this.changeEmailOrderBy.bind(this);\n this.renderHeader = this.renderHeader.bind(this);\n this.changeInputText = this.changeInputText.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.getEditLicenseOptions = this.getEditLicenseOptions.bind(this);\n this.handleAction = this.handleAction.bind(this);\n }\n\n onFilterChanged = () => {\n const { queryProduct, queryStatus, queryEmail, queryType } = this.state;\n let resultData = this.props.data;\n if (queryEmail)\n resultData = matchSorter(resultData, queryEmail, { keys: [x => x.name, x => x.manager] });\n if (queryProduct)\n resultData = resultData.filter(x => x.productId == queryProduct);\n if (queryStatus) {\n if (queryStatus == \"all\") {\n resultData = resultData;\n } else {\n resultData = resultData.filter(x => x.status == queryStatus);\n }\n\n }\n\n if (queryType)\n resultData = resultData.filter(x => x.trial.toString() == queryType);\n return _.sortBy(resultData, row => row.accountName);\n }\n\n changeFilterValue = function (e, d) {\n switch (d.name) {\n // case \"queryEmail\": this.setState({ queryEmail: d.value }, () => { this.callParentFilterChange(); }); break;\n case \"queryProduct\": this.setState({ queryProduct: d.value }, this.callParentFilterChange); break;\n case \"queryStatus\": this.setState({ queryStatus: d.value }, this.callParentFilterChange); break;\n case \"queryType\": this.setState({ queryType: d.value }, this.callParentFilterChange); break;\n default: break;\n }\n\n }\n\n changeInputText = (e) => {\n let value = e.target.value\n this.setState({ filter: { email: value } }, this.callParentFilterChange);\n this.callParentFilterChange();\n }\n\n callParentFilterChange = function () {\n const { queryProduct, queryStatus, queryEmail, queryType, orderBy, filter } = this.state;\n this.props.onLicenseFilterChanged(queryProduct, queryStatus, queryEmail, queryType, orderBy, filter);\n }\n\n truncateEmail = (email) => {\n if (email.length > 21) {\n return email.substring(0, 18) + \"..\";\n }\n return email;\n }\n\n getProductName = (productId) => {\n switch (productId) {\n case 1: return 'FS Pro Standard';\n case 2: return 'FS Pro for Outlook';\n case 3: return 'FS Pro Business';\n case 7: return 'FS Pro Assistant';\n case 8: return 'FS Pro Basic';\n case 9: return 'FS Pro On-Prem';\n default: return '';\n }\n }\n\n getEditLicenseOptions(item, index) {\n const items = [\n ... ((item.canManage || this.props.isAdmin) && item.productId != 9) ? [{ text: \"Manage Users\" }] : [],\n ... this.props.isAdmin ? [{ text: \"Update License\" }] : [],\n ... this.props.isAdmin ? [{ text: \"Renew License\" }] : []\n ];\n\n let options = [\n ];\n\n for (let item of items) {\n options = [...options,\n \n {item.text}\n \n ];\n }\n return options;\n }\n\n handleMouseEnter(e) {\n e.target.style.background = '#FF8019';\n e.target.style.color = 'white';\n }\n\n handleMouseLeave(e) {\n e.target.style.background = 'white';\n e.target.style.color = '#FF8019';\n }\n\n handleAction(e) {\n let text = e.target.innerText;\n let index = e.target.id;\n switch (text) {\n case \"Manage Users\":\n this.manageUsersRef[+index].ref.click();\n break;\n case \"Update License\":\n this.updateLicenseRef[+index].ref.click();\n break;\n case \"Renew License\":\n this.renewLicenseRef[+index].ref.click();\n break;\n default:\n break;\n }\n }\n\n renderData = (data) => {\n const { showRole } = this.props;\n if (showRole)\n return data.map((item, index) =>\n \n \n\n
\n {(item.productId == 1) ? \"product : ''}\n {(item.productId == 2) ? \"product : ''}\n
\n
\n \n

{item.roleName}

\n
\n \n

{item.firstName}

\n
\n \n

{item.lastName}

\n
\n \n \n \n
);\n return data.map((item, index) => {\n return \n \n
\n

{this.getProductName(item.productId)}

\n {item.organizationName != null && this.props.isAdmin == 1\n ? \n

{item.organizationName}

\n : null\n }\n \n
\n
\n \n

{/*this.truncateEmail(item.manager)*/item.manager}

{item.name}

\n
\n \n

{String(item.trial) === 'true' ? 'Trial' : 'Full'}

\n
\n \n

{item.status}

\n
\n \n

{item.startDate}

\n
\n \n

{item.endDate}

\n
\n \n\n

99 || item.userCount > 99 ? \"0.85em\" : \"1em\" }}>{item.canManage || this.props.isAdmin ? item.usedCount + ' / ' + item.userCount : ''}

\n
\n \n {((item.canManage || this.props.isAdmin) && item.productId != 9) ? : null}\n {(this.props.isAdmin) ?
: null}\n {(this.props.isAdmin) ?
: null}\n\n {(this.props.isAdmin) ?\n
\n \n \n {this.getEditLicenseOptions(item, index)}\n \n \n
\n : ((item.canManage || this.props.isAdmin) && item.productId != 9) && }\n
\n
\n });\n }\n\n\n changeEmailOrderBy = function () {\n const orderBy = this.state.orderBy.filter(function (ordering) { return ordering.name !== \"email\"; });\n const order = this.state.orderBy.find(function (ordering) { return ordering.name === \"email\"; });\n this.setState({\n orderBy: [\n ...orderBy,\n {\n name: \"email\",\n dir: order && order.dir === \"asc\" ? \"desc\" : \"asc\"\n }\n ]\n }, this.callParentFilterChange);\n }\n\n\n renderHeader = function () {\n const { queryEmail, queryType, queryStatus, queryProduct } = this.state;\n\n const productOptions = [\n { key: \"\", value: \"\", text: \"Show All\", color: \"#4c5a61\" },\n { key: \"1\", value: \"1\", text: \"FS Pro Standard\", color: \"#4c5a61\" },\n { key: \"3\", value: \"3\", text: \"FS Pro Business\", color: \"#4c5a61\" },\n { key: \"2\", value: \"2\", text: \"FS Pro for Outlook\", color: \"#4c5a61\" },\n { key: \"7\", value: \"7\", text: \"FS Pro AI Assistant\", color: \"#4c5a61\" },\n { key: \"8\", value: \"8\", text: \"FS Pro Basic\", color: \"#4c5a61\" },\n { key: \"9\", value: \"9\", text: \"FS Pro On-Prem\", color: \"#4c5a61\" }\n ];\n\n const typeOptions = [\n { key: \"all\", value: \"\", text: \"Show All\", color: \"#4c5a61\" },\n { key: \"true\", value: \"true\", text: \"Trial\", color: \"#4c5a61\" },\n { key: \"false\", value: \"false\", text: \"Full\", color: \"#4c5a61\" }\n ];\n\n const statusOptions = [\n { key: \"all\", value: \"all\", text: \"Show All\", color: \"#4c5a61\" },\n { key: \"true\", value: \"Active\", text: \"Active\", color: \"#4c5a61\" },\n { key: \"false\", value: \"Expired\", text: \"Expired\", color: \"#4c5a61\" }\n ];\n\n const styleButtonHeader = {\n cursor: \"pointer\"\n }\n const order = this.state.orderBy.find(function (ordering) { return ordering.name === \"email\"; });\n const emailOrderIcon = !order ? \"arrows alternate vertical\" : `arrow ${(order.dir === \"asc\" ? \"down\" : \"up\")}`;\n return [\n \n \n PRODUCT\n \n \n\n {this.props.isAdmin ?
\n EMAIL\n
:\n \"EMAIL\"}\n
\n \n TYPE\n \n \n STATUS\n \n \n VALID FROM\n \n \n VALID UNTIL\n \n \n #USERS\n \n \n \n
,\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n (mm/dd/yyyy)\n \n \n (mm/dd/yyyy)\n \n \n\n \n \n \n ,\n \n\n \n \n \n \n \n \n \n\n \n \n \n \n ];\n }\n\n render() {\n //const data = this.onFilterChanged();\n return [this.renderHeader(), this.renderData(/*data*/this.props.data)];\n }\n}\n","import React from 'react';\n\nimport matchSorter from 'match-sorter';\n\nimport { withRouter } from 'react-router-dom';\n\nimport axios from 'axios';\n\nimport 'react-widgets/dist/css/react-widgets.css';\n\nimport { Dropdown, Grid } from 'semantic-ui-react';\n\nimport LicenseGrid from '../application/License/LicenseGrid';\n\nimport { convertDate } from './utility/Helper';\n\nclass License extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n //licenseUserlist: null,\n manage: true,\n users: [],\n selectedUser: '',\n filtered: [{\n 'id': 'Status',\n 'value': 'true'\n }]\n };\n this.handleLicenseUsageFilter = this.handleLicenseUsageFilter.bind(this);\n this.handleLicenseEdit = this.handleLicenseEdit.bind(this);\n this.onLicenseFilterChanged = this.onLicenseFilterChanged.bind(this);\n this.handleSearchChange = this.handleSearchChange.bind(this);\n this.handleLicenseRenew = this.handleLicenseRenew.bind(this);\n }\n\n handleLicenseUsageFilter = function (e) {\n e.persist()\n const licenseId = e.target.id;\n this.setState({ manage: false });\n this.props.history.push(`./license-usage/${licenseId}`);\n }\n\n handleLicenseEdit = function (e) {\n e.persist()\n const licenseId = e.target.id;\n this.setState({ manage: false });\n this.props.history.push(`./license/edit/${licenseId}`);\n }\n\n handleLicenseRenew = function (e) {\n e.persist()\n const licenseId = e.target.id;\n this.setState({ manage: false });\n this.props.history.push(`./license/renew/${licenseId}`);\n }\n \n\n componentDidMount = function () {\n\n const requesturl = 'api/Licenses/Users';\n const self = this;\n return axios.get(requesturl)\n .then(function (response) {\n\n if (response && response.data) {\n self.setState({ users: response.data })\n }\n })\n .catch(function (e) {\n console.error(e.status, e.toString());\n });\n }\n\n onLicenseFilterChanged = function (queryProduct, queryStatus, queryEmail, queryType, orderBy, filter) {\n this.props.onLicenseFilterChanged(queryProduct, queryStatus, queryEmail, queryType, orderBy, filter);\n }\n\n handleSearchChange = function (e, option) {\n this.setState({ selectedUser: option.value, filtered: [{ id: 'encryptedId', value: option.value.split('-')[0] }] });\n }\n\n render() {\n let options = this.state.users.map((item, index) => ({ key: item.cryptId, value: item.licenseCryptId + '-' + index, text: item.accountName + ' - ' + item.firstName + ' ' + item.lastName }))\n const { data } = this.props;\n return (\n
\n \n {/*{data.length?\n \n :null\n }*/}\n \n \n
\n );\n }\n}\n\nexport default withRouter(License);\n","import React from 'react';\nimport { Button } from 'semantic-ui-react';\n\nimport { factoryGeneralState } from './Main';\n\nclass LicensesFilter extends React.Component {\n constructor(props) {\n super(props);\n this.saveInGeneral = factoryGeneralState('License');\n this.state = {\n emailPart: this.saveInGeneral.data.emailPart || \"\"\n };\n\n this.handleSearch();\n this.handleKeyPress = this.handleKeyPress.bind(this);\n }\n\n handleDataChange = (e) => {\n switch (e.target.name) {\n case 'txtemail':\n this.setState({ emailPart: e.target.value });\n break;\n default:\n break;\n }\n }\n\n validateEmail = (email) => {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(email);\n }\n\n handleSearch = () => {\n const emailPart = this.state.emailPart;\n const format = /[!#$%^&*()+=\\[\\]{};':\"\\\\|,<>\\/?]+/;\n if (format.test(emailPart)) {\n if (!this.validateEmail(emailPart)) {\n alert(\"Please specify valid characters for names or valid email formats\");\n return;\n }\n\n }\n this.saveInGeneral.data = { emailPart: emailPart };\n this.props.handleFilter(emailPart);\n }\n\n handleKeyPress(e) {\n if (e.charCode === 13) {\n e.preventDefault();\n this.handleSearch();\n }\n }\n\n render() {\n return (\n
\n
\n

Help me look for:

\n
\n\n
\n
\n \n {(!this.props.searching) ? :\n }\n
\n\n\n
\n
\n\n );\n }\n}\n\nexport default LicensesFilter;\n","import React from 'react';\n\nimport axios from 'axios';\n\nimport { Dropdown, Input, Popup } from 'semantic-ui-react';\n\nimport { countryOptions } from './Semantic-ui-options';\n\nimport { getPasswordValidation } from './utility/Helper';\n\nclass MyAccount extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n countries: [],\n countryCode: null,\n validations: [],\n data: {\n firstName: \"\",\n lastName: \"\",\n company: \"\",\n email: \"\",\n phone: \"\",\n countryCode: \"\",\n createdAt: \"\",\n modifiedAt: \"\",\n password: \"\",\n confirmPassword: \"\",\n enablePassword: false,\n hasErrors: false,\n errorMessage: null,\n success: false\n }\n };\n this.loadCountriesAvailable();\n this.loadUserInformation();\n this.handleFirstNameChange = this.handleFirstNameChange.bind(this);\n this.handleLastNameChange = this.handleLastNameChange.bind(this);\n this.handleEmailChange = this.handleEmailChange.bind(this);\n this.handlePasswordChange = this.handlePasswordChange.bind(this);\n this.handleConfirmPasswordChange = this.handleConfirmPasswordChange.bind(this);\n this.handleEnablePasswordChange = this.handleEnablePasswordChange.bind(this);\n this.handleCompanyChange = this.handleCompanyChange.bind(this);\n this.handleUpdateSubmit = this.handleUpdateSubmit.bind(this);\n this.loadPasswordSetting();\n }\n\n\n loadPasswordSetting() {\n this.props.showLoading(\"LoadPasswordSettings\");\n const self = this;\n axios.get(`/api/PasswordSettings/CurrentUser`)\n .then((response) => {\n self.setState({ passwordSetting: response.data });\n self.onPasswordChange(\"\");\n })\n .catch((e) => { self.setState({ errorMessage: e.response.data }); })\n .then(() => {\n self.props.hideLoading(\"LoadPasswordSettings\");\n });\n }\n\n loadUserInformation() {\n const self = this;\n return axios.get('/api/User',{params:{version:Math.random()}})\n .then(function (userInformation) {\n const currentCountryCode = self.state.countries.find(x => x.key === userInformation.data.countryCode);\n self.setState((prevState) => ({\n isManager: userInformation.data.isManager,\n data: {\n ...prevState.data,\n firstName: userInformation.data.firstName,\n company: userInformation.data.company,\n lastName: userInformation.data.lastName,\n email: userInformation.data.email,\n createdAt: userInformation.data.createdAt,\n phone: userInformation.data.phone,\n countryCode: userInformation.data.countryCode,\n phoneCode: currentCountryCode !== undefined ? currentCountryCode.code : \"\",\n modifiedAt: userInformation.data.modifiedAt\n }\n }));\n })\n }\n\n handleCountryChange = (e, d) => {\n var country = { code: null, value: \"\" };\n if (d.value !== \"\")\n country = countryOptions.find(x => x.key === d.value);\n\n this.setState((prevState) => ({\n data: {\n ...prevState.data,\n phoneCode: country.code,\n countryCode: country.value\n }\n }));\n }\n\n loadCountriesAvailable() {\n const self = this;\n return axios.get('/api/CountriesPhone')\n .then(function (countries) {\n self.setState({\n countries: countryOptions.filter(x => countries.data.includes(x.key))\n });\n\n });\n }\n handleCompanyChange(e) {\n e.persist()\n this.setState((prevState) => (\n { data: { ...prevState.data, company: e.target.value } }));\n }\n handleConfirmPasswordChange(e) {\n e.persist()\n this.setState((prevState) => (\n { data: { ...prevState.data, confirmPassword: e.target.value } }));\n }\n handleEnablePasswordChange(e) {\n e.persist()\n this.setState((prevState) => (\n {\n data: {\n ...prevState.data,\n enablePassword: !this.state.data.enablePassword,\n password: \"\",\n confirmPassword: \"\"\n },\n validations: getPasswordValidation(\"\", this.state.passwordSetting)\n }));\n }\n\n onPasswordChange = (newVal) => {\n var validations = getPasswordValidation(newVal, this.state.passwordSetting);\n\n this.setState((prevState) => (\n {\n data: { ...prevState.data, password: newVal },\n validations\n }));\n }\n\n handlePasswordChange(e) {\n var newVal = e.target.value;\n this.onPasswordChange(newVal);\n }\n handleFirstNameChange(e) {\n e.persist()\n this.setState((prevState) => (\n { data: { ...prevState.data, firstName: e.target.value } }));\n }\n handleLastNameChange(e) {\n e.persist()\n this.setState((prevState) => (\n { data: { ...prevState.data, lastName: e.target.value } }));\n }\n handleEmailChange(e) {\n e.persist()\n this.setState((prevState) => (\n { data: { ...prevState.data, email: e.target.value } }));\n }\n\n handleCountryCodeChange = (e) => {\n this.setState((prevState) => (\n { data: { ...prevState.data, countryCode: e.target.value } }));\n }\n\n onPhoneNumberChange = (e, d) => {\n console.log(d)\n this.setState((prevState) => (\n { data: { ...prevState.data, phone: d.value } }));\n }\n\n handleUpdateSubmit(e) {\n e.preventDefault();\n if (this.state.data.enablePassword === true) {\n let errorMessage = null;\n\n if (this.state.data.confirmPassword !== this.state.data.password)\n errorMessage = \"Password did not match, try again!\";\n\n if (!this.state.data.password || this.state.data.password === \"\")\n errorMessage = \"Password can not be blank, try again!\";\n\n if (errorMessage && errorMessage !== \"\") {\n this.setState((prevState) => ({\n data: {\n ...prevState.data,\n errorMessage: errorMessage,\n hasErrors: true,\n success: false\n }\n }));\n return;\n }\n }\n const self = this;\n self.props.showLoading(\"UpdateAccountInfo\");\n return axios.put('/api/User',\n {\n FirstName: this.state.data.firstName,\n company: this.state.data.company,\n LastName: this.state.data.lastName,\n Email: this.state.data.email,\n phone: this.state.data.phone,\n countryCode: this.state.data.countryCode,\n Password: this.state.data.enablePassword ? this.state.data.password : \"\"\n }\n ).then((response) => {\n\n self.props.onUserChange();\n self.loadUserInformation();\n self.setState((prevState) => ({\n data: {\n ...prevState.data,\n hasErrors: false,\n errorMessage: \"\",\n enablePassword: \"\",\n password: \"\",\n confirmPassword: \"\",\n success: true\n }\n }));\n self.props.hideLoading(\"UpdateAccountInfo\");\n })\n .catch((e) => {\n self.setState((prevState) => ({\n data: {\n ...prevState.data,\n errorMessage: e.response.data,\n hasErrors: true,\n success: false\n }\n }));\n self.props.hideLoading(\"UpdateAccountInfo\");\n });\n }\n\n render() {\n let passwordField = ;\n return (\n
\n
\n
\n {(this.state.data.hasErrors) ?
\n {this.state.data.errorMessage}\n
: ''}\n\n {(this.state.data.success) ?
\n User information was updated successfully!\n
: ''}\n
\n
\n \n \n \n \n \n \n {this.state.data.countryCode === \"\" || this.state.data.countryCode === null ? null :
\n \n
}\n

\n \n {this.state.data.enablePassword ?
\n (
\n {x.status ? : }\n {x.message}
)) : null}\n header='Password Policy'\n position='right center'\n size='small'\n />\n {this.state.validations.filter(x => !x.status).length === 0 ?\n : null}
: null}\n \n
\n
\n
\n
\n
\n );\n }\n}\n\nexport default MyAccount;\n","import React from 'react';\nimport axios from 'axios';\nimport { Form, Grid, Button } from 'semantic-ui-react';\n\nclass PasswordSetting extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n minChars: 8,\n upperChars: 1,\n numSpecialChars: 1,\n minimunChars:8,\n expirationMonths: 1,\n errorMessage: '',\n successMessage: '',\n passwordHistory: false,\n twoFA: false\n };\n this.loadPasswordSetting();\n }\n componentDidMount() {\n }\n\n loadPasswordSetting = () => {\n const self = this;\n axios.get('/api/PasswordSettings/CurrentUser')\n .then(function (response) {\n self.setState({\n minChars: response.data.minimunChars,\n upperChars: response.data.uppercaseChars,\n numSpecialChars: response.data.specialChars,\n expirationMonths: response.data.expirationMonths,\n twoFA: response.data.twoFA,\n passwordHistory: response.data.passwordHistory,\n });\n })\n }\n handleCounterChange = (e, { name, value }) => {\n let minChars = 8;\n switch (name) {\n case \"numSpecialChars\":\n minChars = parseInt(value) + parseInt(this.state.upperChars);\n break;\n case \"upperChars\":\n minChars = parseInt(this.state.numSpecialChars) + parseInt(value);\n break;\n default:\n break;\n }\n if (minChars>=8)\n this.setState({\n minimunChars: minChars,\n minChars: this.state.minChars < minChars ? minChars : this.state.minChars\n });\n this.setState({ [name]: value })\n }\n\n onSubmitHandler = () => {\n const self = this;\n this.setState({ errorMessage: '', successMessage: '' });\n self.props.showLoading(\"UpdatePasswordSettings\");\n axios.post('/api/PasswordSettings', {\n minimunChars: this.state.minChars,\n uppercaseChars: this.state.upperChars,\n specialChars: this.state.numSpecialChars,\n expirationMonths: this.state.expirationMonths,\n twoFA: this.state.twoFA,\n passwordHistory: this.state.passwordHistory\n })\n .then(function () {\n self.setState({ successMessage: 'Password settings saved successfully. ' });\n })\n .catch(function (error) {\n var errorMessage = error.response.data;\n self.setState({ errorMessage });\n }).finally(() => {\n self.props.hideLoading(\"UpdatePasswordSettings\");\n });\n }\n\n render() {\n let view = (\n
\n {(this.state.errorMessage !== '') ?
Error

{this.state.errorMessage}

: ''}\n {(this.state.successMessage !== '') ?
Saved

{this.state.successMessage}

: ''}\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n

Password Expiration

\n
\n \n \n \n \n

Password History

\n

last five passwords will be saved

\n
\n \n \n \n \n

Two Factor Authentication

\n
\n \n \n \n \n \n \n
\n
\n
\n
\n );\n return view;\n }\n}\n\nexport default PasswordSetting;","import React from 'react';\n\nimport axios from 'axios';\n\nimport ReactTable from 'react-table';\n\nimport { withRouter } from 'react-router-dom';\n\nclass UserList extends React.Component {\n constructor(props) {\n super(props);\n this.state = { data: props.data, usersToggleAdmin: [] };\n this.loadUsersFromServer();\n this.handleSelected = this.handleSelected.bind(this);\n this.toggleAdministratorPermission = this.toggleAdministratorPermission.bind(this);\n this.saveChanges = this.saveChanges.bind(this);\n }\n\n saveChanges() {\n return axios.put('/api/Users', this.state.usersToggleAdmin)\n .then(function (response) {\n if (response) {\n this.loadUsersFromServer();\n this.setState({ usersToggleAdmin: [] });\n }\n })\n .catch(function (e) {\n console.error(this.props.match.url, e.status, e.toString());\n });\n }\n\n handleSelected(key, value) {\n //this.props.handleFilter(value);\n }\n\n toggleAdministratorPermission(e) {\n const users = this.state.data;\n var usersAdminChanged = this.state.usersToggleAdmin;\n var userId = e.target.id;\n if (usersAdminChanged.findIndex(u => u === userId) > -1) {\n usersAdminChanged = usersAdminChanged.filter(u => u !== userId);\n }\n else {\n\n usersAdminChanged.push(e.target.id);\n }\n var userIndex = users.findIndex(u => u.id.toString() === userId);\n users[userIndex].administrator = !users[userIndex].administrator;\n this.setState({ data: users, usersToggleAdmin: usersAdminChanged });\n }\n\n\n handleLicenseUsageFilter(e) {\n e.persist()\n const licenseId = e.target.id;\n const userCount = e.target.getAttribute('usercount');\n const usedCount = e.target.getAttribute('usedcount');\n const requesturl = 'api/Licenses/' + licenseId + '/LicenseUsages';\n this.setState({ manage: false });\n const self = this;\n return axios.get(requesturl)\n .then(function (response) {\n if (response) {\n self.props.setUserList(response.data);\n self.props.setLicenseId(licenseId);\n self.props.setUserCount(userCount);\n self.props.setUsedCount(usedCount);\n self.props.detailType('LicenseUsage');\n self.props.match.params.detailName = 'LicenseUsage';\n self.props.history.push('./LicenseUsages');\n }\n\n })\n .catch(function (e) {\n console.error(e.status, e.toString());\n });\n }\n\n loadUsersFromServer() {\n return axios.get('/api/Users')\n .then(function (response) {\n if (response) {\n this.setState((prevState) => ({\n ...prevState,\n data: response.data\n }));\n }\n\n })\n .catch(function (e) {\n console.error(this.props.match.url, e.status, e.toString());\n });\n }\n\n\n render() {\n const columns = [{\n Cell: () => (\n
\n {/* \n \n */}\n \"license\n
\n ),\n maxWidth: 40,\n filterable: false,\n sortable: false\n }, {\n Cell: () => (\n
\n ),\n maxWidth: 40,\n filterable: false,\n sortable: false\n }, {\n Cell: (cellInfo) => (\n
\n {cellInfo.original.firstName + \" \" + cellInfo.original.lastName}\n
\n ),\n Header: 'Name ',\n maxWidth: 350,\n filterable: false,\n sortable: false\n }, {\n Cell: (cellInfo) => (\n \n ),\n maxWidth: 350,\n filterable: false,\n sortable: false\n }\n ];\n return (\n
\n \n \n
\n );\n }\n}\n\nexport default withRouter(UserList);\n","import React from 'react';\n\nimport axios from 'axios';\n\nimport { withRouter, Link } from 'react-router-dom';\n\nimport { Modal, Button, Dropdown } from 'semantic-ui-react';\nimport { Pagination } from 'semantic-ui-react';\n\nimport AddLicense from './AddLicense';\nimport License from './License';\nimport LicensesFilter from './LicensesFilter';\nimport MyAccount from './MyAccount';\nimport PasswordSetting from './PasswordSetting';\nimport UserList from './UserList';\nimport applicationActionCreator from '../redux/actions/applicationActions';\nimport { connect } from 'react-redux';\n\nclass ContentBlockList extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n searching: false,\n adding: true,\n lastSearchValue: '',\n addMode: false,\n licenseUserlist: [],\n licenseId: null,\n usedCount: 0,\n userCount: 0,\n editmode: false,\n detailId: 0,\n detailMode: false,\n removeMode: false,\n isAdmin: false,\n currentLicense: {\n canShowRoles: false\n },\n modal: {\n open: false,\n errorMessage: '',\n successMessage: ''\n },\n pageSize: 10,\n pageNumber: 1,\n totalPages: 0,\n queryProduct: 0,\n queryType: '',\n queryStatus: 'Active',\n pagedFilterUpdated: true,\n isMerging: false,\n addLicenseRef: null,\n mergeLicenseRef: null\n };\n this.handleAdd = this.handleAdd.bind(this);\n this.handleCancel = this.handleCancel.bind(this);\n this.updateLicenses = this.updateLicenses.bind(this);\n this.updateLicenseUser = this.updateLicenseUser.bind(this);\n this.handleLicenseUsageFilter = this.handleLicenseUsageFilter.bind(this);\n this.handleLicenseFilter = this.handleLicenseFilter.bind(this);\n this.getUserList = this.getUserList.bind(this);\n this.getLicenseId = this.getLicenseId.bind(this);\n this.getUsedCount = this.getUsedCount.bind(this);\n this.getUserCount = this.getUserCount.bind(this);\n this.updateUsedCount = this.updateUsedCount.bind(this);\n this.getLicenseList = this.getLicenseList.bind(this);\n this.removeHandler = this.removeHandler.bind(this);\n this.loadLicenseDataRows = this.loadLicenseDataRows.bind(this);\n this.handleLicensePageChanged = this.handleLicensePageChanged.bind(this);\n this.handleLicenseGridFilterChanged = this.handleLicenseGridFilterChanged.bind(this);\n this.handleLicenseGridFilterInternal = this.handleLicenseGridFilterInternal.bind(this);\n this.searchLicensePaged = this.searchLicensePaged.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n this.getLicenseManagementOptions = this.getLicenseManagementOptions.bind(this);\n this.handleAction = this.handleAction.bind(this);\n }\n\n showErrorMessage = (message) => {\n this.setState({ modal: { open: true, errorMessage: message, type: \"error\", successMessage: '' } });\n }\n\n showSuccessMessage = (message) => {\n this.setState({ modal: { open: true, successMessage: message, type: \"success\", errorMessage: '' } });\n }\n\n closeMessageModal = () => {\n this.setState({ modal: { open: false } });\n\n }\n\n onCompletedEdition = () => {\n this.setState({ detailId: null, editmode: false });\n }\n\n removeHandler(canRemove) {\n this.setState((prevState) => ({\n ...prevState,\n removeMode: canRemove\n }))\n }\n\n onDetailSelectionChanged = (detailId) => {\n this.setState({ detailId, editmode: detailId != null });\n }\n\n handleAdd() {\n\n this.props.history.push('license/new');\n\n //this.setState({addMode:true});\n }\n\n handleMerge() {\n this.setState({\n isMerging: true\n }, () => this.handleLicenseFilter(this.state.lastSearchValue));\n }\n\n handleCancel() {\n this.setState({ addMode: false });\n }\n\n updateLicenses(locationUrl) {\n const self = this;\n return axios.get(locationUrl)\n .then(function (response) {\n if (response) {\n self.props.history.push('./Licenses');\n }\n })\n .catch(function (e) {\n console.error(e.status, e.toString());\n });\n }\n\n updateLicenseUser(locationUrl) {\n return axios.get(locationUrl)\n .then(function (response) {\n if (response) {\n this.state.licenseUserlist.unshift(response.data);\n this.setState({\n licenseUserlist: this.state.licenseUserlist,\n });\n }\n })\n .catch(function (e) {\n console.error(e.status, e.toString());\n })\n\n }\n\n handleLicenseUsageFilter(value) {\n const requesturl = 'api/Licenses/' + value + '/LicenseUsages';\n const self = this;\n return axios.get(requesturl)\n .then(function (response) {\n if (response && response.data) {\n self.setState({ licenseUserlist: response.data });\n self.props.history.push('./LicenseUsages');\n }\n })\n .catch(function (e) {\n console.error(e.status, e.toString());\n });\n }\n\n handleLicenseFilter(value) {\n const self = this;\n if (value) {\n self.setState(\n {\n pageNumber: 1,\n totalPages: 0,\n lastSearchValue: value, pagedFilterUpdated: false\n },\n self.handleLicenseGridFilterInternal);\n }\n\n\n }\n getUserList = function (dataFromChild) {\n this.setState({ licenseUserlist: dataFromChild });\n }\n getLicenseId = function (data) {\n this.setState({ licenseId: data });\n }\n getUsedCount = (data) => {\n this.setState({ usedCount: data });\n }\n getUserCount = (data) => {\n this.setState({ userCount: data });\n }\n\n updateUsedCount = (data) => {\n this.setState((prevState) => {\n return { usedCount: +prevState.usedCount + data };\n });\n }\n\n componentCanAddlicense() {\n const componentAddLicense = ['Licenses', 'License', ''];\n return componentAddLicense.filter(x => x === this.props.data.detailType).length > 0;\n }\n\n getLicenseList() {\n if (!this.props.data.isAdmin) {\n this.handleLicenseFilter('/api/Licenses');\n } else {\n this.handleLicenseFilter(this.state.lastSearchValue);\n }\n this.props.detailType('License');\n this.props.match.params.detailName = 'License';\n }\n\n getMyAccount() {\n this.handleLicenseFilter('/api/MyAccount');\n this.props.detailType('MyAccount');\n this.props.match.params.detailName = 'MyAccount';\n }\n\n getPasswordSettings = () => {\n this.props.detailType('PasswordSetting');\n this.props.match.params.detailName = 'PasswordSetting';\n }\n\n onAddNewLicenseUsageHandler = (licenseUsage) => {\n const self = this;\n self.props.showLoading(\"AddNewUSage\");\n this.setState({ adding: false });\n axios.post(`api/Licenses/${self.state.licenseId}/LicenseUsages`, licenseUsage)\n .then((response) => {\n\n var licenseUserList = self.state.licenseUserlist;\n licenseUserList.push(response.data);\n self.setState({ licenseUserList: licenseUserList, addMode: !self.state.addMode });\n if (response) {\n self.showSuccessMessage('The new user license was successfully assigned.');\n self.updateUsedCount(1);\n self.setState({ addMode: !self.state.addMode });\n }\n }).catch((e) => {\n self.updateUsedCount(-1);\n console.log(e);\n console.error(self.props.match.url, e.status, e.toString());\n if (e.response && e.response.data !== \"\")\n self.showErrorMessage(`Email:'${licenseUsage.accountName}' - ${e.response.data}`);\n else\n self.showErrorMessage(`Email:\"${licenseUsage.accountName}\" has already been assigned a license, please revoke it before trying to assign it to a new license.`);\n }).then(() => {\n self.setState({ adding: true });\n self.props.hideLoading(\"AddNewUSage\");\n self.handleLicenseFilter(self.state.licenseId);\n });\n }\n\n setCurrentLicense = (license) => {\n this.setState({ currentLicense: license });\n }\n\n handleGetSessionsFileClick = () => {\n const self = this;\n if (self.state.licenseId !== null)\n window.location.href = `/api/Session/Csv/${self.state.licenseId}`;\n }\n\n handleLicensePageChanged = function (event, data) {\n const self = this;\n this.setState({ pageNumber: data.activePage, pagedFilterUpdated: false }, () => {\n if (self.state.queryProduct != 0 || self.state.queryType != '' || self.state.queryStatus != '') {\n\n self.props.showLoading(\"SearchLicenses1\");\n self.searchLicensePaged();\n } else {\n self.loadLicenseDataRows(self.state.lastSearchValue, data.activePage, self.state.pageSize);\n }\n });\n\n\n }\n\n loadLicenseDataRows = function (value, pageNumber, pageSize) {\n if (!value) return;\n this.setState({ searching: true, lastSearchValue: value });\n this.props.showLoading(\"LoadLicenseData\");\n const self = this;\n const requesturl = (!value || /^\\s*$/.test(value)) && self.props.data.isAdmin ? 'api/Licenses' : 'api/Licenses/UsersLicensePaged?emailPart=' + value + \"&pageNumber=\" + pageNumber + \"&pageSize=\" + pageSize;\n return axios.get(requesturl)\n .then(function (response) {\n if (response) {\n self.props.data.list = response.data;\n self.setState(self.props.data);\n self.setState({ isAdmin: self.props.data.isAdmin });\n self.setState({ searching: false });\n }\n })\n .catch(function (e) {\n console.error(e.status, e.toString());\n })\n .then(function () {\n self.props.hideLoading(\"LoadLicenseData\");\n })\n\n }\n\n loadTotalLicensesCount = function (emailPart) {\n if (this.state.totalPages == 0) {\n const self = this;\n return axios.get('api/Licenses/TotalUsersLicenses?emailPart=' + emailPart)\n .then(res => {\n let totalPages = Math.ceil(res.data / self.state.pageSize);\n self.setState({ totalPages: totalPages });\n self.loadLicenseDataRows(emailPart, self.state.pageNumber, self.state.pageSize);\n });\n } else {\n this.loadLicenseDataRows(emailPart, this.state.pageNumber, this.state.pageSize);\n }\n }\n\n handleLicenseGridFilterChanged = function (queryProduct, queryStatus,\n queryEmail, queryType, orderBy, filter) {\n const self = this;\n let value = self.state.lastSearchValue;\n self.setState({\n queryEmail: value,\n queryType,\n queryStatus,\n queryProduct,\n pagedFilterUpdated: true,\n filter,\n orderBy\n },\n self.handleLicenseGridFilterInternal);\n }\n\n searchLicensePaged = function () {\n const { queryStatus, queryType, queryProduct, orderBy, filter, isMerging } = this.state;\n const self = this;\n let value = this.state.lastSearchValue;\n if (!value && self.props.data.isAdmin) return new Promise(function (resolve) {\n resolve([]);\n });\n const pageSize = isMerging ? 300 : this.state.pageSize;\n const params = {\n ...filter,\n emailPart: value,\n type: queryType,\n status: queryStatus,\n productId: queryProduct,\n pageSize: pageSize,\n pageNumber: this.state.pageNumber,\n ...(orderBy || []).find(function (x) {\n return !!x.name;\n })\n }\n const requesturl = (!value || /^\\s*$/.test(value)) && self.props.data.isAdmin ? 'api/Licenses' : 'api/Licenses/SearchLicensePaged';\n self.props.showLoading(\"SearchLicenses\");\n return axios.get(requesturl, { params })\n .then(function (response) {\n if (response) {\n self.props.data.list = response.data;\n //this.setState({ totalPages: 1 });\n self.setState(self.props.data);\n self.setState({ isAdmin: self.props.data.isAdmin });\n self.setState({ searching: false });\n\n if (isMerging) {\n self.props.data.listForMerging = response.data;\n self.props.history.push({\n pathname: '/license/merging',\n state: self.props.data\n });\n }\n }\n })\n .catch(function (e) {\n console.error(e.status, e.toString());\n })\n .then(function () {\n self.props.hideLoading(\"SearchLicenses\");\n });\n }\n\n handleLicenseGridFilterInternal = function () {\n const { queryStatus, queryType, queryProduct, filter, isMerging } = this.state;\n const self = this;\n let value = this.state.lastSearchValue;\n const pageSize = isMerging ? 300 : this.state.pageSize;\n const params = {\n ...filter,\n emailPart: value,\n type: queryType,\n status: queryStatus,\n productId: queryProduct,\n pageSize: pageSize,\n pageNumber: 1\n }\n const requesturl = (!value || /^\\s*$/.test(value)) && self.props.data.isAdmin ? 'api/Licenses' : 'api/Licenses/SearchLicensePagedCount';\n this.props.showLoading(\"LOAD_SEARCH_RESULTS\");\n return axios.get(requesturl, { params })\n .then(function (response) {\n if (response) {\n let totalPages = Math.ceil(response.data / pageSize);\n return new Promise(function (resolve) {\n self.setState({ totalPages: totalPages, pageNumber: 1 }, resolve);\n })\n }\n })\n .then(function () {\n self.props.showLoading(\"LOAD_SEARCH_RESULTS2\");\n return self.searchLicensePaged()\n .then(function () {\n });\n })\n .catch(function (e) {\n console.error(e.status, e.toString());\n })\n .then(function () {\n self.props.hideLoading(\"LOAD_SEARCH_RESULTS\");\n self.props.hideLoading(\"LOAD_SEARCH_RESULTS2\");\n }\n );\n\n }\n\n onSelectionFileSuccess = (fileObject) => {\n const self = this;\n\n const formData = new FormData();\n formData.append('file', fileObject)\n const config = {\n headers: {\n 'content-type': 'multipart/form-data'\n }\n };\n self.props.showLoading(\"SearchLicenses2\");\n axios.post(`/api/Licenses/${self.state.licenseId}/LicenseUsages/UploadCSV`, formData, config)\n .catch((e) => {\n self.showErrorMessage(e.response.data.join('
'));\n }).then(function () {\n\n self.props.showLoading(\"SearchLicenses43\");\n });\n }\n\n getLicenseManagementOptions(item) {\n const items = [\n { text: \"Add License\" },\n { text: \"Merge License\" }\n ];\n\n let options = [\n ];\n\n for (let item of items) {\n options = [...options,\n \n {item.text}\n \n ];\n }\n return options;\n }\n\n handleMouseEnter(e) {\n e.target.style.background = '#FF8019';\n e.target.style.color = 'white';\n }\n\n handleMouseLeave(e) {\n e.target.style.background = 'white';\n e.target.style.color = '#FF8019';\n }\n\n handleAction(e) {\n switch (e.target.innerText) {\n case \"Add License\":\n this.addLicenseRef.ref.click();\n break;\n\n case \"Merge License\":\n this.mergeLicenseRef.ref.click();\n break;\n\n default:\n break;\n }\n }\n\n render() {\n let addLicenseForm;\n let addLicenseUserForm;\n let licenseRows;\n let usersGrid;\n let productGrid;\n let licenseUsageRows;\n let title;\n let licenseFilter;\n let mergeLicensesButton;\n let toggleAddButton;\n let licenseManagementButton;\n let userInformationForm;\n let backButton;\n let productDetailForm;\n let editmode = false;\n let passwordSettingsButton;\n let passwordSettingsView;\n let hiddenAddLicenseButton;\n\n addLicenseForm = this.props.data.detailType === 'License' && this.state.addMode === true && this.props.data.isAdmin === true ?\n
\n
\n

Create License

\n \n
\n
\n : null;\n\n usersGrid = this.props.data.detailType === 'ManageUser' && this.state.addMode === false && this.props.data.isAdmin === true ?\n :\n null;\n passwordSettingsView = this.props.isManager && this.props.data.detailType === 'PasswordSetting' ?\n : null;\n userInformationForm = this.props.data.detailType === 'MyAccount' ?\n
\n {/**/}\n \n
\n : null;\n\n passwordSettingsButton = this.props.data.detailType === 'MyAccount' && this.props.isManager ?\n \n Password Settings\n \n : null;\n\n backButton = this.props.data.detailType === 'PasswordSetting' ?\n
\n this.props.detailType(\"MyAccount\")}>\n \n \n \n \n
: null;\n licenseRows = this.props.data.detailType === 'License' ?\n
\n \n {this.props.data.list.length > 0 && this.state.totalPages > 1 &&\n }\n
: null;\n\n\n licenseFilter = this.props.data.detailType === 'License' && this.state.addMode === false && this.props.data.isAdmin === true ?\n :\n null;\n\n\n /* this.handleMerge() || this.props.onNavigationEvent(event)} />*/\n mergeLicensesButton = this.props.data.detailType === 'License' && this.state.addMode === false && this.props.data.isAdmin === true && (typeof (this.props.data.list) !== 'undefined') && this.props.data.list.length > 1\n ? \n
\n
\n
\n {backButton}\n {passwordSettingsButton}\n {toggleAddButton}\n {hiddenAddLicenseButton}\n {mergeLicensesButton}\n {licenseManagementButton}\n {title}\n
\n
\n {licenseFilter}\n
\n
\n {passwordSettingsView}\n {addLicenseForm}\n {productDetailForm}\n {usersGrid}\n {productGrid}\n {userInformationForm}\n {licenseRows}\n
\n
\n {licenseUsageRows}\n {addLicenseUserForm}\n
\n \n );\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) }\n }\n}\n\nexport default withRouter(connect(null, mapDispatchToProps)(ContentBlockList));\n","import React from 'react';\n\nimport axios from 'axios';\n\nimport { Link } from 'react-router-dom';\n\nimport ContentBlockList from './ContentBlockList';\nimport License from './License';\n\nconst buttonMenuStyle = {\n backgroundImage: 'url(\"/img/menu-button.png\")'\n}\n\nclass Application extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n expand: false,\n data: { list: [], detailType: 'License', title: 'Licenses' },\n };\n this.getDetailType = this.getDetailType.bind(this);\n this.detailType = this.detailType.bind(this);\n this.getUrl = this.getUrl.bind(this);\n this.getTitle = this.getTitle.bind(this);\n this.loadLicensesFromServer = this.loadLicensesFromServer.bind(this);\n this.handleLogout = this.handleLogout.bind(this);\n this.toggleNav = this.toggleNav.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleClickOutside = this.handleClickOutside.bind(this);\n }\n\n getDetailType() {\n if (typeof this.props.match.params.detailName == 'undefined') return 'License';\n switch (this.props.match.params.detailName) {\n case 'Users': return 'User';\n case 'Licenses': return 'License';\n case 'ManageUsers': return 'ManageUser';\n case 'Products': return 'Product';\n case 'PasswordSettings': return 'PasswordSetting';\n default: return this.props.match.params.detailName;\n }\n }\n\n getUrl(detailType) {\n switch (detailType) {\n case 'User': return 'Users';\n case 'License': return 'Licenses';\n case 'PasswordSetting': return 'PasswordSettings';\n default: return detailType;\n }\n }\n\n getTitle(detailType) {\n switch (detailType) {\n case 'User': return 'Users';\n case 'MyAccount': return 'My Profile';\n case 'License': return 'Licenses';\n case 'ManageUser': return 'Manage Users';\n case 'Product': return 'Products';\n case 'PasswordSetting': return 'Password Setting';\n default: return '';\n }\n }\n\n toggleNav() {\n this.setState({\n expand: !this.state.expand\n });\n document.body.classList.toggle('push__left');\n }\n\n loadLicensesFromServer() {\n let detailType = this.getDetailType();\n const self = this;\n return axios.get('/api/Licenses', { params: { version: Math.random() } })\n .then(function (response) {\n if (response) {\n self.setState({\n data:\n {\n userName: self.props.userName,\n isAdmin: self.props.isAdmin,\n list: response.data,\n detailType: detailType,\n title: self.getTitle(detailType),\n reactClass: detailType === 'License' ? License : null\n }\n });\n }\n\n })\n .catch(function (e) {\n console.error(self.props.match.url, e.status, e.toString());\n\n });\n }\n\n componentDidMount() {\n if (!this.props.isAdmin) {\n this.loadLicensesFromServer();\n } else {\n let detailType = this.getDetailType();\n this.setState({\n data:\n {\n userName: this.props.userName,\n isAdmin: this.props.isAdmin,\n list: [],\n detailType: detailType,\n title: this.getTitle(detailType),\n reactClass: true\n }\n });\n }\n document.addEventListener('click', this.handleClickOutside);\n }\n\n componentWillUnmount() {\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n handleClickOutside(event) {\n if (event.target.tagName.toLowerCase() !== 'nav' && event.target.tagName.toLowerCase() !== 'svg' && event.target.tagName.toLowerCase() !== 'use' && document.body.classList.contains('push__left')) {\n this.setState({\n expand: !this.state.expand\n });\n document.body.classList.toggle('push__left');\n }\n }\n\n handleLogout(e) {\n const self = this;\n this.toggleNav();\n e.preventDefault();\n return axios.post('/api/Logout')\n .then(function () {\n self.props.onUserChange();\n document.cookie = '';\n self.props.history.push('/');\n }).\n catch(function () {\n console.error(e);\n })\n }\n handleClick() {\n this.toggleNav();\n this.moveToDetail('License');\n }\n\n detailType = function (type) {\n this.setState((prevState) => ({\n data: {\n ...prevState.data,\n detailType: type,\n title: this.getTitle(type)\n }\n }));\n }\n\n moveToDetail(detail) {\n this.detailType(detail);\n this.props.match.params.detailName = detail;\n }\n\n render() {\n const navClass = this.state.expand ? 'nav is__visible' : 'nav';\n const contentStyle = this.state.data.detailType === 'License' ? { width: \"100%\", marginLeft: \"0px\", marginRight: \"0px\", maxWidth: \"none\" } : {};\n const whiteSectionStyle = this.state.data.detailType === 'License' ? { width: \"99%\", maxWidth: \"none\" } : {};\n return (\n
\n
\n
\n \n Information Mapping Logo\n \n
\n \n \n
\n

FS Pro Console

\n
\n \n
\n
\n
\n

Welcome to the FS Pro Console. Here you can manage your licenses.

\n\n
\n
\n
\n \n
\n
\n );\n }\n}\n\nexport default Application;\n","import React from 'react';\n\nimport axios from 'axios';\n\n\nclass ForgotPassword extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n sending: false,\n email: \"\",\n sucess: false\n };\n this.handleEmailChange = this.handleEmailChange.bind(this);\n this.handleForgotPasswordSubmit = this.handleForgotPasswordSubmit.bind(this);\n }\n handleEmailChange(e) {\n this.setState({ email: e.target.value });\n }\n handleForgotPasswordSubmit(e) {\n e.preventDefault();\n this.setState({ sending: true });\n const self = this;\n return axios.post('/api/ForgotPassword', { Email: this.state.email })\n .then(function (login) {\n\n if (login) {\n self.setState({ email: '', sucess: true })\n self.setState({ sending: false })\n }\n })\n .catch(function (e) {\n console.error(e.status, e.toString());\n self.setState({ sending: false })\n });\n }\n\n render() {\n let success;\n let form;\n success = this.state.sucess ?
\n

Email Sent

\n
\n

An email with instructions on how to reset your password has been sent. Check your spam or junk folder if you don’t see the email in your inbox.

\n

If you no longer have access to this email account, please contact us.

\n Return to login\n
\n
: '';\n form = !this.state.sucess ?
\n

Having trouble signing in?

\n

Enter your email address.

\n
\n
\n \n \n

We will send you an email with instructions on how to reset your password.

\n {(this.state.sending) ? : }\n
\n
\n
: '';\n\n return (\n
\n \n
\n {success}\n {form}\n
\n
\n );\n }\n}\n\nexport default ForgotPassword;\n","import { stat } from 'fs';\nimport React from 'react';\nimport { connect } from 'react-redux';\nimport { Dimmer, Header, Icon, Modal, Segment } from 'semantic-ui-react';\n\nclass LoadingPage extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n loadingState: false\n };\n }\n componentDidMount() {\n }\n\n\n\n render() {\n const { loadingState } = this.state\n const loadingLabelStyle = { top: '-60px', right: '409px' };\n return \n
\n
\n

\n

Loading...

\n
\n
\n
;\n }\n}\n\nconst mapStateToProps = function (state) {\n return {\n loading: state.application.loading\n }\n}\n\nexport default connect(mapStateToProps)(LoadingPage)","export const convertToForm = (fields) => {\n const data = new FormData();\n\n Object.keys(fields).forEach(function(key,index) {\n const value=fields[key];\n data.append(key,typeof value === 'object' ? convertToForm(value) : value)\n });\n\n return data;\n };","import { createBrowserHistory } from \"history\";\nexport default createBrowserHistory();\n","import axios from 'axios';\n\nimport history from './history';\n\nconst handleStatusCodes = function ({ data, status, ...rest }) {\n switch (status) {\n case 401:\n if (!window.location.href.toLocaleLowerCase().includes('login')) {\n history.push('/login');\n } else {\n return { data, status, ...rest };\n }\n break;\n case 403:\n return { error: 'forbidden' };\n case 404:\n history.push('/404');\n return;\n case 500:\n console.error(`status ${status}: ${JSON.stringify(data)}`);\n history.push('/500');\n return;\n default:\n console.error(`status ${status}: ${JSON.stringify(data)}`);\n return { data, status, ...rest };\n }\n};\nconst baseUrl = \".\";\n\nconst BEConfig = {\n baseURL: `${baseUrl}/api`,\n};\n\nconst processResponse = function (response) {\n return response.data\n};\n\n\nconst addConfiguration = function (params) {\n return ({ ...BEConfig, ...params });\n}\n\nconst handleError = (error) => {\n if (error.response) {\n throw handleStatusCodes(error.response);\n }\n if (error.request) {\n console.error(error.request);\n throw new Error('The request was made but no response was received');\n }\n console.error('Error', error.message);\n console.error(error.config);\n throw new Error(\n 'Something happened in setting up the request that triggered an Error'\n );\n};\n\nconst request = function (config) {\n return axios\n .request(addConfiguration(config))\n .then(processResponse)\n .catch(handleError);\n}\n\nexport { request };\n","import Axios from 'axios';\n\nimport { convertToForm } from '../Utilities/Utils';\n\nimport { request } from './http';\n\nconst itemPrefix = 'Authenticate';\n\nexport const authenticateZendDesk = function (data) {\n return request({\n url: `${itemPrefix}/Zendesk`,\n method: 'POST',\n data:convertToForm(data)\n });\n}","import '@fortawesome/fontawesome-free';\n\nimport React from 'react';\n\nimport axios from 'axios';\n\nimport { Link, Route, withRouter } from 'react-router-dom';\nimport * as authenticateHttp from '../application/Services/authenticateHttp'\nimport { getCookieByName } from './utility/Helper';\nimport { bindActionCreators, compose } from 'redux';\nimport applicationActionCreator, { actions } from '../redux/actions/applicationActions';\nimport { connect } from 'react-redux';\nimport { useRef } from 'react'\n\nclass Login extends React.Component {\n constructor(props) {\n super(props);\n const { match: { params: { tokenExternalId, provider } = {} } = {} } = props;\n this.tokenExternalId = tokenExternalId;\n this.jwtZendeskFormRef = React.createRef();\n this.jwtZendeskInputRef = React.createRef();\n this.state = {\n loginFailed: false,\n userName: '',\n password: '',\n errorMessage: '',\n rememberPasswd: false,\n isEncodedPasswd: false,\n provider\n };\n this.handleUserChange = this.handleUserChange.bind(this);\n this.handlePasswordChange = this.handlePasswordChange.bind(this);\n this.onLoginFailed = this.onLoginFailed.bind(this);\n if (provider === \"Zendesk\") {\n this.handleLoginSubmit = this.handleLoginSubmitZendDesk.bind(this);\n }\n else {\n this.handleLoginSubmit = this.handleLoginSubmit.bind(this);\n }\n this.handleLoginFailed = this.handleLoginFailed.bind(this);\n this.forgotPasswordHandleClick = this.forgotPasswordHandleClick.bind(this);\n this.handleRememberPasswd = this.handleRememberPasswd.bind(this);\n this.handlePasswdFieldFocus = this.handlePasswdFieldFocus.bind(this);\n }\n\n forgotPasswordHandleClick() {\n\n }\n handleUserChange(e) {\n this.setState({ userName: e.target.value });\n }\n handlePasswordChange(e) {\n this.setState({ password: e.target.value, isEncodedPasswd: false });\n }\n handleLoginFailed(errorMessage = '') {\n if (errorMessage === '')\n errorMessage = 'Sign in failed! Please check your credentials and try again.';\n\n this.setState({ loginFailed: true, errorMessage: errorMessage });\n }\n\n handleSuccessMessage(message = '', title = '') {\n this.setState({ success: { message, title } });\n }\n\n handleRememberPasswd(e) {\n this.setState({\n rememberPasswd: !this.state.rememberPasswd\n });\n }\n\n handlePasswdFieldFocus(e) {\n var passFromCookie = getCookieByName(\"encpssw_\" + this.state.userName);\n if (passFromCookie && passFromCookie != null && passFromCookie != \"\") {\n this.setState({ isEncodedPasswd: true, password: passFromCookie });\n }\n\n }\n handleLoginSubmitZendDesk = function (e) {\n e.preventDefault();\n const authParams = { email: this.state.userName, password: this.state.password }\n const self = this;\n authenticateHttp.authenticateZendDesk(authParams)\n // https://informationmapping.atlassian.net/browse/FPC-78\n // https://support.zendesk.com/hc/en-us/articles/4408845838874-Enabling-JWT-single-sign-on?elqTrackId=4ac71663aba14c86b01f8fbecda963b8&elq=7b46cb2a87fd4b44a27d9a40e4207e4f&elqaid=83119&elqat=1&elqCampaignId=15145#topic_w5x_1fh_3fb\n // https://github.com/zendesk/zendesk_jwt_sso_examples/blob/master/form_submission/react_jwt.jsx\n .then(function (zendDeskUrl) {\n const arr = zendDeskUrl.split('=');\n const jwtUrl = arr[0];\n const searchParams = new URLSearchParams(zendDeskUrl);\n const jwt = searchParams.get(jwtUrl);\n\n self.jwtZendeskInputRef.current.value = jwt;\n self.jwtZendeskFormRef.current.submit();\n return zendDeskUrl;\n })\n .then(function (a)\n {\n window.location.href = a;\n }\n )\n .catch(self.onLoginFailed);\n }\n\n handleLoginSubmit = function (e) {\n this.setState({ success: null });\n e.preventDefault();\n this.props.showLoading(\"SubmitLogin\");\n const self = this;\n let promise = null;\n if (this.tokenExternalId) {\n promise = axios.post(`/api/ExternalAuthenticate/${this.tokenExternalId}`, { Email: this.state.userName, Password: this.state.password })\n .then(function (response) {\n self.handleSuccessMessage(response.headers.location, \"Redirecting...\");\n self.setState({ redirectUrl: response.headers.location });\n })\n }\n else {\n promise = axios.post('/api/Authenticate', { Email: this.state.userName, Password: this.state.password, RememberPassword: this.state.rememberPasswd, IsEncodedPassword: this.state.isEncodedPasswd })\n .then(function () {\n self.props.onUserChange();\n self.props.onUserLogined();\n });\n }\n promise\n .catch(self.onLoginFailed)\n .then(function () {\n self.props.hideLoading(\"SubmitLogin\");\n });\n }\n\n onLoginFailed = function (ex) {\n let errorMessage = '';\n const self = this;\n if (ex && ex.response && ex.response.status === 423) {\n errorMessage = ex.response.data;\n if (errorMessage.includes('Password had expired'))\n return axios.post('/api/ForgotPassword', { Email: self.state.userName })\n .then(function (login) {\n if (login)\n self.setState({ userName: '', password: '' });\n })\n .catch(function (e) {\n })\n .then(function () {\n self.handleLoginFailed(errorMessage);\n });\n } else {\n self.handleLoginFailed(errorMessage);\n }\n }\n\n\n render() {\n const { success, redirectUrl, provider } = this.state;\n const subdomain = 'support.informationmapping.com';\n // The subdomain support is actually a CNAME of the other one.\n // CNAME support informationmapping.zendesk.com\n\n if (redirectUrl)\n return {\n window.location.href = redirectUrl;\n return null;\n }} />\n return (\n
\n \n
\n
\n

Welcome to the FS Pro Console. Here you can manage your licenses.

\n
\n
\n
\n
\n {(this.state.loginFailed) ?\n
\n
Login Error
\n

{this.state.errorMessage}

\n
: ''}\n {(success) ?\n
\n
{success.title}
\n

{success.message}

\n
: ''}\n

Log In

\n
\n
\n \n \n \n \n
\n
\n
\n
Forgot Password?
\n
\n\n \n\n
\n\n
\n\n {/* The payload must be base64-encoded and submitted via a form submission from a client.\n Submitting the payload with a client-side AJAX, fetch, or axios request won't work because the request will be blocked by the client's same-origin policy.*/}\n
\n \n
\n\n
\n
\n
\n );\n }\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) }\n }\n}\nexport default withRouter(connect(null, mapDispatchToProps)(Login));\n","import React from 'react';\n\nimport axios from 'axios';\n\nclass VerificationCode extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n verificationCode: \"\"\n };\n this.onLogOutClickHandler=this.onLogOutClickHandler.bind(this);\n }\n componentDidMount() {\n }\n\n onSendCodeClickHandler = () => {\n var self = this;\n this.props.showErrorMessage(\"\");\n const sender = axios.get(`/api/Authenticate/VerifyCode?code=${this.state.verificationCode}`);\n if (sender)\n sender\n .then(function () {\n self.props.onUserChange();\n })\n .catch(function (error) {\n self.props.showErrorMessage(error.response.data)\n });\n }\n\n onLogOutClickHandler = function () {\n const self = this;\n \n return axios.post('/api/Logout').then(function (response) {\n\n if (response) {\n self.props.onUserChange();\n window.location.href = '/';\n }\n }).catch(function (e) {\n console.error(e);\n });\n }\n\n handleVerificationCodeSubmit = () => {\n this.props.showErrorMessage(\"The code sent is incorrect\");\n this.setState({ sending: true, verificationCode: \"\" })\n }\n\n handleVerificationCodeChanged = (e) => {\n e.preventDefault();\n this.setState({ verificationCode: e.target.value })\n }\n\n onSendSmsVerificationClickHandler = (e) => {\n e.preventDefault();\n var self = this;\n const sender = axios.get('/api/Authenticate/SendSms');\n if (sender)\n sender\n .then(function () {\n self.props.showSuccessMessage(\"A code was already sent to your phone.\")\n })\n .catch(function (error) {\n self.props.showErrorMessage(error.response.data)\n });\n }\n onSendEmailVerificationClickHandler = (e) => {\n e.preventDefault();\n var self = this;\n const sender = axios.get('/api/Authenticate/SendEmail');\n if (sender)\n sender\n .then(function () {\n self.props.showSuccessMessage(\"A code was sent to your email.\")\n })\n .catch(function (error) {\n self.props.showErrorMessage(error.response.data)\n });\n }\n render() {\n let verificationView = (\n
\n
\n

We will send you a verfication Message.

\n\n {(this.state.sending) ? \n :
\n \n
\n \n
}\n
\n\n \n \n
Or use
\n
\n \n
\n \n
\n
Or
\n \n
\n
\n );\n return verificationView;\n }\n}\n\nexport default VerificationCode;\n","import React from 'react';\nimport { withRouter } from 'react-router-dom';\n\n\nclass ViewDetailWrapper extends React.Component {\n constructor(props) {\n const errorUrlMessage = new URLSearchParams(props.location.search).get(\"error\");\n super(props);\n this.state = {\n errorMessage: errorUrlMessage === null ? \"\" : errorUrlMessage,\n successMessage: '',\n };\n }\n showSuccessMessage = (msg) => {\n this.setState({ successMessage: msg, errorMessage: \"\" });\n }\n showErrorMessage = (msg) => {\n this.setState({ errorMessage: msg, successMessage: \"\" });\n }\n\n render() {\n const self = this;\n return (\n
\n \n
\n
\n

{this.props.headerMessage}

\n
\n
\n
\n
\n {(this.state.errorMessage !== \"\") ?\n
\n
Verification Login
\n

{this.state.errorMessage}

: ''}\n {(this.state.successMessage !== \"\") ?\n
\n
Verification Login
\n

{this.state.successMessage}

: ''}\n {React.cloneElement(\n this.props.children,\n {\n showErrorMessage : this.showErrorMessage,\n showSuccessMessage: this.showSuccessMessage,\n history: self.props.history\n })}\n
\n
\n
\n );\n }\n}\n\nexport default withRouter( ViewDetailWrapper);\n","import React from 'react'\nimport { connect } from 'react-redux'\nimport { SemanticToastContainer, toast } from 'react-semantic-toasts'\n\nfunction IMToastr(props) {\n\n if (props.success) {\n\n toast({\n type: \"success\",\n icon: \"check\",\n title: props.success.title,\n description: props.success.message,\n animation: 'bounce',\n time: 5000,\n onClick: function () { console.log(`toast was clicked by user. title: `) },\n onClose: function () { console.log(`toast was closed. title: `) }\n })\n } else if (props.error) {\n\n toast({\n type: \"error\",\n icon: \"times\",\n title: props.error.title,\n description: props.error.message,\n animation: 'bounce',\n time: 5000,\n onClick: () => console.log(`toast was clicked by user. title: `),\n onClose: () => console.log(`toast was closed. title: `)\n }\n );\n }\n\n return (\n \n )\n}\n\nconst mapStateToProps = function (state) {\n return {\n success: state.application.toast.success,\n error: state.application.toast.error,\n }\n}\n\nexport default connect(mapStateToProps)(IMToastr);","import React from 'react'\nimport { withRouter } from 'react-router-dom';\nimport queryString from 'query-string'\n\nconst defaultUrlHome = \"https://informationmapping.com\";\n\nfunction Logout(props) {\n const provider = props.match.params.provider\n const { [\"url-home\"]: urlHome = defaultUrlHome, kind: title = \"Logout\", message } = queryString.parse(props.location.search);\n\n let content = <>You are logged out from {provider};\n\n if (message) {\n content = message\n }\n\n if (urlHome) {\n setTimeout(function () {\n window.location.href = urlHome;\n }, 5000)\n }\n\n return (\n
\n
\n
\n

{title[0].toUpperCase() + title.substring(1)}

\n
{content}.

\n
\n {title === \"error\" && <>If you see this message please contact our support team: support@informationmapping.com}


\n {urlHome && Return to home}\n
\n
\n
\n
\n )\n}\n\n\n\nexport default withRouter(Logout);","import React from 'react';\n\nimport axios from 'axios';\n\nimport { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom';\nimport { Modal, Button, Grid } from 'semantic-ui-react';\n\nimport Index from '../application/Index';\n\nimport Application from './Application';\nimport ForgotPassword from './ForgotPassword';\nimport LoadingPage from './LoadingPage';\nimport Login from './Login';\nimport ResetPassword from './ResetPassword';\nimport VerificationCode from './VerificationCode';\nimport ViewDetailWrapper from './ViewDetailWrapper';\nimport { connect } from 'react-redux';\nimport { applicationActionCreator } from '../redux/actions/applicationActions'\nimport IMToastr from '../application/Components/IM/IMToastr';\nimport Logout from './Logout';\n\nexport let factoryGeneralState, onUserChange;\n\nclass Main extends React.Component {\n constructor(props) {\n super(props);\n this.userName = \"\";\n this.state = {\n authenticated: false,\n tried: false,\n needVerification: false,\n data: {},\n showCountryCodeFillMsg: false\n };\n this.loadCurrentUser = this.loadCurrentUser.bind(this);\n this.closeCountryCodeFillMsg = this.closeCountryCodeFillMsg.bind(this);\n this.componentDidMount = this.componentDidMount.bind(this);\n let self = this;\n\n onUserChange = self.loadCurrentUser;\n factoryGeneralState = (viewName) => {\n return {\n get data() {\n let value = self.getGeneralState(`${viewName}View`);\n if (value === undefined)\n return {};\n else\n return value;\n },\n set data(value) {\n self.saveToGeneral(`${viewName}View`, value)\n }\n }\n }\n this.events = [\n \"load\",\n \"mousemove\",\n \"mousedown\",\n \"click\",\n \"scroll\",\n \"keypress\"\n ];\n\n this.logout = this.logout.bind(this);\n this.loadCurrentUser = this.loadCurrentUser.bind(this);\n this.resetTimeout = this.resetTimeout.bind(this);\n\n for (var i in this.events) {\n window.addEventListener(this.events[i], this.resetTimeout);\n }\n\n this.setTimeout();\n }\n\n clearTimeout() {\n if (this.logoutTimeout) clearTimeout(this.logoutTimeout);\n }\n\n setTimeout() {\n this.logoutTimeout = setTimeout(this.logout, 1800 * 1000); //30min\n }\n\n resetTimeout() {\n this.clearTimeout();\n this.setTimeout();\n }\n\n logout = function () {\n const self = this;\n return axios.post('/api/Logout')\n .then(function () {\n self.setState({ authenticated: false, tried: true, data: { name: \"\" } });\n self.destroy(); // Cleanup\n })\n .catch(function (e) {\n\n self.setState({ authenticated: false, tried: true, data: { name: \"\" } });\n console.error(e);\n });\n }\n\n destroy() {\n this.clearTimeout();\n\n for (var i in this.events) {\n window.removeEventListener(this.events[i], this.resetTimeout);\n }\n }\n\n saveToGeneral = (viewName, data = null) => {\n let newState = null;\n if (data !== null) {\n let viewState = this.state[viewName];\n newState = { ...viewState, ...data };\n }\n this.setState({ [viewName]: newState });\n }\n\n getGeneralState = function (viewName) {\n return this.state[viewName];\n }\n\n loadCurrentUser = function () {\n const self = this;\n axios.get('/api/CurrentUser', { params: { version: Math.random() } })\n .then(function (user) {\n\n if (user) {\n let userData;\n if (user.data != null) {\n if (user.data.needVerification) {\n userData = { authenticated: true, needVerification: true, data: { name: \"\" }, sms: user.data.sms };\n } else {\n userData = { authenticated: true, tried: true, needVerification: false, data: user.data };\n }\n // Country field is empty. Therefore, need to ask of user to fill it.\n if (self.checkCountryCode && !userData.data.countryCode) {\n self.userName = userData.data.name;\n self.setState({ showCountryCodeFillMsg: !self.state.showCountryCodeFillMsg });\n }\n } else {\n userData = { authenticated: false, tried: true, data: { name: \"\" } };\n }\n self.props.onSetCurrentUser(userData);\n self.setState(userData);\n }\n })\n .catch(function (e) {\n self.setState({ authenticated: false, tried: true, data: { name: \"\" } });\n console.error(e);\n\n })\n }\n\n componentDidMount = () => {\n this.loadCurrentUser();\n }\n\n handleClick = () => {\n this.props.onNavigationEvent();\n }\n\n closeCountryCodeFillMsg = () => {\n const self = this;\n self.setState({ showCountryCodeFillMsg: false });\n }\n\n render() {\n let mainApp =
;\n\n const pathname = window.location.pathname;\n\n if (pathname.startsWith('/account/login/referer')) {\n mainApp =\n \n \n \n \n \n ;\n } else if (this.state.needVerification && this.state.authenticated) {\n mainApp = \n \n \n \n \n \n \n \n \n } />\n \n ;\n }\n else if (this.state.authenticated) {\n mainApp =\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ;\n }\n else if (this.state.tried) {\n mainApp =\n \n \n \n \n \n \n this.checkCountryCode = true} />} />\n \n ;\n } else {\n mainApp =
;\n }\n return
\n \n \n {mainApp}\n this.setState({ showCountryCodeFillMsg: false })}>\n We want to improve your experience\n \n \n \n \n

Hi {this.userName},

\n For a tailored experience, we'd like to know which country you're from. It'll only take a moment! Please update your country in the settings.\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n Thank you for being a part of our community!\n Your privacy is important to us. Click to read our Privacy Policy\n \n
\n
\n
\n
\n
;\n }\n}\nconst NoMatch = ({ location }) => (\n
\n

No match for {location.pathname}

\n
\n);\n\nconst renderMergedProps = (component, ...rest) => {\n const finalProps = Object.assign({}, ...rest);\n return (\n React.createElement(component, finalProps)\n );\n};\n\nconst PropsRoute = ({ component, ...rest }) => {\n return (\n {\n return renderMergedProps(component, routeProps, rest);\n }} />\n );\n};\n\n\nfunction mapDispatchToProps(dispatch) {\n return {\n showLoading: function (caller) { return dispatch(applicationActionCreator.showLoading(caller)) },\n hideLoading: function (caller) { return dispatch(applicationActionCreator.hideLoading(caller)) },\n onSetCurrentUser: function (payload) {\n dispatch(applicationActionCreator.setCurrentUser(payload))\n }\n }\n}\n\nexport default connect(null, mapDispatchToProps)(Main);\n","import { actions } from \"../actions/applicationActions\"\n\nconst initialState = {\n currentUser: {},\n loading: {\n queue: [],\n loading: false\n },\n toast: {}\n}\n\nexport const applicationReducer = (state = initialState, { type, payload }) => {\n switch (type) {\n\n case actions.setCurrentUser:\n return { ...state, currentUser: { ...payload } }\n case actions.hideLoading:\n return {\n ...state, loading: {\n queue: state.loading.queue.filter(function (current) { return current !== payload }),\n loading: false\n }\n }\n case actions.showLoading:\n return {\n ...state, loading: {\n queue: [...state.loading.queue, payload],\n loading: true\n }\n }\n case actions.errorNotification:\n return {\n ...state, loading: {\n queue: [...state.loading.queue, payload],\n loading: true\n }\n }\n case actions.notification:\n return {\n ...state, toast: payload\n }\n default:\n return state\n }\n}\n","import { combineReducers, createStore } from \"redux\";\n\nimport { applicationReducer } from \"./applicationReducers\";\n\n\nconst reducers = combineReducers({\n application: applicationReducer\n});\n\nexport const store = createStore(reducers, /* preloadedState, */\n 0 + window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());\n\nexport default store;","import React from 'react';\n\nimport ReactDOM from 'react-dom';\n\nimport 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\n\nimport Main from './components/Main';\nimport './scss/app.scss';\nimport { Provider } from 'react-redux';\nimport store from './redux/reducers/index'\n\nconst rootElement = document.getElementById('app');\n\nReactDOM.render(\n \n
\n , rootElement);","module.exports = __webpack_public_path__ + \"static/media/check-solid.e7f9c5ff.svg\";","module.exports = __webpack_public_path__ + \"static/media/up-long-solid.8c32a08a.svg\";"],"sourceRoot":""}