{"version":3,"sources":["constants/env.ts","api/index.ts","assets/images/bg-box-search.svg","assets/images/bg-box-search-dark.svg","assets/images/bg-geometry.svg","assets/images/bg-geometry-dark.svg","constants/themeConfig.ts","providers/general.tsx","appStyles.ts","assets/images/tomoscan-logo-dark.svg","assets/images/tomoscan-logo-light.svg","common/Header/headerStyles.ts","common/Header/Header.tsx","assets/images/ic-discord.png","assets/images/ic-twitter.png","assets/images/ic-telegram.png","assets/images/ic-github.png","assets/images/metamask.svg","common/Footer/footerStyles.ts","constants/index.ts","common/Footer/Footer.tsx","assets/images/ic-list-block.svg","assets/images/ic-list-transactions.svg","features/general/homePageStyles.ts","app/hooks.ts","utils/index.ts","common/Tags.tsx","common/TypographyStyled.tsx","assets/images/status/verifiedandproject.svg","assets/images/status/verified.svg","assets/images/status/warning.svg","assets/images/status/verifiedLine.svg","common/CheckStatus.tsx","common/PageHeader.tsx","common/SearchBox/searchBoxStyled.ts","assets/images/token-tomo.png","common/TokenIcon.tsx","domainServices/index.ts","common/DomainNameIcon.tsx","common/SearchBox/SearchBox.tsx","common/SkeletonLoading.tsx","common/DataTable/dataTableStyles.ts","common/DataTable/DataTableLoading.tsx","common/DataTable/DataTablePagination.tsx","common/DataTable/DataTable.tsx","common/DataTable/DataTableTotal.tsx","common/AddressLink.tsx","common/ScrollToTop.tsx","common/TabsWithHash.tsx","assets/images/coin98.svg","assets/images/viction-wallet-logo.svg","assets/images/ramper-wallet-logo.svg","common/ModalWallet.tsx","common/ExportData.jsx","common/DatePicker.js","assets/images/ic-RightFilled.svg","common/ContractIconTooltip.tsx","common/DataTable/columnConfig.tsx","features/general/generalSlice.ts","features/blocks/blocksSlice.ts","features/transactions/transactionsSlice.ts","features/general/HomePage.tsx","features/transactions/TransactionListPage.tsx","assets/images/icon/icon-copy.svg","features/transactions/transactionDetailsPageStyles.ts","features/transactions/TransactionDetailsLogs.tsx","features/transactions/TransactionDetailsPage.tsx","features/blocks/blockListPageStyles.ts","features/blocks/BlockListPage.tsx","features/blocks/blockDetailsPageStyles.ts","features/blocks/BlockTransactionList.tsx","features/blocks/BlockDetailsPage.tsx","features/epochs/epochsSlice.ts","features/epochs/EpochListPage.tsx","features/epochs/epochDetailsPageStyles.ts","features/epochs/EpochDetailsReward.tsx","features/epochs/EpochDetailsSlashedNode.tsx","features/epochs/EpochDetailsPage.tsx","features/accounts/accountsSlice.ts","features/accounts/AccountListPage.tsx","assets/images/icon/icon-qrcode.svg","features/contracts/contractDetailsPageStyles.ts","features/contracts/contractsSlice.ts","features/contracts/ContractDetailsTxListTab.tsx","features/contracts/ContractEventLog.tsx","features/contracts/ContentOfTheContractTab.tsx","features/accounts/TotalTokenBalance.tsx","features/accounts/accountDetailsPageStyles.ts","features/accounts/ListTokenBalance.tsx","features/accounts/InternalTxns.tsx","features/accounts/VrcTokenTxns.tsx","features/accounts/UserRewards.tsx","features/contracts/ContractDetailsPage.tsx","features/accounts/AccountDetailsPage.tsx","features/masternodes/masternodesSlice.ts","features/masternodes/MasternodeListPage.tsx","features/contracts/ContractListPage.tsx","features/tokens/tokensSlice.ts","features/tokens/TokenListPage.tsx","features/tokens/tokenDetailsPageStyles.ts","features/tokens/TokenDetailsHolderList.tsx","features/tokens/Vrc2021TransferList.tsx","features/tokens/Vrc721TransferList.tsx","features/tokens/Vrc721InventoryList.tsx","features/tokens/ContractInfomation.tsx","features/tokens/Vrc2021Overview.tsx","features/tokens/Vrc2021MoreInfo.tsx","features/tokens/Vrc721Overview.tsx","features/tokens/Vrc721MoreInfo.tsx","features/tokens/TokenDetailsPage.tsx","features/tokens/TokenListVrc721Page.tsx","assets/images/404.svg","features/general/notFoundPageStyles.ts","features/general/NotFoundPage.tsx","features/contracts/ContractVerify.tsx","features/general/requestLimitStyles.ts","features/general/RequestLimit.tsx","assets/images/visual.svg","features/general/countDownPageStyleds.ts","features/general/CountDownPage.tsx","App.tsx","app/store.ts","serviceWorker.ts","index.tsx"],"names":["TOMOSCAN_API_V2_URL","RPC_ENDPOINT","CHAINID","env","window","process","_env$REACT_APP_RPC_EN","_Number","REACT_APP_TOMOSCAN_API_V2_URL","REACT_APP_RPC_ENDPOINT","Number","REACT_APP_CHAINID","async","fetchStats","axios","get","concat","fetchAccountDetails","address","fetchTokensInAccount","offset","arguments","length","undefined","limit","Colors","mode","text","textOverlay","bg","bg1","bg2","bg3","bg4","bgHover","trHover","bgImageSearch","bgBoxSearchDark","bgBoxSearch","bgImageFooter","bgGeometryFooterDark","bgGeometryFooter","qrc","bgWhite","border","border1","primary","primaryHover","textLink","primaryText","default","bgdefault","transfer","swap","apporve","in","bgin","out","bgout","up","down","fail","bgfail","success","bgsuccess","pending","bgpending","warning","redAlert","bgBtn","textBtn","bdBtn","bgBtnActive","bdBtnActive","textBtnActive","bgBtnDisable","textBtnDisable","GeneralContext","createContext","tomoTokenList","requestLimit","useGeneralContext","useContext","GeneralProvider","_ref","children","useSelector","state","general","theme","useMemo","setTomoTokenList","useState","getTomoTokenList","useCallback","response","fetchTomoTokenList","data","error","console","log","useEffect","_jsx","Provider","value","ThemeProvider","HelmetProvider","Layout","styled","div","attrs","props","className","_templateObject","_taggedTemplateLiteral","TabStyle","_templateObject2","_ref2","_ref3","_ref4","_ref5","_ref6","_ref7","Wrapper","header","ContentOnPC","NavBar","_templateObject3","MenuStyled","Menu","_templateObject4","ContentOnSP","_templateObject5","MenuMobile","_templateObject6","SubMenu","menu","_jsxs","triggerSubMenuAction","Item","Link","to","title","Header","current","setCurrent","Row","Col","src","LogoTomoscanLight","LogoTomoscan","alt","onClick","e","key","selectedKeys","subMenuOpenDelay","style","display","alignItems","CaretDownOutlined","marginLeft","marginBottom","gutter","justify","Dropdown","overlay","preventDefault","MenuOutlined","footer","Content","ListMenuFooter","EndFooter","ButtonStyled","Button","_ref8","_ref9","_ref10","_ref11","TextMain","span","_ref12","MAX_RECORD","supportedWalletOption","chainId","toString","chainName","nativeCurrency","name","symbol","decimals","rpcUrls","tagWarningAddress","link","tag","nonFungibleTokenStandard","fungibleTokenStandard","WalletAdapter","Text","Typography","Footer","Descriptions","Space","type","target","pathname","icDiscord","icTwitter","icTelegram","icGithub","ethereum","web3","Web3","networkId","request","method","params","alert","width","MetamaskLog","column","href","Date","getFullYear","ContentHomePage","InnerBox","ContentMainTop","ContentMainTable","SearchBoxWrapper","TitleSearch","MainDetailToken","_templateObject7","TitleBoxStart","_templateObject8","TitleHeaderBox","_templateObject9","InfoDetails","a","_templateObject10","CardBoxTable","_templateObject11","_ref13","_ref14","_ref15","CardTableContent","_templateObject12","useAppDispatch","useDispatch","useAppSelector","useStateDetails","getDetails","param","currState","dispatch","details","useQuery","URLSearchParams","useLocation","search","getContract","ABI","contractAddress","providers","HttpProvider","eth","Contract","toTomo","amount","BigNumber","toNumber","formatNumber","number","precision","formated","toFormat","match","replace","timeFormatUtc","timestamp","pattern","dateLocal","format","addMinutes","getTimezoneOffset","timeFormatDistance","time","formatDistance","addSuffix","truncateBetween","num","newText","slice","isAddress","utils","toLowerCase","TagStyled","Tag","TagStatusStyled","variant","TagUpDownStyled","Title","TextStyled","transform","color","TitleStyled","SubTitleStyled","TokenVerifiedIcon","PageTitle","CheckStatus","tokenStatus","contractVerified","isOnlyIcon","isContractVerified","projectVerified","isProjectVerified","isFull","isNothing","checkText","checkImg","isPer","isContract","isProject","icNothing","Tooltip","whiteSpace","fontSize","_Fragment","PageHeader","flexDirection","md","SearchBox","level","PageHeaderTokenDetail","_token$symbol","token","TokenIcon","size","toUpperCase","placement","AddressName","fontWeight","marginTop","textTransform","marginRight","TokenTypeTag","TagVRC20","TagVRC21","TagVRC721","TagVRC25","TagNative","_ref16","TagWarningAddress","_ref17","_ref18","FormStyled","Form","FormItemStyled","InputGroupStyled","Input","Group","InputStyled","ButtonSearch","ListWrapper","ListStyled","List","ListHeader","ListItemStyled","TokenHeader","TokenTitle","TokenExtension","_templateObject13","OneIdHeader","_templateObject14","_templateObject15","OneIdTitle","_templateObject16","OneIdExtension","_templateObject17","LogoStyle","setError","CopyrightOutlined","tomoLogo","height","onError","buildOneIdSuggestions","searchString","searchOneId","err","buildD3Domain","tldSupport","Error","id","trim","tldName","split","includes","domain","D3_API","headers","accept","searchD3","status","result","Answer","find","v","JSON","parse","domainName","DomainNameIcon","OneID","D3","TabPane","Tabs","SuggestionList","onSelect","total","tokens","oneIds","d3Domains","tab","itemLayout","bordered","dataSource","renderItem","item","wordBreak","oneId","_item$symbol","CheckCircleFilled","_item$symbol2","history","useHistory","suggestions","setSuggestions","setSearch","hasResult","Object","values","some","handleSuggestions","useDebouncedCallback","tokenSuggestions","tokenList","filter","_token$name","_token$address","sort","b","buildTokenSuggestions","keyword","oneIdSuggestions","d3Suggestions","handleOnSearch","push","resetState","placeholder","onChange","startsWith","onPressEnter","allowClear","icon","SearchOutlined","margin","SkeletonLoading","Skeleton","active","paragraph","rows","Divider","PaginationWrapper","ContentTable","TextSmall","TextLink","DataTableLoading","DataTablePagination","changePage","pagination","pages","disabled","currPage","StepBackwardOutlined","LeftOutlined","RightOutlined","StepForwardOutlined","Option","Select","DataTable","columns","loading","getData","showPagination","setPagination","numPerPage","utc","setUtc","maxRecord","Math","ceil","dir","map","index","rank","parsedColumns","Array","isArray","col","dataIndex","ClockCircleOutlined","render","formatUtc","onHeaderCell","Spin","Table","scroll","x","defaultValue","DataTableTotal","MAX_RECORD_ABBR","getLinkContent","truncate","AddressLink","tooltip","maxWidth","withRouter","unlisten","listen","scrollTo","Fragment","TabsWithHash","_hash","_search","tabsComp","TabsComp","activeTab","tabKeys","rest","hash","activeKey","setActiveKey","handleOnTabClick","onTabClick","ModalWallet","account","isConnected","setAccount","setIsConnected","isModalVisible","setIsModalVisible","connectCoin98","coin98","provider","getAccount","getAccounts","send","connectViction","viction","connectRamper","ramper2","selectWalletAdapter","_e$currentTarget$getA","parseInt","currentTarget","getAttribute","COIN98","VICTION","RAMPER","METAMASK","connectMetamask","ButtonConnect","showModal","ModalStyled","visible","onCancel","handleCancel","Coin98Logo","VictionLogo","RamperLogo","Modal","ExportStyled","ExportData","firstDay","lastDay","date","y","m","getMonth","UTC","getFirstAndLastDay","range","setRange","from","getTime","tokenAddress","setTokenAddress","DownloadOutlined","rel","layout","label","DatePicker","getUnixTime","generatePicker","dateFnsGenerateConfig","ContractIconTooltip","IconColor","FileTextOutlined","Paragraph","AddressWrapper","MethodTag","txColumns","record","InfoCircleOutlined","padding","textAlign","ellipsis","block","fromContract","fromName","align","icRightFilled","toContract","toName","fee","blockColumns","blockNumber","transactions","m1Name","m1","gasUsed","totalFee","epochColumns","epoch","startBlock","endBlock","duration","masternode","voterNumber","slashednode","epochRewardColumns","validator","reward","tokenColumns","_record$symbol","justifyContent","price","changePercentage","abs","volume","marketcap","holder","token721Columns","transferCount","totalSupplyNumber","tokenHolderColumns","position","left","top","paddingLeft","accountName","quantity","valueUsd","percentage","token721InventoryColumns","_record$tokenIdString","_record$tokenIdString2","tokenIdString","tokenId","tokenTransferColumns","_query$get","location","_query$get2","tokenTransferVrc721Columns","_query$get3","_query$get4","masternodeColumns","capacity","owner","slashedColumns","accountColumns","balanceNumber","txCount","columnsBalance","tokenName","tokenSymbol","tokenType","columnsTransactions","columnsTxns","arrowIcon","ArrowRightOutlined","columnsRewards","ep","accountVrcTokenTxnsColumns","thisAccount","strong","italic","contractColumns","balance","compiler","getStats","createAsyncThunk","thunkAPI","rejectWithValue","generalSlice","createSlice","initialState","stats","reducers","changeMode","action","payload","resetStats","extraReducers","builder","addCase","fulfilled","marketCap","multipliedBy","circulatingSupply","rejected","actions","persistConfig","storage","whitelist","persistReducer","reducer","getBlockDetailsByNumberOrHash","blockNumberOrHash","fetchBlockDetailsByNumberOrHash","getTxListByBlock","fetchTxListByBlock","getBlockList","author","fetchBlockList","blocksSlice","list","resetBlockList","getTxDetailsByHash","fetchTxDetailsByHash","getTxList","fetchTxList","getInternalTx","fetchTxInternal","transactionsSlice","internalTx","resetTxList","reduce","acc","curr","HomePage","_stats$data","_stats$data2","_stats$data3","_stats$data4","_stats$data5","_stats$data6","_stats$data7","blocks","txs","timerInterval","setInterval","clearInterval","xs","tps","accounts","lg","icListBlock","tx","icListTransactions","TransactionList","Datatable","MainDetailsTransfer","TxtColStyle","ValueRow","BoxItemLog","DataType","ButtonType","button","TextInfoTable","Status","TextOverlay","LoadMoreBtn","StyleCopyIcon","TimeStyle","TopicRender","topicType","setTopicType","onClickType","decodedTopics","t","i","topics","topic","topicIdx","DataRender","newParam","forEach","p","indexed","decodedData","TransactionDetailLogs","setOffset","logs","setLogs","logIdx","getParams","logArr","functionName","TransactionDetailsTransfer","_data$to","isCopied","setCopied","useParams","getInternalTxData","Redirect","valueInUsd","times","TOMOPrice","toAddress","feePayer","isGasSponsored","Helmet","CopyToClipboard","onCopy","onMouseEnter","iconCopy","CloseCircleFilled","failReason","BlockOutlined","latestBlock","flexWrap","internal","gap","SwapRightOutlined","inPoolToken","tokenDecimals","outPoolToken","lpName","lp","mint_add_liquidity","token0Amount","token0Decimals","token0Symbol","token0Address","token1Amount","token1Decimals","token1Symbol","token1Address","burn_remove_liquidity","_item$data","_item$data2","_tokenId$toString","_tokenId$toString2","_tokenId$toString3","_item$data$from","_item$data$to","_item$data3","longTokenId","tokenIdText","CaretRightOutlined","String","TokenTomo","gasPrice","gas","nonce","transactionIndex","TxDetailsInputData","isDecode","setIsDecode","encodedInput","decodedInput","keys","inputDataSource","inputData","join","methodId","inputDataColumns","maxHeight","overflowY","input","toLocaleString","PositionStyled","ButtonSubmit","BlockListPage","getAuthor","setAuthor","onFinish","autoComplete","MainDetails","BoxTableBefore","BoxTableAfter","_ref19","BlockDetailsOverview","internalTxCount","parentHash","stateRoot","m2","m2Name","gasLimit","finality","totalDifficulty","extraData","BlockTransactionList","getEpochList","fetchEpochList","getEpochDetailsByNumber","epochNumber","fetchEpochDetailsByNumber","getEpochDetailsReward","rewardType","fetchEpochDetailsReward","initialListState","voter","foundation","epochsSlice","resetEpochList","meta","arg","EpochsList","BoxContentPlaceHolder","InnerPlaceHolder","BoxContentTable","EpochDetailsReward","epochs","newData","age","EpochDetailsSlashedNode","EpochDetailsPage","startTime","endTime","totalReward","getAccountList","fetchAccountList","stastsResponse","getAccountDetails","getTokensInAccount","getTokensInAccountForDropdown","getTokenInternalTx","fetchInternalTx","getUserRewards","fetchUserRewards","getTokenTransactions","fetchTokenTransactions","getVrcTokenTransactions","fetchVrcTokenTransactions","accountsSlice","tokensInAccount","usdValue","tokensInAccountForDropdown","userReward","vrcTokenTxns","resetAccountList","resetAccountDetail","tomoInUsd","tomoPrice","transactionTag","TextArea","NoteInfo","ContractSource","pre","AddressBox","Center","SwitchButton","_ref20","_ref21","_ref22","Cards","CardHeader","_ref23","_ref24","CardContent","_templateObject18","_ref25","_ref26","_ref27","FormGroup","_templateObject19","_ref28","_ref29","FormItem","_templateObject20","_ref30","_ref31","_ref32","_templateObject21","_ref33","_ref34","_ref35","TextAreaStyled","_templateObject22","_ref36","_ref37","_ref38","SelectStyled","_templateObject23","_ref39","_ref40","_ref41","_ref42","ButtonQuery","_templateObject24","_ref43","_ref44","_ref45","LinkStyled","_templateObject25","_ref46","_templateObject26","_ref47","_templateObject27","_templateObject28","_ref48","_ref49","Box","_templateObject29","_ref50","FieldExtend","_templateObject30","_ref51","_templateObject31","_ref52","AddSource","_templateObject32","_ref53","_ref54","_ref55","StatusStyled","_templateObject33","_ref56","getContractList","_templateObject34","_ref57","fetchContractList","getContractDetailsByAddress","msg","getTxListByAddress","fetchTxListByAdddress","getEventLogs","fetchContractEventLogs","contractsSlice","eventLogs","resetContractList","balanceInUsd","ContractDetailsTxListTab","contracts","ContractEventLogs","FormReadRender","contract","dataResult","setDataResult","isLoading","setIsLoading","formatData","convertParams","endsWith","methods","call","outputs","output","outputRs","stringify","message","inputs","htmlType","d","k","fontStyle","ReadDataOutput","setData","fetchData","s","j","indexOf","val","FormWriteRender","abiCode","_value$payableValue","payableValue","sendData","estGas","estimateGas","transactionHash","stateMutability","SolidityRender","copied","CodeFilled","content","ContentOfTheContractTab","_data$contractData","_data$contractData$pr","_data$contractData2","_data$contractData2$p","_data$contractData3","_data$contractData4","_data$contractData5","_data$contractData6","_data$contractData7","_data$contractData8","_data$contractData9","_data$contractData10","_data$contractData11","isByteCode","setIsByteCode","sourceCode","contractData","entries","readData","writeData","readProxyData","writeProxyData","abiContract","abi","constant","abiProxyContract","proxyTargetContractData","contractProxyData","tokenData","contractName","optimization","OrderedListOutlined","code","CodeTwoTone","deployedBytecode","object","opcodes","HeatMapOutlined","sourceMap","proxyTargetContract","proxyType","borderRadius","borderColor","background","TotalTokenBalance","getTokensData","newTokensInAccount","quantityNumber","priceUsd","totalBalance","TokenList","TotalPrice","TokenCount","ListButton","TokenLink","ViewMore","TextStyle","TextMainStyle","ListTokenBalance","showMore","isOpen","setIsOpen","node","useRef","handler","handlerRef","handleClickOutside","_node$current$contain","_node$current","contains","document","addEventListener","removeEventListener","useOnClickOutside","ref","paddingTop","paddingBottom","InteralTxns","VrcTokenTxns","UserRewards","getRewardData","ContractDetailsPage","QRCode","iconQrcode","TomoToolTip","QuestionCircleOutlined","createdBy","createdAtHash","AccountDetailsPage","_tagWarningAddress$ad","_tagWarningAddress$ad2","_tagWarningAddress$ad3","_tagWarningAddress$ad4","loadingDomain","setLoadingDomain","getTransactionData","validAddress","_await$buildOneIdSugg","_validAddress","_await$buildD3Domain$","handleSearchAccount","isToken","InternalTxns","getMasternodeList","fetchMasternodeList","masternodesSlice","resetMasternodeList","candidates","getNormalTokenList","fetchNormalTokenList","getVrc721TokenList","fetchVrc721TokenList","getVrc2021HolderList","fetchVrc2021HolderList","getVrc721HolderList","fetchVrc721HolderList","getVrc721InventoryList","ownerAddress","query","fetchVrc721InventoryList","getVrc2021TransferList","fetchVrc2021TransferList","getVrc721TransferList","fetchVrc721TransferList","getTokenDetailsByAddress","fetchTokenDetailsByAddress","getTokenBalanceOnAccount","fetchTokenBalanceOnAccount","vrc2021","vrc721","holders","transfers","inventory","tokenBalanceOnAccount","isNft","tokensSlice","resetVrc2021List","resetVrc721List","fullyDilutedMarketcap","TokenListPage","OwnerHeader","OwnerTitle","OwnerBalanceBox","TokenDetailsHolderList","totalSupply","getHolderListFunction","stateType","TokenDetailsTransferList","InventoryList","ContractInfomation","Vrc2021Overview","circulatingSupplyNumber","Vrc2021MoreInfo","bgColor","website","Vrc721Overview","Vrc721MoreInfo","TokenDetailsPage","_data$symbol","_data$symbol2","dividedBy","Vrc2021TransferList","Vrc721TransferList","Vrc721InventoryList","TokenListVrc721Page","Container","Warning","SearchWrapper","NotFoundPage","errorImg","searchType","ContractVerify","compilerVersion","setCompilerVersion","setLoading","mgs","setMgs","form","useForm","fetchCompilerVersion","fetCompiler","formMgs","post","fetchContractVerify","errors","rules","required","initialValue","hasFeedback","fields","add","remove","fieldKey","restField","MinusCircleOutlined","PlusOutlined","CenterStyle","TitleStyle","ParagraphStyle","RequestLimit","borderTopColor","BoxInfo","BlockBox","CountDownPage","remainBlock","isGreaterThan","minus","visualImg","Countdown","now","renderer","days","hours","minutes","seconds","completed","AppLayoutRoute","component","Component","Route","App","Router","Switch","exact","path","BlockDetailsPage","EpochListPage","AccountListPage","MasternodeListPage","ContractListPage","createBrowserHistory","combineReducers","router","connectRouter","generalReducer","transactionsReducer","blocksReducer","epochsReducer","tokensReducer","masternodes","masternodesReducer","accountsReducer","contractsReducer","persistedReducer","store","configureStore","middleware","getDefaultMiddleware","serializableCheck","ignoredActions","PERSIST","routerMiddleware","persistor","persistStore","Boolean","hostname","ReactDOM","React","StrictMode","PersistGate","ConnectedRouter","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch"],"mappings":"gSAAA,IAAIA,EACAC,EACAC,EAGJ,MAAMC,EAAMC,OAAOD,KAAOE,uQAEhB,IAADC,EAAAC,EAALJ,IACFH,EAAsBG,EAAIK,8BAC1BP,EAAyC,QAA7BK,EAAGH,EAAIM,8BAAsB,IAAAH,IAAI,0BAC7CJ,EAAuC,QAAhCK,EAAGG,OAAOP,EAAIQ,0BAAkB,IAAAJ,IAAI,ICqBtCK,eAAeC,IACpB,aAAaC,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,UAC/C,CA0EOY,eAAeK,EAAoBC,GACxC,aAAaJ,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,aAAAgB,OAAYE,GAC3D,CAEON,eAAeO,EAAqBD,GAAkE,IAAjDE,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC9E,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,aAAAgB,OAAYE,EAAO,yBAAAF,OAAwBI,EAAM,WAAAJ,OAAUQ,GAC1G,CCjHe,UAA0B,0CCA1B,MAA0B,+CCA1B,MAA0B,wCCA1B,MAA0B,6CCsF1BC,MA/ECC,IACP,CAGLC,KAAe,SAATD,EAAkB,UAAY,UACpCE,YAAsB,SAATF,EAAkB,UAAY,UAE3CG,GAAa,SAATH,EAAkB,UAAY,UAClCI,IAAc,SAATJ,EAAkB,UAAY,UACnCK,IAAc,SAATL,EAAkB,UAAY,OACnCM,IAAc,SAATN,EAAkB,UAAY,UACnCO,IAAc,SAATP,EAAkB,UAAY,UACnCQ,QAAkB,SAATR,EAAkB,UAAY,UACvCS,QAAkB,SAATT,EAAkB,UAAY,UACvCU,cAA8B,GAAApB,OAAN,SAATU,EAAqBW,EAAuBC,GAC3DC,cAA8B,GAAAvB,OAAN,SAATU,EAAqBc,EAA4BC,GAChEC,IAAc,SAAThB,EAAkB,OAAS,UAGhCiB,QAA2B,OAI3BC,OAAiB,SAATlB,EAAkB,UAAY,UACtCmB,QAAkB,SAATnB,EAAkB,UAAY,UAGvCoB,QAA2B,UAC3BC,aAAgC,sBAEhCC,SAA4B,UAG5BC,YAAsB,SAATvB,EAAkB,UAAY,OAK3CwB,QAAkB,SAATxB,EAAkB,UAAY,OACvCyB,UAAoB,SAATzB,EAAkB,WAAa,OAE1C0B,SAAmB,SAAT1B,EAAkB,UAAY,UACxC2B,KAAe,SAAT3B,EAAkB,aAAe,UACvC4B,QAAkB,SAAT5B,EAAkB,aAAe,UAE1C6B,GAAsB,UACtBC,KAAwB,qBAExBC,IAAuB,UACvBC,MAAyB,qBAEzBC,GAAI,UACJC,KAAM,UAENC,KAAe,SAATnC,EAAkB,UAAY,UACpCoC,OAAQ,qBAERC,QAAS,UACTC,UAAW,yBAEXC,QAAS,UACTC,UAAW,qBACXC,QAAS,UACTC,SAAU,UAGVC,MAAgB,SAAT3C,EAAkB,UAAY,UACrC4C,QAAkB,SAAT5C,EAAkB,UAAY,UACvC6C,MAAgB,SAAT7C,EAAkB,UAAY,UAErC8C,YAA+B,sBAC/BC,YAA+B,UAC/BC,cAAwB,SAAThD,EAAkB,OAAS,UAE1CiD,aAAuB,SAATjD,EAAkB,UAAY,UAC5CkD,eAAyB,SAATlD,EAAkB,UAAY,Y,OCrElD,MAAMmD,EAAiBC,wBAAc,CACnCpD,KAAM,QACNqD,cAAe,GACfC,cAAc,IAGT,SAASC,IAGd,MAAO,IAFSC,qBAAWL,GAG7B,CAEe,SAASM,EAAeC,GAAsC,IAArC,SAAEC,GAAgCD,EACxE,MAAM1D,EAAO4D,aAAaC,GAAqBA,EAAMC,QAAQ9D,OACvDsD,EAAeM,aAAaC,GAAqBA,EAAMC,QAAQR,eAC/DS,EAAQC,mBAAQ,IAAMjE,EAAOC,IAAO,CAACA,KACpCqD,EAAeY,GAAoBC,mBAAS,IAE7CC,EAAmBC,uBAAYlF,UACnC,IACE,MAAMmF,QNsHLnF,iBACL,aAAaE,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,cAC/C,CMxH6BgG,GAEvBL,EAAiBI,EAASE,KAAKA,KACjC,CAAE,MAAOC,GACPC,QAAQC,IAAIF,GACZP,EAAiB,GACnB,IACC,IAMH,OAJAU,qBAAU,KACRR,GAAkB,GACjB,IAGDS,cAACzB,EAAe0B,SAAQ,CAACC,MAAO,CAAE9E,OAAMqD,gBAAcC,gBAAeK,SACnEiB,cAACG,IAAa,CAAChB,MAAOA,EAAMJ,SAC1BiB,cAACI,IAAc,CAAArB,SACZA,OAKX,C,uBCrDO,MAAMsB,EAASC,IAAOC,IAAIC,OAAMC,IAAK,CAC1CC,UAAW,8BADSJ,CAEnBK,MAAAC,YAAA,oCACmB9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM5D,EAAE,IAEhCsF,EAAWP,IAAOC,IAAGO,MAAAF,YAAA,22CACbG,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM1D,GAAG,IAahCuF,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM7D,WAAW,IAqBzB2F,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM5D,EAAE,IAKL2F,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM7C,MAAM,IAMzC6E,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM3C,OAAO,IAUvC4E,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAM7D,WAAW,I,6DC/D9B,MAA0B,+CCA1B,MAA0B,gD,SCGlC,MAAM+F,EAAUf,IAAOgB,OAAMX,MAAAC,YAAA,goCACd9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM1D,GAAG,IAwC1BsF,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM7D,WAAW,IAuBvCiG,GAAcjB,IAAOC,IAAGO,MAAAF,YAAA,yKAWxBY,GAASlB,IAAOC,IAAGkB,MAAAb,YAAA,oDAKnBc,GAAapB,YAAOqB,IAAPrB,CAAYsB,MAAAhB,YAAA,0UAMzBI,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM9D,IAAI,IAiBzBwG,GAAcvB,IAAOC,IAAGuB,MAAAlB,YAAA,iNASxBK,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM9D,IAAI,IAIzB0G,GAAazB,YAAOqB,IAAPrB,CAAY0B,MAAApB,YAAA,kJC/FhC,QAAEqB,IAAYN,IAEdO,GACJC,eAACJ,GAAU,CACTK,qBAAqB,QAAOrD,SAAA,CAE5BiB,cAAC2B,IAAKU,KAAI,CAAAtD,SACRiB,cAACsC,IAAI,CAACC,GAAG,IAAGxD,SAAC,UADA,QAGfiB,cAAC2B,IAAKU,KAAI,CAAAtD,SACRiB,cAACsC,IAAI,CAACC,GAAG,OAAMxD,SAAC,kBADH,OAGfoD,eAACF,GAAO,CAENO,MAAM,SAAQzD,SAAA,CAEdiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAciB,cAACsC,IAAI,CAACC,GAAG,UAASxD,SAAC,YAA5B,UACfiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAciB,cAACsC,IAAI,CAACC,GAAG,UAASxD,SAAC,YAA5B,YAJX,QAMNoD,eAACF,GAAO,CAENO,MAAM,WAAUzD,SAAA,CAEhBiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAgBiB,cAACsC,IAAI,CAACC,GAAG,YAAWxD,SAAC,kBAAhC,YACfiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAmBiB,cAACsC,IAAI,CAACC,GAAG,eAAcxD,SAAC,qBAAtC,eACfiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAiBiB,cAACsC,IAAI,CAACC,GAAG,aAAYxD,SAAC,wBAAlC,eALX,QAONoD,eAACF,GAAO,CAENO,MAAM,SAAQzD,SAAA,CAEdiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAiBiB,cAACsC,IAAI,CAACC,GAAG,UAASxD,SAAC,YAA/B,aACfiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAciB,cAACsC,IAAI,CAACC,GAAG,cAAaxD,SAAC,UAAhC,YAJX,WASK,SAAS0D,KACtB,MAAOC,EAASC,GAAcrD,mBAAS,IAMjClE,EAAO4D,aAAaC,GAAqBA,EAAMC,QAAQ9D,OAG7D,OACE+G,eAACd,EAAO,CAAAtC,SAAA,CACNiB,cAACuB,GAAW,CAAAxC,SACVoD,eAACS,IAAG,CAAA7D,SAAA,CACFiB,cAAC6C,IAAG,CAAA9D,SACFiB,cAACsC,IAAI,CAACC,GAAG,IAAGxD,SACViB,cAAA,OACEU,UAAU,YACVoC,IAAe,SAAT1H,EAAkB2H,EAAoBC,EAAeC,IAAI,qBAKrEjD,cAAC6C,IAAG,CAACnC,UAAU,UAAS3B,SACtBiB,cAACwB,GAAM,CAAAzC,SACLoD,eAACT,GAAU,CACTwB,QAvBOC,IACnBR,EAAWQ,EAAEC,IAAI,EAuBLC,aAAc,CAACX,GACftH,KAAK,aACLkI,iBAAkB,EAAEvE,SAAA,CAEpBiB,cAAC2B,IAAKU,KAAI,CAAAtD,SACRiB,cAACsC,IAAI,CAACC,GAAG,IAAGxD,SAAC,UADA,QAGfiB,cAAC2B,IAAKU,KAAI,CAAAtD,SACRiB,cAACsC,IAAI,CAACC,GAAG,OAAMxD,SAAC,kBADH,OAGfoD,eAACF,GAAO,CAENO,MACEL,eAAA,OAAKoB,MAAO,CAAEC,QAAS,OAAQC,WAAY,UAAW1E,SAAA,CACpDiB,cAAA,QAAAjB,SAAM,WACNiB,cAAC0D,IAAiB,CAACH,MAAO,CAACI,WAAY,MAAOC,aAAc,aAE/D7E,SAAA,CAEDiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAciB,cAACsC,IAAI,CAACC,GAAG,UAASxD,SAAC,YAA5B,UACfiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAciB,cAACsC,IAAI,CAACC,GAAG,UAASxD,SAAC,YAA5B,YATX,QAWNoD,eAACF,GAAO,CAENO,MACEL,eAAA,OAAKoB,MAAO,CAAEC,QAAS,OAAQC,WAAY,UAAW1E,SAAA,CACpDiB,cAAA,QAAAjB,SAAM,aACNiB,cAAC0D,IAAiB,CAACH,MAAO,CAACI,WAAY,MAAOC,aAAc,aAE/D7E,SAAA,CAEDiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAgBiB,cAACsC,IAAI,CAACC,GAAG,YAAWxD,SAAC,kBAAhC,YACfiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAmBiB,cAACsC,IAAI,CAACC,GAAG,eAAcxD,SAAC,qBAAtC,eACfiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAiBiB,cAACsC,IAAI,CAACC,GAAG,aAAYxD,SAAC,wBAAlC,eAVX,QAYNoD,eAACF,GAAO,CAENO,MACEL,eAAA,OAAKoB,MAAO,CAAEC,QAAS,OAAQC,WAAY,UAAW1E,SAAA,CACpDiB,cAAA,QAAAjB,SAAM,WACNiB,cAAC0D,IAAiB,CAACH,MAAO,CAACI,WAAY,MAAOC,aAAc,aAE/D7E,SAAA,CAEDiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAiBiB,cAACsC,IAAI,CAACC,GAAG,UAASxD,SAAC,YAA/B,aACfiB,cAAC2B,IAAKU,KAAI,CAAAtD,SAAciB,cAACsC,IAAI,CAACC,GAAG,cAAaxD,SAAC,UAAhC,YATX,oBAqBhBiB,cAAC6B,GAAW,CAAA9C,SACViB,cAAA,OAAAjB,SACEoD,eAACS,IAAG,CAACiB,OAAQ,GAAIC,QAAQ,gBAAe/E,SAAA,CACtCiB,cAAC6C,IAAG,CAAA9D,SACFiB,cAACsC,IAAI,CAACC,GAAG,IAAGxD,SACViB,cAAA,OACEU,UAAU,YACVoC,IAAe,SAAT1H,EAAkB2H,EAAoBC,EAAeC,IAAI,qBAIrEjD,cAAC6C,IAAG,CAAA9D,SACFiB,cAAA,OAAKU,UAAU,YAAW3B,SAKxBiB,cAAC+D,IAAQ,CAACC,QAAS9B,GAAKnD,SACtBiB,cAAA,OAAKU,UAAU,oBAAoBwC,QAASC,GAAKA,EAAEc,iBAAiBlF,SAClEiB,cAACkE,IAAY,CAACxD,UAAU,0BAU5C,C,2CC9Ke,w/BCAA,4nCCAA,osCCAA,wqCCAA,OAA0B,qC,uCCElC,MAAMW,GAAUf,IAAO6D,OAAMxD,QAAAC,YAAA,2gBACd9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM1D,GAAG,IAWfsF,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAMlD,aAAa,IAcpDmI,GAAU9D,IAAOC,IAAGO,QAAAF,YAAA,2lBAwBlBI,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM7D,WAAW,IAUlC+I,GAAiB/D,IAAOC,IAAGkB,QAAAb,YAAA,keAYzBK,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM9D,IAAI,IAO3B6F,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM9D,IAAI,IAGvB8F,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM7D,WAAW,IAKlCgJ,GAAYhE,IAAOC,IAAGqB,QAAAhB,YAAA,yIACbQ,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAMzD,GAAG,IASjC6I,GAAejE,YAAOkE,KAAPlE,CAAcwB,QAAAlB,YAAA,+VAOlB6D,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAM7C,MAAM,IAC3BoI,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAM1D,GAAG,IAEpBkJ,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAKxF,EAAM1D,GAAG,IAC5BmJ,IAAA,IAAC,MAAEzF,GAAOyF,EAAA,OAAKzF,EAAM7C,MAAM,IAMtCuI,GAAWvE,IAAOwE,KAAI9C,QAAApB,YAAA,wEACtBmE,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAM9D,IAAI,ICnHzB2J,GAAa,IACbC,GAAwB,CAAC,CAClCC,QAAS,KAAOtL,EAAQuL,SAAS,IACjCC,UAAuB,KAAZxL,EAAiB,kBAAoB,kBAChDyL,eAAgB,CACZC,KAAM,MACNC,OAAQ,MACRC,SAAU,IAEdC,QAAS,CAAC9L,KAGD+L,GAAkF,CAC3F,6CAA8C,CAC1CrK,KAAM,oDACNsK,KAAM,2IACNC,IAAK,CAAC,SAAU,mBAIXC,GAA2B,CAAC,SAAU,SAAU,UAChDC,GAAwB,CAAC,QAAS,QAAS,QAAS,QAAS,SAEnE,IAAKC,GAAa,SAAbA,GAAa,OAAbA,IAAa,mBAAbA,IAAa,qBAAbA,IAAa,mBAAbA,IAAa,uBAAbA,CAAa,MCQzB,MAAM,KAAEC,IAASC,KAEF,SAASC,KACtB,MAAM9K,EAAO4D,aAAaC,GAAqBA,EAAMC,QAAQ9D,OAwB7D,OACE+G,eAACd,GAAO,CAAAtC,SAAA,CACNiB,cAACoE,GAAO,CAAArF,SACNoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdoD,eAACU,IAAG,CAACiC,KAAM,EAAE/F,SAAA,CACXiB,cAACmG,KAAY,CAEX3D,MACExC,cAACsC,IAAI,CAACC,GAAG,IAAGxD,SACViB,cAAA,OACEU,UAAU,YACVoC,IAAgB,SAAT1H,EAAkB2H,EAAoBC,EAAgBC,IAAI,mBAE7DlE,SAEViB,cAACmG,KAAa9D,KAAI,CAAAtD,SAChBoD,eAACiE,KAAK,CAAC1F,UAAU,cAAa3B,SAAA,CAC5BiB,cAACgG,GAAI,CAACtF,UAAU,eAAe2F,KAAK,YAAWtH,SAAC,aAChDiB,cAACsC,IAAI,CAACgE,OAAO,SAAS/D,GAAI,CAACgE,SAAU,gCAAgCxH,SAACiB,cAAA,OAAK8C,IAAM0D,GAAYvD,IAAI,OACjGjD,cAACsC,IAAI,CAACgE,OAAO,SAAS/D,GAAI,CAACgE,SAAU,gCAAgCxH,SAACiB,cAAA,OAAK8C,IAAM2D,GAAYxD,IAAI,OAEjGjD,cAACsC,IAAI,CAACgE,OAAO,SAAS/D,GAAI,CAACgE,SAAU,iCAAiCxH,SAACiB,cAAA,OAAK8C,IAAM4D,GAAazD,IAAI,OACnGjD,cAACsC,IAAI,CAACgE,OAAO,SAAS/D,GAAI,CAACgE,SAAU,qCAAqCxH,SAACiB,cAAA,OAAK8C,IAAM6D,GAAW1D,IAAI,cAI3Gd,eAACoC,GAAY,CAACrB,QAjDL5I,UACb,GAAIR,OAAO8M,SAAU,CACjB9M,OAAO+M,KAAO,IAAIC,KAAKhN,OAAO8M,UAC9B,MAAMG,QAAkBjN,OAAO8M,SAASI,QAAQ,CAC5CC,OAAQ,gBAEZ,IACQ7M,OAAO2M,KAAenN,QAChBE,OAAO8M,SAASI,QAAQ,CAC1BC,OAAQ,0BACRC,OAAQjC,KAGdkC,MAAM,6BAEZ,CAAE,MAAOvH,GAEL,OADAC,QAAQD,MAAMA,IACP,CACX,CACJ,MACIuH,MAAM,0BACV,EA4BsCpI,SAAA,CAChCiB,cAAA,OAAKoH,MAAM,OAAOtE,IAAKuE,GAAapE,IAAI,aACxCjD,cAAC6E,GAAQ,CAAA9F,SAAC,8BAGdiB,cAAC6C,IAAG,CAACiC,KAAM,EAAE/F,SACXiB,cAACqE,GAAc,CAAAtF,SACboD,eAACgE,KAAY,CACX3D,MAAM,UACN8E,OAAQ,EAAEvI,SAAA,CAEViB,cAACmG,KAAa9D,KAAI,CAAAtD,SAACiB,cAACsC,IAAI,CAACgE,OAAO,SAAS/D,GAAI,CAACgE,SAAS,uBAAuBxH,SAAC,eAC/EiB,cAACmG,KAAa9D,KAAI,CAAAtD,SAACiB,cAAA,KAAGuH,KAAK,wBAAuBxI,SAAC,iBACnDiB,cAACmG,KAAa9D,KAAI,CAAAtD,SAACiB,cAACsC,IAAI,CAACgE,OAAO,SAAS/D,GAAI,CAACgE,SAAS,+CAA+CxH,SAAC,8BAI7GiB,cAAC6C,IAAG,CAACiC,KAAM,EAAE/F,SACXiB,cAACqE,GAAc,CAAAtF,SACboD,eAACgE,KAAY,CACX3D,MAAM,iBACN8E,OAAQ,EAAEvI,SAAA,CAEViB,cAACmG,KAAa9D,KAAI,CAAAtD,SAACiB,cAACsC,IAAI,CAACgE,OAAO,SAAS/D,GAAI,CAACgE,SAAS,6FAA6FxH,SAAC,iCACrJiB,cAACmG,KAAa9D,KAAI,CAAAtD,SAACiB,cAACsC,IAAI,CAACgE,OAAO,SAAS/D,GAAI,CAACgE,SAAS,uEAAuExH,SAAC,2BAC/HiB,cAACmG,KAAa9D,KAAI,CAAAtD,SAACiB,cAACsC,IAAI,CAACgE,OAAO,SAAS/D,GAAI,CAACgE,SAAS,yBAAyBxH,SAAC,4BAM3FiB,cAACsE,GAAS,CAAAvF,SACRoD,eAACiE,KAAK,CAAC1F,UAAU,cAAa3B,SAAA,CAC5BoD,eAAA,QAAApD,SAAA,CAAM,kBAAkB,IAAIyI,MAAQC,iBAAqB,MAAGzH,cAAA,QAAAjB,SAAM,8BAK5E,CC5He,I,oCAAA,OAA0B,0CCA1B,OAA0B,iDCElC,MAAM2I,GAAkBpH,IAAOC,IAAGI,QAAAC,YAAA,sMAc5B+G,GAAWrH,IAAOC,IAAGO,QAAAF,YAAA,2BAGrBgH,GAAiBtH,IAAOC,IAAGkB,QAAAb,YAAA,+BAI3BiH,GAAmBvH,IAAOC,IAAGqB,QAAAhB,YAAA,+BAI7BkH,GAAmBxH,IAAOC,IAAGuB,QAAAlB,YAAA,4gBACpB9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM1D,GAAG,IAiBfsF,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAMrD,aAAa,IAQpDiM,GAAczH,IAAOC,IAAGyB,QAAApB,YAAA,yNAC1BI,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM9D,IAAI,IAYvB2M,GAAkB1H,IAAOC,IAAG0H,QAAArH,YAAA,2MAa5BsH,GAAgB5H,IAAOC,IAAG4H,QAAAvH,YAAA,sGAO1BwH,GAAiB9H,IAAOC,IAAG8H,QAAAzH,YAAA,kEAC7BK,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM9D,IAAI,IAKvBiN,GAAchI,IAAOiI,EAACC,QAAA5H,YAAA,iyBACbM,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM1D,GAAG,IAM5B0F,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM5D,EAAE,IA0B5B6F,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAM9D,IAAI,IAWzBoN,GAAenI,IAAOC,IAAGmI,QAAA9H,YAAA,sqCAChB6D,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAM1D,GAAG,IASfiJ,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAM7C,MAAM,IAC7CqI,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAKxF,EAAM9D,IAAI,IAKvBuJ,IAAA,IAAC,MAAEzF,GAAOyF,EAAA,OAAKzF,EAAM9D,IAAI,IAEvB0J,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAM7D,WAAW,IAI7BqN,IAAA,IAAC,MAAExJ,GAAOwJ,EAAA,OAAKxJ,EAAM7C,MAAM,IAsB3BsM,IAAA,IAAC,MAAEzJ,GAAOyJ,EAAA,OAAKzJ,EAAM3C,OAAO,IAU1BqM,IAAA,IAAC,MAAE1J,GAAO0J,EAAA,OAAK1J,EAAM1C,YAAY,IAM1CqM,GAAmBxI,IAAOC,IAAGwI,QAAAnI,YAAA,uEC9L7BoI,GAAiBA,IAAMC,cACvBC,GAAkDlK,IAElDmK,GAAkBA,CAACC,EAAsBC,EAA2BC,KAC/E,MAAMC,EAAWP,KACXQ,EAAeN,IAAgBjK,GAAUA,EAAMqK,GAAoB,UAMzE,OAJAvJ,qBAAU,KACJsJ,GAAOE,EAASH,EAAWC,GAAO,GACrC,CAACA,EAAOE,IAEJC,CAAO,EA4BT,SAASC,KACd,OAAO,IAAIC,gBAAgBC,cAAcC,OAC3C,C,sDCzCO,SAASC,GAAYC,EAAUC,GAEpC,OAAO,IADI,IAAIjD,KAAK,IAAIA,KAAKkD,UAAUC,aAAatQ,IACpCuQ,IAAIC,UAASL,EAAKC,EACpC,CAEO,SAASK,GAAOC,GAAoD,IAAf7E,EAAQzK,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EACrE,OAAKsP,EAEE,IAAIC,KAAUD,GAAQ9J,IAAI,IAAMiF,GAAU+E,WAF7BF,CAGtB,CAEO,SAASG,GAAaC,GAA4D,IAAhBC,EAAS3P,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EACnF,IAAK0P,EAAQ,OAAOA,EAEpB,IAAIE,EAAW,IAAIL,KAAUG,GAAQG,SAASF,GAU9C,OARIC,EAASE,MAAM,cACjBF,EAAWA,EAASG,QAAQ,WAAY,KAGtCH,EAASE,MAAM,iBACjBF,EAAWA,EAASG,QAAQ,SAAU,KAGjCH,CACT,CASO,SAASI,GAAcC,GAA6E,IAA9CC,EAAOlQ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,kCACrE,IAAKiQ,EAAW,OAAOA,EAEvB,MAAME,EAAY,IAAI1D,KAAiB,IAAZwD,GAC3B,OAAOG,aAAOC,aAAWF,EAAWA,EAAUG,qBAAsBJ,EACtE,CAEO,SAASK,GAAmBC,GACjC,GAAKA,EAEL,OAAOC,aAAsB,IAAPD,EAAa,IAAI/D,KAAQ,CAC7CiE,WAAW,GAEf,CAEO,SAASC,GAAgBrQ,GAAwC,IAA1BsQ,EAAG5Q,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGwK,EAAMxK,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,MAC9D,MAAM6Q,EAAUvQ,EAAK8J,WAErB,IAAK9J,EAAM,MAAO,GAClB,GAAIuQ,EAAQ5Q,QAAU,EAAI2Q,EAAK,OAAOC,EAKtC,OAHiBA,EAAQC,MAAM,EAAGF,GAGhBpG,EAFDqG,EAAQC,OAAOF,EAGlC,CAUO,MAIMG,GAAazQ,IACxB,IAAKA,EAAM,OAAO,EAClB,IACE,OAAOyL,KAAKiF,MAAMD,UAAUzQ,EAAK2Q,cACnC,CAAE,MAAOpM,GAET,CACA,OAAO,CAAK,E,uBCjFd,MAAMqM,GAAY3L,YAAO4L,KAAP5L,CAAWK,QAAAC,YAAA,sQACP9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM3C,OAAO,IACvCuE,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAMxC,WAAW,IAYrCwP,GAAkB7L,YAAO4L,KAAP5L,CAAWQ,QAAAF,YAAA,mOACbI,IAAA,IAAC,MAAE7B,EAAK,QAAEiN,GAASpL,EAAA,MAAiB,OAAZoL,EAAmBjN,EAAMjC,KAAOiC,EAAM/B,KAAK,IAC9E6D,IAAA,IAAC,MAAE9B,EAAK,QAAEiN,GAASnL,EAAA,OAAKmL,EAAUjN,EAAMiN,GAAWjN,EAAMrC,QAAQ,IAYtEuP,GAAkB/L,IAAOwE,KAAIrD,QAAAb,YAAA,kwBAaLM,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM7B,IAAI,IAStB6D,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM9B,EAAE,IAQzB+D,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAMvC,OAAO,I,6BC5D3D,MAAQoJ,KAAI,SAAEsG,IAAUrG,KAOXsG,GAAajM,YAAO0F,GAAP1F,CAAYK,QAAAC,YAAA,oDAClBH,GAASA,EAAM+L,UAAY/L,EAAM+L,UAAY,YACnD/L,GAASA,EAAMgM,MAAQhM,EAAMgM,MAAQ,YAEtCC,GAAcpM,YAAOgM,GAAPhM,CAAaQ,QAAAF,YAAA,sIAC7B9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM9D,IAAI,IAMvBsR,GAAiBrM,IAAOwE,KAAIrD,QAAAb,YAAA,+KAC9BG,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM9D,IAAI,IAQvBuR,GAAoBtM,YAAO4L,KAAP5L,CAAWsB,QAAAhB,YAAA,sHACnCI,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM1B,OAAO,IAQxBoP,GAAYvM,YAAOgM,GAAPhM,CAAawB,QAAAlB,YAAA,UCvCvB,WAA0B,+CCA1B,OAA0B,qCCA1B,OAA0B,oCCA1B,OAA0B,yCC4D1BkM,I,2BAAAA,GAjDKhO,IAAwH,IAAvH,YAACiO,EAAW,iBAAEC,EAAgB,WAAEC,GAAiFnO,EAElI,MAAMoO,IAAiC,OAAXH,QAAW,IAAXA,KAAaI,oBAA+B,OAAXJ,QAAW,IAAXA,OAAW,EAAXA,EAAaC,mBAAoBA,GACxFI,GAA+B,OAAXL,QAAW,IAAXA,OAAW,EAAXA,EAAaI,oBAAgC,OAAXJ,QAAW,IAAXA,KAAaC,kBACnEK,GAAoB,OAAXN,QAAW,IAAXA,OAAW,EAAXA,EAAaI,mBAA8B,OAAXJ,QAAW,IAAXA,OAAW,EAAXA,EAAaC,kBACtDM,IAAwB,OAAXP,QAAW,IAAXA,KAAaI,oBAA+B,OAAXJ,QAAW,IAAXA,KAAaC,mBAE7D,UAAEO,EAAS,SAAEC,GAAapO,mBAAQ,IACnCiO,EACM,CACLE,UAAW,wCACXC,SAAUC,IAIXP,EACM,CACLK,UAAW,oBACXC,SAAUE,IAGXN,EACM,CACLG,UAAW,oBACXC,SAAUG,IAGP,CACLJ,UAAW,4BACXC,SAAUI,KAGX,CAACP,EAAQH,EAAoBE,EAAmBJ,IAEjD,OACE7K,eAAA,OAAKoB,MAAO,CAACC,QAASyJ,EAAa,eAAgB,eAAgBvM,UAAU,qBAAoB3B,SAAA,CAC/FiB,cAAC6N,KAAO,CAACrL,MAAOyK,GAAcjN,cAAA,QAAMuD,MAAO,CAACuK,WAAY,SAAUC,SAAU,QAAQhP,SAAEwO,IAAkBxO,SACtGiB,cAAA,OAAK8C,IAAK0K,EAAUvK,IAAI,YAExBgK,GAAc9K,eAAA6L,WAAA,CAAAjP,SAAA,CAAE,OAEhBiB,cAAA,QAAMuD,MAAO,CAACkJ,MAAQa,EAAY,UAAW,IAAKvO,SAC/CwO,SAGD,ECzCL,SAASU,GAAUnP,GAA8B,IAA7B,MAAE0D,GAAwB1D,EACnD,OACEkB,cAACqB,GAAO,CAAAtC,SACNoD,eAACS,IAAG,CAACiB,OAAQ,GAAIN,MAAO,CAAE2K,cAAe,eAAgBnP,SAAA,CACvDiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SAACiB,cAACoO,GAAS,MACjCpO,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SAACiB,cAAC0M,GAAW,CAAChM,UAAU,qBAAqB2N,MAAO,EAAEtP,SAAEyD,UAItF,CAEO,SAAS8L,GAAqBvN,GAA8B,IAADwN,EAAA,IAA5B,MAAEC,GAAwBzN,EAE9D,OACEf,cAACqB,GAAO,CAAAtC,SACNoD,eAACS,IAAG,CAACiB,OAAQ,GAAIN,MAAO,CAAE2K,cAAe,eAAgBnP,SAAA,CACvDiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SAACiB,cAACoO,GAAS,MACjCpO,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SACpBoD,eAAC0K,GAAS,CAACnM,UAAU,+CAA8C3B,SAAA,CACjEiB,cAACyO,GAAS,CAAC7T,QAAS4T,EAAM5T,QAAS8T,KAAM,KACzCvM,eAAA,OAAKzB,UAAU,OAAM3B,SAAA,CAClByP,EAAMlJ,MAAQkJ,EAAMjJ,OACnBvF,cAAC2M,GAAc,CAACjM,UAAU,eAAc3B,SAAA,GAAArE,OAAK8T,EAAMlJ,KAAI,MAAA5K,OAAiB,QAAjB6T,EAAKC,EAAMjJ,cAAM,IAAAgJ,OAAA,EAAZA,EAAcI,cAAa,OAEvF3O,cAAC6N,KAAO,CAACe,UAAU,SAASpM,MAAOgM,EAAM5T,QAAQmE,SAC/CiB,cAAC6O,GAAW,CAAA9P,SAAE2M,GAAgB8C,EAAM5T,QAAQoR,mBAGhD7J,eAAA,OAAKoB,MAAO,CAACwK,SAAU,OAAQe,WAAY,IAAKC,UAAW,OAAQrO,UAAU,4BAA2B3B,SAAA,CAEtGiB,cAAA,QAAMuD,MAAO,CAACyL,cAAe,aAAajQ,SAAEyP,EAAMnI,OAClDrG,cAAA,QAAMuD,MAAO,CAACkJ,MAAO,UAAW9I,WAAY,MAAOsL,YAAY,OAAOlQ,SAAC,WACvEiB,cAAA,OAAKU,UAAU,0BAAyB3B,SACtCiB,cAAC8M,GAAW,CAACC,YAAayB,qBAS5C,CAEO,SAASU,GAAYlO,GAA6C,IAA5C,KAAEqF,GAAuCrF,EAEpE,QAAQ,GACN,IAAc,UAATqF,EACH,OAAQrG,cAACmP,GAAQ,CAAApQ,SAAC,UACpB,IAAc,UAATsH,EACH,OAAQrG,cAACoP,GAAQ,CAAArQ,SAAC,UACpB,IAAc,WAATsH,GAA8B,UAATA,EACxB,OAAQrG,cAACqP,GAAS,CAAAtQ,SAAC,WACrB,IAAc,UAATsH,EACH,OAAQrG,cAACsP,GAAQ,CAAAvQ,SAAC,UACpB,IAAc,WAATsH,EACH,OAAQrG,cAACuP,GAAS,CAAAxQ,SAAC,WACrB,QACE,OAAOiB,cAACmP,GAAQ,CAAApQ,SAAEsH,IAExB,CAEO,MAAMhF,GAAUf,IAAOC,IAAGI,QAAAC,YAAA,uIASpB2O,GAAYjP,YAAO4L,KAAP5L,CAAWQ,QAAAF,YAAA,6KACdK,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM3C,OAAO,IACvC0E,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAMxC,WAAW,IAO9BwS,GAAW7O,YAAO4L,KAAP5L,CAAWmB,QAAAb,YAAA,2NACbO,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM/B,KAAK,IACrCgE,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAMhC,GAAG,IAStBiS,GAAW9O,YAAO4L,KAAP5L,CAAWsB,QAAAhB,YAAA,yNACf6D,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAM/B,KAAK,IACnCsH,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAMhC,GAAG,IAStBkS,GAAY/O,YAAO4L,KAAP5L,CAAWwB,QAAAlB,YAAA,yNAChB+D,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAKxF,EAAM/B,KAAK,IACnCwH,IAAA,IAAC,MAAEzF,GAAOyF,EAAA,OAAKzF,EAAMhC,GAAG,IAsBtBmS,IAbYhP,YAAO4L,KAAP5L,CAAW0B,QAAApB,YAAA,yNAChBmE,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAM3C,OAAO,IACrCmM,IAAA,IAAC,MAAExJ,GAAOwJ,EAAA,OAAKxJ,EAAMxC,WAAW,IAWnB2D,YAAO4L,KAAP5L,CAAW2H,QAAArH,YAAA,yNACfgI,IAAA,IAAC,MAAEzJ,GAAOyJ,EAAA,OAAKzJ,EAAM3C,OAAO,IACrCqM,IAAA,IAAC,MAAE1J,GAAO0J,EAAA,OAAK1J,EAAMxC,WAAW,KASrCkS,GAAcvO,IAAOwE,KAAIqD,QAAAvH,YAAA,kEAGpB4O,IAAA,IAAC,MAAErQ,GAAOqQ,EAAA,OAAKrQ,EAAM9D,IAAI,IAGvBoU,GAAoBnP,YAAO4L,KAAP5L,CAAW+H,QAAAzH,YAAA,2NACtB8O,IAAA,IAAC,MAAEvQ,GAAOuQ,EAAA,OAAKvQ,EAAMtB,OAAO,IACvC8R,IAAA,IAAC,MAAExQ,GAAOwQ,EAAA,OAAKxQ,EAAMrB,QAAQ,I,6HC7JjC,MAAM8R,GAAatP,YAAOuP,KAAPvP,CAAYK,QAAAC,YAAA,8MAGtB9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM3D,GAAG,IAClBuF,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM7C,MAAM,IAGpC0E,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM9D,IAAI,IAGzB4F,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM7D,WAAW,IAIhCwU,GAAiBxP,IAAOC,IAAGO,QAAAF,YAAA,iDAK3BmP,GAAmBzP,YAAO0P,KAAMC,MAAb3P,CAAmBmB,QAAAb,YAAA,iIAQtCsP,GAAc5P,YAAO0P,KAAP1P,CAAasB,QAAAhB,YAAA,oSAmB3BuP,GAAe7P,YAAOkE,KAAPlE,CAAcwB,QAAAlB,YAAA,qaAC1BM,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM3C,OAAO,IAe1B2E,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM1C,YAAY,IAStC2T,GAAc9P,IAAOC,IAAGyB,QAAApB,YAAA,oQAOrBQ,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAM1D,GAAG,IAI3B4U,GAAa/P,YAAOgQ,KAAPhQ,CAAY2H,QAAArH,YAAA,0RAQP6D,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAM7C,MAAM,IAU7CiU,GAAajQ,IAAOC,IAAG4H,QAAAvH,YAAA,yFAIzB8D,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAM9D,IAAI,IAGvBmV,GAAiBlQ,YAAOgQ,KAAKjO,KAAZ/B,CAAiB+H,QAAAzH,YAAA,gOAKlB+D,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAKxF,EAAM7C,MAAM,IAIhCsI,IAAA,IAAC,MAAEzF,GAAOyF,EAAA,OAAKzF,EAAMvD,OAAO,IAWvC6U,IAPQnQ,IAAOC,IAAGiI,QAAA5H,YAAA,2FAOJN,IAAOC,IAAGmI,QAAA9H,YAAA,0GAK1BmE,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAM7D,WAAW,KAG9BoV,GAAapQ,IAAOC,IAAGwI,QAAAnI,YAAA,4FAIzB+H,IAAA,IAAC,MAAExJ,GAAOwJ,EAAA,OAAKxJ,EAAM9D,IAAI,IAGvBsV,GAAiBrQ,IAAOC,IAAGqQ,QAAAhQ,YAAA,wGAK7BgI,IAAA,IAAC,MAAEzJ,GAAOyJ,EAAA,OAAKzJ,EAAM7D,WAAW,IAU9BuV,IAPQvQ,IAAOC,IAAGuQ,QAAAlQ,YAAA,2FAOJN,IAAOC,IAAGwQ,QAAAnQ,YAAA,0GAK1BiI,IAAA,IAAC,MAAE1J,GAAO0J,EAAA,OAAK1J,EAAM7D,WAAW,KAG9B0V,GAAa1Q,IAAOC,IAAG0Q,QAAArQ,YAAA,4FAIzB4O,IAAA,IAAC,MAAErQ,GAAOqQ,EAAA,OAAKrQ,EAAM9D,IAAI,IAGvB6V,GAAiB5Q,IAAOC,IAAG4Q,QAAAvQ,YAAA,wGAK7B8O,IAAA,IAAC,MAAEvQ,GAAOuQ,EAAA,OAAKvQ,EAAM7D,WAAW,I,iBCpL5B,46BCqCf,MAAM8V,GAAY9Q,IAAOwE,KAAInE,QAAAC,YAAA,yBAClBG,IAAA,IAAC,MAAC5B,GAAM4B,EAAA,OAAG5B,EAAM9D,IAAI,IAGjBoT,OA7Bf,SAAkB3P,GAAoC,IAAnC,QAAElE,EAAO,KAAE8T,GAAqB5P,EACjD,MAAOc,EAAOyR,GAAY/R,oBAAS,GAEnC,OAAK1E,GAAWgF,EAAcI,cAACoR,GAAS,CAAArS,SAACiB,cAACsR,KAAiB,CAAC/N,MAAO,CAAEwK,SAAUW,GAAQ,OAAQO,YAAa,WAC5F,SAAZrU,EACFoF,cAAA,OACE8C,IAAKyO,GACLnK,MAAOsH,GAAQ,OACf8C,OAAQ9C,GAAQ,OAChBnL,MAAO,CAAC0L,YAAa,OACrBhM,IAAI,KAINjD,cAAA,OACE8C,IAAG,GAAApI,OAtBe,wEAsBK,KAAAA,OAAIE,EAAQoR,cAAa,QAChD5E,MAAOsH,GAAQ,OACf8C,OAAQ9C,GAAQ,OAChBnL,MAAO,CAAC0L,YAAa,OACrBhM,IAAI,GACJwO,QAASA,IAAMJ,GAAS,IAG9B,E,UCjCO/W,eAAeoX,GAAsBC,GAC1C,IACE,MAAMlS,QpCuJHnF,eAA2Be,GAChC,aAAab,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,uBAAAgB,OAAsBW,GACrE,CoCzJ2BuW,CAAYD,GACnC,GAAY,OAARlS,QAAQ,IAARA,KAAUE,KAAM,CAElB,OADgE,OAARF,QAAQ,IAARA,OAAQ,EAARA,EAAUE,IAEpE,CAEF,CAAE,MAAOkS,GACT,CACA,MAAO,EACT,CAEOvX,eAAewX,GAAcH,GAClC,MAAMI,EAAa,CAAC,OAEpB,IACE,IAAKJ,EAAc,MAAM,IAAIK,MAAM,qBACnC,MAAMC,EAAKN,EAAaO,OAAOlG,eACxB,CAAEmG,GAAWF,EAAGG,MAAM,KAE7B,IADkBL,EAAWM,SAASF,GACtB,MAAM,IAAIH,MAAM,yBAChC,MAAMM,EAAM,gBAAA5X,OAAmBuX,EAAE,SAE3BxS,QpCqIHnF,eAAwBe,GAC7B,MAAMkX,EAAM,6CAAA7X,OAAgDW,EAAI,YAChE,OAAOb,IAAMC,IAAI8X,EAAQ,CACvBC,QAAS,CACPC,OAAQ,yBAGd,CoC5I2BC,CAASJ,GAEhC,KADsC,MAApB7S,EAASkT,QACX,MAAM,IAAIX,MAAM,aAEhC,MAAMY,EAASnT,EAASE,KAAKkT,OAAOC,MAAMC,GAAWA,EAAEzN,OAASgN,KACzD,CAAE1X,GAAWoY,KAAKC,MAAML,EAAOjT,MAAMyS,MAAM,KAClD,IAAKxX,EAAS,MAAM,IAAIoX,MAAM,uBAE9B,MAAO,CAAC,CAAEkB,WAAYjB,EAAIrX,WAC5B,CAAE,MAAOiX,GAET,CACA,MAAO,EACT,CClCA,SAASsB,GAAcrU,GAAgC,IAA/B,KAAE4P,EAAI,IAAE5L,GAAoBhE,EAClD,OACEkB,cAAA,OACE8C,IAAKA,GAAG,aACRsE,MAAOsH,GAAQ,OACf8C,OAAQ9C,GAAQ,OAChBnL,MAAO,CAAC0L,YAAa,OACrBhM,IAAI,IAGV,CACAkQ,GAAeC,MAAQrS,IAAA,OAAKN,GAAMM,EAAA,OAAKf,cAACmT,GAAc,IAAK1S,EAAOqC,IAAI,cAAc,EACpFqQ,GAAeE,GAAKrS,IAAA,OAAKP,GAAMO,EAAA,OAAKhB,cAACmT,GAAc,IAAK1S,EAAOqC,IAAI,gBAAgB,EACpEqQ,UCYf,MAAQ/O,QAAQ,IAAI/D,MACd,QAAEiT,IAAYC,KAmBpB,SAASC,GAAc1U,GAAuH,IAAtH,KAAEa,EAAI,SAAE8T,GAA2G3U,EACzI,MAAM4U,EAAQ/T,EAAKgU,OAAO3Y,OAAS2E,EAAKiU,OAAO5Y,OAAS2E,EAAKkU,UAAU7Y,OACvE,OACEgF,cAACoQ,GAAW,CAAArR,SACVoD,eAACoR,KAAI,CAAClN,KAAK,OAAMtH,SAAA,CACfoD,eAACmR,GAAO,CAACQ,IAAG,OAAApZ,OAASgZ,EAAK,KAAI3U,SAAA,CAC3BY,EAAKiU,OAAO5Y,OAAS,GACpBgF,cAACqQ,GAAU,CACT0D,WAAW,aACXC,UAAQ,EACR1S,OAAQtB,cAACuQ,GAAU,CAAAxR,SAAC,WACpBkV,WAAYtU,EAAKiU,OACjBM,WAAaC,GACXnU,cAACwQ,GAAc,CAACtN,QAASA,IAAMuQ,EAASU,EAAKvZ,QAAS,WAAWmE,SAC/DoD,eAAC0O,GAAW,CAAA9R,SAAA,CACViB,cAACmT,GAAeC,MAAK,CAAC1E,KAAM,KAC5BvM,eAAA,QAAMoB,MAAO,CAAE6Q,UAAW,aAAcrV,SAAA,CACtCiB,cAACgR,GAAU,CAAAjS,SAAEoV,EAAKE,QAClBrU,cAACkR,GAAc,CAAAnS,SAAEoV,EAAKvZ,oBAOjC+E,EAAKgU,OAAO3Y,OAAS,GACpBgF,cAACqQ,GAAU,CACT0D,WAAW,aACXC,UAAQ,EACR1S,OAAQtB,cAACuQ,GAAU,CAAAxR,SAAC,WACpBkV,WAAYtU,EAAKgU,OACjBO,WAAaC,IAAS,IAAAG,EAAA,OACpBtU,cAACwQ,GAAc,CAACtN,QAASA,IAAMuQ,EAASU,EAAKvZ,QAAS,SAASmE,SAC7DoD,eAACsO,GAAW,CAAA1R,SAAA,CACViB,cAACyO,GAAS,CAAC7T,QAASuZ,EAAKvZ,QAAQoR,cAAe0C,KAAM,KACtDvM,eAAA,QAAMoB,MAAO,CAAE6Q,UAAW,aAAcrV,SAAA,CACtCoD,eAACuO,GAAU,CAAA3R,SAAA,CAAEoV,EAAK7O,KAAK,KAAc,QAAZgP,EAACH,EAAK5O,cAAM,IAAA+O,OAAA,EAAXA,EAAa3F,cAAc,IAAEwF,EAAKhH,gBAAkBnN,cAAC4M,GAAiB,CAAA7N,SAACiB,cAACuU,KAAiB,MAA0B,MAC7IvU,cAAC2Q,GAAc,CAAA5R,SAAEoV,EAAKvZ,iBAGX,IAItB+E,EAAKkU,UAAU7Y,OAAS,GACvBgF,cAACqQ,GAAU,CACT0D,WAAW,aACXC,UAAQ,EACR1S,OAAQtB,cAACuQ,GAAU,CAAAxR,SAAC,OACpBkV,WAAYtU,EAAKkU,UACjBK,WAAaC,GACXnU,cAACwQ,GAAc,CAACtN,QAASA,IAAMuQ,EAASU,EAAKvZ,QAAS,WAAWmE,SAC/DoD,eAAC0O,GAAW,CAAA9R,SAAA,CACViB,cAACmT,GAAeE,GAAE,CAAC3E,KAAM,KACzBvM,eAAA,QAAMoB,MAAO,CAAE6Q,UAAW,aAAcrV,SAAA,CACtCiB,cAACgR,GAAU,CAAAjS,SAAEoV,EAAKjB,aAClBlT,cAACkR,GAAc,CAAAnS,SAAEoV,EAAKvZ,sBAnDD,OA2DnCoF,cAACsT,GAAO,CAACQ,IAAG,UAAApZ,OAAYiF,EAAKgU,OAAO3Y,OAAM,KAAI+D,SAC5CiB,cAACqQ,GAAU,CACT0D,WAAW,aACXC,UAAQ,EAERC,WAAYtU,EAAKgU,OACjBO,WAAaC,IAAS,IAAAK,EAAA,OACpBxU,cAACwQ,GAAc,CAACtN,QAASA,IAAMuQ,EAASU,EAAKvZ,QAAS,SAASmE,SAC7DoD,eAACsO,GAAW,CAAA1R,SAAA,CACViB,cAACyO,GAAS,CAAC7T,QAASuZ,EAAKvZ,QAAQoR,cAAe0C,KAAM,KACtDvM,eAAA,QAAMoB,MAAO,CAAE6Q,UAAW,aAAcrV,SAAA,CACtCoD,eAACuO,GAAU,CAAA3R,SAAA,CAAEoV,EAAK7O,KAAK,KAAc,QAAZkP,EAACL,EAAK5O,cAAM,IAAAiP,OAAA,EAAXA,EAAa7F,cAAc,IAAEwF,EAAKhH,gBAAkBnN,cAAC4M,GAAiB,CAAA7N,SAACiB,cAACuU,KAAiB,MAA0B,MAC7IvU,cAAC2Q,GAAc,CAAA5R,SAAEoV,EAAKvZ,iBAGX,KAf4B,UAmBnDoF,cAACsT,GAAO,CAACQ,IAAG,UAAApZ,OAAYiF,EAAKiU,OAAO5Y,OAAM,KAAI+D,SAC5CiB,cAACqQ,GAAU,CACT0D,WAAW,aACXC,UAAQ,EAERC,WAAYtU,EAAKiU,OACjBM,WAAaC,GACXnU,cAACwQ,GAAc,CAACtN,QAASA,IAAMuQ,EAASU,EAAKvZ,QAAS,WAAWmE,SAC/DoD,eAAC0O,GAAW,CAAA9R,SAAA,CACViB,cAACmT,GAAeC,MAAK,CAAC1E,KAAM,KAC5BvM,eAAA,QAAMoB,MAAO,CAAE6Q,UAAW,aAAcrV,SAAA,CACtCiB,cAACgR,GAAU,CAAAjS,SAAEoV,EAAKE,QAClBrU,cAACkR,GAAc,CAAAnS,SAAEoV,EAAKvZ,qBAZiB,SAmBnDoF,cAACsT,GAAO,CAACQ,IAAG,MAAApZ,OAAQiF,EAAKkU,UAAU7Y,OAAM,KAAI+D,SAC3CiB,cAACqQ,GAAU,CACT0D,WAAW,aACXC,UAAQ,EAERC,WAAYtU,EAAKkU,UACjBK,WAAaC,GACXnU,cAACwQ,GAAc,CAACtN,QAASA,IAAMuQ,EAASU,EAAKvZ,QAAS,WAAWmE,SAC/DoD,eAAC0O,GAAW,CAAA9R,SAAA,CACViB,cAACmT,GAAeE,GAAE,CAAC3E,KAAM,KACzBvM,eAAA,QAAMoB,MAAO,CAAE6Q,UAAW,aAAcrV,SAAA,CACtCiB,cAACgR,GAAU,CAAAjS,SAAEoV,EAAKjB,aAClBlT,cAACkR,GAAc,CAAAnS,SAAEoV,EAAKvZ,qBAZgB,cAlG9B,YAwH5B,CAEe,SAASwT,KACtB,MAAMqG,EAAUC,eACV,cAAEjW,GAAkBE,KACnBgW,EAAaC,GAAkBtV,mBAInC,CAAEqU,OAAQ,GAAIC,OAAQ,GAAIC,UAAW,MACjCjK,EAAQiL,GAAavV,mBAAS,CAAEqS,aAAc,GAAItL,KAAM,KAEzDyO,EAAYC,OAAOC,OAAOL,GAAaM,MAAKlC,GAAkB,IAAbA,EAAE/X,SAEnDka,EAAoBC,cAAqB7a,UAC7C,MAAM8a,EA3JV,SAA+BzD,EAAsB0D,GACnD,IAAID,EAAmBC,EAAUC,QAAQ9G,IAAU,IAAA+G,EAAAhH,EAAAiH,EAAA,OAC5C,OAALhH,QAAK,IAALA,GAAW,QAAN+G,EAAL/G,EAAOlJ,YAAI,IAAAiQ,OAAN,EAALA,EAAavJ,cAAcqG,SAASV,EAAa3F,kBAC5C,OAALwC,QAAK,IAALA,GAAa,QAARD,EAALC,EAAOjJ,cAAM,IAAAgJ,OAAR,EAALA,EAAevC,cAAcqG,SAASV,EAAa3F,kBAC9C,OAALwC,QAAK,IAALA,GAAc,QAATgH,EAALhH,EAAO5T,eAAO,IAAA4a,OAAT,EAALA,EAAgBxJ,cAAcqG,SAASV,EAAa3F,eAAc,IASpE,OAPAoJ,EAAmBA,EAAiBK,MAAK,CAAClN,EAAQmN,KAC3C,OAADnN,QAAC,IAADA,OAAC,EAADA,EAAG4E,oBAAqB,OAADuI,QAAC,IAADA,OAAC,EAADA,EAAGvI,kBACpB,OAADuI,QAAC,IAADA,OAAC,EAADA,EAAG1I,mBAAoB,OAADzE,QAAC,IAADA,OAAC,EAADA,EAAGyE,mBAExB,OAAD0I,QAAC,IAADA,OAAC,EAADA,EAAGvI,kBAAmB,OAAD5E,QAAC,IAADA,OAAC,EAADA,EAAG4E,mBAG5BiI,CACT,CA6I6BO,CAAsBC,EAASnX,GAClDoX,QAAyBnE,GAAsBkE,GAC/CE,QAAsBhE,GAAc8D,GAE1ChB,EAAe,IAAKD,EAAahB,OAAQyB,EAAkBxB,OAAQiC,EAAkBhC,UAAWiC,GAAgB,GAC/G,KA0BH,SAASC,IAEP,OAAIpB,EAAYf,OAAO5Y,OAAS,GAC9ByZ,EAAQuB,KAAK,YAADtb,OAAaia,EAAYf,OAAO,GAAGhZ,UACxCqb,KAELtB,EAAYhB,OAAO3Y,OAAS,GAC9ByZ,EAAQuB,KAAK,UAADtb,OAAWia,EAAYhB,OAAO,GAAG/Y,UACtCqb,KAGLrM,EAAO+H,cAAgB/H,EAAOvD,MAChCoO,EAAQuB,KAAK,IAADtb,OAAKkP,EAAOvD,KAAI,KAAA3L,OAAIkP,EAAO+H,eAChCsE,UAFT,CAIF,CAMA,SAASA,IACPrB,EAAe,CAAEjB,OAAQ,GAAIC,OAAQ,GAAIC,UAAW,KACpDgB,EAAU,CAAElD,aAAc,GAAItL,KAAM,IACtC,CAEA,OACErG,cAACoE,GAAO,CAAArF,SACNoD,eAACyN,GAAU,CAAA7Q,SAAA,CACTiB,cAAC+P,GAAgB,CAAAhR,SACfoD,eAAC2N,GAAc,CAAA/Q,SAAA,CACbiB,cAACkQ,GAAW,CACVgG,YAAY,0DACZC,SAzDZ7b,eAA8B6I,GAC5B,MAAMwO,EAAexO,EAAEmD,OAAOpG,MAAMgS,OAEpC,IAAKP,EAAc,OAAOsE,IAG1B,OADAf,EAAkBvD,IACV,GACN,KAAKA,EAAayE,WAAW,OAAiC,KAAxBzE,EAAa3W,OACjD6Z,EAAU,CAAElD,eAActL,KAAM,OAChC,MACF,KAAKsL,EAAayE,WAAW,OAAiC,KAAxBzE,EAAa3W,OACjD6Z,EAAU,CAAElD,eAActL,KAAM,YAChC,MAEF,KAAMsL,EAAa9G,MAAM,OACvBgK,EAAU,CAAElD,eAActL,KAAM,UAChC,MAEF,QACEwO,EAAU,CAAElD,eAActL,KAAM,YAGtC,EAoCYgQ,aAAcN,EACdO,YAAU,IAGX1M,EAAO+H,cAAgBmD,GACtB9U,cAACwT,GAAc,CAAC7T,KAAMgV,EAAalB,SAtB/C,SAAkC7Y,EAAiByL,GACjDoO,EAAQuB,KAAK,IAADtb,OAAK2L,EAAI,KAAA3L,OAAIE,GAC3B,SAyBMoF,cAACmQ,GAAY,CAACoG,KAAMvW,cAACwW,KAAc,CAACjT,MAAO,CAAEwK,SAAU,OAAQ0I,OAAQ,SAAWvT,QAAS6S,UAMnG,C,wBC7PeW,I,YAAAA,GAff,WACE,OACEvU,eAAA,OAAApD,SAAA,CACEoD,eAACS,IAAG,CAACiB,OAAQ,CAAC,GAAI,IAAI9E,SAAA,CACpBiB,cAAC6C,IAAG,CAACiC,KAAM,GAAG/F,SAACiB,cAAC2W,KAAQ,CAACC,QAAM,EAACC,UAAW,CAAEC,KAAM,OACnD9W,cAAC6C,IAAG,CAACiC,KAAM,GAAG/F,SAACiB,cAAC2W,KAAQ,CAACC,QAAM,EAACC,UAAW,CAAEC,KAAM,UAErD9W,cAAC+W,KAAO,IACR/W,cAAC4C,IAAG,CAAA7D,SACFiB,cAAC6C,IAAG,CAACiC,KAAM,GAAG/F,SAACiB,cAAC2W,KAAQ,CAACC,QAAM,EAACC,UAAW,CAAEC,KAAM,WAI3D,E,wCCZO,MAAME,GAAoB1W,IAAOC,IAAGI,QAAAC,YAAA,0dAMhC9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM9D,IAAI,IAOvB0F,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM9D,IAAI,IAEvB2F,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM7D,WAAW,IAYlC2b,GAAe3W,IAAOC,IAAGO,QAAAF,YAAA,u0BACtBK,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM1D,GAAG,IAQpByF,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM1D,GAAG,IAGT0F,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM7C,MAAM,IAE7C8E,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAM9D,IAAI,IAIlBoJ,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAM3D,GAAG,IAGXkJ,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAM5C,OAAO,IAG5BoI,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAKxF,EAAM5C,OAAO,IAC9CqI,IAAA,IAAC,MAAEzF,GAAOyF,EAAA,OAAKzF,EAAM9D,IAAI,IACpB0J,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAM3D,GAAG,IAGxBmN,IAAA,IAAC,MAAExJ,GAAOwJ,EAAA,OAAKxJ,EAAMtD,OAAO,IAMvC+M,IAAA,IAAC,MAAEzJ,GAAOyJ,EAAA,OAAKzJ,EAAM7D,WAAW,IAIhC4b,GAAY5W,YAAO2F,KAAWD,KAAlB1F,CAAuBmB,QAAAb,YAAA,8BAGnCuW,GAAW7W,IAAOwE,KAAIlD,QAAAhB,YAAA,mLCnDpBwW,I,GAAAA,GAnBf,WACE,OACEjV,eAAA,OAAApD,SAAA,CACEiB,cAAC4C,IAAG,CAAA7D,SACFiB,cAAC6C,IAAG,CAACiC,KAAM,GAAG/F,SAACiB,cAAC2W,KAAQ,CAACC,QAAM,EAACC,UAAW,CAAEC,KAAM,SAErD9W,cAAC4C,IAAG,CAAA7D,SACFiB,cAAC6C,IAAG,CAACiC,KAAM,GAAG/F,SAACiB,cAAC2W,KAAQ,CAACC,QAAM,EAACC,UAAW,CAAEC,KAAM,SAErD9W,cAAC4C,IAAG,CAAA7D,SACFiB,cAAC6C,IAAG,CAACiC,KAAM,GAAG/F,SAACiB,cAAC2W,KAAQ,CAACC,QAAM,EAACC,UAAW,CAAEC,KAAM,SAErD9W,cAAC4C,IAAG,CAAA7D,SACFiB,cAAC6C,IAAG,CAACiC,KAAM,GAAG/F,SAACiB,cAAC2W,KAAQ,CAACC,QAAM,EAACC,UAAW,CAAEC,KAAM,WAI3D,E,wCCNO,MAAMvS,GAAejE,YAAOkE,KAAPlE,CAAcK,QAAAC,YAAA,uiBAOpB9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAMpB,KAAK,IAC1BgD,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAMlB,KAAK,IACrC+C,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAMnB,OAAO,IAKfiD,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAMd,YAAY,IACjC6C,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAMb,cAAc,IAMnC6C,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAMjB,WAAW,IAChCkD,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAMhB,WAAW,IAC3CsG,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAMf,aAAa,IAIhC,SAASiZ,GAAmB3S,GAA+D,IAA9D,WAAE4S,EAAU,WAAEC,EAAU,MAAEC,GAAiC9S,EACrG,OAAc,IAAV8S,EAAoB,KAGtBrV,eAACiE,KAAK,CAAArH,SAAA,CACJiB,cAACuE,GAAY,CAACkT,SAAkC,IAAxBF,EAAWG,SAAgBxU,QAASA,IAAMoU,EAAW,SAASvY,SAACiB,cAAC2X,KAAoB,MAC5G3X,cAACuE,GAAY,CAACkT,SAAkC,IAAxBF,EAAWG,SAAgBxU,QAASA,IAAMoU,EAAW,QAAQvY,SAACiB,cAAC4X,KAAY,MACnGzV,eAAA,QAAApD,SAAA,CAAM,QAAMyL,GAAa+M,EAAWG,UAAU,OAAKF,GAAShN,GAAagN,MACzExX,cAACuE,GAAY,CAACkT,SAAUF,EAAWG,WAAaF,EAAOtU,QAASA,IAAMoU,EAAW,QAAQvY,SAACiB,cAAC6X,KAAa,MACxG7X,cAACuE,GAAY,CAACkT,SAAUF,EAAWG,WAAaF,EAAOtU,QAASA,IAAMoU,EAAW,QAAQvY,SAACiB,cAAC8X,KAAmB,QAGpH,CCxCA,MAAM,OAAEC,IAAWC,KAYJ,SAASC,GAASnZ,GAQb,IARc,QAChCoZ,EAAO,WACPjE,EAAU,MACVP,EAAK,OACLpS,EAAM,QACN6W,EAAO,QACPC,EAAO,eACPC,GAAiB,GACFvZ,EACf,MAAMyK,EAAWP,MACVuO,EAAYe,GAAiBhZ,mBAAS,CAAEiZ,WAAY,GAAIb,SAAU,KAClEc,EAAKC,GAAUnZ,oBAAS,GAEzBoZ,EAAYhF,GAAUA,EAAQ1O,GAAc0O,EAAQ1O,GACpDwS,EAAQ9D,GAAS6D,EAAaoB,KAAKC,KAAKF,EAAYnB,EAAWgB,YAAc,EAC7Ezd,EAASyc,EAAWgB,YAAchB,EAAWG,SAAW,GAE9D,SAASJ,EAAWuB,GAClB,IAAKrB,EAAO,OACZ,IAAIE,EAAWH,EAAWG,SAE1B,QAAQ,GACN,IAAa,UAARmB,EACHnB,EAAW,EACX,MACF,IAAa,SAARmB,EACHnB,EAAWF,EACX,MACF,IAAa,SAARqB,EACEtB,EAAWG,SAAW,GAAMF,IAC/BE,EAAWH,EAAWG,SAAW,GAEnC,MACF,IAAa,SAARmB,EACEtB,EAAWG,SAAW,GAAM,IAC/BA,EAAWH,EAAWG,SAAW,GAKnCA,IAAaH,EAAWG,UAAUY,EAAc,IAAKf,EAAYG,YACvE,CAQA3X,qBAAU,KACJqY,GAAS7O,EAAS6O,EAAQ,CAAEtd,SAAQI,MAAOqc,EAAWgB,aAAc,GACvE,CAAChB,EAAYa,IAChBnE,EAAaA,EAAW6E,KAAI,CAAC3E,EAAW4E,KAG/B,IAAK5E,EAAM6E,KAFLD,EAAQje,EAAS,EAENsI,IAAK2V,MAG/B,MAAME,EAAgBf,GAAWgB,MAAMC,QAAQjB,IAAYA,EAAQY,KAAKM,IAChD,cAAlBA,EAAIC,YACND,EAAI5W,MACFxC,cAAAgO,WAAA,CAAAjP,SACGyZ,EACExY,cAACmX,GAAQ,CAAApY,SAAC,eACRoD,eAACgV,GAAQ,CAAApY,SAAA,CAAC,QAAKiB,cAACsZ,KAAmB,SAE5CF,EAAIG,OAAUhO,GAAaiN,EnBzD1B,SAAmBxN,GAAiE,IAA9CC,EAAOlQ,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,kCACrD,IAAKiQ,EAAW,OAAO,KAEvB,MAAME,EAAY,IAAI1D,KAAiB,IAAZwD,GAC3B,OAAOG,aAAOC,aAAWF,EAAWA,EAAUG,qBAAsBJ,EACtE,CmBoDuCuO,CAAUjO,EAAM,uBAAyBD,GAAmBC,GAC7F6N,EAAIK,aAAe,KACV,CACLvW,QAAQA,KACNuV,GAAQD,EAAI,KAKbY,KAGT,OACEjX,eAAC8U,GAAY,CAACvW,UAAU,gBAAe3B,SAAA,GAClC2U,GACDvR,eAAC6U,GAAiB,CAAAjY,SAAA,CAChBoD,eAACiE,KAAK,CAAArH,SAAA,CACU,YAAZoZ,GAAyBlE,EAAWjZ,OAAS,GAAMgF,cAAC0Z,KAAI,IACzDpY,KAEHtB,cAAA,OAAKU,UAAU,iBAAgB3B,SAC5BsZ,GAAkBrY,cAACqX,GAAmB,CAACC,WAAYA,EAAYE,MAAOA,EAAOD,WAAYA,SAKlF,YAAZY,GAA+C,IAAtBlE,EAAWjZ,QACpCgF,cAACoX,GAAgB,IAGL,YAAZe,GAA+C,IAAtBlE,EAAWjZ,QACpCgF,cAAC2Z,KAAK,CACJjZ,UAAU,uBACVwX,QAASe,EACThF,WAAY,GACZsD,YAAY,EACZ7I,KAAK,SACLkL,OAAQ,CAAEC,EAAGZ,EAAcje,OAAS,EAAI,KAAO,OAIlDiZ,EAAWjZ,OAAS,GACnBgF,cAAC2Z,KAAK,CACJjZ,UAAU,uBACVwX,QAASe,EACThF,WAAYA,EACZsD,YAAY,EACZ7I,KAAK,SACLkL,OAAQ,CAAEC,EAAGZ,EAAcje,OAAS,EAAI,KAAO,SAIhD0Y,GAAS2E,GACVlW,eAAC6U,GAAiB,CAAAjY,SAAA,CAChBiB,cAAA,OAAKU,UAAU,iBAAgB3B,SAC3ByY,EAAQ,GACRrV,eAACiE,KAAK,CAAArH,SAAA,CAAC,OAELoD,eAAC6V,KAAM,CAAC8B,aAAcvC,EAAWgB,WAAWpT,WAAYgR,SAjFtE,SAA0BjW,GACxB,IAAIqY,EAAane,OAAO8F,GAEpBqY,IAAehB,EAAWgB,YAAYD,EAAc,CAAEZ,SAAU,EAAGa,cACzE,EA6EiGxZ,SAAA,CACjFiB,cAAC+X,GAAM,CAAC7X,MAAM,KAAInB,SAAC,OACnBiB,cAAC+X,GAAM,CAAC7X,MAAM,KAAInB,SAAC,OACnBiB,cAAC+X,GAAM,CAAC7X,MAAM,MAAKnB,SAAC,WACb,gBAMfiB,cAACqX,GAAmB,CAACC,WAAYA,EAAYE,MAAOA,EAAOD,WAAYA,SAKjF,CC7JA,MAAQvR,KAAK,IAAIC,KAsHF8T,OA/GgDjb,IAAsB,IAArB,MAAE4U,EAAK,KAAErN,GAAMvH,EAC7E,IAAK4U,IAAUrN,EAAM,OAAO,KAC5B,MAAM2T,EAAkBhV,GAAa,IAErC,QAAQ,GACN,IAAe,OAATqB,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SACfiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,IAAEA,GAASA,EAAQ,EAAI,eAAiB,cACvFA,EAAQ1O,IAAe7C,eAAC+U,GAAS,CAAC7Q,KAAK,YAAWtH,SAAA,CAAC,2BAA2Bib,EAAgB,qBAKxG,IAAe,UAAT3T,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SAAMiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,IAAEA,GAASA,EAAQ,EAAI,SAAW,QACtGA,EAAQ1O,IAAe7C,eAAC+U,GAAS,CAAC7Q,KAAK,YAAWtH,SAAA,CAAC,2BAA2Bib,EAAgB,qBAKxG,IAAe,UAAT3T,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SAAMiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,IAAEA,GAASA,EAAQ,EAAI,SAAW,QACtGA,EAAQ1O,IAAe7C,eAAC+U,GAAS,CAAC7Q,KAAK,YAAWtH,SAAA,CAAC,2BAA2Bib,EAAgB,qBAKxG,IAAe,iBAAT3T,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SAAMiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,IAAEA,GAASA,EAAQ,EAAI,UAAY,SACvGA,EAAQ1O,IAAe7C,eAAC+U,GAAS,CAAC7Q,KAAK,YAAWtH,SAAA,CAAC,2BAA2Bib,EAAgB,qBAKxG,IAAe,UAAT3T,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SAAMiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,UACpEA,EAAQ1O,IAAe7C,eAAC+U,GAAS,CAAC7Q,KAAK,YAAWtH,SAAA,CAAC,2BAA2Bib,EAAgB,qBAKxG,IAAe,iBAAT3T,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SAAMiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,IAAEA,GAASA,EAAQ,EAAI,UAAY,SACvGA,EAAQ1O,IAAe7C,eAAC+U,GAAS,CAAC7Q,KAAK,YAAWtH,SAAA,CAAC,2BAA2Bib,EAAgB,qBAKxG,IAAe,eAAT3T,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SAAMiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,oBAI9E,IAAe,iBAATrN,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SAAMiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,sBAI9E,IAAe,YAATrN,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SAAMiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,YACpEA,EAAQ1O,IAAe7C,eAAC+U,GAAS,CAAC7Q,KAAK,YAAWtH,SAAA,CAAC,2BAA2Bib,EAAgB,qBAKxG,IAAe,aAAT3T,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAE,SAAMiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,aACrEA,EAAQ1O,IAAe7C,eAAC+U,GAAS,CAAC7Q,KAAK,YAAWtH,SAAA,CAAC,2BAA2Bib,EAAgB,qBAIxG,IAAe,YAAT3T,EACJ,OACErG,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SACfiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,IAAEA,GAASA,EAAQ,EAAI,YAAc,WACpFA,EAAQ1O,IAAe7C,eAAC+U,GAAS,CAAC7Q,KAAK,YAAWtH,SAAA,CAAC,2BAA2Bib,EAAgB,qBAIxG,QACE,OACEha,cAACoG,KAAK,CAAArH,SACJoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,SAAMiB,cAACgG,GAAI,CAAAjH,SAAE2U,GAASlJ,GAAakJ,KAAc,IAAEA,GAASA,EAAQ,EAAI,UAAY,SACvGA,EAAQ1O,IAAe7C,eAAC+U,GAAS,CAAC7Q,KAAK,YAAWtH,SAAA,CAAC,2BAA2Bib,EAAgB,qBAI1G,ECnHF,SAASC,GAAezX,EAAkC5H,EAAiBsf,GACzE,OAAI1X,GAGG5H,EAAQoR,aACjB,CAoBemO,OAlBf,SAAoBrb,GAA2F,IAA1F,MAAE0D,EAAK,QAAE5H,EAAO,KAAEyL,EAAO,UAAS,SAAE6T,GAAW,EAAK,QAAEE,GAAU,GAAuBtb,EAC1G,OAAKlE,EAEAwf,EAOHpa,cAAC6N,KAAO,CAACrL,MAAO5H,EAAQmE,SACtBiB,cAAA,OAAKuD,MAAO,CAAE8W,SAAU,QAAStb,SAC/BiB,cAACsC,IAAI,CAAC5B,UAAU,0BAA0B6B,GAAE,IAAA7H,OAAM2L,EAAI,KAAA3L,OAAIE,GAAUmE,SAAEkb,GAAezX,EAAO5H,SAP9FoF,cAACsC,IAAI,CAAC5B,UAAU,0BAA0B6B,GAAE,IAAA7H,OAAM2L,EAAI,KAAA3L,OAAIE,GAAUmE,SAAEkb,GAAezX,EAAO5H,KAJ3E,IAevB,ECRe0f,aAbf,SAAoBxb,GAA2C,IAA1C,QAAE2V,EAAO,SAAE1V,GAA4BD,EAU1D,OATAiB,qBAAU,KACR,MAAMwa,EAAW9F,EAAQ+F,QAAO,KAC9B1gB,OAAO2gB,SAAS,EAAG,EAAE,IAEvB,MAAO,KACLF,GAAU,CACX,GACA,IAEIva,cAAC0a,WAAQ,CAAA3b,SAAEA,GACpB,ICPe,SAAS4b,GAAY7b,GAA2F,IAAD8b,EAAAC,EAAA,IAAvFC,SAAUC,EAAWxH,KAAI,SAAExU,EAAQ,UAAEic,EAAS,QAAEC,KAAYC,GAAyBpc,EAC1H,MAAM2V,EAAUC,cAChB,IAAI,KAAEyG,EAAI,OAAEvR,GAAWD,cACvBwR,GAAW,QAAJP,EAAAO,SAAI,IAAAP,OAAA,EAAJA,EAAM9P,QAAQ,IAAK,MAAO,GACjClB,GAAe,QAANiR,EAAAjR,SAAM,IAAAiR,OAAA,EAANA,EAAQhP,MAAM,KAAM,GAC7B,MAAOuP,EAAWC,GAAgB/b,mBAAS,WAgB3C,SAASgc,EAAiBlY,GACxBiY,EAAajY,GAED,YAARA,EAAmBqR,EAAQ3J,QAAQ,CAAEqQ,KAAM/X,EAAKwG,WAC/C6K,EAAQ3J,QAAQ,CAAEqQ,KAAM,GAAIvR,UACnC,CAEA,OArBA7J,qBAAU,KACFob,GAAQF,EAAQ5I,SAAS8I,GAC7BE,EAAaF,GAEbE,EAAa,UACf,GACC,CAACF,IAEJpb,qBAAU,KACHib,GAELM,EAAiBN,EAAU,GAC1B,CAACA,IAUFhb,cAAC+a,EAAQ,CAACK,UAAWA,EAAWG,WAAYD,KAAsBJ,EAAInc,SACnEA,GAGP,C,0BC7Ce,OAA0B,mCCA1B,OAA0B,gDCA1B,OAA0B,+CC+P1Byc,OA7NK1c,IAA4E,IAA3E,QAAE2c,EAAO,YAAEC,EAAW,WAAEC,EAAU,eAAEC,GAAiC9c,EACtF,MAAO+c,EAAgBC,GAAqBxc,oBAAS,GAS/Cyc,EAAgBzhB,UAClBR,OAAO+M,KAAO,IAAIC,KAAKhN,OAAOkiB,OAAOC,UACrC,MAAMlV,QAAkBjN,OAAOkiB,OAAOC,SAASjV,QAAQ,CACnDC,OAAQ,gBAEZ6U,GAAkB,GAClB,IACI,GAAI1hB,OAAO2M,KAAenN,EAAS,OACzBE,OAAOkiB,OAAOC,SAASjV,QAAQ,CACjCC,OAAQ,0BACRC,OAAQjC,KAEZ,MAAMiX,SAAoBpiB,OAAO+M,KAAKqD,IAAIiS,eAAe,GAOzD,OANID,GACAN,GAAe,GACfD,EAAWO,IAEXN,GAAe,IAEZ,CACX,CAAO,OACG9hB,OAAOkiB,OAAOC,SAASG,KAAK,uBAClC,MAAMF,SAAoBpiB,OAAO+M,KAAKqD,IAAIiS,eAAe,GACrDD,GACAN,GAAe,GACfD,EAAWO,IAEXN,GAAe,EAEvB,CACJ,CAAE,MAAOhc,GAEL,OADAC,QAAQD,MAAMA,IACP,CACX,GAsCEyc,EAAiB/hB,UACnBR,OAAO+M,KAAO,IAAIC,KAAKhN,OAAOwiB,SAC9BR,GAAkB,GAClB,IACI,MAGMI,SAHYpiB,OAAOwiB,QAAQtV,QAAQ,CACrCC,OAAQ,yBAEW,GACnBiV,GACAN,GAAe,GACfD,EAAWO,IAEXN,GAAe,EAEvB,CAAE,MAAOhc,GAEL,OADAC,QAAQD,MAAMA,IACP,CACX,GAEE2c,EAAgBjiB,UAClBR,OAAO+M,KAAO,IAAIC,KAAKhN,OAAO0iB,QAAQP,UACtC,MAAMlV,QAAkBjN,OAAO0iB,QAAQP,SAASjV,QAAQ,CACpDC,OAAQ,gBAEZ6U,GAAkB,GAClB,IACI,GAAI1hB,OAAO2M,KAAenN,EAAS,OACzBE,OAAO0iB,QAAQP,SAASjV,QAAQ,CAClCC,OAAQ,0BACRC,OAAQjC,KAEZ,MAAMiX,SAAoBpiB,OAAO+M,KAAKqD,IAAIiS,eAAe,GAOzD,OANID,GACAN,GAAe,GACfD,EAAWO,IAEXN,GAAe,IAEZ,CACX,CAAO,OACG9hB,OAAO0iB,QAAQP,SAASG,KAAK,uBACnC,MAAMF,SAAoBpiB,OAAO+M,KAAKqD,IAAIiS,eAAe,GACrDD,GACAN,GAAe,GACfD,EAAWO,IAEXN,GAAe,EAEvB,CACJ,CAAE,MAAOhc,GAEL,OADAC,QAAQD,MAAMA,IACP,CACX,GAEE6c,EAAsBniB,UAA8D,IAADoiB,EAErF,OADmBC,SAA8C,QAAtCD,EAACvZ,EAAEyZ,cAAcC,aAAa,gBAAQ,IAAAH,IAAI,MAEjE,KAAK3W,GAAc+W,OACXhjB,OAAOkiB,aACDD,IAEN5U,MAAM,gCAEV,MACJ,KAAKpB,GAAcgX,QACXjjB,OAAOkiB,aACDD,IACCjiB,OAAOwiB,cACRD,IAENlV,MAAM,iCAEV,MACJ,KAAKpB,GAAciX,OACXljB,OAAOkiB,aACDD,IACCjiB,OAAOwiB,cACRD,IACCviB,OAAO0iB,cACRD,IAENpV,MAAM,gCAEV,MACJ,KAAKpB,GAAckX,SACXnjB,OAAOkiB,aACDD,IACCjiB,OAAOwiB,cACRD,IACCviB,OAAO0iB,cACRD,IACCziB,OAAO8M,cA/HNtM,WAEpBR,OAAO+M,KAAO,IAAIC,KAAKhN,OAAO8M,UAC9B,MAAMG,QAAkBjN,OAAO8M,SAASI,QAAQ,CAC5CC,OAAQ,gBAEZ6U,GAAkB,GAClB,IACI,GAAI1hB,OAAO2M,KAAenN,EAAS,OACzBE,OAAO8M,SAASI,QAAQ,CAC1BC,OAAQ,0BACRC,OAAQjC,KAEZ,MAAMiX,SAAoBpiB,OAAO+M,KAAKqD,IAAIiS,eAAe,GAOzD,OANID,GACAN,GAAe,GACfD,EAAWO,IAEXN,GAAe,IAEZ,CACX,CAAO,OACG9hB,OAAO8M,SAASwV,KAAK,uBAC3B,MAAMF,SAAoBpiB,OAAO+M,KAAKqD,IAAIiS,eAAe,GACrDD,GACAN,GAAe,GACfD,EAAWO,IAEXN,GAAe,EAEvB,CACJ,CAAE,MAAOhc,GAEL,OADAC,QAAQD,MAAMA,IACP,CACX,GA8FkBsd,GAEN/V,MAAM,2BAEV,MACJ,QAASA,MAAM,sBAEnB,EAEJ,OACIhF,eAAA6L,WAAA,CAAAjP,SAAA,CACIiB,cAAA,OAAKU,UAAYgb,EAAwB,UAAV,QAAqBnY,MAAO,CAAEK,aAAc,QAAS7E,SAC9E2c,EAKEvZ,eAAA6L,WAAA,CAAAjP,SAAA,CACIiB,cAAC6E,GAAQ,CAAA9F,SAAC,cAAoB,KAAEiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAc+gB,GAAU1c,SAAE0c,IAAe,OALrFzb,cAACmd,GAAa,CAACja,QAxLbka,KACdtB,GAAkB,EAAK,EAuLuB/c,SAC9BiB,cAAC6E,GAAQ,CAAA9F,SAAC,yBAQtBoD,eAACkb,GAAW,CAAC7a,MAAM,mBAAmB8a,QAASzB,EAAgB1X,OAAQ,KAAMoZ,SA9LhEC,KACjB1B,GAAkB,EAAM,EA6LgF/c,SAAA,CAChGoD,eAACoC,GAAY,CAACrB,QAAUC,GAAMsZ,EAAoBtZ,GAAIjD,MAAO6F,GAAc+W,OAAO/d,SAAA,CAC9EiB,cAAC6E,GAAQ,CAACtB,MAAO,CAAEwK,SAAU,QAAShP,SAAC,WACvCiB,cAAA,OAAKoH,MAAM,OAAOtE,IAAK2a,GAAYxa,IAAI,kBAE3Cd,eAACoC,GAAY,CAACrB,QAAUC,GAAMsZ,EAAoBtZ,GAAIjD,MAAO6F,GAAcgX,QAAQhe,SAAA,CAC/EiB,cAAC6E,GAAQ,CAACtB,MAAO,CAAEwK,SAAU,QAAShP,SAAC,YACvCiB,cAAA,OAAKoH,MAAM,OAAOtE,IAAK4a,GAAaza,IAAI,mBAE5Cd,eAACoC,GAAY,CAACrB,QAAUC,GAAMsZ,EAAoBtZ,GAAIjD,MAAO6F,GAAciX,OAAOje,SAAA,CAC9EiB,cAAC6E,GAAQ,CAACtB,MAAO,CAAEwK,SAAU,QAAShP,SAAC,WACvCiB,cAAA,OAAKoH,MAAM,OAAOtE,IAAK6a,GAAY1a,IAAI,kBAE3Cd,eAACoC,GAAY,CAACrB,QAAUC,GAAMsZ,EAAoBtZ,GAAIjD,MAAO6F,GAAckX,SAASle,SAAA,CAChFiB,cAAC6E,GAAQ,CAACtB,MAAO,CAAEwK,SAAU,QAAShP,SAAC,aACvCiB,cAAA,OAAKoH,MAAM,OAAOtE,IAAKuE,GAAapE,IAAI,qBAOjD,EAMX,MAAMoa,GAAc/c,YAAOsd,KAAPtd,CAAaK,QAAAC,YAAA,uXAILG,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM5D,EAAE,IAGvByF,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM5D,EAAE,IAChB0F,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM7C,MAAM,IAEzC4E,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM9D,IAAI,IAK7B8F,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM7D,WAAW,IAI3CuJ,GAAWvE,IAAOwE,KAAIhE,QAAAF,YAAA,2BACfQ,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAM9D,IAAI,IAEhC8hB,GAAgB7c,YAAOkE,KAAPlE,CAAcmB,QAAAb,YAAA,uKAGZ6D,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAMxD,GAAG,IAGpB+I,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAMxD,GAAG,IAG9C4I,GAAejE,YAAOkE,KAAPlE,CAAcsB,QAAAhB,YAAA,iUASX+D,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAKxF,EAAM7C,MAAM,IAC3BsI,IAAA,IAAC,MAAEzF,GAAOyF,EAAA,OAAKzF,EAAM1D,GAAG,IAEpBsJ,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAM1D,GAAG,I,oCC1RpD,MAAM4hB,GAAc/c,YAAOsd,KAAPtd,CAAaK,QAAAC,YAAA,4zDAsF3BiE,GAAWvE,IAAOwE,KAAIhE,QAAAF,YAAA,iGACjB9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAMzC,QAAQ,IAMlCmhB,GAAevd,IAAOC,IAAGkB,QAAAb,YAAA,wHAQzB2D,GAAejE,YAAOkE,KAAPlE,CAAcsB,QAAAhB,YAAA,yXAoBpB,SAASkd,GAAU/c,GAAoC,IAAnC,QAAE0a,EAAO,KAAEpV,EAAO,MAAK,MAAE7D,GAAOzB,EACjE,MAAM,SAAEgd,EAAQ,QAAEC,G5BzEb,WACL,MAAMC,EAAO,IAAIzW,KAAQ0W,EAAID,EAAKxW,cAAe0W,EAAIF,EAAKG,WAI1D,MAAO,CAAEL,SAHQ,IAAIvW,KAAKA,KAAK6W,IAAIH,EAAGC,EAAG,IAGtBH,QAFH,IAAIxW,KAAKA,KAAK6W,IAAIH,EAAGC,EAAI,EAAG,IAG9C,C4BmEgCG,IACvBC,EAAOC,GAAYlf,mBAAS,CAAEmf,KAAMV,EAASW,UAAY,IAAMnc,GAAIyb,EAAQU,UAAY,OACvF7C,EAAgBC,GAAqBxc,oBAAS,IAC9Cqf,EAAcC,GAAmBtf,mBAAS,IAU3Cke,EAAeA,KACnB1B,GAAkB,EAAM,EA+B1B,MAAM,KAAE1gB,GAASuD,IACjB,OACEwD,eAAA6L,WAAA,CAAAjP,SAAA,CACEiB,cAAC6d,GAAY,CAAA9e,SACXiB,cAAC6N,KAAO,CAACrL,MAAM,yBAAwBzD,SACrCoD,eAAC0C,GAAQ,CAACtB,MAAO,CAAEK,aAAc,OAAQJ,QAAS,gBAAkBN,QA3C1Dka,KAChBtB,GAAkB,GAClB0C,EAAS,CAAEC,KAAMV,EAASW,UAAY,IAAMnc,GAAIyb,EAAQU,UAAY,KAAO,EAyCkB3f,SAAA,iBAAkB,IAACiB,cAAC6e,KAAgB,WAG/H1c,eAACkb,GAAW,CACV3c,UAAoB,SAATtF,EAAkB,mBAAqB,oBAClDoH,MAAK,UAAA9H,OAAY8H,GACjB8a,QAASzB,EACT0B,SAAUC,EACVrZ,OACEhC,eAAA,OAAKzB,UAAU,sBAAqB3B,SAAA,CAClCiB,cAACuE,GAAY,CAAC7D,UAAU,mBAAmBwC,QAASsa,EAAaze,SAAC,WAClEoD,eAACoC,GAAY,CAAC7D,UAAU,kBAAiB3B,SAAA,CAC7B,eAATsH,GACCrG,cAAA,KACEsG,OAAO,SACPwY,IAAI,aACJvX,KAAI,GAAA7M,OAAKhB,EAAmB,mCAAAgB,OAAkC+gB,EAAO,cAAA/gB,OAAa6jB,EAAME,KAAI,YAAA/jB,OAAW6jB,EAAMhc,GAAE,oBAAmBxD,SACnI,aAIO,gBAATsH,GACCrG,cAAA,KACEsG,OAAO,SACPwY,IAAI,aACJvX,KAAI,GAAA7M,OAAKhB,EAAmB,KAAAgB,OAAI2L,EAAI,uBAAA3L,OAAsB+gB,EAAO,cAAA/gB,OAAa6jB,EAAME,KAAI,YAAA/jB,OAAW6jB,EAAMhc,IAAKxD,SAC/G,aAIO,YAATsH,GAAsBsY,GACrB3e,cAAA,KACEuD,MAAO,CAACkJ,MAAO,QACfnG,OAAO,SACPwY,IAAI,aACJvX,KAAI,GAAA7M,OAAKhB,EAAmB,KAAAgB,OAAI2L,EAAI,uBAAA3L,OAAsB+gB,EAAO,kBAAA/gB,OAAiBikB,EAAY,cAAAjkB,OAAa6jB,EAAME,KAAI,YAAA/jB,OAAW6jB,EAAMhc,IAAKxD,SAC5I,aAIO,YAATsH,IAAuBsY,GACtB3e,cAAA,KACEuD,MAAO,CAACkJ,MAAO,QACfnG,OAAO,SACPwY,IAAI,aACJvX,KAAI,GAAA7M,OAAKhB,EAAmB,KAAAgB,OAAI2L,EAAI,uBAAA3L,OAAsB+gB,EAAO,cAAA/gB,OAAa6jB,EAAME,KAAI,YAAA/jB,OAAW6jB,EAAMhc,IAAKxD,SAC/G,aAIO,gBAATsH,GACCrG,cAAA,KACEuD,MAAO,CAACkJ,MAAO,QACfnG,OAAO,SACPwY,IAAI,aACJvX,KAAI,GAAA7M,OAAKhB,EAAmB,aAAAgB,OAAY+gB,EAAO,+BAAA/gB,OAA8B6jB,EAAME,KAAI,YAAA/jB,OAAW6jB,EAAMhc,IAAKxD,SAC9G,eA7CyC,eAmDjDA,SAAA,CAEDiB,cAAA,OAAKU,UAAU,WAAU3B,SACvBiB,cAAA,MAAAjB,SACEiB,cAAA,MAAAjB,SAAI,+DAGRiB,cAAC6P,KAAI,CAACkP,OAAO,WAAUhgB,SACrBoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SACpBiB,cAAC6P,KAAKxN,KAAI,CAAC2c,MAAM,OAAMjgB,SACrBiB,cAACif,GAAU,CACT/e,MAAO,IAAIsH,KAAkB,IAAb+W,EAAME,MACtBtI,SA1GhB,SAA0B8H,GACxB,MAAMQ,EAAOS,aAAYjB,IAEpBA,GAAQQ,EAAOF,EAAMhc,IAC1Bic,EAAS,IAAKD,EAAOE,QACvB,EAsGgBnI,YAAY,QAIlBtW,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SACpBiB,cAAC6P,KAAKxN,KAAI,CAAC2c,MAAM,KAAIjgB,SACnBiB,cAACif,GAAU,CACT/e,MAAO,IAAIsH,KAAgB,IAAX+W,EAAMhc,IACtB4T,SA5GhB,SAAwB8H,GACtB,MAAM1b,EAAK2c,aAAYjB,IAElBA,GAAQ1b,EAAKgc,EAAME,MACxBD,EAAS,IAAKD,EAAOhc,MACvB,EAwGgB+T,YAAY,QAIR,YAATjQ,GACCrG,cAAC6C,IAAG,CAACiC,KAAM,GAAG/F,SACZiB,cAAC6P,KAAKxN,KAAI,CACR2c,MAAM,gBAAejgB,SAEvBiB,cAACgQ,KAAK,CAACkG,YAAY,6BAA6BC,SA/G9D,SAAkChT,GAChCyb,EAAgBzb,EAAEmD,OAAOpG,MAC3B,kBA+HF,C,0CCxSe+e,I,GAAAA,GAFIE,aAAeC,M,UCJnB,OAA0B,2C,oBCI1B,SAASC,GAAoB5e,GAC1C,OACET,cAAC6N,KAAO,CAACrL,MAAM,WAAUzD,SACvBiB,cAACsf,GAAS,CAAAvgB,SACRiB,cAACuf,KAAgB,IAAM9e,OAI/B,CAEA,MAAM6e,GAAYhf,IAAOwE,KAAInE,QAAAC,YAAA,yBAClB9B,IAAA,IAAC,MAACK,GAAML,EAAA,OAAIK,EAAM7D,WAAW,I,UCgBxC,MAAM,UAAEkkB,IAAcvZ,KAEhBwZ,GAAiBnf,IAAOC,IAAGI,QAAAC,YAAA,oDAK3B8e,GAAYpf,YAAO2L,GAAP3L,CAAiBQ,QAAAF,YAAA,iDAKtB+e,GAAwC,CACnD,CACEnd,MAAO,iBACP6W,UAAW,OACXE,OAAQA,CAAC4B,EAAcyE,IACrB5f,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO2Y,EAAKpc,SACnCoD,eAAA,OAAKoB,MAAO,CAAEC,QAAS,OAAQC,WAAY,UAAW1E,SAAA,CACnD6gB,EAAOjN,QAA4B,SAAlBiN,EAAOjN,QACvB3S,cAAA,QAAMuD,MAAO,CAAEkJ,MAAO,UAAWsB,SAAU,QAAShP,SAACiB,cAAC6f,KAAkB,MACzE,OAED7f,cAACsC,IAAI,CAAC5B,UAAU,eAAe6B,GAAE,OAAA7H,OAASygB,GAAOpc,SAAGoc,EAAKnP,sBAIjE,CACExJ,MAAO,SACP6W,UAAW,SACXjS,MAAO,QACPmS,OAAStS,GACPjH,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAOyE,GAAU,SAASlI,SACjDiB,cAACiM,GAAS,CAAC1I,MAAO,CAAEuc,QAAS,WAAYhR,WAAY,OAAQ1H,MAAO,OAAQ2Y,UAAW,UAAWhhB,SAAEkI,GAAU,cAGpH,CACEzE,MAAO,QACP6W,UAAW,cACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAAS0G,GAAkB9d,eAACG,IAAI,CAACC,GAAE,UAAA7H,OAAYulB,GAAQlhB,SAAA,CAAC,IAAEkhB,MAE5D,CACEzd,MAAO,OACP6W,UAAW,YACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAASvO,GAAsBhL,cAAAgO,WAAA,CAAAjP,SAAGuM,GAAmBN,MAEvD,CACExI,MAAO,OACP6W,UAAW,OACXE,OAAQA,CAACkF,EAAcmB,IACrBzd,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOM,cAAgBlgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SACnEjP,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAOic,EAAK1f,SACnCiB,cAACsC,IAAI,CAAC5B,UAAU,eAAe6B,GAAE,YAAA7H,OAAc+jB,GAAO1f,SAAG6gB,EAAOO,SAAWP,EAAOO,SAAW1B,EAAKzS,sBAI1G,CACExJ,MAAO,GACP6W,UAAW,OACX2G,UAAU,EACV5Y,MAAO,OACPgZ,MAAO,SACP7G,OAAShD,GAAiBvW,cAAA,OAAK8C,IAAMud,GAAgBpd,IAAI,MAE3D,CACET,MAAO,KACP6W,UAAW,KACXE,OAAQA,CAAChX,EAAYqd,IACnBzd,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOU,YAActgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SACjEjP,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAOD,EAAGxD,SACjCiB,cAACwf,GAAS,CAACQ,UAAQ,EAACtf,UAAU,MAAK3B,SAACiB,cAACsC,IAAI,CAAC5B,UAAU,eAAe6B,GAAE,YAAA7H,OAAc6H,GAAKxD,SAAG6gB,EAAOW,OAASX,EAAOW,OAAShe,EAAGyJ,wBAItI,CACExJ,MAAO,aACP6W,UAAW,QACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAASrZ,GAAkBF,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaJ,GAAOlK,EAAO,IAAK,MAEhE,CACEsC,MAAO,WACP6W,UAAW,MACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAASiH,GAAgBxgB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaJ,GAAOoW,EAAK,IAAK,OAIjDC,GAAe,CAC1B,CACEje,MAAO,eACPY,IAAK,SACLiW,UAAW,SACXE,OAASmH,GAAwBve,eAACG,IAAI,CAACC,GAAI,SAAWme,EAAY3hB,SAAA,CAAC,IAAE2hB,MAEvE,CACEle,MAAO,OACPY,IAAK,OACLiW,UAAW,YACXE,OAASvO,GAAmBhL,cAAAgO,WAAA,CAAAjP,SAAGuM,GAAmBN,MAEpD,CACExI,MAAO,eACPY,IAAK,eACLiW,UAAW,eACXE,OAASoH,GAAyB3gB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAamW,MAEpD,CACEne,MAAO,UACPY,IAAK,SACLiW,UAAW,SACXE,OAAQA,CAACqH,EAAgBhB,IAAgB5f,cAACma,GAAW,CAAC3X,MAAOoe,EAAQhmB,QAASglB,EAAOiB,MAEvF,CACEre,MAAO,YACPY,IAAK,UACLiW,UAAW,UACXE,OAASuH,GAAoB9gB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAasW,MAE/C,CACEte,MAAO,YACPY,IAAK,WACLiW,UAAW,WACXE,OAASwH,GAAqB/gB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaJ,GAAO2W,EAAU,QAEjE,CACEve,MAAO,eACPY,IAAK,WACLiW,UAAW,aAIF2H,GAAe,CAC1B,CACExe,MAAO,QACPY,IAAK,QACLiW,UAAW,QACXjS,MAAO,MACPmS,OAAS0H,GAAkBjhB,cAACsC,IAAI,CAACC,GAAI,UAAY0e,EAAMliB,SAAEkiB,KAE3D,CACEze,MAAO,cACPY,IAAK,aACLiW,UAAW,aACXjS,MAAO,MACPmS,OAAS2H,GAAuBlhB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYwmB,GAAaniB,SAAEmiB,KAErE,CACE1e,MAAO,YACPY,IAAK,WACLiW,UAAW,WACXjS,MAAO,MACPmS,OAAS4H,GAAqBnhB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYymB,GAAWpiB,SAAEoiB,KAEjE,CACE3e,MAAO,eACPY,IAAK,WACLiW,UAAW,WACXjS,MAAO,MACPmS,OAAS6H,GAAqBphB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAa4W,MAEhD,CACE5e,MAAO,aACPY,IAAK,aACLiW,UAAW,aACXjS,MAAO,MACPmS,OAAS8H,GAAoBrhB,cAAAgO,WAAA,CAAAjP,SAAGsiB,EAAWrmB,UAE7C,CACEwH,MAAO,QACPY,IAAK,QACLiW,UAAW,cACXjS,MAAO,MACPmS,OAAS+H,GAAwBthB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAa8W,MAEnD,CACE9e,MAAO,eACPY,IAAK,cACLiW,UAAW,cACXjS,MAAO,MACPmS,OAASgI,GAAqBvhB,cAAAgO,WAAA,CAAAjP,SAAGwiB,EAAYvmB,WAIpCwmB,GAAqB,CAChC,CACEhf,MAAO,UACPY,IAAK,UACLiW,UAAW,UACXjS,MAAO,IACPmS,OAAS3e,GAAoBoF,cAACma,GAAW,CAACvf,QAASA,KAErD,CACE4H,MAAO,aACPY,IAAK,YACLiW,UAAW,YACXjS,MAAO,IACPmS,OAASkI,GAAsBzhB,cAACma,GAAW,CAACvf,QAAS6mB,KAEvD,CACEjf,MAAO,kBACPY,IAAK,gBACLiW,UAAW,gBACX2G,UAAU,GAEZ,CACExd,MAAO,iBACPY,IAAK,aACLiW,UAAW,cAEb,CACE7W,MAAO,SACPY,IAAK,SACLiW,UAAW,SACXE,OAASmI,GAAmB1hB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaJ,GAAOsX,EAAQ,QAE7D,CACElf,MAAO,MACPY,IAAK,MACLiW,UAAW,QAIFsI,GAAe,CAC1B,CACEnf,MAAO,KACP6W,UAAW,OACXjS,MAAO,OACPmS,OAASP,GAAiBhZ,cAAAgO,WAAA,CAAAjP,SAAGia,KAE/B,CACExW,MAAO,QACP6W,UAAW,UACXE,OAAQA,CAAC/K,EAAeoR,KAAW,IAAAgC,EAAA,OACjCzf,eAAA,OAAKzB,UAAU,4BAA4B6C,MAAO,CAAE6D,MAAO,SAAUrI,SAAA,CACnEiB,cAACyO,GAAS,CAAC7T,QAASglB,EAAOhlB,UACzBglB,EAAOta,MAAQsa,EAAOra,QAAWvF,cAAAgO,WAAA,CAAAjP,SAAEiB,cAACma,GAAW,CAACvf,QAASglB,EAAOhlB,QAAS4H,MAAK,GAAA9H,OAAKklB,EAAOta,KAAI,MAAA5K,OAAkB,QAAlBknB,EAAKhC,EAAOra,cAAM,IAAAqc,OAAA,EAAbA,EAAejT,cAAa,KAAKtI,KAAK,cACxIuZ,EAAOta,OAASsa,EAAOra,SAAWvF,cAACma,GAAW,CAACvf,QAASglB,EAAOhlB,QAASyL,KAAK,YAG5E,GAEV,CACE7D,MAAO,OACP6W,UAAW,OACXE,OAASlT,GAAoBrG,cAACkP,GAAY,CAAC7I,KAAMA,KAEnD,CACE7D,MAAO,SACP6W,UAAW,SACXE,OAAQA,CAAC/K,EAAeoR,KACtB,GAAW,OAANA,QAAM,IAANA,KAAQzS,iBAA0B,OAANyS,QAAM,IAANA,KAAQ5S,iBACzC,OACEhN,cAAA,OAAKuD,MAAO,CAAEse,eAAgB,UAAYnhB,UAAU,mDAAkD3B,SACpGiB,cAAC8M,GAAW,CAACC,YAAa6S,EAAQ3S,YAAU,KACxC,GAIZ,CACEzK,MAAO,cACP6W,UAAW,QACXE,OAASuI,GAAkB9hB,cAAAgO,WAAA,CAAAjP,WAAK+iB,GAAK,IAAApnB,OAAQ8P,GAAasX,OAE5D,CACEtf,MAAO,aACP6W,UAAW,wBACXE,OAASwI,GAGL5f,eAAA6L,WAAA,CAAAjP,SAAA,CACIgjB,EAAmB,GAAM/hB,cAACqM,GAAe,CAAC3L,UAAU,KAAI3B,SAAA,GAAArE,OAAK8P,GAAamO,KAAKqJ,IAAID,GAAmB,GAAE,OACxGA,EAAmB,GAAM/hB,cAACqM,GAAe,CAAC3L,UAAU,OAAM3B,SAAA,GAAArE,OAAK8P,GAAamO,KAAKqJ,IAAID,GAAmB,GAAE,OACrF,IAArBA,GAA2B/hB,cAACqM,GAAe,CAAC3L,UAAU,UAAS3B,SAAA,GAAArE,OAAK8P,GAAamO,KAAKqJ,IAAID,GAAmB,GAAE,WAMzH,CACEvf,MAAO,mBACP6W,UAAW,SACXE,OAAS0I,GAAmBjiB,cAAAgO,WAAA,CAAAjP,WAAKkjB,GAAM,IAAAvnB,OAAQ8P,GAAayX,EAAQ,OAEtE,CACEzf,MAAO,kBACP6W,UAAW,YACXE,OAAS2I,GAAsBliB,cAAAgO,WAAA,CAAAjP,WAAKmjB,GAAS,IAAAxnB,OAAQ8P,GAAa0X,EAAW,OAE/E,CACE1f,MAAO,UACP6W,UAAW,SACXE,OAAS4I,GAAmBniB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAa2X,OAInCC,GAAkB,CAC7B,CACE5f,MAAO,KACP6W,UAAW,OACXjS,MAAO,OACPmS,OAASP,GAAiBhZ,cAAAgO,WAAA,CAAAjP,SAAGia,KAE/B,CACExW,MAAO,QACP6W,UAAW,UACXjS,MAAO,QACPmS,OAAQA,CAAC/K,EAAeoR,IACtBzd,eAAA,OAAKzB,UAAU,4BAA4B6C,MAAO,CAAE6D,MAAO,SAAUrI,SAAA,CACnEiB,cAACyO,GAAS,CAAC7T,QAASglB,EAAOhlB,UACzBglB,EAAOta,MAAQsa,EAAOra,QAAWvF,cAACma,GAAW,CAACvf,QAASglB,EAAOhlB,QAAS4H,MAAK,GAAA9H,OAAKklB,EAAOta,KAAI,MAAA5K,OAAKklB,EAAOra,OAAM,KAAKc,KAAK,YACvHuZ,EAAOta,OAASsa,EAAOra,SAAWvF,cAACma,GAAW,CAACvf,QAASglB,EAAOhlB,QAASyL,KAAK,cAGtF,CACE7D,MAAO,OACP6W,UAAW,OACXE,OAASlT,GAAoBrG,cAACkP,GAAY,CAAC7I,KAAMA,KAEnD,CACE7D,MAAO,SACP6W,UAAW,SACXE,OAAQA,CAAC/K,EAAeoR,KACtB,GAAW,OAANA,QAAM,IAANA,KAAQzS,iBAA0B,OAANyS,QAAM,IAANA,KAAQ5S,iBACzC,OACEhN,cAAA,OAAKuD,MAAO,CAAEse,eAAgB,UAAYnhB,UAAU,mDAAkD3B,SACpGiB,cAAC8M,GAAW,CAACC,YAAa6S,EAAQ3S,YAAU,KACxC,GAKZ,CACEzK,MAAO,iBACP6W,UAAW,gBACXE,OAAS8I,GAA0BriB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAa6X,MAErD,CACE7f,MAAO,iBACP6W,UAAW,yBACXE,OAAS8I,GAA0BriB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAa6X,MAErD,CACE7f,MAAO,UACP6W,UAAW,SACXE,OAAS4I,GAAmBniB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAa2X,MAE9C,CACE3f,MAAO,eACP6W,UAAW,oBACXE,OAAS+I,GAA8BtiB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAa8X,OAI9CC,GAAqB,CAChC,CACE/f,MAAO,OACP6W,UAAW,OACXjS,MAAO,IAET,CACE5E,MAAO,UACP6W,UAAW,UACX2G,UAAU,EACV5Y,MAAO,IACPmS,OAAQA,CAAC3e,EAAiBglB,IACxBzd,eAACqd,GAAS,CAACQ,UAAQ,EAACtf,UAAU,MAAK3B,SAAA,CAChC6gB,EAAOlS,YAAc1N,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,OAAQuT,SAAU,WAAYC,KAAM,MAAOC,IAAK,UAEjH1iB,cAAA,KAAGU,UAAU,eAAe6G,KAAI,UAAA7M,OAAYklB,EAAOpR,MAAK,aAAA9T,OAAYE,GAAW2I,MAAO,CAAEof,YAAa/C,EAAOlS,WAAa,OAAS,OAAQ3O,SACvI6gB,EAAOgD,YACN5iB,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO5H,EAAQmE,SACtCiB,cAACuM,GAAU,CAACC,UAAU,aAAYzN,SAAE6gB,EAAOgD,gBAG7C5iB,cAACuM,GAAU,CAACC,UAAU,YAAWzN,SAAEnE,UAM7C,CACE4H,MAAO,WACP6W,UAAW,iBACX2G,UAAU,EACV5Y,MAAO,IACPmS,OAASsJ,GAAqB7iB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaqY,MAEhD,CACErgB,MAAO,cACP6W,UAAW,WACX2G,UAAU,EACV5Y,MAAO,IACPmS,OAASuJ,GAAqB9iB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAasY,EAAU,MAE1D,CACEtgB,MAAO,aACP6W,UAAW,aACX2G,UAAU,EACV5Y,MAAO,IACPmS,OAASwJ,GAAuB/iB,cAAAgO,WAAA,CAAAjP,SAAGgkB,GAAU,GAAAroB,OAAO8P,GAAauY,EAAY,GAAE,SAItEC,GAA2B,CACtC,CACExgB,MAAO,KACP6W,UAAW,UACXjS,MAAO,GACPmS,OAAQA,CAACtH,EAAY2N,KAAW,IAAAqD,EAAAC,EAAA,OAC9BljB,cAACwf,GAAS,CAACQ,UAAQ,EAACtf,UAAU,MAAK3B,SACjCiB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYklB,EAAOpR,MAAK,aAAA9T,OAAgC,QAAhCuoB,EAAYrD,EAAOuD,qBAAa,IAAAF,IAAIrD,EAAOwD,SAAUrkB,SAACiB,cAACuM,GAAU,CAACC,UAAU,YAAWzN,SAAsB,QAAtBmkB,EAAEtD,EAAOuD,qBAAa,IAAAD,IAAItD,EAAOwD,aAC9I,GAEhB,CACE5gB,MAAO,QACP6W,UAAW,UACXE,OAAQA,CAAC3e,EAAiBglB,IACxB5f,cAACwf,GAAS,CAACQ,UAAQ,EAACtf,UAAU,MAAK3B,SACjCiB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYklB,EAAOpR,MAAK,aAAA9T,OAAYE,GAAUmE,SAACiB,cAACuM,GAAU,CAACC,UAAU,YAAWzN,SAAEnE,UAKrFyoB,GAAuB,CAClC,CACE7gB,MAAO,iBACPY,IAAK,OACLiW,UAAW,kBACXE,OAAS4B,GAAiBnb,cAACma,GAAW,CAACvf,QAASugB,EAAM9U,KAAK,QAE7D,CACE7D,MAAO,QACPY,IAAK,QACLiW,UAAW,cACXjS,MAAO,IACPmS,OAAS0G,GAAkB9d,eAACG,IAAI,CAACC,GAAE,UAAA7H,OAAYulB,GAAQlhB,SAAA,CAAC,IAAEkhB,MAE5D,CACEzd,MAAO,OACPY,IAAK,YACLiW,UAAW,YACX2G,UAAU,EACV5Y,MAAO,IACPmS,OAAShO,GAAiBvL,cAAAgO,WAAA,CAAAjP,SAAGuM,GAAmBC,MAElD,CACE/I,MAAO,OACPY,IAAK,OACLiW,UAAW,OACXE,OAAQA,CAACkF,EAAcmB,KAAiB,IAAD0D,EACrC,MACMpH,GAAiC,QAApBoH,EADL,IAAI5Z,gBAAgB5P,OAAOypB,SAAS3Z,QACzBnP,IAAI,kBAAU,IAAA6oB,OAAA,EAApBA,EAAsBpR,SAAU,GACnD,OACE/P,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOM,cAAgBlgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SACnEjP,cAAC6N,KAAO,CAACrL,MAAOic,EAAK1f,SAElBmd,EAAWlQ,gBAAkByS,EAAKzS,cACjChM,cAACuM,GAAU,CAAC7L,UAAU,eAAc3B,SAAE6gB,EAAOO,SAAWP,EAAOO,SAAW1B,IAE1Eze,cAAA,KAAGU,UAAU,eAAe6G,KAAI,UAAA7M,OAAYklB,EAAOhlB,QAAO,aAAAF,OAAY+jB,GAAO1f,SAAE6gB,EAAOO,SAAWP,EAAOO,SAAW1B,QAGxG,GAIvB,CACEjc,MAAO,KACPY,IAAK,KACLiW,UAAW,KACXE,OAAQA,CAAChX,EAAYqd,KAAiB,IAAD4D,EACnC,MACMtH,GAAiC,QAApBsH,EADL,IAAI9Z,gBAAgB5P,OAAOypB,SAAS3Z,QACzBnP,IAAI,kBAAU,IAAA+oB,OAAA,EAApBA,EAAsBtR,SAAU,GACnD,OACE/P,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOU,YAActgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SAEjEjP,cAAC6N,KAAO,CAACrL,MAAOD,EAAGxD,SAChBmd,EAAWlQ,gBAAkBzJ,EAAGyJ,cAC/BhM,cAACuM,GAAU,CAAC7L,UAAU,eAAc3B,SAAE6gB,EAAOW,OAASX,EAAOW,OAAShe,IAEtEvC,cAAA,KAAGU,UAAU,eAAe6G,KAAI,UAAA7M,OAAYklB,EAAOhlB,QAAO,aAAAF,OAAY6H,GAAKxD,SAAE6gB,EAAOW,OAASX,EAAOW,OAAShe,QAGlG,GAIvB,CACEC,MAAO,WACPY,IAAK,WACLiW,UAAW,cACX2G,UAAU,EACV5Y,MAAO,IACPmS,OAASrZ,GAAkBF,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAatK,OAIlCujB,GAA6B,CACxC,CACEjhB,MAAO,iBACPY,IAAK,OACLiW,UAAW,kBACXE,OAAS4B,GAAiBnb,cAACma,GAAW,CAACvf,QAASugB,EAAM9U,KAAK,QAG7D,CACE7D,MAAO,QACPY,IAAK,QACLiW,UAAW,cACXjS,MAAO,QACPmS,OAAS0G,GAAkB9d,eAACG,IAAI,CAACC,GAAE,UAAA7H,OAAYulB,GAAQlhB,SAAA,CAAC,IAAEkhB,MAE5D,CACEzd,MAAO,OACPY,IAAK,YACLiW,UAAW,YACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAAShO,GAAiBvL,cAAAgO,WAAA,CAAAjP,SAAGuM,GAAmBC,MAElD,CACE/I,MAAO,OACPY,IAAK,OACLiW,UAAW,OACXE,OAAQA,CAACkF,EAAcmB,KAAiB,IAAD8D,EACrC,MACMxH,GAAiC,QAApBwH,EADL,IAAIha,gBAAgB5P,OAAOypB,SAAS3Z,QACzBnP,IAAI,kBAAU,IAAAipB,OAAA,EAApBA,EAAsBxR,SAAU,GACnD,OACE/P,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOM,cAAgBlgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SACnEjP,cAAC6N,KAAO,CAACrL,MAAOic,EAAK1f,SAClBmd,EAAWlQ,gBAAkByS,EAAKzS,cACjChM,cAACuM,GAAU,CAAC7L,UAAU,eAAc3B,SAAE6gB,EAAOO,SAAWP,EAAOO,SAAW1B,IAE1Eze,cAAA,KAAGU,UAAU,eAAe6G,KAAI,UAAA7M,OAAYklB,EAAOhlB,QAAO,aAAAF,OAAY+jB,GAAO1f,SAAE6gB,EAAOO,SAAWP,EAAOO,SAAW1B,QAGxG,GAIvB,CACEjc,MAAO,KACPY,IAAK,KACLiW,UAAW,KACXE,OAAQA,CAAChX,EAAYqd,KAAiB,IAAD+D,EACnC,MACMzH,GAAiC,QAApByH,EADL,IAAIja,gBAAgB5P,OAAOypB,SAAS3Z,QACzBnP,IAAI,kBAAU,IAAAkpB,OAAA,EAApBA,EAAsBzR,SAAU,GACnD,OACE/P,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOU,YAActgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SACjEjP,cAAC6N,KAAO,CAACrL,MAAOD,EAAGxD,SAChBmd,EAAWlQ,gBAAkBzJ,EAAGyJ,cAC/BhM,cAACuM,GAAU,CAAC7L,UAAU,eAAc3B,SAAE6gB,EAAOW,OAASX,EAAOW,OAAShe,IAEtEvC,cAAA,KAAGU,UAAU,eAAe6G,KAAI,UAAA7M,OAAYklB,EAAOhlB,QAAO,aAAAF,OAAY6H,GAAKxD,SAAE6gB,EAAOW,OAASX,EAAOW,OAAShe,QAGlG,GAIvB,CACEC,MAAO,WACPY,IAAK,UACLiW,UAAW,UACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAAQA,CAACtH,EAAY2N,IACnB5f,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYklB,EAAOhlB,QAAO,aAAAF,OAAYuX,GAAKlT,SAAEkT,MAI9C2R,GAAoB,CAC/B,CACEphB,MAAO,OACP6W,UAAW,OACXjS,MAAO,IAET,CACE5E,MAAO,UACP6W,UAAW,UACX2G,UAAU,EACVzG,OAAS3e,GACPoF,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO5H,EAAQmE,SACtCiB,cAACsC,IAAI,CAAC5B,UAAU,eAAe6B,GAAE,YAAA7H,OAAcE,GAAUmE,SAAGnE,EAAQoR,mBAG1E,CACExJ,MAAO,OACP6W,UAAW,QAEb,CACE7W,MAAO,SACP6W,UAAW,SACXE,OAAS5G,GAAmB3S,cAACmM,GAAe,CAACC,QAAkC,eAAzBuG,EAAO3G,cAAiC,KAAO,UAAUjN,SAAE4T,KAEnH,CACEnQ,MAAO,WACP6W,UAAW,WACXE,OAASsK,GAAqB7jB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaJ,GAAOyZ,EAAU,IAAK,MAEtE,CACErhB,MAAO,QACP6W,UAAW,QACX2G,UAAU,EACVzG,OAASuK,GACP9jB,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAOshB,EAAM/kB,SACpCiB,cAACsC,IAAI,CAAC5B,UAAU,eAAe6B,GAAE,YAAA7H,OAAcopB,GAAQ/kB,SAAG+kB,EAAM9X,mBAGtE,CACExJ,MAAO,sBACP6W,UAAW,oBACXE,OAAS0G,GACPjgB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYulB,GAAQlhB,SAAGkhB,MAIxB8D,GAAiB,CAC5B,CACEvhB,MAAO,UACP6W,UAAW,UACXE,OAAS3e,GAAoBoF,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAcE,GAAUmE,SAAEnE,EAAQoR,iBAEzE,CACExJ,MAAO,OACP6W,UAAW,SAIF2K,GAAiB,CAC5B,CACExhB,MAAO,OACP6W,UAAW,OACX2G,UAAU,EACV5Y,MAAO,QAET,CACE5E,MAAO,UACP6W,UAAW,UACXjS,MAAO,QACPmS,OAAQA,CAAC3e,EAAiBglB,IACxBzd,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOlS,YAAc1N,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SACjEjP,cAAC6N,KAAO,CAACnN,UAAU,4BAA4BkO,UAAU,MAAMpM,MAAO5H,EAAQmE,SAC5EiB,cAACwf,GAAS,CAACQ,UAAQ,EAACtf,UAAU,MAAK3B,SAACiB,cAACsC,IAAI,CAAC5B,UAAU,eAAe6B,GAAE,YAAA7H,OAAcE,GAAUmE,SAAG2M,GAAgB9Q,EAAQoR,cAAe,cAK/I,CACExJ,MAAO,aACP6W,UAAW,cACXE,OAAQA,CAACqJ,EAAkBhD,IAAgB5f,cAAAgO,WAAA,CAAAjP,SAAG6jB,GAAe5iB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAcklB,EAAOhlB,SAAUmE,SAAE6jB,OAExG,CACEpgB,MAAO,gBACP6W,UAAW,gBACXE,OAAS0K,GAA0BjkB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAayZ,MAErD,CACEzhB,MAAO,aACP6W,UAAW,aACXE,OAASwJ,GAAoB/iB,cAAAgO,WAAA,CAAAjP,SAAGgkB,GAAU,GAAAroB,OAAO8P,GAAauY,GAAW,QAE3E,CACEvgB,MAAO,YACP6W,UAAW,UACXjS,MAAO,QACPmS,OAAS2K,GAAoBlkB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAa0Z,OAIpCC,GAAiB,CAC5B,CACE3hB,MAAO,QACPY,IAAK,QACLiW,UAAW,QACX2G,UAAU,EACVzG,OAAQA,CAAC/K,EAAeoR,IACtBzd,eAACiE,KAAK,CAAArH,SAAA,CAACiB,cAACyO,GAAS,CAAC7T,QAAU4T,GAAQ,OAAgBE,KAAM,KAAM1O,cAACsC,IAAI,CAACC,GAAKiM,EAAW,UAAA9T,OAAa8T,GAAhB,IAAwBzP,SAAE6gB,EAAOwE,gBAExH,CACE5hB,MAAO,SACPY,IAAK,cACLiW,UAAW,cACX2G,UAAU,EACVzG,OAAS8K,GAAwBrkB,cAAAgO,WAAA,CAAAjP,SAAGslB,KAEtC,CACE7hB,MAAO,OACPY,IAAK,YACLiW,UAAW,YACX2G,UAAU,EACVzG,OAAS+K,GAAyBtkB,cAACkP,GAAY,CAAC7I,KAAMie,KAExD,CACE9hB,MAAO,SACPY,IAAK,SACLiW,UAAW,iBACX2G,UAAU,EACVzG,OAASlP,GAAmBrK,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaH,EAAQ,MAEtD,CACE7H,MAAO,cACPY,IAAK,QACLiW,UAAW,WACX2G,UAAU,GAEZ,CACExd,MAAO,iBACPY,IAAK,aACLiW,UAAW,cAEb,CACE7W,MAAO,cACPY,IAAK,QACLiW,UAAW,WACX2G,UAAU,EACVzG,OAASuJ,GAAqB9iB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAasY,EAAU,OAI/CyB,GAAsB,CACjC,CACE/hB,MAAO,iBACPY,IAAK,OACLiW,UAAW,OACXjS,MAAO,QACPmS,OAAQA,CAAC4B,EAAcyE,IACrB5f,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO2Y,EAAKpc,SACnCoD,eAAA,OAAKoB,MAAO,CAAEC,QAAS,OAAQC,WAAY,UAAW1E,SAAA,CACnD6gB,EAAOjN,QAA4B,SAAlBiN,EAAOjN,QACvB3S,cAAA,QAAMuD,MAAO,CAAEkJ,MAAO,UAAWsB,SAAU,QAAShP,SAACiB,cAAC6f,KAAkB,MACzE,OAED7f,cAACsC,IAAI,CAAC5B,UAAU,eAAe6B,GAAE,OAAA7H,OAASygB,GAAOpc,SAAGoc,EAAKnP,sBAIjE,CACExJ,MAAO,SACPY,IAAK,SACLiW,UAAW,SACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAAStS,GAAmBjH,cAAA,OAAKuD,MAAO,CAAEC,QAAS,QAASzE,SAACiB,cAAC0f,GAAS,CAAA3gB,SAAEkI,OAE3E,CACEzE,MAAO,QACPY,IAAK,cACLiW,UAAW,cACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAASmH,GACPve,eAACG,IAAI,CAACC,GAAE,UAAA7H,OAAYgmB,GAAc3hB,SAAA,CAAC,IAAE2hB,MAEzC,CACEle,MAAO,OACPY,IAAK,YACLiW,UAAW,YACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAASvO,GAAsBhL,cAAAgO,WAAA,CAAAjP,SAAGuM,GAAmBN,MAEvD,CACExI,MAAO,OACPY,IAAK,OACLiW,UAAW,OACXE,OAAQA,CAACkF,EAAcmB,IACrBzd,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOM,cAAgBlgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SACnEjP,cAACma,GAAW,CAAC3X,MAAOic,EAAOmB,EAAOO,SAAW,GAAIvlB,QAAS6jB,EAAMrE,SAAO,QAW7E,CACE5X,MAAO,KACPY,IAAK,KACLiW,UAAW,KACXjS,MAAO,QACPmS,OAAQA,CAAChX,EAAYqd,IACnBzd,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOU,YAActgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SACjEjP,cAACma,GAAW,CAAC3X,MAAOD,EAAKqd,EAAOW,OAAS,GAAI3lB,QAAS2H,EAAI6X,SAAO,QAGvE,CACE5X,MAAO,cACPY,IAAK,QACLiW,UAAW,QACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAASiH,GAAgBxgB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaJ,GAAOoW,EAAK,QAEvD,CACEhe,MAAO,YACPY,IAAK,MACLiW,UAAW,MACX2G,UAAU,EACV5Y,MAAO,QACPmS,OAASiH,GAAgBxgB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaJ,GAAOoW,EAAK,SAI5CgE,GAAc,CACzB,CACEhiB,MAAO,iBACPY,IAAK,OACLiW,UAAW,OACX2G,UAAU,EACVzG,OAAS4B,GACPnb,cAACsC,IAAI,CAACC,GAAE,OAAA7H,OAASygB,GAAOpc,SAAEoc,KAE9B,CACE3Y,MAAO,QACPY,IAAK,cACLiW,UAAW,cACX2G,UAAU,EACVzG,OAASmH,GACPve,eAACG,IAAI,CAACC,GAAE,UAAA7H,OAAYgmB,GAAc3hB,SAAA,CAAC,IAAE2hB,MAEzC,CACEle,MAAO,OACPY,IAAK,YACLiW,UAAW,YACX2G,UAAU,EACVzG,OAASvO,GAAsBhL,cAAAgO,WAAA,CAAAjP,SAAGuM,GAAmBN,MAEvD,CACExI,MAAO,OACPY,IAAK,OACLiW,UAAW,OACXE,OAAQA,CAACkF,EAAcmB,IACrBzd,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOM,cAAgBlgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SACjEjP,cAACma,GAAW,CAAC3X,MAAOod,EAAOO,SAAWP,EAAOO,SAAW,GAAIvlB,QAAS6jB,EAAMrE,SAAO,QAG1F,CACE5X,MAAO,GACPY,IAAK,YACLiW,UAAW,YACXjS,MAAO,OACPmS,OAASkL,GACPzkB,cAAC0kB,KAAkB,KAEvB,CACEliB,MAAO,KACPY,IAAK,KACLiW,UAAW,KACXE,OAAQA,CAAChX,EAAYqd,IACnBzd,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOU,YAActgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SAC/DjP,cAACma,GAAW,CAAC3X,MAAOod,EAAOW,OAASX,EAAOW,OAAS,GAAI3lB,QAAS2H,EAAI6X,SAAO,QAGpF,CACE5X,MAAO,cACPY,IAAK,QACLiW,UAAW,QACX2G,UAAU,EACVzG,OAASrZ,GAAkBF,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaJ,GAAOlK,EAAO,IAAK,OAKrDykB,GAAiB,CAC5B,CACEniB,MAAO,QACPY,IAAK,QACLiW,UAAW,QACXE,OAASqL,GACP5kB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYkqB,GAAK7lB,SAAE6lB,KAE/B,CACEpiB,MAAO,aACPY,IAAK,YACLiW,UAAW,YACX2G,UAAU,EACVzG,OAASkI,GACPzhB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAc+mB,GAAY1iB,SAAE0iB,KAExC,CACEjf,MAAO,kBACPY,IAAK,gBACLiW,UAAW,iBAEb,CACE7W,MAAO,cACPY,IAAK,aACLiW,UAAW,cAEb,CACE7W,MAAO,eACPY,IAAK,SACLiW,UAAW,SACXE,OAASrZ,GAAkBF,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaJ,GAAOlK,EAAO,IAAK,MAEhE,CACEsC,MAAO,SACPY,IAAK,SACLiW,UAAW,UAEb,CACE7W,MAAO,OACPY,IAAK,YACLiW,UAAW,YACXE,OAASvO,GAAsBhL,cAAAgO,WAAA,CAAAjP,SAAGuM,GAAmBN,OAK5C6Z,GAA6B,CACxC,CACEriB,MAAO,iBACPY,IAAK,OACLiW,UAAW,kBACXE,OAAS4B,GAAiBnb,cAACma,GAAW,CAACvf,QAASugB,EAAM9U,KAAK,OAC3De,MAAO,KAET,CACE5E,MAAO,OACPY,IAAK,YACLiW,UAAW,YACX2G,UAAU,EACV5Y,MAAO,IACPmS,OAAShO,GAAiBvL,cAAAgO,WAAA,CAAAjP,SAAGuM,GAAmBC,MAElD,CACE/I,MAAO,OACPY,IAAK,OACLiW,UAAW,OACXjS,MAAO,IACPmS,OAAQA,CAACkF,EAAcmB,IACrBzd,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOM,cAAgBlgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SAChE2Q,EAAOkF,cAAgBrG,EACtBze,cAACuM,GAAU,CAACwY,QAAQ,EAAMC,QAAQ,EAAKjmB,SAAE,iBAEzCiB,cAACma,GAAW,CAAC3X,MAAOod,EAAOO,SAAUvlB,QAAS6jB,EAAMrE,SAAO,QAIrE,CACE5X,MAAO,KACPY,IAAK,KACLiW,UAAW,KACXE,OAAQA,CAAChX,EAAYqd,IAEjBzd,eAACsd,GAAc,CAAA1gB,SAAA,CACZ6gB,EAAOU,YAActgB,cAACqf,GAAmB,CAAC9b,MAAO,CAAE0L,YAAa,SAChE2Q,EAAOkF,cAAgBviB,EACtBvC,cAACuM,GAAU,CAACwY,QAAQ,EAAMC,QAAQ,EAAKjmB,SAAC,iBAEtCiB,cAACma,GAAW,CAAC3X,MAAOod,EAAOW,OAAQ3lB,QAAS2H,EAAI6X,SAAO,OAMjEhT,MAAO,KAET,CACE5E,MAAO,WACPY,IAAK,WACLiW,UAAW,cACX2G,UAAU,EACV5Y,MAAO,IACPmS,OAASrZ,GAAkBF,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAatK,MAE7C,CACEsC,MAAO,QACPY,IAAK,QACLiW,UAAW,cACXjS,MAAO,IACPmS,OAAQA,CAAChU,EAAgBqa,IAErBzd,eAAA,OAAKzB,UAAU,4BAA2B3B,SAAA,CACxCiB,cAACyO,GAAS,CAAC7T,QAASglB,EAAOhlB,UAC3BuH,eAACG,IAAI,CAACC,GAAE,UAAA7H,OAAYklB,EAAOhlB,SAAUmE,SAAA,CAClC6gB,EAAOyE,aAAeliB,eAAA6L,WAAA,CAAAjP,SAAA,CAAG6gB,EAAOwE,UAAU,KAAGxE,EAAOyE,YAAY,QAC/DzE,EAAOyE,aAAerkB,cAAAgO,WAAA,CAAAjP,SAAG6gB,EAAOhlB,kBAQjCqqB,GAAkB,CAC7B,CACEziB,MAAO,IACPY,IAAK,OACLiW,UAAW,OACX2G,UAAU,EACV5Y,MAAO,QAET,CACE5E,MAAO,UACPY,IAAK,UACLiW,UAAW,UACXE,OAAS3e,GACPoF,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO5H,EAAQmE,SACtCiB,cAACsC,IAAI,CAAC5B,UAAU,eAAe6B,GAAE,YAAA7H,OAAcE,GAAUmE,SAAG2M,GAAgB9Q,EAAQoR,oBAG1F,CACExJ,MAAO,gBACPY,IAAK,eACLiW,UAAW,eACXE,OAAQA,CAACjU,EAAcsa,IAAgB5f,cAAAgO,WAAA,CAAAjP,WAAKuG,GAAQtF,cAACma,GAAW,CAACvf,QAASglB,EAAOhlB,QAASyL,KAAK,UAAU7D,MAAO8C,OAElH,CACE9C,MAAO,aACPY,IAAK,cACLiW,UAAW,cACXE,OAAQA,CAACjU,EAAcsa,IAAgB5f,cAAAgO,WAAA,CAAAjP,WAAKuG,GAAQtF,cAACma,GAAW,CAACvf,QAASglB,EAAOhlB,QAASyL,KAAK,UAAU7D,MAAO8C,OAElH,CACE9C,MAAO,gBACPY,IAAK,UACLiW,UAAW,gBACXE,OAAS2L,GAAoBllB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAa0a,MAE/C,CACE1iB,MAAO,YACPY,IAAK,UACLiW,UAAW,UACXE,OAAS2K,GAAoBlkB,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAa0Z,MAE/C,CACE1hB,MAAO,gBACPY,IAAK,YACLiW,UAAW,YACX2G,UAAU,EACVzG,OAASvO,GAAsBhL,cAAAgO,WAAA,CAAAjP,SAAGuM,GAAmBN,MAEvD,CACExI,MAAO,WACPY,IAAK,WACLiW,UAAW,WACX2G,UAAU,EACVzG,OAAS4L,GACPnlB,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO2iB,EAASpmB,SAAEomB,M,4CCrjCjD,MAUaC,GAAWC,aACtB,oBACA/qB,MAAO4M,EAAQoe,KACb,IACE,MAAM7lB,QAAiBlF,IAEvB,OADA+qB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAClC,KAIE4lB,GAAeC,aAAY,CAC/BngB,KAAM,UACNogB,aA5BmB,CACnBtqB,KAAM,QACNuqB,MAAO,CACLxN,QAAS,OACTxY,KAAM,MAERjB,cAAc,GAuBdknB,SAAU,CAERC,WAAW5mB,EAAO6mB,GAChB7mB,EAAM7D,KAAO0qB,EAAOC,OACtB,EACArnB,aAAaO,EAAO6mB,GAClB7mB,EAAMP,aAAeonB,EAAOC,OAC9B,EAGAC,WAAW/mB,GACTA,EAAM0mB,MAAMxN,QAAU,OACtBlZ,EAAM0mB,MAAMhmB,KAAO,IACrB,GAEFsmB,cAAgBC,IAEdA,EAAQC,QAAQf,GAASznB,SAAS,CAACsB,EAAO6mB,KACxC7mB,EAAM0mB,MAAMxN,QAAU,SAAS,IAEjC+N,EAAQC,QAAQf,GAASgB,WAAW,CAACnnB,EAAO6mB,KAC1C7mB,EAAM0mB,MAAMxN,QAAU,YACtB,MAAMkO,EAAY,IAAI/b,KAAUwb,EAAOC,QAAQjE,OAAOwE,aAAaR,EAAOC,QAAQQ,mBAAmBhc,WACrGtL,EAAM0mB,MAAMhmB,KAAO,IAAKmmB,EAAOC,QAASM,YAAW,IAErDH,EAAQC,QAAQf,GAASoB,UAAU,CAACvnB,EAAO6mB,KACzC7mB,EAAM0mB,MAAMxN,QAAU,SACtBlZ,EAAM0mB,MAAMhmB,KAAO,IAAI,GACvB,KAIO,WAAEkmB,GAAWnnB,aAAY,cAAEsnB,IAAeR,GAAaiB,QAE9DC,GAAgB,CACpBtjB,IAAK,UACLujB,aACAC,UAAW,CAAC,SAECC,oBAAeH,GAAelB,GAAasB,SC9EnD,MAAMC,GAAgC1B,aAC3C,wCACA/qB,MAAO0sB,EAA2B1B,KAChC,IACE,MAAM7lB,Q1DKLnF,eAA+C0sB,GACpD,aAAaxsB,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,WAAAgB,OAAUssB,GACzD,C0DP6BC,CAAgCD,GAEvD,OADA1B,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAISunB,GAAmB7B,aAC9B,2BACA/qB,MAAO4M,EAA8Doe,KACnE,IACE,MAAM,YAAE5E,EAAW,OAAE5lB,EAAM,MAAEI,GAAUgM,EACjCzH,Q1DRLnF,eAAkComB,GAAsE,IAAjD5lB,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAChF,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,6BAAAgB,OAA4BgmB,EAAW,YAAAhmB,OAAWI,EAAM,WAAAJ,OAAUQ,GACjH,C0DM6BisB,CAAmBzG,EAAa5lB,EAAQI,GAE/D,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAISynB,GAAe/B,aAC1B,uBACA/qB,MAAO4M,EAAmEoe,KACxE,IACE,MAAM,OAAC+B,EAAM,OAAEvsB,EAAM,MAAEI,GAAUgM,EAE3BzH,Q1DtBLnF,eAA8B+sB,GAA6E,IAAjDvsB,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACnF,OAAIssB,QACW7sB,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,uBAAAgB,OAAsB2sB,EAAM,YAAA3sB,OAAWI,EAAM,WAAAJ,OAAUQ,UAEzFV,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,uBAAAgB,OAAsBI,EAAM,WAAAJ,OAAUQ,GACrF,C0DiB6BosB,CAAeD,EAAQvsB,EAAQI,GAEtD,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAsBE4nB,GAAc9B,aAAY,CAC9BngB,KAAM,SACNogB,aAnBmB,CACnB8B,KAAM,CACJ7nB,KAAM,GACNwY,QAAS,OACTzE,MAAO,MAETlK,QAAS,CACP7J,KAAM,KACNwY,QAAS,OACTwI,aAAc,CACZhhB,KAAM,GACN+T,MAAO,KACPyE,QAAS,UAQbyN,SAAU,CAER6B,eAAexoB,GACbA,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAKrP,QAAU,OACrBlZ,EAAMuoB,KAAK9T,MAAQ,IACrB,GAEFuS,cAAgBC,IAEdA,EAAQC,QAAQY,GAA8BppB,SAAS,CAACsB,EAAO6mB,KAC7D7mB,EAAMuK,QAAQ2O,QAAU,UACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAI,IAE3BumB,EAAQC,QAAQY,GAA8BX,WAAW,CAACnnB,EAAO6mB,KAC/D7mB,EAAMuK,QAAQ2O,QAAU,YACxBlZ,EAAMuK,QAAQ7J,KAAOmmB,EAAOC,OAAO,IAErCG,EAAQC,QAAQY,GAA8BP,UAAU,CAACvnB,EAAO6mB,KAC9D7mB,EAAMuK,QAAQ2O,QAAU,SACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAI,IAI3BumB,EAAQC,QAAQe,GAAiBvpB,SAAS,CAACsB,EAAO6mB,KAChD7mB,EAAMuK,QAAQmX,aAAaxI,QAAU,SAAS,IAEhD+N,EAAQC,QAAQe,GAAiBd,WAAW,CAACnnB,EAAO6mB,KAClD7mB,EAAMuK,QAAQmX,aAAaxI,QAAU,YACrClZ,EAAMuK,QAAQmX,aAAahhB,KAAOmmB,EAAOC,QAAQpmB,KACjDV,EAAMuK,QAAQmX,aAAajN,MAAQoS,EAAOC,QAAQrS,KAAK,IAEzDwS,EAAQC,QAAQe,GAAiBV,UAAU,CAACvnB,EAAO6mB,KACjD7mB,EAAMuK,QAAQmX,aAAaxI,QAAU,SACrClZ,EAAMuK,QAAQmX,aAAahhB,KAAO,GAClCV,EAAMuK,QAAQmX,aAAajN,MAAQ,IAAI,IAIzCwS,EAAQC,QAAQiB,GAAazpB,SAAS,CAACsB,EAAO6mB,KAC5C7mB,EAAMuoB,KAAKrP,QAAU,SAAS,IAGhC+N,EAAQC,QAAQiB,GAAahB,WAAW,CAACnnB,EAAO6mB,KAC9C7mB,EAAMuoB,KAAKrP,QAAU,YACrBlZ,EAAMuoB,KAAK7nB,KAAOmmB,EAAOC,QAAQpmB,KACjCV,EAAMuoB,KAAK9T,MAAQoS,EAAOC,QAAQrS,KAAK,IAGzCwS,EAAQC,QAAQiB,GAAaZ,UAAU,CAACvnB,EAAO6mB,KAC7C7mB,EAAMuoB,KAAKrP,QAAU,SACrBlZ,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAK9T,MAAQ,IAAI,GACvB,KAIO,eAAE+T,IAAmBF,GAAYd,QAC/Bc,UAAmB,QClI3B,MAAMG,GAAqBrC,aAChC,mCACA/qB,MAAO6gB,EAAcmK,KACnB,IACE,MAAM7lB,Q3DPLnF,eAAoC6gB,GACzC,aAAa3gB,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,iBAAAgB,OAAgBygB,GAC/D,C2DK6BwM,CAAqBxM,GAE5C,OADAmK,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASkT,OACjD,KAISiV,GAAYvC,aACvB,0BACA/qB,MAAO4M,EAA2Coe,KAChD,IACE,MAAM,OAAExqB,EAAM,MAAEI,GAAUgM,EAEpBzH,Q3DrBLnF,iBAA4E,IAAjDQ,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACpD,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,6BAAAgB,OAA4BI,EAAM,WAAAJ,OAAUQ,GAC3F,C2DmB6B2sB,CAAY/sB,EAAQI,GAE3C,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASkT,OACjD,KAISmV,GAAgBzC,aAC3B,8BACA/qB,MAAO4M,EAAyDoe,KAC9D,IACE,MAAM,KAAEnK,EAAI,OAAErgB,EAAM,MAAEI,GAAUgM,EAC1BzH,Q3DlCLnF,eAA+B6gB,GAA+D,IAAjDrgB,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACtE,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,iCAAAgB,OAAgCygB,EAAI,YAAAzgB,OAAWI,EAAM,WAAAJ,OAAUQ,GAC9G,C2DgC6B6sB,CAAgB5M,EAAMrgB,EAAQI,GAErD,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASkT,OACjD,KAsBEqV,GAAoBvC,aAAY,CACpCngB,KAAM,eACNogB,aAnBmB,CACnB8B,KAAM,CACJ7nB,KAAM,GACNwY,QAAS,OACTzE,MAAO,MAETlK,QAAS,CACP7J,KAAM,KACNsoB,WAAY,CACV9P,QAAS,OACTxY,KAAM,GACN+T,MAAO,GAETyE,QAAS,SAOXyN,SAAU,CAERsC,YAAYjpB,GACVA,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAKrP,QAAU,OACrBlZ,EAAMuoB,KAAK9T,MAAQ,IACrB,GAEFuS,cAAgBC,IAEdA,EAAQC,QAAQuB,GAAmB/pB,SAAS,CAACsB,EAAO6mB,KAClD7mB,EAAMuK,QAAQ2O,QAAU,UACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAI,IAG3BumB,EAAQC,QAAQuB,GAAmBtB,WAAW,CAACnnB,EAAO6mB,KACpD7mB,EAAMuK,QAAQ2O,QAAU,YAExB,MAAMsO,EAAUX,EAAOC,QAAQU,QAAQ0B,QAAO,CAACC,EAAUC,KAClDD,EAAIC,EAAKhiB,MAGZ+hB,EAAIC,EAAKhiB,MAAQ,IAAI+hB,EAAIC,EAAKhiB,MAAOgiB,GAFrCD,EAAIC,EAAKhiB,MAAQ,CAACgiB,GAKbD,IACN,CAAC,GAEJnpB,EAAMuK,QAAQ7J,KAAO,IAAKmmB,EAAOC,QAASU,WACtCxnB,EAAMuK,QAAQ7J,MAAQmmB,EAAOC,QAAQpT,SAAQ1T,EAAMuK,QAAQ7J,KAAKgT,OAASmT,EAAOC,QAAQpT,OAAO3G,cAAa,IAGlHka,EAAQC,QAAQuB,GAAmBlB,UAAU,CAACvnB,EAAO6mB,KACnD7mB,EAAMuK,QAAQ2O,QAAU,SACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAI,IAI3BumB,EAAQC,QAAQyB,GAAUjqB,SAAS,CAACsB,EAAO6mB,KACzC7mB,EAAMuoB,KAAKrP,QAAU,SAAS,IAGhC+N,EAAQC,QAAQyB,GAAUxB,WAAW,CAACnnB,EAAO6mB,KAC3C7mB,EAAMuoB,KAAKrP,QAAU,YACrBlZ,EAAMuoB,KAAK7nB,KAAOmmB,EAAOC,QAAQpmB,KACjCV,EAAMuoB,KAAK9T,MAAQoS,EAAOC,QAAQrS,KAAK,IAGzCwS,EAAQC,QAAQyB,GAAUpB,UAAU,CAACvnB,EAAO6mB,KAC1C7mB,EAAMuoB,KAAKrP,QAAU,SACrBlZ,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAK9T,MAAQ,IAAI,IAIzBwS,EAAQC,QAAQ2B,GAAcnqB,SAAS,CAACsB,EAAO6mB,KAC7C7mB,EAAMuK,QAAQye,WAAW9P,QAAU,SAAS,IAG9C+N,EAAQC,QAAQ2B,GAAc1B,WAAW,CAACnnB,EAAO6mB,KAC/C7mB,EAAMuK,QAAQye,WAAW9P,QAAU,YACnClZ,EAAMuK,QAAQye,WAAanC,EAAOC,OAAO,IAG3CG,EAAQC,QAAQ2B,GAActB,UAAU,CAACvnB,EAAO6mB,KAC9C7mB,EAAMuK,QAAQye,WAAW9P,QAAU,SACnClZ,EAAMuK,QAAQye,WAAWtoB,KAAO,EAAE,GAClC,KAIO,YAAEuoB,IAAgBF,GAAkBvB,QAClCuB,UAAyB,QC5GxC,MAAQhiB,KAAK,IAAIC,KAEF,SAASqiB,KAAY,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjC,MAAMtf,EAAWP,KACX2c,EAAQzc,IAAgBjK,GAAUA,EAAMC,QAAQymB,QAChDmD,EAAS5f,IAAgBjK,GAAUA,EAAM6pB,OAAOtB,OAChDuB,EAAM7f,IAAgBjK,GAAUA,EAAM0hB,aAAa6G,OAGnDpP,EAAUA,KACd7O,EAAS6b,MACT7b,EAAS6d,GAAa,CAACC,YAAQpsB,EAAWH,OAAQ,EAAGI,MAAO,MAC5DqO,EAASqe,GAAU,CAAE9sB,OAAQ,EAAGI,MAAO,KAAM,EAmB/C,OAhBA6E,qBAAU,KACRqY,IAEA,MAAM4Q,EAAgBC,aAAY,KAChC7Q,GAAS,GACR,KAGH,MAAO,KACL8Q,cAAcF,GACdzf,EAASyc,MACTzc,EAASke,MACTle,EAAS2e,KAAc,CACxB,GACA,IAGDloB,cAAAgO,WAAA,CAAAjP,SACEoD,eAACuF,GAAe,CAAA3I,SAAA,CACdiB,cAAC4H,GAAc,CAAA7I,SACbiB,cAAC4C,IAAG,CAACiB,OAAQ,CAAC,GAAI,IAAI9E,SACpBiB,cAAC6C,IAAG,CAACsmB,GAAI,GAAGpqB,SACVoD,eAACwF,GAAQ,CAAA5I,SAAA,CACPiB,cAAC8H,GAAgB,CAAA/I,SACfoD,eAAA,OAAKzB,UAAU,QAAO3B,SAAA,CACpBiB,cAAC+H,GAAW,CAAAhJ,SAAC,kCACbiB,cAACoO,GAAS,SAIdpO,cAACgI,GAAe,CAAAjJ,SACdoD,eAACS,IAAG,CAAA7D,SAAA,CACFiB,cAAC6C,IAAG,CAACsmB,GAAI,GAAIhb,GAAI,EAAEpP,SACjBiB,cAACsI,GAAW,CAAAvJ,SAIVoD,eAAA,OAAKzB,UAAU,0BAAyB3B,SAAA,CACtCiB,cAACkI,GAAa,CAAAnJ,SAAC,cACfoD,eAAC6D,GAAI,CAAAjH,SAAA,CAAC,IAAEyL,GAAuB,QAAX+d,EAAC5C,EAAMhmB,YAAI,IAAA4oB,OAAA,EAAVA,EAAYzG,iBAKvC9hB,cAAC6C,IAAG,CAACsmB,GAAI,GAAIhb,GAAI,EAAEpP,SACjBiB,cAACsI,GAAW,CAAEf,KAAK,UAASxI,SAI1BoD,eAAA,OAAKzB,UAAU,0BAAyB3B,SAAA,CACtCiB,cAACkI,GAAa,CAAAnJ,SAAC,WACfoD,eAAC6D,GAAI,CAAAjH,SAAA,CAAEyL,GAAuB,QAAXge,EAAC7C,EAAMhmB,YAAI,IAAA6oB,OAAA,EAAVA,EAAYvH,OAAO,IAAC9e,eAAA,QAAMzB,UAAU,UAAS3B,SAAA,CAAC,IAAEyL,GAAuB,QAAXie,EAAC9C,EAAMhmB,YAAI,IAAA8oB,OAAA,EAAVA,EAAYW,KAAK,qBAKxGppB,cAAC6C,IAAG,CAACsmB,GAAI,GAAIhb,GAAI,EAAEpP,SACjBiB,cAACsI,GAAW,CAACf,KAAK,UAASxI,SAIzBoD,eAAA,OAAKzB,UAAU,0BAAyB3B,SAAA,CACtCiB,cAACkI,GAAa,CAAAnJ,SAAC,WACfiB,cAACgG,GAAI,CAAAjH,SAAEyL,GAAuB,QAAXke,EAAC/C,EAAMhmB,YAAI,IAAA+oB,OAAA,EAAVA,EAAYzI,gBAKtCjgB,cAAC6C,IAAG,CAACsmB,GAAI,GAAIhb,GAAI,EAAEpP,SACjBiB,cAACsI,GAAW,CAAAvJ,SAIVoD,eAAA,OAAKzB,UAAU,0BAAyB3B,SAAA,CACtCiB,cAACkI,GAAa,CAAAnJ,SAAC,mBACfoD,eAAC6D,GAAI,CAAAjH,SAAA,CAAC,IAAEyL,GAAuB,QAAXme,EAAChD,EAAMhmB,YAAI,IAAAgpB,OAAA,EAAVA,EAAYtC,UAAW,aAKlDrmB,cAAC6C,IAAG,CAACsmB,GAAI,GAAIhb,GAAI,EAAEpP,SACjBiB,cAACsI,GAAW,CAACf,KAAK,OAAMxI,SAItBoD,eAAA,OAAKzB,UAAU,0BAAyB3B,SAAA,CACtCiB,cAACkI,GAAa,CAAAnJ,SAAC,iBACfiB,cAACgG,GAAI,CAAAjH,SAAEyL,GAAuB,QAAXoe,EAACjD,EAAMhmB,YAAI,IAAAipB,OAAA,EAAVA,EAAYG,cAKtC/oB,cAAC6C,IAAG,CAACsmB,GAAI,GAAIhb,GAAI,EAAEpP,SACjBiB,cAACsI,GAAW,CAAEf,KAAK,YAAWxI,SAI5BoD,eAAA,OAAKzB,UAAU,0BAAyB3B,SAAA,CACtCiB,cAACkI,GAAa,CAAAnJ,SAAC,aACfiB,cAACgG,GAAI,CAAAjH,SAAEyL,GAAuB,QAAXqe,EAAClD,EAAMhmB,YAAI,IAAAkpB,OAAA,EAAVA,EAAYQ,iCAyBlDrpB,cAAC6H,GAAgB,CAAA9I,SACfoD,eAACS,IAAG,CAACiB,OAAQ,CAAC,GAAI,IAAI9E,SAAA,CACpBiB,cAAC6C,IAAG,CAACsmB,GAAI,GAAIG,GAAI,GAAGvqB,SAClBoD,eAACsG,GAAY,CAAA1J,SAAA,CACXiB,cAACoI,GAAc,CAAArJ,SAAC,kBAChBoD,eAAC2G,GAAgB,CAAA/J,SAAA,CACM,YAAnB+pB,EAAO3Q,SAAkD,IAAvB2Q,EAAOnpB,KAAK3E,QAC9CgF,cAAA,OAAKU,UAAU,kBAAiB3B,SAC9BiB,cAACoX,GAAgB,MAGnB0R,EAAOnpB,KAAK3E,OAAS,GACrB8tB,EAAOnpB,KAAKmZ,KAAKmH,GAEbjgB,cAAA,OAAKU,UAAU,kBAAiB3B,SAC9BoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,EAAE/F,SACXoD,eAAA,OAAKzB,UAAU,4BAA2B3B,SAAA,CACxCiB,cAAA,OAAKU,UAAU,WAAU3B,SAACiB,cAAA,OAAK8C,IAAMymB,GAActmB,IAAI,OACvDd,eAAA,OAAKzB,UAAU,WAAU3B,SAAA,CACvBiB,cAACgG,GAAI,CAAAjH,SAACiB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYulB,EAAMxV,QAAS1L,SAAEkhB,EAAMxV,WACjDzK,cAACgG,GAAI,CAACtF,UAAU,eAAe2F,KAAK,YAAWtH,SAAEuM,GAAmB2U,EAAMjV,qBAKhF7I,eAACU,IAAG,CAACiC,KAAM,GAAG/F,SAAA,CACZiB,cAACgG,GAAI,CAACtF,UAAU,eAAc3B,SAAEkhB,EAAMW,SACtC5gB,cAACgG,GAAI,CAACtF,UAAU,eAAc3B,SAACiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAculB,EAAMY,IAAK9hB,SAAEkhB,EAAMY,UAG1E1e,eAACU,IAAG,CAACiC,KAAM,EAAGpE,UAAU,aAAY3B,SAAA,CAClCoD,eAAC6D,GAAI,CAACtF,UAAU,eAAc3B,SAAA,CAAEkhB,EAAMU,aAAa,WACnD3gB,cAACgG,GAAI,CAACtF,UAAU,eAAe2F,KAAK,YAAWtH,SAAC,qBAnBhBkhB,EAAMxV,aA2BpDzK,cAAA,OAAKU,UAAU,eAAc3B,SAACiB,cAACsC,IAAI,CAACC,GAAG,UAASxD,SAAC,2BAIrDiB,cAAC6C,IAAG,CAACsmB,GAAI,GAAIG,GAAI,GAAGvqB,SAClBoD,eAACsG,GAAY,CAAA1J,SAAA,CACXiB,cAACoI,GAAc,CAAArJ,SAAC,wBAChBoD,eAAC2G,GAAgB,CAAA/J,SAAA,CACG,YAAhBgqB,EAAI5Q,SAA+C,IAApB4Q,EAAIppB,KAAK3E,QACxCgF,cAAA,OAAKU,UAAU,kBAAiB3B,SAC9BiB,cAACoX,GAAgB,MAGnB2R,EAAIppB,KAAK3E,OAAS,GAElB+tB,EAAIppB,KAAKmZ,KAAK0Q,GAEVxpB,cAAA,OAAKU,UAAU,kBAAiB3B,SAC9BoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,EAAE/F,SACXoD,eAAA,OAAKzB,UAAU,4BAA2B3B,SAAA,CACxCiB,cAAA,OAAKU,UAAU,WAAU3B,SAACiB,cAAA,OAAK8C,IAAM2mB,GAAqBxmB,IAAI,OAC9Dd,eAAA,OAAKzB,UAAU,WAAU3B,SAAA,CACvBiB,cAACgG,GAAI,CAAAjH,SAACiB,cAACsC,IAAI,CAACC,GAAE,OAAA7H,OAAS8uB,EAAGrO,MAAOpc,SAAEyqB,EAAGrO,SACtCnb,cAACgG,GAAI,CAACtF,UAAU,eAAe2F,KAAK,YAAWtH,SAAEuM,GAAmBke,EAAGxe,qBAK7E7I,eAACU,IAAG,CAACiC,KAAM,GAAG/F,SAAA,CACZoD,eAAC6D,GAAI,CAACtF,UAAU,eAAc3B,SAAA,CAAC,QAAKiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAc8uB,EAAG/K,MAAO1f,SAAEyqB,EAAGrJ,UAAYqJ,EAAG/K,UACxFtc,eAAC6D,GAAI,CAACtF,UAAU,eAAc3B,SAAA,CAAC,MAAGiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAc8uB,EAAGjnB,IAAKxD,SAAEyqB,EAAGjJ,QAAUiJ,EAAGjnB,WAGpFJ,eAACU,IAAG,CAACiC,KAAM,EAAGpE,UAAU,aAAY3B,SAAA,CAClCiB,cAACgG,GAAI,CAACtF,UAAU,eAAc3B,SAAC,UAC/BiB,cAACgG,GAAI,CAACtF,UAAU,eAAc3B,SAACoD,eAACG,IAAI,CAACC,GAAG,GAAExD,SAAA,CAAEyL,GAAaJ,GAAOof,EAAGtpB,MAAO,KAAK,mBAnB/CspB,EAAGrO,WA2BjDnb,cAAA,OAAKU,UAAU,eAAc3B,SAACiB,cAACsC,IAAI,CAACC,GAAG,OAAMxD,SAAC,0CAuB9D,CC5Re,SAAS2qB,KACtB,MAAMngB,EAAWP,MACX,KAAErJ,EAAI,QAAEwY,EAAO,MAAEzE,GAAUxK,IAAgBjK,GAAUA,EAAoB,aAAQ,OAQvF,OALAc,qBAAU,IACD,KACLwJ,EAAS2e,KAAc,GAExB,IAED/lB,eAAA,OAAApD,SAAA,CACEiB,cAACiO,GAAU,CAACzL,MAAM,iBAElBxC,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAASyH,GACT1L,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,OAC3C+R,QAASwP,OAIjB,C,4DC9Be,OAA0B,sC,uCCEzC,MAAO5hB,KAAI,IAAIC,KACF2jB,GAAsBtpB,IAAOC,IAAGI,QAAAC,YAAA,mLAWhCipB,GAAcvpB,IAAOC,IAAGO,QAAAF,YAAA,8+BAIpB9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM7D,WAAW,IAGhCyF,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM9D,IAAI,IAErB2F,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM9D,IAAI,IAIlB4F,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAMxD,GAAG,IAanCuF,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM3C,OAAO,IAuBhCstB,GAAWxpB,IAAOC,IAAGkB,QAAAb,YAAA,qIASrBmpB,GAAazpB,IAAOC,IAAGqB,QAAAhB,YAAA,kGAGLO,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM7C,MAAM,IAE7C0tB,GAAW1pB,IAAOC,IAAGuB,QAAAlB,YAAA,oCAGrBqpB,GAAa3pB,IAAO4pB,OAAMloB,QAAApB,YAAA,8NACfQ,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAM7C,MAAM,IAOvBmI,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAM3C,OAAO,IAI3C2tB,GAAgB7pB,IAAOC,IAAG0H,QAAArH,YAAA,qMAC1B8D,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAM9D,IAAI,IAUzB+uB,GAAS9pB,YAAO4L,KAAP5L,CAAW6H,QAAAvH,YAAA,8HACnB+D,IAAA,IAAC,MAAExF,EAAK,OAAEwT,GAAQhO,EAAA,MAAgB,YAAXgO,EAAuBxT,EAAMzB,UAAuB,SAAXiV,EAAoBxT,EAAM3B,OAAS2B,EAAMvB,SAAS,IACvHgH,IAAA,IAAC,MAAEzF,EAAK,OAAEwT,GAAQ/N,EAAA,OAAKzF,EAAMwT,EAAO,IAOhC0X,GAAc/pB,IAAOwE,KAAIuD,QAAAzH,YAAA,2BACzBmE,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAM7D,WAAW,IAEhCgvB,GAAchqB,YAAOkE,KAAPlE,CAAckI,QAAA5H,YAAA,yNAGjB+H,IAAA,IAAC,MAAExJ,GAAOwJ,EAAA,OAAKxJ,EAAM3C,OAAO,IAOxBoM,IAAA,IAAC,MAAEzJ,GAAOyJ,EAAA,OAAKzJ,EAAM1C,YAAY,IAGhD8tB,GAAgBjqB,IAAOwE,KAAI4D,QAAA9H,YAAA,qJAM3BiI,IAAA,IAAC,MAAE1J,GAAO0J,EAAA,OAAK1J,EAAM7D,WAAW,IAGhCkvB,GAAYlqB,YAAO0F,GAAP1F,CAAYyI,QAAAnI,YAAA,0EClI7B4e,UAAU,IAAIvZ,KAOhBwkB,GAAc3rB,IAAmB,IAAlB,IAAEgB,GAAUhB,EAE/B,MAAO4rB,EAAWC,GAAgBrrB,mBAAS,OAErCsrB,EAAeznB,IACnB,MAAMjD,EAAQiD,EAAEmD,OAAOpG,MACvByqB,EAAazqB,EAAM,EAErB,OACEiC,eAAC0nB,GAAW,CAACnpB,UAAU,uBAAsB3B,SAAA,CAC1Ce,EAAI+qB,eACH1oB,eAAC6nB,GAAQ,CAAAjrB,SAAA,CACPiB,cAACiqB,GAAU,CAAC/pB,MAAM,MAAMgD,QAAS0nB,EAAalqB,UAAyB,QAAdgqB,EAAsB,SAAW,GAAG3rB,SAAC,QAC9FiB,cAACiqB,GAAU,CAAC/pB,MAAM,MAAMgD,QAAS0nB,EAAalqB,UAAyB,QAAdgqB,EAAsB,SAAW,GAAG3rB,SAAC,WAGlGiB,cAAA,OAAKU,UAAU,cAAa3B,SACzBe,EAAI+qB,eAA+B,QAAdH,EACpB5qB,EAAI+qB,cAAc/R,KAAI,CAACgS,EAAQC,IAC7B5oB,eAAA,OAAKzB,UAAU,eAAc3B,SAAA,CAC1BgsB,EAAI,EAAE,KAAGD,IADuBC,KAKrCjrB,EAAIkrB,OAAOlS,KAAI,CAACmS,EAAYC,IAC1B/oB,eAAA,OAAKzB,UAAU,eAAc3B,SAAA,CAC1BmsB,EAAW,EAAE,KAAGD,IADgBC,SAM7B,EAIZC,GAAapqB,IAAmB,IAAlB,IAAEjB,GAAUiB,EAC9B,MAAO2pB,EAAWC,GAAgBrrB,mBAAS,OAErCsrB,EAAeznB,IACnB,MAAMjD,EAAQiD,EAAEmD,OAAOpG,MACvByqB,EAAazqB,EAAM,EAErB,IAAIkrB,EAAuB,GAQ3B,OAPItrB,EAAIoH,QAAUpH,EAAIoH,OAAOlM,OAAS,GACpC8E,EAAIoH,OAAOmkB,SAASC,IACbA,EAAEC,SACLH,EAASpV,KAAKsV,EAAEhmB,KAClB,IAIFnD,eAAC0nB,GAAW,CAACnpB,UAAU,uBAAsB3B,SAAA,CAC1Ce,EAAI0rB,aACHrpB,eAAC6nB,GAAQ,CAAAjrB,SAAA,CACPiB,cAACiqB,GAAU,CAAC/pB,MAAM,MAAMgD,QAAS0nB,EAAalqB,UAAyB,QAAdgqB,EAAsB,SAAW,GAAG3rB,SAAC,QAC9FiB,cAACiqB,GAAU,CAAC/pB,MAAM,MAAMgD,QAAS0nB,EAAalqB,UAAyB,QAAdgqB,EAAsB,SAAW,GAAG3rB,SAAC,WAGjGe,EAAI0rB,aAA6B,QAAdd,EAClBU,EAAStS,KAAI,CAACwS,EAAQP,IACpB5oB,eAACqd,GAAS,CAAAzgB,SAAA,CACPusB,EAAE,KAAGxrB,EAAI0rB,YAAYF,KADRP,KAKlBjrB,EAAIH,OAEM,EA8EH8rB,OA3Ef,SAA8BzqB,GAAwC,IAAvC,KAAErB,GAAkCqB,EACjE,MAAOlG,EAAQ4wB,GAAapsB,mBAAS,IAC9BqsB,EAAMC,GAAWtsB,mBAAqB,IAU7C,OAJAS,qBAAU,KACR6rB,EAAQ,IAAID,KAAShsB,EAAKkM,MAAM/Q,EAAQA,EArF9B,IAqF+C,GACxD,CAACA,IAGFqH,eAAA6L,WAAA,CAAAjP,SAAA,CACG4sB,EAAK7S,KAAI,CAAChZ,EAAK+rB,KACd,MAAMC,EAAYhsB,EAAIoH,QAAUpH,EAAIoH,OAAOihB,QAAO,CAACC,EAAU1lB,EAAcqW,EAAYgT,KACrF,MAAMR,EAAU7oB,EAAQ6oB,QAAO,eAAA7wB,OAAkBgI,EAAQ2D,KAAI,KAAA3L,OAAIgI,EAAQ4C,MAAI,IAAA5K,OAASgI,EAAQ2D,KAAI,KAAA3L,OAAIgI,EAAQ4C,MAC9G,OAAOyT,IAAUgT,EAAO/wB,OAAS,EAAIotB,EAAM,IAAMmD,EAAUnD,EAAM,IAAMmD,EAAU,GAAG,GACnF,IACH,OACEppB,eAAC4nB,GAAU,CAAAhrB,SAAA,CACToD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,cAExCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,0CAAyC3B,SAC9DiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAcoF,EAAIlF,SAAUmE,SAAEe,EAAIlF,iBAI/CkF,EAAIksB,cACH7pB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,WAExCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,IAAArE,OAChCoF,EAAIksB,aAAY,MAAAtxB,OAAKoxB,EAAS,KAAI,QACtC9rB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAcoF,EAAIlF,SAAUmE,SAAC,sBAM7CoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,aAExCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC3Be,EAAIkrB,OAAOhwB,OAAS,GACnBgF,cAACyqB,GAAW,CAAC3qB,IAAKA,SAKxBqC,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,WAExCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC3Be,EAAIH,KAAK3E,OAAS,GAAKgF,cAACmrB,GAAU,CAACrrB,IAAKA,WAzC9B+rB,EA4CJ,IAIjB7rB,cAAA,OAAKuD,MAAO,CAACwc,UAAW,UAAUhhB,SAC7BY,EAAK3E,OAjJF,GAiJsB2wB,EAAK3wB,OAAS2E,EAAK3E,QAAYgF,cAACsqB,GAAW,CAACpnB,QAjE9E,WACEwoB,EAAU5wB,EAjFA,EAkFZ,EA+DkGiE,SAAC,kBAIrG,EC1GA,MAAQiH,KAAK,IAAIC,MACTqN,QAAQ,IAAIC,KAEL,SAAS0Y,KAA8B,IAADC,EACnD,MAAOC,EAAUC,GAAa9sB,oBAAS,GAEjCiK,EAAWP,MACX,KAAEmS,GAASkR,cAEXC,EAAoB9sB,uBACvB0H,GAAgB4gB,GAAc,IAAK5gB,EAAQiU,UAC5C,IAEFpb,qBAAU,KACRwJ,EAASme,GAAmBvM,GAAM,GACjC,CAAC5R,EAAU4R,IAEd,MAAM,KAAExb,EAAI,WAAEsoB,EAAU,QAAE9P,GAA8EjP,IAAgBjK,GAAUA,EAAM0hB,aAAanX,UAErJ,GAAgB,YAAZ2O,EAAuB,OAAOnY,cAAC0W,GAAe,IAClD,GAAgB,WAAZyB,EAAsB,OAAOnY,cAACusB,IAAQ,CAAChqB,GAAE,aAAA7H,OAAeygB,KAC5D,IAAKxb,EAAM,OAAO,KAClB,MAAM6sB,EAAa,IAAIliB,KAAU3K,EAAKO,OAAOusB,MAAM9sB,EAAK+sB,WAAWniB,WAC7DoiB,EAA4B,QAAVT,EAAGvsB,EAAK4C,UAAE,IAAA2pB,IAAIvsB,EAAKoK,gBACrC6iB,EAAWjtB,EAAKktB,eAAkBltB,EAAK4C,IAAM5C,EAAKoK,gBAAmBpK,EAAK8e,KAChF,OACEtc,eAACynB,GAAmB,CAAA7qB,SAAA,CACjBoc,GACCnb,cAAC8sB,IAAM,CAAA/tB,SACLiB,cAAA,SAAAjB,SAAA,eAAArE,OAAuBygB,OAG3Bnb,cAACiO,GAAU,CAACzL,MAAM,wBAClBxC,cAACa,EAAQ,CAAA9B,SACPoD,eAACwY,GAAY,CAACtU,KAAK,OAAO4U,QAAS,CAAC,cAAe,QAAQlc,SAAA,CACzDoD,eAACmR,GAAO,CAACQ,IAAI,WAAU/U,SAAA,CACrBoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,sBAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,yHAAwHzD,SAE9HiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CAElCiB,cAACgG,GAAI,CAAAjH,SAAEY,EAAKwb,OACZnb,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,2BAA2BptB,SAExDiB,cAAC+sB,mBAAe,CACd1xB,KAAMsE,EAAKwb,KACX6R,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAQhEd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,YAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,wBAAuBzD,SAE7BiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCiB,cAACiM,GAAS,CAAAlN,SAAEY,EAAK0G,cAKvBlE,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,cAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,iCAAgCzD,SAEtCiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCiB,cAACoqB,GAAM,CAACzX,OAAQhT,EAAKgT,OAAO5T,SACT,SAAhBY,EAAKgT,OACJxQ,eAAA6L,WAAA,CAAAjP,SAAA,CACEiB,cAACmtB,KAAiB,IAAG,OACrBhrB,eAAC6D,GAAI,CAACzC,MAAO,CAAEyL,cAAe,aAAcvC,MAAO,WAAY1N,SAAA,CAAEY,EAAKgT,OAAO,OAAQ,gBAAchT,EAAKytB,WAAaztB,EAAKytB,WAAa,GAAG,OAE1IjrB,eAAA6L,WAAA,CAAAjP,SAAA,CAAEiB,cAACuU,KAAiB,IAAG,IAACvU,cAACgG,GAAI,CAACzC,MAAO,CAAEyL,cAAe,aAAcvC,MAAO,WAAY1N,SAAEY,EAAKgT,qBAM1GxQ,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,YAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,wDAAuDzD,SAE7DiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCgM,GAAcpL,EAAKqL,WACpBhL,cAAC+W,KAAO,CAAC1Q,KAAK,aACdlE,eAACqoB,GAAS,CAACnkB,KAAK,YAAWtH,SAAA,CAACiB,cAACsZ,KAAmB,IAAG,IAAEhO,GAAmB3L,EAAKqL,sBAKnF7I,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,QAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,6JAA4JzD,SAElKiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACpCoD,eAACG,IAAI,CAACC,GAAE,UAAA7H,OAAYiF,EAAK+gB,aAAc3hB,SAAA,CAAC,IAAEY,EAAK+gB,eAC/C1gB,cAAC+W,KAAO,CAAC1Q,KAAK,aACdlE,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAACiB,cAACqtB,KAAa,IAAG,IAAE7iB,GAAa7K,EAAK2tB,YAAc3tB,EAAK+gB,aAAa,kCAKlGve,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,OAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,wCAAuCzD,SAE7CiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCoD,eAACiE,KAAK,CAAC7C,MAAO,CAACgqB,SAAU,QAAQxuB,SAAA,CAC/BiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAciF,EAAK8e,MAAO1f,SAAEY,EAAK8e,OACxC9e,EAAKwgB,SAAWxgB,GAAQA,EAAK4C,IAAMJ,eAACkoB,GAAW,CAAAtrB,SAAA,CAAC,IAAEY,EAAKwgB,SAAS,OAAkB,GACnFngB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,4BAA4BptB,SAEzDiB,cAAC+sB,mBAAe,CACd1xB,KAAMsE,EAAK8e,KACXuO,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,8BAQhEd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,KAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,wEAAuEzD,SAE7EiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/CxB,eAACU,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAAA,CAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCoD,eAACiE,KAAK,CAAC7C,MAAO,CAACgqB,SAAU,QAAQxuB,SAAA,CAC9BY,EAAK4C,GACJJ,eAACiE,KAAK,CAAArH,SAAA,CACHY,EAAK2gB,YAActgB,cAACqf,GAAmB,IACxCrf,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAciF,EAAK4C,IAAKxD,SAAEY,EAAK4C,KACtC5C,EAAK4gB,OAAS5gB,GAAQA,EAAK4C,IAAMJ,eAACkoB,GAAW,CAAAtrB,SAAA,CAAC,IAAEY,EAAK4gB,OAAO,OAAkB,MAE/E5gB,EAAKoK,iBAAmB5H,eAAA,OAAApD,SAAA,CAAK,aAAUoD,eAACG,IAAI,CAACC,GAAE,YAAA7H,OAAciF,EAAKoK,iBAAkBhL,SAAA,CAACiB,cAACqf,GAAmB,IAAG,IAAE1f,EAAKoK,mBAAuB,eAE9I/J,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,4BAA4BptB,SAEzDiB,cAAC+sB,mBAAe,CACd1xB,KAAMsxB,EACNK,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCoD,eAACiE,KAAK,CAAArH,SAAA,CACJiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,gBAEpDjD,cAACgG,GAAI,CAACgf,QAAM,EAAC3e,KAAK,2BAOvB,OAAJ1G,QAAI,IAAJA,OAAI,EAAJA,EAAM6tB,WAAY7tB,EAAK6tB,SAASxyB,OAAS,GACxCgF,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCY,EAAK6tB,SAAS1U,KAAI,CAAC3E,EAAW/Q,IAE3BjB,eAAA,OAA2BoB,MAAO,CAAE6D,MAAO,OAAQ2G,SAAU,OAAQvK,QAAS,OAAQ+pB,SAAS,OAAQE,IAAK,MAAO9K,YAAa,OAAQlf,WAAY,UAAU1E,SAAA,CAC5JiB,cAAC0tB,KAAiB,IAClB1tB,cAACqqB,GAAW,CAAAtrB,SAAC,eACZyL,GAAaJ,GAAO+J,EAAKjU,MAAO,IAAK,GAAG,OACzCF,cAACqqB,GAAW,CAAAtrB,SAAC,WACXiB,cAAA,OAAKuD,MAAO,CAAE8W,SAAU,SAAUtb,SAChCiB,cAAC6N,KAAO,CAACrL,MAAO2R,EAAKsK,KAAK1f,SACxBiB,cAACsC,IAAI,CAAC5B,UAAU,eAAe6B,GAAE,YAAA7H,OAAcyZ,EAAKsK,MAAO1f,SAAEoV,EAAKsK,WAGxEze,cAACqqB,GAAW,CAAAtrB,SAAC,SACbiB,cAAA,OAAKuD,MAAO,CAAE8W,SAAU,SAAUtb,SAChCiB,cAAC6N,KAAO,CAACrL,MAAO2R,EAAK5R,GAAGxD,SACxBiB,cAACsC,IAAI,CAAC5B,UAAU,eAAe6B,GAAE,YAAA7H,OAAcyZ,EAAK5R,IAAKxD,SAAEoV,EAAK5R,WAb1D4R,EAAKgH,KAAO/X,aAyBhCzD,EAAK8mB,QAAQ1pB,MAAQ4C,EAAK8mB,QAAQ1pB,KAAK/B,OAAS,GAChDmH,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,qBAEpCiB,cAAC6N,KAAO,CACRe,UAAU,MACVpM,MAAM,yCAAwCzD,SAE5CiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SAElCY,EAAK8mB,QAAQ1pB,KAAK+b,KAAI,CAAC3E,EAAM4E,IAEzB5W,eAAC2nB,GAAQ,CAAA/qB,SAAA,CACPoD,eAAC6D,GAAI,CAAC+e,QAAM,EAAAhmB,SAAA,CAAC,YACVyL,GACCJ,GACE+J,EAAKxU,MAAQwU,EAAKxU,KAAKguB,YAAcxZ,EAAKxU,KAAKguB,YAAYtjB,OAAS,EACpE8J,EAAKxU,MAAQwU,EAAKxU,KAAKguB,YAAcxZ,EAAKxU,KAAKguB,YAAYC,cAAgB,QAAY,OAC7F5tB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYyZ,EAAKxU,MAAQwU,EAAKxU,KAAKguB,YAAcxZ,EAAKxU,KAAKguB,YAAY/yB,QAAU,IAAKmE,SAAEoV,EAAKxU,MAAQwU,EAAKxU,KAAKguB,YAAcxZ,EAAKxU,KAAKguB,YAAYtJ,YAAc,KAAU,OACnLliB,eAAC6D,GAAI,CAAC+e,QAAM,EAAAhmB,SAAA,CAAC,WACVyL,GACCJ,GACE+J,EAAKxU,MAAQwU,EAAKxU,KAAKkuB,aAAe1Z,EAAKxU,KAAKkuB,aAAaxjB,OAAS,EACtE8J,EAAKxU,MAAQwU,EAAKxU,KAAKkuB,aAAe1Z,EAAKxU,KAAKkuB,aAAaD,cAAgB,QACrE,OACd5tB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYyZ,EAAKxU,MAAQwU,EAAKxU,KAAKkuB,aAAe1Z,EAAKxU,KAAKkuB,aAAajzB,QAAU,IAAKmE,SAAEoV,EAAKxU,MAAQwU,EAAKxU,KAAKkuB,aAAe1Z,EAAKxU,KAAKkuB,aAAaxJ,YAAc,KAAU,OACvLrkB,cAACgG,GAAI,CAAC+e,QAAM,EAAAhmB,SAAC,OAAS,OACtBiB,cAACma,GAAW,CAAC3X,MAAO2R,EAAKxU,MAAQwU,EAAKxU,KAAKmuB,OAAS3Z,EAAKxU,KAAKmuB,OAAS,GAAIlzB,QAASuZ,EAAKxU,MAAQwU,EAAKxU,KAAKouB,GAAK5Z,EAAKxU,KAAKouB,GAAK,OAflHhV,YAyB5BpZ,EAAK8mB,QAAQuH,oBACZ7rB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,yBAExCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SAElCY,EAAK8mB,QAAQuH,mBAAmBlV,KAAI,CAAC3E,EAAM4E,IAEvC5W,eAACiE,KAAK,CAAa7C,MAAO,CAACgqB,SAAU,QAAQxuB,SAAA,CAAC,SAE3CyL,GAAaJ,GAAO+J,EAAKxU,KAAKsuB,aAAc9Z,EAAKxU,KAAKuuB,iBACvDluB,cAACma,GAAW,CAAC9T,KAAK,QAAQ+T,SAAS,EAAO5X,MAAO2R,EAAKxU,KAAKwuB,aAAcvzB,QAASuZ,EAAKxU,KAAKyuB,gBAAiB,MAE5G5jB,GAAaJ,GAAO+J,EAAKxU,KAAK0uB,aAAcla,EAAKxU,KAAK2uB,iBACvDtuB,cAACma,GAAW,CAAC9T,KAAK,QAAQ+T,SAAS,EAAO5X,MAAO2R,EAAKxU,KAAK4uB,aAAc3zB,QAASuZ,EAAKxU,KAAK6uB,gBAAiB,KAE7GxuB,cAACma,GAAW,CAAC9T,KAAK,QAAQ+T,SAAS,EAAO5X,MAAO2R,EAAKxU,KAAKmuB,OAAQlzB,QAASuZ,EAAKxU,KAAK/E,YAR5Eme,YAkBzBpZ,EAAK8mB,QAAQgI,uBACZtsB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,yBAExCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SAElCY,EAAK8mB,QAAQgI,sBAAsB3V,KAAI,CAAC3E,EAAM4E,IAE1C5W,eAACiE,KAAK,CAAa7C,MAAO,CAACgqB,SAAU,QAAQxuB,SAAA,CAAC,SAE3CyL,GAAaJ,GAAO+J,EAAKxU,KAAKsuB,aAAc9Z,EAAKxU,KAAKuuB,iBACvDluB,cAACma,GAAW,CAAC9T,KAAK,QAAQ+T,SAAS,EAAO5X,MAAO2R,EAAKxU,KAAKwuB,aAAcvzB,QAASuZ,EAAKxU,KAAKyuB,gBAAiB,MAE5G5jB,GAAaJ,GAAO+J,EAAKxU,KAAK0uB,aAAcla,EAAKxU,KAAK2uB,iBACvDtuB,cAACma,GAAW,CAAC9T,KAAK,QAAQ+T,SAAS,EAAO5X,MAAO2R,EAAKxU,KAAK4uB,aAAc3zB,QAASuZ,EAAKxU,KAAK6uB,gBAAiB,OAE7GxuB,cAACma,GAAW,CAAC9T,KAAK,QAAQ+T,SAAS,EAAO5X,MAAO2R,EAAKxU,KAAKmuB,OAAQlzB,QAASuZ,EAAKxU,KAAK/E,YAR5Eme,YAkBxBpZ,EAAK8mB,QAAQ3pB,UAAY6C,EAAK8mB,QAAQ3pB,SAAS9B,OAAS,GACxDmH,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,yBAExCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SAElCY,EAAK8mB,QAAQ3pB,SAASgc,KAAI,CAAC3E,EAAM4E,KAAW,IAAD2V,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACzC,MAAM7L,GAAmB,QAATsL,EAAAva,EAAKxU,YAAI,IAAA+uB,OAAA,EAATA,EAAWtL,WAAoB,QAAbuL,EAAIxa,EAAKxU,YAAI,IAAAgvB,OAAA,EAATA,EAAWxL,eAC3C+L,GAAqB,OAAP9L,QAAO,IAAPA,GAAmB,QAAZwL,EAAPxL,EAASje,kBAAU,IAAAypB,OAAZ,EAAPA,EAAqB5zB,QAAS,GAC5Cm0B,EAAcD,EAAW,GAAAx0B,OAAa,OAAP0oB,QAAO,IAAPA,GAAmB,QAAZyL,EAAPzL,EAASje,kBAAU,IAAA0pB,OAAZ,EAAPA,EAAqBhjB,MAAM,EAAG,GAAE,OAAAnR,OAAa,OAAP0oB,QAAO,IAAPA,GAAmB,QAAZ0L,EAAP1L,EAASje,kBAAU,IAAA2pB,OAAZ,EAAPA,EAAqBjjB,OAAO,IAAOuX,EAC9G,OACEjhB,eAAC2nB,GAAQ,CAAA/qB,SAAA,CACLiB,cAACqqB,GAAW,CAAC9mB,MAAO,CAACwK,SAAU,OAAQgB,UAAU,OAAOhQ,SAACiB,cAACovB,KAAkB,MAC5EpvB,cAACgG,GAAI,CAAC+e,QAAM,EAACxhB,MAAO,CAACuK,WAAW,UAAU/O,SAAC,SAAW,OACtDiB,cAAA,OAAKuD,MAAO,CAAE8W,SAAU,SAAUtb,SAACiB,cAACma,GAAW,CAACvf,QAAuB,QAAhBm0B,EAAE5a,EAAKxU,KAAK8e,YAAI,IAAAsQ,OAAA,EAAdA,EAAgB/iB,kBAAuB,OAChGhM,cAACgG,GAAI,CAAC+e,QAAM,EAACxhB,MAAO,CAACuK,WAAW,UAAU/O,SAAC,OAAS,OACpDiB,cAAA,OAAKuD,MAAO,CAAE8W,SAAU,SAAUtb,SAACiB,cAACma,GAAW,CAACvf,QAAqB,QAAdo0B,EAAE7a,EAAKxU,KAAK4C,UAAE,IAAAysB,OAAA,EAAZA,EAAchjB,kBAAuB,OAC9F7J,eAAC6D,GAAI,CAAC+e,QAAM,EAACxhB,MAAO,CAACuK,WAAW,UAAU/O,SAAA,CAAC,OAAKyL,GAAaJ,GAAO+J,EAAKxU,KAAK0K,OAAQ8J,EAAKxU,KAAKiuB,mBAAuB,OACvH5tB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYyZ,EAAKxU,MAAQwU,EAAKxU,KAAK/E,QAAUuZ,EAAKxU,KAAK/E,QAAU,IAAKmE,SAAEoV,EAAKxU,MAAQwU,EAAKxU,KAAK0kB,YAAclQ,EAAKxU,KAAK0kB,YAAc,KAAU,OACtJjB,GAAajhB,eAAC6D,GAAI,CAAAjH,SAAA,CAAC,YAASiB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAqB,QAArBu0B,EAAY9a,EAAKxU,YAAI,IAAAsvB,OAAA,EAATA,EAAWr0B,QAAO,aAAAF,OAAY0oB,GAAUrkB,SAAEowB,IAAmB,OAC7GD,GACDlvB,cAAC6N,KAAO,CACRe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,4BAA4BptB,SACvDiB,cAAC+sB,mBAAe,CACd1xB,KAAMg0B,OAAOjM,GACb4J,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SACrCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,sBAlB7C8V,EAuBJ,WAUzB5W,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,QAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,sDAAqDzD,SAEzDiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAIjD3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,0CAAyC3B,SAAA,CAC9DiB,cAACgG,GAAI,CAAC+e,QAAM,EAAAhmB,SAAEyL,GAAaJ,GAAOzK,EAAKO,MAAO,IAAK,KAAU,IAACF,cAAA,OAAKwR,OAAO,KAAKjO,MAAO,CAAEkT,OAAQ,gBAAkB3T,IAAMwsB,GAAYrsB,IAAI,QAAQjD,cAACsC,IAAI,CAACC,GAAG,GAAExD,SAAC,QAAU,IAACoD,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,KAAGyL,GAAaJ,GAAOoiB,EAAY,IAAK,GAAG,OACzOxsB,cAAC+W,KAAO,CAAC1Q,KAAK,aAAa,eACdmE,GAAa7K,EAAK+sB,mBAKrCvqB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,MAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,kEAAiEzD,SAErEiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAIjD3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCyL,GAAaJ,GAAOzK,EAAK6gB,IAAK,KAAK,eAKzC7gB,EAAK6gB,IAAM,GACAre,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CAChBiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,YAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,wCAAuCzD,SAE3CiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAIjD3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACpCiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAckyB,GAAW7tB,SAAE6tB,IACnC5sB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,qCAAqCptB,SAElEiB,cAAC+sB,mBAAe,CACd1xB,KAAMg0B,OAAOzC,GACbI,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAQxEd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,YAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,mEAAkEzD,SAEtEiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAIjD3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCyL,GAAaJ,GAAOzK,EAAK4vB,SAAU,IAAI,aACxCptB,eAAC6D,GAAI,CAACK,KAAK,YAAWtH,SAAA,CAAC,IAAEyL,GAAaJ,GAAOzK,EAAK4vB,SAAU,IAAK,IAAI,mBAK3EptB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,oBAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,yKAAwKzD,SAE5KiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAIjD3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCyL,GAAa7K,EAAK6vB,KAAK,IAACxvB,cAAC+W,KAAO,CAAC1Q,KAAK,aAAa,IAAEmE,GAAa7K,EAAKmhB,SACxE3e,eAACkoB,GAAW,CAAC9mB,MAAO,CAAEI,WAAY,OAAQ5E,SAAA,CAAC,IAAEyL,GAA4B,IAAf7K,EAAKmhB,QAAenhB,EAAK6vB,IAAK,GAAG,gBAKjGrtB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,QAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,mDAAkDzD,SAEtDiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,WAE7C3D,cAAC+W,KAAO,CAAC1Q,KAAK,aAAa,WAE3BrG,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,gDAA+CzD,SAEnDiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAIjD3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCY,EAAK8vB,MAAM,IAACzvB,cAAC+W,KAAO,CAAC1Q,KAAK,aAAa,IAACrG,cAACgG,GAAI,CAACK,KAAK,YAAWtH,SAAEY,EAAK+vB,2BAK5EvtB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,aAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,sIAAqIzD,SAEzIiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAIjD3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC2vB,GAAkB,CAAChwB,KAAMA,WAhhBJ,WAshB5BwC,eAACmR,GAAO,CAACQ,IAAI,eAAc/U,SAAA,CACzBoD,eAACgoB,GAAa,CAAAprB,SAAA,CAAC,qBACKiB,cAAA,UAAAjB,SAAQ,SAC1BiB,cAAA,OAAKuD,MAAO,CAAE8W,SAAU,SAAUtb,SAACiB,cAACma,GAAW,CAACvf,QAAS+E,EAAK8e,SAC9Dze,cAAA,UAAAjB,SAAQ,OACRiB,cAAA,OAAKuD,MAAO,CAAE8W,SAAU,SAAUtb,SAACiB,cAACma,GAAW,CAACvf,QAAS+E,EAAK4C,OAAY,YAChE0lB,EAAWtoB,KAAK3E,OAAO,2BAEnCgF,cAAC2pB,GAAS,CACRxR,QAAS8P,EAAW9P,QACpBD,QAASA,GACTjE,WAAYgU,EAAWtoB,KACvByY,QAASkU,MAZmB,eAgB9B3sB,EAAKgsB,KAAK3wB,OAAS,GACnBgF,cAACsT,GAAO,CAACQ,IAAG,SAAApZ,OAAWiF,EAAKgsB,KAAK3wB,OAAM,KAAI+D,SACzCiB,cAACyrB,GAAqB,CAAC9rB,KAAMA,EAAKgsB,QADY,eAQ5D,CAEO,SAASgE,GAAkB7wB,GAA4C,IAA3C,KAAEa,GAAsCb,EACzE,MAAO8wB,EAAUC,GAAevwB,oBAAS,GAMzC,IAAKK,EAAM,OAAO,KAElB,GAAIA,EAAKmwB,cACPnwB,EAAKowB,cACJhb,OAAOib,KAAKrwB,EAAKmwB,cAAc90B,OAAS,GACxC+Z,OAAOib,KAAKrwB,EAAKowB,cAAc/0B,OAAS,EACzC,CACA,MAAMkM,EAASvH,EAAKowB,aAAa7oB,OAAO4R,KAAK3E,GAAS,GAAAzZ,OAAQyZ,EAAK9N,KAAI,KAAA3L,OAAIyZ,EAAK7O,QAC1E2qB,EAAkBtwB,EAAKowB,aAAa7oB,OAAO4R,KAAI,CAAC3E,EAAW4E,KAC/D,MAAMmX,EAAYvwB,EAAKowB,aAAapwB,KAAKwU,EAAK7O,MAE9C,MAAO,IAAK6O,EAAM4E,QAAOpZ,KAAMuwB,EAAW,IAE5C,OACE/tB,eAAA6L,WAAA,CAAAjP,SAAA,CACEoD,eAAC0nB,GAAW,CAACnpB,UAAU,uBAAsB3B,SAAA,EACzC6wB,GACAztB,eAAA6L,WAAA,CAAAjP,SAAA,CACEoD,eAAC2nB,GAAQ,CAAA/qB,SAAA,CAAC,aAAWY,EAAKowB,aAAazqB,KAAK,IAAE4B,EAAOipB,KAAK,MAAM,OAChEhuB,eAAC2nB,GAAQ,CAAA/qB,SAAA,CAAC,aAAWY,EAAKmwB,aAAaM,YAEvCzwB,EAAKmwB,aAAanwB,KAAKmZ,KAAI,CAAC3E,EAAM4E,IAE5B5W,eAAC2nB,GAAQ,CAAA/qB,SAAA,CAAa,IAAEga,EAAM,MAAI5E,IAAnB4E,QAOxB6W,GACC5vB,cAAC2pB,GAAS,CACR1V,WAAYgc,EACZ/X,QAASmY,QAKfrwB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCiB,cAACwE,KAAM,CAAC9D,UAAU,oBAAoBwC,QA3C9C,WACE2sB,GAAaD,EACf,EAyCoE7wB,SAAE6wB,EAAW,cAAgB,0BAIjG,CAEA,OACE5vB,cAAC6pB,GAAW,CAACnpB,UAAU,uBAAuB6C,MAAO,CAAC+sB,UAAW,QAASC,UAAU,QAAQxxB,SAC1FiB,cAAA,KAAAjB,SAAIY,EAAK6wB,SAGf,CAEA,MAAMtY,GAAU,CAQd,CACE1V,MAAO,OACPY,IAAK,OACLiW,UAAW,OACX2G,UAAU,EACVzG,OAASkF,GACPze,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAc+jB,GAAO1f,SAAE0f,KAEnC,CACEjc,MAAO,KACPY,IAAK,KACLiW,UAAW,KACX2G,UAAU,EACVzG,OAAShX,GACPvC,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAc6H,GAAKxD,SAAEwD,KAEjC,CACEC,MAAO,cACPY,IAAK,QACLiW,UAAW,QACX2G,UAAU,EACVzG,OAASrZ,GAAkBF,cAAAgO,WAAA,CAAAjP,SAAGyL,GAAaJ,GAAOlK,EAAO,IAAK,OAS5DmwB,GAAmB,CACvB,CACE7tB,MAAO,IACPY,IAAK,QACLiW,UAAW,SAEb,CACE7W,MAAO,OACPY,IAAK,OACLiW,UAAW,QAEb,CACE7W,MAAO,OACPY,IAAK,OACLiW,UAAW,QAEb,CACE7W,MAAO,OACPY,IAAK,OACLiW,UAAW,OACXE,OAAQA,CAAC5Z,EAAqBigB,IAC5B1G,MAAMC,QAAQxZ,IAASA,EAAK3E,OAAS,EACjC2E,EAAKmZ,KAAK5Y,GACDiC,eAACG,IAAI,CAACC,GAAE,YAAA7H,OAAcwF,GAAQnB,SAAA,CAAEmB,EAAM,IAACF,cAAA,cAEhC,YAAhB4f,EAAOvZ,KAAqBrG,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAciF,GAAOZ,SAAEY,IAAeK,cAACgG,GAAI,CAAAjH,SAAM,OAAJY,QAAI,IAAJA,OAAI,EAAJA,EAAM8wB,qB,aC9vB1F,MAAMC,GAAiBpwB,IAAOC,IAAGI,QAAAC,YAAA,mMAY3BsP,GAAc5P,YAAO0P,KAAP1P,CAAaQ,QAAAF,YAAA,2QAElB9B,IAAA,IAAC,MAACK,GAAML,EAAA,OAAIK,EAAM3D,GAAG,IAErBuF,IAAA,IAAC,MAAC5B,GAAM4B,EAAA,OAAG5B,EAAM7C,MAAM,IASrB0E,IAAA,IAAC,MAAC7B,GAAM6B,EAAA,OAAI7B,EAAM3D,GAAG,IAGhCm1B,GAAerwB,YAAO0P,KAAP1P,CAAamB,QAAAb,YAAA,iNAGnBK,IAAA,IAAC,MAAC9B,GAAM8B,EAAA,OAAI9B,EAAM3C,OAAO,ICzBhC,SAASo0B,KAAiB,IAADtN,EACtC,MAAM/Z,EAAWP,KAEX6nB,GAA+B,QAAnBvN,EADJ7Z,KACUhP,IAAI,iBAAS,IAAA6oB,OAAA,EAAnBA,EAAqBpR,SAAU,IAC1CmV,EAAQyJ,GAAaxxB,mBAASuxB,GAC/Bpc,EAAUC,cAEV0D,EAAU5Y,uBACb0H,GAAgBkgB,GAAa,IAAKlgB,EAAQmgB,YAC3C,CAACA,KAIG,KAAE1nB,EAAI,QAAEwY,EAAO,MAAEzE,GAAUxK,IAAgBjK,GAAUA,EAAc,OAAQ,OAiBjF,OANAc,qBAAU,IACD,KACLwJ,EAASke,KAAiB,GAE3B,IAGDtlB,eAAA,OAAApD,SAAA,CACEiB,cAACiO,GAAU,CAACzL,MAAM,WAClBL,eAAA6L,WAAA,CAAAjP,SAAA,CACAiB,cAAC0wB,GAAc,CAAA3xB,SAEfoD,eAAC0N,KAAI,CAACkP,OAAO,WAAWxb,MAAO,CAAEC,QAAS,QAAUutB,SAtBvCz2B,UACfw2B,EAAU9b,EAAOqS,QACbrS,EAAOqS,OACT5S,EAAQuB,KAAK,CAAEpM,OAAO,WAADlP,OAAasa,EAAOqS,UAEzC5S,EAAQuB,KAAK,CAAEpM,OAAQ,IACzB,EAgB0EonB,aAAa,MAAKjyB,SAAA,CACxFiB,cAAC6P,KAAKxN,KAAI,CACRiD,KAAK,SAAQvG,SAEbiB,cAACkQ,GAAW,CACVoG,YAAY,EACZJ,YAAY,gCAGhBlW,cAAC6P,KAAKxN,KAAI,CAAAtD,SACRiB,cAAC2wB,GAAY,CACXtqB,KAAK,SACLnG,MAAM,kBAKZF,cAAC2pB,GAAS,CACVxR,QAASA,EACTzE,MAAOA,EACPwE,QAASuI,GACTxM,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,UAC3C+R,QAASA,SAKf,C,+BCtEO,MAAM6Y,GAAc3wB,IAAOC,IAAGI,QAAAC,YAAA,mLAWxBipB,GAAcvpB,IAAOC,IAAGO,QAAAF,YAAA,wwBAIpB9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM7D,WAAW,IAGhCyF,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM9D,IAAI,IAGzB2F,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM9D,IAAI,IAKd4F,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAMxD,GAAG,IAanCuF,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM7D,WAAW,IAUpC8M,GAAiB9H,IAAOC,IAAGkB,QAAAb,YAAA,uIAGTO,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM7C,MAAM,IAE7C8E,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAM9D,IAAI,IAEzBgvB,GAAc/pB,IAAOwE,KAAIlD,QAAAhB,YAAA,2BACzB6D,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAM7D,WAAW,IAEhC41B,GAAiB5wB,IAAOC,IAAGuB,QAAAlB,YAAA,wHAChB8D,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAM1D,GAAG,IAOnC01B,GAAgB7wB,IAAOC,IAAGyB,QAAApB,YAAA,mFAGf+D,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAKxF,EAAM1D,GAAG,IAOnC8I,IAJejE,IAAOC,IAAG0H,QAAArH,YAAA,qCAIVN,YAAOkE,KAAPlE,CAAc6H,QAAAvH,YAAA,uiBAOpBgE,IAAA,IAAC,MAAEzF,GAAOyF,EAAA,OAAKzF,EAAMpB,KAAK,IAC1BgH,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAMlB,KAAK,IACrC0K,IAAA,IAAC,MAAExJ,GAAOwJ,EAAA,OAAKxJ,EAAMnB,OAAO,IAKf4K,IAAA,IAAC,MAAEzJ,GAAOyJ,EAAA,OAAKzJ,EAAMd,YAAY,IACjCwK,IAAA,IAAC,MAAE1J,GAAO0J,EAAA,OAAK1J,EAAMb,cAAc,IAMnCkR,IAAA,IAAC,MAAErQ,GAAOqQ,EAAA,OAAKrQ,EAAMjB,WAAW,IAChCwR,IAAA,IAAC,MAAEvQ,GAAOuQ,EAAA,OAAKvQ,EAAMhB,WAAW,IAC3CwR,IAAA,IAAC,MAAExQ,GAAOwQ,EAAA,OAAKxQ,EAAMf,aAAa,KAIlCmsB,GAAgBjqB,IAAOwE,KAAIuD,QAAAzH,YAAA,qJAM3BwwB,IAAA,IAAC,MAAEjyB,GAAOiyB,EAAA,OAAKjyB,EAAM7D,WAAW,IC3G9B,SAASouB,GAAe5qB,GAAwD,IAAvD,YAAE4hB,GAAkD5hB,EAC1F,MAAM,KAAEa,EAAI,QAAEwY,EAAO,MAAEzE,GAAUxK,IAAgBjK,GAAUA,EAAM6pB,OAAOtf,QAAQmX,eAE1EvI,EAAU5Y,uBACb0H,GAAgBggB,GAAiB,IAAKhgB,EAAQwZ,iBAC/C,IAGF,OACE1gB,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAASyH,GACT1L,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,OAC3C+R,QAASA,GAGf,CCee,SAASiZ,KACtB,MAAOlF,EAAUC,GAAa9sB,oBAAS,GACjCiK,EAAWP,MACX,kBAAEge,GAAsBqF,cACxB1G,EAAQzc,IAAgBjK,GAAUA,EAAMC,QAAQymB,MAAMhmB,OAC5DI,qBAAU,KACJinB,GAAmBzd,EAASwd,GAA8BC,GAAmB,GAChF,CAACA,EAAmBzd,IAKrBxJ,qBAAU,KAFNwJ,EAAS6b,MAMF,KACP7b,EAASyc,KAAa,IAEvB,IACL,MAAM,KAAErmB,EAAI,QAAEwY,GAAgEjP,IAAgBjK,GAAUA,EAAM6pB,OAAOtf,UACrH,OAAGmc,GAASA,EAAM1F,OAAS+G,GAAqBrB,EAAM1F,MAAQ+G,EAA0BhnB,cAACusB,IAAQ,CAAChqB,GAAE,cAAA7H,OAAgBssB,KACpG,YAAZ7O,EAA8BnY,cAAC0W,GAAe,IAClC,WAAZyB,EAA6BnY,cAACusB,IAAQ,CAAChqB,GAAE,aAAA7H,OAAessB,KACvDrnB,EAGHwC,eAAC8uB,GAAW,CAAAlyB,SAAA,CACTioB,GACChnB,cAAC8sB,IAAM,CAAA/tB,SACLiB,cAAA,SAAAjB,SAAA,SAAArE,OAAiBssB,OAGrBhnB,cAACiO,GAAU,CAACzL,MAAM,kBAClBL,eAAC+uB,GAAc,CAAAnyB,SAAA,CACbiB,cAACoI,GAAc,CAAArJ,SAAC,aAChBoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,eAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,6IAA4IzD,SAElJiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,yCAAwC3B,SAAA,CAC5DyL,GAAa7K,EAAK8K,QACnBzK,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,gCAAgCptB,SAE7DiB,cAAC+sB,mBAAe,CACd1xB,KAAMg0B,OAAO1vB,EAAK8K,QAClBuiB,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,oBAIxDjD,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO7C,EAAK8K,OAAS,EAAI,iBAAmB,4BAA4B1L,SAExEiB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYiF,EAAK8K,OAAS,GAAI1L,SAACiB,cAACuE,GAAY,CAACkT,SAA0B,IAAhB9X,EAAK8K,OAAa1L,SAACiB,cAAC4X,KAAY,UAGjG5X,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO7C,EAAK8K,OAAS9K,EAAK2tB,YAAc,aAAe,2BAA2BvuB,SAElFiB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYiF,EAAK8K,OAAQ,GAAI1L,SAACiB,cAACuE,GAAY,CAACkT,SAAU9X,EAAK2tB,cAAgB3tB,EAAK8K,OAAO1L,SAACiB,cAAC6X,KAAa,kBAMtH1V,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,QAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,uBAAsBzD,SAE5BiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACpCiB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYiF,EAAKshB,OAAQliB,SAAEyL,GAAa7K,EAAKshB,SACrDjhB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,0BAA0BptB,SAEvDiB,cAAC+sB,mBAAe,CACd1xB,KAAMg0B,OAAO1vB,EAAKshB,OAClB+L,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAO9Dd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,YAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,kDAAiDzD,SAEvDiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCgM,GAAcpL,EAAKqL,WACpBhL,cAAC+W,KAAO,CAAC1Q,KAAK,aACdlE,eAACkoB,GAAW,CAAAtrB,SAAA,CAACiB,cAACsZ,KAAmB,IAAG,IAAEhO,GAAmB3L,EAAKqL,cAC9DhL,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,oCAAoCptB,SAEjEiB,cAAC+sB,mBAAe,CACd1xB,KAAMg0B,OAAO1vB,EAAKqL,WAClBgiB,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAO9Dd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,eAElCiB,cAAC6N,KAAO,CACRe,UAAU,MACVpM,MAAM,6IAA4IzD,SAElJiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACpCiB,cAAA,KAAAjB,SAAIyL,GAAa7K,EAAKghB,gBAAkB,eAAahhB,EAAKghB,aAAe,EAAI,IAAM,GAAG,QAAK3gB,cAAA,KAAAjB,SAAIyL,GAAa7K,EAAK2xB,mBAAqB,iCAA+B3xB,EAAK2xB,gBAAkB,EAAI,IAAM,GAAG,yBAK/MnvB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,OAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,qDAAoDzD,SAE1DiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCY,EAAKwb,KACNnb,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,+BAA+BptB,SAE5DiB,cAAC+sB,mBAAe,CACd1xB,KAAMsE,EAAKwb,KACX6R,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAO7DtD,EAAK4xB,YACJpvB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,cAEpCiB,cAAC6N,KAAO,CACRe,UAAU,MACVpM,MAAM,6FAA4FzD,SAElGiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI7C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CAClCY,EAAK8K,OAAS,EAAK,GAAKzK,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYiF,EAAK8K,OAAS,GAAI1L,SAAEY,EAAK4xB,aACvEvxB,cAAC6N,KAAO,CACRe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,gCAAgCptB,SAE3DiB,cAAC+sB,mBAAe,CACd1xB,KAAMsE,EAAK4xB,WACXvE,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAOhEd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,aAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,8BAA6BzD,SAEnCiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCY,EAAK6xB,UACNxxB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,8BAA8BptB,SAE3DiB,cAAC+sB,mBAAe,CACd1xB,KAAMsE,EAAK6xB,UACXxE,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAM9Dd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,UAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,qBAAoBzD,SAE1BiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACpCiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAciF,EAAKkhB,IAAK9hB,SAAEY,EAAKihB,OAASjhB,EAAKihB,OAASjhB,EAAKkhB,KACnE7gB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,oCAAoCptB,SAEjEiB,cAAC+sB,mBAAe,CACd1xB,KAAMsE,EAAKkhB,GACXmM,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAO9Dd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,WAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,4CAA2CzD,SAEjDiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACpCiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAciF,EAAK8xB,IAAK1yB,SAAEY,EAAK+xB,OAAS/xB,EAAK+xB,OAAS/xB,EAAK8xB,KACnEzxB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,qCAAqCptB,SAElEiB,cAAC+sB,mBAAe,CACd1xB,KAAMsE,EAAK8xB,GACXzE,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAM9Dd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,YAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,uCAAsCzD,SAE5CiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCqL,GAAOzK,EAAKohB,SAAU,IAAI,OAC3B/gB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,oCAAoCptB,SAEjEiB,cAAC+sB,mBAAe,CACd1xB,KAAMg0B,OAAOjlB,GAAOzK,EAAKohB,SAAU,KACnCiM,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAO9Dd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,WAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,qCAAoCzD,SAE1CiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCyL,GAAa7K,EAAKmhB,SACnB3e,eAACkoB,GAAW,CAAC9mB,MAAO,CAAEI,WAAY,OAAQ5E,SAAA,CAAC,IAAEyL,GAA4B,IAAf7K,EAAKmhB,QAAenhB,EAAKgyB,SAAU,GAAG,QAChG3xB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,6BAA6BptB,SAE1DiB,cAAC+sB,mBAAe,CACd1xB,KAAMg0B,OAAO1vB,EAAKmhB,SAClBkM,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAO9Dd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,YAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,mBAAkBzD,SAExBiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCyL,GAAa7K,EAAKgyB,UACnB3xB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,8BAA8BptB,SAE3DiB,cAAC+sB,mBAAe,CACd1xB,KAAMg0B,OAAO1vB,EAAKgyB,UAClB3E,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAM9Dd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,WAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,0EAAyEzD,SAE/EiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCY,EAAKiyB,SAAS,YAKrBzvB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,mBAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,kDAAiDzD,SAEvDiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCyL,GAAa7K,EAAKkyB,iBACnB7xB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,qCAAqCptB,SAElEiB,cAAC+sB,mBAAe,CACd1xB,KAAMg0B,OAAO1vB,EAAKkyB,iBAClB7E,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAO9Dd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,OAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,kEAAiEzD,SAEvEiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCyL,GAAa7K,EAAK+O,MAAM,SACzB1O,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,yBAAyBptB,SAEtDiB,cAAC+sB,mBAAe,CACd1xB,KAAMg0B,OAAO1vB,EAAK+O,MAClBse,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAO9Dd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,eAAc3B,SAAA,CAAC,aAEpCiB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAM,qEAAoEzD,SAE1EiB,cAAC6f,KAAkB,CAACtc,MAAO,CAAEI,WAAY,gBAI/C3D,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCY,EAAKmyB,UACN9xB,cAAC6N,KAAO,CACNe,UAAU,MACVpM,MAAO2pB,EAAW,SAAW,8BAA8BptB,SAE3DiB,cAAC+sB,mBAAe,CACd1xB,KAAMsE,EAAKmyB,UACX9E,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,+BAShEd,eAACgvB,GAAa,CAAApyB,SAAA,CACZiB,cAACoI,GAAc,CAAC7E,MAAO,CAAEI,WAAY,OAAQsL,YAAa,QAASlQ,SAAC,iBACpEiB,cAAC+xB,GAAoB,CAACrR,YAAasG,UArgBvB,IAygBpB,CCjkBO,MAAMgL,GAAe3M,aAC1B,uBACA/qB,MAAO4M,EAAyCoe,KAC9C,IACE,MAAM,OAAExqB,EAAM,MAAEI,GAAUgM,EAEpBzH,QvEsBLnF,iBAA+E,IAAjDQ,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACvD,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,uBAAAgB,OAAsBI,EAAM,WAAAJ,OAAUQ,GACrF,CuExB6B+2B,CAAen3B,EAAQI,GAE9C,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAISuyB,GAA0B7M,aACrC,kCACA/qB,MAAO+O,EAAeic,KACpB,IACE,MAAM7lB,QvEULnF,eAAyC63B,GAC9C,aAAa33B,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,WAAAgB,OAAUy3B,GACzD,CuEZ6BC,CAA0B/oB,GAEjD,OADAic,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAIS0yB,GAAwBhN,aACnC,gCACA/qB,MAAO4M,EAAsFoe,KAC3F,IACE,MAAM,YAAE6M,EAAW,WAAEG,EAAU,OAAEx3B,EAAM,MAAEI,GAAUgM,EAE7CzH,QvEJLnF,eAAuC63B,EAAqBG,GAAqE,IAAjDx3B,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACzG,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,WAAAgB,OAAUy3B,EAAW,uBAAAz3B,OAAsB43B,EAAU,YAAA53B,OAAWI,EAAM,WAAAJ,OAAUQ,GAC/H,CuEE6Bq3B,CAAwBJ,EAAaG,EAAYx3B,EAAQI,GAEhF,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAIE6yB,GAAmB,CACvBra,QAAS,OACTzE,MAAO,KACP/T,KAAM,IAIF+lB,GAAe,CACnB8B,KAAM,IACDgL,IAELhpB,QAAS,CACP7J,KAAM,KACNwY,QAAS,OACTuJ,OAAQ,CACN+Q,MAAO,IACFD,IAELnR,WAAY,IACPmR,IAELE,WAAY,IACPF,OAMLG,GAAclN,aAAY,CAC9BngB,KAAM,SACNogB,aAAY,GACZE,SAAU,CAERgN,eAAe3zB,GACbA,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAKrP,QAAU,OACrBlZ,EAAMuoB,KAAK9T,MAAQ,IACrB,GAEFuS,cAAgBC,IAEdA,EAAQC,QAAQ6L,GAAar0B,SAAS,CAACsB,EAAO6mB,KAC5C7mB,EAAMuoB,KAAKrP,QAAU,SAAS,IAGhC+N,EAAQC,QAAQ6L,GAAa5L,WAAW,CAACnnB,EAAO6mB,KAC9C7mB,EAAMuoB,KAAKrP,QAAU,YACrBlZ,EAAMuoB,KAAK7nB,KAAOmmB,EAAOC,QAAQpmB,KACjCV,EAAMuoB,KAAK9T,MAAQoS,EAAOC,QAAQrS,KAAK,IAGzCwS,EAAQC,QAAQ6L,GAAaxL,UAAU,CAACvnB,EAAO6mB,KAC7C7mB,EAAMuoB,KAAKrP,QAAU,SACrBlZ,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAK9T,MAAQ,IAAI,IAIzBwS,EAAQC,QAAQ+L,GAAwBv0B,SAAS,CAACsB,EAAO6mB,KACvD7mB,EAAMuK,QAAQ2O,QAAU,UACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAI,IAE3BumB,EAAQC,QAAQ+L,GAAwB9L,WAAW,CAACnnB,EAAO6mB,KACzD7mB,EAAMuK,QAAQ2O,QAAU,YACxBlZ,EAAMuK,QAAQ7J,KAAOmmB,EAAOC,OAAO,IAErCG,EAAQC,QAAQ+L,GAAwB1L,UAAU,CAACvnB,EAAO6mB,KACxD7mB,EAAMuK,QAAQ2O,QAAU,SACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAI,IAI3BumB,EAAQC,QAAQkM,GAAsB10B,SAAS,CAACsB,EAAO6mB,KACrD,MAAM,WAAEwM,GAAexM,EAAO+M,KAAKC,IACnC7zB,EAAMuK,QAAQkY,OAAO4Q,GAAYna,QAAU,SAAS,IAGtD+N,EAAQC,QAAQkM,GAAsBjM,WAAW,CAACnnB,EAAO6mB,KACvD,MAAM,WAAEwM,GAAexM,EAAO+M,KAAKC,IAEnC7zB,EAAMuK,QAAQkY,OAAO4Q,GAAYna,QAAU,YAC3ClZ,EAAMuK,QAAQkY,OAAO4Q,GAAY3yB,KAAOmmB,EAAOC,QAAQpmB,KACvDV,EAAMuK,QAAQkY,OAAO4Q,GAAY5e,MAAQoS,EAAOC,QAAQrS,KAAK,IAG/DwS,EAAQC,QAAQkM,GAAsB7L,UAAU,CAACvnB,EAAO6mB,KACtD,MAAM,WAAEwM,GAAexM,EAAO+M,KAAKC,IAEnC7zB,EAAMuK,QAAQkY,OAAO4Q,GAAYna,QAAU,SAC3ClZ,EAAMuK,QAAQkY,OAAO4Q,GAAY3yB,KAAO,GACxCV,EAAMuK,QAAQkY,OAAO4Q,GAAY5e,MAAQ,IAAI,GAC7C,KAIO,eAAEkf,IAAmBD,GAAYlM,QAC/BkM,I,wBAAAA,MAAmB,QCrJnB,SAASI,KACtB,MAAMxpB,EAAWP,MACX,KAAErJ,EAAI,QAAEwY,EAAO,MAAEzE,GAAUxK,IAAgBjK,GAAUA,EAAc,OAAQ,OASjF,OANAc,qBAAU,IACD,KACLwJ,EAASqpB,KAAiB,GAE3B,IAGDzwB,eAAA,OAAApD,SAAA,CACEiB,cAACiO,GAAU,CAACzL,MAAM,WAElBxC,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAAS8I,GACT/M,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,UAC3C+R,QAAS4Z,OAIjB,CC7BO,MAAMf,GAAc3wB,IAAOC,IAAGI,QAAAC,YAAA,kJAUxBoyB,GAAwB1yB,IAAOC,IAAGO,QAAAF,YAAA,yKAC7B9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM1D,GAAG,IAQ7Bw3B,GAAmB3yB,IAAOC,IAAGkB,QAAAb,YAAA,UAE7BipB,GAAcvpB,IAAOC,IAAGqB,QAAAhB,YAAA,kNAIvBG,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM7D,WAAW,IAGhC0F,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM9D,IAAI,IAM1BgvB,GAAc/pB,IAAOwE,KAAIhD,QAAAlB,YAAA,6BACvBK,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM7D,WAAW,IAElC43B,GAAkB5yB,IAAOC,IAAGyB,QAAApB,YAAA,+IAS5BwH,GAAiB9H,IAAOC,IAAG0H,QAAArH,YAAA,iKAITM,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM7C,MAAM,IAE7C6E,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM9D,IAAI,IAEViF,IAAOC,IAAG4H,QAAAvH,YAAA,qCCzCvB,SAASuyB,GAAkBr0B,GAAqC,IAApC,KAAEuH,GAA+BvH,EAC1E,MAAM,YAAEqzB,GAAgB9F,eAClB,OAAE3K,GAAWxY,IAAejK,GAASA,EAAMm0B,OAAO5pB,UAElD4O,EAAU5Y,uBACb0H,GAAgBmrB,GAAsB,IAAKnrB,EAAQirB,cAAaG,WAAYjsB,KAC7E,IAGF,IAAK8rB,EAAa,OAAOnyB,cAAC0W,GAAe,IACzC,MAAM2c,EAAU3R,EAAOrb,GAAM1G,KAAKmZ,KAAK/F,IACrC,MAAMugB,EAAMhoB,GAAmByH,EAAE/H,WACjC,MAAO,IAAK+H,EAAGugB,MAAK,IAEtB,OACEtzB,cAAC2pB,GAAS,CACRxR,QAASuJ,EAAOrb,GAAM8R,QACtBzE,MAAOgO,EAAOrb,GAAMqN,MACpBwE,QAASsJ,GACTvN,WAAYof,EACZ/xB,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOgO,EAAOrb,GAAMqN,MAAOrN,KAAK,iBACxD+R,QAASA,GAGf,CC/Be,SAASmb,GAAuBz0B,GAA+C,IAA9C,MAAEmiB,EAAK,QAAE9I,GAAkCrZ,EACzF,OAAKmiB,EAGHjhB,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOuN,EAAMM,YAAYvmB,OACzBkd,QAAS6L,GACT9P,WAAYgN,EAAMM,YAClBlJ,gBAAgB,EAChB/W,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOuN,EAAMM,YAAYvmB,OAAQqL,KAAK,mBAT/C,IAYrB,CCUA,MAAQiN,QAAQ,IAAIC,KAEL,SAASigB,KACtB,MAAM,YAAErB,GAAgB9F,eAClB,QAAElU,EAAO,KAAExY,GAASwJ,GAAgB+oB,GAAyBC,EAAa,UAChF,MAAgB,YAAZha,GAA0BxY,EAG5BwC,eAAC8uB,GAAW,CAAAlyB,SAAA,CACTozB,GACCnyB,cAAC8sB,IAAM,CAAA/tB,SACLiB,cAAA,SAAAjB,SAAA,SAAArE,OAAiBy3B,OAGrBnyB,cAACiO,GAAU,CAACzL,MAAM,kBAElBL,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAIzN,UAAU,QAAO3B,SACtCoD,eAAC6wB,GAAqB,CAAAj0B,SAAA,CACpBiB,cAACoI,GAAc,CAAArJ,SAAC,aAChBoD,eAAC8wB,GAAgB,CAAAl0B,SAAA,CACfoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,YAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCY,EAAKshB,aAIZ9e,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,kBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCoD,eAACiE,KAAK,CAAArH,SAAA,CACJiB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYiF,EAAKuhB,YAAaniB,SAAEY,EAAKuhB,aAC7C/e,eAACkoB,GAAW,CAAAtrB,SAAA,CAAC,IAAEgM,GAAcpL,EAAK8zB,WAAW,iBAKrDtxB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,gBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCoD,eAACiE,KAAK,CAAArH,SAAA,CACJiB,cAACsC,IAAI,CAACC,GAAE,UAAA7H,OAAYiF,EAAKwhB,UAAWpiB,SAAEY,EAAKwhB,WAC3Chf,eAACkoB,GAAW,CAAAtrB,SAAA,CAAC,IAAEgM,GAAcpL,EAAK+zB,SAAS,iBAKnDvxB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,qBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnCyL,GAAa7K,EAAKyhB,UAAU,2BAOzCphB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SACpBoD,eAAC6wB,GAAqB,CAAAj0B,SAAA,CACpBiB,cAACoI,GAAc,CAAArJ,SAAC,qBAChBoD,eAAC8wB,GAAgB,CAAAl0B,SAAA,CACfoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,mBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACpCiB,cAAA,KAAAjB,SAAIyL,GAAaJ,GAAOzK,EAAKg0B,YAAa,OAAS,eAIzDxxB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,wBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACpCiB,cAAA,KAAAjB,SAAIY,EAAK0hB,WAAWrmB,SAAW,gBAAagF,cAAA,KAAAjB,SAAIY,EAAK4hB,YAAYvmB,SAAW,wBAIlFmH,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,mBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCyL,GAAa7K,EAAK2hB,+BASjCthB,cAACkzB,GAAe,CAAAn0B,SACdiB,cAACa,EAAQ,CAAA9B,SACPoD,eAACwY,GAAY,CAACtU,KAAK,OAAO4U,QAAS,CAAC,mBAAoB,eAAelc,SAAA,CACrEiB,cAACsT,GAAO,CAACQ,IAAI,eAAc/U,SACzBiB,cAACmzB,GAAkB,CAAC9sB,KAAK,WADK,WAIhCrG,cAACsT,GAAO,CAACQ,IAAI,oBAAmB/U,SAC9BiB,cAACmzB,GAAkB,CAAC9sB,KAAK,gBADU,oBAIrCrG,cAACsT,GAAO,CAACQ,IAAI,eAAc/U,SACzBiB,cAACuzB,GAAuB,CAACtS,MAAOthB,EAAMwY,QAASA,KADjB,yBAjICnY,cAAC0W,GAAe,GAyI7D,CC3JO,MAAMkd,GAAiBvO,aAC5B,2BACA/qB,MAAO4M,EAA2Coe,KAChD,IACE,MAAM,OAAExqB,EAAM,MAAEI,GAAUgM,EAEpBzH,Q7E+ELnF,iBAAiF,IAAjDQ,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACzD,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,yBAAAgB,OAAwBI,EAAM,WAAAJ,OAAUQ,GACvF,C6EjF6B24B,CAAiB/4B,EAAQI,GAC1C44B,QAAuBv5B,IAE7B,OADA+qB,EAAS/b,SAAS7K,IAAa,IACxB,IAAKe,EAASE,KAAMgmB,MAAO,IAAKmO,EAAen0B,MACxD,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAISo0B,GAAoB1O,aAC/B,8BACA/qB,MAAOM,EAAiB0qB,KACtB,IACE,MAAM7lB,QAAiB9E,EAAoBC,GAE3C,OADA0qB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAISq0B,GAAqB3O,aAChC,+BACA/qB,MAAO4M,EAA4Doe,KACjE,IACE,MAAM,QAAE1qB,EAAO,OAAEE,EAAM,MAAEI,GAAUgM,EAC7BzH,QAAiB5E,EAAqBD,EAASE,EAAQI,GAE7D,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAISs0B,GAAgC5O,aAC3C,0CACA/qB,MAAO4M,EAA4Doe,KACjE,IACE,MAAM,QAAE1qB,EAAO,OAAEE,EAAM,MAAEI,GAAUgM,EAC7BzH,QAAiB5E,EAAqBD,EAASE,EAAQI,GAE7D,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAISu0B,GAAqB7O,aAChC,+BACA/qB,MAAO4M,EAA4Doe,KACjE,IACE,MAAM,QAAE1qB,EAAO,OAAEE,EAAM,MAAEI,GAAUgM,EAC7BzH,Q7EuBLnF,eAA+BM,GAAkE,IAAjDE,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACzE,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,kCAAAgB,OAAiCE,EAAO,YAAAF,OAAWI,EAAM,WAAAJ,OAAUQ,GAClH,C6EzB6Bi5B,CAAgBv5B,EAASE,EAAQI,GAExD,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAISy0B,GAAiB/O,aAC5B,2BACA/qB,MAAO4M,EAA4Doe,KACjE,IACE,MAAM,QAAE1qB,EAAO,OAAEE,EAAM,MAAEI,GAAUgM,EAC7BzH,Q7EULnF,eAAgCM,GAAkE,IAAjDE,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC1E,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,aAAAgB,OAAYE,EAAO,mBAAAF,OAAkBI,EAAM,WAAAJ,OAAUQ,GACpG,C6EZ6Bm5B,CAAiBz5B,EAASE,EAAQI,GAEzD,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAIS20B,GAAuBjP,aAClC,iCACA/qB,MAAO4M,EAA4Doe,KACjE,IACE,MAAM,QAAE1qB,EAAO,OAAEE,EAAM,MAAEI,GAAUgM,EAC7BzH,Q7EHLnF,eAAsCM,GAAkE,IAAjDE,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAChF,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,8BAAAgB,OAA6BE,EAAO,YAAAF,OAAWI,EAAM,WAAAJ,OAAUQ,GAC9G,C6EC6Bq5B,CAAuB35B,EAASE,EAAQI,GAE/D,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxB,IAAKe,EAASE,KAAM/E,UAC7B,CAAE,MAAOgF,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAIS60B,GAA0BnP,aACrC,oCACA/qB,MAAO4M,EAA4Doe,KACjE,IACE,MAAM,QAAE1qB,EAAO,OAAEE,EAAM,MAAEI,GAAUgM,EAC7BzH,Q7EhBLnF,eAAyCM,GAAkE,IAAjDE,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACnF,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,0BAAAgB,OAAyBE,EAAO,YAAAF,OAAWI,EAAM,WAAAJ,OAAUQ,GAC1G,C6Ec6Bu5B,CAA0B75B,EAASE,EAAQI,GAElE,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxB,IAAKe,EAASE,KAAM/E,UAC7B,CAAE,MAAOgF,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAmDE+0B,GAAgBjP,aAAY,CAChCngB,KAAM,WACNogB,aAhDmB,CACnB8B,KAAM,CACJ7nB,KAAM,GACNwY,QAAS,OACTzE,MAAO,MAETlK,QAAS,CACP7J,KAAM,KACNwY,QAAS,OACTwc,gBAAiB,CACfxc,QAAS,OACTxY,KAAM,GACN+T,MAAO,EACPkhB,SAAU,GAEZC,2BAA4B,CAC1B1c,QAAS,OACTxY,KAAM,GACN+T,MAAO,EACPkhB,SAAU,GAEZ3M,WAAY,CACV9P,QAAS,OACTxY,KAAM,GACN+T,MAAO,GAETohB,WAAY,CACV3c,QAAS,OACTxY,KAAM,GACN+T,MAAO,GAETiN,aAAc,CACZxI,QAAS,OACTvd,QAAS,GACT+E,KAAM,GACN+T,MAAO,GAETqhB,aAAc,CACZ5c,QAAS,OACTvd,QAAS,GACT+E,KAAM,GACN+T,MAAO,KAQXkS,SAAU,CAERoP,iBAAiB/1B,GACfA,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAKrP,QAAU,OACrBlZ,EAAMuoB,KAAK9T,MAAQ,IACrB,EACAuhB,mBAAmBh2B,GACjBA,EAAMuK,QAAQ7J,KAAO,KACrBV,EAAMuK,QAAQ2O,QAAU,MAC1B,GAEF8N,cAAgBC,IAEdA,EAAQC,QAAQyN,GAAej2B,SAAUsB,IACvCA,EAAMuoB,KAAKrP,QAAU,SAAS,IAGhC+N,EAAQC,QAAQyN,GAAexN,WAAW,CAACnnB,EAAO6mB,KAChD7mB,EAAMuoB,KAAKrP,QAAU,YAErB,MAAMxY,EAAOmmB,EAAOC,QAAQpmB,KAAKmZ,KAAI,CAAC3E,EAAW4E,KAC/C,MAAMC,EAAO8M,EAAO+M,KAAKC,IAAIh4B,OAASie,EAAQ,EACxCgK,EAAa+C,EAAOC,QAAQJ,MAAMY,mBAAqB,IAAIjc,KAAU6J,EAAK8P,eAAewI,MAAM,KAAKlsB,IAAIulB,EAAOC,QAAQJ,MAAMY,mBAAmBhc,WACtJ,MAAO,IAAK4J,EAAM6E,OAAM+J,aAAY,IAGtC9jB,EAAMuoB,KAAK7nB,KAAOA,EAClBV,EAAMuoB,KAAK9T,MAAQoS,EAAOC,QAAQrS,KAAK,IAGzCwS,EAAQC,QAAQyN,GAAepN,UAAWvnB,IACxCA,EAAMuoB,KAAKrP,QAAU,SACrBlZ,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAK9T,MAAQ,IAAI,IAIzBwS,EAAQC,QAAQ4N,GAAkBp2B,SAAUsB,IAC1CA,EAAMuK,QAAQ2O,QAAU,SAAS,IAGnC+N,EAAQC,QAAQ4N,GAAkB3N,WAAW,CAACnnB,EAAO6mB,KACnD,IAAIoP,EAAY,EAChBj2B,EAAMuK,QAAQ2O,QAAU,YACpB2N,EAAOC,QAAQ9B,eAAiB6B,EAAOC,QAAQoP,YACjDD,EAAY,IAAI5qB,KAAUwb,EAAOC,QAAQ9B,eAAeqC,aAAaR,EAAOC,QAAQoP,WAAW5qB,YAEjGtL,EAAMuK,QAAQ7J,KAAO,IAAKmmB,EAAOC,QAASmP,YAAW,IAGvDhP,EAAQC,QAAQ4N,GAAkBvN,UAAWvnB,IAC3CA,EAAMuK,QAAQ2O,QAAU,SACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAI,IAI3BumB,EAAQC,QAAQ6N,GAAmBr2B,SAAUsB,IAC3CA,EAAMuK,QAAQmrB,gBAAgBxc,QAAU,SAAS,IAGnD+N,EAAQC,QAAQ6N,GAAmB5N,WAAW,CAACnnB,EAAO6mB,KACpD7mB,EAAMuK,QAAQmrB,gBAAgBxc,QAAU,YACxClZ,EAAMuK,QAAQmrB,gBAAkB7O,EAAOC,OAAO,IAGhDG,EAAQC,QAAQ6N,GAAmBxN,UAAWvnB,IAC5CA,EAAMuK,QAAQmrB,gBAAgBxc,QAAU,SACxClZ,EAAMuK,QAAQmrB,gBAAgBh1B,KAAO,EAAE,IAIzCumB,EAAQC,QAAQ8N,GAA8Bt2B,SAAUsB,IACtDA,EAAMuK,QAAQqrB,2BAA2B1c,QAAU,SAAS,IAG9D+N,EAAQC,QAAQ8N,GAA8B7N,WAAW,CAACnnB,EAAO6mB,KAC/D7mB,EAAMuK,QAAQqrB,2BAA2B1c,QAAU,YACnDlZ,EAAMuK,QAAQqrB,2BAA6B/O,EAAOC,OAAO,IAG3DG,EAAQC,QAAQ8N,GAA8BzN,UAAWvnB,IACvDA,EAAMuK,QAAQqrB,2BAA2B1c,QAAU,SACnDlZ,EAAMuK,QAAQqrB,2BAA2Bl1B,KAAO,EAAE,IAIpDumB,EAAQC,QAAQmO,GAAqB32B,SAAUsB,IAC7CA,EAAMuK,QAAQmX,aAAaxI,QAAU,SAAS,IAGhD+N,EAAQC,QAAQmO,GAAqBlO,WAAW,CAACnnB,EAAO6mB,KAEtD,IAAIsP,EADJn2B,EAAMuK,QAAQmX,aAAaxI,QAAU,YAErC,MAAMkb,EAAUvN,EAAOC,QAAQpmB,KAAKmZ,KAAK3E,IAErCihB,EADEjhB,EAAKsK,OAASqH,EAAOC,QAAQnrB,QACd,MACRuZ,EAAK5R,KAAOujB,EAAOC,QAAQnrB,QACnB,UAEAK,EAEZ,IAAKkZ,EAAMihB,qBAEpBn2B,EAAMuK,QAAQmX,aAAahhB,KAAO0zB,EAClCp0B,EAAMuK,QAAQmX,aAAa/lB,QAAUkrB,EAAOC,QAAQnrB,QACpDqE,EAAMuK,QAAQmX,aAAajN,MAAQoS,EAAOC,QAAQrS,KAAK,IAGzDwS,EAAQC,QAAQmO,GAAqB9N,UAAWvnB,IAC9CA,EAAMuK,QAAQmX,aAAaxI,QAAU,SACrClZ,EAAMuK,QAAQmX,aAAahhB,KAAO,EAAE,IAItCumB,EAAQC,QAAQqO,GAAwB72B,SAAUsB,IAChDA,EAAMuK,QAAQurB,aAAa5c,QAAU,SAAS,IAGhD+N,EAAQC,QAAQqO,GAAwBpO,WAAW,CAACnnB,EAAO6mB,KAEzD,IAAIsP,EADJn2B,EAAMuK,QAAQurB,aAAa5c,QAAU,YAErC,MAAMkb,EAAUvN,EAAOC,QAAQpmB,KAAKmZ,KAAK3E,IAErCihB,EADEjhB,EAAKsK,OAASqH,EAAOC,QAAQnrB,QACd,MACRuZ,EAAK5R,KAAOujB,EAAOC,QAAQnrB,QACnB,UAEAK,EAEZ,IAAKkZ,EAAMihB,qBAEpBn2B,EAAMuK,QAAQurB,aAAap1B,KAAO0zB,EAClCp0B,EAAMuK,QAAQurB,aAAan6B,QAAUkrB,EAAOC,QAAQnrB,QACpDqE,EAAMuK,QAAQurB,aAAarhB,MAAQoS,EAAOC,QAAQrS,KAAK,IAGzDwS,EAAQC,QAAQqO,GAAwBhO,UAAWvnB,IACjDA,EAAMuK,QAAQurB,aAAa5c,QAAU,SACrClZ,EAAMuK,QAAQurB,aAAap1B,KAAO,EAAE,IAItCumB,EAAQC,QAAQ+N,GAAmBv2B,SAAUsB,IAC3CA,EAAMuK,QAAQye,WAAW9P,QAAU,SAAS,IAG9C+N,EAAQC,QAAQ+N,GAAmB9N,WAAW,CAACnnB,EAAO6mB,KACpD7mB,EAAMuK,QAAQye,WAAW9P,QAAU,YACnClZ,EAAMuK,QAAQye,WAAanC,EAAOC,OAAO,IAG3CG,EAAQC,QAAQ+N,GAAmB1N,UAAWvnB,IAC5CA,EAAMuK,QAAQye,WAAW9P,QAAU,SACnClZ,EAAMuK,QAAQye,WAAWtoB,KAAO,EAAE,IAIpCumB,EAAQC,QAAQiO,GAAez2B,SAAUsB,IACvCA,EAAMuK,QAAQsrB,WAAW3c,QAAU,SAAS,IAG9C+N,EAAQC,QAAQiO,GAAehO,WAAW,CAACnnB,EAAO6mB,KAChD7mB,EAAMuK,QAAQsrB,WAAW3c,QAAU,YACnClZ,EAAMuK,QAAQsrB,WAAahP,EAAOC,OAAO,IAG3CG,EAAQC,QAAQiO,GAAe5N,UAAWvnB,IACxCA,EAAMuK,QAAQsrB,WAAW3c,QAAU,SACnClZ,EAAMuK,QAAQsrB,WAAWn1B,KAAO,EAAE,GAClC,KAIO,iBAAEq1B,GAAgB,mBAAEC,IAAuBP,GAAcjO,QACvDiO,UAAqB,QCtXrB,SAAS3B,KACtB,MAAMxpB,EAAWP,MACX,KAAErJ,EAAI,QAAEwY,EAAO,MAAEzE,GAAUxK,IAAgBjK,GAAUA,EAAgB,SAAQ,OAQnF,OANAc,qBAAU,IACD,KACLwJ,EAASyrB,KAAmB,GAE7B,IAGD7yB,eAAA,OAAApD,SAAA,CACEiB,cAACiO,GAAU,CAACzL,MAAM,iBAElBxC,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAAS8L,GACT/P,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,YAC3C+R,QAASwb,OAIjB,C,oHC9Be,OAA0B,wC,UCIzC,MAAM,SAAEyB,IAAarlB,KACRihB,GAAc3wB,IAAOC,IAAGI,QAAAC,YAAA,6MAcxBoyB,GAAwB1yB,IAAOC,IAAGO,QAAAF,YAAA,2NAC7B9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM1D,GAAG,IAS7Bw3B,GAAmB3yB,IAAOC,IAAGkB,QAAAb,YAAA,UAE7BipB,GAAcvpB,IAAOC,IAAGqB,QAAAhB,YAAA,+eAGtBG,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM7D,WAAW,IAIhC0F,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM9D,IAAI,IAGd4F,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAMxD,GAAG,IAgBrCu3B,GAAkB5yB,IAAOC,IAAGuB,QAAAlB,YAAA,0DAI5BwH,GAAiB9H,IAAOC,IAAGyB,QAAApB,YAAA,0MAITM,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM7C,MAAM,IAE7C6E,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM9D,IAAI,IAEvB+F,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAM3C,OAAO,IAG9B84B,GAAWh1B,IAAOC,IAAG0H,QAAArH,YAAA,qSAEvB6D,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAM9D,IAAI,IAavBk6B,GAAiBj1B,IAAOk1B,IAAGrtB,QAAAvH,YAAA,6NAChB8D,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAM5D,EAAE,IAEjCoJ,IAAA,IAAC,OAAE6M,GAAQ7M,EAAA,OAAK6M,GAAkB,MAAM,IAI9B5M,IAAA,IAAC,MAAEzF,GAAOyF,EAAA,OAAKzF,EAAM7C,MAAM,IAEvCyI,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAM7D,WAAW,IAE/Bm6B,GAAan1B,IAAOC,IAAG8H,QAAAzH,YAAA,0GAMvB2pB,GAAgBjqB,IAAOC,IAAGiI,QAAA5H,YAAA,yXAU5B+H,IAAA,IAAC,MAAExJ,GAAOwJ,EAAA,OAAKxJ,EAAM7D,WAAW,IACrBsN,IAAA,IAAC,MAAEzJ,GAAOyJ,EAAA,OAAKzJ,EAAM1D,GAAG,IAEpBoN,IAAA,IAAC,MAAE1J,GAAO0J,EAAA,OAAK1J,EAAMvD,OAAO,IASzCyuB,GAAc/pB,IAAOwE,KAAI4D,QAAA9H,YAAA,2BACzB4O,IAAA,IAAC,MAAErQ,GAAOqQ,EAAA,OAAKrQ,EAAM7D,WAAW,IAEhCuJ,GAAWvE,IAAOwE,KAAIiE,QAAAnI,YAAA,2BACtB8O,IAAA,IAAC,MAAEvQ,GAAOuQ,EAAA,OAAKvQ,EAAM9D,IAAI,IAEzBq6B,GAASp1B,IAAOC,IAAGqQ,QAAAhQ,YAAA,kGA8BnB+0B,IAxBer1B,YAAOkE,KAAPlE,CAAcwQ,QAAAlQ,YAAA,waAW7B+O,IAAA,IAAC,MAAExQ,GAAOwQ,EAAA,OAAKxQ,EAAM7D,WAAW,IACrB81B,IAAA,IAAC,MAAEjyB,GAAOiyB,EAAA,OAAKjyB,EAAM1D,GAAG,IAEtBm6B,IAAA,IAAC,MAAEz2B,GAAOy2B,EAAA,OAAKz2B,EAAMvD,OAAO,IAU1B0E,IAAO4pB,OAAMnZ,QAAAnQ,YAAA,4LAMnBi1B,IAAA,IAAC,MAAE12B,GAAO02B,EAAA,OAAK12B,EAAM3C,OAAO,IAC5Bs5B,IAAA,IAAC,MAAE32B,GAAO22B,EAAA,OAAK32B,EAAM7C,MAAM,KAGpCy5B,GAAQz1B,IAAOC,IAAG0Q,QAAArQ,YAAA,kCAGlBo1B,GAAa11B,IAAOC,IAAG4Q,QAAAvQ,YAAA,mFACdq1B,IAAA,IAAC,MAAE92B,GAAO82B,EAAA,OAAK92B,EAAM7C,MAAM,IAE5B45B,IAAA,IAAC,MAAE/2B,GAAO+2B,EAAA,OAAK/2B,EAAM5D,EAAE,IAE/B46B,GAAc71B,IAAOC,IAAG61B,QAAAx1B,YAAA,8IAEVy1B,IAAA,IAAC,MAAEl3B,GAAOk3B,EAAA,OAAKl3B,EAAM7C,MAAM,IACzBg6B,IAAA,IAAC,MAAEn3B,GAAOm3B,EAAA,OAAKn3B,EAAM7C,MAAM,IAC5Bi6B,IAAA,IAAC,MAAEp3B,GAAOo3B,EAAA,OAAKp3B,EAAM7C,MAAM,IAE1Ck6B,GAAYl2B,IAAOC,IAAGk2B,QAAA71B,YAAA,0KAKtB81B,IAAA,IAAC,MAAEv3B,GAAOu3B,EAAA,OAAKv3B,EAAM9D,IAAI,IAGzBs7B,IAAA,IAAC,MAAEx3B,GAAOw3B,EAAA,OAAKx3B,EAAM7D,WAAW,IAGhCs7B,GAAWt2B,YAAOuP,KAAKxN,KAAZ/B,CAAiBu2B,QAAAj2B,YAAA,gJAIjBk2B,IAAA,IAAC,MAAE33B,GAAO23B,EAAA,OAAK33B,EAAM1D,GAAG,IACxBs7B,IAAA,IAAC,MAAE53B,GAAO43B,EAAA,OAAK53B,EAAM7C,MAAM,IACtC06B,IAAA,IAAC,MAAE73B,GAAO63B,EAAA,OAAK73B,EAAM7D,WAAW,IAIhC4U,GAAc5P,YAAO0P,KAAP1P,CAAa22B,QAAAr2B,YAAA,6EAClBs2B,IAAA,IAAC,MAAE/3B,GAAO+3B,EAAA,OAAK/3B,EAAM1D,GAAG,IACxB07B,IAAA,IAAC,MAAEh4B,GAAOg4B,EAAA,OAAKh4B,EAAM7C,MAAM,IACtC86B,IAAA,IAAC,MAAEj4B,GAAOi4B,EAAA,OAAKj4B,EAAM7D,WAAW,IAE9B+7B,GAAiB/2B,YAAO+0B,GAAP/0B,CAAgBg3B,QAAA12B,YAAA,6EACxB22B,IAAA,IAAC,MAAEp4B,GAAOo4B,EAAA,OAAKp4B,EAAM1D,GAAG,IACxB+7B,IAAA,IAAC,MAAEr4B,GAAOq4B,EAAA,OAAKr4B,EAAM7C,MAAM,IACtCm7B,IAAA,IAAC,MAAEt4B,GAAOs4B,EAAA,OAAKt4B,EAAM7D,WAAW,IAE9Bo8B,GAAep3B,IAAOC,IAAGo3B,QAAA/2B,YAAA,iLAEdg3B,IAAA,IAAC,MAAEz4B,GAAOy4B,EAAA,OAAKz4B,EAAM1D,GAAG,IACxBo8B,IAAA,IAAC,MAAE14B,GAAO04B,EAAA,OAAK14B,EAAM7C,MAAM,IACtCw7B,IAAA,IAAC,MAAE34B,GAAO24B,EAAA,OAAK34B,EAAM7D,WAAW,IAGhCy8B,IAAA,IAAC,MAAE54B,GAAO44B,EAAA,OAAK54B,EAAM7D,WAAW,IAGhC08B,GAAc13B,YAAOkE,KAAPlE,CAAc23B,QAAAr3B,YAAA,oNACnBs3B,IAAA,IAAC,MAAE/4B,GAAO+4B,EAAA,OAAK/4B,EAAM7C,MAAM,IAC3B67B,IAAA,IAAC,MAAEh5B,GAAOg5B,EAAA,OAAKh5B,EAAM5D,EAAE,IAOrB68B,IAAA,IAAC,MAAEj5B,GAAOi5B,EAAA,OAAKj5B,EAAM3D,GAAG,IAGnC68B,GAAa/3B,YAAOgC,IAAPhC,CAAYg4B,QAAA13B,YAAA,wOAEhB23B,IAAA,IAAC,MAAEp5B,GAAOo5B,EAAA,OAAKp5B,EAAM3C,OAAO,IAWrCutB,GAAazpB,IAAOC,IAAGi4B,QAAA53B,YAAA,kGAGL63B,IAAA,IAAC,MAAEt5B,GAAOs5B,EAAA,OAAKt5B,EAAM7C,MAAM,IAE7C0tB,GAAW1pB,IAAOC,IAAGm4B,QAAA93B,YAAA,oCAGrBqpB,GAAa3pB,IAAO4pB,OAAMyO,QAAA/3B,YAAA,8NACfg4B,IAAA,IAAC,MAAEz5B,GAAOy5B,EAAA,OAAKz5B,EAAM7C,MAAM,IAOvBu8B,IAAA,IAAC,MAAE15B,GAAO05B,EAAA,OAAK15B,EAAM3C,OAAO,IAM3Cs8B,GAAMx4B,IAAOC,IAAGw4B,QAAAn4B,YAAA,iFACLo4B,IAAA,IAAC,MAAE75B,GAAO65B,EAAA,OAAK75B,EAAM1D,GAAG,IAInCw9B,GAAc34B,IAAOC,IAAG24B,QAAAt4B,YAAA,6HAEbu4B,IAAA,IAAC,MAAEh6B,GAAOg6B,EAAA,OAAKh6B,EAAMxD,GAAG,IAKnCg1B,GAAerwB,YAAO0P,KAAP1P,CAAa84B,QAAAx4B,YAAA,sKAKjBy4B,IAAA,IAAC,MAAEl6B,GAAOk6B,EAAA,OAAKl6B,EAAM3C,OAAO,IAIvC88B,GAAYh5B,YAAOkE,KAAPlE,CAAci5B,QAAA34B,YAAA,qHACjB44B,IAAA,IAAC,MAAEr6B,GAAOq6B,EAAA,OAAKr6B,EAAM1D,GAAG,IACnCg+B,IAAA,IAAC,MAAEt6B,GAAOs6B,EAAA,OAAKt6B,EAAM9D,IAAI,IAGZq+B,IAAA,IAAC,MAAEv6B,GAAOu6B,EAAA,OAAKv6B,EAAM1D,GAAG,IAGnCk+B,GAAer5B,IAAOgrB,EAACsO,QAAAh5B,YAAA,kDACvBi5B,IAAA,IAAC,MAAE16B,EAAK,OAAEwT,GAAQknB,EAAA,OAAK16B,EAAMwT,EAAO,ICxSpCmnB,ID4Sex5B,YAAO4L,KAAP5L,CAAWy5B,QAAAn5B,YAAA,0GAC9Bo5B,IAAA,IAAC,MAAE76B,GAAO66B,EAAA,OAAK76B,EAAM1B,OAAO,IC7SN4nB,aAC7B,6BACA/qB,MAAO4M,EAA2Coe,KAChD,IACE,MAAM,OAAExqB,EAAM,MAAEI,GAAUgM,EAEpBzH,QjFqHLnF,iBAAkF,IAAjDQ,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC1D,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,mCAAAgB,OAAkCI,EAAM,WAAAJ,OAAUQ,GACjG,CiFvH6B++B,CAAkBn/B,EAAQI,GAEjD,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,MAISu6B,GAA8B7U,aACzC,yCACA/qB,MAAOM,EAAiB0qB,KACtB,IACE,MAAM7lB,QAAiB9E,EAAoBC,GAG3C,IAAK6E,EAASE,KAAK+N,WAAY,KAAM,CAAEjO,SAAU,CAAEE,KAAM,CAAEw6B,IAAK,6BAEhE,OADA7U,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAISy6B,GAAqB/U,aAChC,gCACA/qB,MAAO4M,EAA4Doe,KACjE,IACE,MAAM,QAAE1qB,EAAO,OAAEE,EAAM,MAAEI,GAAUgM,EAC7BzH,QjFqFLnF,eAAqCM,GAAkE,IAAjDE,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC/E,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,8BAAAgB,OAA6BE,EAAO,YAAAF,OAAWI,EAAM,WAAAJ,OAAUQ,GAC9G,CiFvF6Bm/B,CAAsBz/B,EAASE,EAAQI,GAE9D,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAIS26B,GAAejV,aAC1B,0BACA/qB,MAAOM,EAAiB0qB,KACtB,IACE,MAAM7lB,QjFyELnF,eAAsCM,GAC3C,aAAaJ,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,sBAAAgB,OAAqBE,GACpE,CiF3E6B2/B,CAAuB3/B,GAE9C,OADA0qB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KA0BE66B,GAAiB/U,aAAY,CACjCngB,KAAM,YACNogB,aAvBmB,CACnB8B,KAAM,CACJ7nB,KAAM,GACNwY,QAAS,OACTzE,MAAO,GAETlK,QAAS,CACP7J,KAAM,KACNwY,QAAS,OACTwI,aAAc,CACZhhB,KAAM,GACNwY,QAAS,OACTzE,MAAO,GAET+mB,UAAW,CACT96B,KAAM,GACNwY,QAAS,UAQbyN,SAAU,CAER8U,kBAAkBz7B,GAChBA,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAKrP,QAAU,OACrBlZ,EAAMuoB,KAAK9T,MAAQ,CACrB,GAEFuS,cAAgBC,IAEdA,EAAQC,QAAQ2T,GAAgBn8B,SAAS,CAACsB,EAAO6mB,KAC/C7mB,EAAMuoB,KAAKrP,QAAU,SAAS,IAGhC+N,EAAQC,QAAQ2T,GAAgB1T,WAAW,CAACnnB,EAAO6mB,KACjD7mB,EAAMuoB,KAAKrP,QAAU,YACrBlZ,EAAMuoB,KAAK7nB,KAAOmmB,EAAOC,QAAQpmB,KACjCV,EAAMuoB,KAAK9T,MAAQoS,EAAOC,QAAQrS,KAAK,IAGzCwS,EAAQC,QAAQ2T,GAAgBtT,UAAU,CAACvnB,EAAO6mB,KAChD7mB,EAAMuoB,KAAKrP,QAAU,SACrBlZ,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAK9T,MAAQ,CAAC,IAItBwS,EAAQC,QAAQ+T,GAA4Bv8B,SAAUsB,IACpDA,EAAMuK,QAAQ2O,QAAU,SAAS,IAGnC+N,EAAQC,QAAQ+T,GAA4B9T,WAAW,CAACnnB,EAAO6mB,KAC7D,IAAI6U,EAAe,EAEf7U,EAAOC,QAAQ9B,eAAiB6B,EAAOC,QAAQoP,YACjDwF,EAAe,IAAIrwB,KAAUwb,EAAOC,QAAQ9B,eAAewI,MAAM3G,EAAOC,QAAQoP,WAAW5qB,YAG7FtL,EAAMuK,QAAQ7J,KAAO,IAAKmmB,EAAOC,QAAS4U,gBAC1C17B,EAAMuK,QAAQ2O,QAAU,WAAW,IAGrC+N,EAAQC,QAAQ+T,GAA4B1T,UAAWvnB,IACrDA,EAAMuK,QAAQ2O,QAAU,SACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAI,IAI3BumB,EAAQC,QAAQiU,GAAmBz8B,SAAS,CAACsB,EAAO6mB,KAClD7mB,EAAMuK,QAAQmX,aAAaxI,QAAU,SAAS,IAGhD+N,EAAQC,QAAQiU,GAAmBhU,WAAW,CAACnnB,EAAO6mB,KACpD7mB,EAAMuK,QAAQmX,aAAaxI,QAAU,YACrClZ,EAAMuK,QAAQmX,aAAahhB,KAAOmmB,EAAOC,QAAQpmB,KACjDV,EAAMuK,QAAQmX,aAAajN,MAAQoS,EAAOC,QAAQrS,KAAK,IAGzDwS,EAAQC,QAAQiU,GAAmB5T,UAAU,CAACvnB,EAAO6mB,KACnD7mB,EAAMuK,QAAQmX,aAAaxI,QAAU,SACrClZ,EAAMuK,QAAQmX,aAAahhB,KAAO,GAClCV,EAAMuK,QAAQmX,aAAajN,MAAQ,CAAC,IAGtCwS,EAAQC,QAAQmU,GAAa38B,SAAUsB,IACrCA,EAAMuK,QAAQixB,UAAUtiB,QAAU,SAAS,IAG7C+N,EAAQC,QAAQmU,GAAalU,WAAW,CAACnnB,EAAO6mB,KAC9C7mB,EAAMuK,QAAQixB,UAAUtiB,QAAU,YAClClZ,EAAMuK,QAAQixB,UAAU96B,KAAOmmB,EAAOC,QAAQpmB,IAAI,IAGpDumB,EAAQC,QAAQmU,GAAa9T,UAAWvnB,IACtCA,EAAMuK,QAAQixB,UAAUtiB,QAAU,SAClClZ,EAAMuK,QAAQixB,UAAU96B,KAAO,EAAE,GACjC,KAIO,kBAAE+6B,IAAsBF,GAAe/T,QACrC+T,UAAsB,QClLtB,SAASI,GAAwB97B,GAAgD,IAA/C,QAAElE,GAA0CkE,EAC3F,MAAM,KAAEa,EAAI,QAAEwY,EAAO,MAAEzE,GAAUxK,IAAgBjK,GAAUA,EAAM47B,UAAUrxB,QAAQmX,eAE7EvI,EAAU5Y,uBACb0H,GAAgBkzB,GAAmB,IAAKlzB,EAAQtM,aACjD,IAGF,OAAKA,EAGHoF,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAASyH,GACT1L,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,OAC3C+R,QAASA,IATQ,IAYvB,CChBA,MAAQoH,UAAU,IAAIvZ,KAEhBwkB,GAAc3rB,IAAmB,IAAlB,IAAEgB,GAAUhB,EAE7B,MAAO4rB,EAAWC,GAAgBrrB,mBAAS,OAErCsrB,EAAeznB,IACjB,MAAMjD,EAAQiD,EAAEmD,OAAOpG,MACvByqB,EAAazqB,EAAM,EAEvB,OACIiC,eAAC0nB,GAAW,CAACnpB,UAAU,uBAAsB3B,SAAA,CACxCe,EAAI+qB,eACD1oB,eAAC6nB,GAAQ,CAAAjrB,SAAA,CACLiB,cAACiqB,GAAU,CAAC/pB,MAAM,MAAMgD,QAAS0nB,EAAalqB,UAAyB,QAAdgqB,EAAsB,SAAW,GAAG3rB,SAAC,QAC9FiB,cAACiqB,GAAU,CAAC/pB,MAAM,MAAMgD,QAAS0nB,EAAalqB,UAAyB,QAAdgqB,EAAsB,SAAW,GAAG3rB,SAAC,WAGtGiB,cAAA,OAAKU,UAAU,cAAa3B,SACvBe,EAAI+qB,eAA+B,QAAdH,EAClB5qB,EAAI+qB,cAAc/R,KAAI,CAACgS,EAAQC,IAC3B5oB,eAAA,OAAKzB,UAAU,eAAc3B,SAAA,CACxBgsB,EAAI,EAAE,KAAGD,IADqBC,KAKvCjrB,EAAIkrB,OAAOlS,KAAI,CAACmS,EAAYC,IACxB/oB,eAAA,OAAKzB,UAAU,eAAc3B,SAAA,CACxBmsB,EAAW,EAAE,KAAGD,IADcC,SAMrC,EAIhBC,GAAapqB,IAAmB,IAAlB,IAAEjB,GAAUiB,EAC5B,MAAO2pB,EAAWC,GAAgBrrB,mBAAS,OAErCsrB,EAAeznB,IACjB,MAAMjD,EAAQiD,EAAEmD,OAAOpG,MACvByqB,EAAazqB,EAAM,EAEvB,IAAIkrB,EAAuB,GAQ3B,OAPItrB,EAAIoH,QAAUpH,EAAIoH,OAAOlM,OAAS,GAClC8E,EAAIoH,OAAOmkB,SAASC,IACXA,EAAEC,SACHH,EAASpV,KAAKsV,EAAEhmB,KACpB,IAIJnD,eAAC0nB,GAAW,CAACnpB,UAAU,uBAAuB6C,MAAO,CAAE6Q,UAAW,cAAerV,SAAA,CAC5Ee,EAAI0rB,aACDrpB,eAAC6nB,GAAQ,CAAAjrB,SAAA,CACLiB,cAACiqB,GAAU,CAAC/pB,MAAM,MAAMgD,QAAS0nB,EAAalqB,UAAyB,QAAdgqB,EAAsB,SAAW,GAAG3rB,SAAC,QAC9FiB,cAACiqB,GAAU,CAAC/pB,MAAM,MAAMgD,QAAS0nB,EAAalqB,UAAyB,QAAdgqB,EAAsB,SAAW,GAAG3rB,SAAC,WAGrGe,EAAI0rB,aAA6B,QAAdd,EAChBU,EAAStS,KAAI,CAACwS,EAAQP,IAClB5oB,eAACqd,GAAS,CAAAzgB,SAAA,CACLusB,EAAE,KAAGxrB,EAAI0rB,YAAYF,KADVP,KAKpBjrB,EAAIH,OAEE,EAuEPm7B,OApEW95B,IAAuB,IAAtB,QAAEpG,GAAcoG,EACvC,MAAMuI,EAAWP,KACjBjJ,qBAAU,KACFnF,GACA2O,EAAS+wB,GAAa1/B,GAC1B,GACD,CAACA,EAAS2O,IACb,MAAM,UAAEkxB,GAAcvxB,IAAgBjK,GAAUA,EAAiB,UAAW,UAC5E,MAA0B,YAAtBw7B,EAAUtiB,QAA8BnY,cAACoX,GAAgB,IAEzDpX,cAAAgO,WAAA,CAAAjP,SACK07B,EAAU96B,KAAK3E,OAAS,GAAKy/B,EAAU96B,KAAKmZ,KAAI,CAAChZ,EAAK+rB,KACnD,MAAMC,EAAYhsB,EAAIoH,QAAUpH,EAAIoH,OAAOihB,QAAO,CAACC,EAAa1lB,EAAcqW,EAAegT,KACzF,MAAMR,EAAU7oB,EAAQ6oB,QAAO,eAAA7wB,OAAkBgI,EAAQ2D,KAAI,KAAA3L,OAAIgI,EAAQ4C,MAAI,IAAA5K,OAASgI,EAAQ2D,KAAI,KAAA3L,OAAIgI,EAAQ4C,MAC9G,OAAOyT,IAAUgT,EAAO/wB,OAAS,EAAIotB,EAAM,IAAMmD,EAAUnD,EAAM,IAAMmD,EAAU,GAAG,GACrF,IACH,OACIppB,eAAC4nB,GAAU,CAAAhrB,SAAA,CACPoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACZiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,cAE1CiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,0CAAyC3B,SAC5DiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAcoF,EAAIlF,SAAUmE,SAAEe,EAAIlF,iBAIrDkF,EAAIksB,cACD7pB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACZiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,WAE1CiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC1BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,IAAArE,OAC9BoF,EAAIksB,aAAY,MAAAtxB,OAAKoxB,EAAS,KAAI,QACtC9rB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAcoF,EAAIlF,QAAO,SAAQmE,SAAC,sBAM1DoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACZiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,aAE1CiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SACzBe,EAAIkrB,OAAOhwB,OAAS,GACjBgF,cAACyqB,GAAW,CAAC3qB,IAAKA,SAK9BqC,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACZiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,WAE1CiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SACzBe,EAAIH,KAAK3E,OAAS,GAAKgF,cAACmrB,GAAU,CAACrrB,IAAKA,WAzCpC+rB,EA4CJ,KAGtB,E,6DCpGX,MAAQvY,QAAQ,IAAIC,KAadwnB,GAAmDj8B,IAA+B,IAA9B,KAAEa,EAAI,KAAE2F,EAAI,SAAE01B,GAAUl8B,EAC9E,MAAOm8B,EAAYC,GAA6B57B,mBAAS,KAClD67B,EAAWC,GAAgB97B,oBAAS,GAoD3C,OACI6C,eAAC0N,KAAI,CAACkhB,SAnDWz2B,UACjB,IAAI+gC,EAAyB,GAC7BD,GAAa,GACb,MAEME,EAFSvmB,OAAOC,OAAO9U,GAEA4Y,KAAK3E,IAC1BA,EAAKiC,WAAW,MAAQjC,EAAKonB,SAAS,OACtCpnB,EAAOnB,KAAKC,MAAMkB,IAEfA,KAEX,IACI,MAAMvB,QAAeooB,EAASQ,QAAQl2B,MAASg2B,GAAeG,OAC9D,IAAK,IAAI1Q,EAAI,EAAGA,EAAIprB,EAAK+7B,QAAQ1gC,OAAQ+vB,IAAK,CAC1C,MAAM4Q,EAASh8B,EAAK+7B,QAAQ3Q,GACtB6Q,EAAWD,EACjB,IAAIz7B,EACkB,kBAAX0S,GAAwBsG,MAAMC,QAAQvG,GAO7C1S,EADOgZ,MAAMC,QAAQvG,GACbI,KAAK6oB,UAAUjpB,GAEfA,GARR1S,EAAQ0S,EAAO+oB,EAAOr2B,MAER,cAAVpF,IACAA,EAAQ0S,EAAOmY,KAOH,YAAhB4Q,EAAOt1B,OACO,IAAVnG,IACAA,EAAQ,8CAGZA,EAAQA,EAAM8L,eAGlB4vB,EAAS17B,MAAQA,EACjBm7B,EAAWrlB,KAAK4lB,EACpB,CAEJ,CAAE,MAAOh8B,GACLy7B,EAAWrlB,KAAK,CACZ1Q,KAAM,QACNe,KAAM,SACNnG,MAAON,EAAMk8B,SAErB,CACAZ,EAAcG,GACdD,GAAa,EAAM,EAGUr8B,SAAA,CAErBY,EAAKo8B,OAAOjjB,KAAI,CAAC0X,EAAYzF,IAErB5oB,eAACq0B,GAAS,CAAAz3B,SAAA,CACNiB,cAAC6E,GAAQ,CAAA9F,SAAA,GAAArE,OAAK81B,EAAMlrB,KAAI,MAAA5K,OAAK81B,EAAMnqB,KAAI,OACvCrG,cAAC42B,GAAQ,CACLtxB,KAAMkrB,EAAMlrB,KAAOkrB,EAAMlrB,KAAOA,EAAOylB,EAAEhsB,SAEzCiB,cAACgQ,KAAK,CACFkG,YAAW,GAAAxb,OAAK81B,EAAMlrB,KAAI,MAAA5K,OAAK81B,EAAMnqB,KAAI,WAEtC,cAAA3L,OAReqwB,MAa1C/qB,cAACg4B,GAAW,CAACgE,SAAS,SAASvkB,SAAU0jB,EAAW53B,MAAO,CAAEwL,UAAW,QAAShQ,SAC7EiB,cAAC6E,GAAQ,CAAA9F,SAAC,YACA,QACbo8B,GAAan7B,cAAC0Z,KAAI,CAAChL,KAAK,UACzBvM,eAAA,OAAKoB,MAAO,CAAEwL,UAAW,QAAShQ,SAAA,CAC7Bk8B,EAAWjgC,OAAS,GAAKmH,eAAC0C,GAAQ,CAAA9F,SAAA,CAAC,IAACiB,cAAA,KAAAjB,SAAIuG,IAAS,uBACjD21B,EAAWniB,KAAI,CAACmjB,EAAQC,IAEjB/5B,eAAA,OAAoBzB,UAAsB,UAAXu7B,EAAE32B,KAAmB,QAAU,UAAUvG,SAAA,CACnEk9B,EAAE32B,MAAQtF,cAAC6E,GAAQ,CAACtB,MAAO,CAAE0L,YAAa,QAASlQ,SAAEk9B,EAAE32B,OACvDnD,eAACkoB,GAAW,CAAC9mB,MAAO,CAAE44B,UAAW,UAAWp9B,SAAA,CAAEk9B,EAAE51B,KAAKlB,WAAW,OAAgB,QACpE,OAAZ82B,EAAE/7B,MAAiBF,cAAC6E,GAAQ,CAAA9F,SAAEk9B,EAAE/7B,MAAMiF,aAAyBnF,cAAC6E,GAAQ,CAAA9F,SAAC,SAAgB,UAC9F,KAAArE,OAJewhC,WASxB,EASTE,GAAqDr7B,IAAkC,IAAjC,QAAE26B,EAAO,KAAEp2B,EAAI,SAAE01B,GAAUj6B,EACnF,MAAOpB,EAAM08B,GAAW/8B,qBAgBxB,OAfAS,qBAAU,KACYzF,WACd,IACI,MAAMsY,QAAeooB,EAASQ,QAAQl2B,KAAQm2B,OAC9CY,EAAQzpB,EACZ,CAAE,MAAOhT,GACLC,QAAQC,IAAIF,EAChB,GAEJ08B,EAAW,GACZ,IAMCt8B,cAAAgO,WAAA,CAAAjP,SAEQ28B,EAAQ5iB,KAAI,CAACyjB,EAAQC,KACjB,OACIr6B,eAAA,OAAApD,SAAA,EAC+B,IAA1Bw9B,EAAEl2B,KAAKo2B,QAAQ,MAEZvjB,MAAMC,QAAQxZ,IAASA,EAAKmZ,KAAI,CAACmjB,EAAQlR,KAEF,IAA/BwR,EAAEl2B,KAAKo2B,QAAQ,WACXt6B,eAAA,OAAApD,SAAA,CACIiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAcuhC,GAAIl9B,SAAEk9B,IAAS,IAACj8B,cAAA,WAAM,WAAAtF,OAD3BqwB,IAGnB/qB,cAAC6E,GAAQ,CAAA9F,SAAsBk9B,GAAC,UAAAvhC,OAAPqwB,OAjBjD2R,EAoBqB/8B,EAnB5B+8B,aAAe3nB,OAoBM5S,eAAA6L,WAAA,CAAAjP,SAAA,CACIoD,eAACkoB,GAAW,CAAAtrB,SAAA,CAAEw9B,EAAEj3B,KAAK,OAAe,OACpCtF,cAAC6E,GAAQ,CAAA9F,SAEDY,EAAK48B,EAAEj3B,WAKnBtF,cAAAgO,WAAA,CAAAjP,SACgB,YAAXw9B,EAAEl2B,KACCrG,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAciF,GAAOZ,SAAEY,IAC7BK,cAAC6E,GAAQ,CAAA9F,SAAEY,OAI7BwC,eAAEkoB,GAAW,CAAC9mB,MAAO,CAAE44B,UAAW,SAAUpuB,SAAU,QAAUhP,SAAA,CAAC,IAAEw9B,EAAEl2B,UAAmB,aAAA3L,OA7BrE8hC,IAR3C,IAAkBE,CAsCQ,KAInB,EAYLC,GAAoD37B,IAAqE,IAApE,KAAErB,EAAI,KAAE2F,EAAI,QAAEs3B,EAAO,gBAAE7yB,EAAe,QAAE0R,EAAO,YAAEC,GAAa1a,EACrH,MAAOi6B,EAAYC,GAA6B57B,mBAAS,KAClD67B,EAAWC,GAAgB97B,oBAAS,GAoD3C,OACI6C,eAAC0N,KAAI,CAACkhB,SAnDYz2B,UAAuB,IAADuiC,EACxC,IAAIxB,EAAyB,GAC7BD,GAAa,GACb,MAAM0B,EAAqC,QAAzBD,EAAG38B,EAAM,wBAAgB,IAAA28B,IAAI,YAExC38B,EAAM,iBACb,MACMo7B,EADSvmB,OAAOC,OAAO9U,GACA4Y,KAAK3E,IAC1BA,EAAKiC,WAAW,MAAQjC,EAAKonB,SAAS,OACtCpnB,EAAOnB,KAAKC,MAAMkB,IAEfA,KAEX,IACI,GAAIra,OAAO+M,MAAQ4U,EAAS,CACxB,MAAMuf,EAAW,IAAIlhC,OAAO+M,KAAKqD,IAAIC,SAASyyB,EAAS7yB,GACvD,IAAIgzB,EACJA,EAAW,CACPte,KAAMhD,EACNkW,SAAU,UACVzxB,MAAO48B,GAA8B,MAEzC,MAAME,QAAehC,EAASQ,QAAQl2B,MAASg2B,GAAe2B,YAAYF,GACtEC,IACAD,EAASpL,SAAWqL,GAExB,MAAMpqB,QAAeooB,EAASQ,QAAQl2B,MAASg2B,GAAelf,KAAK2gB,GACnE1B,EAAWrlB,KACP,CACI1Q,KAAM,kBACNe,KAAM,cACNnG,MAAO0S,EAAO8N,YAAc9N,EAAO8N,YAAc,IAErD,CACIpb,KAAM,wBACNe,KAAM,KACNnG,MAAO0S,EAAOsqB,gBAAkBtqB,EAAOsqB,gBAAkB,IAGrE,CACJ,CAAE,MAAOt9B,GACLy7B,EAAWrlB,KAAK,CACZ1Q,KAAM,QACNe,KAAM,SACNnG,MAAON,EAAMk8B,SAErB,CACAZ,EAAcG,GACdD,GAAa,EAAM,EAGWr8B,SAAA,CACA,YAAzBY,EAAKw9B,iBACFh7B,eAACq0B,GAAS,CAAAz3B,SAAA,CACNiB,cAAC6E,GAAQ,CAAA9F,SAAA,wBACTiB,cAAC42B,GAAQ,CACLtxB,KAAK,gBAAevG,SAEpBiB,cAACgQ,KAAK,CAACkG,YAAW,+BACX,4BAMfvW,EAAKo8B,OAAOjjB,KAAI,CAAC0X,EAAYzF,IAErB5oB,eAACq0B,GAAS,CAAAz3B,SAAA,CACNiB,cAAC6E,GAAQ,CAAA9F,SAAA,GAAArE,OAAK81B,EAAMlrB,KAAI,MAAA5K,OAAK81B,EAAMnqB,KAAI,OACvCrG,cAAC42B,GAAQ,CACLtxB,KAAMkrB,EAAMlrB,KAAOkrB,EAAMlrB,KAAOA,EAAOylB,EAAEhsB,SAEzCiB,cAACgQ,KAAK,CAACkG,YAAW,GAAAxb,OAAK81B,EAAMlrB,KAAI,MAAA5K,OAAK81B,EAAMnqB,KAAI,WACzC,cAAA3L,OANeqwB,MAY1C/qB,cAACg4B,GAAW,CAACgE,SAAS,SAAQj9B,SAAEiB,cAAC6E,GAAQ,CAAA9F,SAAC,YAA8B,SAASo8B,GAAan7B,cAAC0Z,KAAI,CAAChL,KAAK,UACzGvM,eAAA,OAAKoB,MAAO,CAAEwL,UAAW,QAAShQ,SAAA,CAC7Bk8B,EAAWjgC,OAAS,GAAKgF,cAAA,OAAAjB,SAAKoD,eAAC0C,GAAQ,CAAA9F,SAAA,CAAC,IAACiB,cAAA,KAAAjB,SAAIuG,IAAS,yBACtD21B,EAAWniB,KAAI,CAACmjB,EAAQC,IAEN,UAAXD,EAAE32B,KACEnD,eAAA,OAAoBzB,UAAU,QAAO3B,SAAA,CAChCiB,cAAC6E,GAAQ,CAACtB,MAAO,CAAE0L,YAAa,QAASlQ,SAAEk9B,EAAE32B,OAC7CnD,eAACkoB,GAAW,CAAC9mB,MAAO,CAAE44B,UAAW,UAAWp9B,SAAA,CAAEk9B,EAAE51B,KAAKlB,WAAW,OAChEnF,cAAC6E,GAAQ,CAAA9F,SAAEk9B,EAAE/7B,MAAMiF,aAAuB,UAC/C,KAAAzK,OAJewhC,IAMfl8B,cAACq4B,GAAU,CAAC91B,GAAe,gBAAX05B,EAAE51B,KAAsB,UAAA3L,OAAauhC,EAAE/7B,OAAK,OAAAxF,OAAYuhC,EAAE/7B,OAAQnB,SAAEk9B,EAAE32B,cAKnG,EAIT83B,GAAiBn8B,IAAoB,IAAnB,KAAEtB,GAAWsB,EACjC,MAAOo8B,EAAQjR,GAAa9sB,oBAAS,GAErC,OACI6C,eAAA6L,WAAA,CAAAjP,SAAA,CACIoD,eAACiG,GAAc,CAAC7E,MAAO,CAAEwL,UAAW,OAAQvL,QAAS,OAAQqe,eAAgB,gBAAiBpe,WAAY,UAAW1E,SAAA,CACjHoD,eAAA,OAAApD,SAAA,CAAKiB,cAACs9B,KAAU,IAAG,IAAE39B,EAAK,GAAG,OAC7BK,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO66B,EAAS,SAAW,oBAAoBt+B,SACpEiB,cAAC+sB,mBAAe,CACZ1xB,KAAMsE,EAAK,GAAG49B,QACdvQ,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAChnB,MAAO,CAAE0L,YAAa,QAASlQ,SAACiB,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,yBAItGjD,cAACu1B,GAAc,CAAC/jB,OAAO,OAAMzS,SACxBY,EAAK,GAAG49B,YAEd,EA8VIC,I,4DAAAA,GA1ViBt8B,IAAuC,IAADu8B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAArC,KAAE1+B,EAAI,QAAE/E,GAAwBsG,EAC7D,MAAOm8B,EAAQjR,GAAa9sB,oBAAS,IAC9Bg/B,EAAYC,GAAiBj/B,oBAAS,IACtCmc,EAASE,GAAcrc,mBAAS,KAChCoc,EAAaE,GAAkBtc,oBAAS,GAEzCk/B,EAAa7+B,EAAK8+B,cAAgB9+B,EAAK8+B,aAAaD,WAAazpB,OAAO2pB,QAAQ/+B,EAAK8+B,aAAaD,YAAc,GACtH,IAAIG,EAAuB,GACvBC,EAAwB,GACxBC,EAA4B,GAC5BC,EAA6B,GAEjC,MAAMC,EAAcp/B,EAAK8+B,aAAa7B,QAAU5pB,KAAKC,MAAMtT,EAAK8+B,aAAa7B,SAAW,KAClF6B,EAAeM,EAAcl1B,GAAYk1B,EAAankC,GAAoB,IAAM,GACtF+jC,EAAWI,GAAeA,EAAYzpB,QAAQ0pB,GACnCA,EAAItD,SAAWsD,EAAIC,WAE9BL,EAAYG,GAAeA,EAAYzpB,QAAQ0pB,GACpCA,EAAItD,UAAYsD,EAAIC,WAG/B,MAAMC,EAAoC,QAAjBzB,EAAA99B,EAAK8+B,oBAAY,IAAAhB,GAAyB,QAAzBC,EAAjBD,EAAmB0B,+BAAuB,IAAAzB,GAA1CA,EAA4Cd,QAAU5pB,KAAKC,MAAuB,QAAlB0qB,EAACh+B,EAAK8+B,oBAAY,IAAAd,GAAyB,QAAzBC,EAAjBD,EAAmBwB,+BAAuB,IAAAvB,OAAzB,EAAjBA,EAA4ChB,SAAW,KAC3IwC,EAAoBF,EAAmBr1B,GAAYq1B,EAAkBtkC,GAAoB,IAAM,GAOrG,OANAikC,EAAgBK,GAAoBA,EAAiB5pB,QAAQ0pB,GAClDA,EAAItD,SAAWsD,EAAIC,WAE9BH,EAAiBI,GAAoBA,EAAiB5pB,QAAQ0pB,GACnDA,EAAItD,UAAYsD,EAAIC,WAG1Bt/B,EAAK8+B,aAAaD,WA+Bfx+B,cAAAgO,WAAA,CAAAjP,SACIoD,eAACoR,KAAI,CAAClN,KAAK,OAAMtH,SAAA,CACboD,eAACmR,GAAO,CAACQ,IAAI,OAAM/U,SAAA,CACfiB,cAACoI,GAAc,CAAArJ,SACXiB,cAAC8M,GAAW,CAACC,YAAapN,EAAK0/B,UAAWryB,mBAAmC,QAAjB6wB,EAAAl+B,EAAK8+B,oBAAY,IAAAZ,IAAjBA,EAAmBjB,aAEnFz6B,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACZoD,eAACU,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SAAA,CAClBoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CAEZiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,qBAI1CiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACjCY,EAAK8+B,aAAaa,oBAI/Bn9B,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACZiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,uBAI1CiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACjCY,EAAK8+B,aAAatZ,mBAKnCnlB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SAClBoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACZiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,oBAI1CiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACjCY,EAAK8+B,aAAac,aAAe,MAAQ,iBAO1Df,EAAWxjC,OAAS,GAAKwjC,EAAW1lB,KAAI,CAAC5Y,EAAY6qB,IAE7C/qB,cAACo9B,GAAc,CAAgBz9B,KAAMO,GAAM,KAAAxF,OAAjBqwB,MAIrCprB,EAAK8+B,aAAa7B,SACfz6B,eAAA6L,WAAA,CAAAjP,SAAA,CACIoD,eAACiG,GAAc,CAAC7E,MAAO,CAAEC,QAAS,OAAQqe,eAAgB,gBAAiBpe,WAAY,UAAW1E,SAAA,CAC9FoD,eAAA,OAAApD,SAAA,CAAKiB,cAACw/B,KAAmB,IAAG,mBAC5Bx/B,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO66B,EAAS,SAAW,oBAAoBt+B,SACpEiB,cAAC+sB,mBAAe,CACZ1xB,KAAMsE,EAAK8+B,aAAa7B,QACxB5P,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAChnB,MAAO,CAAE0L,YAAa,QAASlQ,SAACiB,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,yBAKtGjD,cAACu1B,GAAc,CAAC/jB,OAAO,OAAMzS,SACxBY,EAAK8+B,aAAa7B,aAI9Bj9B,EAAK8/B,MACFt9B,eAAA6L,WAAA,CAAAjP,SAAA,CACIoD,eAACiG,GAAc,CAAC7E,MAAO,CAAEC,QAAS,OAAQqe,eAAgB,gBAAiBpe,WAAY,UAAW1E,SAAA,CAC9FoD,eAAA,OAAApD,SAAA,CAAKiB,cAAC0/B,KAAW,IAAG,6BACpB1/B,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO66B,EAAS,SAAW,oBAAoBt+B,SACpEiB,cAAC+sB,mBAAe,CACZ1xB,KAAMsE,EAAK8/B,KACXzS,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAChnB,MAAO,CAAE0L,YAAa,QAASlQ,SAACiB,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,yBAItGjD,cAACu1B,GAAc,CAAC/jB,OAAO,OAAMzS,SACxBY,EAAK8/B,UAIjB9/B,EAAK8+B,aAAakB,kBACfx9B,eAAA6L,WAAA,CAAAjP,SAAA,CACIoD,eAACiG,GAAc,CAAC7E,MAAO,CAAEC,QAAS,OAAQqe,eAAgB,iBAAkB9iB,SAAA,CACxEoD,eAAA,OAAApD,SAAA,CACIiB,cAAC0/B,KAAW,IAAG,IAAEpB,EAAa,WAAa,aAE/Cn8B,eAAA,OAAKoB,MAAO,CAAEC,QAAS,QAASzE,SAAA,CAC5BiB,cAAC21B,GAAY,CACTzyB,QAASA,KACLq7B,GAAeD,EAAW,EAC5Bv/B,SAAA,aAAArE,OACY4jC,EAAa,eAAiB,cAEhDt+B,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO66B,EAAS,SAAW,oBAAoBt+B,SACpEiB,cAAC+sB,mBAAe,CACZ1xB,KAAMijC,EAAa3+B,EAAK8+B,aAAakB,iBAAiBC,OAASjgC,EAAK8+B,aAAakB,iBAAiBE,QAClG7S,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAChnB,MAAO,CAAE0L,YAAa,QAASlQ,SAACiB,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,4BAKzGq7B,EACGt+B,cAACu1B,GAAc,CAAC/jB,OAAO,OAAMzS,SACxBY,EAAK8+B,aAAakB,iBAAiBC,SAGxC5/B,cAACu1B,GAAc,CAAC/jB,OAAO,OAAMzS,SACxBY,EAAK8+B,aAAakB,iBAAiBE,aAKnDlgC,EAAK8+B,aAAakB,kBACfx9B,eAAA6L,WAAA,CAAAjP,SAAA,CACIoD,eAACiG,GAAc,CAAC7E,MAAO,CAAEC,QAAS,OAAQqe,eAAgB,gBAAiBpe,WAAY,UAAW1E,SAAA,CAC9FoD,eAAA,OAAApD,SAAA,CACIiB,cAAC8/B,KAAe,IAAG,kCAEvB9/B,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO66B,EAAS,SAAW,oBAAoBt+B,SACpEiB,cAAC+sB,mBAAe,CACZ1xB,KAAMsE,EAAK8+B,aAAakB,iBAAiBI,UACzC/S,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAChnB,MAAO,CAAE0L,YAAa,QAASlQ,SAACiB,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,yBAItGjD,cAACu1B,GAAc,CAAC/jB,OAAO,MAAKzS,SACvBY,EAAK8+B,aAAakB,iBAAiBI,iBArJ5B,OA0JxB//B,cAACsT,GAAO,CAACQ,IAAI,OAAM/U,SACd4/B,EAAS3jC,OAAS,GACfmH,eAAA6L,WAAA,CAAAjP,SAAA,CACIoD,eAACiG,GAAc,CAAArJ,SAAA,CAACiB,cAACuf,KAAgB,IAAG,iCAEhCof,EAAS7lB,KAAI,CAAC/F,EAAQgY,IAEd5oB,eAAC4zB,GAAK,CAAAh3B,SAAA,CACFiB,cAACg2B,GAAU,CAAAj3B,SAACiB,cAAC6E,GAAQ,CAAA9F,SAAA,GAAArE,OAAKqwB,EAAI,EAAC,MAAArwB,OAAKqY,EAAEzN,UACtCtF,cAACm2B,GAAW,CAAAp3B,SACRiB,cAAA,OAAAjB,SACKgU,EAAEgpB,OAAO/gC,OAAS,EACfgF,cAACo8B,GAAc,CAACV,QAAS3oB,EAAE2oB,QAASp2B,KAAMyN,EAAEzN,KAAM01B,SAAUyD,IAE5Dz+B,cAAC+6B,GAAc,CAACp7B,KAAMoT,EAAGzN,KAAMyN,EAAEzN,KAAM01B,SAAUyD,UAG/C,aAAA/jC,OAVOqwB,UAPzB,OAyBxB/qB,cAACsT,GAAO,CAACQ,IAAI,QAAO/U,SACf6/B,EAAU5jC,OAAS,GAChBmH,eAAA6L,WAAA,CAAAjP,SAAA,CACIoD,eAACiG,GAAc,CAAArJ,SAAA,CAACiB,cAACuf,KAAgB,IAAG,kCACpCvf,cAACwb,GAAW,CACRC,QAASA,EACTE,WAAYA,EACZD,YAAaA,EACbE,eAAgBA,IAGhBhhB,GAAWgkC,EAAU9lB,KAAI,CAAC/F,EAAQgY,IAE1B5oB,eAAC4zB,GAAK,CAAAh3B,SAAA,CACFiB,cAACg2B,GAAU,CAAAj3B,SAACiB,cAAC6E,GAAQ,CAAA9F,SAAA,GAAArE,OAAKqwB,EAAI,EAAC,MAAArwB,OAAKqY,EAAEzN,KAAI,KAAA5K,OAA0B,YAAtBqY,EAAEoqB,gBAAgC,YAAc,QAC9Fn9B,cAACm2B,GAAW,CAAAp3B,SACRiB,cAAC28B,GAAe,CACZh9B,KAAMoT,EACNzN,KAAMyN,EAAEzN,KACRs3B,QAASmC,EACTh1B,gBAAiBnP,EACjB6gB,QAASA,EACTC,YAAaA,QAEP,aAAAhhB,OAXOqwB,UAbxB,OAgCxB8T,GACG7+B,cAACsT,GAAO,CAACQ,IAAI,gBAAe/U,SAC3B8/B,EAAc7jC,OAAS,GACpBmH,eAAA6L,WAAA,CAAAjP,SAAA,CACIoD,eAACiG,GAAc,CAAArJ,SAAA,CAACiB,cAACuf,KAAgB,IAAG,8BACpCvf,cAAA,OAAKuD,MAAO,CAAEK,aAAc,QAAS7E,SACjCoD,eAAC6D,KAAI,CAAAjH,SAAA,CAAC,0CAAuCiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAA+B,QAA/BojC,EAAcn+B,EAAK8+B,oBAAY,IAAAX,OAAA,EAAjBA,EAAmBkC,oBAAmB,SAAQjhC,SAACiB,cAACgG,KAAI,CAAC+e,QAAQ,EAAMC,QAAQ,EAAKjmB,SAAmB,QAAnBg/B,EAAEp+B,EAAK8+B,oBAAY,IAAAV,OAAA,EAAjBA,EAAmBiC,wBAAoD,QAAjBhC,EAAAr+B,EAAK8+B,oBAAY,IAAAT,GAAjBA,EAAmBiC,UAAS,WAAAvlC,OAA+B,QAA/BujC,EAAct+B,EAAK8+B,oBAAY,IAAAR,OAAA,EAAjBA,EAAmBgC,UAAS,oBAGjRpB,EAAc/lB,KAAI,CAAC/F,EAAQgY,IAEnB5oB,eAAC4zB,GAAK,CAAAh3B,SAAA,CACFiB,cAACg2B,GAAU,CAAAj3B,SAACiB,cAAC6E,GAAQ,CAAA9F,SAAA,GAAArE,OAAKqwB,EAAI,EAAC,MAAArwB,OAAKqY,EAAEzN,UACtCtF,cAACm2B,GAAW,CAAAp3B,SACRiB,cAAA,OAAAjB,SACKgU,EAAEgpB,OAAO/gC,OAAS,EACfgF,cAACo8B,GAAc,CAACV,QAAS3oB,EAAE2oB,QAASp2B,KAAMyN,EAAEzN,KAAM01B,SAAUoE,IAE5Dp/B,cAAC+6B,GAAc,CAACp7B,KAAMoT,EAAGzN,KAAMyN,EAAEzN,KAAM01B,SAAUoE,UAG/C,aAAA1kC,OAVOqwB,UAVZ,OA6BpC+T,GACG9+B,cAACsT,GAAO,CAACQ,IAAI,iBAAgB/U,SAC5B+/B,EAAe9jC,OAAS,GACrBmH,eAAA6L,WAAA,CAAAjP,SAAA,CACIoD,eAACiG,GAAc,CAAArJ,SAAA,CAACiB,cAACuf,KAAgB,IAAG,+BACpCvf,cAAA,OAAKuD,MAAO,CAAEK,aAAc,QAAS7E,SACjCoD,eAAC6D,KAAI,CAAAjH,SAAA,CAAC,0CAAuCiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAA+B,QAA/BwjC,EAAcv+B,EAAK8+B,oBAAY,IAAAP,OAAA,EAAjBA,EAAmB8B,oBAAmB,SAAQjhC,SAACiB,cAACgG,KAAI,CAAC+e,QAAQ,EAAMC,QAAQ,EAAKjmB,SAAmB,QAAnBo/B,EAAEx+B,EAAK8+B,oBAAY,IAAAN,OAAA,EAAjBA,EAAmB6B,wBAAkC,IAAmB,QAAjB5B,EAAAz+B,EAAK8+B,oBAAY,IAAAL,GAAjBA,EAAmB6B,UAAS,WAAAvlC,OAA+B,QAA/B2jC,EAAc1+B,EAAK8+B,oBAAY,IAAAJ,OAAA,EAAjBA,EAAmB4B,UAAS,oBAEtRjgC,cAACwb,GAAW,CACRC,QAASA,EACTE,WAAYA,EACZD,YAAaA,EACbE,eAAgBA,IAGhBhhB,GAAWkkC,EAAehmB,KAAI,CAAC/F,EAAQgY,IAE/B5oB,eAAC4zB,GAAK,CAAAh3B,SAAA,CACFiB,cAACg2B,GAAU,CAAAj3B,SAACiB,cAAC6E,GAAQ,CAAA9F,SAAA,GAAArE,OAAKqwB,EAAI,EAAC,MAAArwB,OAAKqY,EAAEzN,KAAI,KAAA5K,OAA0B,YAAtBqY,EAAEoqB,gBAAgC,YAAc,QAC9Fn9B,cAACm2B,GAAW,CAAAp3B,SACRiB,cAAC28B,GAAe,CACZh9B,KAAMoT,EACNzN,KAAMyN,EAAEzN,KACRs3B,QAASsC,EACTn1B,gBAAiBnP,EACjB6gB,QAASA,EACTC,YAAaA,QAEP,aAAAhhB,OAXOqwB,UAhBX,SAnPpB,aA/B1B5oB,eAAA6L,WAAA,CAAAjP,SAAA,CACIiB,cAACs1B,GAAQ,CAAAv2B,SACLoD,eAAA,OAAKzB,UAAU,eAAc3B,SAAA,CACzBoD,eAAA,OAAKzB,UAAU,4BAA2B3B,SAAA,CACtCiB,cAAA,OAAKuD,MAAO,CAACiO,OAAQ,OAAQpK,MAAO,QAAStE,IAAK8K,GAAW3K,IAAI,KACjEd,eAAA,OAAKoB,MAAO,CAACI,WAAY,QAAQ5E,SAAA,CAC7BiB,cAACgG,KAAI,CAACzC,MAAO,CAACC,QAAS,SAAUuhB,QAAM,EAAAhmB,SAAC,kCACxCiB,cAACgG,KAAI,CAACzC,MAAO,CAACC,QAAS,SAASzE,SAAC,iEAKzCiB,cAACsC,IAAI,CACDiB,MAAO,CAACiO,OAAQ,OAAQ0uB,aAAc,MAAM5jC,OAAQ,YACpD6jC,YAAa,WACbrgB,QAAS,WACTsgB,WAAY,OACZ3zB,MAAO,UACPsT,UAAW,UAEXxd,GAAE,qBAAA7H,OAAuBE,GAAUmE,SAAC,4BAKhDiB,cAACu1B,GAAc,CAAC/jB,OAAO,OAAMzS,SACxBY,EAAK8/B,SA6RX,EC/qBA,SAASY,KACtB,MAAM,QAAEzlC,GAAYyxB,cAEdiU,EAAgB9gC,uBACnB0H,GAAgB8sB,GAAmB,IAAK9sB,EAAQtM,aACjD,CAACA,KAGG,KAAE+E,EAAI,QAAEwY,EAAO,gBAAEwc,GAAoBzrB,IAAgBjK,GAAUA,EAAgB,SAAW,UAEhG,GAAgB,YAAZkZ,EAAuB,OAAOnY,cAAC0W,GAAe,IAClD,GAAgB,WAAZyB,EAAsB,OAAOnY,cAACusB,IAAQ,CAAChqB,GAAE,aAAA7H,OAAeE,KAC5D,IAAK+E,EAAM,OAAO,KAelB,IAAI4gC,EAAqB,CAbR,CACf3lC,QAAS+E,EAAK/E,QACd4T,MAAO,GACPqU,SAAU,IAAIvY,KAAU3K,EAAKulB,SAAS3a,WACtCi2B,eAAgB7gC,EAAKskB,cACrB2J,cAAe,GACfxJ,UAAW,UACXC,YAAa,MACbC,UAAW,SACXmc,SAAU9gC,EAAKw1B,UACfrS,SAAUnjB,EAAKu1B,cAGsBP,EAAgBh1B,MACvD,MAAM+gC,EAAe/gC,EAAKu1B,UAAYP,EAAgBC,SAKtD,OAJA2L,EAAqBA,EAAmBznB,KAAK/F,IAC3C,MAAMgQ,EAAa2d,GAAgB3tB,EAAE+P,SAAWtY,GAAa,IAAIF,KAAUyI,EAAE+P,UAAUviB,IAAImgC,GAAcpa,aAAa,KAAK/b,WAAY,GAAK,GAC5I,MAAO,IAAKwI,EAAGgQ,aAAY,IAG3B/iB,cAAC2pB,GAAS,CACRxR,QAASwc,EAAgBxc,QACzBzE,MAAOihB,EAAgBjhB,MACvBwE,QAASiM,GACTlQ,WAAYssB,EACZj/B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOihB,EAAgBjhB,MAAOrN,KAAK,UAC3D+R,QAASkoB,GAGf,CCjDO,MAAMrP,GAAc3wB,IAAOC,IAAGI,QAAAC,YAAA,6MAcxBoyB,GAAwB1yB,IAAOC,IAAGO,QAAAF,YAAA,yKAC7B9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM1D,GAAG,IAQ7Bw3B,GAAmB3yB,IAAOC,IAAGkB,QAAAb,YAAA,UAE7BipB,GAAcvpB,IAAOC,IAAGqB,QAAAhB,YAAA,+OAKvBG,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM7D,WAAW,IAGhC0F,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM9D,IAAI,IAM1BslC,GAAYrgC,IAAOC,IAAGuB,QAAAlB,YAAA,iDAItBggC,GAAatgC,IAAOC,IAAGyB,QAAApB,YAAA,4QAEdK,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM7C,MAAM,IAQpC4E,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM7D,WAAW,IAKhCulC,GAAavgC,IAAOwE,KAAImD,QAAArH,YAAA,kPAIfO,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM3C,OAAO,IASrC6T,GAAa/P,YAAOgQ,KAAPhQ,CAAY6H,QAAAvH,YAAA,gqBAChBQ,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAM7C,MAAM,IAKjCmI,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAM1D,GAAG,IAUTiJ,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAM7C,MAAM,IAG7CqI,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAKxF,EAAM9D,IAAI,IAGXuJ,IAAA,IAAC,MAAEzF,GAAOyF,EAAA,OAAKzF,EAAM7C,MAAM,IAQzCyI,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAM7D,WAAW,IAIhCwlC,GAAaxgC,YAAOkE,KAAPlE,CAAc+H,QAAAzH,YAAA,sGAS3BmgC,GAAYzgC,YAAOgC,IAAPhC,CAAYkI,QAAA5H,YAAA,yKAOb+H,IAAA,IAAC,MAAExJ,GAAOwJ,EAAA,OAAKxJ,EAAMvD,OAAO,IAGvCyuB,GAAc/pB,IAAOgrB,EAAC5iB,QAAA9H,YAAA,yBACxBgI,IAAA,IAAC,MAAEzJ,GAAOyJ,EAAA,OAAKzJ,EAAM7D,WAAW,IAE9B0lC,GAAW1gC,IAAOiI,EAACQ,QAAAnI,YAAA,yQAUhBiI,IAAA,IAAC,MAAE1J,GAAO0J,EAAA,OAAK1J,EAAM3C,OAAO,IAE1BgT,IAAA,IAAC,MAAErQ,GAAOqQ,EAAA,OAAKrQ,EAAM1C,YAAY,IAItCy2B,GAAkB5yB,IAAOC,IAAGqQ,QAAAhQ,YAAA,0DAI5BwH,GAAiB9H,IAAOC,IAAGuQ,QAAAlQ,YAAA,iKAI3B8O,IAAA,IAAC,MAAEvQ,GAAOuQ,EAAA,OAAKvQ,EAAM9D,IAAI,IACPsU,IAAA,IAAC,MAAExQ,GAAOwQ,EAAA,OAAKxQ,EAAM7C,MAAM,IAG7C2kC,GAAY3gC,IAAOwE,KAAIiM,QAAAnQ,YAAA,yBACzBwwB,IAAA,IAAC,MAAEjyB,GAAOiyB,EAAA,OAAKjyB,EAAM7D,WAAW,IAE9B4lC,GAAgB5gC,IAAOwE,KAAImM,QAAArQ,YAAA,yBAC7Bg1B,IAAA,IAAC,MAAEz2B,GAAOy2B,EAAA,OAAKz2B,EAAM9D,IAAI,IAEvBo6B,GAAan1B,IAAOC,IAAG4Q,QAAAvQ,YAAA,0GAMvB2pB,GAAgBjqB,IAAOC,IAAG61B,QAAAx1B,YAAA,0YAS1Bi1B,IAAA,IAAC,MAAE12B,GAAO02B,EAAA,OAAK12B,EAAM7D,WAAW,IACrBw6B,IAAA,IAAC,MAAE32B,GAAO22B,EAAA,OAAK32B,EAAM1D,GAAG,IAEpBw6B,IAAA,IAAC,MAAE92B,GAAO82B,EAAA,OAAK92B,EAAMvD,OAAO,IAS3C85B,GAASp1B,IAAOC,IAAGk2B,QAAA71B,YAAA,kGAMnB2D,GAAejE,YAAOkE,KAAPlE,CAAcu2B,QAAAj2B,YAAA,kaAW7Bs1B,IAAA,IAAC,MAAE/2B,GAAO+2B,EAAA,OAAK/2B,EAAM7D,WAAW,IACrB+6B,IAAA,IAAC,MAAEl3B,GAAOk3B,EAAA,OAAKl3B,EAAM1D,GAAG,IAGxB66B,IAAA,IAAC,MAAEn3B,GAAOm3B,EAAA,OAAKn3B,EAAMvD,OAAO,ICzLrC,SAASulC,GAAgBriC,GAAmC,IAAlC,SAAEsiC,GAA6BtiC,EACtE,MAAOuiC,EAAQC,GAAahiC,oBAAS,GAE/BiiC,EAAOC,oBACP,QAAE5mC,GAAYyxB,cACd9iB,EAAWP,KAEjBjJ,qBAAU,KACJnF,GACF2O,EAAS0qB,GAA8B,CAAEr5B,UAASE,OAAQ,EAAGI,MAAO,KACtE,GACC,CAACN,EAAS2O,IAEbxJ,qBAAU,IACD,KACLwJ,EAAS0rB,KAAqB,GAE/B,IAEH,MAAM,KAAEt1B,EAAI,QAAEwY,EAAO,2BAAE0c,GAA+B3rB,IAAgBjK,GAAUA,EAAgB,SAAW,UAI3G,OhE9BK,SACLsiC,EACAE,GAEA,MAAMC,EAAaF,iBAAiCC,GACpD1hC,qBAAU,KACR2hC,EAAWh/B,QAAU++B,CAAO,GAC3B,CAACA,IAEJ1hC,qBAAU,KACR,MAAM4hC,EAAsBx+B,IAAmB,IAADy+B,EAAAC,EACA,QAA5CD,EAAgB,QAAhBC,EAAIN,EAAK7+B,eAAO,IAAAm/B,OAAA,EAAZA,EAAcC,SAAS3+B,EAAEmD,eAAe,IAAAs7B,MAGxCF,EAAWh/B,SAASg/B,EAAWh/B,SAAS,EAK9C,OAFAq/B,SAASC,iBAAiB,YAAaL,GAEhC,KACLI,SAASE,oBAAoB,YAAaN,EAAmB,CAC9D,GACA,CAACJ,GACN,CgEKEW,CAAkBX,GAAM,IAAMD,GAAU,KAEnC3hC,GAAqB,YAAZwY,EAEZhW,eAAA6L,WAAA,CAAAjP,SAAA,CACEoD,eAACw+B,GAAS,CACRz9B,QAASA,IAAMo+B,GAAWD,GAC1Bc,IAAKZ,EAAYxiC,SAAA,CAEjBoD,eAACy+B,GAAU,CAAA7hC,SAAA,CACTiB,cAACkhC,GAAa,CAAAniC,SAAA,IAAArE,OAAM8P,GAAaqqB,EAA2BD,SAAU,MAAqB,IAAC50B,cAAC6gC,GAAU,CAAA9hC,SAAE81B,EAA2BnhB,QAAmB,IAAC1T,cAAC0D,IAAiB,OAE3K29B,GACCl/B,eAACkO,GAAU,CAAAtR,SAAA,CACTiB,cAACsQ,KAAI,CACHyD,WAAW,aACXzS,OAAO,aACP2S,WAAY4gB,EAA2Bl1B,KACvCuU,WAAaC,GACXnU,cAACsQ,KAAKjO,KAAI,CAACkB,MAAO,CAAE6+B,WAAY,MAAOC,cAAe,OAAQtjC,SAC5DoD,eAAC4+B,GAAS,CAACx+B,GAAE,UAAA7H,OAAYyZ,EAAK3F,MAAK,aAAA9T,OAAYiF,EAAK/E,SAAUmE,SAAA,CAC5DoD,eAAA,OAAApD,SAAA,CACEiB,cAACyO,GAAS,CAAC7T,QAASuZ,EAAK3F,MAAOE,KAAM,KAAM,OAC5CvM,eAAC++B,GAAa,CAAAniC,SAAA,CAAEoV,EAAKiQ,UAAU,KAAGjQ,EAAKkQ,YAAY,OACnDliB,eAACkoB,GAAW,CAAC9mB,MAAO,CAAEK,aAAc,KAAM7E,SAAA,CAAEyL,GAAa2J,EAAKqsB,eAAgB,GAAG,IAAErsB,EAAKkQ,kBAEzFlQ,EAAKssB,UACJt+B,eAAA,OAAApD,SAAA,CACEiB,cAACkhC,GAAa,CAAC39B,MAAO,CAAEK,aAAc,IAAKmc,UAAW,QAASvc,QAAS,SAAUzE,SAAEyL,GAAa2J,EAAK2O,SAAU,KAChH3gB,eAACkoB,GAAW,CAAC9mB,MAAO,CAAEK,aAAc,KAAM7E,SAAA,CAAC,IAAEyL,GAAa2J,EAAKssB,SAAU,gBASnF5L,EAA2Bl1B,KAAK3E,OAAS,IAAOgF,cAAC8gC,GAAU,CAAC7gB,OAAK,EAAC/c,QAASk+B,EAASriC,SAAC,oBAI7FiB,cAACghC,GAAQ,CAAC99B,QAASk+B,EAASriC,SAC1BiB,cAAC6N,KAAO,CAACrL,MAAM,YAAWzD,SACxBiB,cAAC0kB,KAAkB,WA1CkB,IA+C/C,CC1Fe,SAAS4d,KACtB,MAAM,QAAE1nC,GAAYyxB,cAEdC,EAAoB9sB,uBACvB0H,GAAgBgtB,GAAmB,IAAKhtB,EAAQtM,aACjD,CAACA,KAGG,WAAEqtB,GAAe/e,IAAgBjK,GAAUA,EAAgB,SAAW,UAE5E,OAEEe,cAAC2pB,GAAS,CACRxR,QAAS8P,EAAW9P,QACpBzE,MAAOuU,EAAWvU,MAClBwE,QAASsM,GACTvQ,WAAYgU,EAAWtoB,KACvB2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOuU,EAAWvU,MAAOrN,KAAK,OACtD+R,QAASkU,GAGf,CCrBe,SAASiW,KACtB,MAAM,QAAE3nC,GAAYyxB,cAEdjU,EAAS5Y,uBACZ0H,GAAgBstB,GAAwB,IAAKttB,EAAQtM,aACtD,CAACA,KAGG,aAAEm6B,GAAiB7rB,IAAgBjK,GAAUA,EAAgB,SAAW,UAE9E,OACEe,cAAC2pB,GAAS,CACRxR,QAAS4c,EAAa5c,QACtBzE,MAAOqhB,EAAarhB,MACpBwE,QAAS2M,GACT5Q,WAAY8gB,EAAap1B,KACzB2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOqhB,EAAarhB,MAAOrN,KAAK,YACxD+R,QAASA,GAGf,CCpBe,SAASoqB,KACtB,MAAM,QAAE5nC,GAAYyxB,cAEdoW,EAAgBjjC,uBACnB0H,GAAgBktB,GAAe,IAAKltB,EAAQtM,aAC7C,CAACA,KAGG,WAAEk6B,GAAe5rB,IAAgBjK,GAAUA,EAAgB,SAAW,UAE5E,OAEEe,cAAC2pB,GAAS,CACRxR,QAAS2c,EAAW3c,QACpBzE,MAAOohB,EAAWphB,MAClBwE,QAASyM,GACT1Q,WAAY6gB,EAAWn1B,KACvB2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOohB,EAAWphB,MAAOrN,KAAK,iBACtD+R,QAASqqB,GAGf,CCsBA,MAAQnvB,QAAQ,IAAIC,MACZiM,UAAS,GAAExZ,KAAK,IAAIC,KAEb,SAASy8B,GAAmB5jC,GAAiB,IAAD2+B,EAAAE,EAAA,IAAf,KAAEh+B,GAAWb,EACvD,MAAOqtB,EAAUC,GAAa9sB,oBAAS,IAChC8b,EAAWC,GAAgB/b,mBAAS,KACrC,QAAE1E,GAAYyxB,cAEpB,OAAK1sB,EAEHwC,eAAC8uB,GAAW,CAAAlyB,SAAA,CACTnE,GACCoF,cAAC8sB,IAAM,CAAA/tB,SACLiB,cAAA,SAAAjB,SAAA,YAAArE,OAAoBE,OAGxBoF,cAACiO,GAAU,CAACzL,MAAM,qBAClBL,eAACszB,GAAU,CAAA12B,SAAA,CACPiB,cAAA,OAAKuD,MAAO,CAAC0L,YAAa,OAAOlQ,SACjCiB,cAAC8M,GAAW,CAACC,YAAiB,OAAJpN,QAAI,IAAJA,OAAI,EAAJA,EAAM0/B,UAAWryB,mBAAmC,QAAjBywB,EAAA99B,EAAK8+B,oBAAY,IAAAhB,IAAjBA,EAAmBb,SAAwB3vB,YAAU,MAEpHjN,cAAC6E,GAAQ,CAACtB,MAAO,CAAE0L,YAAa,OAAQmF,UAAW,cAAerV,SAAEY,EAAK/E,QAAQoR,gBACjFhM,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO2pB,EAAW,SAAW,4BAA4BptB,SAChFiB,cAAC+sB,mBAAe,CACd1xB,KAAMsE,EAAK/E,QACXoyB,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAGrCiB,cAAA,OAAKoH,MAAM,KAAK7D,MAAO,CAAE0L,YAAa,QAAUnM,IAAMoqB,GAAWjqB,IAAI,kBAGzEjD,cAAC6N,KAAO,CACNe,UAAU,SACVnC,MAAM,UACNjK,MACExC,cAAC01B,GAAM,CAAA32B,SACLiB,cAAC2iC,UAAM,CACLt0B,MAAM,IACN9K,MAAO,CAAE6D,MAAO,KAChBlH,MAAOP,EAAK/E,YAGjBmE,SAGDiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAM8/B,GAAa3/B,IAAI,qBAI3Cd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAIzN,UAAU,QAAO3B,SACtCoD,eAAC6wB,GAAqB,CAAAj0B,SAAA,CACpBiB,cAACoI,GAAc,CAAArJ,SAAC,sBAChBoD,eAAC8wB,GAAgB,CAAAl0B,SAAA,CACdY,EAAK0/B,WACJl9B,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,WAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCY,EAAK0/B,UAAUhb,oBAKtB1kB,EAAK0/B,WAAa1/B,EAAK8+B,aAAaa,cACpCn9B,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,WAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCY,EAAK8+B,aAAaa,oBAK3Bn9B,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,kBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCoD,eAACiE,KAAK,CAAArH,SAAA,CACHyL,GAAaJ,GAAOzK,EAAKulB,QAAS,IAAK,GAAG,QAAK/iB,eAACkoB,GAAW,CAAAtrB,SAAA,CAAC,IAAC,IAAArE,OAAK8P,GAAa7K,EAAKu1B,UAAW,IAAK,OACrGl1B,cAAC6N,KAAO,CAACrL,MAAOA,IAAMxC,cAAC6iC,GAAW,CAAC1N,UAAWx1B,EAAKw1B,YAAcp2B,SAACiB,cAAC8iC,KAAsB,gBAKjG3gC,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAG5oB,UAAU,4BAA2B3B,SAChEiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,8BAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAgB6C,MAAO,CAACC,QAAS,QAAQzE,SAC9DiB,cAACmhC,GAAgB,CAACC,SAAUA,IAAM/lB,EAAa,yBAIrDlZ,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,yBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCyL,GAAa7K,EAAKukB,gBAIxBvkB,EAAK0/B,WACJl9B,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,oBAKxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCoD,eAACG,IAAI,CAACC,GAAE,UAAA7H,OAAYiF,EAAK/E,SAAUmE,SAAA,CAAEY,EAAK0/B,UAAUjb,UAAU,KAAGzkB,EAAK0/B,UAAUhb,YAAY,sBAQ1GrkB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SACpBoD,eAAC6wB,GAAqB,CAAAj0B,SAAA,CACpBiB,cAACoI,GAAc,CAAArJ,SAAC,qBAChBoD,eAAC8wB,GAAgB,CAAAl0B,SAAA,CACfoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,sBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCY,EAAKijB,YAAcjjB,EAAKijB,YAAc,wBAI7CzgB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,cAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCY,EAAK8+B,aAAasE,WAAapjC,EAAK8+B,aAAauE,cAChD7gC,eAAA,OAAKoB,MAAO,CAAEC,QAAS,OAAQqe,eAAgB,iBAAkB9iB,SAAA,CAC/DiB,cAAA,OAAKuD,MAAO,CAAE8W,SAAU,OAAQtb,SAACiB,cAACma,GAAW,CAACvf,QAAS+E,EAAK8+B,aAAasE,cACzE/iC,cAAA,QAAMuD,MAAO,CAAEuK,WAAY,UAAW/O,SAAC,UAAY,IAACiB,cAAA,OAAKuD,MAAO,CAAE8W,SAAU,OAAQtb,SAACiB,cAACma,GAAW,CAACvf,QAAS+E,EAAK8+B,aAAauE,cAAe38B,KAAK,YAEjJrG,cAAC6E,GAAQ,CAAA9F,SAAC,mBAKpBoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,uBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCgM,GAAcpL,EAAKqL,kBAI1B7I,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,eAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCY,EAAK8+B,aAAatZ,SACjBnlB,cAAC6E,GAAQ,CAAA9F,SAAEY,EAAK8+B,aAAatZ,WAC3BhjB,eAAA6L,WAAA,CAAAjP,SAAA,CAAEiB,cAAC6E,GAAQ,CAAA9F,SAAC,wBAA8B,KAAEiB,cAACsC,IAAI,CAACC,GAAE,qBAAA7H,OAAuBiF,EAAK/E,SAAUmE,SAAC,uBAAyB,yBAUtIiB,cAACkzB,GAAe,CAAAn0B,SACdiB,cAACa,EAAQ,CAAA9B,SAEPoD,eAACwY,GAAY,CAACxE,SAAWiF,GAAcC,EAAaD,GAClDJ,UAAWI,EACX/U,KAAK,OACL4U,QAAS,CAAC,eAAgB,eAAgB,OAAQ,QAAS,cAAe,gBAAgBlc,SAAA,CAE1FoD,eAACmR,GAAO,CAACQ,IAAI,eAAc/U,SAAA,CACzBiB,cAAC8d,GAAU,CAACrC,QAAS7gB,EAASyL,KAAK,cAAc7D,MAAM,iBACvDxC,cAAC46B,GAAwB,CAAChgC,QAASA,MAFL,WAIhCuH,eAACmR,GAAO,CAACQ,IAAI,gBAAe/U,SAAA,CAC1BiB,cAAC8d,GAAU,CAACrC,QAAS7gB,EAASyL,KAAK,aAAa7D,MAAM,kBACtDxC,cAACsiC,GAAW,MAFmB,gBAIjCngC,eAACmR,GAAO,CAACQ,IAAI,aAAY/U,SAAA,CACvBiB,cAAC8d,GAAU,CAACrC,QAAS7gB,EAASyL,KAAK,UAAU7D,MAAM,eACnDxC,cAACuiC,GAAY,MAFe,gBAI9BviC,cAACsT,GAAO,CAACQ,IACP3R,eAAA6L,WAAA,CAAAjP,SAAA,CAAEiB,cAACgG,GAAI,CAACzC,MAAO,CAACkJ,MAAO,UAAWwC,YAAa,OAAOlQ,SAAC,aAAeiB,cAAC8M,GAAW,CAACC,YAAiB,OAAJpN,QAAI,IAAJA,OAAI,EAAJA,EAAM0/B,UAAWryB,mBAAmC,QAAjB2wB,EAAAh+B,EAAK8+B,oBAAY,IAAAd,IAAjBA,EAAmBf,SAAwB3vB,YAAU,OACzLlO,SACEnE,GAAWoF,cAACw9B,GAAuB,CAAC79B,KAAMA,EAAM/E,QAASA,KADtD,QAGNoF,cAACsT,GAAO,CAACQ,IAAI,QAAO/U,SACjBnE,GAAWoF,cAAC86B,GAAiB,CAAClgC,QAASA,KADjB,SAGzBuH,eAACmR,GAAO,CAACQ,IAAI,UAAS/U,SAAA,CAClBiB,cAAC8d,GAAU,CAACrC,QAAS9b,EAAK/E,QAASyL,KAAK,cAAc7D,MAAM,YAC5DxC,cAACwiC,GAAW,MAFW,eAI3BxiC,cAACsT,GAAO,CAACQ,IAAI,gBAAe/U,SAC1BiB,cAACqgC,GAAiB,KADa,0BAvOzB,IA+OpB,CAEA,MAAMwC,GAAc9hC,IAAyB,IAAxB,UAAEo0B,GAAgBp0B,EACrC,OACEoB,eAAA6L,WAAA,CAAAjP,SAAA,CACEiB,cAACwf,GAAS,CAACjc,MAAO,CAAEkJ,MAAO,OAAQsT,UAAW,SAAUhS,SAAU,OAAQnK,aAAc,OAAQ7E,SAAA,IAAArE,OACzF8P,GAAa2qB,EAAW,GAAE,UAEjChzB,eAACqd,GAAS,CAACjc,MAAO,CAAEkJ,MAAO,OAAQsT,UAAW,SAAUhS,SAAU,OAAQnK,aAAc,OAAQ7E,SAAA,CAAC,yBAE/FiB,cAAA,KAAGuH,KAAK,+CAA+CjB,OAAO,QAAOvH,SAAC,mBAEvE,GC9PCygB,UAAU,IAAIvZ,MACdqN,QAAQ,IAAIC,KAEL,SAAS0vB,KAAsB,IAADC,EAAAC,EAAAC,EAAAC,EAC3C,MAAM5uB,EAAUC,eAETyX,EAAUC,GAAa9sB,oBAAS,IAChCgkC,EAAeC,GAAoBjkC,oBAAS,IAC5C8b,EAAWC,GAAgB/b,mBAAS,KAErC,QAAE1E,GAAYyxB,cACd9iB,EAAWP,KACX5N,EAAO4D,aAAaC,GAAqBA,EAAMC,QAAQ9D,OAEvDooC,EAAqBhkC,uBACxB0H,GAAgBotB,GAAqB,IAAKptB,EAAQtM,aACnD,CAACA,IAqBHmF,qBAAU,KAlBkBzF,WAC1B,IAAImpC,EAAe7oC,EACnB,GAAK6oC,EAAL,CACA,IACiC,IAADC,EAAAC,EAAAC,EAA9B,IAAK93B,GAAU23B,KACbF,GAAiB,GACjBE,EAAkE,QAAtDC,SAAUhyB,GAAsB9W,IAAoB,UAAE,IAAA8oC,OAAA,EAAnDA,EAAqD9oC,QACpE6oC,EAA2B,QAAfE,EAAGF,SAAY,IAAAE,IAA+C,QAA/CC,SAAW9xB,GAAclX,IAAoB,UAAE,IAAAgpC,OAAA,EAA3CA,EAA6ChpC,QACxE6oC,GAEF,YADAhvB,EAAQuB,KAAK,YAAcytB,EAIjC,CAAE,MAAO7jC,GAAS,CAClB2J,EAASwqB,GAAkB0P,IAC3BF,GAAiB,EAbQ,CAaF,EAIvBM,EAAqB,GACpB,CAACjpC,EAAS2O,IAEbxJ,qBAAU,IACD,KACLwJ,EAAS0rB,KAAqB,GAE/B,IAEH,MAAM,KAAEt1B,EAAI,QAAEwY,EAAO,2BAAE0c,EAA0B,aAAElU,GAAiBzX,IAAgBjK,GAAUA,EAAgB,SAAW,UAEzH,GAAgB,YAAZkZ,GAAyBmrB,EAAe,OAAOtjC,cAAC0W,GAAe,IACnE,GAAgB,WAAZyB,EAAsB,OAAOnY,cAACusB,IAAQ,CAAChqB,GAAE,aAAA7H,OAAeE,KAC5D,IAAK+E,EAAM,OAAO,KAElB,GAAIA,EAAKmkC,UAAYnkC,EAAK+N,WAAY,OAAO1N,cAACusB,IAAQ,CAAChqB,GAAE,UAAA7H,OAAYiF,EAAK/E,WAC1E,GAAI+E,EAAK+N,WAAY,OAAO1N,cAAC0iC,GAAmB,CAAC/iC,KAAMA,IAEvD,MAAM+gC,EAAe/gC,EAAKu1B,UAAYL,EAA2BD,SACjE,OACEzyB,eAAC8uB,GAAW,CAAAlyB,SAAA,CACTnE,GACCoF,cAAC8sB,IAAM,CAAA/tB,SACLiB,cAAA,SAAAjB,SAAA,WAAArE,OAAmBE,OAGvBoF,cAACiO,GAAU,CAACzL,MAAM,YAClBL,eAACszB,GAAU,CAAA12B,SAAA,CACTiB,cAACihC,GAAS,CAAC19B,MAAO,CAAE0L,YAAa,OAAQmF,UAAW,cAAerV,SAAEY,EAAOA,EAAK/E,QAAU,KAC3FoF,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO2pB,EAAW,SAAW,4BAA4BptB,SAChFiB,cAAC+sB,mBAAe,CACd1xB,KAAMsE,EAAOA,EAAK/E,QAAU,GAC5BoyB,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAChnB,MAAO,CAAE0L,YAAa,QAASlQ,SAC5CiB,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,sBAIjDjD,cAAC6N,KAAO,CACNe,UAAU,SACVnC,MAAM,UACNjK,MACExC,cAAC01B,GAAM,CAAA32B,SACLiB,cAAC2iC,UAAM,CACLt0B,MAAM,IACN9K,MAAO,CAAE6D,MAAO,KAChBlH,MAAOP,EAAOA,EAAK/E,QAAU,OAGlCmE,SAEDiB,cAACuE,GAAY,CAACgS,KAAMvW,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAM8/B,GAAa3/B,IAAI,yBAIpErI,GAAW8K,GAAkB9K,IAC5BoF,cAAA,OAAAjB,SACEoD,eAACqd,GAAS,CAACjc,MAAO,CAAEkJ,MAAOtR,EAAOC,GAAM0C,SAAU8F,aAAc,QAAS7E,SAAA,CAC5C,QAD4CmkC,EACtEx9B,GAAkB9K,UAAQ,IAAAsoC,OAAA,EAA1BA,EAA4B7nC,KAC7B2E,cAAA,KAAGuD,MAAO,CAAEI,WAAY,MAAOsL,YAAa,OAAS3I,OAAO,SAASwY,IAAI,aAAavX,KAAgC,QAA5B47B,EAAEz9B,GAAkB9K,UAAQ,IAAAuoC,OAAA,EAA1BA,EAA4Bx9B,KAAK5G,SAAE,gBAG/HiB,cAAA,OAAAjB,SAAK,gEACJma,MAAMC,QAAkC,QAA3BiqB,EAAC19B,GAAkB9K,UAAQ,IAAAwoC,OAAA,EAA1BA,EAA4Bx9B,KACf,QADmBy9B,EAC7C39B,GAAkB9K,UAAQ,IAAAyoC,OAAA,EAA1BA,EAA4Bz9B,IAAIkT,KAAI,CAACgS,EAAWC,IAC9C/qB,cAACyP,GAAiB,CAAA1Q,SAAU+rB,GAAJC,KAExB,QAMV5oB,eAAA,OAAApD,SAAA,CACEoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAIzN,UAAU,QAAO3B,SACtCoD,eAAC6wB,GAAqB,CAAAj0B,SAAA,CACpBiB,cAACoI,GAAc,CAAArJ,SAAC,aAChBoD,eAAC8wB,GAAgB,CAAAl0B,SAAA,CACfoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,oBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CAAC,IACnCyL,GAAak2B,EAAc,WAInCv+B,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,kBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCoD,eAACiE,KAAK,CAAArH,SAAA,CACHyL,GAAaJ,GAAOzK,EAAKulB,QAAS,IAAK,GAAG,QAAK/iB,eAAC8+B,GAAS,CAAAliC,SAAA,CAAC,IAAC,IAAArE,OAAK8P,GAAa7K,EAAKu1B,UAAW,IAAK,OACnGl1B,cAAC6N,KAAO,CAACrL,MAAOA,IAAMxC,cAAC6iC,GAAW,CAAC1N,UAAWx1B,EAAKw1B,YAAcp2B,SAACiB,cAAC8iC,KAAsB,gBAKjG3gC,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,8BAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCiB,cAACmhC,GAAgB,CAACC,SAAUA,IAAM/lB,EAAa,iCAO3Drb,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SACpBoD,eAAC6wB,GAAqB,CAAAj0B,SAAA,CACpBiB,cAACoI,GAAc,CAAArJ,SAAC,qBAChBoD,eAAC8wB,GAAgB,CAAAl0B,SAAA,CACfoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,sBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCY,EAAKijB,YAAcjjB,EAAKijB,YAAc,wBAI7CzgB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,wBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CACnC4hB,EAAeA,EAAajN,MAAQ,EAAE,eAI7CvR,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,uBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCgM,GAAcpL,EAAKqL,6BASlChL,cAACkzB,GAAe,CAAAn0B,SACdiB,cAACa,EAAQ,CAAA9B,SAEPoD,eAACwY,GAAY,CAACxE,SAAWiF,GAAcC,EAAaD,GAAY/U,KAAK,OAAO2U,UAAWI,EAAWH,QAAS,CAAC,eAAgB,eAAgB,cAAe,gBAAgBlc,SAAA,CACzKoD,eAACmR,GAAO,CAACQ,IAAI,eAAc/U,SAAA,CACzBiB,cAAC8d,GAAU,CAACrC,QAAS9b,EAAK/E,QAASyL,KAAK,cAAc7D,MAAM,iBAC5DxC,cAAC2pB,GAAS,CACRxR,QAASwI,EAAaxI,QACtBzE,MAAOiN,EAAajN,MACpBwE,QAASqM,GACTtQ,WAAY0M,EAAahhB,KACzB2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOiN,EAAajN,MAAOrN,KAAK,OACxD+R,QAASorB,MARmB,WAWhCrhC,eAACmR,GAAO,CAACQ,IAAI,gBAAe/U,SAAA,CAC1BiB,cAAC8d,GAAU,CAACrC,QAAS9b,EAAK/E,QAASyL,KAAK,aAAa7D,MAAM,kBAC3DxC,cAAC+jC,GAAY,MAFkB,gBAIjC5hC,eAACmR,GAAO,CAACQ,IAAI,aAAY/U,SAAA,CACvBiB,cAAC8d,GAAU,CAACrC,QAAS9b,EAAK/E,QAASyL,KAAK,UAAU7D,MAAM,eACxDxC,cAACuiC,GAAY,MAFe,gBAI9BpgC,eAACmR,GAAO,CAACQ,IAAI,UAAS/U,SAAA,CACpBiB,cAAC8d,GAAU,CAACrC,QAAS9b,EAAK/E,QAASyL,KAAK,cAAc7D,MAAM,YAC5DxC,cAACwiC,GAAW,MAFa,eAI3BxiC,cAACsT,GAAO,CAACQ,IAAI,gBAAe/U,SAC1BiB,cAACqgC,GAAiB,KADa,4BAS/C,CACA,MAAMwC,GAAc/jC,IAAyB,IAAxB,UAAEq2B,GAAgBr2B,EACrC,OACEqD,eAAA6L,WAAA,CAAAjP,SAAA,CACEiB,cAACwf,GAAS,CAACjc,MAAO,CAAEkJ,MAAO,OAAQsT,UAAW,SAAUhS,SAAU,OAAQnK,aAAc,OAAQ7E,SAAA,IAAArE,OACzF8P,GAAa2qB,EAAW,GAAE,UAEjChzB,eAACqd,GAAS,CAACjc,MAAO,CAAEkJ,MAAO,OAAQsT,UAAW,SAAUhS,SAAU,OAAQnK,aAAc,OAAQ7E,SAAA,CAAC,yBAE/FiB,cAAA,KAAGuH,KAAK,+CAA+CjB,OAAO,QAAOvH,SAAC,mBAEvE,EC9SMilC,GAAoB3e,aAC/B,iCACA/qB,MAAO4M,EAAyCoe,KAC9C,IACE,MAAM,OAAExqB,EAAM,MAAEI,GAAUgM,EAEpBzH,Q7FsFLnF,iBAAoF,IAAjDQ,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC5D,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,wBAAAgB,OAAuBI,EAAM,WAAAJ,OAAUQ,GACtF,C6FxF6B+oC,CAAoBnpC,EAAQI,GAEnD,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAaEukC,GAAmBze,aAAY,CACnCngB,KAAM,cACNogB,aAVmB,CACnB8B,KAAM,CACJ7nB,KAAM,GACNwY,QAAS,OACTzE,MAAO,OAOTkS,SAAU,CAERue,oBAAoBllC,GAClBA,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAKrP,QAAU,OACrBlZ,EAAMuoB,KAAK9T,MAAQ,IACrB,GAEFuS,cAAgBC,IAEdA,EAAQC,QAAQ6d,GAAkBrmC,SAAUsB,IAC1CA,EAAMuoB,KAAKrP,QAAU,SAAS,IAGhC+N,EAAQC,QAAQ6d,GAAkB5d,WAAW,CAACnnB,EAAO6mB,KACnD,MAAMnmB,EAAOmmB,EAAOC,QAAQqe,WAAWtrB,KAAI,CAAC3E,EAAW4E,KACrD5E,EAAK6E,KAAOD,EAAQ,EACb5E,KAGTlV,EAAMuoB,KAAKrP,QAAU,YACrBlZ,EAAMuoB,KAAK7nB,KAAOA,EAClBV,EAAMuoB,KAAK9T,MAAQ/T,EAAK3E,MAAM,IAGhCkrB,EAAQC,QAAQ6d,GAAkBxd,UAAWvnB,IAC3CA,EAAMuoB,KAAKrP,QAAU,SACrBlZ,EAAMuoB,KAAK7nB,KAAO,GAClBV,EAAMuoB,KAAK9T,MAAQ,IAAI,GACvB,KAIO,oBAAEywB,IAAwBD,GAAiBzd,QACzCyd,UAAwB,QCjExB,SAASnR,KACtB,MAAMxpB,EAAWP,MACX,KAAErJ,EAAI,QAAEwY,EAAO,MAAEzE,GAAUxK,IAAgBjK,GAAUA,EAAmB,YAAQ,OAStF,OANAc,qBAAU,IACD,KACLwJ,EAAS46B,KAAsB,GAEhC,IAGDhiC,eAAA,OAAApD,SAAA,CACEiB,cAACiO,GAAU,CAACzL,MAAM,gBAElBxC,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAAS0L,GACT3P,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,eAC3CgS,gBAAgB,EAChBD,QAAS4rB,OAIjB,CC1Be,SAASpT,KACtB,MAAMrnB,EAAWP,MACX,KAAErJ,EAAI,QAAEwY,EAAO,MAAEzE,GAAUxK,IAAgBjK,GAAUA,EAAiB,UAAQ,OAQpF,OANAc,qBAAU,IACD,KACLwJ,EAASmxB,KAAoB,GAE9B,IAGDv4B,eAAA,OAAApD,SAAA,CACEiB,cAACiO,GAAU,CAACzL,MAAM,uBAElBxC,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAAS+M,GACThR,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,aAC3C+R,QAAS0hB,OAIjB,CCVO,MAAMuK,GAAqBhf,aAChC,6BACA/qB,MAAO4M,EAA2Coe,KAChD,IACE,MAAM,OAAExqB,EAAM,MAAEI,GAAUgM,EAEpBzH,QhGsBLnF,iBAAqF,IAAjDQ,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC7D,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,uBAAAgB,OAAsBI,EAAM,WAAAJ,OAAUQ,GACrF,CgGxB6BopC,CAAqBxpC,EAAQI,GAEpD,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAKS4kC,GAAqBlf,aAChC,6BACA/qB,MAAO4M,EAA2Coe,KAChD,IACE,MAAM,OAAExqB,EAAM,MAAEI,GAAUgM,EAEpBzH,QhGQLnF,iBAAqF,IAAjDQ,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC7D,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,2BAAAgB,OAA0BI,EAAM,WAAAJ,OAAUQ,GACzF,CgGV6BspC,CAAqB1pC,EAAQI,GAEpD,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAKS8kC,GAAuBpf,aAClC,+BACA/qB,MAAO4M,EAA4Doe,KACjE,IACE,MAAM,QAAE1qB,EAAO,OAAEE,EAAM,MAAEI,GAAUgM,EAE7BzH,QhGNLnF,eAAsCM,GAAkE,IAAjDE,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAChF,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,iBAAAgB,OAAgBE,EAAO,YAAAF,OAAWI,EAAM,WAAAJ,OAAUQ,GACjG,CgGI6BwpC,CAAuB9pC,EAASE,EAAQI,GAE/D,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAKSglC,GAAsBtf,aACjC,8BACA/qB,MAAO4M,EAA4Doe,KACjE,IACE,MAAM,QAAE1qB,EAAO,OAAEE,EAAM,MAAEI,GAAUgM,EAE7BzH,QhGpBLnF,eAAqCM,GAAkE,IAAjDE,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC/E,aAAaP,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,qBAAAgB,OAAoBE,EAAO,YAAAF,OAAWI,EAAM,WAAAJ,OAAUQ,GACrG,CgGkB6B0pC,CAAsBhqC,EAASE,EAAQI,GAE9D,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAKSklC,GAAyBxf,aACpC,iCACA/qB,MAAO4M,EAAwGoe,KAC7G,IACE,MAAM,aAAE3G,EAAY,aAAEmmB,EAAY,QAAE1hB,EAAO,OAAEtoB,EAAM,MAAEI,GAAUgM,EAEzDzH,QhGmELnF,eAAwCqkB,EAAsBmmB,EAAsB1hB,GAAkE,IAAjDtoB,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC1HgqC,EAAK,gBAAArqC,OAAmBikB,EAAY,YAAAjkB,OAAWI,EAAM,WAAAJ,OAAUQ,GAcnE,OAZI4pC,IAAiB1hB,IACnB2hB,EAAK,gBAAArqC,OAAmBikB,EAAY,aAAAjkB,OAAYoqC,EAAY,YAAApqC,OAAWI,EAAM,WAAAJ,OAAUQ,KAGpF4pC,GAAgB1hB,IACnB2hB,EAAK,gBAAArqC,OAAmBikB,EAAY,aAAAjkB,OAAY0oB,EAAO,YAAA1oB,OAAWI,EAAM,WAAAJ,OAAUQ,IAGhF4pC,GAAgB1hB,IAClB2hB,EAAK,gBAAArqC,OAAmBikB,EAAY,aAAAjkB,OAAYoqC,EAAY,aAAApqC,OAAY0oB,EAAO,YAAA1oB,OAAWI,EAAM,WAAAJ,OAAUQ,UAG/FV,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,mBAAAgB,OAAkBqqC,GACjE,CgGnF6BC,CAAyBrmB,EAAcmmB,EAAc1hB,EAAStoB,EAAQI,GAE7F,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAKSslC,GAAyB5f,aACpC,iCACA/qB,MAAO4M,EAAyFoe,KAC9F,IACE,MAAM,QAAE1qB,EAAO,QAAE6gB,EAAO,OAAE3gB,EAAM,MAAEI,GAAUgM,EACtCzH,QhGpDLnF,eAAwCM,EAAiB6gB,GAA8E,IAAjD3gB,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GAC3GgqC,EAAK,gBAAArqC,OAAmBE,EAAO,YAAAF,OAAWI,EAAM,WAAAJ,OAAUQ,GAI9D,OAHIugB,IACFspB,EAAK,gBAAArqC,OAAmBE,EAAO,aAAAF,OAAY+gB,EAAO,YAAA/gB,OAAWI,EAAM,WAAAJ,OAAUQ,UAElEV,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,kBAAAgB,OAAiBqqC,GAChE,CgG8C6BG,CAAyBtqC,EAAS6gB,EAAS3gB,EAAQI,GAE1E,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAKSwlC,GAAwB9f,aACnC,gCACA/qB,MAAO4M,EAAgIoe,KACrI,IACE,MAAM,aAAE3G,EAAY,aAAEmmB,EAAY,QAAE1hB,EAAO,OAAEtoB,EAAM,MAAEI,GAAUgM,EAEzDzH,QhG9DLnF,eAAuCqkB,EAAsBmmB,EAAkC1hB,GAA8E,IAAjDtoB,EAAMC,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,EAAGG,EAAKH,UAAAC,OAAA,QAAAC,IAAAF,UAAA,GAAAA,UAAA,GAAG,GACjJgqC,EAAK,gBAAArqC,OAAmBikB,EAAY,YAAAjkB,OAAWI,EAAM,WAAAJ,OAAUQ,GAcnE,OAZI4pC,IAAiB1hB,IACnB2hB,EAAK,gBAAArqC,OAAmBikB,EAAY,aAAAjkB,OAAYoqC,EAAY,YAAApqC,OAAWI,EAAM,WAAAJ,OAAUQ,KAGpF4pC,GAAgB1hB,IACnB2hB,EAAK,gBAAArqC,OAAmBikB,EAAY,aAAAjkB,OAAY0oB,EAAO,YAAA1oB,OAAWI,EAAM,WAAAJ,OAAUQ,IAGhF4pC,GAAgB1hB,IAClB2hB,EAAK,gBAAArqC,OAAmBikB,EAAY,aAAAjkB,OAAYoqC,EAAY,aAAApqC,OAAY0oB,EAAO,YAAA1oB,OAAWI,EAAM,WAAAJ,OAAUQ,UAG/FV,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,sBAAAgB,OAAqBqqC,GACpE,CgG8C6BK,CAAwBzmB,EAAcmmB,EAAc1hB,EAAStoB,EAAQI,GAE5F,OADAoqB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAKS0lC,GAA2BhgB,aACtC,mCACA/qB,MAAOM,EAAiB0qB,KACtB,IACE,MAAM7lB,QhG7DLnF,eAA0CM,GAC/C,aAAaJ,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,WAAAgB,OAAUE,GACzD,CgG2D6B0qC,CAA2B1qC,GAElD,OADA0qB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAIS4lC,GAA2BlgB,aACtC,mCACA/qB,MAAO4M,EAAwCoe,KAC7C,IACE,MAAM,MAAExB,EAAK,QAAClpB,GAAasM,EACrBzH,QhGcLnF,eAA0CwpB,EAAclpB,GAE7D,aAAaJ,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,aAAAgB,OAAYopB,EAAK,iCAAAppB,OAAgCE,GAChG,CgGjB6B4qC,CAA2B1hB,EAAMlpB,GAExD,OADA0qB,EAAS/b,SAAS7K,IAAa,IACxBe,EAASE,IAClB,CAAE,MAAOC,GAIP,OAHIA,GAASA,EAAMH,UAAsC,MAA1BG,EAAMH,SAASkT,QAC5C2S,EAAS/b,SAAS7K,IAAa,IAE1B4mB,EAASC,gBAAgB3lB,EAAMH,SAASE,KACjD,KAKE+lB,GAAe,CACnB8B,KAAM,CACJie,QAAS,CACP9lC,KAAM,GACNwY,QAAS,OACTzE,MAAO,MAETgyB,OAAQ,CACN/lC,KAAM,GACNwY,QAAS,OACTzE,MAAO,OAGXlK,QAAS,CACP7J,KAAM,KACNwY,QAAS,OACTwtB,QAAS,CACPF,QAAS,CACP9lC,KAAM,GACNwY,QAAS,OACTzE,MAAO,MAETgyB,OAAQ,CACN/lC,KAAM,GACNwY,QAAS,OACTzE,MAAO,OAGXkyB,UAAW,CACTH,QAAS,CACP9lC,KAAM,GACNwY,QAAS,OACTzE,MAAO,MAETgyB,OAAQ,CACN/lC,KAAM,GACNwY,QAAS,OACTzE,MAAO,OAGXmyB,UAAW,CACTlmC,KAAM,GACNwY,QAAS,OACTzE,MAAO,GAEToyB,sBAAuB,CACrB3tB,QAAS,OACTxY,KAAM,CACJomC,OAAO,EACPxgC,OAAQ,GACRC,SAAU,KACV0f,QAAS,KACTpD,MAAO,SAMTkkB,GAAcvgB,aAAY,CAC9BngB,KAAM,SACNogB,aAAY,GACZE,SAAU,CAERqgB,iBAAiBhnC,GACfA,EAAMuoB,KAAKie,QAAU,IAAK/f,GAAa8B,KAAKie,QAC9C,EAEAS,gBAAgBjnC,GACdA,EAAMuoB,KAAKke,OAAS,IAAKhgB,GAAa8B,KAAKke,OAC7C,GAEFzf,cAAgBC,IAEdA,EAAQC,QAAQke,GAAmB1mC,SAAS,CAACsB,EAAO6mB,KAClD7mB,EAAMuoB,KAAKie,QAAQttB,QAAU,SAAS,IAGxC+N,EAAQC,QAAQke,GAAmBje,WAAW,CAACnnB,EAAO6mB,KACpD7mB,EAAMuoB,KAAKie,QAAQttB,QAAU,YAC7BlZ,EAAMuoB,KAAKie,QAAQ9lC,KAAOmmB,EAAOC,QAAQpmB,KACzCV,EAAMuoB,KAAKie,QAAQ/xB,MAAQoS,EAAOC,QAAQrS,KAAK,IAGjDwS,EAAQC,QAAQke,GAAmB7d,UAAU,CAACvnB,EAAO6mB,KACnD7mB,EAAMuoB,KAAKie,QAAQttB,QAAU,SAC7BlZ,EAAMuoB,KAAKie,QAAQ9lC,KAAO,GAC1BV,EAAMuoB,KAAKie,QAAQ/xB,MAAQ,IAAI,IAIjCwS,EAAQC,QAAQoe,GAAmB5mC,SAAS,CAACsB,EAAO6mB,KAClD7mB,EAAMuoB,KAAKke,OAAOvtB,QAAU,SAAS,IAGvC+N,EAAQC,QAAQoe,GAAmBne,WAAW,CAACnnB,EAAO6mB,KACpD7mB,EAAMuoB,KAAKke,OAAOvtB,QAAU,YAC5BlZ,EAAMuoB,KAAKke,OAAO/lC,KAAOmmB,EAAOC,QAAQpmB,KACxCV,EAAMuoB,KAAKke,OAAOhyB,MAAQoS,EAAOC,QAAQrS,KAAK,IAGhDwS,EAAQC,QAAQoe,GAAmB/d,UAAU,CAACvnB,EAAO6mB,KACnD7mB,EAAMuoB,KAAKke,OAAOvtB,QAAU,SAC5BlZ,EAAMuoB,KAAKke,OAAO/lC,KAAO,GACzBV,EAAMuoB,KAAKke,OAAOhyB,MAAQ,IAAI,IAIhCwS,EAAQC,QAAQse,GAAqB9mC,SAAS,CAACsB,EAAO6mB,KACpD7mB,EAAMuK,QAAQm8B,QAAQF,QAAQttB,QAAU,SAAS,IAGnD+N,EAAQC,QAAQse,GAAqBre,WAAW,CAACnnB,EAAO6mB,KACtD7mB,EAAMuK,QAAQm8B,QAAQF,QAAQttB,QAAU,YACxClZ,EAAMuK,QAAQm8B,QAAQF,QAAQ9lC,KAAOmmB,EAAOC,QAAQpmB,KACpDV,EAAMuK,QAAQm8B,QAAQF,QAAQ/xB,MAAQoS,EAAOC,QAAQrS,KAAK,IAG5DwS,EAAQC,QAAQse,GAAqBje,UAAU,CAACvnB,EAAO6mB,KACrD7mB,EAAMuK,QAAQm8B,QAAQF,QAAQttB,QAAU,SACxClZ,EAAMuK,QAAQm8B,QAAQF,QAAQ9lC,KAAO,GACrCV,EAAMuK,QAAQm8B,QAAQF,QAAQ/xB,MAAQ,IAAI,IAI5CwS,EAAQC,QAAQwe,GAAoBhnC,SAAS,CAACsB,EAAO6mB,KACnD7mB,EAAMuK,QAAQm8B,QAAQD,OAAOvtB,QAAU,SAAS,IAGlD+N,EAAQC,QAAQwe,GAAoBve,WAAW,CAACnnB,EAAO6mB,KACrD7mB,EAAMuK,QAAQm8B,QAAQD,OAAOvtB,QAAU,YACvClZ,EAAMuK,QAAQm8B,QAAQD,OAAO/lC,KAAOmmB,EAAOC,QAAQpmB,KACnDV,EAAMuK,QAAQm8B,QAAQD,OAAOhyB,MAAQoS,EAAOC,QAAQrS,KAAK,IAG3DwS,EAAQC,QAAQwe,GAAoBne,UAAU,CAACvnB,EAAO6mB,KACpD7mB,EAAMuK,QAAQm8B,QAAQD,OAAOvtB,QAAU,SACvClZ,EAAMuK,QAAQm8B,QAAQD,OAAO/lC,KAAO,GACpCV,EAAMuK,QAAQm8B,QAAQD,OAAOhyB,MAAQ,IAAI,IAI3CwS,EAAQC,QAAQ0e,GAAuBlnC,SAAS,CAACsB,EAAO6mB,KACtD7mB,EAAMuK,QAAQq8B,UAAU1tB,QAAU,SAAS,IAG7C+N,EAAQC,QAAQ0e,GAAuBze,WAAW,CAACnnB,EAAO6mB,KACxD7mB,EAAMuK,QAAQq8B,UAAU1tB,QAAU,YAClClZ,EAAMuK,QAAQq8B,UAAUlmC,KAAOmmB,EAAOC,QAAQpmB,KAC9CV,EAAMuK,QAAQq8B,UAAUnyB,MAAQoS,EAAOC,QAAQrS,KAAK,IAGtDwS,EAAQC,QAAQ0e,GAAuBre,UAAU,CAACvnB,EAAO6mB,KACvD7mB,EAAMuK,QAAQq8B,UAAU1tB,QAAU,SAClClZ,EAAMuK,QAAQq8B,UAAUlmC,KAAO,GAC/BV,EAAMuK,QAAQq8B,UAAUnyB,MAAQ,CAAC,IAInCwS,EAAQC,QAAQ8e,GAAuBtnC,SAAS,CAACsB,EAAO6mB,KACtD7mB,EAAMuK,QAAQo8B,UAAUH,QAAQttB,QAAU,SAAS,IAGrD+N,EAAQC,QAAQ8e,GAAuB7e,WAAW,CAACnnB,EAAO6mB,KACxD7mB,EAAMuK,QAAQo8B,UAAUH,QAAQttB,QAAU,YAC1ClZ,EAAMuK,QAAQo8B,UAAUH,QAAQ9lC,KAAOmmB,EAAOC,QAAQpmB,KACtDV,EAAMuK,QAAQo8B,UAAUH,QAAQ/xB,MAAQoS,EAAOC,QAAQrS,KAAK,IAG9DwS,EAAQC,QAAQ8e,GAAuBze,UAAU,CAACvnB,EAAO6mB,KACvD7mB,EAAMuK,QAAQo8B,UAAUH,QAAQttB,QAAU,SAC1ClZ,EAAMuK,QAAQo8B,UAAUH,QAAQ9lC,KAAO,GACvCV,EAAMuK,QAAQo8B,UAAUH,QAAQ/xB,MAAQ,IAAI,IAI9CwS,EAAQC,QAAQgf,GAAsBxnC,SAAS,CAACsB,EAAO6mB,KACrD7mB,EAAMuK,QAAQo8B,UAAUF,OAAOvtB,QAAU,SAAS,IAGpD+N,EAAQC,QAAQgf,GAAsB/e,WAAW,CAACnnB,EAAO6mB,KACvD7mB,EAAMuK,QAAQo8B,UAAUF,OAAOvtB,QAAU,YACzClZ,EAAMuK,QAAQo8B,UAAUF,OAAO/lC,KAAOmmB,EAAOC,QAAQpmB,KACrDV,EAAMuK,QAAQo8B,UAAUF,OAAOhyB,MAAQoS,EAAOC,QAAQrS,KAAK,IAG7DwS,EAAQC,QAAQgf,GAAsB3e,UAAU,CAACvnB,EAAO6mB,KACtD7mB,EAAMuK,QAAQo8B,UAAUF,OAAOvtB,QAAU,SACzClZ,EAAMuK,QAAQo8B,UAAUF,OAAO/lC,KAAO,GACtCV,EAAMuK,QAAQo8B,UAAUF,OAAOhyB,MAAQ,IAAI,IAI7CwS,EAAQC,QAAQkf,GAAyB1nC,SAAS,CAACsB,EAAO6mB,KACxD7mB,EAAMuK,QAAQ2O,QAAU,UACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAI,IAE3BumB,EAAQC,QAAQkf,GAAyBjf,WAAW,CAACnnB,EAAO6mB,KAC1D,MAAM,MAAEhE,EAAK,kBAAEQ,GAAsBwD,EAAOC,QACtCogB,EAAyBrkB,GAASQ,EAAqB,IAAIhY,KAAUwX,GAAO2K,MAAMnK,GAAmB/X,WAAa,GAExHtL,EAAMuK,QAAQ2O,QAAU,YACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAKmmB,EAAOC,QAASogB,wBAAuB,IAEnEjgB,EAAQC,QAAQkf,GAAyB7e,UAAU,CAACvnB,EAAO6mB,KACzD7mB,EAAMuK,QAAQ2O,QAAU,SACxBlZ,EAAMuK,QAAQ7J,KAAO,IAAI,IAG3BumB,EAAQC,QAAQof,GAAyB5nC,SAAS,CAACsB,EAAO6mB,KACxD7mB,EAAMuK,QAAQs8B,sBAAsB3tB,QAAU,SAAS,IAEzD+N,EAAQC,QAAQof,GAAyBnf,WAAW,CAACnnB,EAAO6mB,KAC1D7mB,EAAMuK,QAAQs8B,sBAAsBnmC,KAAOmmB,EAAOC,QAClD9mB,EAAMuK,QAAQs8B,sBAAsB3tB,QAAU,WAAW,IAE3D+N,EAAQC,QAAQof,GAAyB/e,UAAU,CAACvnB,EAAO6mB,KACzD7mB,EAAMuK,QAAQs8B,sBAAsB3tB,QAAU,QAAQ,GACtD,KAIO,iBAAE8tB,GAAgB,gBAAEC,IAAoBF,GAAYvf,QAClDuf,I,sDAAAA,MAAmB,QClZnB,SAASI,KACtB,MAAM78B,EAAWP,MACX,KAAErJ,EAAI,QAAEwY,EAAO,MAAEzE,GAAUxK,IAAgBjK,GAAUA,EAAc,OAAQ,KAAW,UAS5F,OANAc,qBAAU,IACD,KACLwJ,EAAS08B,KAAmB,GAE7B,IAGD9jC,eAAA,OAAApD,SAAA,CACEiB,cAACiO,GAAU,CAACzL,MAAM,WAElBxC,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAASyJ,GACT1N,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,UAC3C+R,QAASisB,OAIjB,CC5BO,MAAMpT,GAAc3wB,IAAOC,IAAGI,QAAAC,YAAA,6MAaxBoyB,GAAwB1yB,IAAOC,IAAGO,QAAAF,YAAA,+KACvB9B,IAAA,IAAC,MAAEK,GAAOL,EAAA,OAAKK,EAAM1D,GAAG,IAQnCw3B,GAAmB3yB,IAAOC,IAAGkB,QAAAb,YAAA,UAE7BipB,GAAcvpB,IAAOC,IAAGqB,QAAAhB,YAAA,oNAItBG,IAAA,IAAC,MAAE5B,GAAO4B,EAAA,OAAK5B,EAAM7D,WAAW,IAGhC0F,IAAA,IAAC,MAAE7B,GAAO6B,EAAA,OAAK7B,EAAM9D,IAAI,IAM3B63B,GAAkB5yB,IAAOC,IAAGuB,QAAAlB,YAAA,0DAI5BwH,GAAiB9H,IAAOC,IAAGyB,QAAApB,YAAA,iKAKTK,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM7C,MAAM,IAC7C4E,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM9D,IAAI,IAWzBo6B,IATen1B,IAAOC,IAAG0H,QAAArH,YAAA,gIAC3BO,IAAA,IAAC,MAAEhC,GAAOgC,EAAA,OAAKhC,EAAM7D,WAAW,IAE9B8F,IAAA,IAAC,MAAEjC,GAAOiC,EAAA,OAAKjC,EAAM9D,IAAI,IAEvBoJ,IAAA,IAAC,MAAEtF,GAAOsF,EAAA,OAAKtF,EAAM7D,WAAW,IAIrBgF,IAAOC,IAAG4H,QAAAvH,YAAA,+BAGvB2pB,GAAgBjqB,IAAOC,IAAG8H,QAAAzH,YAAA,4ZAI1B8D,IAAA,IAAC,MAAEvF,GAAOuF,EAAA,OAAKvF,EAAM7D,WAAW,IASjBqJ,IAAA,IAAC,MAAExF,GAAOwF,EAAA,OAAKxF,EAAMvD,OAAO,IAU3C85B,GAASp1B,IAAOC,IAAGiI,QAAA5H,YAAA,gFAuBnBylC,IAlBe/lC,YAAOkE,KAAPlE,CAAcoI,QAAA9H,YAAA,0SAI7BgE,IAAA,IAAC,MAAEzF,GAAOyF,EAAA,OAAKzF,EAAM7D,WAAW,IAOrByJ,IAAA,IAAC,MAAE5F,GAAO4F,EAAA,OAAK5F,EAAM5D,EAAE,IAGvBoN,IAAA,IAAC,MAAExJ,GAAOwJ,EAAA,OAAKxJ,EAAMvD,OAAO,IAIzB0E,IAAOC,IAAGwI,QAAAnI,YAAA,8CAE1BgI,IAAA,IAAC,MAAEzJ,GAAOyJ,EAAA,OAAKzJ,EAAM9D,IAAI,KAGvBirC,GAAahmC,IAAOwE,KAAI8L,QAAAhQ,YAAA,yBAC1BiI,IAAA,IAAC,MAAE1J,GAAO0J,EAAA,OAAK1J,EAAM7D,WAAW,IAE9BuJ,GAAWvE,IAAOwE,KAAIgM,QAAAlQ,YAAA,yBACxB4O,IAAA,IAAC,MAAErQ,GAAOqQ,EAAA,OAAKrQ,EAAM9D,IAAI,IAGvBkrC,GAAkBjmC,IAAOC,IAAGwQ,QAAAnQ,YAAA,mMAEd8O,IAAA,IAAC,MAACvQ,GAAMuQ,EAAA,OAAIvQ,EAAM7C,MAAM,IAQtCo0B,GAAiBpwB,IAAOC,IAAG0Q,QAAArQ,YAAA,iMAW3BsP,GAAc5P,YAAO0P,KAAP1P,CAAa6Q,QAAAvQ,YAAA,2QAElB+O,IAAA,IAAC,MAACxQ,GAAMwQ,EAAA,OAAIxQ,EAAM3D,GAAG,IAErB41B,IAAA,IAAC,MAACjyB,GAAMiyB,EAAA,OAAGjyB,EAAM7C,MAAM,IASrBs5B,IAAA,IAAC,MAACz2B,GAAMy2B,EAAA,OAAIz2B,EAAM3D,GAAG,IAGjB8E,YAAO0P,KAAP1P,CAAa81B,QAAAx1B,YAAA,6JAGnBi1B,IAAA,IAAC,MAAC12B,GAAM02B,EAAA,OAAI12B,EAAM3C,OAAO,IC1IhC,SAASgqC,GAAsB1nC,GAA8D,IAA7D,MAAE0P,EAAK,MAAEsT,EAAK,YAAE2kB,GAA0C3nC,EACvG,MAAM,QAAE6mC,GAAYz8B,IAAgBjK,GAAUA,EAAM0U,OAAOnK,UAErD4O,EAAU5Y,uBACb0H,IAAgBw/B,OAZUrgC,EAYYmI,EAAMnI,KAX3CR,GAAyBwM,SAAShM,GAC7Bs+B,GAGFF,IAO8C,IAAKv9B,EAAQtM,QAAS4T,EAAM5T,UAZnF,IAA+ByL,CAY8D,GACzF,IAGIsgC,EAAY7gC,GAAsBuM,SAAS7D,EAAMnI,MAAQ,UAAY,UACrE,KAAE1G,EAAI,MAAE+T,EAAK,QAAEyE,GAAYwtB,EAAQgB,GACnCtT,EAAU1zB,EAAKmZ,KAAK/F,IACxB,MAAMgQ,EAAahQ,EAAEytB,eAAiB,IAAIl2B,KAAUyI,EAAEytB,gBAAgBjgC,IAAIkmC,GAAangB,aAAa,KAAO,GACrGxD,EAAW/P,EAAEytB,gBAAkB1e,EAAQ,IAAIxX,KAAUyI,EAAEytB,gBAAgBla,aAAaxE,GAAOvX,WAAa,GAC9G,MAAO,IAAKwI,EAAGgQ,aAAYD,WAAU,IAEvC,OACE9iB,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAASqK,GACTtO,WAAYof,EACZ/xB,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,iBAC3C+R,QAASA,GAGf,CC3Be,SAASwuB,GAAwB9nC,GAAuC,IAADwkB,EAAA,IAArC,MAAE9U,GAAiC1P,EAClF,MACMod,GAAiC,QAApBoH,EADL7Z,KACWhP,IAAI,kBAAU,IAAA6oB,OAAA,EAApBA,EAAsBpR,SAAU,IAC5CuJ,EAASE,GAAcrc,mBAAS4c,GAEjCzH,EAAUC,eACV,UAAEkxB,GAAc18B,IAAgBjK,GAAUA,EAAM0U,OAAOnK,UAEvD4O,EAAU5Y,uBACb0H,GAAgB+9B,GAAuB,IAAK/9B,EAAQtM,QAAS4T,EAAM5T,QAAQ6gB,aAC5E,CAACA,IAWGkrB,EAAY7gC,GAAsBuM,SAAS7D,EAAMnI,MAAQ,UAAY,UACrE,KAAE1G,EAAI,MAAE+T,EAAK,QAAEyE,GAAYytB,EAAUe,GAE3C,OACExkC,eAAA6L,WAAA,CAAAjP,SAAA,CACEiB,cAAC0wB,GAAc,CAAA3xB,SAEboD,eAAC0N,KAAI,CAACkP,OAAO,WAAWxb,MAAO,CAAEC,QAAS,QAAUutB,SAfzCz2B,UACfqhB,EAAW3G,EAAOpa,SACdoa,EAAOpa,QACT6Z,EAAQuB,KAAK,CAAEpM,OAAO,YAADlP,OAAcsa,EAAOpa,WAE1C6Z,EAAQuB,KAAK,CAAEpM,OAAQ,IACzB,EAS4EonB,aAAa,MAAKjyB,SAAA,CACxFiB,cAAC6P,KAAKxN,KAAI,CACRiD,KAAK,UAASvG,SAEdiB,cAACkQ,GAAW,CACVoG,YAAY,EACZJ,YAAY,qBAGhBlW,cAAC6P,KAAKxN,KAAI,CAAAtD,SAKRiB,cAAA,UAAQqG,KAAK,SAAS3F,UAAU,gBAAe3B,SAC7CiB,cAACwW,KAAc,aAKvBxW,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAASmL,GACTpP,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,OAC3C+R,QAASA,MAIjB,CCnEe,SAASwuB,GAAwB9nC,GAA6D,IAA5D,MAAE0P,EAAK,aAAEs2B,EAAY,QAAE1hB,GAAkCtkB,EACxG,MAAM,UAAE8mC,GAAc18B,IAAgBjK,GAAUA,EAAM0U,OAAOnK,UAEvD4O,EAAU5Y,uBACb0H,GAAgBi+B,GAAsB,IAAKj+B,EAAQyX,aAAcnQ,EAAM5T,QAASkqC,eAAc1hB,aAC/F,CAAC0hB,EAAc1hB,EAAS5U,KAGpB,KAAE7O,EAAI,MAAE+T,EAAK,QAAEyE,GAAYytB,EAAkB,OAEnD,OACE5lC,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAASuL,GACTxP,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,OAC3C+R,QAASA,GAGf,CCpBe,SAASyuB,GAAa/nC,GAAkE,IAAjE,MAAE0P,EAAK,aAAEs2B,EAAe,GAAE,QAAE1hB,EAAU,IAAwBtkB,EAClG,MAAM,UAAE+mC,GAAc38B,IAAgBjK,GAAUA,EAAM0U,OAAOnK,UAEvD4O,EAAU5Y,uBACb0H,GAAgB29B,GAAuB,IAAK39B,EAAQyX,aAAcnQ,EAAM5T,QAASkqC,eAAc1hB,aAChG,CAAC0hB,EAAc1hB,EAAS5U,KAGpB,KAAE7O,EAAI,MAAE+T,EAAK,QAAEyE,GAAY0tB,EAEjC,OACE7lC,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAAS8K,GACT/O,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,UAC3C+R,QAASA,GAGf,CChBe0uB,OAVYhoC,IAAsB,IAArB,QAAElE,GAAakE,EACvC,MAAM,QAAEqZ,EAAO,KAAExY,GAASwJ,GAAgB+wB,GAA6Bt/B,EAAS,aAChF,MAAgB,YAAZud,EAA8BnY,cAAC0W,GAAe,IAClC,WAAZyB,EAA6BnY,cAACusB,IAAQ,CAAChqB,GAAE,aAAA7H,OAAeE,KACvD+E,EAEDK,cAACw9B,GAAuB,CAAC79B,KAAMA,EAAM/E,QAASA,IAFhC,IAE2C,ECFlD,SAASmsC,GAAejoC,GAA2B,IAA1B,KAAEa,GAAqBb,EAC7D,OACEqD,eAAC6wB,GAAqB,CAAAj0B,SAAA,CACpBiB,cAACoI,GAAc,CAAArJ,SAAC,oBAChBoD,eAAC8wB,GAAgB,CAAAl0B,SAAA,GACZY,EAAKmiB,OACN3f,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,YAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CAAC,IACnCyL,GAAa7K,EAAKmiB,iBAMzBniB,EAAKuiB,WACN/f,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,iBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CAAC,IACnCyL,GAAa7K,EAAKuiB,UAAW,aAMpCviB,EAAKwmC,uBACNhkC,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,+BAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CAAC,IACnCyL,GAAa7K,EAAKwmC,sBAAuB,WAMnDhkC,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,uBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCyL,GAAa7K,EAAK2iB,kBAAmB,UAI5CngB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,yBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCyL,GAAa7K,EAAKqnC,wBAAyB,eAO1D,CCnEe,SAASC,GAAenoC,GAA2B,IAA1B,KAAEa,GAAqBb,EAC7D,MAAOqtB,EAAUC,GAAa9sB,oBAAS,GAEvC,OACE6C,eAAC6wB,GAAqB,CAAAj0B,SAAA,CACpBiB,cAACoI,GAAc,CAAArJ,SAAC,qBAChBoD,eAAC8wB,GAAgB,CAAAl0B,SAAA,CACfoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,eAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCoD,eAACszB,GAAU,CAAA12B,SAAA,CACTiB,cAACsC,IAAI,CAAC5B,UAAU,aAAa6C,MAAO,CAACyL,cAAc,aAAczM,GAAE,YAAA7H,OAAciF,EAAK/E,SAAUmE,SAE7FY,EAAK/E,UAERoF,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO2pB,EAAW,SAAW,4BAA4BptB,SAChFiB,cAAC+sB,KAAe,CACd1xB,KAAMsE,EAAK/E,QACXoyB,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAChnB,MAAO,CAACkT,OAAQ,gBAAgB1X,SAACiB,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,sBAG/FjD,cAAC6N,KAAO,CACNe,UAAU,SACVnC,MAAM,OACNjK,MACExC,cAAC01B,GAAM,CAACnyB,MAAO,CAAEuc,QAAS,QAAS/gB,SACjCiB,cAAC2iC,UAAM,CACLuE,QAAQ,UACR74B,MAAM,IACN9K,MAAO,CAAE6D,MAAO,KAChBlH,MAAOP,EAAK/E,YAGjBmE,SAEDiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAM8/B,GAAa3/B,IAAI,gCAMtEd,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,mBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCiB,cAAC8M,GAAW,CAACC,YAAapN,WAIhCwC,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,cAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCyL,GAAa7K,EAAKwiB,eAIzBhgB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,gBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCyL,GAAa7K,EAAK0iB,sBAKxB1iB,EAAK6F,UACJrD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,eAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCY,EAAK6F,gBAMb7F,EAAKwnC,SACJhlC,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,cAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCiB,cAACsC,IAAI,CAACC,GAAG,GAAExD,SAAEY,EAAKwnC,sBAQlC,CCjIe,SAASC,GAActoC,GAA0D,IAAzD,KAAEa,EAAI,QAAEyjB,EAAU,IAAoCtkB,EAC3F,OACEqD,eAAC6wB,GAAqB,CAAAj0B,SAAA,CACpBiB,cAACoI,GAAc,CAAArJ,SAAC,oBAChBoD,eAAC8wB,GAAgB,CAAAl0B,SAAA,CACdY,EAAKmiB,OACJ3f,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,YAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BoD,eAAC0nB,GAAW,CAACnpB,UAAU,gBAAe3B,SAAA,CAAC,IACnCyL,GAAa7K,EAAKmiB,iBAMzBsB,GACDjhB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,cAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCqkB,UAMPA,GACAjhB,eAAA6L,WAAA,CAAAjP,SAAA,CACEoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,uBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCyL,GAAa7K,EAAK2iB,kBAAmB,UAK5CngB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,cAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCyL,GAAa7K,EAAKwiB,uBAUrC,CC1De,SAASklB,GAAcvoC,GAAkD,IAAjD,KAAEa,EAAI,QAAEyjB,GAAsCtkB,EACnF,MAAOqtB,EAAUC,GAAa9sB,oBAAS,GAEvC,OACE6C,eAAC6wB,GAAqB,CAAAj0B,SAAA,CACpBiB,cAACoI,GAAc,CAAArJ,SAAC,qBAChBoD,eAAC8wB,GAAgB,CAAAl0B,SAAA,CACfoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,eAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCoD,eAACszB,GAAU,CAAA12B,SAAA,CACTiB,cAACsC,IAAI,CAACC,GAAE,YAAA7H,OAAciF,EAAK/E,SAAUmE,SAACiB,cAACuM,GAAU,CAACC,UAAU,YAAWzN,SAAEY,EAAK/E,YAC9EoF,cAAC6N,KAAO,CAACe,UAAU,MAAMpM,MAAO2pB,EAAW,SAAW,4BAA4BptB,SAChFiB,cAAC+sB,KAAe,CACd1xB,KAAMsE,EAAK/E,QACXoyB,OAAQA,IAAMZ,GAAU,GAExBa,aAAcA,IAAMb,GAAU,GAAOrtB,SAErCiB,cAACuqB,GAAa,CAAChnB,MAAO,CAACkT,OAAQ,gBAAgB1X,SAACiB,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAMoqB,GAAWjqB,IAAI,sBAG/FjD,cAAC6N,KAAO,CACNe,UAAU,SACVnC,MAAM,OACNjK,MACExC,cAAC01B,GAAM,CAACnyB,MAAO,CAAEuc,QAAS,QAAS/gB,SACjCiB,cAAC2iC,UAAM,CACLuE,QAAQ,UACR74B,MAAM,IACN9K,MAAO,CAAE6D,MAAO,KAChBlH,MAAOP,EAAK/E,YAGjBmE,SAEDiB,cAACuqB,GAAa,CAAAxrB,SAACiB,cAAA,QAAAjB,SAAMiB,cAAA,OAAKoH,MAAM,KAAKtE,IAAM8/B,GAAa3/B,IAAI,iCAOpEmgB,GACAjhB,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,gBAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACnCyL,GAAa7K,EAAK0iB,sBAM1B1iB,EAAKwnC,SACJhlC,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SAC1BiB,cAAC6pB,GAAW,CAACnpB,UAAU,eAAc3B,SAAC,cAIxCiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,GAAGvqB,SAC5BiB,cAAC6pB,GAAW,CAACnpB,UAAU,gBAAe3B,SACpCiB,cAACsC,IAAI,CAACC,GAAG,GAAExD,SAAEY,EAAKwnC,sBAQlC,CC5DA,MAAQ7zB,QAAQ,IAAIC,KAEL,SAAS+zB,KAAoB,IAADhkB,EAAAE,EAAA+jB,EAAAC,EACzC,MAAMzC,EAAQt7B,KACRqa,GAA4B,QAApBR,EAAAyhB,EAAMtqC,IAAI,kBAAU,IAAA6oB,OAAA,EAApBA,EAAsBpR,SAAU,GACxCkR,GAA8B,QAApBI,EAAAuhB,EAAMtqC,IAAI,kBAAU,IAAA+oB,OAAA,EAApBA,EAAsBtR,SAAU,IAC1C,QAAEtX,GAAYyxB,eACd,sBAAEyZ,GAA0B58B,IAAgBjK,GAAUA,EAAM0U,OAAOnK,WACnE,QAAE2O,EAAO,KAAExY,GAASwJ,GAAgBk8B,GAA0BzqC,EAAS,UACvE2O,EAAWP,KAIjB,OAHAjJ,qBAAU,KACJ+jB,GAASlpB,GAAS2O,EAASg8B,GAAyB,CAAEzhB,QAAMlpB,YAAW,GAC1E,CAACkpB,EAAMlpB,EAAS2O,IACH,YAAZ4O,EAA8BnY,cAAC0W,GAAe,IAClC,WAAZyB,EAA6BnY,cAACusB,IAAQ,CAAChqB,GAAE,aAAA7H,OAAeE,KACvD+E,EAGHwC,eAAC8uB,GAAW,CAAAlyB,SAAA,CACRY,EAAKmiB,OAASniB,EAAK2F,MAAQ3F,EAAK4F,QAChCvF,cAAC8sB,IAAM,CAAA/tB,SACLoD,eAAA,SAAApD,SAAA,CAAO,IAAEyL,GAAa7K,EAAKmiB,OAAO,MAAIniB,EAAK2F,KAAK,KAAc,QAAZiiC,EAAC5nC,EAAK4F,cAAM,IAAAgiC,OAAA,EAAXA,EAAa54B,cAAc,8CAI/EhP,EAAKmiB,OAASniB,EAAK2F,MAAQ3F,EAAK4F,QACjCvF,cAAC8sB,IAAM,CAAA/tB,SACLoD,eAAA,SAAApD,SAAA,CAAQY,EAAK2F,KAAK,KAAc,QAAZkiC,EAAC7nC,EAAK4F,cAAM,IAAAiiC,OAAA,EAAXA,EAAa74B,cAAc,6CAIpD3O,cAACsO,GAAqB,CAACE,MAAO7O,IAE9BwC,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACdoD,eAACU,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAIzN,UAAU,QAAO3B,SAAA,GACnCY,EAAK0G,MAAQP,GAAsBuM,SAAS1S,EAAK0G,KAAK2F,iBAAmBhM,cAAC+mC,GAAe,CAACpnC,KAAMA,IACjGA,EAAK0G,MAAQR,GAAyBwM,SAAS1S,EAAK0G,KAAK2F,gBAAmBhM,cAAConC,GAAc,CAACznC,KAAMA,EAAMyjB,QAASA,OAErHjhB,eAACU,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAGpP,SAAA,GACjBY,EAAK0G,MAAQP,GAAsBuM,SAAS1S,EAAK0G,KAAK2F,iBAAmBhM,cAACinC,GAAe,CAACtnC,KAAMA,IACjGA,EAAK0G,MAAQR,GAAyBwM,SAAS1S,EAAK0G,KAAK2F,gBAAmBhM,cAACqnC,GAAc,CAAC1nC,KAAMA,EAAMyjB,QAASA,YAIpHU,IAAUgiB,EAAsBnmC,KAAKomC,OACtC/lC,cAACgzB,GAAqB,CAACzvB,MAAO,CAAEwL,UAAW,QAAShQ,SAClDoD,eAACS,IAAG,CAAA7D,SAAA,CACFiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAM23B,EAAsBnmC,KAAKmiB,MAAQ,EAAI,GAAG/iB,SAE7DoD,eAAA,OAAApD,SAAA,CACEiB,cAACqmC,GAAW,CAAAtnC,SAAC,6BACbiB,cAAA,OAAAjB,SAAKiB,cAACsC,IAAI,CAACiB,MAAO,CAAC6Q,UAAU,cAAe7R,GAAE,YAAA7H,OAAcopB,GAAQ/kB,SAAE+kB,WAI1E9jB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAM23B,EAAsBnmC,KAAKmiB,MAAQ,EAAI,GAAG/iB,SAC7DoD,eAACokC,GAAe,CAAAxnC,SAAA,CACdiB,cAAA,OAAAjB,SAAKiB,cAACsmC,GAAU,CAAAvnC,SAAC,cAChB+mC,GAAyBA,EAAsBnmC,KAAKulB,SAAW4gB,EAAsBnmC,KAAK6F,UACzFxF,cAAA,OAAAjB,SAAKoD,eAAC0C,GAAQ,CAAA9F,SAAA,CAAEyL,GAAa,IAAIF,KAAUw7B,EAAsBnmC,KAAKulB,SAASuiB,UAAU,IAAM3B,EAAsBnmC,KAAK6F,UAAU+E,YAAY,IAAEu7B,EAAsBnmC,KAAK4F,mBAIhLugC,EAAsBnmC,KAAKmiB,OAASgkB,KAA2BA,EAAsBnmC,KAAKulB,WAAa4gB,EAAsBnmC,KAAK6F,UACnIxF,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAEpP,SACnBoD,eAACokC,GAAe,CAAAxnC,SAAA,CACdiB,cAAA,OAAAjB,SAAKiB,cAACsmC,GAAU,CAAAvnC,SAAC,YACjBiB,cAAA,OAAAjB,SAAKoD,eAAC0C,GAAQ,CAAA9F,SAAA,CAAC,IAAEyL,GAAa,IAAIF,KAAUw7B,EAAsBnmC,KAAKulB,SAASuiB,UAAU,IAAM3B,EAAsBnmC,KAAK6F,UAAU8gB,aAAawf,EAAsBnmC,KAAKmiB,OAAOvX,2BAQhMvK,cAACkzB,GAAe,CAAAn0B,SACdoD,eAACtB,EAAQ,CAAA9B,SAAA,CACNY,EAAK0G,MAAQP,GAAsBuM,SAAS1S,EAAK0G,KAAK2F,gBACrD7J,eAACwY,GAAY,CAACtU,KAAK,OAAO4U,QAAS,CAAC,UAAW,QAAQlc,SAAA,CACrDiB,cAACsT,GAAO,CAACQ,IAAI,YAAW/U,SACtBiB,cAAC0nC,GAAmB,CAACl5B,MAAO7O,KADD,WAI7BK,cAACsT,GAAO,CAACQ,IAAI,UAAS/U,SACpBiB,cAACwmC,GAAsB,CAACh4B,MAAO7O,EAAM8mC,YAAa9mC,EAAK2iB,kBAAmBR,MAAOniB,EAAKmiB,SAD7D,WAI3B9hB,cAACsT,GAAO,CAACQ,IAAK3R,eAAA,OAAKzB,UAAU,4BAA2B3B,SAAA,CAACiB,cAAA,QAAAjB,SAAM,cAAgB,SAAQiB,cAAC8M,GAAW,CAACC,YAAapN,EAAMsN,YAAU,IAAE,OAAQlO,SACxInE,GAAWoF,cAAC8mC,GAAkB,CAAClsC,QAASA,KADqG,WAMnJ+E,EAAK0G,MAAQ,CAAC,QAAS,SAAU,UAAUgM,SAAS1S,EAAK0G,KAAK2F,gBAC7D7J,eAACwY,GAAY,CAACtU,KAAK,OAAO4U,QAAS,CAAC,YAAa,QAAQlc,SAAA,CACvDoD,eAACmR,GAAO,CAACQ,IAAI,YAAW/U,SAAA,GACnB+kB,GAAS9jB,cAAC2nC,GAAkB,CAACn5B,MAAO7O,EAAMmlC,aAAchhB,MACxDV,GAAWpjB,cAAC2nC,GAAkB,CAACn5B,MAAO7O,EAAMyjB,QAASA,KACtDU,IAAUV,GAAWpjB,cAAC2nC,GAAkB,CAACn5B,MAAO7O,MAHvB,WAM7BK,cAACsT,GAAO,CAACQ,IAAI,YAAW/U,SACtBiB,cAAC4nC,GAAmB,CAACp5B,MAAO7O,EAAMmlC,aAAchhB,EAAOV,QAASA,KADrC,aAI7BpjB,cAACsT,GAAO,CAACQ,IAAK3R,eAAA,OAAKzB,UAAU,4BAA2B3B,SAAA,CAACiB,cAAA,QAAAjB,SAAM,cAAgB,SAAQiB,cAAC8M,GAAW,CAACC,YAAapN,EAAMsN,YAAU,IAAE,OAAQlO,SACxInE,GAAWoF,cAAC8mC,GAAkB,CAAClsC,QAASA,KADqG,YAMlJ+E,EAAK0G,MACLlE,eAACwY,GAAY,CAACtU,KAAK,OAAO4U,QAAS,CAAC,QAAQlc,SAAA,CAC1CiB,cAACsT,GAAO,CAACQ,IAAI,YAAW/U,SACtBiB,cAAC0nC,GAAmB,CAACl5B,MAAO7O,KADD,WAI7BK,cAACsT,GAAO,CAACQ,IAAI,WAAU/U,SACpBnE,GAAWoF,cAAC8mC,GAAkB,CAAClsC,QAASA,KADf,mBAtGtB,IA+GpB,CCjKe,SAASitC,KACtB,MAAMt+B,EAAWP,MACX,KAAErJ,EAAI,QAAEwY,EAAO,MAAEzE,GAAUxK,IAAgBjK,GAAUA,EAAc,OAAQ,KAAU,SAS3F,OANAc,qBAAU,IACD,KACLwJ,EAAS28B,KAAkB,GAE5B,IAGD/jC,eAAA,OAAApD,SAAA,CACEiB,cAACiO,GAAU,CAACzL,MAAM,wBAElBxC,cAAC2pB,GAAS,CACRxR,QAASA,EACTzE,MAAOA,EACPwE,QAASkK,GACTnO,WAAYtU,EACZ2B,OAAQtB,cAAC+Z,GAAc,CAACrG,MAAOA,EAAOrN,KAAK,UAC3C+R,QAASmsB,OAIjB,CC/Be,I,SAAA,OAA0B,gCCElC,MAAMuD,GAAYxnC,IAAOC,IAAGI,QAAAC,YAAA,uEAMtBmnC,GAAUznC,IAAOC,IAAGO,QAAAF,YAAA,01BA2CpBonC,GAAgB1nC,IAAOC,IAAGkB,QAAAb,YAAA,6HCzC/B4e,UAAS,GAAExZ,KAAI,GAAEsG,MAAM,IAAIrG,KAkDpBgiC,OAhDf,WACE,MAAMlD,EAAQt7B,KACRgL,EAAUC,cACVtZ,EAAO4D,aAAaC,GAAqBA,EAAMC,QAAQ9D,OAyB7D,OACE4E,cAAC8nC,GAAS,CAAA/oC,SACRoD,eAAC4lC,GAAO,CAAAhpC,SAAA,CACNiB,cAAA,OAAKU,UAAU,aAAY3B,SAACiB,cAAA,OAAK8C,IAAKolC,GAAUjlC,IAAI,OACpDd,eAAA,OAAKzB,WAAqB,SAATtF,EAAkBA,EAAO,IAAM,QAAQ2D,SAAA,CACtDiB,cAACsM,GAAK,CAAC+B,MAAO,EAAEtP,SAAC,qBACjBoD,eAACqd,GAAS,CAAAzgB,SAAA,CAAC,4CAAyCoD,eAAC6D,GAAI,CAAC+e,QAAM,EAAAhmB,SAAA,CAAC,IAAOgmC,EAAMtqC,IAAI,KAAK,UACvFuF,cAACwf,GAAS,CAAAzgB,SAAC,gDAEbiB,cAACgoC,GAAa,CAACtnC,UAAU,OAAM3B,SAC7BiB,cAACoO,GAAS,MAEZpO,cAAA,OAAKU,UAAU,OAAM3B,SACnBiB,cAACwE,KAAM,CAAC9D,UAAU,mBAAmBwC,QApC7C,WAAkB,IAADogB,EACf,MAAM3R,GAA6B,QAAd2R,EAAAyhB,EAAMtqC,IAAI,YAAI,IAAA6oB,OAAA,EAAdA,EAAgBpR,SAAU,GAC/C,IAAIi2B,EAEJ,QAAQ,GACN,KAA6B,KAAxBx2B,EAAa3W,OAChBmtC,EAAa,KACb,MAEF,KAAMx2B,EAAa9G,MAAM,OACvBs9B,EAAa,QACb,MAEF,QACEA,EAAa,UAIbx2B,GAAgBw2B,GAClB1zB,EAAQuB,KAAK,IAADtb,OAAKytC,EAAU,KAAAztC,OAAIiX,GAEnC,EAe4D5S,SAAC,gBAK/D,E,yCC/BA,MAAQgZ,OAAO,IAAIC,KAEJ,SAASowB,KACpB,MAAM3zB,EAAUC,eACT2zB,EAAiBC,GAAsBhpC,mBAAS,KAChD6Y,EAASowB,GAAcjpC,oBAAS,IAChCkpC,EAAKC,GAAsBnpC,mBAAS,KACpCopC,GAAQ74B,KAAK84B,WACd,QAAE/tC,GAAYyxB,cACpBtsB,qBAAU,KACczF,WAChB,IACI,MAAMsY,QjHwGftY,iBACL,aAAaE,IAAMC,IAAI,GAADC,OAAIhB,EAAmB,2BAC/C,CiH1GqCkvC,GACrBN,EAAmB11B,EAAOjT,KAAKA,KACnC,CAAE,MAAOwD,GACLtD,QAAQC,IAAIqD,EAChB,GAEJ0lC,EAAa,GACd,IAEH,IAAIC,EAAsB,GA2B1B,OACI3mC,eAAA6L,WAAA,CAAAjP,SAAA,CACIiB,cAACiO,GAAU,IACX9L,eAAC22B,GAAG,CAAA/5B,SAAA,CACAiB,cAACoI,GAAc,CAAC7E,MAAO,CAAEwK,SAAU,QAAShP,SAAC,iDAC7CiB,cAACs1B,GAAQ,CAAAv2B,SAAC,mDACViB,cAACs1B,GAAQ,CAAAv2B,SAAC,qHACViB,cAACs1B,GAAQ,CAAAv2B,SAAC,yFACVoD,eAACq0B,GAAS,CAACjzB,MAAO,CAAE6+B,WAAY,QAASrjC,SAAA,CACrCoD,eAAC0N,KAAI,CAACkP,OAAO,WAAW2pB,KAAMA,EAAM3X,SAnCnCz2B,UAEb,GADAiuC,GAAW,GACNvzB,EAAOwpB,WAMR,UjH0FLlkC,eAAmC4M,GACxC,aAAa1M,IAAMuuC,KAAK,GAADruC,OAAIhB,EAAmB,oBAAoBwN,EACpE,CiH3FsB8hC,CAAoBh0B,GAC1B8zB,EAAQ9yB,KAAK,CACTrD,OAAQ,UACR61B,IAAK,mCAET/zB,EAAQuB,KAAK,YAADtb,OAAaE,EAAO,UACpC,CAAE,MAAOuI,GACL2lC,EAAQ9yB,KAAK,CACTrD,OAAQ,QACR61B,IAAKrlC,EAAE1D,UAAY0D,EAAE1D,SAASE,KAAOwD,EAAE1D,SAASE,KAAKspC,OAAO,GAAGnN,QAAU,oEAEjF,MAjBAgN,EAAQ9yB,KAAK,CACTrD,OAAQ,UACR61B,IAAK,8CAiBbD,GAAW,GACXE,EAAOK,EAAQ,EAYoD/pC,SAAA,CACnDoD,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACZiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC6P,KAAKxN,KAAI,CACNiD,KAAK,kBACL0Z,MAAM,mBACNkqB,MAAO,CAAC,CAAEC,UAAU,EAAMrN,QAAS,0BACnCsN,aAAcxuC,GAAoB,GAAGmE,SAErCiB,cAACkQ,GAAW,CAACgG,YAAY,yBAAyBizB,UAAQ,QAGlEnpC,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC6P,KAAKxN,KAAI,CACNiD,KAAK,eACL0Z,MAAM,gBACNkqB,MAAO,CAAC,CAAEC,UAAU,EAAMrN,QAAS,iCAAkC/8B,SAErEiB,cAACkQ,GAAW,CAACgG,YAAY,sBAAsBizB,UAAQ,QAG/DnpC,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC03B,GAAY,CAAA34B,SACTiB,cAAC6P,KAAKxN,KAAI,CACNiD,KAAK,UACL0Z,MAAM,WACNqqB,aAAW,EACXH,MAAO,CAAC,CAAEC,UAAU,EAAMrN,QAAS,0BAA2B/8B,SAE9DiB,cAACgY,KAAM,CAAC9B,YAAY,wBAAuBnX,SACtCspC,EAAgBrtC,OAAS,GACtBqtC,EAAgBvvB,KAAI,CAAC/F,EAAQ3P,IAErBpD,cAAC+X,GAAM,CAAoB7X,MAAO6S,EAAEhU,SAAEgU,GAAC,OAAArY,OAAnB0I,cAQhDpD,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,EAAGmb,GAAI,EAAEvqB,SACxBiB,cAAC03B,GAAY,CAAA34B,SACTiB,cAAC6P,KAAKxN,KAAI,CACNiD,KAAK,eACL0Z,MAAM,eACNqqB,aAAW,EACXH,MAAO,CAAC,CAAEC,UAAU,EAAMrN,QAAS,0BACnCsN,aAAc,QAAQrqC,SAEtBoD,eAAC6V,KAAM,CAAC9B,YAAY,wBAAuBnX,SAAA,CACvCiB,cAAC+X,GAAM,CAAC7X,MAAM,QAAOnB,SAAC,OACtBiB,cAAC+X,GAAM,CAAC7X,MAAM,OAAMnB,SAAC,oBAMzCiB,cAAC6P,KAAKxN,KAAI,CACNiD,KAAK,uBACL0Z,MAAM,kGACNkqB,MAAO,CAAC,CAAEC,UAAU,EAAOrN,QAAS,kDAAmD/8B,SAEvFiB,cAACq1B,KAAQ,CAACve,KAAM,EAAGZ,YAAY,sPAInClW,cAAC4C,IAAG,CAAA7D,SAmBAiB,cAAC6P,KAAKS,KAAI,CAAChL,KAAK,aAAYvG,SACvBA,CAACuqC,EAAMxqC,KAAA,IAAE,IAAEyqC,EAAG,OAAEC,GAAQ1qC,EAAA,OACrBqD,eAAA6L,WAAA,CAAAjP,SAAA,CACKuqC,EAAOxwB,KAAI/X,IAAA,IAAC,IAAEqC,EAAG,KAAEkC,EAAI,SAAEmkC,KAAaC,GAAW3oC,EAAA,OAC9CoB,eAAC82B,GAAW,CAAAl6B,SAAA,CACRiB,cAAC6P,KAAKxN,KAAI,IACFqnC,EACJpkC,KAAM,CAACA,EAAM,YACb0Z,MAAM,YACNyqB,SAAU,CAACA,GAAY,GAAI,YAC3BP,MAAO,CAAC,CAAEC,UAAU,EAAMrN,QAAS,2BAA4B/8B,SAE/DiB,cAACkQ,GAAW,CAACgG,YAAY,mCAE7BlW,cAAC6P,KAAKxN,KAAI,IACFqnC,EACJpkC,KAAM,CAACA,EAAM,WACb0Z,MAAM,uBACNyqB,SAAU,CAACA,GAAY,GAAI,WAC3BP,MAAO,CAAC,CAAEC,UAAU,EAAMrN,QAAS,6BAA8B/8B,SAEjEiB,cAACq3B,GAAc,CAACvgB,KAAM,GAAIZ,YAAY,2BAE1ClW,cAAC2pC,KAAmB,CAACzmC,QAASA,IAAMsmC,EAAOlkC,OAAS,YAAA5K,OAnB1B0I,GAoBhB,IAElBpD,cAAC6P,KAAKxN,KAAI,CAAAtD,SACNiB,cAACs5B,GAAS,CAACjzB,KAAK,SAASnD,QAASA,IAAMqmC,IAAOtpB,OAAK,EAAC1J,KAAMvW,cAAC4pC,KAAY,IAAI7qC,SAAC,iCAIlF,MAIfoD,eAAC0N,KAAKxN,KAAI,CAAAtD,SAAA,CACNiB,cAAC2wB,GAAY,CAACtqB,KAAK,SAASnG,MAAM,SAASuX,SAAUU,IAAW,UAAUA,GAAWnY,cAAC0Z,KAAI,CAAChL,KAAK,gBAIvG85B,EAAIxtC,OAAS,GAAKgF,cAAC25B,GAAY,CAAChnB,OAAQ61B,EAAI,GAAG71B,OAAO5T,SAAEypC,EAAI,GAAGA,cAKpF,C,gBCrNA,MAAQhpB,UAAS,GAAElT,MAAM,IAAIrG,KAEhB5E,GAAUf,IAAOC,IAAGI,QAAAC,YAAA,mCAGpBipC,GAAcvpC,IAAOC,IAAGO,QAAAF,YAAA,iCAGxBkpC,GAAaxpC,YAAOgM,GAAPhM,CAAamB,QAAAb,YAAA,qCAC1B9B,IAAA,IAAC,MAACK,GAAML,EAAA,OAAGK,EAAM9D,IAAI,IAErB0uC,GAAiBzpC,YAAOkf,GAAPlf,CAAiBsB,QAAAhB,YAAA,2BAClCG,IAAA,IAAC,MAAC5B,GAAM4B,EAAA,OAAG5B,EAAM9D,IAAI,IC0BnB2uC,I,eAAAA,GAxBf,WACI,MAAM5uC,EAAO4D,aAAaC,GAAqBA,EAAMC,QAAQ9D,OAC7D,OACE4E,cAACqB,GAAO,CAAAtC,SACNoD,eAAC0nC,GAAW,CAAA9qC,SAAA,CACRiB,cAACsC,IAAI,CAACC,GAAG,IAAGxD,SACViB,cAAA,OACFU,UAAU,YACR0G,MAAM,MACN7D,MAAO,CAACK,aAAc,QACpBd,IAAe,SAAT1H,EAAkB2H,EAAoBC,EAAeC,IAAI,cAGnEd,eAAA,OAAKzB,UAAU,OAAM3B,SAAA,CACjBiB,cAAC8pC,GAAU,CAACz7B,MAAO,EAAEtP,SAAC,QACtBiB,cAAC+pC,GAAc,CAACxmC,MAAO,CAAEwK,SAAU,QAAShP,SAAC,+BAC7CiB,cAAC+W,KAAO,CAACxT,MAAO,CAAE0mC,eAAgB,yBAClCjqC,cAAC+pC,GAAc,CAAAhrC,SAAC,kCAKhC,E,UCtCe,OAA0B,mCCElC,MAAM+oC,GAAYxnC,IAAOC,IAAGI,QAAAC,YAAA,iEAKtBspC,GAAU5pC,IAAOC,IAAGO,QAAAF,YAAA,yoBAYlB9B,IAAA,IAAC,MAACK,GAAML,EAAA,OAAGK,EAAM9D,IAAI,IAoBvBwJ,GAAWvE,IAAOwE,KAAIrD,QAAAb,YAAA,yBACxBG,IAAA,IAAC,MAAC5B,GAAM4B,EAAA,OAAG5B,EAAM9D,IAAI,IAEnBgvB,GAAc/pB,IAAOwE,KAAIlD,QAAAhB,YAAA,yBAC3BI,IAAA,IAAC,MAAC7B,GAAM6B,EAAA,OAAG7B,EAAM7D,WAAW,IAE1B6uC,GAAW7pC,IAAOC,IAAGuB,QAAAlB,YAAA,qOAGZK,IAAA,IAAC,MAAE9B,GAAO8B,EAAA,OAAK9B,EAAM1D,GAAG,IAMtByF,IAAA,IAAC,MAAE/B,GAAO+B,EAAA,OAAK/B,EAAM3C,OAAO,KCtC5CgjB,UAAU,IAAIvZ,KAuGPmkC,OArGf,WAEI,MAAM,YAAC1pB,GAAe2L,cAChB9iB,EAAWP,KACX2c,EAAQzc,IAAgBjK,GAAUA,EAAMC,QAAQymB,MAAMhmB,OAEtDyY,EAAUA,KACZ7O,EAAS6b,KAAW,EAExBrlB,qBAAU,KACNqY,IACA,MAAM4Q,EAAgBC,aAAY,KAC9B7Q,GAAS,GACV,KAGH,MAAO,KACP8Q,cAAcF,GACdzf,EAASyc,KAAa,CACrB,GACF,IACH,IAAIqkB,EAAc,EAClB,GAAI1kB,GAASA,EAAM1F,OAASS,EAAa,CACrC,MAAMnY,EAAI,IAAI+B,KAAUoW,GAExB,GADA2pB,EAAc9hC,EAAE+hC,cAAc,IAAIhgC,KAAUqb,EAAM1F,QAAU1X,EAAEgiC,MAAM,IAAIjgC,KAAUqb,EAAM1F,QAAQ1V,WAAa,EAC1GmW,EAAciF,EAAM1F,MAAO,OAAOjgB,cAACusB,IAAQ,CAAChqB,GAAE,UAAA7H,OAAYgmB,IACjE,CA4BA,OACIve,eAAC2lC,GAAS,CAAA/oC,SAAA,CACNiB,cAAA,OAAKU,UAAU,aAAY3B,SAACiB,cAAA,OAAK8C,IAAK0nC,GAAWvnC,IAAI,OACrDjD,cAACkqC,GAAO,CAACxpC,UAAU,YAAW3B,SACzB4mB,GAASA,EAAM1F,OACZ9d,eAAA6L,WAAA,CAAAjP,SAAA,CACIiB,cAACyqC,KAAS,CACNxsB,KAAMzW,KAAKkjC,MAAsB,IAAdL,EACnBM,SAnCP7rC,IAA2E,IAA1E,KAAE8rC,EAAO,EAAC,MAAEC,EAAQ,EAAC,QAAEC,EAAU,EAAC,QAAEC,EAAU,EAAC,UAAEC,GAAY,GAAOlsC,EAClF,OACIkB,cAAA,OAAKU,UAAU,gBAAe3B,SAC1BoD,eAAA,OAAK8P,GAAG,WAAWvR,UAAU,kBAAiB3B,SAAA,CAC1CoD,eAAA,OAAKzB,UAAU,YAAW3B,SAAA,CACtBiB,cAAC6E,GAAQ,CAACnE,UAAU,OAAM3B,SAAE6rC,IAC5B5qC,cAACqqB,GAAW,CAAC3pB,UAAU,YAAW3B,SAAC,YAEvCiB,cAAA,OAAKU,UAAU,WAAU3B,SAAC,MAC1BoD,eAAA,OAAKzB,UAAU,YAAW3B,SAAA,CACtBiB,cAAC6E,GAAQ,CAACnE,UAAU,QAAO3B,SAAE8rC,IAC7B7qC,cAACqqB,GAAW,CAAC3pB,UAAU,YAAW3B,SAAC,aAEvCiB,cAAA,OAAKU,UAAU,WAAU3B,SAAC,MAC1BoD,eAAA,OAAKzB,UAAU,YAAW3B,SAAA,CACtBiB,cAAC6E,GAAQ,CAACnE,UAAU,UAAS3B,SAAE+rC,IAC/B9qC,cAACqqB,GAAW,CAAC3pB,UAAU,YAAW3B,SAAC,YAEvCiB,cAAA,OAAKU,UAAU,WAAU3B,SAAC,MAC1BoD,eAAA,OAAKzB,UAAU,YAAW3B,SAAA,CACtBiB,cAAC6E,GAAQ,CAACnE,UAAU,UAAS3B,SAAEgsC,IAC/B/qC,cAACqqB,GAAW,CAAC3pB,UAAU,YAAW3B,SAAC,gBAGzC,IAaMoD,eAACqd,GAAS,CAACjc,MAAO,CAAC6+B,WAAY,OAAQC,cAAe,OAAQt0B,SAAU,QAAQhP,SAAA,CAC5EiB,cAACqqB,GAAW,CAAAtrB,SAAC,2BAAoC,OACjDiB,cAACqqB,GAAW,CAAAtrB,SAAEoM,aAAOC,aAAW5D,KAAKkjC,MAAsB,IAAdL,GAAqB,IAAI7iC,MAAQ6D,qBAAsB,wCAExGlJ,eAACS,IAAG,CAACiB,OAAQ,GAAG9E,SAAA,CACZiB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,EAAEvqB,SACzBoD,eAACgoC,GAAQ,CAACzpC,UAAU,SAAQ3B,SAAA,CACxBiB,cAACwf,GAAS,CAACjc,MAAO,CAACK,aAAc,OAAO7E,SACpCiB,cAAA,QAAAjB,SAAM,2BAEVoD,eAAA,QAAApD,SAAA,CAAM,IAAG2hB,UAGjB1gB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,EAAEvqB,SACzBoD,eAACgoC,GAAQ,CAAAprC,SAAA,CACLiB,cAACwf,GAAS,CAACjc,MAAO,CAACK,aAAc,OAAO7E,SACpCiB,cAAC6E,GAAQ,CAAA9F,SAAC,qBAEdoD,eAAC0C,GAAQ,CAAA9F,SAAA,CAAC,IAAG4mB,EAAM1F,cAG3BjgB,cAAC6C,IAAG,CAACiC,KAAM,GAAIqJ,GAAI,GAAImb,GAAI,EAAEvqB,SACzBoD,eAACgoC,GAAQ,CAAAprC,SAAA,CACLiB,cAACwf,GAAS,CAACjc,MAAO,CAACK,aAAc,OAAO7E,SACpCiB,cAAC6E,GAAQ,CAAA9F,SAAC,uBAEdoD,eAAC0C,GAAQ,CAAA9F,SAAA,CAAC,IAAGsrC,oBASjD,EC3EO,SAASY,GAAcnsC,GAGN,IAFtBosC,UAAWC,KACRjwB,GACgBpc,EAEnB,MAAM,SAAEyH,GAAaoD,eACf,aAAEjL,GAAiBC,IACzB,OAAID,GAA6B,WAAb6H,EAA8BvG,cAACusB,IAAQ,CAAChqB,GAAG,WAC1D7D,GAA6B,WAAb6H,EAGnBvG,cAACorC,IAAK,IACAlwB,EACJ3B,OAAS9Y,GACLT,cAACmrC,EAAS,IAAK1qC,MAN4BT,cAACusB,IAAQ,CAAChqB,GAAG,KAUlE,CA4Ce8oC,OA1Cf,WAEE,OACElpC,eAACmpC,IAAM,CAAAvsC,SAAA,CACLiB,cAAC8sB,IAAM,CAAA/tB,SACLiB,cAAA,SAAAjB,SAAO,oCAGPoD,eAAC9B,EAAM,CAAAtB,SAAA,CACLiB,cAACyC,GAAM,IACPzC,cAAA,QAAMU,UAAU,MAAK3B,SACnBoD,eAACopC,IAAM,CAAAxsC,SAAA,CACLiB,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,IAAIP,UAAW5iB,KAC1CtoB,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,OAAOP,UAAWxhB,KAC7C1pB,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,YAAYP,UAAWjf,KAClDjsB,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,aAAaP,UAAWjf,KACnDjsB,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,UAAUP,UAAWta,KAChD5wB,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,4BAA4BP,UAAWQ,KAClE1rC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,UAAUP,UAAWS,KAChD3rC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,sBAAsBP,UAAW1X,KAC5DxzB,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,YAAYP,UAAWU,KAClD5rC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,oBAAoBP,UAAWjI,KAC1DjjC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,eAAeP,UAAWW,KACrD7rC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,aAAaP,UAAWY,KACnD9rC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,6BAA6BP,UAAW9C,KACnEpoC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,qBAAqBP,UAAW9C,KAC3DpoC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,UAAUP,UAAW9E,KAChDpmC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,cAAcP,UAAWrD,KACpD7nC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,kBAAkBP,UAAW5D,KACxDtnC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,UAAUP,UAAWjD,KAChDjoC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,SAASP,UAAWlB,KAC/ChqC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,0BAA0BP,UAAWd,KAChEpqC,cAACirC,GAAc,CAACO,OAAK,EAACC,KAAK,IAAIP,UAAW5iB,UAG9CtoB,cAACkG,GAAM,SAKjB,E,4BCtFO,MAAMuO,GAAUs3B,eAEjBjlB,GAAUklB,aAAgB,CAC9BC,OAAQC,YAAcz3B,IACtBvV,QAASitC,GACTxrB,aAAcyrB,GACdtjB,OAAQujB,GACRjZ,OAAQkZ,GACR34B,OAAQ44B,GACRC,YAAaC,GACbpjB,SAAUqjB,GACV7R,UAAW8R,KAGPjmB,GAAgB,CACpBtjB,IAAK,OACLujB,aACAC,UAAW,IAGPgmB,GAAmB/lB,aAAeH,GAAeI,IAE1C+lB,GAAQC,aAAe,CAClChmB,QAAS8lB,GACTG,WAAaC,GAAyBA,EAAqB,CACzDC,kBAAmB,CACjBC,eAAgB,CAACC,SAElBzyC,OAAO0yC,aAAiB34B,OAGhB44B,GAAYC,aAAaT,ICnClBU,QACW,cAA7BzzC,OAAOypB,SAASiqB,UAEe,UAA7B1zC,OAAOypB,SAASiqB,UAEhB1zC,OAAOypB,SAASiqB,SAAS3iC,MACvB,2DCPN4iC,IAASl0B,OACPvZ,cAAC0tC,IAAMC,WAAU,CAAA5uC,SACfiB,cAACC,IAAQ,CAAC4sC,MAAOA,GAAM9tC,SACrBiB,cAAC4tC,IAAW,CAACz1B,QAAS,KAAMk1B,UAAWA,GAAUtuC,SAC/CiB,cAAC6tC,IAAe,CAACp5B,QAASA,GAAQ1V,SAChCiB,cAACnB,EAAe,CAAAE,SACdiB,cAACqrC,GAAG,cAMdtJ,SAAS+L,eAAe,SDiHpB,kBAAmBC,WACrBA,UAAUC,cAAcC,MACrBC,MAAMC,IACLA,EAAaC,YAAY,IAE1BC,OAAOzuC,IACNC,QAAQD,MAAMA,EAAMk8B,QAAQ,G","file":"static/js/main.dc88ea7c.chunk.js","sourcesContent":["let TOMOSCAN_API_V2_URL: string;\nlet RPC_ENDPOINT: string;\nlet CHAINID : number;\n\n// @ts-ignore\nconst env = window.env || process.env\n\nif (env) {\n TOMOSCAN_API_V2_URL = env.REACT_APP_TOMOSCAN_API_V2_URL;\n RPC_ENDPOINT = env.REACT_APP_RPC_ENDPOINT ?? 'https://rpc.viction.xyz';\n CHAINID = Number(env.REACT_APP_CHAINID) ?? 88\n}\n\nexport {\n TOMOSCAN_API_V2_URL,\n RPC_ENDPOINT,\n CHAINID\n}","import axios, { AxiosResponse } from 'axios'\n\nimport { TOMOSCAN_API_V2_URL } from '../constants/env'\n\nexport async function fetchTxDetailsByHash(hash: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/${hash}`)\n}\n\nexport async function fetchTxList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/list?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchTxInternal(hash: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/internal?txhash=${hash}&offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchBlockDetailsByNumberOrHash(blockNumberOrHash: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/block/${blockNumberOrHash}`)\n}\n\nexport async function fetchTxListByBlock(blockNumber: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/listByBlock/${blockNumber}?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchBlockList(author: string | undefined, offset = 0, limit = 20): Promise {\n if (author) {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/block/list?author=${author}&offset=${offset}&limit=${limit}`)\n }\n return await axios.get(`${TOMOSCAN_API_V2_URL}/block/list?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchStats(): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/stats`)\n}\n\nexport async function fetchEpochList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/epoch/list?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchEpochDetailsByNumber(epochNumber: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/epoch/${epochNumber}`)\n}\n\nexport async function fetchEpochDetailsReward(epochNumber: string, rewardType: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/epoch/${epochNumber}/reward?rewardType=${rewardType}&offset=${offset}&limit=${limit}`)\n}\n\n// vrc20/21 list\nexport async function fetchNormalTokenList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/token/list?offset=${offset}&limit=${limit}`)\n}\n\n// vrc721 list\nexport async function fetchVrc721TokenList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/token/nft/list?offset=${offset}&limit=${limit}`)\n}\n\n// vrc20/21 holder list\nexport async function fetchVrc2021HolderList(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/tokenholder/${address}?offset=${offset}&limit=${limit}`)\n}\n\n// vrc721 holder list\nexport async function fetchVrc721HolderList(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/tokenholder/nft/${address}?offset=${offset}&limit=${limit}`)\n}\n\n// vrc20/21 transfer list\nexport async function fetchVrc2021TransferList(address: string, account: string | undefined, offset = 0, limit = 20): Promise {\n let query = `tokenAddress=${address}&offset=${offset}&limit=${limit}`\n if (account) {\n query = `tokenAddress=${address}&account=${account}&offset=${offset}&limit=${limit}`\n }\n return await axios.get(`${TOMOSCAN_API_V2_URL}/tokentx/list?${query}`)\n}\n\n// vrc721 transfer list\nexport async function fetchVrc721TransferList(tokenAddress: string, ownerAddress: string | undefined, tokenId: string | undefined, offset = 0, limit = 20): Promise {\n let query = `tokenAddress=${tokenAddress}&offset=${offset}&limit=${limit}`\n\n if (ownerAddress && !tokenId) {\n query = `tokenAddress=${tokenAddress}&account=${ownerAddress}&offset=${offset}&limit=${limit}`\n }\n\n if (!ownerAddress && tokenId) {\n query = `tokenAddress=${tokenAddress}&tokenId=${tokenId}&offset=${offset}&limit=${limit}`\n }\n\n if (ownerAddress && tokenId) {\n query = `tokenAddress=${tokenAddress}&account=${ownerAddress}&tokenId=${tokenId}&offset=${offset}&limit=${limit}`\n }\n\n return await axios.get(`${TOMOSCAN_API_V2_URL}/tokentx/nft/list?${query}`)\n}\n\nexport async function fetchTokenDetailsByAddress(address: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/token/${address}`)\n}\n\nexport async function fetchMasternodeList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/masternodes?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchAccountList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/account/list?offset=${offset}&limit=${limit}`)\n}\n// Account Detail\nexport async function fetchAccountDetails(address: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/account/${address}`)\n}\n\nexport async function fetchTokensInAccount(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/account/${address}/tokenBalance?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchInternalTx(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/internal?account=${address}&offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchUserRewards(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/account/${address}/reward?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchTokenTransactions(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/list?account=${address}&offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchVrcTokenTransactions(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/tokentx/list?account=${address}&offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchContractList(offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/contract/verified/list?offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchTxListByAdddress(address: string, offset = 0, limit = 20): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/transaction/list?account=${address}&offset=${offset}&limit=${limit}`)\n}\n\nexport async function fetchContractEventLogs(address: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/eventlog?address=${address}`)\n}\n\nexport async function fetchCompilerVersion(): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/contract/solc/versions`)\n}\n\nexport async function fetchContractVerify(params: any): Promise {\n return await axios.post(`${TOMOSCAN_API_V2_URL}/contract/verify`, params)\n}\n\nexport async function fetchTomoTokenList(): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/token/all`)\n}\n\nexport async function searchOneId(text: string): Promise {\n return await axios.get(`${TOMOSCAN_API_V2_URL}/oneid/search?text=${text}`)\n}\n\nexport async function searchD3(text: string): Promise {\n const D3_API = `https://cloudflare-dns.com/dns-query?name=${text}&type=16`\n return axios.get(D3_API, {\n headers: {\n accept: 'application/dns-json'\n }\n })\n}\n\n\nexport async function fetchVrc721InventoryList(tokenAddress: string, ownerAddress: string, tokenId: string, offset = 0, limit = 20): Promise {\n let query = `tokenAddress=${tokenAddress}&offset=${offset}&limit=${limit}`\n\n if (ownerAddress && !tokenId) {\n query = `tokenAddress=${tokenAddress}&account=${ownerAddress}&offset=${offset}&limit=${limit}`\n }\n\n if (!ownerAddress && tokenId) {\n query = `tokenAddress=${tokenAddress}&tokenId=${tokenId}&offset=${offset}&limit=${limit}`\n }\n\n if (ownerAddress && tokenId) {\n query = `tokenAddress=${tokenAddress}&account=${ownerAddress}&tokenId=${tokenId}&offset=${offset}&limit=${limit}`\n }\n\n return await axios.get(`${TOMOSCAN_API_V2_URL}/nft/inventory?${query}`)\n}\n\nexport async function fetchTokenBalanceOnAccount(owner: string,address: string ): Promise {\n \n return await axios.get(`${TOMOSCAN_API_V2_URL}/account/${owner}/tokenBalanceOf?tokenAddress=${address}`)\n}\n\n","export default __webpack_public_path__ + \"static/media/bg-box-search.9e09a8cb.svg\";","export default __webpack_public_path__ + \"static/media/bg-box-search-dark.e821828b.svg\";","export default __webpack_public_path__ + \"static/media/bg-geometry.56ce656d.svg\";","export default __webpack_public_path__ + \"static/media/bg-geometry-dark.a3b1ebd2.svg\";","\n\nimport bgBoxSearch from '../assets/images/bg-box-search.svg';\nimport bgBoxSearchDark from '../assets/images/bg-box-search-dark.svg';\nimport bgGeometryFooter from '../assets/images/bg-geometry.svg';\nimport bgGeometryFooterDark from '../assets/images/bg-geometry-dark.svg';\n\nconst Colors = (mode: string) => {\n return {\n\n // text\n text: mode === 'dark' ? '#F6F6F6' : '#141414',\n textOverlay: mode === 'dark' ? '#C3C3C3' : '#8B8B8B',\n // backgrounds / greys\n bg: mode === 'dark' ? '#1A1A1A' : '#E0DED8',\n bg1: mode === 'dark' ? '#353535' : '#EBE9E5',\n bg2: mode === 'dark' ? '#282828' : '#fff',\n bg3: mode === 'dark' ? '#1A1A1A' : '#606060',\n bg4: mode === 'dark' ? '#353535' : '#F6F6F6',\n bgHover: mode === 'dark' ? '#282828' : '#e0e0e0',\n trHover: mode === 'dark' ? '#353535' : '#F6F6F6',\n bgImageSearch: mode === 'dark' ? `${bgBoxSearchDark}` : `${bgBoxSearch}`,\n bgImageFooter: mode === 'dark' ? `${bgGeometryFooterDark}` : `${bgGeometryFooter}`,\n qrc: mode === 'dark' ? '#fff' : '#282828',\n\n //bg fixed\n bgWhite: mode === 'dark' ? '#fff' : '#fff',\n\n\n // border color\n border: mode === 'dark' ? '#353535' : '#EBE9E5',\n border1: mode === 'dark' ? '#282828' : '#F6F5F4',\n\n //primary colors\n primary: mode === 'dark' ? '#766B60' : '#766B60',\n primaryHover: mode === 'dark' ? 'rgba(118,107,96,.8)' : 'rgba(118,107,96,.8)',\n // color text link\n textLink: mode === 'dark' ? '#CDA349' : '#CDA349',\n\n // color text\n primaryText: mode === 'dark' ? '#F6F6F6' : '#fff',\n\n\n\n // other\n default: mode === 'dark' ? '#282828' : '#ccc',\n bgdefault: mode === 'dark' ? 'darkgray' : '#ccc',\n\n transfer: mode === 'dark' ? '#3f3f3f' : '#B3F8E9',\n swap: mode === 'dark' ? 'darkorange' : '#2db7f5',\n apporve: mode === 'dark' ? 'darkorange' : '#108ee9',\n\n in: mode === 'dark' ? '#02977e' : '#02977e',\n bgin: mode === 'dark' ? 'rgba(0,201,167,.2)' : 'rgba(0,201,167,.2)',\n\n out: mode === 'dark' ? '#b47d00' : '#b47d00',\n bgout: mode === 'dark' ? 'rgba(219,154,4,.2)' : 'rgba(219,154,4,.2)',\n\n up: '#009E0F',\n down: '#CF2A27',\n\n fail: mode === 'dark' ? '#FD4040' : '#DF1F38',\n bgfail: 'rgba(222,68,55,.1)',\n\n success: '#27AE60',\n bgsuccess: 'rgb(31, 199, 51, 0.16)',\n\n pending: '#b47d00',\n bgpending: 'rgba(219,154,4,.2)',\n warning: '#FF8F00',\n redAlert: '#DC143C',\n\n //Style button\n bgBtn: mode === 'dark' ? '#353535' : '#FFFFFF',\n textBtn: mode === 'dark' ? '#c2c2c2' : '#606060',\n bdBtn: mode === 'dark' ? '#c2c2c2' : '#e8e8e8',\n\n bgBtnActive: mode === 'dark' ? 'rgba(118,107,96,.3)' : 'rgba(118,107,96,.3)',\n bdBtnActive: mode === 'dark' ? '#766B60' : '#766B60',\n textBtnActive: mode === 'dark' ? '#fff' : '#766B60',\n\n bgBtnDisable: mode === 'dark' ? '#353535' : '#F6F6F6',\n textBtnDisable: mode === 'dark' ? '#3d3d3d' : '#F6F6F6',\n }\n}\n\nexport default Colors","import { createContext, useCallback, useContext, useMemo, useEffect, useState } from 'react'\nimport { useSelector } from 'react-redux'\nimport { ThemeProvider } from 'styled-components'\nimport { HelmetProvider } from 'react-helmet-async'\n\nimport { fetchTomoTokenList } from '../api'\nimport { RootState } from '../app/store'\nimport Colors from '../constants/themeConfig'\n\ninterface GeneralProviderProps {\n children: any\n}\n\nconst GeneralContext = createContext({\n mode: 'light',\n tomoTokenList: [],\n requestLimit: false\n})\n\nexport function useGeneralContext() {\n const general = useContext(GeneralContext)\n\n return { ...general }\n}\n\nexport default function GeneralProvider({ children }: GeneralProviderProps) {\n const mode = useSelector((state: RootState) => state.general.mode)\n const requestLimit = useSelector((state: RootState) => state.general.requestLimit)\n const theme = useMemo(() => Colors(mode), [mode])\n const [tomoTokenList, setTomoTokenList] = useState([])\n\n const getTomoTokenList = useCallback(async () => {\n try {\n const response = await fetchTomoTokenList()\n \n setTomoTokenList(response.data.data)\n } catch (error) {\n console.log(error)\n setTomoTokenList([])\n }\n }, [])\n\n useEffect(() => {\n getTomoTokenList()\n }, [])\n\n return (\n \n \n \n {children}\n \n \n \n )\n}","import styled from 'styled-components';\n\nexport const Layout = styled.div.attrs(props => ({\n className: 'd-flex flex-column h-100',\n}))`\n background-color: ${({ theme }) => theme.bg};\n`\nexport const TabStyle = styled.div`\n background-color:${({ theme }) => theme.bg2};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n .ant-tabs-nav:before{\n // border-bottom: none!important;\n }\n .ant-tabs-nav-list{\n gap: 32px;\n }\n .ant-tabs-tab {\n border: 0!important;\n color: ${({ theme }) => theme.textOverlay}!important;\n padding: 5px 0!important;\n background-color: transparent!important;\n font-weight: 500;\n text-transform: uppercase;\n border-bottom: 1px solid !important;\n border-color: transparent !important;\n\n &.ant-tabs-tab-active{\n border-color: #000 !important;\n *{\n color: #000!important;\n }\n } \n }\n .ant-tabs-content-holder{\n .ant-tabs-nav:before{\n border-bottom: none!important;\n }\n .ant-tabs-nav-list{\n background-color: transparent;\n background: ${({ theme }) => theme.bg};\n padding: 2px;\n gap:0;\n .ant-tabs-tab{\n font-weight: 400;\n // border-bottom: 1px solid ${({ theme }) => theme.border}!important;\n border: 0 !important;\n padding: 5px 24px!important;\n text-transform: none;\n\n &.ant-tabs-tab-active{\n background: ${({ theme }) => theme.primary}!important;\n *{\n color: #fff!important;\n }\n } \n }\n }\n }\n \n .col-txt-left{\n color: ${({ theme }) => theme.textOverlay}\n }\n @media(max-width: 767px){\n padding: 15px;\n .ant-tabs-tab{\n font-size: 14px;\n }\n }\n`","export default __webpack_public_path__ + \"static/media/tomoscan-logo-dark.3eabd0d2.svg\";","export default __webpack_public_path__ + \"static/media/tomoscan-logo-light.e68df508.svg\";","import styled from 'styled-components'\nimport { Menu } from 'antd'\n\nexport const Wrapper = styled.header`\n background-color: ${({ theme }) => theme.bg2};\n .logo-size {\n height: 28px;\n }\n .ant-row {\n align-items: center;\n height:64px;\n flex-flow: nowrap;\n }\n .ml-auto {\n margin-left: auto;\n }\n .ant-menu-horizontal {\n border: 0;\n justify-content: flex-end;\n min-width: 600px;\n @media(max-width: 991px){\n min-width: 550px;\n li.ant-menu-overflow-item {\n padding: 0 15px;\n }\n }\n }\n .sp_md {\n .d-block {\n display: block;\n }\n }\n .btn-theme {\n background: transparent;\n box-shadow: 0 0 0;\n border-radius: 0px;\n border: 0;\n padding: 4px 15px;\n font-weight: bold;\n font-size: 14px;\n margin-left: 15px;\n position: relative;\n width: 100%;\n &:before {\n background: ${({ theme }) => theme.textOverlay};\n content: '';\n display: block;\n position: absolute;\n height: 20px;\n width: 1px;\n left: 0;\n top: 50%;\n transform: translateY(-50%);\n @media(max-width: 767px){\n display: none;\n }\n }\n &:after {\n content: '';\n display: none;\n }\n img {\n height: 20px;\n }\n }\n`\n\nexport const ContentOnPC = styled.div`\n max-width: 1232px;\n margin: auto;\n padding-left: 15px;\n padding-right: 15px;\n @media(max-width: 767px){\n height: 0;\n overflow: hidden;\n }\n`\n\nexport const NavBar = styled.div`\n display: flex;\n align-items: center;\n`\n\nexport const MenuStyled = styled(Menu)`\n background: unset;\n .ant-menu-submenu,\n .ant-menu-item,\n .ant-menu-item a {\n font-size: 15px;\n color: ${({ theme }) => theme.text};\n svg {\n width: 12px;\n }\n &:after {\n display: none;\n }\n }\n .ant-menu-item-selected,\n .ant-menu-submenu-selected {\n &:after {\n display: none;\n }\n }\n`\n\n//SP\nexport const ContentOnSP = styled.div`\n display: none;\n padding: 0 15px;\n @media(max-width: 767px){\n display: block;\n }\n .btn-group {\n display: flex;\n align-items: center;\n color: ${({ theme }) => theme.text};\n font-size: 20px;\n }\n`\nexport const MenuMobile = styled(Menu)`\n padding: 10px 0;\n .ant-dropdown-menu-item,\n .ant-dropdown-menu-submenu-title {\n width: 180px;\n padding: 10px 25px;\n }\n`","import React, { useState } from 'react'\nimport { Link } from 'react-router-dom'\nimport { Row, Col, Menu, Dropdown } from 'antd';\nimport { useSelector } from 'react-redux';\nimport { CaretDownOutlined } from '@ant-design/icons';\nimport LogoTomoscan from '../../assets/images/tomoscan-logo-dark.svg';\nimport LogoTomoscanLight from '../../assets/images/tomoscan-logo-light.svg';\n\nimport {\n MenuOutlined\n} from '@ant-design/icons';\n\nimport { RootState } from '../../app/store';\n// import { changeMode } from '../../features/general/generalSlice';\n\nimport {\n Wrapper,\n ContentOnPC,\n NavBar,\n MenuStyled,\n ContentOnSP,\n MenuMobile,\n} from './headerStyles';\n\nconst { SubMenu } = Menu;\n\nconst menu = (\n \n \n Home\n \n \n Transactions\n \n \n Blocks\n Epochs\n \n \n All Accounts\n All Masternodes\n Verified Contracts\n \n \n Tokens\n NFTs\n \n \n);\n\nexport default function Header() {\n const [current, setCurrent] = useState('')\n\n const handleClick = (e: any) => {\n setCurrent(e.key);\n };\n\n const mode = useSelector((state: RootState) => state.general.mode)\n // const dispatch = useDispatch()\n\n return (\n \n \n \n \n \n \n \n \n\n \n \n \n \n Home\n \n \n Transactions\n \n \n Blocks\n \n \n }\n >\n Blocks\n Epochs\n \n \n Accounts\n \n \n }\n >\n All Accounts\n All Masternodes\n Verified Contracts\n \n \n Tokens\n \n \n }\n >\n Tokens\n NFTs\n \n \n\n {/* */}\n \n \n \n \n\n \n
\n \n \n \n \n \n \n \n
\n {/* */}\n\n \n
e.preventDefault()}>\n \n
\n
\n
\n \n
\n
\n
\n
\n )\n}","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJ4SURBVHgB7ZlPjgFBFMafyay5gD97Yk+sEXtiT+wJaxJ74QLshb2wF07gApzABWbydVKTnp7qqldaq8jUL5nItOqu91W9+l5VS2Sz2S96Yz7ozXECbOME2MYJsI0TYBsnwDafFIFkMkmtVovy+TyVSiXvWqVSUd6zXq+99ufzmQ6HA51OJ7rdbvQoiUc2cwh2MBj8BO1nPp97n5lM5tf16/VKqVSKOp3On3sgZrvd0mazIVOMBXS7XRqPxxQHEL9YLIzuMRKQTqdpt9t5qRMXjUaDLpcLu73RIu73+7EGDyaTiVF7tgCMPhZs3GBdydZWGGwBGP1XAYPgwhLwqtEXYAZgtRxYAkym9FnUajVWO5aAV46+aZ9aAXAd1Qzc73dqt9tULBa9KozqGgbsETaZy+Wo1+spKzDSNlgMZWgF6NJnOp16lRRCEBACw/9B8B2ECo+H0OFwqHx2tVolHVoBqsWEoGXlf7/fS6+hvR8IVc1CoVAgHVoBqocEA1IR1lYlgONErDUQBvIUf5yOy+Wy9H5VinKqvlaALEA/s9nsV0dwD5mDINDgTlRXsHR9A+1m7ng8ah+ENMDi1DkWEHkPn+eMMBxLRaQDjSAslWQ8uyj+7zMx0kbm+Vxwr2rvz3E5rQAUmzCrQw7jKIgKLAqaCgSENjh5oajhMyxIXNcVOsA6kSFQbKdxnJSBoBCQADYaXKAYBP9AwL2azab0ecvl0jtacmbA+EgJIUGbHI1GxgdyLGa8ofAjZsckLR96KwEh9Xrd83V0xplqGXg5gOdA/Gq1MqrsgkTU38iQKo90/Cwi26jN4IF7N2obJ8A2ToBtnADbOAG2+QYbLgQ//TS3LQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALcSURBVHgB7ZkxrClBFIZn33vFrehUotHRqYhCJ9GIgiiIglCoCDWPTiH0QiFRCIVEIdHpdDqdjkqnU72X/yRHZK+4d2cn2dxkvuRmb2Z3Of/Mv+ecWYbP5/snfjC/xA9HC3AaLcBptACn0QKcRgtwmj/CIi6XSxSLxZfnjsej2G63wgrpdFp4vV6xXC7F+XwWVrEs4Ha7kYhSqfTyXCKR+HYg8Xhc9Pt9Ej0cDoUMhkw3CgGbzYYCzWazNBYIBGhsv98/xt6BWcf1LBpHGX673e6/wiL3+53sUq/X6YsPh4O4Xq/0fz6fp2sg5F3w8/mcPgdica8sUgIAZp+ttNvtKAgIiUQiIpPJkC1eBYZ7VqsVHVOplJTvnzHsbGjYSph5zCSOX1ljNBqR98vlsuUH/hXSKwBgAVgFVvr4+KCVQMAYTyaTjzEG1+VyOTEYDMRsNhMqsCUAsE2q1SqJgSVgpWAwSCmSxxB8rVaj4GUzzisMVXti2AaWYtuwvcBkMhGtVkssFgvRbDaFSpQJYO/D141Gg8bC4TBlG4Csxc+JSmxbiGHvw0qXy4UC5kwVCoVEr9cja6nGUP1aBTOOosYVma2EYzQaVb4Cyps5tg9aBICAkTIhgMdUosxCDAKGZWKx2KcqjaLHY6pQbiFOl2wfPLh4HoDZXipQaiHMMIIfj8cUJIBtIASY7aUCZRbCzKJNwGxXKhXKSLAKspK5SqPhU2UlJQJQA6bTKQVVKBQemea54TNXaTR86/Xadlay/Qxwawzgd7O3nyuyuUpzw2cH2yuA4P1+PwV/Op0+nee9A1bB4/FQpeYx2Au82zt8hS0B7XabWuNOp/O2NWYrwfvmKv3cBMogbSGr3eVzRTZXaSC7rZQSADugu0S67Ha7376P980IlIOFCPyhY8VKWsXyWwkOBK9BrAQPYB3UAmw7zUAEEoJVKxn6NzKH0QKcRgtwGi3AabQAp9ECnOY/3/riovBvGaMAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMRSURBVHgB7ZkxrylBFMfPvveS2/EFRKMjGhXRqIie6DSiJwqJQp6e0CmEXugUglroVHwBfAGd6r38N1mRze7Mmd11N3L9Erl7786dPf+Zc86cPbRwOPyP3phf9OZ8BPjNR4DfvL2AP+QRgUCAisUiRaNR/RMKhfS/gdvtRpfLRf+s12va7Xb6tRdobs+BZDJJ9Xpd/6kChIzHY9rv9+QGxwKwwr1eT9lwM/P5nPr9vuMd+R0MBv+SInCV0WhEkUiE3AJ3w3z3+50OhwOpoiwA7tJut+nr64u8AnNlMhnSNE3ZpZQEwPharUavAu6oKoItoFKpULPZpFcDEdfrlU6nE2s8K4gRsMvl8pEWXw3Sbj6fZwU26yCD23yX8QDPQobjIBWALUWW+G7wXE6KlgqA73sJ3AMHWLVapU6nIxyLpCFDGAPw/e12S16AzILTdzab6SK488fj8cd4K4S1kNtTFg+GwTDcKjVCgIxCoUCTycT2vlBALpcjJyB7wHA8WLR6nMQQi8WE94UxwFmhZ7DKpVKJ0uk0DQaDh/EwFKUHyoZnzL9bIRsj3AGOAJmbIAkgDSNgzYeTbHU5NggFiLbYyCZ2bvJcrTYaDb3qtBojQ+Zmjl5osNpIg3YYqw7sjAeqLmqFMAbsAtAogc0GGL6OahUgHuyMxxycIBYlASDcAWQTqyCC4d1uV7+G3x+PR/0aomAUHgrjRQUZtzSR1UNCATBMlgWsjnzEhqya5GQgcD6fhfeFLsQtac1YuZeZVCpFHDabjfC+UICd/8owSgRRLcMNYHQwREiD2E3XAJkIQqyM5bjQarWSxoC0GkXHwA1Wu8GtsUQ1kAHrjWw6nbou7IBRI3FiBO6LM0TGz3ilxESylw8vUWl0sbsSRkrlpj+nwPjhcMger9QXMjLSq0TAeJThKih35iACPppIJDzrzmG+VqvFyjpmHPVG0cNcLBZ6UHNqehFYkHK57Pi88aS9jvI5m80q/R8Mhsv41l43g1QLMXiPxrXVFxxIBPg8dybcon2+6PaZjwC/+Qjwm7cX8B+bW4DQMzzSGgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAL9SURBVHgB7ZnNrilBEMfLzV3zAL72xBqxJ/bEntgT1iTWhL2wF/aCtfACPIEX4AXuzb+TPpkzp1t/TMvkJPNLThzDTNe/q7q6qsUymcw/+sX8oV9OJCBsIgFhEwkIm7/0AVKpFOVyOYrH4+z94/Gg1+tF9/udXONEAAxtNptUrVa/Ge4HIq7XKx2PR9put+SCWNCduN/vU7vdlhotA15ZLBaBhVgLwEwvl0sWLkGAkFarxV5tsFrECJfNZhPYeIBn4FmYEBuMBcD46XRqHDLvCCLCKIQwwH6/p0+BRV6v143CSdsDmHHEvJfdbscGHAwGRoMiE00mE6pUKuz/d2Oo0E6jyDb+mL/dbiy34w9ikI3y+Tx7/3w+v0TBMHgPn/lT6OFwoFKp9PUe3+v1eixD6aAVQjD8fD7/uI7s4Z1BGxqNBs1ms2/XEErwDl5VaIUQZkSEqyzkBx6DMB20BJTLZeF1l5nIT61W0/qeMoRkmQdxjgXsAoSnyBOFQkEZRkoPyHLzer0mV6xWK+F1mee9KAXI4hzZwxWyRJBMJkmFtQCdDKGL7Fk6a8y6ofnkAjbBWkAikSBXBEnHSgGyEqFYLJIrZIlCpzyxFoCq1BWdTodMxvaiFIDaRQTqF28NYwuMl4WQTpmiFMD7WBGoHIOIgBdHo5HwM900rbWIvQ/DDoyNB+5FJkIjgmLMpBmBaNyHxkjG6XQiHbSqURiK7R6vMLzb7TLP+NtKXEPIoT8QwbsuVQrGGKhGddDyAAybz+fsf97+wQguhINr7+L2crlo7R+6vQDQ3gdQ+3DjYMR4PGbhxHsCzBpmH0bKkCUEL2iMTI5ajHpiPvs8bEwbGlljxMEkoMI1KVOMdmL/GQ5fwFiUMA4nc7bwZ5vWWFYHW35PeMlms2/vE3kAoYj1ZHO4ZVULcVeLYjWdTkvvEwlGSjY9SvFiXczB1cPhkA3uXQc4jXh3Dwf34F4crwQh5upnVn6krso0WCcw3lU/EYt+Jw6ZSEDYRALCJhIQNv8BCLB51c1zFLEAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/metamask.45038d58.svg\";","import { Button } from 'antd';\nimport styled from 'styled-components'\nexport const Wrapper = styled.footer`\n background-color: ${({ theme }) => theme.bg2};\n padding: 25px 0 0;\n position: relative;\n z-index: 1;\n &:before {\n content: '';\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n // background-image: url(${({ theme }) => theme.bgImageFooter});\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n border-radius: 32px 32px 0px 0px;\n z-index: -1;\n }\n @media only screen and (max-width: 767px) {\n .sp-justify {\n justify-content: center;\n }\n }\n`\n\nexport const Content = styled.div`\n max-width: 1232px;\n margin: auto;\n padding-left: 15px;\n padding-right: 15px;\n .logo-size {\n height: 28px;\n }\n .list-social {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n img {\n width: 24px;\n filter: grayscale(0%);\n transition: all 0.3s ease;\n opacity: 1;\n &:hover {\n filter: grayscale(100%);\n opacity: 0.6;\n }\n }\n .ant-typography {\n color: ${({ theme }) => theme.textOverlay};\n }\n @media(max-width: 580px){\n .social-label{\n display: none;\n }\n }\n }\n`\n\nexport const ListMenuFooter = styled.div`\n .ant-descriptions {\n @media only screen and (min-width: 768px) {\n display: flex;\n align-items: flex-start;\n .ant-descriptions-header {\n padding-right: 40px;\n }\n }\n .ant-descriptions-title {\n font-weight: bold;\n font-size: 14px;\n color: ${({ theme }) => theme.text};\n position: relative;\n padding-left: 10px;\n \n }\n }\n a {\n color: ${({ theme }) => theme.text};\n font-size: 14px;\n &:hover {\n color: ${({ theme }) => theme.textOverlay};\n }\n }\n`\n\nexport const EndFooter = styled.div`\n background-color: ${({ theme }) => theme.bg3};\n padding: 5px 15px;\n text-align: center;\n font-size: 10px;\n color: #C3C3C3;\n span {\n\n }\n`\nexport const ButtonStyled = styled(Button)`\n border-radius: 0;\n height: auto;\n display: flex;\n align-items: center;\n margin-bottom: 10px;\n padding: 5px 10px;\n border: 1px solid ${({ theme }) => theme.border};\n background-color: ${({ theme }) => theme.bg2};\n :hover,:focus{\n background-color: ${({ theme }) => theme.bg2};\n border-color: ${({ theme }) => theme.border};\n }\n @media(max-width: 767px){\n display: none;\n }\n`\nexport const TextMain = styled.span`\n color: ${({ theme }) => theme.text};\n margin-left: 5px;\n font-size: 12px;\n`","import { RPC_ENDPOINT, CHAINID } from \"../constants/env\"\n\nexport const MAX_RECORD = 10000\nexport const supportedWalletOption = [{\n chainId: '0x' + CHAINID.toString(16), // 88\n chainName: CHAINID === 88 ? 'Viction Mainnet' : 'Viction Testnet',\n nativeCurrency: {\n name: 'VIC',\n symbol: 'VIC',\n decimals: 18,\n },\n rpcUrls: [RPC_ENDPOINT],\n}]\n\nexport const tagWarningAddress: {[key: string]: {text: string, link: string, tag: string[]}} = {\n '0xbbE2a100822fc7022c0f42E277b338F67371c5b0': {\n text: 'This address involved in CoinEx Attack on Sep 12.',\n link: 'https://announcement.coinex.com/hc/en-us/articles/19187420867348-Latest-Progress-of-the-Hacking-Attack-on-Sep-12-2023-Updated-on-Sep-14-',\n tag: ['Hacker', 'CoinEx Attack']\n },\n}\n\nexport const nonFungibleTokenStandard = [\"trc721\", \"vrc721\", \"vrc725\"]\nexport const fungibleTokenStandard = [\"trc20\", \"trc21\", \"vrc20\", \"vrc21\", \"vrc25\"]\n\nexport enum WalletAdapter {\n COIN98,\n VICTION,\n RAMPER,\n METAMASK,\n}\n","// import React from 'react'\nimport { useSelector } from 'react-redux';\nimport { Link } from 'react-router-dom'\nimport Web3 from 'web3'\nimport LogoTomoscan from '../../assets/images/tomoscan-logo-dark.svg';\nimport LogoTomoscanLight from '../../assets/images/tomoscan-logo-light.svg';\nimport icDiscord from '../../assets/images/ic-discord.png';\nimport icTwitter from '../../assets/images/ic-twitter.png';\n// import icFacebook from '../../assets/images/ic-facebook.png';\nimport icTelegram from '../../assets/images/ic-telegram.png';\nimport icGithub from '../../assets/images/ic-github.png';\nimport MetamaskLog from '../../assets/images/metamask.svg'\nimport { CHAINID } from '../../constants/env'\nimport { RootState } from '../../app/store';\n\nimport {\n Row,\n Col,\n Space,\n Descriptions,\n Typography\n} from 'antd'\n\nimport {\n Wrapper,\n Content,\n ListMenuFooter,\n EndFooter,\n ButtonStyled,\n TextMain\n} from './footerStyles'\nimport { supportedWalletOption } from '../../constants';\n\nconst { Text } = Typography;\n\nexport default function Footer() {\n const mode = useSelector((state: RootState) => state.general.mode)\n const ethEnabled = async () => {\n if (window.ethereum) {\n window.web3 = new Web3(window.ethereum)\n const networkId = await window.ethereum.request({\n method: 'net_version',\n });\n try {\n if (Number(networkId) !== CHAINID) {\n await window.ethereum.request({\n method: 'wallet_addEthereumChain',\n params: supportedWalletOption,\n })\n } else {\n alert('Already on Viction Network')\n }\n } catch (error) {\n console.error(error)\n return false\n }\n } else {\n alert('Please install Metamask')\n }\n }\n return (\n \n \n \n \n \n \n }\n >\n \n \n Join us:\n \"\"\n \"\"\n {/* \"\" */}\n \"\"\n \"\"\n \n \n \n \n \"MetaMask\"\n Add Viction Network\n \n \n \n \n \n About us\n Contact us\n Terms of service\n \n \n \n \n \n \n Viction Wallet (Extension)\n Viction Wallet (iOS)\n VicMaster\n \n \n \n \n \n \n \n VIC Scan © {(new Date()).getFullYear()} | Powered by Viction\n \n \n \n )\n}\n","export default __webpack_public_path__ + \"static/media/ic-list-block.38bf5d2a.svg\";","export default __webpack_public_path__ + \"static/media/ic-list-transactions.9c7b4e4c.svg\";","import styled from \"styled-components\"\n\nexport const ContentHomePage = styled.div`\n margin-top: 24px;\n .hide-mobile {\n @media(max-width: 991px){\n display: none;\n }\n }\n .hide-desktop {\n @media(min-width: 992px){\n display: none;\n }\n }\n`\n\nexport const InnerBox = styled.div`\n height: 100%;\n`\nexport const ContentMainTop = styled.div`\n margin-top: 24px;\n`\n\nexport const ContentMainTable = styled.div`\n margin-top: 24px;\n`\n\nexport const SearchBoxWrapper = styled.div`\n background-color: ${({ theme }) => theme.bg2};\n padding: 44px 32px;\n display: flex;\n align-items: center;\n position: relative;\n z-index: 1;\n @media(max-width: 991px){\n padding: 24px;\n min-height: auto;\n }\n &:before {\n content: '';\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n // background-image: url(${({ theme }) => theme.bgImageSearch});\n background-position: center;\n background-repeat: no-repeat;\n background-size: 115% auto;\n border-radius: 16px;\n z-index: -1;\n }\n`\nexport const TitleSearch = styled.div`\n color: ${({ theme }) => theme.text};\n font-weight: 700;\n font-size: 32px;\n line-height: 48px;\n margin-bottom: 15px;\n letter-spacing: -1px;\n @media(max-width: 767px){\n font-size: 28px;\n line-height: 36px;\n }\n`\n\nexport const MainDetailToken = styled.div`\n margin-top: 24px;\n .ant-row {\n row-gap: 1px!important;\n }\n .hr-space-lg {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid #e7eaf3;\n }\n`\n\nexport const TitleBoxStart = styled.div`\n color: #8B8B8B;\n font-size: 12px;\n margin-bottom: 2px;\n text-transform: uppercase;\n`\n\nexport const TitleHeaderBox = styled.div`\n color: ${({ theme }) => theme.text};\n font-weight: 900;\n font-size: 15px;\n`\n\nexport const InfoDetails = styled.a`\n background-color: ${({ theme }) => theme.bg2};\n display: flex;\n align-items: center;\n padding: 24px 32px;\n overflow: hidden;\n border-left: 1px solid;\n border-color: ${({ theme }) => theme.bg};\n height: 98px;\n \n @media(max-width: 767px){\n padding: 10px;\n height: 100%;\n }\n .media-image {\n margin-right: 12px;\n width: 44px;\n @media(max-width: 767px){\n margin-right: 5px;\n width: 40px;\n }\n }\n .media-info {\n .txt-sap {\n font-size: 14px;\n font-weight: normal;\n color: #8B8B8B;\n @media(max-width: 767px){\n font-size: 10px;\n }\n }\n }\n .ant-typography {\n color: ${({ theme }) => theme.text};\n font-size: 28px;\n font-weight: 500;\n line-height: 1;\n letter-spacing: -1px;\n @media(max-width: 767px){\n font-size: 13px;\n }\n }\n`\n\nexport const CardBoxTable = styled.div`\n background-color: ${({ theme }) => theme.bg2};\n padding: 24px;\n height: 100%;\n .ant-tabs-tab {\n padding: 10px 1.25rem!important;\n margin-left: 0px!important;\n }\n .list-group-item {\n padding: 10px 0;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n color: ${({ theme }) => theme.text};\n &:last-child {\n border-bottom: 0;\n }\n .ant-typography {\n color: ${({ theme }) => theme.text};\n &.ant-typography-secondary {\n color: ${({ theme }) => theme.textOverlay};\n }\n }\n .txt-icon {\n background: ${({ theme }) => theme.border};\n display: flex;\n align-items: center;\n justify-content: center;\n height: 40px;\n width: 40px;\n margin-right: 12px;\n }\n .txt-body {\n overflow: hidden;\n width: calc(100% - 50px);\n * {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n display: block;\n }\n }\n }\n .btn-view-all {\n a {\n background: ${({ theme }) => theme.primary};\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 15px;\n font-weight: bold;\n padding: 8px 24px;\n transition: .3s;\n &:hover {\n background: ${({ theme }) => theme.primaryHover};\n }\n }\n }\n`\n\nexport const CardTableContent = styled.div`\n overflow: hidden;\n overflow-y: auto;\n margin: 14px 0;\n`\n\n\n","import { RefObject, useEffect, useRef } from 'react'\nimport { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux'\nimport { useLocation } from 'react-router-dom'\nimport type { RootState, AppDispatch } from './store'\n\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch = () => useDispatch();\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\n\nexport const useStateDetails = (getDetails: Function, param: string | undefined, currState: 'transactions' | 'blocks' | 'epochs' | 'tokens' | 'contracts') => {\n const dispatch = useAppDispatch()\n const details: any = useAppSelector((state) => state[currState]['details'])\n\n useEffect(() => {\n if (param) dispatch(getDetails(param))\n }, [param, dispatch])\n\n return details\n}\n\nexport function useOnClickOutside(\n node: RefObject,\n handler: undefined | (() => void)\n) {\n const handlerRef = useRef void)>(handler)\n useEffect(() => {\n handlerRef.current = handler\n }, [handler])\n\n useEffect(() => {\n const handleClickOutside = (e: MouseEvent) => {\n if (node.current?.contains(e.target as Node) ?? false) {\n return\n }\n if (handlerRef.current) handlerRef.current()\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [node])\n}\n\nexport function useQuery() {\n return new URLSearchParams(useLocation().search)\n}\n","import BigNumber from 'bignumber.js'\nimport { formatDistance, format, addMinutes } from 'date-fns'\nimport Web3 from 'web3'\n\nimport { RPC_ENDPOINT } from '../constants/env'\n\nexport function getContract(ABI: any, contractAddress: string) {\n let web3 = new Web3(new Web3.providers.HttpProvider(RPC_ENDPOINT))\n return new web3.eth.Contract(ABI, contractAddress)\n}\n\nexport function toTomo(amount: string | number | undefined, decimals = 9) {\n if (!amount) return amount\n\n return new BigNumber(amount).div(10 ** decimals).toNumber()\n}\n\nexport function formatNumber(number: string | number | undefined | null, precision = 8) {\n if (!number) return number\n\n let formated = new BigNumber(number).toFormat(precision)\n\n if (formated.match(/\\.[0]+$/g)) {\n formated = formated.replace(/\\.[0]+$/g, '')\n }\n\n if (formated.match(/\\.\\d+[0]+$/g)) {\n formated = formated.replace(/[0]+$/g, '')\n }\n\n return formated\n}\n\nexport function formatUtc(timestamp: number, pattern = \"MMMM dd, yyyy HH:mm:ss a '+UTC'\") {\n if (!timestamp) return null\n\n const dateLocal = new Date(timestamp * 1000)\n return format(addMinutes(dateLocal, dateLocal.getTimezoneOffset()), pattern)\n}\n\nexport function timeFormatUtc(timestamp: number | undefined, pattern = \"MMMM dd, yyyy HH:mm:ss a '+UTC'\") {\n if (!timestamp) return timestamp\n\n const dateLocal = new Date(timestamp * 1000)\n return format(addMinutes(dateLocal, dateLocal.getTimezoneOffset()), pattern)\n}\n\nexport function timeFormatDistance(time: number) {\n if (!time) return\n\n return formatDistance(time * 1000, new Date(), {\n addSuffix: true,\n })\n}\n\nexport function truncateBetween(text: string, num = 8, symbol = '...') {\n const newText = text.toString()\n\n if (!text) return ''\n if (newText.length <= 2 * num) return newText\n\n const firtPart = newText.slice(0, num)\n const lastPart = newText.slice(-num)\n\n return firtPart + symbol + lastPart\n}\n\nexport function getFirstAndLastDay() {\n const date = new Date(), y = date.getFullYear(), m = date.getMonth()\n const firstDay = new Date(Date.UTC(y, m, 1))\n const lastDay = new Date(Date.UTC(y, m + 1, 0))\n\n return { firstDay, lastDay }\n}\n\nexport const sleep = (ms: number) => {\n return new Promise((resolve) => setTimeout(resolve, ms));\n};\n\nexport const isAddress = (text: string) => {\n if (!text) return false;\n try {\n return Web3.utils.isAddress(text.toLowerCase());\n } catch (error) {\n \n }\n return false;\n}","import styled from \"styled-components\"\nimport { Tag } from \"antd\"\nimport { TagStatusType } from '../constants/types'\n\n\nconst TagStyled = styled(Tag)`\n background-color: ${({ theme }) => theme.primary};\n color: ${({ theme }) => theme.primaryText};\n border: 0;\n padding: 3px 15px;\n margin: 0;\n text-transform: capitalize;\n text-overflow: hidden;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n border-radius: 0!important;\n`\n//\nconst TagStatusStyled = styled(Tag) <{ variant: TagStatusType }>`\n background-color: ${({ theme, variant }) => variant === 'in' ? theme.bgin : theme.bgout}};\n color: ${({ theme, variant }) => variant ? theme[variant] : theme.transfer};\n border: 0;\n padding: 3px 10px;\n font-weight: 500;\n margin: 0;\n min-width: 50px;\n text-align: center;\n text-transform: uppercase;\n border-radius: 0!important;\n`\n\n// Change Up, Down\nconst TagUpDownStyled = styled.span`\n background: transparent;\n border: 0;\n position: relative;\n display: flex;\n align-items: center;\n\n &.down {\n &:before {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n margin-right: 5px;\n border-top: 7px solid ${({ theme }) => theme.down};\n }\n }\n &.up {\n &:before {\n content: '';\n border-left: 6px solid transparent;\n border-right: 6px solid transparent;\n margin-right: 5px;\n border-bottom: 7px solid ${({ theme }) => theme.up};\n }\n }\n &.default {\n &:before {\n content: '';\n border-bottom: 6px solid transparent;\n border-top: 6px solid transparent;\n border-left: 6px solid ${({ theme }) => theme.default};\n margin-right: 5px;\n margin-left: 5px;\n }\n }\n`\n\nexport { TagStyled, TagStatusStyled, TagUpDownStyled }","import { Tag, Typography } from \"antd\"\nimport styled from 'styled-components'\n\nconst { Text, Title } = Typography\n\ninterface TextStyledProps {\n transform?: string\n color?: string\n}\n\nexport const TextStyled = styled(Text) `\n text-transform: ${props => props.transform ? props.transform : 'inherit'};\n // color: ${props => props.color ? props.color : 'inherit'};\n`\nexport const TitleStyled = styled(Title)`\n color: ${({ theme }) => theme.text}!important; \n margin-bottom: 0!important;\n @media(max-width: 767px){\n font-size: 25px!important;\n }\n`\nexport const SubTitleStyled = styled.span`\n color: ${({ theme }) => theme.text}!important; \n margin-bottom: 0!important;\n font-size: 30px;\n font-weight: 600;\n @media(max-width: 767px){\n font-size: 25px!important;\n }\n`\nexport const TokenVerifiedIcon = styled(Tag)`\ncolor: ${({ theme }) => theme.success};\nvertical-align:top;\nborder: 0;\nborder-radius: 12px;\nwidth: 25px;\nbackground: transparent;\n`\n\nexport const PageTitle = styled(Title)`\n`","export default __webpack_public_path__ + \"static/media/verifiedandproject.5acd4b15.svg\";","export default __webpack_public_path__ + \"static/media/verified.f747a517.svg\";","export default __webpack_public_path__ + \"static/media/warning.b554769b.svg\";","export default __webpack_public_path__ + \"static/media/verifiedLine.dc1a37f6.svg\";","import React, { useMemo } from 'react'\n\n\nimport {Tooltip } from 'antd'\n\nimport isPer from '../../src/assets/images/status/verifiedandproject.svg';\nimport isContract from '../../src/assets/images/status/verified.svg';\nimport icNothing from '../../src/assets/images/status/warning.svg';\nimport isProject from '../../src/assets/images/status/verifiedLine.svg';\n\n\nconst CheckStatus = ({tokenStatus, contractVerified, isOnlyIcon}: {tokenStatus: any, contractVerified?: boolean, isOnlyIcon?: boolean}) => {\n\n const isContractVerified = !tokenStatus?.projectVerified && (tokenStatus?.contractVerified || contractVerified )\n const isProjectVerified = tokenStatus?.projectVerified && !tokenStatus?.contractVerified\n const isFull = tokenStatus?.projectVerified && tokenStatus?.contractVerified \n const isNothing = !tokenStatus?.projectVerified && !tokenStatus?.contractVerified \n\n const { checkText, checkImg } = useMemo(() => {\n if(isFull){\n return {\n checkText: 'Contract Verified & Project Confirmed',\n checkImg: isPer\n };\n }\n\n if(isContractVerified ){\n return {\n checkText: 'Contract Verified',\n checkImg: isContract\n };\n }\n if(isProjectVerified ){\n return {\n checkText: 'Project Confirmed',\n checkImg: isProject\n };\n }\n return {\n checkText: 'Contract Not Yet Verified',\n checkImg: icNothing\n };\n\n }, [isFull, isContractVerified, isProjectVerified, contractVerified])\n\n return (\n
\n {checkText}} >\n icon\n \n {!isOnlyIcon && <>\n  \n \n {checkText}\n \n }\n
\n )\n}\n\nexport default CheckStatus","import { Row, Col, Tag, Tooltip } from 'antd'\nimport styled from 'styled-components'\nimport { TitleStyled, PageTitle, SubTitleStyled } from '../common/TypographyStyled'\n\nimport { TokenType } from '../constants/types'\nimport { truncateBetween } from '../utils'\nimport { SearchBox, TokenIcon } from './index'\nimport CheckStatus from './CheckStatus'\n\n\ninterface PageHeaderProps {\n title?: string\n token?: any\n}\n\nexport function PageHeader({ title }: PageHeaderProps) {\n return (\n \n \n \n {title}\n \n \n )\n}\n\nexport function PageHeaderTokenDetail({ token }: PageHeaderProps) {\n\n return (\n \n \n \n \n \n \n
\n {token.name && token.symbol ?\n {`${token.name} (${token.symbol?.toUpperCase()})`}\n :\n \n {truncateBetween(token.address.toLowerCase())}\n \n }\n
\n {/* */}\n {token.type}\n \n
\n \n
\n
\n
\n
\n \n
\n
\n )\n}\n\nexport function TokenTypeTag({ type }: { type: TokenType | undefined }) {\n\n switch (true) {\n case type === 'vrc20':\n return (VRC20)\n case type === 'vrc21':\n return (VRC21)\n case type === 'vrc721' || type === 'tr721':\n return (VRC721)\n case type === 'vrc25':\n return (VRC25)\n case type === 'native':\n return (NATIVE)\n default:\n return {type}\n }\n}\n\nexport const Wrapper = styled.div`\n padding: 25px 0;\n @media(max-width: 767px){\n padding-bottom: 0;\n .ant-row{\n margin-bottom: 0;\n }\n }\n`\nexport const TagNative = styled(Tag)`\n background-color: ${({ theme }) => theme.primary};\n color: ${({ theme }) => theme.primaryText};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n`\nexport const TagVRC20 = styled(Tag)`\n background-color: ${({ theme }) => theme.bgout};\n color: ${({ theme }) => theme.out};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n padding-left:15px;\n padding-right: 15px;\n`\nexport const TagVRC21 = styled(Tag)`\nbackground-color: ${({ theme }) => theme.bgout};\n color: ${({ theme }) => theme.out};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n padding-left:15px;\n padding-right: 15px;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n`\nexport const TagVRC721 = styled(Tag)`\nbackground-color: ${({ theme }) => theme.bgout};\n color: ${({ theme }) => theme.out};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n padding-left:15px;\n padding-right: 15px;\n`\nexport const TagVRC725 = styled(Tag)`\nbackground-color: ${({ theme }) => theme.primary};\n color: ${({ theme }) => theme.primaryText};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n padding-left:15px;\n padding-right: 15px;\n`\n\n\nexport const TagVRC25 = styled(Tag)`\nbackground-color: ${({ theme }) => theme.primary};\n color: ${({ theme }) => theme.primaryText};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n padding-left:15px;\n padding-right: 15px;\n`\nconst AddressName = styled.span`\n font-size: 20px;\n font-weight: 600;\n color: ${({ theme }) => theme.text};\n`\n\nexport const TagWarningAddress = styled(Tag)`\n background-color: ${({ theme }) => theme.warning};\n color: ${({ theme }) => theme.redAlert};\n border: 0;\n border-radius: 0!important;\n font-weight: 500;\n margin: 10px 10px 0 0;\n text-transform: uppercase;\n padding-left:15px;\n padding-right: 15px;\n`","import styled from 'styled-components'\nimport { Button, Form, Input, List } from 'antd'\n\nexport const FormStyled = styled(Form)`\n display: flex;\n align-items: center;\n background: ${({ theme }) => theme.bg1};\n border: 1px solid ${({ theme }) => theme.border};\n position: relative;\n .ant-input{\n color: ${({ theme }) => theme.text};\n }\n .anticon-close-circle{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\n\nexport const FormItemStyled = styled.div`\n position: relative;\n width: 100%;\n`\n\nexport const InputGroupStyled = styled(Input.Group)`\n display: flex;\n .ant-input-affix-wrapper:focus,\n .ant-input-affix-wrapper-focused {\n box-shadow: none;\n }\n`\n\nexport const InputStyled = styled(Input)`\n padding: 0;\n border: none;\n background: transparent;\n\n .ant-input {\n padding: 15px!important;\n height: 100% !important;\n background: transparent;\n }\n\n .ant-input-suffix {\n padding-right: 70px;\n }\n .ant-input-clear-icon{\n font-size: 20px;\n }\n`\n\nexport const ButtonSearch = styled(Button)`\n background: ${({ theme }) => theme.primary};\n border: 0!important;\n color: #fff;\n width: 56px!important;\n height: 40px !important;\n margin-right: 4px;\n padding: 0 !important;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n right: 0;\n z-index: 9;\n border-radius: 0;\n &:hover {\n background: ${({ theme }) => theme.primaryHover};\n color: #fff;\n }\n\n .anticon-search {\n line-height: 0;\n }\n`\n\nexport const ListWrapper = styled.div`\n margin-top: 7px;\n position: absolute;\n z-index: 1000;\n width: 100%;\n max-height: 320px;\n overflow-y: auto;\n background: ${({ theme }) => theme.bg2};\n box-shadow: 0 3px 6px -4px rgb(0 0 0 / 12%), 0 6px 16px 0 rgb(0 0 0 / 8%), 0 9px 28px 8px rgb(0 0 0 / 5%);\n`\n\nexport const ListStyled = styled(List)`\n border: none;\n\n .ant-list-items {\n margin: 0 !important;\n }\n\n .ant-list-header {\n border-bottom: 1px solid ${({ theme }) => theme.border} !important;\n padding: 0!important;\n }\n\n .ant-spin-nested-loading {\n border-radius: 0 !important;\n border: 0 !important;\n }\n`\n\nexport const ListHeader = styled.div`\n text-align: left;\n font-weight bold;\n padding: 7px 15px;\n color: ${({ theme }) => theme.text};\n`\n\nexport const ListItemStyled = styled(List.Item)`\n flex-direction: column;\n padding: 10px 15px !important;\n margin: 0 !important;\n width: 100%;\n border-bottom: 1px solid ${({ theme }) => theme.border} !important;\n cursor: pointer;\n\n &:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n`\n\nexport const Token = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n margin-bottom: 3px;\n`\n\nexport const TokenHeader = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n margin-bottom: 3px;\n color: ${({ theme }) => theme.textOverlay};\n`\n\nexport const TokenTitle = styled.div`\n margin-left: 14px;\n font-weight: 500;\n text-align: initial;\n color: ${({ theme }) => theme.text};\n`\n\nexport const TokenExtension = styled.div`\n margin-left: 14px;\n font-size: 12px;\n text-align: left;\n width: 100%;\n color: ${({ theme }) => theme.textOverlay};\n`\n\nexport const OneId = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n margin-bottom: 3px;\n`\n\nexport const OneIdHeader = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n margin-bottom: 3px;\n color: ${({ theme }) => theme.textOverlay};\n`\n\nexport const OneIdTitle = styled.div`\n margin-left: 14px;\n font-weight: 500;\n text-align: initial;\n color: ${({ theme }) => theme.text};\n`\n\nexport const OneIdExtension = styled.div`\n margin-left: 14px;\n font-size: 12px;\n text-align: left;\n width: 100%;\n color: ${({ theme }) => theme.textOverlay};\n`","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAA0CAYAAAAnpACSAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJASURBVHgB7ZrhcRoxEIX3Dv7nGgCrA66DXAehI6ckl3Dp4NyB3IFSAJD3jl1G44Bs7HGyMHozQifphPYJjQZ9oyaE0ItIF2Mc5UYFD91ut9su9/v9FuXH9XotTdOMh8NhQvq1WCzgL07iTAycGeIekG+QBjwHxC4NTPxExeOFvgkv0RxNvbRtyzz9C5MIOiDjjPeIgc8PDJxNl/ospawORgb9EsEMzJX8FaGEFDFQwjtRy7+Zo5y0f8IvbM+CwDirnZXR18oPWg7oG1iHsTqtk/fqLTMlcbAeg//VkAdgE/C6/pzOfdc1auWOVM14VTXjVdWMV1UzXlXNeFU141XVjFdVM17V8nzPc77csHh0R3o6nWOVevSkHmj4LscjcSc+FZFGAJZn5gZYiodyMyhHk8Q5GwUOQb5YCkqMDr1wBQGOMGgisHS2j3xQioKYjGMZafmmwYRLfZXmmIiwEsiNkZxYCrikT28AxEcMRIs5XrkYjCKmkwwrlfq8R28ts5BBuA2DwKxy2QX5ehmXixjzWZdZkbKe2wB+KIwbJAN2zkRDhpGn0wawWq22CJ54tpfbFTeKscXHvFvJbYvLf1v/znhVNeNV1YxXVTNeVc14VTXjVdWMV1UzXnVXZj5zd2a+BMRcL/7Ml4AMG9lLhBB5J7QFe85wVIdnXgaacZVCk6tVNJMFOyk9jHKECekjXOsaZQCSN5xIiHi3LJSMLl8FPmVYh9gzyn+STtaoxae8DUYHOeJjYuSTweZOrjUGZP0fD9Efb4h6/nkAAAAASUVORK5CYII=\"","import { useState } from 'react'\nimport styled from 'styled-components'\nimport { CopyrightOutlined } from \"@ant-design/icons\"\nimport tomoLogo from '../assets/images/token-tomo.png'\n\nconst TOKENS_REPO_URL = 'https://raw.githubusercontent.com/BuildOnViction/tokens/master/tokens'\n\ntype TokenIconType = {\n address?: string | undefined\n size?: number | undefined\n}\n\nfunction TokenIcon({ address, size }: TokenIconType) {\n const [error, setError] = useState(false)\n\n if (!address || error) return \n if (address === 'tomo') return (\n \n )\n return (\n setError(true)}\n />\n )\n}\n\nconst LogoStyle = styled.span`\n color: ${({theme})=>theme.text};\n`\n\nexport default TokenIcon","import { searchD3, searchOneId } from \"../api\";\n\nexport async function buildOneIdSuggestions(searchString: string): Promise> {\n try {\n const response = await searchOneId(searchString)\n if (response?.data) {\n let result: Array<{ address: string, oneId: string }> = response?.data\n return result\n }\n\n } catch (err) {\n }\n return []\n}\n\nexport async function buildD3Domain(searchString: string): Promise> {\n const tldSupport = ['vic'];\n\n try {\n if (!searchString) throw new Error('Empty search text');\n const id = searchString.trim().toLowerCase();\n const [, tldName] = id.split('.');\n const isSupport = tldSupport.includes(tldName);\n if (!isSupport) throw new Error(\"TLD Name no Supported\");\n const domain = `_web3connect.${id}.vana`;\n\n const response = await searchD3(domain);\n const isSuccess = response.status === 200;\n if (!isSuccess) throw new Error('API Error');\n\n const result = response.data.Answer.find((v: any) => v.name === domain);\n const [, address] = JSON.parse(result.data).split('=');\n if (!address) throw new Error('TLD Name no resolve');\n\n return [{ domainName: id, address }];\n } catch (err) {\n\n }\n return []\n}","type OneIdIconType = {\n size?: number | undefined;\n src?: string;\n}\n\nfunction DomainNameIcon({ size, src }: OneIdIconType) {\n return (\n \n )\n}\nDomainNameIcon.OneID = ({...props}) => \nDomainNameIcon.D3 = ({...props}) => \nexport default DomainNameIcon","import { CheckCircleFilled, SearchOutlined } from '@ant-design/icons'\nimport { Layout, Tabs } from 'antd'\nimport { ChangeEvent, useState } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport {\n ButtonSearch,\n FormItemStyled,\n FormStyled,\n InputGroupStyled,\n InputStyled,\n ListHeader,\n ListItemStyled,\n ListStyled,\n ListWrapper,\n OneIdExtension,\n OneIdHeader,\n OneIdTitle,\n TokenExtension,\n TokenHeader,\n TokenTitle,\n} from './searchBoxStyled'\n\nimport TokenIcon from '../TokenIcon'\n\nimport { useDebouncedCallback } from 'use-debounce'\nimport { buildD3Domain, buildOneIdSuggestions } from '../../domainServices'\nimport { useGeneralContext } from '../../providers/general'\nimport DomainNameIcon from '../DomainNameIcon'\nimport { TokenVerifiedIcon } from '../TypographyStyled'\n\nconst { Content } = Layout\nconst { TabPane } = Tabs\n\n\nfunction buildTokenSuggestions(searchString: string, tokenList: Array) {\n let tokenSuggestions = tokenList.filter((token: any) => (\n token?.name?.toLowerCase().includes(searchString.toLowerCase()) ||\n token?.symbol?.toLowerCase().includes(searchString.toLowerCase()) ||\n token?.address?.toLowerCase().includes(searchString.toLowerCase())\n ))\n tokenSuggestions = tokenSuggestions.sort((a: any, b: any) => {\n if (a?.projectVerified === b?.projectVerified) {\n return b?.contractVerified - a?.contractVerified\n } else {\n return b?.projectVerified - a?.projectVerified\n }\n })\n return tokenSuggestions\n}\n\nfunction SuggestionList({ data, onSelect }: { data: { tokens: Array, oneIds: Array, d3Domains: Array }, onSelect: Function }) {\n const total = data.tokens.length + data.oneIds.length + data.d3Domains.length;\n return (\n \n \n \n {data.oneIds.length > 0 &&\n OneIDs}\n dataSource={data.oneIds}\n renderItem={(item: any) => (\n onSelect(item.address, 'address')}>\n \n \n \n {item.oneId}\n {item.address}\n \n \n \n )}\n />\n }\n {data.tokens.length > 0 &&\n Tokens}\n dataSource={data.tokens}\n renderItem={(item: any) => (\n onSelect(item.address, 'token')}>\n \n \n \n {item.name} ({item.symbol?.toUpperCase()}){item.projectVerified ? : \"\"}\n {item.address}\n \n \n \n )}\n />\n }\n {data.d3Domains.length > 0 && (\n D3}\n dataSource={data.d3Domains}\n renderItem={(item: any) => (\n onSelect(item.address, 'address')}>\n \n \n \n {item.domainName}\n {item.address}\n \n \n \n )}\n />\n )}\n \n \n Tokens}\n dataSource={data.tokens}\n renderItem={(item: any) => (\n onSelect(item.address, 'token')}>\n \n \n \n {item.name} ({item.symbol?.toUpperCase()}){item.projectVerified ? : \"\"}\n {item.address}\n \n \n \n )}\n />\n \n \n Tokens}\n dataSource={data.oneIds}\n renderItem={(item: any) => (\n onSelect(item.address, 'address')}>\n \n \n \n {item.oneId}\n {item.address}\n \n \n \n )}\n />\n \n \n Tokens}\n dataSource={data.d3Domains}\n renderItem={(item: any) => (\n onSelect(item.address, 'address')}>\n \n \n \n {item.domainName}\n {item.address}\n \n \n \n )}\n />\n \n \n \n )\n}\n\nexport default function SearchBox() {\n const history = useHistory()\n const { tomoTokenList } = useGeneralContext()\n const [suggestions, setSuggestions] = useState<{\n tokens: Array,\n oneIds: Array<{ address: string, oneId: string }>,\n d3Domains: Array<{ address: string, domainName: string }>,\n }>({ tokens: [], oneIds: [], d3Domains: [] })\n const [search, setSearch] = useState({ searchString: '', type: '' })\n\n const hasResult = Object.values(suggestions).some(v => v.length !== 0);\n\n const handleSuggestions = useDebouncedCallback(async (keyword: string) => {\n const tokenSuggestions = buildTokenSuggestions(keyword, tomoTokenList)\n const oneIdSuggestions = await buildOneIdSuggestions(keyword)\n const d3Suggestions = await buildD3Domain(keyword);\n\n setSuggestions({ ...suggestions, tokens: tokenSuggestions, oneIds: oneIdSuggestions, d3Domains: d3Suggestions })\n }, 1000)\n\n async function handelOnChange(e: ChangeEvent) {\n const searchString = e.target.value.trim()\n\n if (!searchString) return resetState()\n\n handleSuggestions(searchString);\n switch (true) {\n case searchString.startsWith('0x') && searchString.length === 66:\n setSearch({ searchString, type: 'tx' })\n break\n case searchString.startsWith('0x') && searchString.length === 40:\n setSearch({ searchString, type: 'address' })\n break\n\n case !searchString.match(/\\D+/):\n setSearch({ searchString, type: 'block' })\n break\n\n default:\n setSearch({ searchString, type: 'address' })\n break\n }\n }\n\n function handleOnSearch() {\n \n if (suggestions.oneIds.length > 0) {\n history.push(`/address/${suggestions.oneIds[0].address}`)\n return resetState()\n }\n if (suggestions.tokens.length > 0) {\n history.push(`/token/${suggestions.tokens[0].address}`)\n return resetState()\n }\n\n if (search.searchString && search.type) {\n history.push(`/${search.type}/${search.searchString}`)\n return resetState()\n }\n }\n\n function handleOnSelectSuggestion(address: string, type: string) {\n history.push(`/${type}/${address}`)\n }\n\n function resetState() {\n setSuggestions({ tokens: [], oneIds: [], d3Domains: [] })\n setSearch({ searchString: '', type: '' })\n }\n\n return (\n \n \n \n \n \n\n {search.searchString && hasResult &&\n \n }\n \n \n\n } />\n \n \n\n )\n\n}","import { Skeleton, Row, Col, Divider } from 'antd'\n\nfunction SkeletonLoading() {\n return (\n
\n \n \n \n \n \n \n \n \n
\n )\n}\n\nexport default SkeletonLoading","import styled from 'styled-components'\nimport { Typography } from 'antd'\n\nexport const PaginationWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 15px;\n color: ${({ theme }) => theme.text};\n\n // @media(max-width: 767px){\n // justify-content: center;\n // }\n\n .ant-typography {\n color: ${({ theme }) => theme.text};\n &.ant-typography-secondary {\n color: ${({ theme }) => theme.textOverlay};\n }\n }\n\n .ant-select:not(.ant-select-customize-input) .ant-select-selector,\n .d-ms-down-none {\n @media(max-width: 767px){\n display: none;\n }\n }\n`\n\nexport const ContentTable = styled.div`\n background: ${({ theme }) => theme.bg2};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n .style-table-bordered {\n padding: 24px 0;\n .ant-table {\n background: ${({ theme }) => theme.bg2};\n table {\n border-radius: 0!important;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n \n color: ${({ theme }) => theme.text};\n overflow: hidden;\n \n .ant-table-expanded-row-fixed {\n background: ${({ theme }) => theme.bg1};\n }\n .ant-table-tbody > tr > td {\n border-bottom: 1px solid ${({ theme }) => theme.border1};\n }\n .ant-table-thead > tr > th {\n border-bottom: 1px solid ${({ theme }) => theme.border1};\n color: ${({ theme }) => theme.text};\n background: ${({ theme }) => theme.bg1};\n }\n .ant-table-tbody > tr.ant-table-row:hover > td {\n background: ${({ theme }) => theme.trHover}!important;\n }\n }\n }\n }\n .ant-empty-description{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\n\nexport const TextSmall = styled(Typography.Text)`\n font-size: 12px;\n`\nexport const TextLink = styled.span`\n cursor: pointer;\n font-size: 14px;\n gap: 5px;\n align-items: center;\n &:hover {\n color: #40a9ff;\n }\n .anticon-clock-circle{\n font-size: 12px;\n }\n`","import { Skeleton, Row, Col } from 'antd'\n\nfunction DataTableLoading() {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n )\n}\n\nexport default DataTableLoading","import { Space, Button } from 'antd'\nimport styled from \"styled-components\"\nimport { StepBackwardOutlined, LeftOutlined, RightOutlined, StepForwardOutlined } from '@ant-design/icons'\n\nimport { PaginationType } from '../../constants/types'\nimport { formatNumber } from '../../utils'\n\ntype DataTablePaginationProps = {\n changePage: Function\n pagination: PaginationType\n pages: null | number\n}\n\nexport const ButtonStyled = styled(Button)`\n border-radius: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${({ theme }) => theme.bgBtn};\n border: 1px solid ${({ theme }) => theme.bdBtn};\n color: ${({ theme }) => theme.textBtn};\n &.ant-btn[disabled],\n &.ant-btn[disabled]:hover,\n &.ant-btn[disabled]:focus,\n &.ant-btn[disabled]:active {\n background-color: ${({ theme }) => theme.bgBtnDisable};\n border: 1px solid ${({ theme }) => theme.textBtnDisable};\n color: rgba(0, 0, 0, 0.25);\n }\n &.ant-btn:hover,\n &.ant-btn:focus,\n &.ant-btn:active {\n background-color: ${({ theme }) => theme.bgBtnActive};\n border: 1px solid ${({ theme }) => theme.bdBtnActive};\n color: ${({ theme }) => theme.textBtnActive};\n }\n`\n\nexport default function DataTablePagination({ changePage, pagination, pages }: DataTablePaginationProps) {\n if (pages === 1) return null\n \n return (\n \n changePage('first')}>\n changePage('prev')}>\n Page {formatNumber(pagination.currPage)} of {pages && formatNumber(pages)}\n changePage('next')}>\n changePage('last')}>\n \n )\n}\n","import { useEffect, useState } from 'react'\nimport { Table, Select, Space, Spin } from 'antd'\nimport { ClockCircleOutlined } from '@ant-design/icons'\n\nimport { MAX_RECORD } from '../../constants'\nimport { PaginationDirType, LoadingType, } from '../../constants/types'\nimport { useAppDispatch } from '../../app/hooks'\nimport { formatUtc, timeFormatDistance } from '../../utils'\nimport { PaginationWrapper, ContentTable, TextLink } from './dataTableStyles'\nimport DataTableLoading from './DataTableLoading'\nimport DataTablePagination from './DataTablePagination'\n\nconst { Option } = Select\n\ninterface DataTableProps {\n loading?: LoadingType\n total?: null | number\n columns: any\n dataSource: any\n header?: any\n showPagination?: boolean\n getData?: Function\n}\n\nexport default function DataTable({\n columns,\n dataSource,\n total,\n header,\n loading,\n getData,\n showPagination = true,\n}: DataTableProps) {\n const dispatch = useAppDispatch()\n const [pagination, setPagination] = useState({ numPerPage: 20, currPage: 1 })\n const [utc, setUtc] = useState(false)\n\n const maxRecord = total && (total < MAX_RECORD) ? total : MAX_RECORD\n const pages = total && pagination ? Math.ceil(maxRecord / pagination.numPerPage) : 0\n const offset = pagination.numPerPage * (pagination.currPage - 1)\n\n function changePage(dir: PaginationDirType) {\n if (!pages) return\n let currPage = pagination.currPage\n\n switch (true) {\n case dir === 'first':\n currPage = 1\n break\n case dir === 'last':\n currPage = pages\n break\n case dir === 'next':\n if ((pagination.currPage + 1) <= pages) {\n currPage = pagination.currPage + 1\n }\n break\n case dir === 'prev':\n if ((pagination.currPage - 1) >= 1) {\n currPage = pagination.currPage - 1\n }\n break\n }\n\n if (currPage !== pagination.currPage) setPagination({ ...pagination, currPage })\n }\n\n function changeNumPerPage(value: string) {\n let numPerPage = Number(value)\n\n if (numPerPage !== pagination.numPerPage) setPagination({ currPage: 1, numPerPage })\n }\n\n useEffect(() => {\n if (getData) dispatch(getData({ offset, limit: pagination.numPerPage }))\n }, [pagination, getData])\n dataSource = dataSource.map((item: any, index: number) => {\n const rank = index + offset + 1\n\n return { ...item, rank, key: index }\n })\n\n const parsedColumns = columns && Array.isArray(columns) && columns.map((col) => {\n if (col.dataIndex === 'timestamp') {\n col.title = (\n <>\n {utc ?\n (Time (UTC))\n : (Time )}\n )\n col.render = (time:any) => utc ? formatUtc(time, \"MM-dd-yyyy HH:mm:ss\") : timeFormatDistance(time)\n col.onHeaderCell = () => {\n return {\n onClick:() => {\n setUtc(!utc)\n }\n }\n }\n }\n return col\n })\n\n return (\n \n {!!total &&\n \n \n {(loading === 'pending' && dataSource.length > 0) && }\n {header}\n \n
\n {showPagination && }\n
\n
\n }\n\n {(loading === 'pending' && dataSource.length === 0) &&\n \n }\n\n {(loading !== 'pending' && dataSource.length === 0) &&\n 5 ? 1100 : 600 }}\n />\n }\n\n {dataSource.length > 0 &&\n 5 ? 1100 : 600 }}\n />\n }\n\n {!!total && showPagination &&\n \n
\n {(pages > 1) &&\n \n Show\n \n per page\n \n }\n
\n\n \n
\n }\n
\n )\n}\n\n","import { FunctionComponent } from 'react'\nimport { formatNumber } from '../../utils'\nimport { Space, Typography } from 'antd'\nimport { MAX_RECORD } from '../../constants'\nimport { TextSmall } from './dataTableStyles'\n\nconst { Text } = Typography\n\ntype DataTableTotalProps = {\n total: null | number\n type: string\n}\n\nconst DataTableTotal: FunctionComponent = ({ total, type }) => {\n if (!total || !type) return null\n const MAX_RECORD_ABBR = MAX_RECORD / 1000\n\n switch (true) {\n case (type === 'tx'):\n return (\n \n \n Total {total && formatNumber(total)} {total && total > 1 ? 'transactions' : 'transaction'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'block'):\n return (\n \n Total {total && formatNumber(total)} {total && total > 1 ? 'blocks' : 'block'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'epoch'):\n return (\n \n Total {total && formatNumber(total)} {total && total > 1 ? 'epochs' : 'epoch'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'epoch-reward'):\n return (\n \n Total {total && formatNumber(total)} {total && total > 1 ? 'rewards' : 'reward'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'token'):\n return (\n \n Total {total && formatNumber(total)} tokens\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'token-holder'):\n return (\n \n Total {total && formatNumber(total)} {total && total > 1 ? 'holders' : 'holder'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'masternode'):\n return (\n \n Total {total && formatNumber(total)} masternodes\n \n )\n\n case (type === 'slashed-node'):\n return (\n \n Total {total && formatNumber(total)} slashed nodes\n \n )\n\n case (type === 'address'):\n return (\n \n Total {total && formatNumber(total)} accounts\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n\n case (type === 'contract'):\n return (\n \n Total {total && formatNumber(total)} contracts\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n case (type === 'vrc2021'):\n return (\n \n \n Total {total && formatNumber(total)} {total && total > 1 ? 'transfers' : 'transfer'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n default:\n return (\n \n Total {total && formatNumber(total)} {total && total > 1 ? 'records' : 'record'}\n {(total > MAX_RECORD) &&  (Showing the latest {MAX_RECORD_ABBR}k records)}\n \n \n )\n }\n}\n\nexport default DataTableTotal","import { Tooltip } from 'antd'\nimport React from 'react'\nimport { Link } from 'react-router-dom'\n\nimport { AddressLinkType } from '../constants/types'\n\nfunction getLinkContent(title: string | undefined | null, address: string, truncate?: boolean) {\n if (title) return title\n // if (!title && !truncate) return address\n\n return address.toLowerCase()\n}\n\nfunction AddressLink({ title, address, type = 'address', truncate = false, tooltip = true }: AddressLinkType) {\n if (!address) return null\n\n if (!tooltip) {\n return (\n {getLinkContent(title, address, truncate)}\n )\n }\n\n return (\n \n
\n {getLinkContent(title, address, truncate)}\n
\n
\n )\n}\n\nexport default AddressLink","import React, { useEffect, Fragment, ReactNode } from 'react'\nimport { withRouter } from 'react-router-dom'\nimport { History } from 'history';\n\ntype ScrollToTopProps = {\n history: History\n children?: ReactNode\n}\nfunction ScrollToTop({ history, children }: ScrollToTopProps) {\n useEffect(() => {\n const unlisten = history.listen(() => {\n window.scrollTo(0, 0)\n })\n return () => {\n unlisten()\n }\n }, [])\n\n return {children}\n}\n\nexport default withRouter(ScrollToTop)","import { useEffect, useState } from 'react'\nimport { useHistory, useLocation } from 'react-router'\nimport { Tabs } from 'antd'\n\ninterface TabsWithHashProps {\n tabsComp?: any\n children?: any\n type?: string\n activeTab?: string\n tabKeys: Array\n}\n\nexport default function TabsWithHash({ tabsComp: TabsComp = Tabs, children, activeTab, tabKeys, ...rest }: TabsWithHashProps) {\n const history = useHistory()\n let { hash, search } = useLocation()\n hash = hash?.replace('#', '') || ''\n search = search?.slice(1) || ''\n const [activeKey, setActiveKey] = useState('default')\n\n useEffect(() => {\n if (!!hash && tabKeys.includes(hash)) {\n setActiveKey(hash)\n } else {\n setActiveKey('default')\n }\n }, [hash])\n\n useEffect(() => {\n if (!activeTab) return\n\n handleOnTabClick(activeTab)\n }, [activeTab])\n\n function handleOnTabClick(key: string) {\n setActiveKey(key)\n\n if (key !== 'default') history.replace({ hash: key, search })\n else history.replace({ hash: '', search })\n }\n\n return (\n \n {children}\n \n )\n}","export default __webpack_public_path__ + \"static/media/coin98.339be55c.svg\";","export default __webpack_public_path__ + \"static/media/viction-wallet-logo.495f6689.svg\";","export default __webpack_public_path__ + \"static/media/ramper-wallet-logo.68ebb4d2.svg\";","import { useState, MouseEvent } from 'react'\nimport Web3 from 'web3'\nimport styled from 'styled-components'\nimport { Modal, Button } from 'antd';\n\n// Logo of wallets\nimport MetamaskLog from '../assets/images/metamask.svg'\nimport Coin98Logo from '../assets/images/coin98.svg'\nimport VictionLogo from '../assets/images/viction-wallet-logo.svg'\nimport RamperLogo from '../assets/images/ramper-wallet-logo.svg'\n\nimport { CHAINID } from '../constants/env';\n\nimport { Link } from 'react-router-dom';\nimport { supportedWalletOption } from '../constants';\nimport { WalletAdapter } from '../constants/index'\n\n// import WalletConnect from '../assets/images/walletconnect.svg'\ndeclare global {\n interface Window {\n ethereum: any\n web3: any\n coin98: any\n viction: any\n ramper2: any\n }\n}\ntype ModalWalletProp = {\n account: string\n isConnected: boolean\n setAccount: (v: string) => void\n setIsConnected: (v: boolean) => void\n}\n\nconst ModalWallet = ({ account, isConnected, setAccount, setIsConnected }: ModalWalletProp) => {\n const [isModalVisible, setIsModalVisible] = useState(false);\n const showModal = () => {\n setIsModalVisible(true)\n }\n const handleCancel = () => {\n setIsModalVisible(false)\n }\n\n // the proiority order: coin98 > viction > ramper > metamask\n const connectCoin98 = async () => {\n window.web3 = new Web3(window.coin98.provider)\n const networkId = await window.coin98.provider.request({\n method: 'net_version',\n });\n setIsModalVisible(false)\n try {\n if (Number(networkId) !== CHAINID) {\n await window.coin98.provider.request({\n method: 'wallet_addEthereumChain',\n params: supportedWalletOption,\n })\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n return true\n } else {\n await window.coin98.provider.send('eth_requestAccounts');\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n }\n } catch (error) {\n console.error(error)\n return false\n }\n }\n const connectMetamask = async () => {\n\n window.web3 = new Web3(window.ethereum)\n const networkId = await window.ethereum.request({\n method: 'net_version',\n });\n setIsModalVisible(false)\n try {\n if (Number(networkId) !== CHAINID) {\n await window.ethereum.request({\n method: 'wallet_addEthereumChain',\n params: supportedWalletOption,\n })\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n return true\n } else {\n await window.ethereum.send('eth_requestAccounts');\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n }\n } catch (error) {\n console.error(error)\n return false\n }\n }\n const connectViction = async () => {\n window.web3 = new Web3(window.viction)\n setIsModalVisible(false)\n try {\n const res = await window.viction.request({\n method: 'eth_requestAccounts',\n });;\n const getAccount = res[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n } catch (error) {\n console.error(error)\n return false\n }\n }\n const connectRamper = async () => {\n window.web3 = new Web3(window.ramper2.provider)\n const networkId = await window.ramper2.provider.request({\n method: 'net_version',\n });\n setIsModalVisible(false)\n try {\n if (Number(networkId) !== CHAINID) {\n await window.ramper2.provider.request({\n method: 'wallet_addEthereumChain',\n params: supportedWalletOption,\n })\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n return true\n } else {\n await window.ramper2.provider.send('eth_requestAccounts');\n const getAccount = (await window.web3.eth.getAccounts())[0]\n if (getAccount) {\n setIsConnected(true)\n setAccount(getAccount)\n } else {\n setIsConnected(false)\n }\n }\n } catch (error) {\n console.error(error)\n return false\n }\n }\n const selectWalletAdapter = async (e: MouseEvent) => {\n const walletType = parseInt(e.currentTarget.getAttribute('value') ?? '0')\n switch (walletType) {\n case WalletAdapter.COIN98:\n if (window.coin98) {\n await connectCoin98()\n } else {\n alert('Please install Coin98 wallet')\n }\n break\n case WalletAdapter.VICTION:\n if (window.coin98) {\n await connectCoin98()\n } else if (window.viction) {\n await connectViction()\n } else {\n alert('Please install Viction wallet')\n }\n break\n case WalletAdapter.RAMPER:\n if (window.coin98) {\n await connectCoin98()\n } else if (window.viction) {\n await connectViction()\n } else if (window.ramper2) {\n await connectRamper()\n } else {\n alert('Please install Ramper wallet')\n }\n break\n case WalletAdapter.METAMASK:\n if (window.coin98) {\n await connectCoin98()\n } else if (window.viction) {\n await connectViction()\n } else if (window.ramper2) {\n await connectRamper()\n } else if (window.ethereum) {\n await connectMetamask()\n } else {\n alert('Please install Metamask')\n }\n break\n default: alert('unsupported wallet')\n\n }\n }\n return (\n <>\n
\n {!isConnected ?\n \n Connect a Wallet\n \n :\n <>\n Connected [{account}]\n \n }\n
\n \n selectWalletAdapter(e)} value={WalletAdapter.COIN98}>\n Coin98\n \"Coin98Logo\"\n \n selectWalletAdapter(e)} value={WalletAdapter.VICTION}>\n Viction\n \"VictionLogo\"\n \n selectWalletAdapter(e)} value={WalletAdapter.RAMPER}>\n Ramper\n \"RamperLogo\"\n \n selectWalletAdapter(e)} value={WalletAdapter.METAMASK}>\n MetaMask\n \"MetaMask\"\n \n {/* \n WalletConnect\n \"WalletConnect\"\n */}\n \n \n );\n}\n\nexport default ModalWallet\n\nconst ModalStyled = styled(Modal)`\n .ant-modal-content{\n border-radius: 16px;\n overflow: hidden;\n background-color: ${({ theme }) => theme.bg};\n }\n .ant-modal-header{\n background-color: ${({ theme }) => theme.bg};\n border-bottom: 1px solid ${({ theme }) => theme.border};\n .ant-modal-title{\n color: ${({ theme }) => theme.text};\n font-size: 18px;\n }\n }\n .anticon-close{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\n\nconst TextMain = styled.span`\n color: ${({ theme }) => theme.text};\n`\nconst ButtonConnect = styled(Button)`\n margin-bottom: 20px;\n border-radius: 5px;\n background-color: ${({ theme }) => theme.bg4};\n border: none;\n :hover,:focus{\n background-color: ${({ theme }) => theme.bg4};\n }\n`\nconst ButtonStyled = styled(Button)`\n height: auto;\n display: flex;\n width: 100%;\n border-radius: 5px;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n padding: 12px 16px;\n border: 1px solid ${({ theme }) => theme.border};\n background-color: ${({ theme }) => theme.bg2};\n :hover,:focus{\n background-color: ${({ theme }) => theme.bg2};\n }\n`","import React, { useState } from 'react'\nimport styled from 'styled-components'\nimport {DownloadOutlined} from '@ant-design/icons'\nimport {\n Modal,\n Tooltip,\n Button,\n Col,\n Row,\n Form,\n Input,\n} from 'antd'\nimport { getUnixTime } from 'date-fns'\nimport { useGeneralContext } from '../providers/general'\nimport { TOMOSCAN_API_V2_URL } from '../constants/env'\nimport { DatePicker } from '../common'\nimport { getFirstAndLastDay } from '../utils'\n\nconst ModalStyled = styled(Modal)`\n .ant-modal-content {\n background: #FFFFFF;\n border-radius: 16px;\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.05);\n }\n .ant-modal-header {\n background: transparent;\n border: 0;\n padding: 34px 34px 0;\n @media only screen and (max-width: 767px) {\n padding: 24px 14px 0;\n }\n .ant-modal-title {\n font-weight: 900;\n font-size: 20px;\n }\n }\n .ant-modal-body {\n padding: 14px 34px;\n @media only screen and (max-width: 767px) {\n padding: 14px;\n }\n .ant-form-item {\n margin-bottom: 14px;\n }\n label {\n color: #606060;\n font-weight: bold;\n }\n .txt-desc {\n color: #606060;\n margin-bottom: 15px;\n ul {\n padding-left: 15px;\n }\n }\n }\n .ant-modal-footer {\n padding: 4px 34px 34px;\n border: 0;\n @media only screen and (max-width: 767px) {\n padding: 4px 14px 24px;\n }\n .style-footer-button {\n display: flex;\n gap: 16px;\n }\n }\n\n /*dark mode modal*/\n &.style-modal-dark {\n .ant-modal-content {\n background-color: #333333!important;\n .ant-modal-title {\n color: #C3C3C3!important;\n }\n .ant-modal-close {\n color: #FFFFFF!important;\n }\n }\n .ant-input-affix-wrapper,\n .ant-select-selector,\n .ant-picker {\n background-color: transparent!important;\n color: #ffffff!important;\n }\n input {\n background-color: transparent!important;\n color: #ffffff!important;\n }\n .ant-picker-suffix,\n .ant-select-arrow {\n color: #ffffff!important;\n }\n .ant-form-item-label label {\n color: #C3C3C3!important;\n }\n .ant-form-item-explain {\n color: #C3C3C3!important;\n }\n .txt-desc {\n color: #C3C3C3!important;\n }\n }\n`\nconst TextMain = styled.span`\n color: ${({ theme }) => theme.textLink};\n cursor: pointer;\n &:hover{\n text-decoration: underline;\n }\n`\nconst ExportStyled = styled.div`\n position: absolute;\n right: 24px;\n top: 34px;\n @media(max-width: 767px){\n position: static;\n }\n`\nconst ButtonStyled = styled(Button)`\n border-radius: 8px;\n padding: 8px 24px;\n height: auto!important;\n font-size: 15px;\n display: block;\n width: 100%;\n margin: 0!important;\n &.btn-purple-light {\n background: transparent;\n border: 1px solid #108ee9;\n color: #108ee9;\n }\n &.btn-purple-dark {\n background: #108ee9;\n border: 1px solid #108ee9;\n color: #fff;\n }\n`\n\nexport default function ExportData({ account, type = 'all', title }) { \n const { firstDay, lastDay } = getFirstAndLastDay()\n const [range, setRange] = useState({ from: firstDay.getTime() / 1000, to: lastDay.getTime() / 1000 })\n const [isModalVisible, setIsModalVisible] = useState(false)\n const [tokenAddress, setTokenAddress] = useState('')\n// const [isReCaptcha, setReCaptcha] = useState(false)\n// const refCaptcha = useRef()\n\n const showModal = () => {\n setIsModalVisible(true)\n setRange({ from: firstDay.getTime() / 1000, to: lastDay.getTime() / 1000 })\n // setDataType(type)\n }\n\n const handleCancel = () => {\n setIsModalVisible(false)\n // refCaptcha.current.reset()\n // setReCaptcha(false)\n }\n\n function handleChangeFrom(date) {\n const from = getUnixTime(date)\n \n if (!date || from > range.to) return\n setRange({ ...range, from })\n }\n\n function handleChangeTo(date) {\n const to = getUnixTime(date)\n\n if (!date || to < range.from) return\n setRange({ ...range, to })\n }\n\n function handleChangeTokenAddress(e) {\n setTokenAddress(e.target.value)\n }\n\n// function handleChangeReCaptcha(value) {\n// if (value) {\n// setReCaptcha(true)\n// } else {\n// setReCaptcha(false)\n// }\n// }\n\n const { mode } = useGeneralContext()\n return (\n <>\n \n \n {`Export to CSV`} \n \n \n \n Cancel\n \n {type === 'internalTx' &&\n \n Download\n \n }\n {type === 'transaction' &&\n \n Download\n \n }\n {type === 'tokenTx' && tokenAddress &&\n \n Download\n \n }\n {type === 'tokenTx' && !tokenAddress &&\n \n Download\n \n }\n {type === 'userRewards' &&\n \n Download\n \n }\n \n \n }\n >\n
\n
    \n
  • If timeout happens, try selecting shorter time period.
  • \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n {type === 'tokenTx' &&\n \n \n \n \n \n }\n {/* \n \n */}\n \n
\n\n \n \n )\n}","import dateFnsGenerateConfig from 'rc-picker/lib/generate/dateFns'\nimport generatePicker from 'antd/es/date-picker/generatePicker'\nimport 'antd/es/date-picker/style/index'\n\nconst DatePicker = generatePicker(dateFnsGenerateConfig)\n\nexport default DatePicker","export default __webpack_public_path__ + \"static/media/ic-RightFilled.acf8ab8d.svg\";","import styled from 'styled-components'\nimport { Tooltip } from 'antd'\nimport { FileTextOutlined } from '@ant-design/icons'\n\nexport default function ContractIconTooltip(props: any) {\n return (\n \n \n \n \n \n )\n}\n\nconst IconColor = styled.span`\n color: ${({theme})=> theme.textOverlay};\n`","import { Space, Tooltip, Typography } from 'antd'\nimport { ArrowRightOutlined } from '@ant-design/icons'\nimport { ColumnsType } from 'antd/es/table'\nimport { Link } from 'react-router-dom'\nimport icRightFilled from '../../assets/images/ic-RightFilled.svg';\n\n\nimport styled from 'styled-components'\n\nimport {\n InfoCircleOutlined,\n} from '@ant-design/icons'\nimport {\n TagStyled,\n AddressLink,\n TagUpDownStyled,\n TagStatusStyled,\n TokenIcon,\n TextStyled,\n TokenTypeTag,\n} from '../index'\n\nimport { formatNumber, timeFormatDistance, toTomo, truncateBetween } from '../../utils'\nimport {\n TxDetailsType,\n TagVariantType,\n TokenType,\n} from '../../constants/types'\nimport ContractIconTooltip from '../ContractIconTooltip'\nimport CheckStatus from '../CheckStatus';\n\nconst { Paragraph } = Typography\n\nconst AddressWrapper = styled.div`\n display: flex;\n align-items: center;\n`\n\nconst MethodTag = styled(TagStyled)`\n width: 100%;\n text-align: center;\n`\n\nexport const txColumns: ColumnsType = [\n {\n title: 'Transaction ID',\n dataIndex: 'hash',\n render: (hash: string, record: any) =>\n \n
\n {record.status && record.status === 'fail' &&\n \n }\n  \n {hash.toLowerCase()}\n
\n
\n },\n {\n title: 'Method',\n dataIndex: 'method',\n width: '120px',\n render: (method: TagVariantType) =>\n \n {method || 'Unknow'}\n ,\n },\n {\n title: 'Block',\n dataIndex: 'blockNumber',\n ellipsis: true,\n width: '110px',\n render: (block: string) => #{block}\n },\n {\n title: 'Time',\n dataIndex: 'timestamp',\n ellipsis: true,\n width: '110px',\n render: (timestamp: number) => <>{timeFormatDistance(timestamp)}\n },\n {\n title: 'From',\n dataIndex: 'from',\n render: (from: string, record: any) =>\n \n {record.fromContract && }\n \n {record.fromName ? record.fromName : from.toLowerCase()}\n \n \n },\n {\n title: '',\n dataIndex: 'icon',\n ellipsis: true,\n width: '40px',\n align: 'center',\n render: (icon: string) => \"\"\n },\n {\n title: 'To',\n dataIndex: 'to',\n render: (to: string, record: any) =>\n \n {record.toContract && }\n \n {record.toName ? record.toName : to.toLowerCase()}\n \n \n },\n {\n title: 'Value(VIC)',\n dataIndex: 'value',\n ellipsis: true,\n width: '120px',\n render: (value: number) => <>{formatNumber(toTomo(value, 18), 7)},\n },\n {\n title: 'Fee(VIC)',\n dataIndex: 'fee',\n ellipsis: true,\n width: '100px',\n render: (fee: number) => <>{formatNumber(toTomo(fee, 18), 7)},\n },\n]\n\nexport const blockColumns = [\n {\n title: 'Block Height',\n key: 'number',\n dataIndex: 'number',\n render: (blockNumber: number) => #{blockNumber}\n },\n {\n title: 'Time',\n key: 'time',\n dataIndex: 'timestamp',\n render: (timestamp: any) => <>{timeFormatDistance(timestamp)}\n },\n {\n title: 'Transactions',\n key: 'transactions',\n dataIndex: 'transactions',\n render: (transactions: number) => <>{formatNumber(transactions)}\n },\n {\n title: 'Creator',\n key: 'm1Name',\n dataIndex: 'm1Name',\n render: (m1Name: string, record: any) => \n },\n {\n title: 'Gas Used ',\n key: 'gasUsed',\n dataIndex: 'gasUsed',\n render: (gasUsed: number) => <>{formatNumber(gasUsed)}\n },\n {\n title: 'Fee (VIC)',\n key: 'totalFee',\n dataIndex: 'totalFee',\n render: (totalFee: number) => <>{formatNumber(toTomo(totalFee, 18))}\n },\n {\n title: 'Finality (%)',\n key: 'finality',\n dataIndex: 'finality',\n },\n]\n\nexport const epochColumns = [\n {\n title: 'Epoch',\n key: 'epoch',\n dataIndex: 'epoch',\n width: '14%',\n render: (epoch: string) => {epoch}\n },\n {\n title: 'Start block',\n key: 'startBlock',\n dataIndex: 'startBlock',\n width: '16%',\n render: (startBlock: string) => {startBlock}\n },\n {\n title: 'End block',\n key: 'endBlock',\n dataIndex: 'endBlock',\n width: '16%',\n render: (endBlock: string) => {endBlock}\n },\n {\n title: 'Duration (s)',\n key: 'duration',\n dataIndex: 'duration',\n width: '14%',\n render: (duration: number) => <>{formatNumber(duration)}\n },\n {\n title: 'Masternode',\n key: 'masternode',\n dataIndex: 'masternode',\n width: '14%',\n render: (masternode: any) => <>{masternode.length}\n },\n {\n title: 'Voter',\n key: 'voter',\n dataIndex: 'voterNumber',\n width: '12%',\n render: (voterNumber: number) => <>{formatNumber(voterNumber)}\n },\n {\n title: 'Slashed Node',\n key: 'slashednode',\n dataIndex: 'slashednode',\n width: '12%',\n render: (slashednode: any) => <>{slashednode.length}\n },\n]\n\nexport const epochRewardColumns = [\n {\n title: 'Address',\n key: 'address',\n dataIndex: 'address',\n width: 280,\n render: (address: string) => \n },\n {\n title: 'Masternode',\n key: 'validator',\n dataIndex: 'validator',\n width: 280,\n render: (validator: string) => \n },\n {\n title: 'Masternode Name',\n key: 'validatorName',\n dataIndex: 'validatorName',\n ellipsis: true,\n },\n {\n title: 'Signing number',\n key: 'signNumber',\n dataIndex: 'signNumber',\n },\n {\n title: 'Reward',\n key: 'reward',\n dataIndex: 'reward',\n render: (reward: number) => <>{formatNumber(toTomo(reward, 18))}\n },\n {\n title: 'Age',\n key: 'age',\n dataIndex: 'age'\n },\n]\n\nexport const tokenColumns = [\n {\n title: 'No',\n dataIndex: 'rank',\n width: '60px',\n render: (rank: number) => <>{rank}\n },\n {\n title: 'Token',\n dataIndex: 'address',\n render: (token: string, record: any) =>\n
\n \n {(record.name && record.symbol) && <>}\n {(!record.name || !record.symbol) && }\n\n {/* */}\n
\n },\n {\n title: 'Type',\n dataIndex: 'type',\n render: (type: TokenType) => \n },\n {\n title: 'Status',\n dataIndex: 'status',\n render: (token: string, record: any) => {\n if (!record?.projectVerified && !record?.contractVerified) return\n return (\n
\n \n
\n )\n }\n },\n {\n title: 'Price (USD)',\n dataIndex: 'price',\n render: (price: number) => <>{!!price && `$${formatNumber(price)}`}\n },\n {\n title: 'Change (%)',\n dataIndex: 'priceChangePercentage',\n render: (changePercentage: number) => {\n\n return (\n <>\n {(changePercentage > 0) && {`${formatNumber(Math.abs(changePercentage), 2)}%`}}\n {(changePercentage < 0) && {`${formatNumber(Math.abs(changePercentage), 2)}%`}}\n {(changePercentage === 0) && {`${formatNumber(Math.abs(changePercentage), 2)}%`}}\n \n )\n\n }\n },\n {\n title: 'Volume 24h (USD)',\n dataIndex: 'volume',\n render: (volume: number) => <>{!!volume && `$${formatNumber(volume, 2)}`}\n },\n {\n title: 'Marketcap (USD)',\n dataIndex: 'marketcap',\n render: (marketcap: number) => <>{!!marketcap && `$${formatNumber(marketcap, 2)}`}\n },\n {\n title: 'Holders',\n dataIndex: 'holder',\n render: (holder: number) => <>{formatNumber(holder)}\n },\n]\n\nexport const token721Columns = [\n {\n title: 'No',\n dataIndex: 'rank',\n width: '60px',\n render: (rank: number) => <>{rank}\n },\n {\n title: 'Token',\n dataIndex: 'address',\n width: '320px',\n render: (token: string, record: any) =>\n
\n \n {(record.name && record.symbol) && }\n {(!record.name || !record.symbol) && }\n
\n },\n {\n title: 'Type',\n dataIndex: 'type',\n render: (type: TokenType) => \n },\n {\n title: 'Status',\n dataIndex: 'status',\n render: (token: string, record: any) => {\n if (!record?.projectVerified && !record?.contractVerified) return\n return (\n
\n \n
\n )\n }\n },\n\n {\n title: 'Total Transfer',\n dataIndex: 'transferCount',\n render: (transferCount: number) => <>{formatNumber(transferCount)}\n },\n {\n title: 'Transfer (24h)',\n dataIndex: 'transferCountShortTerm',\n render: (transferCount: number) => <>{formatNumber(transferCount)}\n },\n {\n title: 'Holders',\n dataIndex: 'holder',\n render: (holder: number) => <>{formatNumber(holder)}\n },\n {\n title: 'Total Supply',\n dataIndex: 'totalSupplyNumber',\n render: (totalSupplyNumber: number) => <>{formatNumber(totalSupplyNumber)}\n },\n]\n\nexport const tokenHolderColumns = [\n {\n title: 'Rank',\n dataIndex: 'rank',\n width: 80,\n },\n {\n title: 'Address',\n dataIndex: 'address',\n ellipsis: true,\n width: 400,\n render: (address: string, record: any) =>\n \n {record.isContract && }\n {/* */}\n \n {record.accountName ?\n \n {record.accountName}\n \n :\n {address}\n }\n \n {/* */}\n \n },\n {\n title: 'Quantity',\n dataIndex: 'quantityNumber',\n ellipsis: true,\n width: 200,\n render: (quantity: number) => <>{formatNumber(quantity)}\n },\n {\n title: 'Value (USD)',\n dataIndex: 'valueUsd',\n ellipsis: true,\n width: 150,\n render: (valueUsd: number) => <>{formatNumber(valueUsd, 2)}\n },\n {\n title: 'Percentage',\n dataIndex: 'percentage',\n ellipsis: true,\n width: 130,\n render: (percentage: number) => <>{percentage && `${formatNumber(percentage, 4)}%`}\n },\n]\n\nexport const token721InventoryColumns = [\n {\n title: 'ID',\n dataIndex: 'tokenId',\n width: 80,\n render: (id: string, record: any) =>\n \n {record.tokenIdString ?? record.tokenId}\n \n },\n {\n title: 'Owner',\n dataIndex: 'address',\n render: (address: string, record: any) =>\n \n {address}\n \n },\n]\n\nexport const tokenTransferColumns = [\n {\n title: 'Transaction ID',\n key: 'hash',\n dataIndex: 'transactionHash',\n render: (hash: string) => \n },\n {\n title: 'Block',\n key: 'block',\n dataIndex: 'blockNumber',\n width: 110,\n render: (block: string) => #{block}\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n width: 140,\n render: (time: number) => <>{timeFormatDistance(time)}\n },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n render: (from: string, record: any) => {\n const query = new URLSearchParams(window.location.search)\n const getAccount = query.get('account')?.trim() || ''\n return (\n \n {record.fromContract && }\n \n {/* */}\n {getAccount.toLowerCase() === from.toLowerCase() ?\n {record.fromName ? record.fromName : from}\n :\n {record.fromName ? record.fromName : from}\n }\n \n \n )\n }\n },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n render: (to: string, record: any) => {\n const query = new URLSearchParams(window.location.search)\n const getAccount = query.get('account')?.trim() || ''\n return (\n \n {record.toContract && }\n {/* */}\n \n {getAccount.toLowerCase() === to.toLowerCase() ?\n {record.toName ? record.toName : to}\n :\n {record.toName ? record.toName : to}\n }\n \n \n )\n }\n },\n {\n title: 'Quantity',\n key: 'quantity',\n dataIndex: 'valueNumber',\n ellipsis: true,\n width: 100,\n render: (value: number) => <>{formatNumber(value)}\n },\n]\n\nexport const tokenTransferVrc721Columns = [\n {\n title: 'Transaction ID',\n key: 'hash',\n dataIndex: 'transactionHash',\n render: (hash: string) => \n },\n\n {\n title: 'Block',\n key: 'block',\n dataIndex: 'blockNumber',\n width: '120px',\n render: (block: string) => #{block}\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n width: '130px',\n render: (time: number) => <>{timeFormatDistance(time)}\n },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n render: (from: string, record: any) => {\n const query = new URLSearchParams(window.location.search)\n const getAccount = query.get('account')?.trim() || ''\n return (\n \n {record.fromContract && }\n \n {getAccount.toLowerCase() === from.toLowerCase() ?\n {record.fromName ? record.fromName : from}\n :\n {record.fromName ? record.fromName : from}\n }\n \n \n )\n }\n },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n render: (to: string, record: any) => {\n const query = new URLSearchParams(window.location.search)\n const getAccount = query.get('account')?.trim() || ''\n return (\n \n {record.toContract && }\n \n {getAccount.toLowerCase() === to.toLowerCase() ?\n {record.toName ? record.toName : to}\n :\n {record.toName ? record.toName : to}\n }\n \n \n )\n }\n },\n {\n title: 'Token ID',\n key: 'tokenId',\n dataIndex: 'tokenId',\n ellipsis: true,\n width: '100px',\n render: (id: string, record: any) =>\n {id}\n },\n]\n\nexport const masternodeColumns = [\n {\n title: 'Rank',\n dataIndex: 'rank',\n width: 80,\n },\n {\n title: 'Address',\n dataIndex: 'address',\n ellipsis: true,\n render: (address: string) =>\n \n {address.toLowerCase()}\n \n },\n {\n title: 'Name',\n dataIndex: 'name',\n },\n {\n title: 'Status',\n dataIndex: 'status',\n render: (status: string) => {status}\n },\n {\n title: 'Capacity',\n dataIndex: 'capacity',\n render: (capacity: number) => <>{formatNumber(toTomo(capacity, 18), 2)}\n },\n {\n title: 'Owner',\n dataIndex: 'owner',\n ellipsis: true,\n render: (owner: string) =>\n \n {owner.toLowerCase()}\n \n },\n {\n title: 'Latest signed block',\n dataIndex: 'latestSignedBlock',\n render: (block: number) =>\n {block}\n },\n]\n\nexport const slashedColumns = [\n {\n title: 'Address',\n dataIndex: 'address',\n render: (address: string) => {address.toLowerCase()}\n },\n {\n title: 'Name',\n dataIndex: 'name',\n },\n]\n\nexport const accountColumns = [\n {\n title: 'Rank',\n dataIndex: 'rank',\n ellipsis: true,\n width: '80px',\n },\n {\n title: 'Address',\n dataIndex: 'address',\n width: '250px',\n render: (address: string, record: any) => (\n \n {record.isContract && }\n \n {truncateBetween(address.toLowerCase(), 12)}\n \n \n )\n },\n {\n title: 'Public tag',\n dataIndex: 'accountName',\n render: (accountName: any, record: any) => <>{accountName && {accountName}}\n },\n {\n title: 'Balance (VIC)',\n dataIndex: 'balanceNumber',\n render: (balanceNumber: number) => <>{formatNumber(balanceNumber)}\n },\n {\n title: 'Percentage',\n dataIndex: 'percentage',\n render: (percentage: any) => <>{percentage && `${formatNumber(percentage)}%`}\n },\n {\n title: 'Txn Count',\n dataIndex: 'txCount',\n width: '120px',\n render: (txCount: number) => <>{formatNumber(txCount)}\n },\n]\n// tab Total Balance - Account Detail\nexport const columnsBalance = [\n {\n title: 'Token',\n key: 'token',\n dataIndex: 'token',\n ellipsis: true,\n render: (token: string, record: any) =>\n {record.tokenName}\n },\n {\n title: 'Symbol',\n key: 'tokenSymbol',\n dataIndex: 'tokenSymbol',\n ellipsis: true,\n render: (tokenSymbol: string) => <>{tokenSymbol}\n },\n {\n title: 'Type',\n key: 'tokenType',\n dataIndex: 'tokenType',\n ellipsis: true,\n render: (tokenType: TokenType) => \n },\n {\n title: 'Amount',\n key: 'amount',\n dataIndex: 'quantityNumber',\n ellipsis: true,\n render: (amount: number) => <>{formatNumber(amount, 6)}\n },\n {\n title: 'Price (USD)',\n key: 'price',\n dataIndex: 'priceUsd',\n ellipsis: true,\n },\n {\n title: 'Percentage (%)',\n key: 'percentage',\n dataIndex: 'percentage',\n },\n {\n title: 'Value (USD)',\n key: 'value',\n dataIndex: 'valueUsd',\n ellipsis: true,\n render: (valueUsd: number) => <>{formatNumber(valueUsd, 6)}\n },\n];\n// Tab Transactions - Account Detail\nexport const columnsTransactions = [\n {\n title: 'Transaction ID',\n key: 'hash',\n dataIndex: 'hash',\n width: '200px',\n render: (hash: string, record: any) =>\n \n
\n {record.status && record.status === 'fail' &&\n \n }\n  \n {hash.toLowerCase()}\n
\n
\n },\n {\n title: 'Method',\n key: 'method',\n dataIndex: 'method',\n ellipsis: true,\n width: '120px',\n render: (method: string) =>
{method}
\n },\n {\n title: 'Block',\n key: 'blockNumber',\n dataIndex: 'blockNumber',\n ellipsis: true,\n width: '110px',\n render: (blockNumber: string) =>\n #{blockNumber}\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n width: '120px',\n render: (timestamp: number) => <>{timeFormatDistance(timestamp)}\n },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n render: (from: string, record: any) =>\n \n {record.fromContract && }\n \n \n },\n // {\n // title: '',\n // key: 'transactionTag',\n // dataIndex: 'transactionTag',\n // width: '100px',\n // align: 'center',\n // render: (transactionTag: TagStatusType) => {transactionTag || 'Unknow'},\n // },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n width: '160px',\n render: (to: string, record: any) =>\n \n {record.toContract && }\n \n \n },\n {\n title: 'Value (VIC)',\n key: 'value',\n dataIndex: 'value',\n ellipsis: true,\n width: '110px',\n render: (fee: number) => <>{formatNumber(toTomo(fee, 18))}\n },\n {\n title: 'Fee (VIC)',\n key: 'fee',\n dataIndex: 'fee',\n ellipsis: true,\n width: '100px',\n render: (fee: number) => <>{formatNumber(toTomo(fee, 18))}\n }\n];\n// tab Txns - Account Detail\nexport const columnsTxns = [\n {\n title: 'Transaction ID',\n key: 'hash',\n dataIndex: 'hash',\n ellipsis: true,\n render: (hash: string) =>\n {hash}\n },\n {\n title: 'Block',\n key: 'blockNumber',\n dataIndex: 'blockNumber',\n ellipsis: true,\n render: (blockNumber: string) =>\n #{blockNumber}\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n render: (timestamp: number) => <>{timeFormatDistance(timestamp)}\n },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n render: (from: string, record: any) =>\n \n {record.fromContract && }\n \n \n },\n {\n title: '',\n key: 'arrowIcon',\n dataIndex: 'arrowIcon',\n width: '70px',\n render: (arrowIcon: any) =>\n \n },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n render: (to: string, record: any) =>\n \n {record.toContract && }\n \n \n },\n {\n title: 'Value (VIC)',\n key: 'value',\n dataIndex: 'value',\n ellipsis: true,\n render: (value: number) => <>{formatNumber(toTomo(value, 18), 2)}\n }\n]\n\n// tab Reward - Account Detail\nexport const columnsRewards = [\n {\n title: 'Epoch',\n key: 'epoch',\n dataIndex: 'epoch',\n render: (ep: string) =>\n {ep}\n },\n {\n title: 'Masternode',\n key: 'validator',\n dataIndex: 'validator',\n ellipsis: true,\n render: (validator: string) =>\n {validator}\n },\n {\n title: 'Masternode Name',\n key: 'validatorName',\n dataIndex: 'validatorName',\n },\n {\n title: 'Sign Number',\n key: 'signNumber',\n dataIndex: 'signNumber',\n },\n {\n title: 'Reward (VIC)',\n key: 'reward',\n dataIndex: 'reward',\n render: (value: number) => <>{formatNumber(toTomo(value, 18), 8)}\n },\n {\n title: 'Reason',\n key: 'reason',\n dataIndex: 'reason',\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n render: (timestamp: number) => <>{timeFormatDistance(timestamp)}\n },\n]\n\n// vrc token txns - Account/Contract detail pages\nexport const accountVrcTokenTxnsColumns = [\n {\n title: 'Transaction ID',\n key: 'hash',\n dataIndex: 'transactionHash',\n render: (hash: string) => ,\n width: 150,\n },\n {\n title: 'Time',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n width: 140,\n render: (time: number) => <>{timeFormatDistance(time)}\n },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n width: 150,\n render: (from: string, record: any) =>\n \n {record.fromContract && }\n {record.thisAccount === from ? (\n This account\n ) : (\n \n )}\n \n },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n render: (to: string, record: any) => {\n return (\n \n {record.toContract && }\n {record.thisAccount === to ? (\n This account\n ) : (\n \n\n )}\n \n )\n },\n width: 150,\n },\n {\n title: 'Quantity',\n key: 'quantity',\n dataIndex: 'valueNumber',\n ellipsis: true,\n width: 100,\n render: (value: number) => <>{formatNumber(value)}\n },\n {\n title: 'Token',\n key: 'token',\n dataIndex: 'tokenSymbol',\n width: 150,\n render: (symbol: string, record: any) => {\n return (\n
\n \n \n {record.tokenSymbol && <>{record.tokenName} ({record.tokenSymbol})}\n {!record.tokenSymbol && <>{record.address}}\n \n
\n )\n }\n },\n]\n\nexport const contractColumns = [\n {\n title: '#',\n key: 'rank',\n dataIndex: 'rank',\n ellipsis: true,\n width: '70px',\n },\n {\n title: 'Address',\n key: 'address',\n dataIndex: 'address',\n render: (address: string) =>\n \n {truncateBetween(address.toLowerCase())}\n \n },\n {\n title: 'Contract Name',\n key: 'contractName',\n dataIndex: 'contractName',\n render: (name: string, record: any) => <>{!!name && }\n },\n {\n title: 'Public tag',\n key: 'accountName',\n dataIndex: 'accountName',\n render: (name: string, record: any) => <>{!!name && }\n },\n {\n title: 'Balance (VIC)',\n key: 'balance',\n dataIndex: 'balanceNumber',\n render: (balance: number) => <>{formatNumber(balance)}\n },\n {\n title: 'Txn Count',\n key: 'txCount',\n dataIndex: 'txCount',\n render: (txCount: number) => <>{formatNumber(txCount)}\n },\n {\n title: 'Date Verified',\n key: 'timestamp',\n dataIndex: 'timestamp',\n ellipsis: true,\n render: (timestamp: number) => <>{timeFormatDistance(timestamp)}\n },\n {\n title: 'Compiler',\n key: 'compiler',\n dataIndex: 'compiler',\n ellipsis: true,\n render: (compiler: string) =>\n {compiler}\n },\n]","import { createSlice, PayloadAction, createAsyncThunk } from '@reduxjs/toolkit'\nimport BigNumber from 'bignumber.js'\nimport { persistReducer } from 'redux-persist'\nimport storage from 'redux-persist/lib/storage'\n\nimport { StatsType, LoadingType } from '../../constants/types'\nimport { fetchStats } from '../../api'\n\ninterface GeneralState {\n mode: string\n requestLimit: boolean\n stats: {\n loading: LoadingType\n data: null | StatsType\n }\n}\n\nconst initialState = { \n mode: 'light', \n stats: {\n loading: 'idle',\n data: null,\n },\n requestLimit: false,\n} as GeneralState\n\n// Create thunk\nexport const getStats = createAsyncThunk(\n 'general/getStats',\n async (params, thunkAPI) => {\n try {\n const response = await fetchStats()\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error)\n }\n }\n)\n\nconst generalSlice = createSlice({\n name: 'general',\n initialState,\n reducers: {\n // theme\n changeMode(state, action: PayloadAction) {\n state.mode = action.payload\n },\n requestLimit(state, action: PayloadAction) {\n state.requestLimit = action.payload\n },\n\n // reset stats\n resetStats(state) {\n state.stats.loading = 'idle'\n state.stats.data = null\n }\n },\n extraReducers: (builder) => {\n // stats\n builder.addCase(getStats.pending, (state, action) => {\n state.stats.loading = 'pending'\n })\n builder.addCase(getStats.fulfilled, (state, action) => {\n state.stats.loading = 'succeeded'\n const marketCap = new BigNumber(action.payload.price).multipliedBy(action.payload.circulatingSupply).toNumber()\n state.stats.data = { ...action.payload, marketCap }\n })\n builder.addCase(getStats.rejected, (state, action) => {\n state.stats.loading = 'failed'\n state.stats.data = null\n })\n }\n})\n\nexport const { changeMode,requestLimit, resetStats } = generalSlice.actions\n\nconst persistConfig = {\n key: 'general',\n storage,\n whitelist: ['mode'],\n}\nexport default persistReducer(persistConfig, generalSlice.reducer)","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\n\nimport { BlocksState } from '../../constants/types'\nimport { requestLimit } from '../../features/general/generalSlice'\nimport { fetchBlockDetailsByNumberOrHash, fetchTxListByBlock, fetchBlockList } from '../../api'\n\n// Create thunk\nexport const getBlockDetailsByNumberOrHash = createAsyncThunk(\n 'blocks/getBlockDetailsByNumberOrHash',\n async (blockNumberOrHash: string, thunkAPI) => {\n try {\n const response = await fetchBlockDetailsByNumberOrHash(blockNumberOrHash)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTxListByBlock = createAsyncThunk(\n 'blocks/getTxListByBlock',\n async (params: {blockNumber: string, offset: number, limit: number}, thunkAPI) => {\n try {\n const { blockNumber, offset, limit } = params\n const response = await fetchTxListByBlock(blockNumber, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getBlockList = createAsyncThunk(\n 'blocks/getBlockList',\n async (params: {author: string|undefined, offset: number, limit: number}, thunkAPI) => {\n try {\n const {author, offset, limit } = params\n\n const response = await fetchBlockList(author, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: { \n data: [],\n loading: 'idle',\n total: null,\n },\n details: {\n data: null,\n loading: 'idle',\n transactions: {\n data: [],\n total: null,\n loading: 'idle',\n }\n }\n} as BlocksState\n\nconst blocksSlice = createSlice({\n name: 'blocks',\n initialState,\n reducers: {\n // reset block list\n resetBlockList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = null\n }\n },\n extraReducers: (builder) => {\n // block details\n builder.addCase(getBlockDetailsByNumberOrHash.pending, (state, action) => {\n state.details.loading = 'pending'\n state.details.data = null\n })\n builder.addCase(getBlockDetailsByNumberOrHash.fulfilled, (state, action) => {\n state.details.loading = 'succeeded'\n state.details.data = action.payload\n })\n builder.addCase(getBlockDetailsByNumberOrHash.rejected, (state, action) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n\n // block transaction list\n builder.addCase(getTxListByBlock.pending, (state, action) => {\n state.details.transactions.loading = 'pending'\n })\n builder.addCase(getTxListByBlock.fulfilled, (state, action) => {\n state.details.transactions.loading = 'succeeded'\n state.details.transactions.data = action.payload.data\n state.details.transactions.total = action.payload.total\n })\n builder.addCase(getTxListByBlock.rejected, (state, action) => {\n state.details.transactions.loading = 'failed'\n state.details.transactions.data = []\n state.details.transactions.total = null\n })\n\n // block list\n builder.addCase(getBlockList.pending, (state, action) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getBlockList.fulfilled, (state, action) => {\n state.list.loading = 'succeeded'\n state.list.data = action.payload.data\n state.list.total = action.payload.total\n })\n\n builder.addCase(getBlockList.rejected, (state, action) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = null\n })\n },\n})\n\nexport const { resetBlockList } = blocksSlice.actions\nexport default blocksSlice.reducer\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\n\nimport { TxActionType, TransactionsState } from '../../constants/types'\nimport { fetchTxDetailsByHash, fetchTxInternal, fetchTxList } from '../../api'\nimport { requestLimit } from '../../features/general/generalSlice'\n\n// Create thunk\nexport const getTxDetailsByHash = createAsyncThunk(\n 'transactions/getTxDetailsByHash',\n async (hash: string, thunkAPI) => {\n try {\n const response = await fetchTxDetailsByHash(hash)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n } \n return thunkAPI.rejectWithValue(error.response.status)\n }\n }\n)\n\nexport const getTxList = createAsyncThunk(\n 'transactions/getTxList',\n async (params: { offset: number, limit: number }, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchTxList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n } \n return thunkAPI.rejectWithValue(error.response.status)\n }\n }\n)\n\nexport const getInternalTx = createAsyncThunk(\n 'transactions/getInternalTx',\n async (params: { hash: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { hash, offset, limit } = params\n const response = await fetchTxInternal(hash, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.status)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: {\n data: [],\n loading: 'idle',\n total: null,\n },\n details: {\n data: null,\n internalTx: {\n loading: 'idle',\n data: [],\n total: 0,\n },\n loading: 'idle',\n }\n} as TransactionsState\n\nconst transactionsSlice = createSlice({\n name: 'transactions',\n initialState,\n reducers: {\n // reset transaction list\n resetTxList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = null\n }\n },\n extraReducers: (builder) => {\n // transaction details\n builder.addCase(getTxDetailsByHash.pending, (state, action) => {\n state.details.loading = 'pending'\n state.details.data = null\n })\n\n builder.addCase(getTxDetailsByHash.fulfilled, (state, action) => {\n state.details.loading = 'succeeded'\n\n const actions = action.payload.actions.reduce((acc: any, curr: TxActionType) => {\n if (!acc[curr.type]) {\n acc[curr.type] = [curr]\n } else {\n acc[curr.type] = [...acc[curr.type], curr]\n }\n\n return acc\n }, {})\n\n state.details.data = { ...action.payload, actions }\n if (state.details.data && action.payload.status) state.details.data.status = action.payload.status.toLowerCase()\n })\n\n builder.addCase(getTxDetailsByHash.rejected, (state, action) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n\n // transaction list\n builder.addCase(getTxList.pending, (state, action) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getTxList.fulfilled, (state, action) => {\n state.list.loading = 'succeeded'\n state.list.data = action.payload.data\n state.list.total = action.payload.total\n })\n\n builder.addCase(getTxList.rejected, (state, action) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = null\n })\n\n // transaction InternalTx\n builder.addCase(getInternalTx.pending, (state, action) => {\n state.details.internalTx.loading = 'pending'\n })\n\n builder.addCase(getInternalTx.fulfilled, (state, action) => {\n state.details.internalTx.loading = 'succeeded'\n state.details.internalTx = action.payload\n })\n\n builder.addCase(getInternalTx.rejected, (state, action) => {\n state.details.internalTx.loading = 'failed'\n state.details.internalTx.data = []\n })\n },\n})\n\nexport const { resetTxList } = transactionsSlice.actions\nexport default transactionsSlice.reducer\n","import { useEffect } from 'react'\nimport { Link } from 'react-router-dom'\n// import { TwitterTimelineEmbed } from 'react-twitter-embed'\n\n// import icPrice from '../../assets/images/ic-price.svg';\n// import icEpochs from '../../assets/images/ic-epochs.svg';\n// import icBlocks from '../../assets/images/ic-blocks.svg';\n// import icTransactions from '../../assets/images/ic-transactions.svg';\n// import icMarketCap from '../../assets/images/ic-market-cap.svg';\n// import icAccount from '../../assets/images/ic-account.svg';\nimport icListBlock from '../../assets/images/ic-list-block.svg';\nimport icListTransactions from '../../assets/images/ic-list-transactions.svg';\n\nimport {\n Typography,\n Row,\n Col,\n} from 'antd';\n\nimport {\n SearchBoxWrapper,\n ContentHomePage,\n MainDetailToken,\n TitleBoxStart,\n InfoDetails,\n CardBoxTable,\n CardTableContent,\n TitleHeaderBox,\n TitleSearch,\n ContentMainTop,\n ContentMainTable,\n InnerBox,\n\n} from './homePageStyles'\n\nimport { useAppSelector, useAppDispatch } from '../../app/hooks'\nimport { formatNumber, timeFormatDistance, toTomo } from '../../utils'\nimport { BlockDetailsType, TxDetailsType } from '../../constants/types'\nimport { SearchBox, DataTableLoading } from '../../common'\nimport { getStats, resetStats } from './generalSlice'\nimport { getBlockList, resetBlockList } from '../blocks/blocksSlice'\nimport { getTxList, resetTxList } from '../transactions/transactionsSlice'\n\nconst { Text } = Typography\n\nexport default function HomePage() {\n const dispatch = useAppDispatch()\n const stats = useAppSelector((state) => state.general.stats)\n const blocks = useAppSelector((state) => state.blocks.list)\n const txs = useAppSelector((state) => state.transactions.list)\n // const mode = useAppSelector((state) => state.general.mode)\n\n const getData = () => {\n dispatch(getStats())\n dispatch(getBlockList({author: undefined, offset: 0, limit: 10 }))\n dispatch(getTxList({ offset: 0, limit: 10 }))\n }\n\n useEffect(() => {\n getData()\n\n const timerInterval = setInterval(() => {\n getData()\n }, 7000)\n\n // reset state\n return () => {\n clearInterval(timerInterval)\n dispatch(resetStats())\n dispatch(resetBlockList())\n dispatch(resetTxList())\n }\n }, [])\n\n return (\n <>\n \n \n \n \n \n \n
\n Viction - Blockchain Explorer\n \n
\n
\n\n \n \n \n \n {/*
\n \"\"\n
*/}\n
\n VIC Price\n ${formatNumber(stats.data?.price)}\n
\n
\n \n\n \n \n {/*
\n \"\"\n
*/}\n
\n Epochs\n {formatNumber(stats.data?.epoch)} ({formatNumber(stats.data?.tps)} TPS)\n
\n
\n \n\n \n \n {/*
\n \"\"\n
*/}\n
\n Blocks\n {formatNumber(stats.data?.block)}\n
\n
\n \n\n \n \n {/*
\n \"\"\n
*/}\n
\n VIC Market cap\n ${formatNumber(stats.data?.marketCap, 2)}\n
\n
\n \n\n \n \n {/*
\n \"\"\n
*/}\n
\n Transactions\n {formatNumber(stats.data?.txs)}\n
\n
\n \n\n \n \n {/*
\n \"\"\n
*/}\n
\n Accounts\n {formatNumber(stats.data?.accounts)}\n
\n
\n \n
\n
\n
\n \n {/* \n \n News\n \n \n */}\n
\n
\n\n \n \n \n \n Latest Blocks\n \n {(blocks.loading === 'pending') && (blocks.data.length === 0) &&\n
\n \n
\n }\n {(blocks.data.length > 0) &&\n blocks.data.map((block: BlockDetailsType) => {\n return (\n
\n \n \n
\n
\"\"
\n
\n {block.number}\n {timeFormatDistance(block.timestamp)}\n
\n
\n \n\n \n {block.m1Name}\n {block.m1}\n \n\n \n {block.transactions} txns\n in 2 secs\n \n
\n
\n )\n })\n }\n
\n
View all Blocks
\n
\n \n\n \n \n Latest Transactions\n \n {(txs.loading === 'pending') && (txs.data.length === 0) &&\n
\n \n
\n }\n {(txs.data.length > 0) &&\n // @ts-ignore\n txs.data.map((tx: TxDetailsType) => {\n return (\n
\n \n \n
\n
\"\"
\n
\n {tx.hash}\n {timeFormatDistance(tx.timestamp)}\n
\n
\n \n\n \n From {tx.fromName || tx.from}\n To {tx.toName || tx.to}\n \n\n \n Value\n {formatNumber(toTomo(tx.value, 18))} VIC\n \n
\n
\n )\n })\n }\n
\n
View all Transactions
\n
\n \n \n {/* \n \n News\n \n \n */}\n
\n
\n
\n \n )\n}\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { PageHeader, Datatable, DataTableTotal, txColumns } from '../../common'\nimport { getTxList, resetTxList } from './transactionsSlice'\n\nexport default function TransactionList() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['transactions']['list'])\n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetTxList())\n }\n }, [])\n return (\n
\n \n\n }\n getData={getTxList}\n />\n
\n )\n}","export default __webpack_public_path__ + \"static/media/icon-copy.47fb4840.svg\";","import { Tag, Button, Typography } from \"antd\"\nimport styled from \"styled-components\"\nconst {Text} = Typography\nexport const MainDetailsTransfer = styled.div`\n .ant-tabs-content .content-table{\n padding: 0;\n }\n @media(max-width: 767px){\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\n\nexport const TxtColStyle = styled.div`\n margin: 10px 0;\n word-break: break-all;\n &.col-txt-left {\n color: ${({ theme }) => theme.textOverlay};\n }\n &.col-txt-right {\n color: ${({ theme }) => theme.text};\n .ant-typography{\n color: ${({ theme }) => theme.text};\n }\n }\n &.bg-box {\n background-color: ${({ theme }) => theme.bg4};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n .style-table-bordered {\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n }\n }\n .btn-switch-decode {\n color: ${({ theme }) => theme.primary};\n background: transparent;\n box-shadow: 0 0 0;\n border: 0;\n padding: 0;\n height: auto;\n }\n .anticon {\n transition: all .2s;\n }\n @media(max-width: 767px){\n margin: 0;\n }\n .box-hex-dex {\n .items-topics {\n margin-bottom: 7px;\n &:last-child {\n margin-bottom: 0px;\n }\n }\n }\n`\n\nexport const ValueRow = styled.div`\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 5px;\n &:last-child {\n margin-bottom: 0px;\n }\n`\n\nexport const BoxItemLog = styled.div`\n margin-bottom: 25px;\n padding-bottom: 25px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n`\nexport const DataType = styled.div`\n margin-bottom: 15px;\n`\nexport const ButtonType = styled.button`\n background-color: ${({ theme }) => theme.border};\n border: none;\n padding: 5px 10px;\n height: 20px;\n line-height: 10px;\n cursor: pointer;\n &.active{\n background-color: ${({ theme }) => theme.primary};\n color: #fff;\n }\n`\nexport const TextInfoTable = styled.div`\n color: ${({ theme }) => theme.text};\n margin-top: 5px;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 5px;\n @media(max-width: 767px){\n margin-bottom: 0;\n }\n`\nexport const Status = styled(Tag) <{ status: string }>`\nbackground: ${({ theme, status }) => status === 'success' ? theme.bgsuccess : status === 'fail' ? theme.bgfail : theme.bgpending};\ncolor: ${({ theme, status }) => theme[status]};\nborder: 0;\nborder-radius: 12px;\npadding: 3px 15px;\nmargin: 0;\nmin-height: 24px;\n`\nexport const TextOverlay = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const LoadMoreBtn = styled(Button)`\n color: #fff;\n font-weight: bold;\n background-color: ${({ theme }) => theme.primary};\n border-radius: 8px;\n border: none;\n\n &:hover,\n &: focus {\n color: #fff;\n background-color: ${({ theme }) => theme.primaryHover};\n }\n`\nexport const StyleCopyIcon = styled.span`\n cursor: pointer;\n border-radius: 0;\n border: 0;\n width: 20px;\n height: 20px;\n color: ${({ theme }) => theme.textOverlay};\n margin-left: 10px;\n`\nexport const TimeStyle = styled(Text)`\n @media(max-width: 480px){\n display: block;\n }\n`","import React, { useState, useEffect } from 'react'\nimport { Link } from 'react-router-dom';\nimport { Typography, Row, Col } from 'antd';\n\nimport { TxDetailsLogType } from '../../constants/types';\nimport { TxtColStyle, BoxItemLog, ButtonType, DataType, LoadMoreBtn } from './transactionDetailsPageStyles';\n\nconst { Paragraph } = Typography;\nconst LIMIT = 5\n\ninterface TransactionDetailLogsProps {\n data: TxDetailsLogType[];\n}\n\nconst TopicRender = ({ log }: any) => {\n\n const [topicType, setTopicType] = useState('hex')\n\n const onClickType = (e: any) => {\n const value = e.target.value\n setTopicType(value)\n }\n return (\n \n {log.decodedTopics &&\n \n Hex\n Dec\n \n }\n
\n {log.decodedTopics && topicType === 'dec' ?\n log.decodedTopics.map((t: any, i: any) => (\n
\n {i + 1}. {t}\n
\n ))\n :\n log.topics.map((topic: any, topicIdx: number) => (\n
\n {topicIdx + 1}. {topic}\n
\n ))\n }\n
\n
\n )\n}\n\nconst DataRender = ({ log }: any) => {\n const [topicType, setTopicType] = useState('hex')\n\n const onClickType = (e: any) => {\n const value = e.target.value\n setTopicType(value)\n }\n let newParam: Array = []\n if (log.params && log.params.length > 0) {\n log.params.forEach((p: any) => {\n if (!p.indexed) {\n newParam.push(p.name)\n }\n })\n }\n return (\n \n {log.decodedData &&\n \n Hex\n Dec\n \n }\n {log.decodedData && topicType === 'dec' ?\n newParam.map((p: any, i: any) => (\n \n {p}: {log.decodedData[p]}\n \n ))\n :\n log.data\n }\n \n )\n}\nfunction TransactionDetailLogs({ data }: TransactionDetailLogsProps) {\n const [offset, setOffset] = useState(0)\n const [logs, setLogs] = useState>([])\n\n function onLoadMore() {\n setOffset(offset + LIMIT)\n }\n\n useEffect(() => {\n setLogs([...logs, ...data.slice(offset, offset + LIMIT)])\n }, [offset])\n\n return (\n <>\n {logs.map((log, logIdx) => {\n const getParams = log.params && log.params.reduce((acc: any, current: any, index: any, logArr: any) => {\n const indexed = current.indexed ? `index_topic ${current.type} ${current.name}` : ` ${current.type} ${current.name}`\n return index === logArr.length - 1 ? acc + ' ' + indexed : acc + ' ' + indexed + ','\n }, '')\n return (\n \n \n \n Address\n \n \n \n {log.address}\n \n \n \n {log.functionName &&\n \n \n Name\n \n \n \n {`${log.functionName} (${getParams})`}  \n View code\n \n \n \n }\n\n \n \n Topics\n \n \n {log.topics.length > 0 &&\n \n }\n \n \n\n \n \n Data\n \n \n {log.data.length > 0 && }\n \n \n \n );\n })}\n\n
\n {((data.length > LIMIT) && (logs.length < data.length)) && Load More}\n
\n \n );\n}\n\nexport default TransactionDetailLogs;\n","import { useCallback, useEffect, useState } from 'react'\nimport { Helmet } from 'react-helmet-async'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport { useParams, Link, Redirect } from 'react-router-dom'\nimport BigNumber from 'bignumber.js'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\n\nimport {\n Typography,\n Tabs,\n Space,\n Row,\n Col,\n Divider,\n Tooltip,\n Button,\n} from 'antd'\n\nimport {\n ClockCircleOutlined,\n BlockOutlined,\n InfoCircleOutlined,\n CaretRightOutlined,\n CloseCircleFilled,\n CheckCircleFilled,\n SwapRightOutlined\n} from '@ant-design/icons'\n\nimport TokenTomo from '../../assets/images/token-tomo.png'\n\nimport {\n MainDetailsTransfer,\n TxtColStyle,\n TextInfoTable,\n ValueRow,\n Status,\n TextOverlay,\n StyleCopyIcon,\n TimeStyle\n} from './transactionDetailsPageStyles'\n\nimport { TabStyle } from '../../appStyles'\n\nimport { getInternalTx, getTxDetailsByHash } from './transactionsSlice'\nimport { TxDetailsType, TxParamsType } from '../../constants/types'\nimport { toTomo, formatNumber, timeFormatUtc, timeFormatDistance } from '../../utils'\nimport { useAppSelector, useAppDispatch } from '../../app/hooks'\nimport { PageHeader, SkeletonLoading, Datatable, TagStyled, AddressLink, TabsWithHash } from '../../common'\nimport TransactionDetailLogs from './TransactionDetailsLogs'\nimport ContractIconTooltip from '../../common/ContractIconTooltip'\n\nconst { Text } = Typography\nconst { TabPane } = Tabs\n\nexport default function TransactionDetailsTransfer() {\n const [isCopied, setCopied] = useState(false)\n\n const dispatch = useAppDispatch()\n const { hash } = useParams()\n\n const getInternalTxData = useCallback(\n (params: any) => getInternalTx({ ...params, hash }),\n []\n )\n useEffect(() => {\n dispatch(getTxDetailsByHash(hash))\n }, [dispatch, hash])\n\n const { data, internalTx, loading }: { data: null | TxDetailsType, internalTx: any, loading: string } = useAppSelector((state) => state.transactions.details)\n\n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n const valueInUsd = new BigNumber(data.value).times(data.TOMOPrice).toNumber()\n const toAddress : string = data.to ?? data.contractAddress\n const feePayer = data.isGasSponsored ? (data.to || data.contractAddress) : data.from\n return (\n \n {hash &&\n \n {`Transaction ${hash}`}\n \n }\n \n \n \n \n \n \n \n Transaction ID  \n \n \n \n \n \n \n \n {/* */}\n {data.hash}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n {/* */}\n \n \n \n\n \n \n \n Type  \n \n \n \n \n \n \n \n {data.type}\n \n \n \n\n \n \n \n Status  \n \n \n \n \n \n \n \n \n {data.status === 'fail' ?\n <>\n  \n {data.status} with error \"{data.failReason ? data.failReason : ''}\"\n \n : <> {data.status}}\n \n \n \n \n\n \n \n \n Timestamp\n \n \n \n \n \n \n \n {timeFormatUtc(data.timestamp)}\n \n {timeFormatDistance(data.timestamp)}\n \n \n \n\n \n \n \n Block\n \n \n \n \n \n \n \n #{data.blockNumber}\n \n {formatNumber(data.latestBlock - data.blockNumber)} block confirmations\n \n \n \n\n \n \n \n From\n \n \n \n \n \n \n \n \n {data.from}\n {data.fromName ? data && data.to && ({data.fromName}) : ''}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n \n\n \n \n \n To\n \n \n \n \n \n \n \n \n {data.to ?\n \n {data.toContract && }\n {data.to}\n {data.toName ? data && data.to && ({data.toName}) : ''}\n \n : data.contractAddress &&
[Contract {data.contractAddress} Created]
\n }\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \n \"icon\n {/* more detail swap */}\n \n {/* more detail swap */}\n \n \n \n
\n
\n {data?.internal && data.internal.length > 0 &&\n \n {data.internal.map((item: any, key: number) => {\n return (\n
\n \n TRANSFER \n {formatNumber(toTomo(item.value, 18), 7)} VIC \n From \n
\n \n {item.from}\n \n
\n To \n
\n \n {item.to}\n \n
\n
\n )\n })}\n
\n }\n \n
\n\n {/* more detail swap */}\n {(data.actions.swap && data.actions.swap.length > 0) &&\n \n \n \n Transaction Action\n \n \n \n \n \n \n \n {\n data.actions.swap.map((item, index) => {\n return (\n \n Swap  \n {formatNumber(\n toTomo(\n item.data && item.data.inPoolToken ? item.data.inPoolToken.amount : 0,\n item.data && item.data.inPoolToken ? item.data.inPoolToken.tokenDecimals : 18))} \n {item.data && item.data.inPoolToken ? item.data.inPoolToken.tokenSymbol : ''} \n For  \n {formatNumber(\n toTomo(\n item.data && item.data.outPoolToken ? item.data.outPoolToken.amount : 0,\n item.data && item.data.outPoolToken ? item.data.outPoolToken.tokenDecimals : 18\n ))} \n {item.data && item.data.outPoolToken ? item.data.outPoolToken.tokenSymbol : ''} \n On \n \n \n )\n })\n }\n \n \n \n }\n\n {data.actions.mint_add_liquidity &&\n \n \n Transaction Action\n \n \n \n {\n data.actions.mint_add_liquidity.map((item, index) => {\n return (\n \n Supply\n {formatNumber(toTomo(item.data.token0Amount, item.data.token0Decimals))}\n \n and\n {formatNumber(toTomo(item.data.token1Amount, item.data.token1Decimals))}\n \n to\n \n \n )\n })\n }\n \n \n \n }\n\n {data.actions.burn_remove_liquidity &&\n \n \n Transaction Action\n \n \n \n {\n data.actions.burn_remove_liquidity.map((item, index) => {\n return (\n \n Remove\n {formatNumber(toTomo(item.data.token0Amount, item.data.token0Decimals))}\n \n and\n {formatNumber(toTomo(item.data.token1Amount, item.data.token1Decimals))}\n \n from\n \n \n )\n })\n }\n \n \n \n }\n\n {(data.actions.transfer && data.actions.transfer.length > 0) &&\n \n \n Tokens transferred\n \n \n \n {\n data.actions.transfer.map((item, index) => {\n const tokenId = item.data?.tokenId || item.data?.tokenIdString\n const longTokenId = tokenId?.toString()?.length > 10\n const tokenIdText = longTokenId ? `${tokenId?.toString()?.slice(0, 4)}...${tokenId?.toString()?.slice(-4)}` : tokenId\n return (\n \n \n From \n
 \n To \n
 \n For {formatNumber(toTomo(item.data.amount, item.data.tokenDecimals))} \n {item.data && item.data.tokenSymbol ? item.data.tokenSymbol : ''} \n {tokenId && (Token ID[{tokenIdText}])}\n {longTokenId && (\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}>\n \"icon\n \n \n )}\n\n
\n )\n })\n }\n
\n \n
\n }\n {/* /more detail swap */}\n\n \n \n \n Value\n \n \n \n \n \n \n \n {formatNumber(toTomo(data.value, 18), 7)} \"VIC\"VIC (${formatNumber(toTomo(valueInUsd, 18), 2)})\n \n VIC price: ${formatNumber(data.TOMOPrice)}\n \n \n \n\n \n \n \n Fee\n \n \n \n \n \n \n \n {formatNumber(toTomo(data.fee, 18))} VIC\n \n \n \n\n {data.fee > 0 &&\n \n \n \n Fee Payer\n \n \n \n \n \n \n \n {feePayer}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n }\n\n \n \n \n Gas Price\n \n \n \n \n \n \n \n {formatNumber(toTomo(data.gasPrice, 9))} Gwei  \n ({formatNumber(toTomo(data.gasPrice, 18), 18)} VIC)\n \n \n \n\n \n \n \n Gas Limit & Usage\n \n \n \n \n \n \n \n {formatNumber(data.gas)} {formatNumber(data.gasUsed)}\n ({formatNumber(data.gasUsed * 100 /data.gas, 2)}%)\n \n \n \n\n \n \n \n Nonce\n \n \n \n \n Position\n \n \n \n \n \n \n \n {data.nonce} {data.transactionIndex}\n \n \n \n\n \n \n \n Input data\n \n \n \n \n \n \n \n \n \n\n
\n\n \n \n The contract call From\n
\n To\n
\n produced {internalTx.data.length} Internal Transaction\n
\n \n
\n\n {(data.logs.length > 0) &&\n \n \n \n }\n
\n
\n
\n )\n}\n\nexport function TxDetailsInputData({ data }: { data: null | TxDetailsType }) {\n const [isDecode, setIsDecode] = useState(false)\n\n function toggleDecode() {\n setIsDecode(!isDecode)\n }\n\n if (!data) return null\n\n if (data.encodedInput &&\n data.decodedInput &&\n (Object.keys(data.encodedInput).length > 0) &&\n (Object.keys(data.decodedInput).length > 0)\n ) {\n const params = data.decodedInput.params.map((item: any) => `${item.type} ${item.name}`)\n const inputDataSource = data.decodedInput.params.map((item: any, index: number) => {\n const inputData = data.decodedInput.data[item.name]\n\n return { ...item, index, data: inputData }\n })\n return (\n <>\n \n {!isDecode &&\n <>\n Function: {data.decodedInput.name}({params.join(', ')})\n MethodId: {data.encodedInput.methodId}\n {\n data.encodedInput.data.map((item, index) => {\n return (\n [{index}]: {item}\n )\n })\n }\n \n }\n\n {isDecode &&\n \n }\n \n\n \n \n \n \n )\n }\n\n return (\n \n

{data.input}

\n
\n )\n}\n\nconst columns = [\n // {\n // title: 'Type Trace Address',\n // key: 'trace',\n // dataIndex: 'trace',\n // ellipsis: true,\n // width: 200,\n // },\n {\n title: 'From',\n key: 'from',\n dataIndex: 'from',\n ellipsis: true,\n render: (from: string) =>\n {from}\n },\n {\n title: 'To',\n key: 'to',\n dataIndex: 'to',\n ellipsis: true,\n render: (to: string) =>\n {to}\n },\n {\n title: 'Value (VIC)',\n key: 'value',\n dataIndex: 'value',\n ellipsis: true,\n render: (value: number) => <>{formatNumber(toTomo(value, 18), 7)},\n },\n // {\n // title: 'Gas Limit',\n // key: 'gas',\n // dataIndex: 'gas',\n // },\n]\n\nconst inputDataColumns = [\n {\n title: '#',\n key: 'index',\n dataIndex: 'index',\n },\n {\n title: 'Name',\n key: 'name',\n dataIndex: 'name',\n },\n {\n title: 'Type',\n key: 'type',\n dataIndex: 'type',\n },\n {\n title: 'Data',\n key: 'data',\n dataIndex: 'data',\n render: (data: Array, record: any) =>\n Array.isArray(data) && data.length > 0 ?\n data.map((value:string) => {\n return {value}

\n })\n : record.type === 'address' ? {data} : {data?.toLocaleString()}\n }\n]\n","import { Input } from \"antd\";\nimport styled from \"styled-components\";\n\nexport const PositionStyled = styled.div`\n position: absolute;\n right: 400px;\n top: 190px;\n @media(max-width: 767px){\n position: static;\n .ant-form ant-form-vertical{\n justify-content: center;\n }\n }\n`\n\nexport const InputStyled = styled(Input)`\n min-width: 250px;\n background-color: ${({theme})=> theme.bg1};\n padding-right: 5px;\n border: 1px solid ${({theme})=>theme.border};\n &:focus,&:active{\n outline: none;\n border: none;\n }\n .ant-input-suffix{\n margin-left: 0;\n }\n .ant-input{\n background-color: ${({theme})=> theme.bg1};\n }\n`\nexport const ButtonSubmit = styled(Input)`\n cursor: pointer;\n color: #fff;\n background-color: ${({theme})=> theme.primary};\n fontSize: 12px;\n &:focus,&:active{\n outline: none!important;\n border: none!important;\n box-shadow: none!important;\n }\n`\n","import { useCallback, useEffect, useState } from 'react'\n\nimport { useAppDispatch, useAppSelector, useQuery } from '../../app/hooks'\nimport { PageHeader, Datatable, DataTableTotal, blockColumns } from '../../common'\nimport { getBlockList, resetBlockList } from './blocksSlice'\nimport { ButtonSubmit, InputStyled, PositionStyled } from './blockListPageStyles'\nimport { Form } from 'antd'\nimport { useHistory } from 'react-router-dom'\n\nexport default function BlockListPage() {\n const dispatch = useAppDispatch()\n const query = useQuery()\n const getAuthor = query.get('author')?.trim() || ''\n const [author, setAuthor] = useState(getAuthor)\n const history = useHistory()\n \n const getData = useCallback(\n (params: any) => getBlockList({ ...params, author }),\n [author]\n )\n \n \n const { data, loading, total } = useAppSelector((state) => state['blocks']['list'])\n const onFinish = async (values: any) => {\n setAuthor(values.author)\n if (values.author) {\n history.push({ search: `?author=${values.author}` })\n } else {\n history.push({ search: '' })\n }\n }\n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetBlockList())\n }\n }, [])\n\n return (\n
\n \n <>\n \n\n
\n \n \n \n \n \n \n \n
\n }\n getData={getData}\n />\n \n
\n )\n}","import styled from \"styled-components\";\nimport { Button } from 'antd'\n\nexport const MainDetails = styled.div`\n .ant-tabs-content .content-table{\n padding: 0;\n }\n @media(max-width: 767px){\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\n\nexport const TxtColStyle = styled.div`\n margin: .75rem 0;\n word-break: break-all;\n &.col-txt-left {\n color: ${({ theme }) => theme.textOverlay};\n }\n &.col-txt-right {\n color: ${({ theme }) => theme.text};\n }\n &.back-forward-button-line {\n color: ${({ theme }) => theme.text};\n display: flex;\n flex-wrap: wrap;\n }\n &.bg-box {\n background-color: ${({ theme }) => theme.bg4};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n .style-table-bordered {\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n }\n }\n .anticon {\n color: ${({ theme }) => theme.textOverlay};\n transition: all .2s;\n &:hover {\n color: #14a282;\n }\n }\n @media(max-width: 767px){\n margin: 0;\n }\n`\nexport const TitleHeaderBox = styled.div`\n font-weight: bold;\n font-size: 16px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n padding-bottom: 15px;\n color: ${({ theme }) => theme.text};\n`\nexport const TextOverlay = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const BoxTableBefore = styled.div`\n background-color: ${({ theme }) => theme.bg2};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n`\n\nexport const BoxTableAfter = styled.div`\n margin-top: 25px;\n padding: 15px 0;\n background-color: ${({ theme }) => theme.bg2};\n`\n\nexport const TxtInfoTable = styled.div`\n margin: 5px 0 20px 0px;\n`\n\nexport const ButtonStyled = styled(Button)`\n margin-left: 5px;\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${({ theme }) => theme.bgBtn};\n border: 1px solid ${({ theme }) => theme.bdBtn};\n color: ${({ theme }) => theme.textBtn};\n &.ant-btn[disabled],\n &.ant-btn[disabled]:hover,\n &.ant-btn[disabled]:focus,\n &.ant-btn[disabled]:active {\n background-color: ${({ theme }) => theme.bgBtnDisable};\n border: 1px solid ${({ theme }) => theme.textBtnDisable};\n color: rgba(0, 0, 0, 0.25);\n }\n &.ant-btn:hover,\n &.ant-btn:focus,\n &.ant-btn:active {\n background-color: ${({ theme }) => theme.bgBtnActive};\n border: 1px solid ${({ theme }) => theme.bdBtnActive};\n color: ${({ theme }) => theme.textBtnActive};\n }\n`\n\nexport const StyleCopyIcon = styled.span`\n cursor: pointer;\n border-radius: 0;\n border: 0;\n width: 20px;\n height: 20px;\n color: ${({ theme }) => theme.textOverlay};\n margin-left: 10px;\n`","import { useCallback } from 'react'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { Datatable, DataTableTotal, txColumns } from '../../common'\nimport { getTxListByBlock } from './blocksSlice'\n\nexport default function TransactionList({ blockNumber }: { blockNumber: string | undefined }) {\n const { data, loading, total } = useAppSelector((state) => state.blocks.details.transactions)\n\n const getData = useCallback(\n (params: any) => getTxListByBlock({ ...params, blockNumber }),\n []\n )\n\n return (\n }\n getData={getData}\n />\n )\n}","import { useEffect, useState } from 'react'\nimport { Helmet } from 'react-helmet-async'\nimport { PageHeader } from '../../common/PageHeader'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport { useParams, Link, Redirect } from 'react-router-dom'\nimport { LeftOutlined, RightOutlined } from '@ant-design/icons'\nimport {\n Row,\n Col,\n Divider,\n Tooltip\n} from 'antd'\n\nimport {\n ClockCircleOutlined,\n InfoCircleOutlined,\n} from '@ant-design/icons'\n\nimport {\n MainDetails,\n TxtColStyle,\n BoxTableAfter,\n BoxTableBefore,\n TextOverlay,\n TitleHeaderBox,\n ButtonStyled,\n StyleCopyIcon\n} from './blockDetailsPageStyles'\n\nimport { formatNumber, timeFormatUtc, timeFormatDistance, toTomo } from '../../utils'\nimport { useAppSelector, useAppDispatch } from '../../app/hooks'\nimport { BlockDetailsType, BlockParamsType } from '../../constants/types'\nimport { getBlockDetailsByNumberOrHash } from './blocksSlice'\nimport { getStats, resetStats } from '../../features/general/generalSlice'\nimport { SkeletonLoading } from '../../common'\nimport BlockTransactionList from './BlockTransactionList'\n\n\nexport default function BlockDetailsOverview() {\n const [isCopied, setCopied] = useState(false)\n const dispatch = useAppDispatch()\n const { blockNumberOrHash } = useParams()\n const stats = useAppSelector((state) => state.general.stats.data)\n useEffect(() => {\n if (blockNumberOrHash) dispatch(getBlockDetailsByNumberOrHash(blockNumberOrHash))\n }, [blockNumberOrHash, dispatch])\n\n const getData = () => {\n dispatch(getStats())\n }\n useEffect(() => {\n getData()\n\n // reset state\n return () => {\n dispatch(resetStats())\n }\n }, []) \n const { data, loading }: { data: null | BlockDetailsType, loading: string } = useAppSelector((state) => state.blocks.details)\n if(stats && stats.block && blockNumberOrHash && stats.block < blockNumberOrHash) return \n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n\n return (\n \n {blockNumberOrHash &&\n \n {`Block ${blockNumberOrHash}`}\n \n }\n \n \n Overview\n \n \n \n Block height\n \n \n \n \n \n \n \n {formatNumber(data.number)}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n\n 0 ? 'Previous block' : 'This is the genesis block'}\n >\n \n \n\n \n \n \n \n \n \n\n \n \n \n Epoch\n \n \n \n \n \n \n \n {formatNumber(data.epoch)}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Timestamp\n \n \n \n \n \n \n \n {timeFormatUtc(data.timestamp)}\n \n {timeFormatDistance(data.timestamp)}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Transactions\n \n \n \n \n \n \n \n {formatNumber(data.transactions)} transaction{data.transactions > 1 ? 's' : ''} and {formatNumber(data.internalTxCount)} contract internal transaction{data.internalTxCount > 1 ? 's' : ''} in this block\n \n \n \n\n \n \n \n Hash\n \n \n \n \n \n \n \n {data.hash}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n {data.parentHash &&\n \n \n \n Parent Hash\n \n \n \n \n \n \n \n {(data.number - 1) > 0 && {data.parentHash}}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n }\n \n \n \n State Root\n \n \n \n \n \n \n \n {data.stateRoot}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n \n \n \n Creator\n \n \n \n \n \n \n \n {data.m1Name ? data.m1Name : data.m1}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Verifier\n \n \n \n \n \n \n \n {data.m2Name ? data.m2Name : data.m2}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n \n \n \n Total Fee\n \n \n \n \n \n \n \n {toTomo(data.totalFee, 18)} VIC\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Gas Used\n \n \n \n \n \n \n \n {formatNumber(data.gasUsed)}\n ({formatNumber(data.gasUsed * 100 /data.gasLimit, 2)}%)\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Gas Limit\n \n \n \n \n \n \n \n {formatNumber(data.gasLimit)}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n \n \n \n Finality\n \n \n \n \n \n \n \n {data.finality}%\n \n \n \n\n \n \n \n Total Difficulty\n \n \n \n \n \n \n \n {formatNumber(data.totalDifficulty)}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Size\n \n \n \n \n \n \n \n {formatNumber(data.size)} bytes\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n \n \n Extra Data\n \n \n \n \n \n \n \n {data.extraData}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n\n \n\n \n Transactions\n \n \n \n )\n}\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\n\nimport { EpochsState, RewardType } from '../../constants/types'\nimport { fetchEpochList, fetchEpochDetailsByNumber, fetchEpochDetailsReward } from '../../api'\nimport { requestLimit } from '../../features/general/generalSlice'\n\n// Create thunk\nexport const getEpochList = createAsyncThunk(\n 'epochs/getEpochList',\n async (params: {offset: number, limit: number}, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchEpochList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getEpochDetailsByNumber = createAsyncThunk(\n 'blocks/getEpochDetailsByNumber',\n async (param: string, thunkAPI) => {\n try {\n const response = await fetchEpochDetailsByNumber(param)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getEpochDetailsReward = createAsyncThunk(\n 'epochs/getEpochDetailsReward',\n async (params: {epochNumber: string, rewardType: RewardType, offset: number, limit: number}, thunkAPI) => {\n try {\n const { epochNumber, rewardType, offset, limit } = params\n\n const response = await fetchEpochDetailsReward(epochNumber, rewardType, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nconst initialListState = {\n loading: 'idle',\n total: null,\n data: [],\n}\n\n// Declare slice\nconst initialState = {\n list: { \n ...initialListState\n },\n details: {\n data: null,\n loading: 'idle',\n reward: {\n voter: {\n ...initialListState\n },\n masternode: {\n ...initialListState\n },\n foundation: {\n ...initialListState\n }\n }\n }\n} as EpochsState\n\nconst epochsSlice = createSlice({\n name: 'epochs',\n initialState,\n reducers: {\n // reset block list\n resetEpochList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = null\n },\n },\n extraReducers: (builder) => {\n // epoch list\n builder.addCase(getEpochList.pending, (state, action) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getEpochList.fulfilled, (state, action) => {\n state.list.loading = 'succeeded'\n state.list.data = action.payload.data\n state.list.total = action.payload.total\n })\n\n builder.addCase(getEpochList.rejected, (state, action) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = null\n })\n\n // epoch details\n builder.addCase(getEpochDetailsByNumber.pending, (state, action) => {\n state.details.loading = 'pending'\n state.details.data = null\n })\n builder.addCase(getEpochDetailsByNumber.fulfilled, (state, action) => {\n state.details.loading = 'succeeded'\n state.details.data = action.payload\n })\n builder.addCase(getEpochDetailsByNumber.rejected, (state, action) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n\n // epoch reward\n builder.addCase(getEpochDetailsReward.pending, (state, action) => {\n const { rewardType } = action.meta.arg \n state.details.reward[rewardType].loading = 'pending'\n })\n\n builder.addCase(getEpochDetailsReward.fulfilled, (state, action) => {\n const { rewardType } = action.meta.arg\n \n state.details.reward[rewardType].loading = 'succeeded'\n state.details.reward[rewardType].data = action.payload.data\n state.details.reward[rewardType].total = action.payload.total\n })\n\n builder.addCase(getEpochDetailsReward.rejected, (state, action) => {\n const { rewardType } = action.meta.arg\n\n state.details.reward[rewardType].loading = 'failed'\n state.details.reward[rewardType].data = []\n state.details.reward[rewardType].total = null\n })\n }\n})\n\nexport const { resetEpochList } = epochsSlice.actions\nexport default epochsSlice.reducer\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { getEpochList, resetEpochList } from './epochsSlice'\nimport { PageHeader, Datatable, epochColumns, DataTableTotal } from '../../common'\n\nexport default function EpochsList() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['epochs']['list'])\n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetEpochList())\n }\n }, [])\n\n return (\n
\n \n \n }\n getData={getEpochList}\n />\n
\n )\n}","import styled from \"styled-components\";\n\nexport const MainDetails = styled.div`\n @media(max-width: 767px){\n .rp-mb{\n margin-bottom: 30px;\n }\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\nexport const BoxContentPlaceHolder = styled.div`\n background: ${({ theme }) => theme.bg2};\n padding: 15px 24px;\n height: 100%;\n @media(max-width: 767px){\n padding-left: 15px;\n padding-right: 15px;\n }\n`\nexport const InnerPlaceHolder = styled.div`\n`\nexport const TxtColStyle = styled.div`\n margin: 10px 0;\n word-break: break-all;\n &.col-txt-left {\n color:${({ theme }) => theme.textOverlay};\n }\n &.col-txt-right {\n color:${({ theme }) => theme.text};\n }\n @media(max-width: 767px){\n margin: 0;\n }\n`\nexport const TextOverlay = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const BoxContentTable = styled.div`\n margin-top: 25px;\n .style-table-bordered {\n padding: 15px 0 0;\n }\n .content-table {\n padding: 0;\n }\n`\nexport const TitleHeaderBox = styled.div`\n font-weight: bold;\n font-size: 16px;\n margin-bottom: 15px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n padding-bottom: 15px;\n color: ${({ theme }) => theme.text};\n`\nexport const TxtInfoTable = styled.div`\n margin: 5px 0 20px 0px;\n`","import { useCallback } from 'react'\nimport { useParams } from 'react-router-dom'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { EpochParamsType, RewardType } from '../../constants/types'\nimport { Datatable, DataTableTotal, epochRewardColumns, SkeletonLoading } from '../../common'\nimport { getEpochDetailsReward } from './epochsSlice'\nimport { timeFormatDistance } from '../../utils'\n\n\n\ninterface EpochDetailsRewardProps {\n type: RewardType\n}\n\nexport default function EpochDetailsReward({ type }: EpochDetailsRewardProps) {\n const { epochNumber } = useParams()\n const { reward } = useAppSelector(state => state.epochs.details)\n\n const getData = useCallback(\n (params: any) => getEpochDetailsReward({ ...params, epochNumber, rewardType: type }),\n []\n )\n\n if (!epochNumber) return \n const newData = reward[type].data.map((v) => {\n const age = timeFormatDistance(v.timestamp)\n return { ...v, age }\n })\n return (\n }\n getData={getData}\n />\n )\n}","import { EpochDetailsType, LoadingType } from '../../constants/types'\nimport { Datatable, DataTableTotal, slashedColumns } from '../../common'\n\ninterface EpochDetailsRewardProps {\n epoch: EpochDetailsType\n loading: LoadingType\n}\n\nexport default function EpochDetailsSlashedNode({ epoch, loading }: EpochDetailsRewardProps) {\n if (!epoch) return null\n\n return (\n }\n />\n )\n}","import { Helmet } from 'react-helmet-async'\nimport { PageHeader } from '../../common'\nimport { useParams, Link } from 'react-router-dom'\nimport {\n Tabs,\n Row,\n Col,\n Space,\n} from 'antd'\n\nimport {\n MainDetails,\n BoxContentTable,\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n TextOverlay\n} from './epochDetailsPageStyles'\n\nimport { timeFormatUtc, formatNumber, toTomo } from '../../utils'\nimport { useStateDetails } from '../../app/hooks'\nimport { EpochParamsType } from '../../constants/types'\nimport { SkeletonLoading } from '../../common'\n\nimport { getEpochDetailsByNumber } from './epochsSlice'\nimport EpochDetailsReward from './EpochDetailsReward'\nimport EpochDetailsSlashedNode from './EpochDetailsSlashedNode'\nimport { TabStyle } from '../../appStyles'\nimport TabsWithHash from '../../common/TabsWithHash';\n\nconst { TabPane } = Tabs\n\nexport default function EpochDetailsPage() {\n const { epochNumber } = useParams()\n const { loading, data } = useStateDetails(getEpochDetailsByNumber, epochNumber, 'epochs')\n if (loading === 'pending' || !data) return \n\n return (\n \n {epochNumber &&\n \n {`Epoch ${epochNumber}`}\n \n }\n \n\n \n \n \n Overview\n \n \n \n \n Epoch\n \n \n \n \n {data.epoch}\n \n \n \n \n \n \n Start block\n \n \n \n \n \n {data.startBlock}\n ({timeFormatUtc(data.startTime)})\n \n \n \n \n \n \n \n End block\n \n \n \n \n \n {data.endBlock}\n ({timeFormatUtc(data.endTime)})\n \n \n \n \n \n \n \n Epoch duration\n \n \n \n \n {formatNumber(data.duration)} seconds\n \n \n \n \n \n \n \n \n More information\n \n \n \n \n Total reward\n \n \n \n \n {formatNumber(toTomo(data.totalReward, 18))} VIC\n \n \n \n \n \n \n Masternode number\n \n \n \n \n {data.masternode.length} Masternode, {data.slashednode.length} Slashed Node\n \n \n \n \n \n \n Voter number\n \n \n \n \n {formatNumber(data.voterNumber)}\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 \n \n )\n}","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit'\n\nimport {\n fetchAccountDetails,\n fetchAccountList,\n fetchInternalTx,\n fetchStats,\n fetchTokenTransactions,\n fetchTokensInAccount,\n fetchUserRewards,\n fetchVrcTokenTransactions,\n} from '../../api'\nimport { AccountsState } from '../../constants/types'\nimport { requestLimit } from '../../features/general/generalSlice'\n\nimport BigNumber from 'bignumber.js'\n\n// Create thunk\nexport const getAccountList = createAsyncThunk(\n 'accounts/getAccountList',\n async (params: { offset: number, limit: number }, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchAccountList(offset, limit)\n const stastsResponse = await fetchStats()\n thunkAPI.dispatch(requestLimit(false))\n return { ...response.data, stats: { ...stastsResponse.data } }\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n } \n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getAccountDetails = createAsyncThunk(\n 'accounts/getAccountDetails',\n async (address: string, thunkAPI) => {\n try {\n const response = await fetchAccountDetails(address)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error:any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTokensInAccount = createAsyncThunk(\n 'accounts/getTokensInAccount',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchTokensInAccount(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error:any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTokensInAccountForDropdown = createAsyncThunk(\n 'accounts/getTokensInAccountForDropdown',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchTokensInAccount(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error:any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTokenInternalTx = createAsyncThunk(\n 'accounts/getTokenInternalTx',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchInternalTx(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getUserRewards = createAsyncThunk(\n 'accounts/getUserRewards',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchUserRewards(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTokenTransactions = createAsyncThunk(\n 'accounts/getTokenTransactions',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchTokenTransactions(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return { ...response.data, address }\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getVrcTokenTransactions = createAsyncThunk(\n 'accounts/getVrcTokenTransactions',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchVrcTokenTransactions(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return { ...response.data, address }\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: {\n data: [],\n loading: 'idle',\n total: null,\n },\n details: {\n data: null,\n loading: 'idle',\n tokensInAccount: {\n loading: 'idle',\n data: [],\n total: 0,\n usdValue: 0\n },\n tokensInAccountForDropdown: {\n loading: 'idle',\n data: [],\n total: 0,\n usdValue: 0\n },\n internalTx: {\n loading: 'idle',\n data: [],\n total: 0,\n },\n userReward: {\n loading: 'idle',\n data: [],\n total: 0,\n },\n transactions: {\n loading: 'idle',\n address: '',\n data: [],\n total: 0,\n },\n vrcTokenTxns: {\n loading: 'idle',\n address: '',\n data: [],\n total: 0,\n }\n }\n} as AccountsState\n\nconst accountsSlice = createSlice({\n name: 'accounts',\n initialState,\n reducers: {\n // reset account list\n resetAccountList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = null\n },\n resetAccountDetail(state) {\n state.details.data = null\n state.details.loading = 'idle'\n }\n },\n extraReducers: (builder) => {\n // account list\n builder.addCase(getAccountList.pending, (state) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getAccountList.fulfilled, (state, action) => {\n state.list.loading = 'succeeded'\n\n const data = action.payload.data.map((item: any, index: number) => {\n const rank = action.meta.arg.offset + index + 1\n const percentage = action.payload.stats.circulatingSupply && new BigNumber(item.balanceNumber).times(100).div(action.payload.stats.circulatingSupply).toNumber()\n return { ...item, rank, percentage }\n })\n\n state.list.data = data\n state.list.total = action.payload.total\n })\n\n builder.addCase(getAccountList.rejected, (state) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = null\n })\n\n // account detail\n builder.addCase(getAccountDetails.pending, (state) => {\n state.details.loading = 'pending'\n })\n\n builder.addCase(getAccountDetails.fulfilled, (state, action) => {\n let tomoInUsd = 0\n state.details.loading = 'succeeded'\n if (action.payload.balanceNumber && action.payload.tomoPrice) {\n tomoInUsd = new BigNumber(action.payload.balanceNumber).multipliedBy(action.payload.tomoPrice).toNumber()\n }\n state.details.data = { ...action.payload, tomoInUsd }\n })\n\n builder.addCase(getAccountDetails.rejected, (state) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n\n // Tokens in account\n builder.addCase(getTokensInAccount.pending, (state) => {\n state.details.tokensInAccount.loading = 'pending'\n })\n\n builder.addCase(getTokensInAccount.fulfilled, (state, action) => {\n state.details.tokensInAccount.loading = 'succeeded'\n state.details.tokensInAccount = action.payload\n })\n \n builder.addCase(getTokensInAccount.rejected, (state) => {\n state.details.tokensInAccount.loading = 'failed'\n state.details.tokensInAccount.data = []\n })\n\n // Tokens in account for dropdown\n builder.addCase(getTokensInAccountForDropdown.pending, (state) => {\n state.details.tokensInAccountForDropdown.loading = 'pending'\n })\n\n builder.addCase(getTokensInAccountForDropdown.fulfilled, (state, action) => {\n state.details.tokensInAccountForDropdown.loading = 'succeeded'\n state.details.tokensInAccountForDropdown = action.payload\n })\n\n builder.addCase(getTokensInAccountForDropdown.rejected, (state) => {\n state.details.tokensInAccountForDropdown.loading = 'failed'\n state.details.tokensInAccountForDropdown.data = []\n })\n\n // Transactions\n builder.addCase(getTokenTransactions.pending, (state) => {\n state.details.transactions.loading = 'pending'\n })\n\n builder.addCase(getTokenTransactions.fulfilled, (state, action) => {\n state.details.transactions.loading = 'succeeded'\n let transactionTag\n const newData = action.payload.data.map((item: any) => {\n if (item.from === action.payload.address) {\n transactionTag = 'out'\n } else if (item.to === action.payload.address) {\n transactionTag = 'in'\n } else {\n transactionTag = undefined\n }\n return { ...item, transactionTag }\n })\n state.details.transactions.data = newData\n state.details.transactions.address = action.payload.address\n state.details.transactions.total = action.payload.total\n })\n\n builder.addCase(getTokenTransactions.rejected, (state) => {\n state.details.transactions.loading = 'failed'\n state.details.transactions.data = []\n })\n\n // vrc token transactions\n builder.addCase(getVrcTokenTransactions.pending, (state) => {\n state.details.vrcTokenTxns.loading = 'pending'\n })\n\n builder.addCase(getVrcTokenTransactions.fulfilled, (state, action) => {\n state.details.vrcTokenTxns.loading = 'succeeded'\n let transactionTag\n const newData = action.payload.data.map((item: any) => {\n if (item.from === action.payload.address) {\n transactionTag = 'out'\n } else if (item.to === action.payload.address) {\n transactionTag = 'in'\n } else {\n transactionTag = undefined\n }\n return { ...item, transactionTag }\n })\n state.details.vrcTokenTxns.data = newData\n state.details.vrcTokenTxns.address = action.payload.address\n state.details.vrcTokenTxns.total = action.payload.total\n })\n\n builder.addCase(getVrcTokenTransactions.rejected, (state) => {\n state.details.vrcTokenTxns.loading = 'failed'\n state.details.vrcTokenTxns.data = []\n })\n\n // InternalTx\n builder.addCase(getTokenInternalTx.pending, (state) => {\n state.details.internalTx.loading = 'pending'\n })\n\n builder.addCase(getTokenInternalTx.fulfilled, (state, action) => {\n state.details.internalTx.loading = 'succeeded'\n state.details.internalTx = action.payload\n })\n\n builder.addCase(getTokenInternalTx.rejected, (state) => {\n state.details.internalTx.loading = 'failed'\n state.details.internalTx.data = []\n })\n\n // Reward\n builder.addCase(getUserRewards.pending, (state) => {\n state.details.userReward.loading = 'pending'\n })\n\n builder.addCase(getUserRewards.fulfilled, (state, action) => {\n state.details.userReward.loading = 'succeeded'\n state.details.userReward = action.payload\n })\n\n builder.addCase(getUserRewards.rejected, (state) => {\n state.details.userReward.loading = 'failed'\n state.details.userReward.data = []\n })\n },\n})\n\nexport const { resetAccountList, resetAccountDetail } = accountsSlice.actions\nexport default accountsSlice.reducer\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { getAccountList, resetAccountList } from './accountsSlice'\nimport { PageHeader, Datatable, accountColumns, DataTableTotal } from '../../common'\n\nexport default function EpochsList() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['accounts']['list'])\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetAccountList())\n }\n }, [])\n\n return (\n
\n \n\n }\n getData={getAccountList}\n />\n
\n )\n}","export default __webpack_public_path__ + \"static/media/icon-qrcode.79cff0db.svg\";","import styled from \"styled-components\"\nimport { Button, Input, Form, Tag } from 'antd'\nimport { Link } from \"react-router-dom\"\n\nconst { TextArea } = Input\nexport const MainDetails = styled.div`\n .ant-tabs-content .content-table{\n padding: 0;\n }\n @media(max-width: 767px){\n .rp-mb{\n margin-bottom: 30px;\n }\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\n\nexport const BoxContentPlaceHolder = styled.div`\n background: ${({ theme }) => theme.bg2};\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.05);\n padding: 15px 24px;\n height: 100%;\n @media(max-width: 767px){\n padding-left: 15px;\n padding-right: 15px;\n }\n`\nexport const InnerPlaceHolder = styled.div`\n`\nexport const TxtColStyle = styled.div`\n margin: 10px 0;\n &.col-txt-left {\n color: ${({ theme }) => theme.textOverlay};\n font-size: 13px;\n }\n &.col-txt-right {\n color: ${({ theme }) => theme.text};\n }\n &.bg-box {\n background-color: ${({ theme }) => theme.bg4};\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n .style-table-bordered {\n padding: 24px;\n @media(max-width: 767px){\n padding: 15px;\n }\n }\n }\n @media(max-width: 767px){\n margin: 0;\n }\n`\nexport const BoxContentTable = styled.div`\n margin-top: 25px;\n position: relative;\n`\nexport const TitleHeaderBox = styled.div`\n font-weight: bold;\n font-size: 16px;\n margin-bottom: 15px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n padding-bottom: 15px;\n color: ${({ theme }) => theme.text};\n .anticon{\n color: ${({ theme }) => theme.primary};\n }\n`\nexport const NoteInfo = styled.div`\n margin: 5px 0 20px 0px;\n color: ${({ theme }) => theme.text};\n .flex-between{\n width: 100%;\n display: flex;\n gap: 12px;\n justify-content: space-between; \n background-color: #FDF5E2;\n padding: 12px 16px;\n @media(max-width: 767px){\n flex-direction: column;\n }\n }\n`\nexport const ContractSource = styled.pre<{ height?: string }>`\n background-color: ${({ theme }) => theme.bg};\n white-space: pre-wrap;\n height: ${({ height }) => height ? height : '20px'};\n padding: 10px;\n word-wrap: break-word;\n border-radius: 0;\n border: 1px solid ${({ theme }) => theme.border};\n font-size: 12px;\n color:${({ theme }) => theme.textOverlay};\n`\nexport const AddressBox = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 15px;\n margin-top: -15px;\n`\nexport const StyleCopyIcon = styled.div`\n border-radius: 0;\n cursor: pointer;\n border-radius: 0;\n border: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.textOverlay};\n background-color: ${({ theme }) => theme.bg2};\n &:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n > *{\n width: 32px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n }\n`\nexport const TextOverlay = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const TextMain = styled.span`\n color: ${({ theme }) => theme.text};\n`\nexport const Center = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 10px;\n`\nexport const ButtonStyled = styled(Button)`\n border-radius: 0;\n &.ant-btn,\n &.ant-btn:hover,\n &.ant-btn:focus {\n border: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.textOverlay};\n background-color: ${({ theme }) => theme.bg2};\n &.ant-btn:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n }\n > *{\n width: 32px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n }\n`\nexport const SwitchButton = styled.button`\n font-size: 12px;\n cursor: pointer;\n margin-right: 10px;\n display: inline-block;\n color: #fff;\n background-color: ${({ theme }) => theme.primary};\n border: 1px solid ${({ theme }) => theme.border};\n border-radius: 0;\n`\nexport const Cards = styled.div`\n margin-bottom: 20px;\n`\nexport const CardHeader = styled.div`\n border: 1px solid ${({ theme }) => theme.border};\n padding: 5px 10px;\n background-color:${({ theme }) => theme.bg};\n`\nexport const CardContent = styled.div`\n padding: 5px 10px 20px 10px;\n border-left: 1px solid ${({ theme }) => theme.border}; \n border-bottom: 1px solid ${({ theme }) => theme.border}; \n border-right: 1px solid ${({ theme }) => theme.border}; \n`\nexport const FormGroup = styled.div`\n padding-top: 10px;\n padding-bottom: 10px;\n label{\n font-weight: 500;\n color: ${({ theme }) => theme.text};\n }\n .ant-form .anticon-minus-circle{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\nexport const FormItem = styled(Form.Item)`\n margin-bottom: 0;\n border-radius: 0;\n input{\n background-color: ${({ theme }) => theme.bg2};\n border: 1px solid ${({ theme }) => theme.border};\n color: ${({ theme }) => theme.textOverlay};\n }\n \n`\nexport const InputStyled = styled(Input)`\n background-color: ${({ theme }) => theme.bg2};\n border: 1px solid ${({ theme }) => theme.border};\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const TextAreaStyled = styled(TextArea)`\n background-color: ${({ theme }) => theme.bg2};\n border: 1px solid ${({ theme }) => theme.border};\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const SelectStyled = styled.div`\n .ant-select-selector{\n background-color: ${({ theme }) => theme.bg2}!important;\n border: 1px solid ${({ theme }) => theme.border}!important;\n color: ${({ theme }) => theme.textOverlay};\n }\n .ant-select-arrow{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\nexport const ButtonQuery = styled(Button)`\n border: 1px solid ${({ theme }) => theme.border};\n background-color: ${({ theme }) => theme.bg};\n padding: 5px 15px;\n margin-top: 10px;\n border-radius: 0;\n margin-top: 20px;\n cursor: pointer;\n &:hover{\n background-color: ${({ theme }) => theme.bg1};\n }\n`\nexport const LinkStyled = styled(Link)`\n padding: 5px 10px;\n background-color: ${({ theme }) => theme.primary};\n color: #fff;\n margin-right: 20px;\n margin-top: 15px;\n display: inline-block;\n border-radius: 0;\n &:hover{\n background-color: #0dcea3;\n color: #fff;\n }\n`\nexport const BoxItemLog = styled.div`\n margin-bottom: 25px;\n padding-bottom: 25px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n`\nexport const DataType = styled.div`\n margin-bottom: 15px;\n`\nexport const ButtonType = styled.button`\n background-color: ${({ theme }) => theme.border};\n border: none;\n padding: 5px 10px;\n height: 20px;\n line-height: 10px;\n cursor: pointer;\n &.active{\n background-color: ${({ theme }) => theme.primary};\n color: #fff;\n }\n`\n// Verify Box\n\nexport const Box = styled.div`\n background-color: ${({ theme }) => theme.bg2};\n padding: 24px;\n border-radius: 0;\n`\nexport const FieldExtend = styled.div`\n padding: 24px;\n background-color: ${({ theme }) => theme.bg4};\n border-radius: 0;\n margin-bottom: 20px;\n width: 100%;\n`\nexport const ButtonSubmit = styled(Input)`\n cursor: pointer;\n width: auto; \n padding: 5px 40px;\n font-weight: 500;\n background-color: ${({ theme }) => theme.primary};\n color: #fff;\n border: none;\n`\nexport const AddSource = styled(Button)`\n background-color: ${({ theme }) => theme.bg2};\n color: ${({ theme }) => theme.text};\n font-weight: 500;\n &:hover{\n background-color: ${({ theme }) => theme.bg2};\n }\n`\nexport const StatusStyled = styled.p<{ status: string }>`\n color: ${({ theme, status }) => theme[status]};\n font-weight: 500;\n`\n\nexport const VerifiedIcon = styled(Tag)`\ncolor: ${({ theme }) => theme.success};\nborder: 0;\nborder-radius: 0;\nmargin: 0;\nwidth: 25px;\nbackground: transparent;\n`","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\nimport BigNumber from 'bignumber.js'\n\nimport { ContractsState } from '../../constants/types'\nimport { fetchContractList, fetchAccountDetails, fetchTxListByAdddress, fetchContractEventLogs } from '../../api'\nimport { requestLimit } from '../../features/general/generalSlice'\n\n// Create thunk\nexport const getContractList = createAsyncThunk(\n 'contracts/getContractList',\n async (params: { offset: number, limit: number }, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchContractList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getContractDetailsByAddress = createAsyncThunk(\n 'contracts/getContractDetailsByAddress',\n async (address: string, thunkAPI) => {\n try {\n const response = await fetchAccountDetails(address)\n\n // eslint-disable-next-line no-throw-literal\n if (!response.data.isContract) throw { response: { data: { msg: 'Address isn\\'t contract' } } }\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getTxListByAddress = createAsyncThunk(\n 'contracts/getTxListByAddress',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n const response = await fetchTxListByAdddress(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\nexport const getEventLogs = createAsyncThunk(\n 'contracts/getEventLogs',\n async (address: string, thunkAPI) => {\n try {\n const response = await fetchContractEventLogs(address)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: {\n data: [],\n loading: 'idle',\n total: 0,\n },\n details: {\n data: null,\n loading: 'idle',\n transactions: {\n data: [],\n loading: 'idle',\n total: 0,\n },\n eventLogs: {\n data: [],\n loading: 'idle',\n }\n }\n} as ContractsState\n\nconst contractsSlice = createSlice({\n name: 'contracts',\n initialState,\n reducers: {\n // reset contract list\n resetContractList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = 0\n }\n },\n extraReducers: (builder) => {\n // contract list\n builder.addCase(getContractList.pending, (state, action) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getContractList.fulfilled, (state, action) => {\n state.list.loading = 'succeeded'\n state.list.data = action.payload.data\n state.list.total = action.payload.total\n })\n\n builder.addCase(getContractList.rejected, (state, action) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = 0\n })\n\n // contract details\n builder.addCase(getContractDetailsByAddress.pending, (state) => {\n state.details.loading = 'pending'\n })\n\n builder.addCase(getContractDetailsByAddress.fulfilled, (state, action) => {\n let balanceInUsd = 0\n\n if (action.payload.balanceNumber && action.payload.tomoPrice) {\n balanceInUsd = new BigNumber(action.payload.balanceNumber).times(action.payload.tomoPrice).toNumber()\n }\n\n state.details.data = { ...action.payload, balanceInUsd }\n state.details.loading = 'succeeded'\n })\n\n builder.addCase(getContractDetailsByAddress.rejected, (state) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n\n // contract tx list\n builder.addCase(getTxListByAddress.pending, (state, action) => {\n state.details.transactions.loading = 'pending'\n })\n\n builder.addCase(getTxListByAddress.fulfilled, (state, action) => {\n state.details.transactions.loading = 'succeeded'\n state.details.transactions.data = action.payload.data\n state.details.transactions.total = action.payload.total\n })\n\n builder.addCase(getTxListByAddress.rejected, (state, action) => {\n state.details.transactions.loading = 'failed'\n state.details.transactions.data = []\n state.details.transactions.total = 0\n })\n // Contract Event Logs\n builder.addCase(getEventLogs.pending, (state) => {\n state.details.eventLogs.loading = 'pending'\n })\n\n builder.addCase(getEventLogs.fulfilled, (state, action) => {\n state.details.eventLogs.loading = 'succeeded'\n state.details.eventLogs.data = action.payload.data\n })\n\n builder.addCase(getEventLogs.rejected, (state) => {\n state.details.eventLogs.loading = 'failed'\n state.details.eventLogs.data = []\n })\n },\n})\n\nexport const { resetContractList } = contractsSlice.actions\nexport default contractsSlice.reducer\n","import { useCallback } from 'react'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { Datatable, DataTableTotal, txColumns } from '../../common'\nimport { getTxListByAddress } from './contractsSlice'\n\nexport default function ContractDetailsTxListTab({ address }: { address: string | undefined }) { \n const { data, loading, total } = useAppSelector((state) => state.contracts.details.transactions)\n\n const getData = useCallback(\n (params: any) => getTxListByAddress({ ...params, address }),\n []\n )\n\n if (!address) return null\n\n return (\n }\n getData={getData}\n />\n )\n}","import React, { useState, useEffect } from 'react'\nimport { Link } from 'react-router-dom'\nimport { Typography, Row, Col } from 'antd'\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport {\n getEventLogs\n} from './contractsSlice'\nimport { TxtColStyle, BoxItemLog, ButtonType, DataType } from './contractDetailsPageStyles'\nimport { DataTableLoading } from '../../common'\n\nconst { Paragraph } = Typography\n\nconst TopicRender = ({ log }: any) => {\n\n const [topicType, setTopicType] = useState('hex')\n\n const onClickType = (e: any) => {\n const value = e.target.value\n setTopicType(value)\n }\n return (\n \n {log.decodedTopics &&\n \n Hex\n Dec\n \n }\n
\n {log.decodedTopics && topicType === 'dec' ?\n log.decodedTopics.map((t: any, i: any) => (\n
\n {i + 1}. {t}\n
\n ))\n :\n log.topics.map((topic: any, topicIdx: number) => (\n
\n {topicIdx + 1}. {topic}\n
\n ))\n }\n
\n
\n )\n}\n\nconst DataRender = ({ log }: any) => {\n const [topicType, setTopicType] = useState('hex')\n\n const onClickType = (e: any) => {\n const value = e.target.value\n setTopicType(value)\n }\n let newParam: Array = []\n if (log.params && log.params.length > 0) {\n log.params.forEach((p: any) => {\n if (!p.indexed) {\n newParam.push(p.name)\n }\n })\n }\n return (\n \n {log.decodedData &&\n \n Hex\n Dec\n \n }\n {log.decodedData && topicType === 'dec' ?\n newParam.map((p: any, i: any) => (\n \n {p}: {log.decodedData[p]}\n \n ))\n :\n log.data\n }\n \n )\n}\nconst ContractEventLogs = ({ address }: any) => {\n const dispatch = useAppDispatch()\n useEffect(() => {\n if (address) {\n dispatch(getEventLogs(address))\n }\n }, [address, dispatch])\n const { eventLogs } = useAppSelector((state) => state['contracts']['details'])\n if (eventLogs.loading === 'pending') return \n return (\n <>\n {eventLogs.data.length > 0 && eventLogs.data.map((log, logIdx) => {\n const getParams = log.params && log.params.reduce((acc: string, current: any, index: number, logArr: any) => {\n const indexed = current.indexed ? `index_topic ${current.type} ${current.name}` : ` ${current.type} ${current.name}`\n return index === logArr.length - 1 ? acc + ' ' + indexed : acc + ' ' + indexed + ','\n }, '')\n return (\n \n \n \n Address\n \n \n \n {log.address}\n \n \n \n {log.functionName &&\n \n \n Name\n \n \n \n {`${log.functionName} (${getParams})`}  \n View code\n \n \n \n }\n\n \n \n Topics\n \n \n {log.topics.length > 0 &&\n \n }\n \n \n\n \n \n Data\n \n \n {log.data.length > 0 && }\n \n \n \n );\n })}\n \n );\n}\n\nexport default ContractEventLogs\n","import { useState, useEffect, FunctionComponent } from 'react'\nimport { Link } from 'react-router-dom'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport {\n Tabs,\n Row,\n Col,\n Spin,\n Tooltip,\n Form,\n Input,\n} from 'antd'\nimport {\n CodeFilled,\n OrderedListOutlined,\n CodeTwoTone,\n HeatMapOutlined,\n FileTextOutlined\n} from '@ant-design/icons'\nimport {\n NoteInfo,\n TitleHeaderBox,\n TxtColStyle,\n TextOverlay,\n ContractSource,\n SwitchButton,\n Cards,\n CardHeader,\n CardContent,\n TextMain,\n FormGroup,\n FormItem,\n ButtonQuery,\n LinkStyled,\n StyleCopyIcon\n} from './contractDetailsPageStyles'\n\nimport { getContract } from '../../utils'\nimport { ModalWallet } from '../../common'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport icNothing from '../../assets/images/status/warning.svg';\nimport Text from 'antd/lib/typography/Text'\nimport CheckStatus from '../../common/CheckStatus'\n\n\n\nconst { TabPane } = Tabs\ntype ContractState = {\n data: any\n address: string\n}\n\n\ntype DataFormState = {\n data: any\n name: string\n contract: any\n}\n\nconst FormReadRender: FunctionComponent = ({ data, name, contract }) => {\n const [dataResult, setDataResult]: Array = useState([])\n const [isLoading, setIsLoading] = useState(false)\n\n const onReadFinish = async (value: any) => {\n let formatData: Array = []\n setIsLoading(true)\n const params = Object.values(value)\n // Convert data with type []\n const convertParams = params.map((item: any) => {\n if (item.startsWith('[') && item.endsWith(']')) {\n item = JSON.parse(item)\n }\n return item\n })\n try {\n const result = await contract.methods[name](...convertParams).call()\n for (let i = 0; i < data.outputs.length; i++) {\n const output = data.outputs[i]\n const outputRs = output\n let value\n if (typeof result === 'object' && !Array.isArray(result)) {\n value = result[output.name]\n\n if (value !== 'undefined') {\n value = result[i]\n }\n } else if (Array.isArray(result)) {\n value = JSON.stringify(result)\n } else {\n value = result\n }\n if (output.type === 'address') {\n if (value === 0) {\n value = '0x0000000000000000000000000000000000000000'\n }\n\n value = value.toLowerCase()\n }\n\n outputRs.value = value\n formatData.push(outputRs)\n }\n\n } catch (error: any) {\n formatData.push({\n name: 'Error',\n type: 'string',\n value: error.message\n })\n }\n setDataResult(formatData)\n setIsLoading(false)\n }\n return (\n
\n {\n data.inputs.map((input: any, i: number) => {\n return (\n \n {`${input.name} (${input.type})`}\n \n \n \n \n )\n })\n }\n \n Query\n  \n {isLoading && }\n
\n {dataResult.length > 0 && [{name} method response]}\n {dataResult.map((d: any, k: number) => {\n return (\n
\n {d.name && {d.name}}\n {{d.type.toString()}:}  \n {d.value !== null ? {d.value.toString()} : null}  \n
\n )\n })\n }\n
\n \n )\n}\n\ntype ReadOutputState = {\n outputs: any\n name: string\n contract: any\n}\nconst ReadDataOutput: FunctionComponent = ({ outputs, name, contract }) => {\n const [data, setData] = useState()\n useEffect(() => {\n const fetchData = async () => {\n try {\n const result = await contract.methods[name]().call()\n setData(result)\n } catch (error) {\n console.log(error)\n }\n }\n fetchData()\n }, [])\n\n function isObject(val: any) {\n return val instanceof Object\n }\n return (\n <>\n {\n outputs.map((s: any, j: Number) => {\n return (\n
\n {s.type.indexOf('[]') !== -1 ?\n // @ts-ignore\n Array.isArray(data) && data.map((d: any, i: number) => {\n return (\n s.type.indexOf('address') !== -1 ?\n
\n {d}
\n
\n : {d}\n )\n })\n : isObject(data) ?\n <>\n {s.name}: \n \n {// @ts-ignore\n data[s.name]\n }\n \n \n :\n <>\n {s.type === 'address' ?\n {data}\n : {data}\n }\n \n }\n < TextOverlay style={{ fontStyle: 'italic', fontSize: '13px', }}> {s.type}\n
\n )\n })\n }\n \n )\n}\n\ntype DataWriteForm = {\n data: any\n name: string\n abiCode: any\n contractAddress: string\n account: string\n isConnected: boolean\n}\nconst FormWriteRender: FunctionComponent = ({ data, name, abiCode, contractAddress, account, isConnected }) => {\n const [dataResult, setDataResult]: Array = useState([])\n const [isLoading, setIsLoading] = useState(false)\n\n const onWriteFinish = async (value: any) => {\n let formatData: Array = []\n setIsLoading(true)\n const payableValue = value['payable-value'] ?? null\n // removing payable value from params\n delete value['payable-value']\n const params = Object.values(value)\n const convertParams = params.map((item: any) => {\n if (item.startsWith('[') && item.endsWith(']')) {\n item = JSON.parse(item)\n }\n return item\n })\n try {\n if (window.web3 && account) {\n const contract = new window.web3.eth.Contract(abiCode, contractAddress)\n let sendData: any\n sendData = {\n from: account,\n gasLimit: '0x7A120', // 1000_000\n value: payableValue ? payableValue : null,\n }\n const estGas = await contract.methods[name](...convertParams).estimateGas(sendData)\n if (estGas) {\n sendData.gasLimit = estGas\n }\n const result = await contract.methods[name](...convertParams).send(sendData)\n formatData.push(\n {\n name: 'View your block',\n type: 'blockNumber',\n value: result.blockNumber ? result.blockNumber : ''\n },\n {\n name: 'View your transaction',\n type: 'tx',\n value: result.transactionHash ? result.transactionHash : ''\n }\n )\n }\n } catch (error: any) {\n formatData.push({\n name: 'Error',\n type: 'string',\n value: error.message\n })\n }\n setDataResult(formatData)\n setIsLoading(false)\n }\n return (\n
\n {data.stateMutability === 'payable' &&\n \n {`payable value (wei)`}\n \n \n \n\n \n }\n {\n\n data.inputs.map((input: any, i: number) => {\n return (\n \n {`${input.name} (${input.type})`}\n \n \n \n\n \n )\n })\n }\n Write   {isLoading && }\n
\n {dataResult.length > 0 &&
[{name} method response]
}\n {dataResult.map((d: any, k: number) => {\n return (\n d.name === 'Error' ?\n
\n {{d.name}}\n {{d.type.toString()}:}\n {{d.value.toString()}}  \n
\n :\n {d.name}\n )\n })\n }\n
\n \n )\n}\n\nconst SolidityRender = ({ data }: any) => {\n const [copied, setCopied] = useState(false)\n\n return (\n <>\n \n
{data[0]}
\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n
\n \n {data[1].content}\n \n \n )\n}\n\nconst ContentOfTheContractTab = ({ data, address }: ContractState) => {\n const [copied, setCopied] = useState(false)\n const [isByteCode, setIsByteCode] = useState(true)\n const [account, setAccount] = useState('')\n const [isConnected, setIsConnected] = useState(false)\n\n const sourceCode = data.contractData && data.contractData.sourceCode ? Object.entries(data.contractData.sourceCode) : []\n let readData: Array = []\n let writeData: Array = []\n let readProxyData: Array = []\n let writeProxyData: Array = []\n \n const abiContract = data.contractData.abiCode ? JSON.parse(data.contractData.abiCode) : null\n const contractData = abiContract ? getContract(abiContract, address ? address : '') : ''\n readData = abiContract && abiContract.filter((abi: any) => {\n return abi.outputs && abi.constant\n })\n writeData = abiContract && abiContract.filter((abi: any) => {\n return abi.outputs && !abi.constant\n })\n\n const abiProxyContract = data.contractData?.proxyTargetContractData?.abiCode ? JSON.parse(data.contractData?.proxyTargetContractData?.abiCode) : null\n const contractProxyData = abiProxyContract ? getContract(abiProxyContract, address ? address : '') : ''\n readProxyData = abiProxyContract && abiProxyContract.filter((abi: any) => {\n return abi.outputs && abi.constant\n })\n writeProxyData = abiProxyContract && abiProxyContract.filter((abi: any) => {\n return abi.outputs && !abi.constant\n })\n return (\n !data.contractData.sourceCode ?\n <>\n \n
\n
\n \"\"\n
\n Are you the contract creator?\n \n Verify and publish your contract source code today.\n \n
\n
\n \n Verify and Publish\n \n
\n
\n \n {data.code}\n \n \n :\n <>\n \n \n \n \n \n \n \n \n\n \n \n Contract Name:\n \n \n \n \n {data.contractData.contractName}\n \n \n \n \n \n \n Compiler Version\n \n \n \n \n {data.contractData.compiler}\n \n \n \n \n \n \n \n \n Optimization:\n \n \n \n \n {data.contractData.optimization ? \"Yes\" : \"No\"}\n \n \n \n \n \n {\n sourceCode.length > 0 && sourceCode.map((value: any, i: any) => {\n return (\n \n )\n })\n }\n {data.contractData.abiCode &&\n <>\n \n
Contract ABI
\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n
\n\n \n {data.contractData.abiCode}\n \n \n }\n {data.code &&\n <>\n \n
Contract Creation Code
\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n
\n \n {data.code}\n \n \n }\n {data.contractData.deployedBytecode &&\n <>\n \n
\n {isByteCode ? 'ByteCode' : 'Opcodes'}\n
\n
\n {\n setIsByteCode(!isByteCode)\n }}>\n {`Switch to ${isByteCode ? 'Opcodes View' : 'ByteCode'}`}\n \n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n
\n
\n {isByteCode ?\n \n {data.contractData.deployedBytecode.object}\n \n :\n \n {data.contractData.deployedBytecode.opcodes}\n \n }\n \n }\n {data.contractData.deployedBytecode &&\n <>\n \n
\n Deployed ByteCode Sourcemap\n
\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n
\n \n {data.contractData.deployedBytecode.sourceMap}\n \n \n }\n
\n \n {readData.length > 0 &&\n <>\n Read Contract Information\n {\n readData.map((v: any, i: number) => {\n return (\n \n {`${i + 1}. ${v.name}`}\n \n
\n {v.inputs.length < 1 ?\n \n :\n \n }\n
\n
\n
\n )\n })\n }\n \n }\n
\n \n {writeData.length > 0 &&\n <>\n Write Contract Information\n \n {\n address && writeData.map((v: any, i: number) => {\n return (\n \n {`${i + 1}. ${v.name} ${v.stateMutability === 'payable' ? '(payable)' : ''}`}\n \n \n \n \n )\n })\n }\n \n }\n \n {readProxyData && \n \n {readProxyData.length > 0 &&\n <>\n Read Contract as Proxy\n
\n ABI for the implementation contract at {data.contractData?.proxyTargetContract}{data.contractData?.proxyType ? `, using ${data.contractData?.proxyType} pattern` : ``}\n
\n {\n readProxyData.map((v: any, i: number) => {\n return (\n \n {`${i + 1}. ${v.name}`}\n \n
\n {v.inputs.length < 1 ?\n \n :\n \n }\n
\n
\n
\n )\n })\n }\n \n }\n
\n }\n {writeProxyData &&\n \n {writeProxyData.length > 0 &&\n <>\n Write Contract as Proxy\n
\n ABI for the implementation contract at {data.contractData?.proxyTargetContract} {data.contractData?.proxyType ? `, using ${data.contractData?.proxyType} pattern` : ``}\n
\n \n {\n address && writeProxyData.map((v: any, i: number) => {\n return (\n \n {`${i + 1}. ${v.name} ${v.stateMutability === 'payable' ? '(payable)' : ''}`}\n \n \n \n \n )\n })\n }\n \n }\n
\n }\n
\n \n )\n}\n\nexport default ContentOfTheContractTab","import BigNumber from 'bignumber.js'\nimport { useCallback } from 'react'\nimport { Redirect, useParams } from 'react-router-dom'\nimport { TokenParamsType } from '../../constants/types'\nimport { columnsBalance, Datatable, DataTableTotal, SkeletonLoading } from '../../common'\nimport { useAppSelector } from '../../app/hooks'\nimport { formatNumber } from '../../utils'\nimport { getTokensInAccount } from './accountsSlice'\n\nexport default function TotalTokenBalance() {\n const { address } = useParams()\n\n const getTokensData = useCallback(\n (params: any) => getTokensInAccount({ ...params, address }),\n [address]\n )\n\n const { data, loading, tokensInAccount } = useAppSelector((state) => state['accounts']['details'])\n\n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n\n const tomoData = {\n address: data.address,\n token: '',\n quantity: new BigNumber(data.balance).toNumber(),\n quantityNumber: data.balanceNumber,\n tokenDecimals: 18,\n tokenName: \"Viction\",\n tokenSymbol: 'VIC',\n tokenType: 'native',\n priceUsd: data.tomoPrice,\n valueUsd: data.tomoInUsd\n }\n\n let newTokensInAccount = [tomoData, ...tokensInAccount.data]\n const totalBalance = data.tomoInUsd + tokensInAccount.usdValue\n newTokensInAccount = newTokensInAccount.map((v: any) => {\n const percentage = totalBalance && v.valueUsd ? formatNumber(new BigNumber(v.valueUsd).div(totalBalance).multipliedBy(100).toNumber(), 2) : ''\n return { ...v, percentage }\n })\n return (\n }\n getData={getTokensData}\n />\n )\n}","import styled from \"styled-components\"\nimport { Button, List } from 'antd'\nimport { Link } from \"react-router-dom\"\nexport const MainDetails = styled.div`\n .ant-tabs-content .content-table{\n padding: 0;\n }\n @media(max-width: 767px){\n .rp-mb{\n margin-bottom: 30px;\n }\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\n\nexport const BoxContentPlaceHolder = styled.div`\n background: ${({ theme }) => theme.bg2};\n padding: 15px 25px;\n height: 100%;\n @media(max-width: 767px){\n padding-left: 15px;\n padding-right: 15px;\n }\n`\nexport const InnerPlaceHolder = styled.div`\n`\nexport const TxtColStyle = styled.div`\n display: flex;\n justify-content: space-between;\n margin: 10px 0;\n &.col-txt-left {\n color:${({ theme }) => theme.textOverlay};\n }\n &.col-txt-right {\n color:${({ theme }) => theme.text};\n }\n @media(max-width: 767px){\n margin: 0;\n }\n`\nexport const TokenList = styled.div`\n width: 100%;\n position: relative;\n`\nexport const TotalPrice = styled.div`\n width: 100%;\n border: 1px solid ${({ theme }) => theme.border};\n padding: 6px 10px;\n align-items: center;\n cursor: pointer;\n position: relative;\n .anticon-caret-down{\n position: absolute;\n right: 10px;\n color: ${({ theme }) => theme.textOverlay};\n top: 12px;\n font-size: 10px;\n }\n`\nexport const TokenCount = styled.span`\n font-size: 10px;\n font-weight: 700;\n border-radius: 2px;\n background-color: ${({ theme }) => theme.primary};\n color: #fff;\n width: 15px;\n height: 15px;\n line-height: 15px;\n display: inline-block;\n text-align: center;\n margin-left: 12px;\n`\nexport const ListStyled = styled(List)`\n border: 1px solid ${({ theme }) => theme.border};\n padding: 5px;\n position: absolute;\n width: 100%;\n top: 100%;\n background: ${({ theme }) => theme.bg2};\n z-index: 1;\n box-shadow: 0 2px 7px rgb(52 152 219 / 5%), 0 0 10px hsl(210deg 8% 46% / 10%);\n .ant-list-items {\n margin: 0 !important;\n max-height: 295px;\n overflow-y: auto; \n }\n\n .ant-list-header {\n border-bottom: 1px solid ${({ theme }) => theme.border} !important;\n padding: 0 0 5px 10px;\n font-weight: 500;\n color: ${({ theme }) => theme.text};\n }\n .ant-list-item{\n border-bottom-color: ${({ theme }) => theme.border};\n }\n\n .ant-spin-nested-loading {\n border-radius: 0 !important;\n border: 0 !important;\n }\n .ant-empty-description{\n color: ${({ theme }) => theme.textOverlay};\n }\n`\n\nexport const ListButton = styled(Button)`\n border-radius: 5px;\n\n &:hover {\n color: #00C59A;\n border-color: #00C59A;\n }\n`\n\nexport const TokenLink = styled(Link)`\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 2px 10px;\n :hover{\n background-color: ${({ theme }) => theme.bgHover};\n }\n`\nexport const TextOverlay = styled.p`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const ViewMore = styled.a`\n width: 100%;\n max-width: 36px;\n display: inline-block;\n text-align: center;\n line-height: 34px;\n margin-left: 10px;\n color: #fff;\n border: 0;\n transition: .2s;\n background: ${({ theme }) => theme.primary};\n :hover{\n background: ${({ theme }) => theme.primaryHover};\n color: #fff;\n }\n`\nexport const BoxContentTable = styled.div`\n margin-top: 25px;\n position: relative;\n`\nexport const TitleHeaderBox = styled.div`\n font-weight: bold;\n font-size: 16px;\n margin-bottom: 15px;\n color: ${({ theme }) => theme.text};\n border-bottom: 1px solid ${({ theme }) => theme.border};\n padding-bottom: 15px;\n`\nexport const TextStyle = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const TextMainStyle = styled.span`\n color: ${({ theme }) => theme.text};\n`\nexport const AddressBox = styled.div`\n display: flex;\n align-items: center;\n margin-bottom: 15px;\n margin-top: -15px;\n`\nexport const StyleCopyIcon = styled.div`\n cursor: pointer;\n border-radius: 0;\n border: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.textOverlay};\n background-color: ${({ theme }) => theme.bg2};\n &:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n > *{\n width: 32px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n }\n`\nexport const Center = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 10px;\n`\nexport const ButtonStyled = styled(Button)`\n border-radius: 0;\n &.ant-btn,\n &.ant-btn:hover,\n &.ant-btn:focus {\n border: 0;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: ${({ theme }) => theme.textOverlay};\n background-color: ${({ theme }) => theme.bg2};\n }\n &.ant-btn:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n > *{\n width: 32px;\n height: 32px;\n line-height: 32px;\n text-align: center;\n }\n`\n","import { useState, useEffect, useRef } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { CaretDownOutlined, ArrowRightOutlined } from '@ant-design/icons'\nimport { TokenParamsType } from '../../constants/types'\nimport { TokenIcon } from '../../common'\nimport { useAppDispatch, useAppSelector, useOnClickOutside } from '../../app/hooks'\nimport { formatNumber } from '../../utils'\nimport {\n getTokensInAccountForDropdown,\n resetAccountDetail\n} from './accountsSlice'\nimport {\n List,\n Tooltip,\n} from 'antd'\nimport {\n ListStyled,\n TokenLink,\n TextOverlay,\n TotalPrice,\n TokenCount,\n TokenList,\n TextMainStyle,\n ListButton,\n ViewMore,\n} from './accountDetailsPageStyles'\n\nexport default function ListTokenBalance({ showMore }: { showMore: any }) {\n const [isOpen, setIsOpen] = useState(false)\n\n const node = useRef()\n const { address } = useParams()\n const dispatch = useAppDispatch()\n\n useEffect(() => {\n if (address) {\n dispatch(getTokensInAccountForDropdown({ address, offset: 0, limit: 50 }))\n }\n }, [address, dispatch])\n\n useEffect(() => {\n return () => {\n dispatch(resetAccountDetail())\n }\n }, [])\n\n const { data, loading, tokensInAccountForDropdown } = useAppSelector((state) => state['accounts']['details'])\n\n useOnClickOutside(node, () => setIsOpen(false))\n\n if (!data || (loading === 'pending')) return null\n return (\n <>\n setIsOpen(!isOpen)}\n ref={node as any}\n >\n \n {`$${formatNumber(tokensInAccountForDropdown.usdValue, 2)}`} {tokensInAccountForDropdown.total} \n \n {isOpen &&\n \n (\n \n \n
\n  \n {item.tokenName} ({item.tokenSymbol})\n {formatNumber(item.quantityNumber, 2)} {item.tokenSymbol}\n
\n {item.priceUsd &&\n
\n {formatNumber(item.valueUsd, 2)}\n @{formatNumber(item.priceUsd, 4)}\n
\n }\n
\n\n
\n )}\n />\n\n {(tokensInAccountForDropdown.data.length > 50) && Show more}\n
\n }\n \n \n \n \n \n \n \n )\n}","import { useCallback } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { TokenParamsType } from '../../constants/types'\nimport { columnsTxns, Datatable, DataTableTotal } from '../../common'\nimport { useAppSelector } from '../../app/hooks'\nimport { getTokenInternalTx } from './accountsSlice'\n\nexport default function InteralTxns() {\n const { address } = useParams()\n\n const getInternalTxData = useCallback(\n (params: any) => getTokenInternalTx({ ...params, address }),\n [address]\n )\n\n const { internalTx } = useAppSelector((state) => state['accounts']['details'])\n\n return (\n \n }\n getData={getInternalTxData}\n />\n )\n}\n\n","import { useCallback } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { TokenParamsType } from '../../constants/types'\nimport { accountVrcTokenTxnsColumns, Datatable, DataTableTotal } from '../../common'\nimport { useAppSelector } from '../../app/hooks'\nimport { getVrcTokenTransactions } from './accountsSlice'\n\nexport default function VrcTokenTxns() {\n const { address } = useParams()\n\n const getData= useCallback(\n (params: any) => getVrcTokenTransactions({ ...params, address }),\n [address]\n )\n\n const { vrcTokenTxns } = useAppSelector((state) => state['accounts']['details'])\n\n return (\n }\n getData={getData}\n />\n )\n}\n\n","import { useCallback } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { TokenParamsType } from '../../constants/types'\nimport { columnsRewards, Datatable, DataTableTotal } from '../../common'\nimport { useAppSelector } from '../../app/hooks'\nimport { getUserRewards } from './accountsSlice'\n\nexport default function UserRewards() {\n const { address } = useParams()\n\n const getRewardData = useCallback(\n (params: any) => getUserRewards({ ...params, address }),\n [address]\n )\n\n const { userReward } = useAppSelector((state) => state['accounts']['details'])\n // console.log(userReward.data)\n return (\n \n }\n getData={getRewardData}\n />\n )\n}\n\n","import { useState, } from 'react'\nimport { Helmet } from 'react-helmet-async'\nimport { QRCode } from 'react-qr-svg'\nimport { useParams, Link } from 'react-router-dom'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\n\nimport {\n Tabs,\n Typography,\n Row,\n Col,\n Tooltip,\n Space\n} from 'antd'\nimport {\n QuestionCircleOutlined,\n} from '@ant-design/icons'\nimport {\n MainDetails,\n BoxContentTable,\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n AddressBox,\n Center,\n TextOverlay,\n TextMain,\n} from './contractDetailsPageStyles'\n\nimport iconQrcode from '../../assets/images/icon/icon-qrcode.svg'\n\nimport { TokenParamsType } from '../../constants/types'\nimport { PageHeader, AddressLink, TabsWithHash, ExportData } from '../../common'\n\nimport { toTomo, formatNumber, timeFormatUtc } from '../../utils'\n\nimport ContractDetailsTxListTab from './ContractDetailsTxListTab'\nimport { TabStyle } from '../../appStyles'\nimport ContractEventLogs from './ContractEventLog'\nimport ContentOfTheContractTab from './ContentOfTheContractTab'\nimport TotalTokenBalance from '../accounts/TotalTokenBalance'\nimport ListTokenBalance from '../accounts/ListTokenBalance'\nimport InteralTxns from '../accounts/InternalTxns'\nimport VrcTokenTxns from '../accounts/VrcTokenTxns'\nimport UserRewards from '../accounts/UserRewards'\nimport CheckStatus from '../../common/CheckStatus'\n\n\nconst { TabPane } = Tabs\nconst { Paragraph, Text } = Typography\n\nexport default function ContractDetailsPage({ data }: any) {\n const [isCopied, setCopied] = useState(false)\n const [activeKey, setActiveKey] = useState('')\n const { address } = useParams()\n\n if (!data) return null\n return (\n \n {address &&\n \n {`Contract ${address}`}\n \n }\n \n \n {
\n \n
}\n {data.address.toLowerCase()}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n {/* \"icon */}\n \"icon\n \n \n \n \n \n }\n >\n {/* \"icon} /> */}\n \"icon\n \n
\n\n \n \n \n Contract Overview\n \n {data.tokenData &&\n \n \n \n Name\n \n \n \n \n {data.tokenData.tokenSymbol}\n \n \n \n }\n {!data.tokenData && data.contractData.contractName &&\n \n \n \n Name\n \n \n \n \n {data.contractData.contractName}\n \n \n \n }\n \n \n \n VIC Balance\n \n \n \n \n \n {formatNumber(toTomo(data.balance, 18), 2)} VIC ({`$${formatNumber(data.tomoInUsd, 2)}`})\n }>\n \n \n \n \n \n \n \n Other VRC Token Balance\n \n \n \n \n setActiveKey('totalBalance')} />\n \n \n \n \n \n \n Transactions Count\n \n \n \n \n {formatNumber(data.txCount)}\n \n \n \n {data.tokenData &&\n \n \n \n Token Tracker\n \n \n \n \n \n {data.tokenData.tokenName} ({data.tokenData.tokenSymbol})\n \n \n \n }\n \n \n \n \n \n More information\n \n \n \n \n Public Name Tag\n \n \n \n \n {data.accountName ? data.accountName : \"Not Available.\"}\n \n \n \n \n \n \n Creator\n \n \n \n \n {data.contractData.createdBy && data.contractData.createdAtHash ?\n
\n
\n at tx
\n
\n : Unknown\n }\n
\n \n
\n \n \n \n Last transaction\n \n \n \n \n {timeFormatUtc(data.timestamp)}\n \n \n \n \n \n \n Compiler\n \n \n \n \n {data.contractData.compiler ?\n {data.contractData.compiler}\n : <>Unverified contract (Verify and publish)\n }\n \n \n \n
\n
\n \n
\n\n \n \n {/* @ts-ignore */}\n setActiveKey(activeKey)}\n activeTab={activeKey}\n type=\"card\"\n tabKeys={[\"internalTxns\", \"vrcTokenTxns\", \"code\", \"event\", \"userRewards\", \"totalBalance\"]}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n Contract\n } key=\"code\">\n {address && }\n \n \n {address && }\n \n \n \n \n \n \n \n \n \n \n \n
\n )\n}\n\nconst TomoToolTip = ({ tomoPrice }: any) => {\n return (\n <>\n \n {`$${formatNumber(tomoPrice, 2)}/VIC`}\n \n \n Price oracle from  \n Coingecko\n \n \n )\n}","import { useCallback, useEffect, useState } from 'react'\nimport { CopyToClipboard } from 'react-copy-to-clipboard'\nimport { Helmet } from 'react-helmet-async'\nimport { QRCode } from 'react-qr-svg'\nimport { Redirect, useHistory, useParams } from 'react-router-dom'\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport iconQrcode from '../../assets/images/icon/icon-qrcode.svg'\nimport { DataTableTotal, Datatable, ExportData, SkeletonLoading, TabsWithHash, columnsTransactions } from '../../common'\nimport { PageHeader, TagWarningAddress } from '../../common/PageHeader'\nimport { tagWarningAddress } from '../../constants'\nimport { TokenParamsType } from '../../constants/types'\nimport { formatNumber, isAddress, timeFormatUtc, toTomo } from '../../utils'\n\nimport {\n QuestionCircleOutlined,\n} from '@ant-design/icons'\nimport {\n Col,\n Row,\n Space,\n Tabs,\n Tooltip,\n Typography,\n} from 'antd'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../../app/store'\nimport { TabStyle } from '../../appStyles'\nimport Colors from '../../constants/themeConfig'\nimport { buildD3Domain, buildOneIdSuggestions } from '../../domainServices'\nimport ContractDetailsPage from '../contracts/ContractDetailsPage'\nimport InternalTxns from './InternalTxns'\nimport ListTokenBalance from './ListTokenBalance'\nimport TotalTokenBalance from './TotalTokenBalance'\nimport UserRewards from './UserRewards'\nimport VrcTokenTxns from './VrcTokenTxns'\nimport {\n AddressBox,\n BoxContentPlaceHolder,\n BoxContentTable,\n ButtonStyled,\n Center,\n InnerPlaceHolder,\n MainDetails,\n StyleCopyIcon,\n TextStyle,\n TitleHeaderBox,\n TxtColStyle,\n} from './accountDetailsPageStyles'\nimport {\n getAccountDetails,\n getTokenTransactions,\n resetAccountDetail\n} from './accountsSlice'\n\nconst { Paragraph } = Typography;\nconst { TabPane } = Tabs\n\nexport default function AccountDetailsPage() {\n const history = useHistory()\n\n const [isCopied, setCopied] = useState(false)\n const [loadingDomain, setLoadingDomain] = useState(true);\n const [activeKey, setActiveKey] = useState('')\n\n const { address } = useParams()\n const dispatch = useAppDispatch()\n const mode = useSelector((state: RootState) => state.general.mode)\n\n const getTransactionData = useCallback(\n (params: any) => getTokenTransactions({ ...params, address }),\n [address]\n )\n\n const handleSearchAccount = async () => {\n let validAddress = address;\n if (!validAddress) return;\n try {\n if (!isAddress(validAddress)) {\n setLoadingDomain(true);\n validAddress = (await buildOneIdSuggestions(address as string))[0]?.address;\n validAddress = validAddress ?? (await buildD3Domain(address as string))[0]?.address;\n if (validAddress) {\n history.push('/address/' + validAddress);\n return;\n }\n }\n } catch (error) { }\n dispatch(getAccountDetails(validAddress))\n setLoadingDomain(false);\n }\n\n useEffect(() => {\n handleSearchAccount();\n }, [address, dispatch])\n\n useEffect(() => {\n return () => {\n dispatch(resetAccountDetail())\n }\n }, [])\n\n const { data, loading, tokensInAccountForDropdown, transactions } = useAppSelector((state) => state['accounts']['details'])\n\n if (loading === 'pending' || loadingDomain) return \n if (loading === 'failed') return \n if (!data) return null\n\n if (data.isToken && !data.isContract) return \n if (data.isContract) return \n\n const totalBalance = data.tomoInUsd + tokensInAccountForDropdown.usdValue\n return (\n \n {address &&\n \n {`Address ${address}`}\n \n }\n \n \n {data ? data.address : ''}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \n \"icon\n \n \n \n \n \n \n }\n >\n \"icon} />\n \n \n\n {address && tagWarningAddress[address] &&\n
\n \n {tagWarningAddress[address]?.text}\n \n Detail here\n \n
Please exercise caution when interacting with this address.
\n {Array.isArray(tagWarningAddress[address]?.tag) ?\n tagWarningAddress[address]?.tag.map((t: string, i: any) => (\n {t}\n ))\n : ''\n }\n
\n
\n }\n\n
\n \n \n \n Overview\n \n \n \n \n Total Balance\n \n \n \n \n ${formatNumber(totalBalance, 4)}\n \n \n \n \n \n \n VIC Balance\n \n \n \n \n \n {formatNumber(toTomo(data.balance, 18), 2)} VIC ({`$${formatNumber(data.tomoInUsd, 2)}`})\n }>\n \n \n \n \n \n \n \n Other VRC Token Balance\n \n \n \n \n setActiveKey('totalBalance')} />\n \n \n \n \n \n \n \n \n More information\n \n \n \n \n Public Name Tag\n \n \n \n \n {data.accountName ? data.accountName : \"Not Available.\"}\n \n \n \n \n \n \n Transaction Count\n \n \n \n \n {transactions ? transactions.total : 0} txs\n \n \n \n \n \n \n Last transaction\n \n \n \n \n {timeFormatUtc(data.timestamp)}\n \n \n \n \n \n \n \n\n \n \n {/* @ts-ignore */}\n setActiveKey(activeKey)} type=\"card\" activeTab={activeKey} tabKeys={[\"internalTxns\", \"vrcTokenTxns\", \"userRewards\", \"totalBalance\"]}>\n \n \n }\n getData={getTransactionData}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n )\n}\nconst TomoToolTip = ({ tomoPrice }: any) => {\n return (\n <>\n \n {`$${formatNumber(tomoPrice, 2)}/VIC`}\n \n \n Price oracle from  \n Coingecko\n \n \n )\n}\n\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\n\nimport { MasternodesState } from '../../constants/types'\nimport { fetchMasternodeList } from '../../api'\nimport { requestLimit } from '../../features/general/generalSlice'\n\n// Create thunk\nexport const getMasternodeList = createAsyncThunk(\n 'masternodes/getMasternodeList',\n async (params: {offset: number, limit: number}, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchMasternodeList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: { \n data: [],\n loading: 'idle',\n total: null,\n },\n} as MasternodesState\n\nconst masternodesSlice = createSlice({\n name: 'masternodes',\n initialState,\n reducers: {\n // reset masternode list\n resetMasternodeList(state) {\n state.list.data = []\n state.list.loading = 'idle'\n state.list.total = null\n }\n },\n extraReducers: (builder) => {\n // masternode list\n builder.addCase(getMasternodeList.pending, (state) => {\n state.list.loading = 'pending'\n })\n\n builder.addCase(getMasternodeList.fulfilled, (state, action) => {\n const data = action.payload.candidates.map((item: any, index: number) => {\n item.rank = index + 1\n return item\n })\n \n state.list.loading = 'succeeded'\n state.list.data = data\n state.list.total = data.length\n })\n\n builder.addCase(getMasternodeList.rejected, (state) => {\n state.list.loading = 'failed'\n state.list.data = []\n state.list.total = null\n })\n },\n})\n\nexport const { resetMasternodeList } = masternodesSlice.actions\nexport default masternodesSlice.reducer\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { getMasternodeList, resetMasternodeList } from './masternodesSlice'\nimport { PageHeader, Datatable, masternodeColumns, DataTableTotal } from '../../common'\n\nexport default function EpochsList() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['masternodes']['list'])\n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetMasternodeList())\n }\n }, [])\n\n return (\n
\n \n \n }\n showPagination={false}\n getData={getMasternodeList}\n />\n
\n )\n}","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { PageHeader, Datatable, DataTableTotal, contractColumns } from '../../common'\nimport { getContractList, resetContractList } from './contractsSlice'\n\nexport default function BlockListPage() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['contracts']['list'])\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetContractList())\n }\n }, [])\n\n return (\n
\n \n\n }\n getData={getContractList}\n />\n
\n )\n}\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\nimport BigNumber from 'bignumber.js'\n\nimport { TokensState } from '../../constants/types'\nimport {\n fetchNormalTokenList,\n fetchVrc721TokenList,\n fetchTokenDetailsByAddress,\n fetchVrc2021HolderList,\n fetchVrc721HolderList,\n fetchVrc2021TransferList,\n fetchVrc721TransferList,\n fetchVrc721InventoryList,\n // fetchTokenBalance,\n fetchTokenBalanceOnAccount\n} from '../../api'\nimport { requestLimit } from '../../features/general/generalSlice'\n\n// Create thunk\n// vrc20/21 token list\nexport const getNormalTokenList = createAsyncThunk(\n 'tokens/getNormalTokenList',\n async (params: { offset: number, limit: number }, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchNormalTokenList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc721 token list\nexport const getVrc721TokenList = createAsyncThunk(\n 'tokens/getVrc721TokenList',\n async (params: { offset: number, limit: number }, thunkAPI) => {\n try {\n const { offset, limit } = params\n\n const response = await fetchVrc721TokenList(offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc20/21 holder list\nexport const getVrc2021HolderList = createAsyncThunk(\n 'tokens/getVrc2021HolderList',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n\n const response = await fetchVrc2021HolderList(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc721 holder list\nexport const getVrc721HolderList = createAsyncThunk(\n 'tokens/getVrc721HolderList',\n async (params: { address: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, offset, limit } = params\n\n const response = await fetchVrc721HolderList(address, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc721 inventory list\nexport const getVrc721InventoryList = createAsyncThunk(\n 'tokens/getVrc721InventoryList',\n async (params: { tokenAddress: string, ownerAddress: string, tokenId: string, offset: number, limit: number }, thunkAPI) => {\n try {\n const { tokenAddress, ownerAddress, tokenId, offset, limit } = params\n\n const response = await fetchVrc721InventoryList(tokenAddress, ownerAddress, tokenId, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc20/21 transfer list\nexport const getVrc2021TransferList = createAsyncThunk(\n 'tokens/getVrc2021TransferList',\n async (params: { address: string, account: string | undefined, offset: number, limit: number }, thunkAPI) => {\n try {\n const { address, account, offset, limit } = params\n const response = await fetchVrc2021TransferList(address, account, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// vrc721 transfer list\nexport const getVrc721TransferList = createAsyncThunk(\n 'tokens/getVrc721TransferList',\n async (params: { tokenAddress: string, ownerAddress: string | undefined, tokenId: string | undefined, offset: number, limit: number }, thunkAPI) => {\n try {\n const { tokenAddress, ownerAddress, tokenId, offset, limit } = params\n\n const response = await fetchVrc721TransferList(tokenAddress, ownerAddress, tokenId, offset, limit)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// token details\nexport const getTokenDetailsByAddress = createAsyncThunk(\n 'tokens/getTokenDetailsByAddress',\n async (address: string, thunkAPI) => {\n try {\n const response = await fetchTokenDetailsByAddress(address)\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n// token details\nexport const getTokenBalanceOnAccount = createAsyncThunk(\n 'tokens/getTokenBalanceOnAccount',\n async (params:{owner: string,address: string}, thunkAPI) => {\n try {\n const { owner,address } = params\n const response = await fetchTokenBalanceOnAccount(owner,address )\n thunkAPI.dispatch(requestLimit(false))\n return response.data\n } catch (error: any) {\n if (error && error.response && error.response.status === 429) {\n thunkAPI.dispatch(requestLimit(true))\n }\n return thunkAPI.rejectWithValue(error.response.data)\n }\n }\n)\n\n// Declare slice\nconst initialState = {\n list: {\n vrc2021: {\n data: [],\n loading: 'idle',\n total: null,\n },\n vrc721: {\n data: [],\n loading: 'idle',\n total: null,\n }\n },\n details: {\n data: null,\n loading: 'idle',\n holders: {\n vrc2021: {\n data: [],\n loading: 'idle',\n total: null,\n },\n vrc721: {\n data: [],\n loading: 'idle',\n total: null,\n },\n },\n transfers: {\n vrc2021: {\n data: [],\n loading: 'idle',\n total: null,\n },\n vrc721: {\n data: [],\n loading: 'idle',\n total: null,\n },\n },\n inventory: {\n data: [],\n loading: 'idle',\n total: 0,\n },\n tokenBalanceOnAccount: {\n loading: 'idle',\n data: {\n isNft: false,\n symbol: '',\n decimals: null,\n balance: null,\n price: null\n } \n }\n }\n} as TokensState\n\nconst tokensSlice = createSlice({\n name: 'tokens',\n initialState,\n reducers: {\n // reset token list\n resetVrc2021List(state) {\n state.list.vrc2021 = { ...initialState.list.vrc2021 }\n },\n\n resetVrc721List(state) {\n state.list.vrc721 = { ...initialState.list.vrc721 }\n }\n },\n extraReducers: (builder) => {\n // vrc20/21 token list\n builder.addCase(getNormalTokenList.pending, (state, action) => {\n state.list.vrc2021.loading = 'pending'\n })\n\n builder.addCase(getNormalTokenList.fulfilled, (state, action) => {\n state.list.vrc2021.loading = 'succeeded'\n state.list.vrc2021.data = action.payload.data\n state.list.vrc2021.total = action.payload.total\n })\n\n builder.addCase(getNormalTokenList.rejected, (state, action) => {\n state.list.vrc2021.loading = 'failed'\n state.list.vrc2021.data = []\n state.list.vrc2021.total = null\n })\n\n // vrc721 token list\n builder.addCase(getVrc721TokenList.pending, (state, action) => {\n state.list.vrc721.loading = 'pending'\n })\n\n builder.addCase(getVrc721TokenList.fulfilled, (state, action) => {\n state.list.vrc721.loading = 'succeeded'\n state.list.vrc721.data = action.payload.data\n state.list.vrc721.total = action.payload.total\n })\n\n builder.addCase(getVrc721TokenList.rejected, (state, action) => {\n state.list.vrc721.loading = 'failed'\n state.list.vrc721.data = []\n state.list.vrc721.total = null\n })\n\n // vrc20/21 holder list\n builder.addCase(getVrc2021HolderList.pending, (state, action) => {\n state.details.holders.vrc2021.loading = 'pending'\n })\n\n builder.addCase(getVrc2021HolderList.fulfilled, (state, action) => {\n state.details.holders.vrc2021.loading = 'succeeded'\n state.details.holders.vrc2021.data = action.payload.data\n state.details.holders.vrc2021.total = action.payload.total\n })\n\n builder.addCase(getVrc2021HolderList.rejected, (state, action) => {\n state.details.holders.vrc2021.loading = 'failed'\n state.details.holders.vrc2021.data = []\n state.details.holders.vrc2021.total = null\n })\n\n // vrc721 holder list\n builder.addCase(getVrc721HolderList.pending, (state, action) => {\n state.details.holders.vrc721.loading = 'pending'\n })\n\n builder.addCase(getVrc721HolderList.fulfilled, (state, action) => {\n state.details.holders.vrc721.loading = 'succeeded'\n state.details.holders.vrc721.data = action.payload.data\n state.details.holders.vrc721.total = action.payload.total\n })\n\n builder.addCase(getVrc721HolderList.rejected, (state, action) => {\n state.details.holders.vrc721.loading = 'failed'\n state.details.holders.vrc721.data = []\n state.details.holders.vrc721.total = null\n })\n\n // vrc721 inventory list\n builder.addCase(getVrc721InventoryList.pending, (state, action) => {\n state.details.inventory.loading = 'pending'\n })\n\n builder.addCase(getVrc721InventoryList.fulfilled, (state, action) => {\n state.details.inventory.loading = 'succeeded'\n state.details.inventory.data = action.payload.data\n state.details.inventory.total = action.payload.total\n })\n\n builder.addCase(getVrc721InventoryList.rejected, (state, action) => {\n state.details.inventory.loading = 'failed'\n state.details.inventory.data = []\n state.details.inventory.total = 0\n })\n\n // vrc20/21 transfer list\n builder.addCase(getVrc2021TransferList.pending, (state, action) => {\n state.details.transfers.vrc2021.loading = 'pending'\n })\n\n builder.addCase(getVrc2021TransferList.fulfilled, (state, action) => {\n state.details.transfers.vrc2021.loading = 'succeeded'\n state.details.transfers.vrc2021.data = action.payload.data\n state.details.transfers.vrc2021.total = action.payload.total\n })\n\n builder.addCase(getVrc2021TransferList.rejected, (state, action) => {\n state.details.transfers.vrc2021.loading = 'failed'\n state.details.transfers.vrc2021.data = []\n state.details.transfers.vrc2021.total = null\n })\n\n // vrc721 transfer list\n builder.addCase(getVrc721TransferList.pending, (state, action) => {\n state.details.transfers.vrc721.loading = 'pending'\n })\n\n builder.addCase(getVrc721TransferList.fulfilled, (state, action) => {\n state.details.transfers.vrc721.loading = 'succeeded'\n state.details.transfers.vrc721.data = action.payload.data\n state.details.transfers.vrc721.total = action.payload.total\n })\n\n builder.addCase(getVrc721TransferList.rejected, (state, action) => {\n state.details.transfers.vrc721.loading = 'failed'\n state.details.transfers.vrc721.data = []\n state.details.transfers.vrc721.total = null\n })\n\n // token details\n builder.addCase(getTokenDetailsByAddress.pending, (state, action) => {\n state.details.loading = 'pending'\n state.details.data = null\n })\n builder.addCase(getTokenDetailsByAddress.fulfilled, (state, action) => {\n const { price, totalSupplyNumber } = action.payload\n const fullyDilutedMarketcap = (price && totalSupplyNumber) ? new BigNumber(price).times(totalSupplyNumber).toNumber() : ''\n\n state.details.loading = 'succeeded'\n state.details.data = { ...action.payload, fullyDilutedMarketcap }\n })\n builder.addCase(getTokenDetailsByAddress.rejected, (state, action) => {\n state.details.loading = 'failed'\n state.details.data = null\n })\n // token balance on account\n builder.addCase(getTokenBalanceOnAccount.pending, (state, action) => {\n state.details.tokenBalanceOnAccount.loading = 'pending'\n })\n builder.addCase(getTokenBalanceOnAccount.fulfilled, (state, action) => {\n state.details.tokenBalanceOnAccount.data = action.payload\n state.details.tokenBalanceOnAccount.loading = 'succeeded' \n })\n builder.addCase(getTokenBalanceOnAccount.rejected, (state, action) => {\n state.details.tokenBalanceOnAccount.loading = 'failed'\n })\n },\n})\n\nexport const { resetVrc2021List, resetVrc721List } = tokensSlice.actions\nexport default tokensSlice.reducer\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { PageHeader, Datatable, DataTableTotal, tokenColumns } from '../../common'\nimport { getNormalTokenList, resetVrc2021List } from './tokensSlice'\n\nexport default function TokenListPage() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['tokens']['list']['vrc2021']) \n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetVrc2021List())\n }\n }, [])\n\n return (\n
\n \n\n }\n getData={getNormalTokenList}\n />\n
\n )\n}","import styled from \"styled-components\";\nimport { Button, Input } from 'antd'\n\nexport const MainDetails = styled.div`\n .ant-tabs-content .content-table{\n padding: 0;\n }\n @media(max-width: 767px){\n .rp-mb{\n margin-bottom: 30px;\n }\n .ant-row{\n margin-bottom: 15px;\n } \n }\n`\nexport const BoxContentPlaceHolder = styled.div`\n background-color: ${({ theme }) => theme.bg2};\n padding: 15px 24px;\n height: 100%;\n @media(max-width: 767px){\n padding-left: 15px;\n padding-right: 15px;\n }\n`\nexport const InnerPlaceHolder = styled.div`\n`\nexport const TxtColStyle = styled.div`\n margin: 10px 0;\n word-break: break-all;\n &.col-txt-left {\n color: ${({ theme }) => theme.textOverlay};\n }\n &.col-txt-right {\n color: ${({ theme }) => theme.text};\n }\n @media(max-width: 767px){\n margin: 0;\n }\n`\nexport const BoxContentTable = styled.div`\n margin-top: 25px;\n position: relative;\n`\nexport const TitleHeaderBox = styled.div`\n font-weight: bold;\n font-size: 16px;\n margin-bottom: 10px;\n padding-bottom: 15px;\n border-bottom: 1px solid ${({ theme }) => theme.border};\n color: ${({ theme }) => theme.text};\n`\nexport const TxtInfoTable = styled.div`\n color: ${({ theme }) => theme.textOverlay};\n .ant-typography {\n color: ${({ theme }) => theme.text};\n &.ant-typography-secondary {\n color: ${({ theme }) => theme.textOverlay};\n }\n }\n`\nexport const AddressBox = styled.div`\n display: flex;\n`\nexport const StyleCopyIcon = styled.div`\n border-radius: 0;\n cursor: pointer;\n border-radius: 0;\n color: ${({ theme }) => theme.textOverlay};\n border: 0;\n width: 22px;\n height: 22px;\n display: flex;\n align-items: center;\n margin-left: 5px;\n justify-content: center;\n &:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n > *{\n width: 20px;\n height: 20px;\n line-height: 20px;\n text-align: center;\n }\n`\n\nexport const Center = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`\nexport const ButtonStyled = styled(Button)`\n &.ant-btn,\n &.ant-btn:hover,\n &.ant-btn:focus {\n color: ${({ theme }) => theme.textOverlay};\n border: 0;\n width: 22px;\n height: 22px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ${({ theme }) => theme.bg};\n }\n &.ant-btn:hover {\n background-color: ${({ theme }) => theme.bgHover};\n }\n`\n\nexport const OwnerHeader = styled.div`\n font-weight: bold;\n color: ${({ theme }) => theme.text}\n`\n\nexport const OwnerTitle = styled.span`\n color: ${({ theme }) => theme.textOverlay};\n`\nexport const TextMain = styled.span`\n color: ${({ theme }) => theme.text};\n`\n\nexport const OwnerBalanceBox = styled.div`\n padding-left: 34px;\n border-left: 1px solid ${({theme})=> theme.border};\n @media(max-width: 767px){\n padding-left: 0px;\n padding-right: 10px;\n margin-top: 20px;\n border-left: none;\n }\n`\nexport const PositionStyled = styled.div`\n position: absolute;\n right: 24px;\n top: 24px;\n @media(max-width: 767px){\n position: static;\n .ant-form ant-form-vertical{\n justify-content: center;\n }\n }\n`\nexport const InputStyled = styled(Input)`\n min-width: 250px;\n background-color: ${({theme})=> theme.bg1};\n padding-right: 5px;\n border: 1px solid ${({theme})=>theme.border};\n &:focus,&:active{\n outline: none;\n border: none;\n }\n .ant-input-suffix{\n margin-left: 0;\n }\n .ant-input{\n background-color: ${({theme})=> theme.bg1};\n }\n`\nexport const ButtonSubmit = styled(Input)`\n cursor: pointer;\n color: #fff;\n background-color: ${({theme})=> theme.primary};;\n fontSize: 12px;\n &:focus,&:active{\n outline: none;\n border: none;\n }\n`\n","import BigNumber from 'bignumber.js'\nimport { useCallback } from 'react'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { Datatable, DataTableTotal, tokenHolderColumns } from '../../common'\nimport { TokenDetailsType } from '../../constants/types'\nimport { getVrc2021HolderList, getVrc721HolderList } from './tokensSlice'\nimport { fungibleTokenStandard, nonFungibleTokenStandard } from '../../constants'\n\ninterface TokenDetailsHolderListProps {\n token: TokenDetailsType\n price: number\n totalSupply: number\n}\n\n// return get holder list function depend token's type\nfunction getHolderListFunction(type: string) {\n if (nonFungibleTokenStandard.includes(type)) {\n return getVrc721HolderList\n }\n\n return getVrc2021HolderList\n}\n\nexport default function TokenDetailsHolderList({ token, price, totalSupply }: TokenDetailsHolderListProps) {\n const { holders } = useAppSelector((state) => state.tokens.details)\n\n const getData = useCallback(\n (params: any) => getHolderListFunction(token.type)({ ...params, address: token.address }),\n []\n )\n\n const stateType = fungibleTokenStandard.includes(token.type) ? 'vrc2021' : 'vrc721'\n const { data, total, loading } = holders[stateType]\n const newData = data.map((v) => {\n const percentage = v.quantityNumber ? new BigNumber(v.quantityNumber).div(totalSupply).multipliedBy(100) : ''\n const valueUsd = v.quantityNumber && price ? new BigNumber(v.quantityNumber).multipliedBy(price).toNumber() : ''\n return { ...v, percentage, valueUsd }\n })\n return (\n }\n getData={getData}\n />\n )\n}","import { useCallback, useState } from 'react'\nimport { useHistory } from 'react-router-dom'\nimport { Form } from 'antd'\n\nimport { useAppSelector, useQuery } from '../../app/hooks'\nimport { Datatable, DataTableTotal, tokenTransferColumns } from '../../common'\nimport { TokenDetailsType } from '../../constants/types'\nimport { getVrc2021TransferList } from './tokensSlice'\nimport { SearchOutlined } from '@ant-design/icons'\n\n\n\nimport {\n InputStyled,\n PositionStyled\n} from './tokenDetailsPageStyles'\nimport { fungibleTokenStandard } from '../../constants'\n\ninterface Vrc2021TransferListProps {\n token: TokenDetailsType\n}\n\nexport default function TokenDetailsTransferList({ token }: Vrc2021TransferListProps) {\n const query = useQuery()\n const getAccount = query.get('account')?.trim() || ''\n const [account, setAccount] = useState(getAccount)\n \n const history = useHistory()\n const { transfers } = useAppSelector((state) => state.tokens.details)\n\n const getData = useCallback(\n (params: any) => getVrc2021TransferList({ ...params, address: token.address,account }),\n [account]\n )\n \n const onFinish = async (values: any) => {\n setAccount(values.address)\n if (values.address) {\n history.push({ search: `?account=${values.address}` })\n } else {\n history.push({ search: '' })\n }\n }\n const stateType = fungibleTokenStandard.includes(token.type) ? 'vrc2021' : 'vrc721'\n const { data, total, loading } = transfers[stateType]\n\n return (\n <>\n \n\n
\n \n \n \n \n {/* */}\n \n \n \n
\n }\n getData={getData}\n />\n \n )\n}","import { useCallback } from 'react'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { Datatable, DataTableTotal, tokenTransferVrc721Columns } from '../../common'\nimport { TokenDetailsType } from '../../constants/types'\nimport { getVrc721TransferList } from './tokensSlice'\n\ninterface Vrc721TransferListProps {\n token: TokenDetailsType\n ownerAddress?: string\n tokenId?: string\n}\n\nexport default function TokenDetailsTransferList({ token, ownerAddress, tokenId }: Vrc721TransferListProps) {\n const { transfers } = useAppSelector((state) => state.tokens.details)\n\n const getData = useCallback(\n (params: any) => getVrc721TransferList({ ...params, tokenAddress: token.address, ownerAddress, tokenId }),\n [ownerAddress, tokenId, token]\n )\n\n const { data, total, loading } = transfers['vrc721']\n\n return (\n }\n getData={getData}\n />\n )\n}","import { useCallback } from 'react'\n\nimport { useAppSelector } from '../../app/hooks'\nimport { Datatable, DataTableTotal, token721InventoryColumns } from '../../common'\nimport { TokenDetailsType } from '../../constants/types'\nimport { getVrc721InventoryList } from './tokensSlice'\n\ninterface InventoryListProps {\n token: TokenDetailsType\n ownerAddress?: string\n tokenId?: string\n}\n\nexport default function InventoryList({ token, ownerAddress = '', tokenId = '' }: InventoryListProps) {\n const { inventory } = useAppSelector((state) => state.tokens.details)\n\n const getData = useCallback(\n (params: any) => getVrc721InventoryList({ ...params, tokenAddress: token.address, ownerAddress, tokenId }),\n [ownerAddress, tokenId, token]\n )\n\n const { data, total, loading } = inventory\n\n return (\n }\n getData={getData}\n />\n )\n}","import React from 'react'\nimport { Redirect } from 'react-router'\nimport { useStateDetails } from '../../app/hooks'\nimport { SkeletonLoading } from '../../common'\nimport ContentOfTheContractTab from '../contracts/ContentOfTheContractTab'\nimport { getContractDetailsByAddress } from '../contracts/contractsSlice'\n\nconst ContractInfomation = ({ address}: any) => {\n const { loading, data } = useStateDetails(getContractDetailsByAddress, address, 'contracts')\n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n return (\n \n )\n}\n\nexport default ContractInfomation","import { Row, Col } from 'antd'\n\nimport {\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n} from './tokenDetailsPageStyles'\n\nimport { formatNumber } from '../../utils'\n\nexport default function Vrc2021Overview({ data }: { data: any }) {\n return (\n \n Market Overview\n \n {!!data.price &&\n \n \n \n Price\n \n \n \n \n ${formatNumber(data.price)}\n \n \n \n }\n\n {!!data.marketcap &&\n \n \n \n Market Cap\n \n \n \n \n ${formatNumber(data.marketcap, 2)}\n \n \n \n }\n\n {!!data.fullyDilutedMarketcap &&\n \n \n \n Fully Diluted Market Cap\n \n \n \n \n ${formatNumber(data.fullyDilutedMarketcap, 2)}\n \n \n \n }\n\n \n \n \n Max Total Supply\n \n \n \n \n {formatNumber(data.totalSupplyNumber, 2)}\n \n \n \n \n \n \n Circulating Supply\n \n \n \n \n {formatNumber(data.circulatingSupplyNumber, 2)}\n \n \n \n \n \n )\n}","import { useState } from 'react'\nimport { Link } from 'react-router-dom'\nimport { Row, Col, Tooltip } from 'antd'\nimport CopyToClipboard from 'react-copy-to-clipboard'\nimport { QRCode } from 'react-qr-svg'\n\nimport {\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n Center,\n AddressBox,\n StyleCopyIcon\n} from './tokenDetailsPageStyles'\n\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport iconQrcode from '../../assets/images/icon/icon-qrcode.svg'\nimport { formatNumber } from '../../utils'\nimport CheckStatus from '../../common/CheckStatus'\n\nexport default function Vrc2021MoreInfo({ data }: { data: any }) {\n const [isCopied, setCopied] = useState(false)\n\n return (\n \n More Information\n \n \n \n \n Contract\n \n \n \n \n \n \n {/* {data.address} */}\n {data.address}\n \n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n }\n >\n \"icon\n \n \n \n \n \n \n \n \n Token Status\n \n \n \n \n \n \n \n \n \n \n \n Holders\n \n \n \n \n {formatNumber(data.holder)}\n \n \n \n \n \n \n Transfers\n \n \n \n \n {formatNumber(data.transferCount)}\n \n \n \n\n {data.decimals &&\n \n \n \n Decimals\n \n \n \n \n {data.decimals}\n \n \n \n }\n\n {data.website &&\n \n \n \n Website\n \n \n \n \n {data.website}\n \n \n \n }\n \n \n )\n}","import { Row, Col } from 'antd'\n\nimport {\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n} from './tokenDetailsPageStyles'\n\nimport { formatNumber } from '../../utils'\n\nexport default function Vrc721Overview({ data, tokenId = '' }: { data: any, tokenId: string }) {\n return (\n \n Market Overview\n \n {data.price &&\n \n \n \n Price\n \n \n \n \n ${formatNumber(data.price)}\n \n \n \n }\n\n {!!tokenId && (\n \n \n \n TokenID\n \n \n \n \n {tokenId}\n \n \n \n )}\n\n {!tokenId && (\n <>\n \n \n \n Max Total Supply\n \n \n \n \n {formatNumber(data.totalSupplyNumber, 2)}\n \n \n \n\n \n \n \n Holders\n \n \n \n \n {formatNumber(data.holder)}\n \n \n \n \n )}\n \n \n \n )\n}","import { useState } from 'react'\nimport { Link } from 'react-router-dom'\nimport { Row, Col, Tooltip } from 'antd'\nimport CopyToClipboard from 'react-copy-to-clipboard'\nimport { QRCode } from 'react-qr-svg'\n\nimport {\n BoxContentPlaceHolder,\n TitleHeaderBox,\n InnerPlaceHolder,\n TxtColStyle,\n Center,\n AddressBox,\n StyleCopyIcon\n} from './tokenDetailsPageStyles'\n\nimport { TextStyled } from '../../common'\nimport iconCopy from '../../assets/images/icon/icon-copy.svg'\nimport iconQrcode from '../../assets/images/icon/icon-qrcode.svg'\nimport { formatNumber } from '../../utils'\n\nexport default function Vrc721MoreInfo({ data, tokenId }: { data: any, tokenId: any }) {\n const [isCopied, setCopied] = useState(false)\n\n return (\n \n More Information\n \n \n \n \n Contract\n \n \n \n \n \n {data.address}\n \n setCopied(true)}\n //@ts-ignore\n onMouseEnter={() => setCopied(false)}\n >\n \"icon\n \n \n \n \n \n }\n >\n \"icon\n \n \n \n \n \n\n {!tokenId && (\n \n \n \n Transfers\n \n \n \n \n {formatNumber(data.transferCount)}\n \n \n \n )}\n\n {data.website &&\n \n \n \n Website\n \n \n \n \n {data.website}\n \n \n \n }\n \n \n )\n}","import {useEffect} from 'react'\nimport { Link, useParams, Redirect } from 'react-router-dom'\nimport BigNumber from 'bignumber.js'\nimport { Tabs, Row, Col } from 'antd'\nimport { Helmet } from 'react-helmet-async'\n\nimport {\n MainDetails,\n BoxContentTable,\n BoxContentPlaceHolder,\n OwnerHeader,\n OwnerBalanceBox,\n OwnerTitle,\n TextMain\n} from './tokenDetailsPageStyles'\n\nimport {\n SkeletonLoading,\n PageHeaderTokenDetail,\n TabsWithHash,\n} from '../../common'\n\nimport { useQuery } from '../../app/hooks'\nimport { TokenParamsType } from '../../constants/types'\nimport { formatNumber } from '../../utils'\nimport { useStateDetails, useAppSelector,useAppDispatch } from '../../app/hooks'\nimport { getTokenDetailsByAddress, getTokenBalanceOnAccount } from './tokensSlice'\nimport TokenDetailsHolderList from './TokenDetailsHolderList'\nimport Vrc2021TransferList from './Vrc2021TransferList'\nimport Vrc721TransferList from './Vrc721TransferList'\nimport Vrc721InventoryList from './Vrc721InventoryList'\nimport { TabStyle } from '../../appStyles'\nimport ContractInfomation from './ContractInfomation'\nimport Vrc2021Overview from './Vrc2021Overview'\nimport Vrc2021MoreInfo from './Vrc2021MoreInfo'\nimport Vrc721Overview from './Vrc721Overview'\nimport Vrc721MoreInfo from './Vrc721MoreInfo'\nimport { fungibleTokenStandard, nonFungibleTokenStandard } from '../../constants'\nimport CheckStatus from '../../common/CheckStatus'\n\n\nconst { TabPane } = Tabs\n\nexport default function TokenDetailsPage() {\n const query = useQuery()\n const owner = query.get('account')?.trim() || ''\n const tokenId = query.get('tokenId')?.trim() || ''\n const { address } = useParams()\n const { tokenBalanceOnAccount } = useAppSelector((state) => state.tokens.details)\n const { loading, data } = useStateDetails(getTokenDetailsByAddress, address, 'tokens')\n const dispatch = useAppDispatch()\n useEffect(() => {\n if (owner && address) dispatch(getTokenBalanceOnAccount({ owner,address }))\n }, [owner,address, dispatch])\n if (loading === 'pending') return \n if (loading === 'failed') return \n if (!data) return null\n\n return (\n \n {(data.price && data.name && data.symbol) && (\n \n ${formatNumber(data.price)} | {data.name} ({data.symbol?.toUpperCase()}) | VIC Scan - Viction Block Explorer\n \n )}\n\n {(!data.price && data.name && data.symbol) && (\n \n {data.name} ({data.symbol?.toUpperCase()}) | VIC Scan - Viction Block Explorer\n \n )}\n\n \n\n \n \n {(!data.type || fungibleTokenStandard.includes(data.type.toLowerCase())) && }\n {(data.type && nonFungibleTokenStandard.includes(data.type.toLowerCase())) && }\n \n \n {(!data.type || fungibleTokenStandard.includes(data.type.toLowerCase())) && }\n {(data.type && nonFungibleTokenStandard.includes(data.type.toLowerCase())) && }\n \n \n\n {!!owner && !tokenBalanceOnAccount.data.isNft && (\n \n \n \n \n
\n FILTERED BY TOKEN HOLDER\n
{owner}
\n
\n \n\n \n \n
BALANCE
\n {tokenBalanceOnAccount && tokenBalanceOnAccount.data.balance && tokenBalanceOnAccount.data.decimals &&\n
{formatNumber(new BigNumber(tokenBalanceOnAccount.data.balance).dividedBy(10 ** tokenBalanceOnAccount.data.decimals).toNumber())} {tokenBalanceOnAccount.data.symbol}
\n }\n
\n \n {!!tokenBalanceOnAccount.data.price && tokenBalanceOnAccount && !!tokenBalanceOnAccount.data.balance && !!tokenBalanceOnAccount.data.decimals &&\n \n \n
VALUE
\n
${formatNumber(new BigNumber(tokenBalanceOnAccount.data.balance).dividedBy(10 ** tokenBalanceOnAccount.data.decimals).multipliedBy(tokenBalanceOnAccount.data.price).toNumber())}
\n
\n \n }\n
\n
\n )}\n\n \n \n {data.type && fungibleTokenStandard.includes(data.type.toLowerCase()) && (\n \n \n \n \n\n \n \n \n\n Contract   } key=\"code\">\n {address && }\n \n \n )}\n\n {data.type && ['tr721', 'vrc721', 'vrc725'].includes(data.type.toLowerCase()) && (\n \n \n {!!owner && }\n {!!tokenId && }\n {!owner && !tokenId && }\n \n\n \n \n \n\n Contract   } key=\"code\">\n {address && }\n \n \n )}\n\n {!data.type && (\n \n \n \n \n\n \n {address && }\n \n \n )}\n \n \n
\n )\n}\n\n","import { useEffect } from 'react'\n\nimport { useAppDispatch, useAppSelector } from '../../app/hooks'\nimport { PageHeader, Datatable, DataTableTotal, token721Columns } from '../../common'\nimport { getVrc721TokenList, resetVrc721List } from './tokensSlice'\n\nexport default function TokenListVrc721Page() {\n const dispatch = useAppDispatch()\n const { data, loading, total } = useAppSelector((state) => state['tokens']['list']['vrc721'])\n\n // reset state when component unmount\n useEffect(() => {\n return () => {\n dispatch(resetVrc721List())\n }\n }, [])\n\n return (\n
\n \n\n }\n getData={getVrc721TokenList}\n />\n
\n )\n}","export default __webpack_public_path__ + \"static/media/404.04860735.svg\";","import styled from 'styled-components'\n\nexport const Container = styled.div`\n max-width: 1270px;\n margin: 0 auto;\n padding: 0 15px;\n`\n\nexport const Warning = styled.div`\n text-align: center;\n .img-visual {\n margin: 25px 0;\n @media only screen and (max-width: 1500px) {\n img {\n max-height: 250px;\n }\n }\n }\n .btn-blue-bd-blue {\n background: #00E8B5;\n border-radius: 8px;\n padding: 10px 24px;\n color: #FFFFFF;\n border: 1px solid #00E8B5;\n height: auto;\n margin: 0 10px;\n font-weight: 800;\n font-size: 15px;\n }\n .btn-white-bd-blue {\n background: #F2FEFB;\n border-radius: 8px;\n padding: 10px 24px;\n color: #00E8B5;\n border: 1px solid #00E8B5;\n display: inline-block;\n margin: 15px 10px;\n font-weight: 800;\n font-size: 15px;\n }\n .mt-3 {\n margin-top: 15px;\n @media only screen and (max-width: 767px) {\n margin-bottom: 15px;\n }\n }\n .dark .ant-typography {\n color: #ffffff;\n }\n`\n\nexport const SearchWrapper = styled.div`\n max-width: 720px;\n position: relative;\n margin: auto;\n .SuggestContentDropdown {\n bottom: 50px;\n }\n`","import { useHistory } from 'react-router-dom'\nimport { Typography, Button } from 'antd'\n\nimport errorImg from '../../assets/images/404.svg'\nimport { Container, Warning, SearchWrapper } from './notFoundPageStyles'\nimport { SearchBox } from '../../common'\nimport { useQuery } from '../../app/hooks'\nimport { useSelector } from 'react-redux'\nimport { RootState } from '../../app/store'\n\nconst { Paragraph, Text, Title } = Typography\n\nfunction NotFoundPage() {\n const query = useQuery()\n const history = useHistory()\n const mode = useSelector((state: RootState) => state.general.mode)\n\n function retry() {\n const searchString = query.get('q')?.trim() || ''\n let searchType\n\n switch (true) {\n case searchString.length === 66:\n searchType = 'tx'\n break;\n\n case !searchString.match(/\\D+/):\n searchType = 'block'\n break;\n\n default:\n searchType = 'address'\n break;\n }\n\n if (searchString && searchType) {\n history.push(`/${searchType}/${searchString}`)\n }\n }\n\n return (\n \n \n
\"\"
\n
\n Search not found\n Oops! The search string you entered was: "{query.get(\"q\")}"\n Sorry! This is an invalid search string.\n
\n \n \n \n
\n \n
\n
\n
\n )\n}\n\nexport default NotFoundPage\n","\nimport { useEffect, useState } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { Col, Row, Form, Select, Spin } from 'antd'\nimport { fetchCompilerVersion, fetchContractVerify } from '../../api'\nimport { TokenParamsType } from '../../constants/types'\nimport { PageHeader } from '../../common'\nimport {\n MinusCircleOutlined,\n PlusOutlined\n} from '@ant-design/icons'\nimport {\n Box,\n TitleHeaderBox,\n NoteInfo,\n FormGroup,\n InputStyled,\n FieldExtend,\n StatusStyled,\n ButtonSubmit,\n TextAreaStyled,\n SelectStyled,\n AddSource\n} from './contractDetailsPageStyles'\nimport TextArea from 'antd/lib/input/TextArea'\nimport { useHistory } from 'react-router-dom'\n\nconst { Option } = Select\n\nexport default function ContractVerify() {\n const history = useHistory()\n const [compilerVersion, setCompilerVersion] = useState([])\n const [loading, setLoading] = useState(false)\n const [mgs, setMgs]: Array = useState([])\n const [form] = Form.useForm()\n const { address } = useParams()\n useEffect(() => {\n const fetCompiler = async () => {\n try {\n const result = await fetchCompilerVersion()\n setCompilerVersion(result.data.data)\n } catch (e) {\n console.log(e)\n }\n }\n fetCompiler()\n }, [])\n\n let formMgs: Array = []\n const onFinish = async (values: any) => {\n setLoading(true)\n if (!values.sourceCode) {\n formMgs.push({\n status: 'warning',\n mgs: 'Warning: Please add Solidity source code!'\n })\n } else {\n try {\n await fetchContractVerify(values)\n formMgs.push({\n status: 'success',\n mgs: 'Contract verified successfull!'\n })\n history.push(`/address/${address}/#code`)\n } catch (e) {\n formMgs.push({\n status: 'error',\n mgs: e.response && e.response.data ? e.response.data.errors[0].message : 'Error: An unknown error. Please reload the website and try again'\n })\n }\n }\n setLoading(false)\n setMgs(formMgs)\n\n }\n return (\n <>\n \n \n Verify and Publish your Solidity Source Code\n Step 1: Enter your Contract Source Code below.\n Step 2: If the Bytecode generated matches the existing Creation Address Bytecode, the contract is then Verified.\n Step 3: Contract Source Code is published online and publicably verifiable by anyone\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 \n \n \n \n \n