{"version":3,"sources":["assets/homeimage.svg","pages/HomePage/indext.tsx","services/microsoftRequests.ts","services/Api.ts","contexts/AuthContext.ts","components/LoginDialog.tsx","utils.ts","components/ICustomMessageBar.tsx","pages/LoginPage/index.tsx","components/CustomNav/HorizontalNav.tsx","assets/versedlogo.png","components/CustomNav/VerticalNav.tsx","components/CustomNav/ContentContainer.tsx","components/CustomNav/CustomNav.tsx","components/CustomNav/index.tsx","navRoutes.ts","components/CustomCard.tsx","pages/Tasks/TaskCards.tsx","contexts/CommomDataContext.ts","pages/Tasks/Hidden/NewRequestPanel.tsx","pages/Tasks/ListTasks.tsx","pages/Tasks/index.tsx","CommomDataMiddleware.tsx","pages/AccountsPage/Hidden/NewAccountPanel.tsx","pages/AccountsPage/index.tsx","pages/RequestPage/Hidden/NewRequestPanel.tsx","pages/RequestPage/Hidden/ChangeSolvedStatusDialog.tsx","components/InputFile/InputFile.tsx","pages/RequestPage/Hidden/AttachmentsModal.tsx","pages/RequestPage/Hidden/ChangeClosedStatusDialog.tsx","pages/RequestPage/Hidden/EventsDetailsDialog.tsx","components/IconCard.tsx","pages/RequestPage/index.tsx","Routes.tsx","AuthMiddleware.tsx","index.tsx"],"names":["Home","Stack","style","height","verticalAlign","horizontalAlign","src","image","alt","width","redirectUri","a","msalInstance","msal","auth","clientId","scopes","loginRedirect","acquireTokenRedirect","isAxiosError","error","api","axios","create","baseURL","process","withCredentials","setTokenToUse","token","headers","defaults","executeRequestFromConfig","config","loginMicrosoft","form","FormData","append","post","then","response","data","getNewTokensByRefreshToken","refresh_token","getCurrentUserData","get","listRequests","startIndex","count","solution","criticality","openedRequests","solvedRequests","myRequests","params","requestId","listAccounts","listRequestEvents","title","description","solutionId","criticalityId","code","body","internalId","internalID","value","mail","name","text","accountID","serviceRequestID","setToWaitingForCustomer","AccountID","ServiceRequestID","ResponseText","SetToWaitingForCustomer","console","log","eventId","files","i","file","deleteAttachment","attachmentId","delete","catch","userId","put","eventRequestChangeSolvedStatus","isSolved","eventRequestChangeClosedStatus","isClosed","contextProps","updateTokens","updateUser","logOff","AuthContext","createContext","dialogContentProps","subText","content","type","DialogType","largeHeader","closeButtonAriaLabel","DialogComponent","button1","button2","errorBar","props","Dialog","DialogFooter","access_token_key","refresh_token_key","isAuthenticated","localStorage","getItem","storeTokens","access_token","setItem","getRefreshToken","nullDate","formatPageCount","totalResults","parseInt","toString","isApiError","undefined","message","CustomMessageBar","onDismiss","Layer","MessageBar","delayedRender","messageBarType","dismissButtonAriaLabel","LoginPage","history","useHistory","useContext","useState","statusMessage","setStatusMessage","showErrorMessage","useCallback","MessageBarType","closeStatusMessage","useBoolean","isRequesting","requestStart","setTrue","requestFinished","setFalse","handleAxiosError","err","accessToken","ext_expires_in","user","push","onClickLogin","getIdToken","window","location","href","error_catch","useEffect","hashParts","hash","slice","split","find","item","startsWith","handleLogin","getToken","origin","pathname","LoginDialog","hidden","Text","variant","Spinner","PrimaryButton","disabled","onClick","headerRigth","minWidth","maxWidth","HorizontalNav","userData","React","contentClass","setContentClass","whiteText","setWhiteText","theme","getTheme","mergeStyles","backgroundColor","palette","blue","color","white","semanticColors","primaryButtonText","horizontal","className","Item","padding","tokens","childrenGap","fullName","IconButton","iconProps","iconName","VerticalNav","navLinkGroups","classNames","setClassNames","scrollablePaneStyles","setScrollablePaneStyles","verticalNav","setVerticalNav","root","pane","mergeStyleSets","wrapper","position","maxHeight","sticky","neutralDark","fontSize","borderTop","black","borderBottom","textContent","bodyDivider","ScrollablePane","scrollContainerFocus","scrollContainerAriaLabel","styles","Nav","onRenderGroupHeader","groups","onLinkClick","ev","link","preventDefault","links","isExpanded","url","display","alignItems","justifyContent","versedLogo","ContentContainer","overflow","stackStyles","container","verticalContainer","verticalNavContainer","CustomNav","commomRoutes","key","customerManagerRoutes","valueSize","fundoAzul","background","themePrimary","boxShadow","effects","elevation16","CustomCard","infoText","Label","TaskCards","dashboardData","setDashboardData","getDashboardData","amountRequestsSolved","amountRequestsPending","Date","contractPeriod","toLocaleDateString","solutions","CommomDataContext","NewRequestPanel","isOpen","onSuccess","criticalityOptions","setCriticalityOptions","solutionOptions","setSolutionOptions","setTitle","setDescription","solutionSelected","setSolutionSelected","criticalitySelected","setCriticalitySelected","submit","option","registerCustomerRequest","alert","options","map","Panel","isLightDismiss","isFooterAtBottom","headerText","PanelType","large","TextField","label","maxLength","onChange","multiline","size","rows","Dropdown","selectedKey","Separator","DefaultButton","defaultPagination","index","pageCount","openedRequestsDropdownOptions","solvedRequestsDropdownOptions","ListTasks","items","setItems","pagination","setPagination","newRequestPanelIsOpen","openNewRequestPanel","closeNewRequestPanel","filterOptions","setFilterOptions","onPageChange","hanldeOnSuccessNewRequest","handleTakeRequest","request","takeRequest","columns","fieldName","isResizable","onRender","requester","insertedTime","replace","engineer","resolutionTime","isEnginner","isConsultant","CommandBarButton","splice","p","_items","marginTop","align","isCustomer","CommandBar","ariaLabel","primaryGroupAriaLabel","farItemsGroupAriaLabel","defaultSelectedKey","Toggle","cheacked","DetailsList","selectionMode","SelectionMode","none","Pagination","selectedPageIndex","firstPageIconProps","previousPageIconProps","nextPageIconProps","lastPageIconProps","Tasks","marginLeft","CommomDataMiddleware","children","setCriticality","setSolutions","listCriticality","listAvaliableSolutions","Provider","NewAccountPanel","setName","setMail","registerNewAccount","onRenderFooter","AccountsPage","newAccountPanelIsOpen","openNewAccountPanel","closeNewAccountPanel","hanldeOnSuccessNewAccount","setText","isChecked","SetisChecked","trim","registerNewEvent","inlineLabel","checked","dialogStyles","main","normal","DeleteDialog","modalProps","isBlocking","changeSolvedStatus","requestID","er","panelState","marginBottom","stackTokens","stackStyle","border","InputFile","accept","multiple","iconNameEmpty","fileWasOpened","setFileWasOpened","htmlFor","FontIcon","id","target","length","cancelIcon","iconButtonStyles","marginRight","rootHovered","contentStyles","flexFlow","header","fonts","xLarge","flex","neutralPrimary","fontWeight","FontWeights","semibold","overflowY","selectors","margin","getModalStyleTheme","AttachmentModal","onSuccessUpdateFiles","onSuccessDeleteFile","event","handleDeleteAttachment","requestEventID","attachmentID","requestResponse","Link","download","handleAddAttachment","addAttachment","attachments","Modal","containerClassName","checkboxVisibility","CheckboxVisibility","onHover","changeClosedStatus","EventsDetailsDialog","accountName","responseText","IconCard","CustomLabel","labelText","dataText","separatorStyles","top","RequestPage","useLocation","setRequestId","dialogIsOpen","openDialog","closeDialog","solvedStatusDialogIsOpen","openSolvedStatusDialog","closeSolvedStatusDialog","attachmentModalIsOpen","openAttachmentModal","closeAttachmentModal","eventSelectedForAttachmentModal","setEventSelectedForAttachmentModal","closedStatusDialogIsOpen","openClosedStatusDialog","closeClosedStatusDialog","setOpenTasksSelectedItem","setIsSolved","isSolvedBool","setIsSolvedBool","setIsClosed","isClosedBool","setIsClosedBool","requestData","setRequestData","dialogContent","setDialogContent","onSelection","Selection","onSelectionChanged","getSelection","newIndex","getRequest","closedTime","urlParams","urlLastParam","requestIdAsNumber","handleViewAttachments","handleDissmissAttachmentModal","handleSuccessChangeOnAttachment","onClickDetails","Pivot","PivotItem","paddingTop","lastEventTime","toLocaleString","waitingForCustomer","customer","assignedTime","goBack","CommandButton","selection","single","ChangeSolvedStatusDialog","ChangeClosedStatusDialog","initializeIcons","PrivateRoute","sessionStorage","clear","to","Routes","exact","path","component","isCustomerManager","AuthMiddleware","startRequest","finishedRequest","expiredDate","getExpireDate","refreshOnExpire","onExpire","whenDontRefresh","expire","amountRefresh","use_token_in_refresh","interceptors","use","status","now","setUserData","finally","SpinnerSize","ReactDOM","render","document","getElementById"],"mappings":"yNAAe,MAA0B,sC,OCmB1BA,EAVoB,WAE/B,OACI,cAACC,EAAA,EAAD,CAAOC,MAAO,CAACC,OAAQ,QAASC,cAAc,SAASC,gBAAgB,SAAvE,SACI,qBAAKC,IAAKC,EAAOC,IAAI,SAASC,MAAM,W,uHCXzC,WAA0BC,GAA1B,iBAAAC,EAAA,6DACGC,EAAe,IAAIC,IAA0B,CAC/CC,KAAM,CACFC,SAAU,uCACVL,iBAGFM,EAAS,CAAC,aAPb,kBAQIJ,EAAaK,cAAc,CAACD,YARhC,4C,kEAWA,WAAwBN,GAAxB,iBAAAC,EAAA,6DACGC,EAAe,IAAIC,IAA0B,CAC/CC,KAAM,CACFC,SAAU,uCACVL,iBAGFM,EAAS,CAAC,aAPb,kBAQIJ,EAAaM,qBAAqB,CAACF,YARvC,4C,mCCTP,SAASG,EAAaC,GAClB,OAAOA,EAAMD,aAGjB,IAAIE,E,OAAMC,EAAMC,OAAO,CACnBC,QAASC,gCACTC,iBAAiB,IAGd,SAASC,EAAcC,GAC1B,IAAMC,EAAU,CACZ,cAAgB,UAAhB,OAA2BD,IAE/BP,EAAIS,SAASD,QAAUA,EAGpB,SAAeE,EAAtB,kC,4CAAO,WAAwCC,GAAxC,SAAArB,EAAA,+EACIU,EAAIW,IADR,4C,sBA8BA,SAAeC,EAAtB,kC,4CAAO,WAA8BL,GAA9B,iBAAAjB,EAAA,6DACGuB,EAAO,IAAIC,UACZC,OAAO,aAAc,aAC1BF,EAAKE,OAAO,gBAAZ,iBAAuCR,IAHpC,SAIsCP,EAAIgB,KAAK,gBAAiBH,GAAMI,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAJhG,cAIGA,EAJH,yBAKIA,GALJ,4C,sBAQA,SAAeC,EAAtB,kC,4CAAO,WAA0CC,GAA1C,iBAAA/B,EAAA,6DACGuB,EAAO,IAAIC,UACZC,OAAO,aAAc,iBACtBM,GACAR,EAAKE,OAAO,gBAAZ,iBAAuCM,IAJxC,SAKsCrB,EAAIgB,KAAK,gBAAiBH,GAAMI,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QALhG,cAKGA,EALH,yBAMIA,GANJ,4C,sBASA,SAAeG,IAAtB,+B,4CAAO,4BAAAhC,EAAA,sEAEIU,EAAIuB,IAAI,mBACdN,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAHxB,cACGA,EADH,yBAIIA,GAJJ,4C,sBAQA,SAAeK,EAAtB,8C,4CAAO,WAA4BC,EAAqBC,EAAgBC,EAAmBC,EAAsBC,EAA0BC,EAA0BC,GAA9J,iBAAAzC,EAAA,6DACG0C,EAAS,CAAEP,aAAYC,QAAOC,WAAUC,cAAaC,iBAAgBC,iBAAgBC,cADxF,SAGI/B,EAAIuB,IAAI,qBAAsB,CAACS,WACrCf,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAJxB,cAEGA,EAFH,yBAKIA,GALJ,4C,kEASA,WAA0Bc,GAA1B,eAAA3C,EAAA,sEAEIU,EAAIuB,IAAJ,6BAA8BU,IACpChB,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAHxB,cACGA,EADH,yBAIIA,GAJJ,4C,kEAOA,4BAAA7B,EAAA,sEAEIU,EAAIuB,IAAI,mBACdN,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAHxB,cACGA,EADH,yBAIIA,GAJJ,4C,sBAOA,SAAee,EAAtB,oC,4CAAO,WAA4BT,EAAqBC,GAAjD,iBAAApC,EAAA,6DACG0C,EAAS,CAAEP,aAAYC,SAD1B,SAGI1B,EAAIuB,IAAI,cAAe,CAAES,WAC/Bf,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAJxB,cAEGA,EAFH,yBAKIA,GALJ,4C,sBAkBA,SAAegB,EAAtB,sC,4CAAO,WAAiCF,EAAmBR,EAAqBC,GAAzE,iBAAApC,EAAA,6DACG0C,EAAS,CAAEP,aAAYC,SAD1B,SAGI1B,EAAIuB,IAAJ,4BAA6BU,GAAa,CAAED,WAClDf,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAJxB,cAEGA,EAFH,yBAKIA,GALJ,4C,kEAQA,4BAAA7B,EAAA,sEAEIU,EAAIuB,IAAI,gBACdN,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAHxB,cACGA,EADH,yBAIIA,GAJJ,4C,kEAQA,WAAuCiB,EAAeC,EAAqBC,EAAoBC,EAAuBC,GAAtH,iBAAAlD,EAAA,6DACGmD,EAAwC,CAC1CL,QACAC,cACAG,OACAb,SAAU,CACNe,WAAYJ,EACZD,YAAa,IAEjBT,YAAa,CACTe,WAAYJ,EACZF,YAAa,GACbO,MAAO,KAZZ,SAgBI5C,EAAIgB,KAAK,sBAAuByB,GACtCxB,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAjBxB,cAeGA,EAfH,yBAkBIA,GAlBJ,4C,kEAsBA,WAAkC0B,EAAcC,GAAhD,iBAAAxD,EAAA,6DACGmD,EAAwC,CAAEI,OAAMC,QADnD,SAGI9C,EAAIgB,KAAK,cAAeyB,GAC9BxB,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAJxB,cAEGA,EAFH,yBAKIA,GALJ,4C,kEASA,WAAgC4B,EAAcC,EAAmBC,EAA0BC,GAA3F,iBAAA5D,EAAA,6DACGmD,EAAsC,CAAEU,UAAWH,EAAWI,iBAAkBH,EAAkBI,aAAcN,EAAMO,wBAAyBJ,GACrJK,QAAQC,IAAKf,GAFV,SAIIzC,EAAIgB,KAAK,oBAAqByB,GACpCxB,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QALxB,cAGGA,EAHH,yBAMIA,GANJ,4C,kEASA,WAA6BsC,EAAiBC,GAA9C,mBAAApE,EAAA,sDAEH,IAASqE,KADH9C,EAAO,IAAIC,SACH4C,EACJE,EAAOF,EAAMC,GACnB9C,EAAKE,OAAO,QAAS6C,GAJtB,gBAMG5D,EAAIgB,KAAJ,4BAA8ByC,EAA9B,eAAoD5C,GANvD,4C,sBAUA,SAAegD,EAAtB,oC,4CAAO,WAAgCJ,EAAiBK,GAAjD,eAAAxE,EAAA,sEACiBU,EAAI+D,OAAJ,4BAAgCN,EAAhC,uBAAsDK,IACzE7C,MAAK,eACL+C,OAAM,SAACjE,GAAD,OAA4BA,KAHhC,cACGA,EADH,yBAIIA,GAJJ,4C,kEAOA,4BAAAT,EAAA,sEAEIU,EAAIuB,IAAI,iBACdN,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAHxB,cACGA,EADH,yBAIIA,GAJJ,4C,kEAQA,WAA2B8C,EAAgBhC,GAA3C,eAAA3C,EAAA,sEAEIU,EAAIkE,IAAJ,8BAA+BjC,EAA/B,YAA4CgC,GAAU,IAC5DhD,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAHxB,cACGA,EADH,yBAIIA,GAJJ,4C,sBAQA,SAAegD,EAAtB,qC,8CAAO,WAA8ClC,EAAmBmC,GAAjE,eAAA9E,EAAA,sEAEIU,EAAIkE,IAAJ,4BAA6BjC,EAA7B,YAA0CmC,IAChDnD,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAHxB,cACGA,EADH,yBAIIA,GAJJ,4C,sBAQA,SAAekD,GAAtB,qC,8CAAO,WAA8CpC,EAAmBqC,GAAjE,eAAAhF,EAAA,sEAEIU,EAAIkE,IAAJ,2BAA4BjC,EAA5B,YAAyCqC,IAC/CrD,MAAK,SAAAC,GAAQ,OAAIA,EAASC,QAHxB,cACGA,EADH,yBAIIA,GAJJ,4C,sBClNP,IAAMoD,GAA6B,CAC/BC,aAAc,aACdC,WAAY,aACZC,OAAQ,cAIGC,GAFKC,wBAAcL,I,iHCC5BM,GAAqB,SAACzC,GAAuD,IAA1B0C,EAAyB,uDAAP,GACnEC,EAA+B,CACnCC,KAAMC,KAAWC,YACjB9C,QACA0C,UACAK,qBAAsB,SAExB,OAAOJ,GAgCMK,GApBgC,SAAC,GAQzC,IAPLL,EAOI,EAPJA,QACAD,EAMI,EANJA,QACA1C,EAKI,EALJA,MACAiD,EAII,EAJJA,QACAC,EAGI,EAHJA,QACAC,EAEI,EAFJA,SACGC,EACC,mBACJ,OACE,eAACC,GAAA,EAAD,yBAAQZ,mBAAoBA,GAAmBzC,EAAO0C,IAAcU,GAApE,cACGD,GAAYA,IACZR,IACD,eAACW,GAAA,EAAD,WACKL,GAAWA,IACXC,GAAWA,YCzChBK,GAAmB,uBACnBC,GAAoB,wBAGnB,SAASC,KACZ,OAAkD,OAA3CC,aAAaC,QAAQJ,KAA0E,OAA5CG,aAAaC,QAAQH,IAI5E,SAASI,GAAYC,EAAsB5E,GAC9CyE,aAAaI,QAAQP,GAAkBM,GACvCH,aAAaI,QAAQN,GAAmBvE,GASrC,SAAS8E,KACZ,OAAOL,aAAaC,QAAQH,IAGzB,IAAMQ,GAAY,sBAElB,SAASC,GAAgBC,EAAsB5E,GAClD,OAAI4E,EAAe5E,IAAU,EAClB4E,EAAe5E,EACnB6E,UAAUD,EAAe5E,GAAO8E,YAAc,EAGlD,SAASC,GAAW7D,GACvB,YAAyB8D,IAAlB9D,EAAM+D,Q,wBCVFC,GAhB4C,SAAC,GAAgC,IAA/B5B,EAA8B,EAA9BA,KAAM6B,EAAwB,EAAxBA,UAAWF,EAAa,EAAbA,QAE1E,OACI,cAACG,GAAA,EAAD,UACI,cAACC,GAAA,EAAD,CACIC,eAAe,EACfC,eAAgBjC,EAChB6B,UAAWA,EACXK,uBAAuB,SAJ3B,SAMKP,OCyFFQ,GA5F8B,WACzC,IAAIC,EAAUC,cAEd,EAAmCC,qBAAW3C,IAAvCH,EAAP,EAAOA,aAAcC,EAArB,EAAqBA,WAErB,EAA0C8C,qBAA1C,mBAAOC,EAAP,KAAsBC,EAAtB,KAEMC,EAAmBC,uBAAY,SAAChB,GAClCc,EAAiB,CAACd,UAAS3B,KAAM4C,IAAe7H,UACjD,IAEG8H,EAAqBF,uBAAY,WACnCF,OAAiBf,KAClB,IAEH,EAA2EoB,cAAW,GAAtF,mBAAOC,EAAP,YAA+BC,EAA/B,EAAsBC,QAAiCC,EAAvD,EAA6CC,SAE7C,SAASC,EAAiBC,GAClBA,EAAIvI,mBAAiC4G,IAAjB2B,EAAInH,UAA0BuF,GAAW4B,EAAInH,SAASC,MAC1EuG,EAAiBW,EAAInH,SAASC,KAAKwF,SAEnCe,EAAiB,mCAErBQ,IAvB2C,4CA0B/C,WAA2BI,GAA3B,iBAAAhJ,EAAA,6DAEI0I,IAFJ,kBAK4BpH,EAAe0H,GAL3C,cAKc/H,EALd,OAMQiE,EAAajE,EAAM0F,aAAc1F,EAAMc,cAAed,EAAMgI,gBANpE,SAQ2BjH,IAR3B,OAQckH,EARd,OASQ/D,EAAW+D,GAEXpB,EAAQqB,KAAK,KAXrB,kDAaQL,EAAiB,EAAD,IAbxB,2DA1B+C,sBA2C/C,SAASM,IACL,KN1DD,SAAP,mCM2DYC,CAAWC,OAAOC,SAASC,MAC1B9E,OAAM,SAAAqE,GAAG,OAAI9E,QAAQC,IAAI,CAACuF,YAAaV,OAC1C,MAAOA,GACL9E,QAAQC,IAAI,CAAC6E,SAwBrB,OApBAW,qBAAU,WAGN,IAAMC,EAAY7B,EAAQyB,SAASK,KAAKC,MAAM,GAAGC,MAAM,KAGvD,QAAiB1C,IADFuC,EAAUI,MAAK,SAAAC,GAAI,OAAIA,EAAKC,WAAW,eACtD,CAMA,IAAItD,EAAegD,EAAUI,MAAK,SAAAC,GAAI,OAAIA,EAAKC,WAAW,wBACrC7C,IAAjBT,GAjEuC,oCAoEvCuD,CAFAvD,EAAeA,EAAakD,MAAM,SARtC,EN7DD,SAAP,2BM+DYM,CADYb,OAAOC,SAASa,OAAOd,OAAOC,SAASc,aAWxD,IAGC,eAAC/K,EAAA,EAAD,gBACuB8H,IAAlBc,GAA+B,cAAC,GAAD,2BAAsBA,GAAtB,IAAqCX,UAAWgB,KAChF,cAAC+B,GAAD,CACIC,QAAQ,EACR9E,QAAS,kBACL,qCACI,cAAC+E,EAAA,EAAD,CAAMC,QAAQ,aAAd,gEAGChC,GAAgB,cAACiC,EAAA,EAAD,QAGzB5H,MAAM,QACNiD,QAAS,kBAAO,cAAC4E,EAAA,EAAD,CAAeC,SAAUnC,EAAchF,KAAK,QAAQoH,QAASzB,W,kBClGvF0B,GAAmC,CAACC,SAAU,MAAOC,SAAU,OA0CtDC,GAxCO,WAElB,MAA6BjD,qBAAW3C,IAAhC6F,EAAR,EAAQA,SAAU9F,EAAlB,EAAkBA,OAElB,EAAwC+F,IAAMlD,WAA9C,mBAAOmD,EAAP,KAAqBC,EAArB,KACA,EAAkCF,IAAMlD,WAAxC,mBAAOqD,EAAP,KAAkBC,EAAlB,KAeA,OAbAJ,IAAMzB,WAAU,WACZ,IAAM8B,EAAQC,eACdJ,EACIK,aAAY,CACZ,CACIC,gBAAiBH,EAAMI,QAAQC,KAC/BC,MAAON,EAAMI,QAAQG,MACrBvM,OAAQ,SAGhB+L,EAAaG,aAAY,CAAC,CAACI,MAAON,EAAMQ,eAAeC,wBACxD,IAGC,eAAC3M,EAAA,EAAD,CAAO4M,YAAU,EAACC,UAAWf,EAAc3L,cAAc,SAASC,gBAAgB,gBAAlF,UACI,cAACJ,EAAA,EAAM8M,KAAP,CAAY7M,MAAO,CAAC8M,QAAS,IAA7B,SACI,cAAC7B,EAAA,EAAD,CAAMC,QAAQ,SAAS0B,UAAWb,EAAlC,qCAEJ,cAAChM,EAAA,EAAM8M,KAAP,CAAY7M,MAAOuL,GAAnB,SACI,eAACxL,EAAA,EAAD,CAAO4M,YAAU,EAACxM,gBAAgB,MAAMD,cAAc,SAAS6M,OAAQ,CAACD,QAAS,GAAIE,YAAa,IAAlG,UAEQrB,EACA,cAACV,EAAA,EAAD,CAAM2B,UAAWb,EAAjB,SAA8BJ,EAASsB,WAEvC,cAAChC,EAAA,EAAD,CAAM2B,UAAWb,EAAjB,4CAEJ,cAACmB,GAAA,EAAD,CAAYN,UAAWb,EAAWoB,UAAW,CAACC,SAAU,WAAY9B,QAASzF,a,oBCvClF,OAA0B,uCCoG1BwH,GApFK,SAAC,GAAwC,IAAvCC,EAAsC,EAAtCA,cAClB,EAAoC5E,qBAApC,mBAAO6E,EAAP,KAAmBC,EAAnB,KACA,EAAwD9E,qBAAxD,mBAAO+E,EAAP,KAA6BC,EAA7B,KACA,EAAsC9B,IAAMlD,WAA5C,mBAAOiF,EAAP,KAAoBC,EAApB,KACIrF,EAAUC,cAwDd,OAzCA2B,qBAAU,WAEFuD,EADAH,EACwB,CAAEM,KAAMN,EAAWO,WAEnBjG,KAE7B,CAAC0F,IAEJpD,qBAAU,WACN,IAAM8B,EAAQC,eACdsB,EAAcO,aAAe,CACzBC,QAAS,CACP/N,OAAQ,MACRgO,SAAU,WACVC,UAAW,WAEbJ,KAAM,CACJrC,SAAU,KAEZ0C,OAAQ,CACN5B,MAAON,EAAMI,QAAQ+B,YACrBtB,QAAS,oBACTuB,SAAU,OACVC,UAAW,aAAerC,EAAMI,QAAQkC,MACxCC,aAAc,aAAevC,EAAMI,QAAQkC,OAE7CE,YAAa,CACX3B,QAAS,gBAIfc,EACIzB,aAAY,CACZ,CACII,MAAON,EAAMI,QAAQkC,MACrBnC,gBAAiBH,EAAMQ,eAAeiC,YACtCnO,MAAO,YAGhB,IAGC,eAACR,EAAA,EAAD,CAAOG,cAAc,gBAAgB0M,UAAWe,EAAaZ,OAAQ,CAACD,QAAS,IAA/E,eAEuBjF,IAAf0F,EACA,qBAAKX,UAAWW,EAAWS,QAA3B,SACI,cAACW,GAAA,EAAD,CACIC,sBAAsB,EACtBC,yBAAyB,2BACzBC,OAAQrB,EAHZ,SAKI,cAACsB,GAAA,EAAD,CAAKC,oBAAqB,kBAAM,MAAMC,OAAQ3B,EAAe4B,YAhEjF,SAAsCC,EAA2DC,GACzFD,GACAA,EAAGE,iBACHD,IAEKA,EAAKE,MAGNF,EAAKG,YAAcH,EAAKG,WAFxBhH,EAAQqB,KAAKwF,EAAKI,aA8DlB,KAEJ,qBAAKxP,MAAO,CAACyP,QAAS,OAAQC,WAAY,SAAUC,eAAgB,UAApE,SACI,qBAAKvP,IAAKwP,GAAYtP,IAAI,cAAcC,MAAM,MAAMN,OAAO,eC3E5D4P,GAXU,SAAC,GAAwC,IAAvC3J,EAAsC,EAAtCA,QAEvB,OACI,cAACnG,EAAA,EAAM8M,KAAP,CAAYiC,OAAQ,CAACjB,KAAM,CAACtN,MAAO,QAASwM,OAAQ,CAACD,QAAS,IAA9D,SACI,qBAAK9M,MAAO,CAACC,OAAQ,MAAOiO,UAAW,OAAQ4B,SAAU,QAAzD,SACK5J,SCCX6J,GAIF,CACAC,UAAW,CAACzP,MAAO,OAAQN,OAAQ,QACnCgQ,kBAAmB,CAAC1P,MAAO,OAAQN,OAAQ,OAC3CiQ,qBAAsB,CAAC3P,MAAO,OAAQN,OAAQ,SClBnCkQ,ODqBA,SAAmBxJ,GAE9B,OACI,eAAC5G,EAAA,EAAD,CAAOC,MAAO+P,GAAYC,UAA1B,UACI,cAAC,GAAD,IACA,eAACjQ,EAAA,EAAD,CAAO4M,YAAU,EAAC3M,MAAO+P,GAAYE,kBAArC,UACI,cAAC,GAAD,CAAa3C,cAAe3G,EAAM2G,gBAClC,cAAC,GAAD,CAAkBpH,QAASS,EAAMT,iBE5BpCkK,GAAgC,CACzC,CACInM,KAAM,OACNqL,MAAO,CACH,CACIrL,KAAM,OACNuL,IAAK,GACLa,IAAK,WAET,CACIpM,KAAM,kBACNuL,IAAK,SACLa,IAAK,YAMRC,GAAyC,CAClD,CACIrM,KAAM,OACNqL,MAAO,CACH,CACIrL,KAAM,OACNuL,IAAK,GACLa,IAAK,WAET,CACIpM,KAAM,kBACNuL,IAAK,SACLa,IAAK,SAGT,CACIpM,KAAM,WACNuL,IAAK,YACLa,IAAK,Y,SC9BfpE,GAAQC,eAERH,GAA2B,CAC/BQ,MAAON,GAAMQ,eAAeC,kBAC5B2B,SAAU,IAGNkC,GAAwB,2BACzBxE,IADyB,IAE5BsC,SAAU,KAGNmC,GAA2B,CAC/BC,WAAYxE,GAAMI,QAAQqE,aAC1BC,UAAW1E,GAAM2E,QAAQC,aAWZC,GARgC,SAAC,GAAuB,IAAtBC,EAAqB,EAArBA,SAAUhN,EAAW,EAAXA,MACzD,OACE,eAAChE,EAAA,EAAD,CAAOC,MAAOwQ,GAAWrQ,gBAAgB,SAASD,cAAc,SAAS6M,OAAQ,CAACC,YAAa,EAAGF,QAAS,IAAKF,UAAU,aAA1H,UACE,cAACoE,GAAA,EAAD,CAAOhR,MAAO+L,GAAd,SAA2BgF,IAC3B,cAACC,GAAA,EAAD,CAAOhR,MAAOuQ,GAAd,SAA2BxM,QCalBkN,GA/B8B,WACzC,IAAQtF,EAAalD,qBAAW3C,IAAxB6F,SACR,EAA0CjD,qBAA1C,mBAAOwI,EAAP,KAAsBC,EAAtB,KASA,OAPAhH,qBAAU,gBACWtC,IAAb8D,Gd6KL,WAAP,+Bc3KQyF,GACChP,KAAK+O,KACP,CAACxF,IAGA,cAAC5L,EAAA,EAAD,CAAO4M,YAAU,EAACI,OAAQ,CAACC,YAAa,IAAxC,cAE0BnF,IAAlBqJ,GACA,qCACI,cAACnR,EAAA,EAAM8M,KAAP,CAAY7M,MAAO,CAACO,MAAO,OAA3B,SACI,cAAC,GAAD,CAAYwD,MAAOmN,EAAcG,qBAAsBN,SAAS,aAEpE,cAAChR,EAAA,EAAM8M,KAAP,CAAY7M,MAAO,CAACO,MAAO,OAA3B,SACI,cAAC,GAAD,CAAYwD,MAAOmN,EAAcI,sBAAuBP,SAAS,cAErE,cAAChR,EAAA,EAAM8M,KAAP,CAAY7M,MAAO,CAACO,MAAO,OAA3B,SACI,cAAC,GAAD,CAAYwD,MAAQ,IAAIwN,KAAKL,EAAcM,gBAAiBC,qBAAsBV,SAAS,0B,kGC/B7GrL,GAAmC,CACrC3C,YAAa,GACb2O,UAAW,IAIAC,GAFW5L,wBAAcL,IC+IzBkM,GAvI0C,SAAC,GAAoC,IAAnCC,EAAkC,EAAlCA,OAAQ7J,EAA0B,EAA1BA,UAAW8J,EAAe,EAAfA,UAE1E,EAAmCrJ,qBAAWkJ,IAAtC5O,EAAR,EAAQA,YAAa2O,EAArB,EAAqBA,UAGrB,GAFqBjJ,qBAAW3C,IAAxB6F,SAE4CjD,mBAA0C,KAA9F,mBAAOqJ,EAAP,KAA2BC,EAA3B,KACA,EAA8CtJ,mBAA2C,IAAzF,mBAAOuJ,EAAP,KAAwBC,EAAxB,KAEA,EAA0BxJ,qBAA1B,mBAAOnF,EAAP,KAAc4O,EAAd,KACA,EAAsCzJ,qBAAtC,mBAAOlF,EAAP,KAAoB4O,EAApB,KAEA,EAAgD1J,qBAAhD,mBAAO2J,EAAP,KAAyBC,EAAzB,KACA,EAAsD5J,qBAAtD,mBAAO6J,EAAP,KAA4BC,EAA5B,KAEMC,EAAS3J,uBAAY,WAGvB,QAAcjB,IAAVtE,EAIJ,QAAoBsE,IAAhBrE,EAIJ,QAAyBqE,IAArBwK,EAIJ,QAA4BxK,IAAxB0K,EAAJ,CAKA,IAAMzP,EAAWmP,EAAgBzH,MAAK,SAAAkI,GAAM,OAAIA,EAAOrC,MAAQgC,KAC/D,QAAiBxK,IAAb/E,QAA4C+E,IAAlB/E,EAASR,KAAvC,CAIA,IAAMmB,EAAaX,EAASR,KAAKuB,WAE3Bd,EAAcgP,EAAmBvH,MAAK,SAAAkI,GAAM,OAAIA,EAAOrC,MAAQkC,KACrE,QAAoB1K,IAAhB9E,QAAkD8E,IAArB9E,EAAYT,KAA7C,CAIA,IAAMoB,EAAgBX,EAAYT,KAAKwB,YhBuExC,SAAP,2CgBtEQ6O,CAAwBpP,EAAOC,EAAaC,EAAYC,GACvDtB,MAAK,SAAAC,GACEyP,GACAA,EAAUzP,MAEjB8C,OAAM,WACHyN,MAAM,2FAVNA,MAAM,gDAPNA,MAAM,6CANNA,MAAM,sDAJNA,MAAM,uCAJNA,MAAM,oCAJNA,MAAM,2BAqCX,CAACrP,EAAOC,EAAa+O,EAAqBF,EAAkBN,EAAoBE,EAAiBH,IAoCpG,OAlCA3H,qBAAU,WACN,IAAM0I,EAA2C9P,EAAY+P,KAAI,SAAArI,GAAI,MAAK,CACtE4F,IAAK5F,EAAK3G,WACVI,KAAMuG,EAAKjH,YACXlB,KAAMmI,MAEVuH,EAAsBa,KACvB,CAAC9P,IAEJoH,qBAAU,WACN,IAAM0I,EAA4CnB,EAAUoB,KAAI,SAAArI,GAAI,MAAK,CACrE4F,IAAK5F,EAAK5G,WACVK,KAAMuG,EAAKjH,YACXlB,KAAMmI,MAEVyH,EAAmBW,KACpB,CAACnB,IAEJvH,qBAAU,WACD0H,IACDM,OAAStK,GACTuK,OAAevK,GACfyK,OAAoBzK,GACpB2K,OAAuB3K,MAE5B,CAACgK,IAUA,eAACkB,GAAA,EAAD,CACIC,gBAAc,EACdC,kBAAgB,EAChBC,WAAW,sBACXrB,OAAQA,EACR7J,UAAWA,EAEX1B,qBAAqB,QACrBH,KAAMgN,KAAUC,MARpB,UAUI,cAACC,GAAA,EAAD,CAAWC,MAAM,QAAQC,UAAW,IAAKC,SAAU,SAACrE,EAAIjL,GAAL,OAAciO,EAASjO,MAC1E,cAACmP,GAAA,EAAD,CAAWC,MAAM,cAAcG,WAAS,EAACC,KAAM,IAAMC,KAAM,GAAIH,SAAU,SAACrE,EAAIjL,GAAL,OAAckO,EAAelO,MACtG,cAAC0P,GAAA,EAAD,CACIN,MAAM,oBACNT,QAASZ,EACTuB,SAAU,SAACrE,EAAIuD,GACPA,GAAUA,EAAOpQ,KACjBgQ,EAAoBI,EAAOpQ,KAAKuB,YAEhCyO,OAAoBzK,IAE5BgM,YAAaxB,IAEjB,cAACuB,GAAA,EAAD,CACIN,MAAM,cACNT,QAASd,EACTyB,SAAU,SAACrE,EAAIuD,GACPA,GAAUA,EAAOpQ,KACjBkQ,EAAuBE,EAAOpQ,KAAKwB,YAEnC0O,OAAuB3K,IAE/BgM,YAAatB,IAEjB,cAACuB,GAAA,EAAD,IACA,eAAC/T,EAAA,EAAD,CAAO4M,YAAU,EAACxM,gBAAgB,MAAM4M,OAAQ,CAACC,YAAa,GAAIF,QAAS,GAA3E,UACI,cAAC1B,EAAA,EAAD,CAAelH,KAAK,SAASoH,QAASmH,IACtC,cAACsB,GAAA,EAAD,CAAe7P,KAAK,SAASoH,QAAStD,W,oBC9HhDgM,GAAsC,CACxCC,MAAO,EACPpR,MAAO,EACP4E,aAAc,EACdyM,UAAW,GAGTC,GAAwE,CAC1E,CACI9D,IAAK,IACLnM,KAAM,UAEV,CACImM,IAAK,IACLnM,KAAM,SACN5B,MAAM,GAEV,CACI+N,IAAK,IACLnM,KAAM,SACN5B,MAAM,IAGR8R,GAAmD,CACrD,CACI/D,IAAK,IACLnM,KAAM,UAEV,CACImM,IAAK,IACLnM,KAAM,SACN5B,MAAM,GAEV,CACI+N,IAAK,IACLnM,KAAM,aACN5B,MAAM,IAgXC+R,GA5W8B,WACzC,IAAI9L,EAAUC,cACNmD,EAAalD,qBAAW3C,IAAxB6F,SACR,EAA0BjD,mBAAyB,IAAnD,mBAAO4L,EAAP,KAAcC,EAAd,KACA,EAAoC7L,mBAA2BsL,IAA/D,mBAAOQ,EAAP,KAAmBC,EAAnB,KACA,EAAgGxL,cAAW,GAA3G,mBAAOyL,EAAP,YAAwCC,EAAxC,EAA+BvL,QAAwCwL,EAAvE,EAA6DtL,SAE7D,EAAmCb,qBAAWkJ,IAAtC5O,EAAR,EAAQA,YAAa2O,EAArB,EAAqBA,UAErB,EAA0ChJ,mBAMvC,IANH,mBAAOmM,EAAP,KAAsBC,EAAtB,KAQA,EAAoDpM,mBAA0C,IAA9F,mBAAOqJ,EAAP,KAA2BC,EAA3B,KACA,EAA8CtJ,mBAA2C,IAAzF,mBAAOuJ,EAAP,KAAwBC,EAAxB,KAEM6C,EAAejM,uBAAwD,SAACmL,GAG1EtR,EAFgBsR,EAAQO,EAAW3R,MAAS,EAErB2R,EAAW3R,MAAOgS,EAAc/R,SAAU+R,EAAc9R,YAAa8R,EAAc7R,eAAgB6R,EAAc5R,eAAgB4R,EAAc3R,YACrKd,MAAK,SAAAC,GAEFkS,EAASlS,EAASC,MAGdD,EAASoF,eAAiB+M,EAAW/M,aAErCgN,EAAc,2BAAID,GAAL,IAAiBP,QAAOxM,aAAcpF,EAASoF,aAAcyM,UAAW1M,GAAgBnF,EAASoF,aAAcpF,EAASQ,UAGrI4R,EAAc,2BAAID,GAAL,IAAiBP,gBAEvC,CAACO,EAAYK,IAEVG,EAA4BlM,uBAA0D,WAExFiM,EAAaf,GAAkBC,OAC/BW,MACD,CAACG,EAAcH,IAEZK,EAAoBnM,uBAAY,SAACoM,QAClBrN,IAAb8D,IAEJjH,QAAQC,IAAI,CAAC,oBAAqBuQ,IjB4FnC,SAAP,oCiB3FQC,CAAYxJ,EAAS9H,WAAYqR,EAAQrR,YACxCzB,MAAK,WACF2S,EAAaf,GAAkBC,UAElC9O,OAAM,WACHyN,MAAM,uEAEX,CAACjH,EAAUoJ,IAERK,EAAqB,CACvB,CACI/E,IAAK,SACLpM,KAAM,eACNuH,SAAU,GACVC,SAAU,IACV4J,UAAW,OACXC,aAAa,GAEjB,CACIjF,IAAK,QACLpM,KAAM,QACNuH,SAAU,IACV6J,UAAW,QACXC,aAAa,GAEjB,CACIjF,IAAK,QACLpM,KAAM,YACNuH,SAAU,IACVC,SAAU,IACV8J,SAAU,SAAC9K,GACP,GAAIA,EACA,OAAQ,cAACQ,EAAA,EAAD,UAAOR,EAAK+K,UAAUvR,SAG1C,CACIoM,IAAK,SACLpM,KAAM,eACNuH,SAAU,IACVC,SAAU,IACV6J,aAAa,EACbC,SAAU,SAAC9K,GACP,GAAIA,EACA,OAAQ,cAACQ,EAAA,EAAD,UAAOR,EAAKgL,aAAaC,QAAQ,IAAI,SAGzD,CACIrF,IAAK,QACLpM,KAAM,WACNuH,SAAU,IACVC,SAAU,IACV4J,UAAW,YAEf,CACIhF,IAAK,SACLpM,KAAM,cACNuH,SAAU,IACVC,SAAU,IACV8J,SAAU,SAAC9K,GACP,GAAIA,EACA,OAAQ,cAACQ,EAAA,EAAD,UAAOR,EAAK1H,YAAYS,gBAG5C,CACI6M,IAAK,QACLpM,KAAM,oBACNuH,SAAU,IACVC,SAAU,IACV8J,SAAU,SAAC9K,GACP,GAAIA,EACA,OAAQ,cAACQ,EAAA,EAAD,UAAOR,EAAK3H,SAASU,gBAGzC,CACI6M,IAAK,QACLpM,KAAM,WACNuH,SAAU,IACVC,SAAU,IACV8J,SAAU,SAAC9K,GACP,YAAa5C,IAAT4C,GAAmD,IAA7BA,EAAKkL,SAAS9R,WAC5B,cAACoH,EAAA,EAAD,UAAOR,EAAKkL,SAAS1R,OAErB,cAACgH,EAAA,EAAD,oBAGpB,CACIoF,IAAK,QACLpM,KAAM,cACNuH,SAAU,GACV8J,aAAa,EACbC,SAAU,SAAC9K,GACP,QAAa5C,IAAT4C,EACA,OAAQ,cAACQ,EAAA,EAAD,UAAQR,EAAKmL,gBAAkBrO,GAAWkD,EAAKmL,eAAeF,QAAQ,IAAK,KAAO,OAItG,CACIrF,IAAK,QACLpM,KAAM,UACNuH,SAAU,IACV+J,SAAU,SAAC9K,GACP,QAAa5C,IAAT4C,QAAmC5C,IAAb8D,EACtB,OACI,eAAC5L,EAAA,EAAD,CAAO4M,YAAU,EAAjB,UAEsC,IAA7BlC,EAAKkL,SAAS9R,aAAqB8H,EAASkK,YAAclK,EAASmK,eACpE,cAACC,GAAA,EAAD,CACInJ,UAAU,uBACVO,UAAW,CAACC,SAAU,aACtBlJ,KAAK,eACLX,MAAM,eACN+H,QAAS,kBAAM2J,EAAkBxK,MAGzC,cAACsL,GAAA,EAAD,CACInJ,UAAU,uBACVO,UAAW,CAACC,SAAU,eACtBlJ,KAAK,cACLX,MAAM,cACN+H,QAAS,kBAAM/C,EAAQqB,KAAR,mBAAyBa,EAAK5G,sBASzEsG,qBAAU,WACN,IAAM0I,EAA2C9P,EAAY+P,KAAI,SAAArI,GAAI,MAAK,CACtE4F,IAAK5F,EAAK3G,WACVI,KAAMuG,EAAKjH,YACXlB,KAAMmI,MAEVoI,EAAQmD,OAAO,EAAG,EAAG,CACjB3F,IAAK,EACLnM,KAAM,SACN5B,KAAM,CACFwB,WAAY,EACZN,YAAa,GACbO,MAAO,MAGfiO,EAAsBa,KACvB,CAAC9P,IAEJoH,qBAAU,WACN,IAAM0I,EAA4CnB,EAAUoB,KAAI,SAAArI,GAAI,MAAK,CACrE4F,IAAK5F,EAAK5G,WACVK,KAAMuG,EAAKjH,YACXlB,KAAMmI,MAEVoI,EAAQmD,OAAO,EAAG,EAAG,CACjB3F,IAAK,EACLnM,KAAM,SACN5B,KAAM,CACFuB,WAAY,EACZL,YAAa,MAGrB0O,EAAmBW,KACpB,CAACnB,IAEJvH,qBAAU,gBACWtC,IAAb8D,GAEJhJ,EAAaqR,GAAkBC,MAAOD,GAAkBnR,MAAOgS,EAAc/R,SAAU+R,EAAc9R,YAAa8R,EAAc7R,eAAgB6R,EAAc5R,eAAgB4R,EAAc3R,YAC3Ld,MAAK,SAAAC,GACFkS,EAASlS,EAASC,MAClBmS,GAAc,SAACwB,GAAD,mBAAC,eAAWA,GAAZ,IAAexO,aAAcpF,EAASoF,aAAcyM,UAAW1M,GAAgBnF,EAASoF,aAAcpF,EAASQ,iBAElI,CAAC8I,EAAUkJ,IAGd,IAAMqB,EAAiC,CACnC,CACE7F,IAAK,MACLnM,KAAM,cACNiJ,UAAW,CAAEC,SAAU,gBACvB9B,QAASqJ,IAIf,OACI,eAAC5U,EAAA,EAAD,CAAQC,MAAO,CAAEmW,UAAU,GAAKpJ,OAAQ,CAACC,YAAa,GAAtD,eAEqBnF,IAAb8D,GACA,cAAC5L,EAAA,EAAM8M,KAAP,CAAYuJ,MAAM,QAAQpW,MAAO,CAAEmW,UAAU,GAA7C,SAEQxK,EAAS0K,YACL,cAACC,GAAA,EAAD,CACIhC,MAAO4B,EACPK,UAAU,gBACVC,sBAAsB,gBACtBC,uBAAuB,mBAK3C,eAAC1W,EAAA,EAAD,CAAO4M,YAAU,EAACI,OAAQ,CAACC,YAAa,IAAxC,UACI,cAACjN,EAAA,EAAM8M,KAAP,CAAY7M,MAAO,CAACO,MAAO,OAA3B,SACI,cAACqT,GAAA,EAAD,CACIN,MAAM,oBACNT,QAASZ,EACTyE,mBAAoB,EACpBlD,SAAU,SAACrE,EAAIuD,QAEI7K,IAAX6K,QAAwC7K,IAAhB6K,EAAOpQ,MADlB,IACwCoQ,EAAOrC,IAC5DyE,EAAiB,2BAAID,GAAL,IAAoB/R,SAAU4P,EAAOpQ,KAAKuB,cAE1DiR,EAAiB,CACb/R,YAAa8R,EAAc9R,YAC3BE,eAAgB4R,EAAc5R,eAC9BD,eAAgB6R,EAAc7R,eAC9BE,WAAY2R,EAAc3R,kBAK9C,cAACnD,EAAA,EAAM8M,KAAP,CAAY7M,MAAO,CAACO,MAAO,OAA3B,SACI,cAACqT,GAAA,EAAD,CACIN,MAAM,cACNT,QAASd,EACT2E,mBAAoB,EACpBlD,SAAU,SAACrE,EAAIuD,QAEI7K,IAAX6K,QAAwC7K,IAAhB6K,EAAOpQ,MADlB,IACwCoQ,EAAOrC,IAC5DyE,EAAiB,2BAAID,GAAL,IAAoB9R,YAAa2P,EAAOpQ,KAAKwB,cAE7DgR,EAAiB,CACbhS,SAAU+R,EAAc/R,SACxBG,eAAgB4R,EAAc5R,eAC9BD,eAAgB6R,EAAc7R,eAC9BE,WAAY2R,EAAc3R,kBAK9C,cAACnD,EAAA,EAAM8M,KAAP,CAAY7M,MAAO,CAACO,MAAO,OAA3B,SACI,cAACqT,GAAA,EAAD,CACIN,MAAM,SACNT,QAASsB,GACTuC,mBAAmB,IACnBlD,SAAU,SAACrE,EAAIuD,QAEI7K,IAAX6K,QAAwC7K,IAAhB6K,EAAOpQ,MADlB,MACwCoQ,EAAOrC,IAC5DyE,EAAiB,2BAAID,GAAL,IAAoB7R,eAAgB0P,EAAOpQ,QAE3DwS,EAAiB,CACbhS,SAAU+R,EAAc/R,SACxBG,eAAgB4R,EAAc5R,eAC9BF,YAAa8R,EAAc9R,YAC3BG,WAAY2R,EAAc3R,kBAK9C,cAACnD,EAAA,EAAM8M,KAAP,CAAY7M,MAAO,CAACO,MAAO,OAA3B,SACI,cAACqT,GAAA,EAAD,CACIN,MAAM,kBACNT,QAASuB,GACTsC,mBAAmB,IACnBlD,SAAU,SAACrE,EAAIuD,QAEI7K,IAAX6K,QAAwC7K,IAAhB6K,EAAOpQ,MADlB,MACwCoQ,EAAOrC,IAC5DyE,EAAiB,2BAAID,GAAL,IAAoB5R,eAAgByP,EAAOpQ,QAE3DwS,EAAiB,CACbhS,SAAU+R,EAAc/R,SACxBE,eAAgB6R,EAAc7R,eAC9BD,YAAa8R,EAAc9R,YAC3BG,WAAY2R,EAAc3R,kBAK9C,cAACnD,EAAA,EAAM8M,KAAP,UACI,cAAC8J,GAAA,EAAD,CACIrD,MAAM,cACNE,SAAU,SAACrE,EAAIyH,GAEP9B,EADA8B,EACiB,2BAAI/B,GAAL,IAAoB3R,WAAY0T,IAE/B,CACb9T,SAAU+R,EAAc/R,SACxBE,eAAgB6R,EAAc7R,eAC9BD,YAAa8R,EAAc9R,YAC3BE,eAAgB4R,EAAc5R,yBAMtD,cAAC4T,GAAA,EAAD,CACIC,cAAeC,KAAcC,KAC7B5B,QAASA,EACTd,MAAOA,IAEX,cAACvU,EAAA,EAAM8M,KAAP,CAAYuJ,MAAM,SAAlB,SACI,cAACa,GAAA,EAAD,CACIC,kBAAmB1C,EAAWP,MAC9BC,UAAWM,EAAWN,UACtBa,aAAcA,EACdoC,mBAAoB,CAAE/J,SAAU,qBAChCgK,sBAAuB,CAAEhK,SAAU,eACnCiK,kBAAmB,CAAEjK,SAAU,gBAC/BkK,kBAAmB,CAAElK,SAAU,0BAIvC,cAAC,GAAD,CAAiByE,OAAQ6C,EAAuB1M,UAAW4M,EAAsB9C,UAAWkD,QCvYzFuC,GAfsB,WAEjC,OACI,eAACxX,EAAA,EAAD,CAAOgN,OAAQ,CAACC,YAAa,IAA7B,UACI,cAAC/B,EAAA,EAAD,CAAMC,QAAQ,UAAd,6BACA,cAAC4I,GAAA,EAAD,IACA,cAAC/T,EAAA,EAAD,CAAOC,MAAO,CAACwX,WAAY,OAA3B,SACI,cAAC,GAAD,MAEJ,cAAC1D,GAAA,EAAD,IACA,cAAC,GAAD,Q,UCmBG2D,GA7BoD,SAAC,GAAgB,IAAfC,EAAc,EAAdA,SACzD/L,EAAalD,qBAAW3C,IAAxB6F,SAER,EAAsCjD,mBAA4C,IAAlF,mBAAO3F,EAAP,KAAoB4U,EAApB,KACA,EAAkCjP,mBAA0C,IAA5E,mBAAOgJ,EAAP,KAAkBkG,EAAlB,KAeA,OAbAzN,qBAAU,gBACWtC,IAAb8D,InB0EL,WAAP,+BmBxEQkM,GACCzV,MAAK,SAAAC,GACFsV,EAAetV,EAASC,SnBuG7B,WAAP,+BmBrGQwV,GACC1V,MAAK,SAAAC,GACFuV,EAAavV,EAASC,YAE3B,CAACqJ,IAGA,cAAC,GAAkBoM,SAAnB,CAA4BhU,MAAQ,CAChChB,cACA2O,aAFJ,SAIKgG,KC0BEM,GAjD0C,SAAC,GAAoC,IAAnCnG,EAAkC,EAAlCA,OAAQ7J,EAA0B,EAA1BA,UAAW8J,EAAe,EAAfA,UAE1E,EAAwBpJ,qBAAxB,mBAAOzE,EAAP,KAAagU,EAAb,KACA,EAAwBvP,qBAAxB,mBAAO1E,EAAP,KAAakU,EAAb,KAEMzF,EAAS3J,uBAAY,gBAEVjB,IAAT5D,OAIS4D,IAAT7D,EpBoIL,SAAP,oCoB/HQmU,CAAmBnU,EAAMC,GACxB7B,MAAK,SAAAC,GACEyP,GACAA,EAAUzP,MAEjB8C,OAAM,WACHyN,MAAM,qFAVNA,MAAM,wBAJNA,MAAM,0BAgBX,CAAC3O,EAAMD,EAAM8N,IAShB,OACI,eAACiB,GAAA,EAAD,CACIC,gBAAc,EACdC,kBAAgB,EAChBC,WAAW,uBACXrB,OAAQA,EACR7J,UAAWA,EACXoQ,eAdY,kBAChB,eAACrY,EAAA,EAAD,CAAO4M,YAAU,EAACI,OAAQ,CAACC,YAAa,GAAIF,QAAS,GAArD,UACI,cAAC1B,EAAA,EAAD,CAAelH,KAAK,WAAWoH,QAASmH,IACxC,cAACsB,GAAA,EAAD,CAAe7P,KAAK,SAASoH,QAAStD,QAYtC1B,qBAAqB,QAPzB,UASI,cAAC+M,GAAA,EAAD,CAAWC,MAAM,OAAOE,SAAU,SAACrE,EAAIjL,GAAL,OAAc+T,EAAQ/T,MACxD,cAACmP,GAAA,EAAD,CAAWC,MAAM,OAAOE,SAAU,SAACrE,EAAIjL,GAAL,OAAcgU,EAAQhU,UCxC9D8P,GAAsC,CACxCC,MAAO,EACPpR,MAAO,EACP4E,aAAc,EACdyM,UAAW,GAiGAmE,GA9FoC,WAC/C,MAA0B3P,mBAA6B,IAAvD,mBAAO4L,EAAP,KAAcC,EAAd,KACA,EAAgGtL,cAAW,GAA3G,mBAAOqP,EAAP,YAAwCC,EAAxC,EAA+BnP,QAAwCoP,EAAvE,EAA6DlP,SACrDqC,EAAalD,qBAAW3C,IAAxB6F,SAER,EAAoCjD,mBAA2BsL,IAA/D,mBAAOQ,EAAP,KAAmBC,EAAnB,KAEMM,EAAejM,uBAAwD,SAACmL,GAG1E5Q,EAFgB4Q,EAAQO,EAAW3R,MAAS,EAErB2R,EAAW3R,OACjCT,MAAK,SAAAC,GAEFkS,EAASlS,EAASC,MAGdD,EAASoF,eAAiB+M,EAAW/M,aAErCgN,EAAc,2BAAID,GAAL,IAAiBP,QAAOxM,aAAcpF,EAASoF,aAAcyM,UAAW1M,GAAgBnF,EAASoF,aAAcpF,EAASQ,UAGrI4R,EAAc,2BAAID,GAAL,IAAiBP,gBAEvC,CAACO,IAEEiE,EAA4B3P,uBAA0D,WAExFiM,EAAaf,GAAkBC,OAC/BuE,MACD,CAACzD,EAAcyD,IAoClB,OAXArO,qBAAU,gBACWtC,IAAb8D,GAEJtI,EAAa2Q,GAAkBC,MAAOD,GAAkBnR,OACvDT,MAAK,SAAAC,GACFkS,EAASlS,EAASC,MAClBmS,GAAc,SAACwB,GAAD,mBAAC,eAAWA,GAAZ,IAAexO,aAAcpF,EAASoF,aAAcyM,UAAW1M,GAAgBnF,EAASoF,aAAcpF,EAASQ,eAEhIsC,MAAMT,QAAQxD,SAChB,CAACyK,IAGA,eAAC5L,EAAA,EAAD,CAAOgN,OAAQ,CAACC,YAAa,IAA7B,UACI,cAAC/B,EAAA,EAAD,CAAMC,QAAQ,cAAd,sBACA,cAACnL,EAAA,EAAD,CAAO4M,YAAU,EAAjB,SACI,cAACvB,EAAA,EAAD,CAAelH,KAAK,yBAAyBoH,QAASiN,MAE1D,cAAC1B,GAAA,EAAD,CACIvC,MAAOA,EACPc,QA1Ce,CACvB,CACI/E,IAAK,QACLpM,KAAM,OACNuH,SAAU,IACVC,SAAU,IACV4J,UAAW,QAEf,CACIhF,IAAK,QACLpM,KAAM,OACNuH,SAAU,IACVC,SAAU,IACV4J,UAAW,QAEf,CACIhF,IAAK,QACLpM,KAAM,SACNuH,SAAU,IACV6J,UAAW,aAwBPyB,cAAeC,KAAcC,OAEjC,cAACjX,EAAA,EAAM8M,KAAP,CAAYuJ,MAAM,MAAlB,SACI,cAACa,GAAA,EAAD,CACIC,kBAAmB1C,EAAWP,MAC9BC,UAAWM,EAAWN,UACtBa,aAAcA,EACdoC,mBAAoB,CAAE/J,SAAU,qBAChCgK,sBAAuB,CAAEhK,SAAU,eACnCiK,kBAAmB,CAAEjK,SAAU,gBAC/BkK,kBAAmB,CAAElK,SAAU,0BAIvC,cAAC,GAAD,CAAiByE,OAAQyG,EAAuBtQ,UAAWwQ,EAAsB1G,UAAW2G,Q,6BCrBzFT,GA3E0C,SAAC,GAA+C,IAA9CnG,EAA6C,EAA7CA,OAAQ7J,EAAqC,EAArCA,UAAW8J,EAA0B,EAA1BA,UAAW1O,EAAe,EAAfA,UAE7EuI,EAAalD,qBAAW3C,IAAxB6F,SAER,EAAwBjD,qBAAxB,mBAAOxE,EAAP,KAAawU,EAAb,KACA,EAAkChQ,wBAA8Bb,IAAX8D,IAAyBA,EAASkK,YAAclK,EAASmK,eAA9G,mBAAO6C,EAAP,KAAkBC,EAAlB,KAIMnG,EAAS3J,uBAAY,gBAEVjB,IAAT3D,GAAqC,IAAfA,EAAK2U,OtB0IhC,SAAP,wCsBpIQC,CAAiB5U,GAAc,OAARyH,QAAQ,IAARA,OAAA,EAAAA,EAAU9H,YAAa8H,EAAS9H,YAAc,EAAGT,EAAWuV,GAClFvW,MAAK,SAAAC,GACEyP,GACAA,EAAUzP,MAEjB8C,OAAM,WACHyN,MAAM,qFAXNA,MAAM,0BAaX,CAAC1O,EAAM4N,IAcV,OAZA3H,qBAAU,WACD0H,GACD6G,OAAQ7Q,KACb,CAACgK,IAUA,eAACkB,GAAA,EAAD,CACIC,gBAAc,EACdC,kBAAgB,EAChBC,WAAW,qBACXrB,OAAQA,EACR7J,UAAWA,EAEX1B,qBAAqB,QACrBH,KAAMgN,KAAUC,MARpB,UAUI,cAACC,GAAA,EAAD,CAAWC,MAAM,QAAQG,WAAS,EAACE,KAAM,GAAIH,SAAU,SAACrE,EAAIjL,GAAL,OAAcwU,EAAQxU,WAE7D2D,IAAX8D,IAAyBA,EAASkK,YAAclK,EAASmK,eAEtD,cAACa,GAAA,EAAD,CAAQoC,aAAa,EACbzF,MAAM,8BACN0F,QAASL,EACTnF,SAAU,SAACrE,EAAIyH,GAEPgC,IADAhC,MAQxB,cAAC9C,GAAA,EAAD,IACA,eAAC/T,EAAA,EAAD,CAAO4M,YAAU,EAACxM,gBAAgB,MAAM4M,OAAQ,CAACC,YAAa,GAAIF,QAAS,GAA3E,UACI,cAAC1B,EAAA,EAAD,CAAelH,KAAK,WAAWoH,QAASmH,IACxC,cAACsB,GAAA,EAAD,CAAe7P,KAAK,SAASoH,QAAStD,WC3EhDiR,GAAe,CAAEC,KAAM,CAAEzN,SAAU,MASnCzF,GAAqB,CACvBG,KAAMC,KAAW+S,OACjB5V,MAAO,iBACP+C,qBAAsB,SAsDX8S,GAnDM,SAACzS,GAElB,IAAM0S,EAAa,CAAEC,YAAY,EAAOxK,OAAQmK,IAG1C1Q,EAAUC,cAGV+Q,EAAkB,uCAAG,sBAAA9Y,EAAA,sEAEjB6E,EAA+BqB,EAAM6S,WAAY7S,EAAMpB,UAC5DnD,MAAK,SAACC,GAEHkG,EAAQqB,KAAK,UACbgJ,MAAM,eAAD,OAAgBjM,EAAMpB,SAAW,WAAa,SAA9C,mBAERJ,OAAM,SAACsU,GACJ7G,MAAM,yBACNlO,QAAQC,IAAI,CAAC8U,UAVM,OAavB9S,EAAMqB,YAbiB,2CAAH,qDAgBxB,OACQ,mCACI,eAACpB,GAAA,EAAD,CACIoE,QAASrE,EAAM+S,WACf1R,UAAWrB,EAAMqB,UACjBhC,mBAAoBA,GACpBqT,WAAYA,EAJhB,UAMI,cAACtZ,EAAA,EAAD,CAAOC,MAAO,CAAC2Z,aAAc,IAA7B,SACI,eAAC1O,EAAA,EAAD,uCAAgCtE,EAAMpB,SAAW,SAAW,OAA5D,iCAGJ,eAACsB,GAAA,EAAD,WACI,cAACuE,EAAA,EAAD,CAAeE,QAAS,kBAAMiO,KAAsBrV,KAAK,YACzD,cAAC6P,GAAA,EAAD,CAAezI,QAQnC,WACI3E,EAAMqB,aATgD9D,KAAK,oB,8BC/C7D0V,I,OAA4B,CAC9B9M,QAAS,IAGP+M,GAA2B,CAC7BhM,KAAM,CACFiM,OAAQ,sBA2CDC,GAvCG,SAAC,GAA6E,IAA5EvG,EAA2E,EAA3EA,SAAUtP,EAAiE,EAAjEA,KAAM8V,EAA2D,EAA3DA,OAAQC,EAAmD,EAAnDA,SAAU7M,EAAyC,EAAzCA,SAAU8M,EAA+B,EAA/BA,cAE5D,EAA0CtO,YAAe,GAAzD,mBAAOuO,EAAP,KAAsBC,EAAtB,KACA,EAAmCxO,WAAyB,IAA5D,6BAkBA,OACI,eAAC7L,EAAA,EAAD,CAAO+O,OAAQ+K,GAAY9M,OAAQ6M,GAAnC,UACI,cAAC5I,GAAA,EAAD,CAAOqJ,QAAQ,UAAf,SACI,eAACta,EAAA,EAAD,CAAO4M,YAAU,EAACI,OAAQ,CAACC,YAAa,GAAxC,UACK9I,EAEGiW,EACA/M,GAAY,cAACkN,GAAA,EAAD,CAAUlN,SAAUA,IAEhC8M,GAAiB,cAACI,GAAA,EAAD,CAAUlN,SAAU8M,SAIjD,uBAAOK,GAAG,UAAUpU,KAAK,OAAO8T,SAAUA,EAAUzG,SA7Bc,SAACrE,GACvEzK,QAAQC,IAAI,CAAC,SAAYwK,IACzB,IAAItK,EAAgB,GACpB,GAAIsK,EAAGqL,QAAUrL,EAAGqL,OAAO3V,MAAO,CAC9B,GAAIsK,EAAGqL,OAAO3V,MAAM4V,OAAS,EACzB,IAAK,IAAIxG,EAAQ,EAAGA,EAAQ9E,EAAGqL,OAAO3V,MAAM4V,OAAQxG,IAAS,CACzD,IAAMlP,EAAOoK,EAAGqL,OAAO3V,MAAMoP,GAC7BpP,EAAM+E,KAAK7E,GAGnBqV,EAAiBjL,EAAGqL,OAAO3V,MAAM4V,OAAS,GAE9CL,EAAiBvV,EAAM4V,OAAS,GAChCjH,EAAS3O,IAgBoEmV,OAAQA,QCzCvFU,GAAyB,CAAEtN,SAAU,UAsD3C,IAAMuN,GAA2C,CAC7C9M,KAAM,CACJ2J,WAAY,OACZrB,UAAW,MACXyE,YAAa,OAEfC,YAAa,CACXtO,MAAOL,eAAWG,QAAQ+B,cAK1B0M,GA7CN,WACI,IAAM7O,EAAQC,eACd,OAAO6B,aAAe,CAClBiC,UAAW,CACXP,QAAS,OACTsL,SAAU,gBACVrL,WAAY,WAEZsL,OAAQ,CACR/O,EAAMgP,MAAMC,OACZ,CACIC,KAAM,WACN7M,UAAU,aAAD,OAAerC,EAAMI,QAAQqE,cACtCnE,MAAON,EAAMI,QAAQ+O,eACrB3L,QAAS,OACTC,WAAY,SACZ2L,WAAYC,KAAYC,SACxBzO,QAAS,wBAGblJ,KAAM,CACNuX,KAAM,WACNrO,QAAS,mBACT0O,UAAW,SACXC,UAAW,CACPxF,EAAG,CAAEyF,OAAQ,UACb,gBAAiB,CAAEvF,UAAW,GAC9B,eAAgB,CAAEwD,aAAc,OAkBtBgC,GAqHPC,GAnHS,SAAC,GAAwG,IAAvG/J,EAAsG,EAAtGA,OAAQ7J,EAA8F,EAA9FA,UAAW6T,EAAmF,EAAnFA,qBAAsBC,EAA6D,EAA7DA,oBAAqBC,EAAwC,EAAxCA,MAAOpS,EAAiC,EAAjCA,KAC3F,EAA0BjB,mBAAwC,IAAlE,mBAAO4L,EAAP,KAAcC,EAAd,KAEMyH,EAAyBlT,sBAAW,uCAAC,WAAO2B,GAAP,eAAAhK,EAAA,8DACzBoH,IAAVkU,EADmC,iEAGT/W,EAAiB+W,EAAME,eAAgBxR,EAAKyR,cAHnC,YAKfrU,KAFlBsU,EAHiC,QAM/BL,GACAA,IAGCK,EAAgBlb,mBAA6C4G,IAA7BsU,EAAgB9Z,UAA0BuF,GAAWuU,EAAgB9Z,SAASC,MACnHsQ,MAAMuJ,EAAgB9Z,SAASC,KAAKwF,SAEpC8K,MAAM,gDAb6B,2CAAD,sDAgBvC,CAACmJ,IAEE3G,EAAqB,CACvB,CACI/E,IAAK,OACL7E,SAAU,IACVvH,KAAM,OACNwH,SAAU,IACV4J,UAAW,eAEf,CACIhF,IAAK,OACL7E,SAAU,IACVvH,KAAM,UACNwH,SAAU,IACV8J,SAAU,SAAC9K,GACP,QAAa5C,IAAT4C,QAAgC5C,IAAVkU,EACtB,OACI,eAAChc,EAAA,EAAD,CAAO4M,YAAU,EAACI,OAAQ,CAACC,YAAa,IAAxC,eAEkBnF,IAAT8B,GAAsBA,IAASoS,EAAM5X,WACtC,cAAC4R,GAAA,EAAD,CACInJ,UAAU,uBACVO,UAAW,CAACC,SAAU,UACtBlJ,KAAK,oBACLX,MAAM,oBACN+H,QAAS,kBAAM0Q,EAAuBvR,MAG9C,cAAC2R,GAAA,EAAD,CACIC,UAAQ,EACRpS,KAAI,UAAK1I,gCAAL,8BAA6Dwa,EAAME,eAAnE,uBAAgGxR,EAAKyR,aAArG,YAAqHzR,EAAKjH,aAFlI,4BAYlB8Y,EAAsBxT,uBAAoC,SAACjE,QAC/CgD,IAAVkU,GzB0BL,SAAP,oCyBvBQQ,CAAcR,EAAME,eAAgBpX,GACnCzC,MAAK,WACFwQ,MAAM,iCACFiJ,GACAA,OAEP1W,OAAM,WACHyN,MAAM,uDAEX,CAACmJ,IAQJ,OANA5R,qBAAU,gBACQtC,IAAVkU,GACAxH,EAASwH,EAAMS,eAEpB,CAACT,IAGA,eAACU,GAAA,EAAD,CACI5K,OAAQA,EACR7J,UAAWA,EACXsR,YAAY,EACZoD,mBAAoB5B,GAAc9K,UAJtC,UAMI,sBAAKpD,UAAWkO,GAAcE,OAA9B,UACI,8CACA,cAAC9N,GAAA,EAAD,CACI4B,OAAQ6L,GACRxN,UAAWuN,GACXnE,UAAU,oBACVjL,QAAStD,OAGjB,sBAAK4E,UAAWkO,GAAclX,KAA9B,eAEmBiE,IAAVkU,QAAgClU,IAAT8B,GAAsBoS,EAAM5X,YAAcwF,GAClE,cAAC5J,EAAA,EAAD,CAAO4M,YAAU,EAACI,OAAQ,CAACC,YAAa,IAAxC,SACI,cAAC,GAAD,CAAW9I,KAAK,cAAc+V,UAAQ,EAACzG,SAAU8I,MAGzD,cAACzF,GAAA,EAAD,CACIC,cAAeC,KAAcC,KAC7B5B,QAAWA,EACXd,MAAOA,EACPqI,mBAAoBC,KAAmBC,iBCzLrD5D,GAAe,CAAEC,KAAM,CAAEzN,SAAU,MASnCzF,GAAqB,CACvBG,KAAMC,KAAW+S,OACjB5V,MAAO,iBACP+C,qBAAsB,SAsDX8S,GAnDM,SAACzS,GAElB,IAAM0S,EAAa,CAAEC,YAAY,EAAOxK,OAAQmK,IAG1C1Q,EAAUC,cAGVsU,EAAkB,uCAAG,sBAAArc,EAAA,sEAEjB+E,GAA+BmB,EAAM6S,WAAY7S,EAAMlB,UAC5DrD,MAAK,SAACC,GAEHkG,EAAQqB,KAAK,UACbgJ,MAAM,eAAD,OAAgBjM,EAAMlB,SAAW,WAAa,SAA9C,SAERN,OAAM,SAACsU,GACJ7G,MAAM,yBACNlO,QAAQC,IAAI,CAAC8U,UAVM,OAavB9S,EAAMqB,YAbiB,2CAAH,qDAgBxB,OACQ,mCACI,eAACpB,GAAA,EAAD,CACIoE,QAASrE,EAAM+S,WACf1R,UAAWrB,EAAMqB,UACjBhC,mBAAoBA,GACpBqT,WAAYA,EAJhB,UAMI,cAACtZ,EAAA,EAAD,CAAOC,MAAO,CAAC2Z,aAAc,IAA7B,SACI,eAAC1O,EAAA,EAAD,uCAAgCtE,EAAMlB,SAAW,UAAY,QAA7D,sBAGJ,eAACoB,GAAA,EAAD,WACI,cAACuE,EAAA,EAAD,CAAeE,QAAS,kBAAMwR,KAAsB5Y,KAAK,YACzD,cAAC6P,GAAA,EAAD,CAAezI,QAQnC,WACI3E,EAAMqB,aATgD9D,KAAK,oBCtBpD6Y,GAxBa,SAAC,GAAqD,IAApDlL,EAAmD,EAAnDA,OAAQ7J,EAA2C,EAA3CA,UAAW+T,EAAgC,EAAhCA,MAEvC/V,EAAqB,CACvBG,KAAMC,KAAW+S,OACjB5V,MAAO,QACP+C,qBAAsB,SAG1B,OACI,eAACM,GAAA,EAAD,CACIiL,OAAQA,EACR7J,UAAWA,EACXhC,mBAAoBA,EAHxB,UAMI,eAACjG,EAAA,EAAD,0BACUgc,QADV,IACUA,OADV,EACUA,EAAOiB,YADjB,IAC8B,uBAD9B,gBAEWjB,QAFX,IAEWA,OAFX,EAEWA,EAAOtG,gBAElB,cAACzE,GAAA,EAAD,iBAAQ+K,QAAR,IAAQA,OAAR,EAAQA,EAAOkB,mB,oBC1BrBhR,GAAQC,eAERH,GAA2B,CAC/BQ,MAAON,GAAMQ,eAAeC,kBAC5B2B,SAAU,IAGNkC,GAAwB,2BACzBxE,IADyB,IAE5BsC,SAAU,KAGNmC,GAA2B,CAC/BC,WAAYxE,GAAMI,QAAQqE,aAC1BC,UAAW1E,GAAM2E,QAAQC,aAWZqM,GAR8B,SAAC,GAAuB,IAAtBnM,EAAqB,EAArBA,SAAUhN,EAAW,EAAXA,MACvD,OACE,eAAChE,EAAA,EAAD,CAAOC,MAAOwQ,GAAWrQ,gBAAgB,SAASD,cAAc,SAAS6M,OAAQ,CAACC,YAAa,EAAGF,QAAS,IAA3G,UACE,cAACkE,GAAA,EAAD,CAAOhR,MAAO+L,GAAd,SAA2BgF,IAC3B,cAACC,GAAA,EAAD,CAAOhR,MAAOuQ,GAAd,SAA2BxM,QCL3BiQ,GAAsC,CACxCC,MAAO,EACPpR,MAAO,EACP4E,aAAc,EACdyM,UAAW,GAQTiJ,GAA2C,SAAC,GAA2B,IAA1BC,EAAyB,EAAzBA,UAAWC,EAAc,EAAdA,SAC1D,OACI,eAACtd,EAAA,EAAD,CAAO4M,YAAU,EAACI,OAAQ,CAACC,YAAa,GAAI9M,cAAc,SAA1D,UACI,cAAC8Q,GAAA,EAAD,UAAQoM,IACR,cAACnS,EAAA,EAAD,UAAOoS,QAKbC,GAAkB,CACpBzP,KAAM,CACJ,CACE6N,OAAQ,EACR5O,QAAS,EACT2O,UAAW,CACT,WAAY,CACV8B,IAAK,YA+UFC,GAtUkC,WAE7C,IAAIxT,EAAWyT,cACXlV,EAAUC,cACNmD,EAAalD,qBAAW3C,IAAxB6F,SACR,EAAkCjD,mBAAS,GAA3C,mBAAOtF,EAAP,KAAkBsa,EAAlB,KAGA,EAAqEzU,cAAW,GAAhF,mBAAO0U,EAAP,YAA+BC,EAA/B,EAAsBxU,QAA+ByU,EAArD,EAA2CvU,SAG3C,EAAgGL,cAAW,GAA3G,mBAAOyL,EAAP,YAAwCC,EAAxC,EAA+BvL,QAAwCwL,EAAvE,EAA6DtL,SAG7D,EAAyGL,cAAW,GAApH,mBAAO6U,EAAP,YAA2CC,EAA3C,EAAkC3U,QAA2C4U,EAA7E,EAAmE1U,SAGnE,EAAgGL,cAAW,GAA3G,mBAAOgV,EAAP,YAAwCC,EAAxC,EAA+B9U,QAAwC+U,EAAvE,EAA6D7U,SAC7D,EAA8EZ,qBAA9E,mBAAO0V,EAAP,KAAwCC,EAAxC,KAEA,EAAyGpV,cAAW,GAApH,mBAAOqV,EAAP,YAA2CC,EAA3C,EAAkCnV,QAA2CoV,EAA7E,EAAmElV,SAGnE,EAA0DZ,qBAA1D,mBAA8B+V,GAA9B,WAEA,EAA0B/V,mBAA2B,IAArD,oBAAO4L,GAAP,MAAcC,GAAd,MAEA,GAAgC7L,qBAAhC,qBAAiBgW,IAAjB,aACA,GAAwChW,oBAAkB,GAA1D,qBAAOiW,GAAP,MAAqBC,GAArB,MAEA,GAAgClW,qBAAhC,qBAAiBmW,IAAjB,aACA,GAAwCnW,oBAAkB,GAA1D,qBAAOoW,GAAP,MAAqBC,GAArB,MAEA,GAAsCrW,qBAAtC,qBAAOsW,GAAP,MAAoBC,GAApB,MAGA,GAA4CvW,qBAA5C,qBAAQwW,GAAR,MAAuBC,GAAvB,MAEA,GAAoCzW,mBAA2BsL,IAA/D,qBAAOQ,GAAP,MAAmBC,GAAnB,MAEM2K,GAAc,IAAIC,KAAU,CAC9BC,mBAAoB,WAChBb,EAAyBW,GAAYG,mBAKvCxK,GAAejM,uBAAwD,SAACmL,GAC1E,IAAIuL,EAAYvL,EAAQO,GAAW3R,MAAS,EAE5CS,EAAkBF,EAAWoc,EAAUhL,GAAW3R,OACjDT,MAAK,SAAAC,GAEFkS,GAASlS,EAASC,MAGdD,EAASoF,eAAiB+M,GAAW/M,aAErCgN,GAAc,2BAAID,IAAL,IAAiBP,QAAOxM,aAAcpF,EAASoF,aAAcyM,UAAW1M,GAAgBnF,EAASoF,aAAcpF,EAASQ,UAGrI4R,GAAc,2BAAID,IAAL,IAAiBP,gBAEvC,CAACO,KAEEQ,GAA4BlM,uBAA0D,WAExFiM,GAAaf,GAAkBC,OAC/BW,MACD,CAACG,GAAcH,IAGlBzK,qBAAU,WACY,IAAd/G,I7BlDL,SAAP,kC6BoDQqc,CAAWrc,GACVhB,MAAK,SAAAC,GACF4c,GAAe5c,GACfqc,GAAYrc,EAASuT,iBAAmBrO,GAAWlF,EAASuT,eAAiB,IAC7EiJ,GAAYxc,EAASqd,aAAenY,GAAWlF,EAASqd,WAAa,IAElErd,EAASuT,iBAAmBrO,GAC3BqX,IAAgB,GAEhBA,IAAgB,GAIjBvc,EAASqd,aAAenY,GACvBwX,IAAgB,GAEhBA,IAAgB,MAIxBzb,EAAkBF,EAAWoR,GAAWP,MAAOO,GAAW3R,OACzDT,MAAK,SAAAC,GACFkS,GAASlS,EAASC,MAClBmS,IAAc,SAACwB,GAAD,mBAAC,eAAWA,GAAZ,IAAexO,aAAcpF,EAASoF,aAAcyM,UAAW1M,GAAgBnF,EAASoF,aAAcpF,EAASQ,kBAGlI,CAACO,IAGJ+G,qBAAU,WAEN,IAAMwV,EAAY3V,EAASc,SAASP,MAAM,KAEpCqV,EAAeD,EAAUA,EAAUlF,OAAS,GAElD,IAEI,IAAMoF,EAA4BnY,SAASkY,GAC3ClC,EAAamC,GACf,aAGH,CAAC7V,IAEJ,IAAM8V,GAAwBhX,uBAAY,SAAC2B,GACvC4T,EAAmC5T,GACnCyT,MACD,IAEG6B,GAAgCjX,uBAAY,WAC9CuV,OAAmCxW,GACnCsW,MACD,IAEG6B,GAAkClX,uBAAY,WAChDiX,KACAhL,GAAaP,GAAWP,SACzB,CAACO,KASEY,GAAqB,CACvB,CACI/E,IAAK,OACL7E,SAAU,IACVvH,KAAM,MACNqR,aAAa,EACbD,UAAW,cACX5J,SAAU,KAEd,CACI4E,IAAK,OACL7E,SAAU,IACVvH,KAAM,UACNqR,aAAa,EACbD,UAAW,eACX5J,SAAU,KAEd,CACI4E,IAAK,OACL7E,SAAU,IACVvH,KAAM,aACNqR,aAAa,EACbD,UAAW,eACX5J,SAAU,KAEd,CACI4E,IAAK,OACL7E,SAAU,IACVvH,KAAM,UACNqR,aAAa,EACbC,SAAU,SAAC9K,GACP,GAAIA,EACA,OACI,eAAC1K,EAAA,EAAD,CAAO4M,YAAU,EAAjB,UACI,cAACoJ,GAAA,EAAD,CACInJ,UAAU,uBACVO,UAAW,CAACC,SAAU,eACtBlJ,KAAI,4BAAuBuG,EAAK+R,YAAY/B,OAAxC,KACJlX,MAAK,4BAAuBkH,EAAK+R,YAAY/B,OAAxC,KACLnP,QAAS,kBAAMwU,GAAsBrV,MAGzC,cAACsL,GAAA,EAAD,CACInJ,UAAU,uBACVO,UAAW,CAACC,SAAU,QACtBlJ,KAAK,UACLX,MAAM,UACN+H,QAAS,kBAtDd,SAACb,GACpBmT,IAEAuB,GAAiB1U,GAmDsBwV,CAAexV,YAQ1D,OACI,cAAC1K,EAAA,EAAD,CAAOgN,OAAQ,CAACC,YAAa,IAA7B,SAEI,eAACjN,EAAA,EAAD,CAAOgN,OAAQ,CAACC,YAAa,IAAKhN,MAAO,CAACmW,UAAW,IAArD,UAEA,eAACpW,EAAA,EAAD,gBAGoB8H,IAAhBmX,IACA,eAACjf,EAAA,EAAD,CAAOgN,OAAQ,CAACC,YAAa,GAA7B,UACI,cAAC/B,EAAA,EAAD,CAAMC,QAAQ,UAAd,SAAyB8T,GAAYzb,QAErC,cAAC2c,GAAA,EAAD,CAAO,aAAW,sBAAlB,SACI,cAACC,GAAA,EAAD,CAAWjN,WAAW,WAAWlT,MAAO,CAACogB,WAAW,IAApD,SACA,eAACrgB,EAAA,EAAD,CAAO4M,YAAU,EAACI,OAAQ,CAACC,YAAa,IAAxC,UACI,cAACjN,EAAA,EAAD,CAAOC,MAAO,CAACO,MAAM,OAArB,SACI,cAAC0K,EAAA,EAAD,CAAMC,QAAQ,SAAd,SAAwB8T,GAAYxb,gBAExC,cAACzD,EAAA,EAAD,CAAOC,MAAO,CAACO,MAAM,OAArB,SACI,eAACR,EAAA,EAAD,CAAO4M,YAAU,EAACxM,gBAAgB,MAAM4M,OAAQ,CAACC,YAAa,IAA9D,UACI,cAACjN,EAAA,EAAM8M,KAAP,UACI,cAAC,GAAD,CAAU9I,MAAOib,GAAYqB,gBAAkB9Y,GAAY,IAAIgK,KAAKyN,GAAYqB,eAAgBC,iBAAmB,IAAKvP,SAAS,kBAErI,cAAChR,EAAA,EAAM8M,KAAP,UACI,cAAC,GAAD,CAAU9I,MAAOib,GAAYuB,qBAAuBhZ,GAAW,uBAAyB,uBAAwBwJ,SAAS,yBAQ7I,cAAC+C,GAAA,EAAD,CAAYhF,OAAQwO,KACpB,eAACvd,EAAA,EAAD,CAAO4M,YAAU,EAACI,OAAQ,CAACC,YAAa,IAAxC,UACI,eAACjN,EAAA,EAAD,WACI,cAAC,GAAD,CAAaqd,UAAU,eAAeC,SAAU2B,GAAYjc,YAAYS,cACxE,cAAC,GAAD,CAAa4Z,UAAU,oBAAoBC,SAAU2B,GAAYlc,SAASU,cAC1E,cAAC,GAAD,CAAa4Z,UAAU,WAAWC,SAAW,IAAI9L,KAAKyN,GAAYvJ,cAAe6K,sBAErF,eAACvgB,EAAA,EAAD,CAAOC,MAAO,CAACwX,WAAY,OAA3B,UACI,cAAC,GAAD,CAAa4F,UAAU,YAAYC,SAAU2B,GAAYwB,WACzD,cAAC,GAAD,CAAapD,UAAU,aAAaC,SAAU2B,GAAYxJ,UAAUvR,OACpE,cAAC,GAAD,CAAamZ,UAAU,YAAYC,SAAU2B,GAAYrJ,SAAS1R,UAEtE,eAAClE,EAAA,EAAD,CAAOC,MAAO,CAACwX,WAAY,OAA3B,UACI,cAAC,GAAD,CAAa4F,UAAU,YAAYC,SAAkE,sBAAvD,IAAI9L,KAAKyN,GAAYyB,cAAeH,iBAAwC,IAAI/O,KAAKyN,GAAYyB,cAAeH,iBAAiB,MAC/K,cAAC,GAAD,CAAalD,UAAU,UAAUC,SAAgE,sBAArD,IAAI9L,KAAKyN,GAAYU,YAAaY,iBAAwC,IAAI/O,KAAKyN,GAAYyB,cAAeH,iBAAiB,MAC3K,cAAC,GAAD,CAAalD,UAAU,UAAUC,SAAoE,sBAAzD,IAAI9L,KAAKyN,GAAYpJ,gBAAiB0K,iBAAwC,IAAI/O,KAAKyN,GAAYyB,cAAeH,iBAAiB,SAEnL,cAACvgB,EAAA,EAAD,CAAOC,MAAO,CAACwX,WAAY,eASvC,cAAC1D,GAAA,EAAD,CAAYhF,OAAQwO,UAECzV,IAAb8D,GACI,eAAC5L,EAAA,EAAD,CAAO4M,YAAU,EAACI,OAAQ,CAACC,YAAa,GAAxC,UACI,cAACE,GAAA,EAAD,CAAYC,UAAW,CAACC,SAAU,QAAS9B,QAAS,kBAAM/C,EAAQmY,UAAU1gB,MAAO,CAACmW,UAAW,EAAGyE,YAAa,MAC/G,cAAC+F,GAAA,EAAD,CAAezc,KAAK,YAAYiJ,UAAW,CAACC,SAAU,OAAQ9B,QAASqJ,IAInEhJ,EAAS0K,aACHyI,GAIF,cAAC6B,GAAA,EAAD,CAAezc,KAAK,kBAAkBiJ,UAAW,CAACC,SAAU,eAAgB9B,QAASiT,IAFrF,cAACoC,GAAA,EAAD,CAAezc,KAAK,gBAAgBiJ,UAAW,CAACC,SAAU,WAAY9B,QAASiT,MAMlF5S,EAASkK,YAAclK,EAASmK,gBAE3B6I,GAIF,cAACgC,GAAA,EAAD,CAAezc,KAAK,mBAAmBiJ,UAAW,CAACC,SAAU,WAAY9B,QAASyS,IAFlF,cAAC4C,GAAA,EAAD,CAAezc,KAAK,iBAAiBiJ,UAAW,CAACC,SAAU,QAAS9B,QAASyS,QAQ7F,cAAClH,GAAA,EAAD,CACIzB,QAAWA,GACXd,MAAOA,GACPqI,mBAAoBC,KAAmBC,QACvC+D,UAAWxB,GACXtI,cAAeC,KAAc8J,SAGjC,cAAC9gB,EAAA,EAAM8M,KAAP,CAAYuJ,MAAM,SAAlB,SACI,cAACa,GAAA,EAAD,CACIC,kBAAmB1C,GAAWP,MAC9BC,UAAWM,GAAWN,UACtBa,aAAcA,GACdoC,mBAAoB,CAAE/J,SAAU,qBAChCgK,sBAAuB,CAAEhK,SAAU,eACnCiK,kBAAmB,CAAEjK,SAAU,gBAC/BkK,kBAAmB,CAAElK,SAAU,6BAM3C,cAAC,GAAD,CAAiBhK,UAAWA,EAAWyO,OAAQ6C,EAAuB1M,UAAW4M,EAAsB9C,UAAWkD,KAClH,cAAC8L,GAAD,CAA0BtH,UAAWpW,EAAWmC,SAAUoZ,GAAcjF,WAAYoE,EAA0B9V,UAAWgW,IACzH,cAAC,GAAD,CACIlC,oBAAqBkE,GACrBrW,KAAMgC,EAAWA,EAAS9H,gBAAagE,EACvCgK,OAAQoM,EACRlC,MAAOqC,EACPvC,qBAAsBmE,GACtBhY,UAAW+X,KAEf,cAACgB,GAAD,CAA0BvH,UAAWpW,EAAWqC,SAAUqZ,GAAcpF,WAAY4E,EAA0BtW,UAAWwW,IACzH,cAAC,GAAD,CAAqB3M,OAAQ8L,EAAc3V,UAAW6V,EAAa9B,MAAOmD,WCrW1F8B,eAEA,IAAMC,GAAqC,SAAC,GAAkB,IAAbta,EAAY,oBAEzD,OADaK,KAML,cAAC,IAAD,eAAWL,KAJfua,eAAeC,QACfla,aAAaka,QACL,cAAC,IAAD,CAAUC,GAAG,aAmCdC,GA9BwB,WAEnC,IAAQ1V,EAAalD,qBAAW3C,IAAxB6F,SAER,OACI,eAAC,IAAD,WACI,cAAC,IAAD,CAAO2V,OAAK,EAACC,KAAK,SAASC,UAAWlZ,KACtC,cAAC,GAAD,UACI,cAAC,GAAD,CACIpC,QAAS,kBACL,qCACI,eAAC,GAAD,CAAcob,OAAK,EAACC,KAAK,IAAzB,cAA+B,cAAC,EAAD,IAA/B,YAEiB1Z,IAAb8D,GACA,qCACI,eAAC,GAAD,CAAc4V,KAAK,WAAnB,cAAgC,cAAC,GAAD,IAAhC,OACA,eAAC,GAAD,CAAcD,OAAK,EAACC,KAAK,SAAzB,cAAoC,cAAC,GAAD,IAApC,OACC5V,EAAS8V,mBAAqB,eAAC,GAAD,CAAcH,OAAK,EAACC,KAAK,YAAzB,cAAuC,cAAC,GAAD,IAAvC,cAK/CjU,mBAA4BzF,IAAb8D,GAA0BA,EAAS8V,kBAAoBnR,GAAwBF,W,2BCkDnGsR,GA5FwC,SAAC,GAAgB,IAAfhK,EAAc,EAAdA,SACjDnP,EAAUC,cACd,EAA6ES,cAAW,GAAxF,mBAAOC,EAAP,YAAgCyY,EAAhC,EAAuBvY,QAAiCwY,EAAxD,EAA8CtY,SACxC3D,EACN,SAACyB,EAAc5E,EAAeqf,GAC1BpgB,EAAc2F,GAEdD,GAAYC,EAAc5E,GAE1B,I/BGJsf,EACAC,EACAC,EACAC,E+BNQC,EAAS,IAAI3Q,KAAKsQ,GAElBM,EAAgB,E/BCxBL,E+BCQ,kBAAMI,G/BAdH,E+BCQ,kBAAMI,EAAgB,G/BA9BH,E+BFiB,uCAGT,WAAOlgB,GAAP,iBAAArB,EAAA,6DACI0hB,IACIC,EAAuB9a,WAAqBO,EAFpD,SAG2BtF,EAA2B6f,GAHtD,cAGU/f,EAHV,OAII6f,EAAS,IAAI3Q,KAAKlP,EAASqH,gBAC3BjI,EAAcY,EAAS+E,cACvBD,GAAY9E,EAAS+E,aAAc/E,EAASG,eAC5CV,EAAOH,QAAP,2BACOG,EAAOH,SADd,IAEI,cAAgB,UAAhB,OAA2BU,EAAS+E,gBAExC+a,IAXJ,kBAYWtgB,EAAyBC,IAZpC,4CAHS,sD/BGjBmgB,E+BcQpc,E/BZR1E,EAAIkhB,aAAahgB,SAASigB,SAAIza,EAA9B,+BAAApH,EAAA,MACI,WAAOS,GAAP,iBAAAT,EAAA,0DACQQ,EAAaC,GADrB,yBAE+B2G,IAAnB3G,EAAMmB,UAAoD,MAA1BnB,EAAMmB,SAASkgB,OAF3D,oBAGgBC,EAAM,IAAIjR,KACR2Q,EAASJ,MAEXU,GAAON,GANvB,qBAOoBH,IAPpB,iCAQiCC,EAAS9gB,EAAMY,QARhD,qDAS6C+F,IAApBoa,GACLA,IAVpB,cAcU/gB,EAdV,4CADJ,wD+BiBA,EAAgCwH,qBAAhC,mBAAOiD,EAAP,KAAiB8W,EAAjB,KAOM5c,EAASiD,uBAAoC,WAC/CpE,QAAQC,IAAI,cACZsC,aAAaka,QACbD,eAAeC,QACfsB,OAAY5a,GACZU,EAAQqB,KAAK,YACd,CAACrB,IAyBJ,OAvBA4B,qBAAU,WAEN,GAAInD,KAAmB,CACnB,IAAMxE,EAAgB8E,KAEA,OAAlB9E,IACAmf,IACApf,EAA2BC,GAC1BJ,KADD,uCACM,WAAMC,GAAN,SAAA5B,EAAA,6DAEFkF,EAAatD,EAAS+E,aAAc/E,EAASG,cAAeH,EAASqH,gBAFnE,SAIIjH,IAAqBL,KAAKqgB,GAJ9B,2CADN,uDAOCtd,OAAM,WACHT,QAAQC,IAAI,yCACZkB,OAEH6c,QAAQd,OAGlB,CAAC/b,IAGA,cAAC,GAAYkS,SAAb,CAAsBhU,MAAQ,CAC1B4B,eACAC,WAtCR,SAACtD,GACGmgB,EAAYngB,IAsCRqJ,WACA9F,UAJJ,SAOQqD,EACA,eAACnJ,EAAA,EAAD,CAAOC,MAAO,CAACC,OAAQ,QAASC,cAAc,SAASC,gBAAgB,SAAS4M,OAAQ,CAACC,YAAa,IAAtG,UACI,cAAC7B,EAAA,EAAD,CAASuI,KAAMiP,KAAYvP,QAC3B,cAACnI,EAAA,EAAD,4BAGJyM,KC5FhBkL,IAASC,OACL,cAAC,KAAD,UACI,cAAC,GAAD,UACI,cAAC,GAAD,QAGVC,SAASC,eAAe,W","file":"static/js/main.bbb657d4.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/homeimage.436bc668.svg\";","import React from 'react';\r\nimport { Stack } from '@fluentui/react';\r\n\r\nimport image from '../../assets/homeimage.svg';\r\n\r\nexport interface IHomeProps {\r\n\r\n}\r\n\r\nconst Home: React.FC = () => {\r\n\r\n return(\r\n \r\n \"ESS4FS\" \r\n \r\n\r\n )\r\n}\r\n\r\nexport default Home;","import * as msal from 'msal';\r\n\r\nexport async function getIdToken(redirectUri: string) {\r\n const msalInstance = new msal.UserAgentApplication({\r\n auth: {\r\n clientId: '59ae25e4-7dff-413c-8346-af3c95669728',\r\n redirectUri\r\n }\r\n });\r\n const scopes = ['User.Read'];\r\n return msalInstance.loginRedirect({scopes});\r\n}\r\n\r\nexport async function getToken(redirectUri: string) {\r\n const msalInstance = new msal.UserAgentApplication({\r\n auth: {\r\n clientId: '59ae25e4-7dff-413c-8346-af3c95669728',\r\n redirectUri\r\n }\r\n });\r\n const scopes = ['User.Read'];\r\n return msalInstance.acquireTokenRedirect({scopes});\r\n}","import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from \"axios\";\r\nimport * as responses from './../interfaces';\r\nimport { IAuthToken } from \"./../interfaces\";\r\n\r\nfunction isAxiosError(error: any): error is AxiosError {\r\n return error.isAxiosError;\r\n}\r\n\r\nlet api = axios.create({\r\n baseURL: process.env.REACT_APP_API_BASE_URL,\r\n withCredentials: true\r\n});\r\n\r\nexport function setTokenToUse(token: string) {\r\n const headers = {\r\n \"Authorization\": `Bearer ${token}`\r\n };\r\n api.defaults.headers = headers;\r\n}\r\n\r\nexport async function executeRequestFromConfig(config: AxiosRequestConfig) {\r\n return api(config);\r\n}\r\n\r\nexport function setAuthConfig(\r\n getExpireDate: () => Date, \r\n refreshOnExpire: () => boolean, \r\n onExpire: (config: AxiosRequestConfig) => Promise>, \r\n whenDontRefresh?: () => any\r\n) {\r\n api.interceptors.response.use(undefined, \r\n async (error: any) => {\r\n if (isAxiosError(error)) {\r\n if (error.response !== undefined && error.response.status === 401) {\r\n let now = new Date();\r\n const expire = getExpireDate();\r\n // se ja passou da hora em q o token expira\r\n if (now >= expire) {\r\n if (refreshOnExpire())\r\n return await onExpire(error.config);\r\n else if (whenDontRefresh !== undefined)\r\n whenDontRefresh();\r\n }\r\n }\r\n }\r\n throw error;\r\n }\r\n );\r\n}\r\n\r\nexport async function loginMicrosoft(token: string) {\r\n const form = new FormData();\r\n form.append(\"grant_type\", \"microsoft\");\r\n form.append(\"client_secret\", `Bearer ${token}`);\r\n const data: responses.IAuthToken = await api.post(\"api/Login/jwt\", form).then(response => response.data )\r\n return data;\r\n}\r\n\r\nexport async function getNewTokensByRefreshToken(refresh_token?: string) {\r\n const form = new FormData();\r\n form.append(\"grant_type\", \"refresh_token\");\r\n if (refresh_token)\r\n form.append(\"refresh_token\", `Bearer ${refresh_token}`);\r\n const data: responses.IAuthToken = await api.post(\"api/Login/jwt\", form).then(response => response.data )\r\n return data;\r\n}\r\n\r\nexport async function getCurrentUserData() {\r\n const data: responses.ICurrentUserData = \r\n await api.get(\"api/CurrentUser\")\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\n// lsita os requests relcionados com o usuario\r\nexport async function listRequests(startIndex?: number, count?: number, solution?: number, criticality?: number, openedRequests?: boolean, solvedRequests?: boolean, myRequests?: boolean) {\r\n const params = { startIndex, count, solution, criticality, openedRequests, solvedRequests, myRequests };\r\n const data: responses.IGenericList = \r\n await api.get(\"api/ServiceRequest\", {params})\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\n// lsita os requests relcionados com o usuario\r\nexport async function getRequest(requestId: number) {\r\n const data: responses.IRequestData = \r\n await api.get(`api/ServiceRequest/${requestId}`)\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\nexport async function listCriticality() {\r\n const data: responses.IGenericList = \r\n await api.get(\"api/Criticality\")\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\nexport async function listAccounts(startIndex?: number, count?: number) {\r\n const params = { startIndex, count };\r\n const data: responses.IGenericList = \r\n await api.get(\"api/Account\", { params })\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\n// pro Engenheiro ver os chamados dos clientes\r\nexport async function listCustomersRequests(startIndex?: number, count?: number) {\r\n const params = { startIndex, count };\r\n const data: responses.IGenericList = \r\n await api.get(\"api/EngineerRequest\", { params })\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\n// lista os eventos do request\r\nexport async function listRequestEvents(requestId: number, startIndex?: number, count?: number) {\r\n const params = { startIndex, count };\r\n const data: responses.IGenericList = \r\n await api.get(`api/EventsRequest/${requestId}`, { params })\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\nexport async function listAvaliableSolutions() {\r\n const data: responses.IGenericList = \r\n await api.get(\"api/Solution\")\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\n// pro customer registrar seus requests\r\nexport async function registerCustomerRequest(title: string, description: string, solutionId: number, criticalityId: number, code?: string) {\r\n const body: Partial = { \r\n title, \r\n description, \r\n code,\r\n solution: {\r\n internalId: solutionId,\r\n description: \"\"\r\n },\r\n criticality: {\r\n internalID: criticalityId,\r\n description: \"\",\r\n value: \"\"\r\n }\r\n };\r\n const data: responses.IRequestData = \r\n await api.post(\"api/CustomerRequest\", body)\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\n// pro customer registrar novas contas\r\nexport async function registerNewAccount(mail: string, name: string) {\r\n const body: Partial = { mail, name };\r\n const data: responses.IFullAccountData = \r\n await api.post(\"api/Account\", body)\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\n// pro customer registrar novas contas\r\nexport async function registerNewEvent(text: string, accountID: number, serviceRequestID: number, setToWaitingForCustomer: boolean) {\r\n const body: Partial = { AccountID: accountID, ServiceRequestID: serviceRequestID, ResponseText: text, SetToWaitingForCustomer: setToWaitingForCustomer };\r\n console.log( body);\r\n const data = \r\n await api.post(\"api/EventsRequest\", body)\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\nexport async function addAttachment(eventId: number, files: File[]) {\r\n const form = new FormData();\r\n for (let i in files) {\r\n const file = files[i];\r\n form.append(\"files\", file);\r\n }\r\n await api.post(`api/EventsRequest/${eventId}/attachment`, form);\r\n}\r\n\r\n// se sucesso retorna undefined se não retorna o erro\r\nexport async function deleteAttachment(eventId: number, attachmentId: number) {\r\n const error = await api.delete(`api/EventsRequest/${eventId}/attachment/${attachmentId}`)\r\n .then(() => undefined)\r\n .catch((error: AxiosError) => error);\r\n return error;\r\n}\r\n\r\nexport async function getDashboardData() {\r\n const data: responses.IDashboardData = \r\n await api.get(\"api/Dashboard\")\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\n// pro eginner pegar um request\r\nexport async function takeRequest(userId: number, requestId: number) {\r\n const data: responses.IFullAccountData = \r\n await api.put(`api/EngineerRequest/${requestId}/${userId}`, {})\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\n//pro engineer dar como Solved o evento\r\nexport async function eventRequestChangeSolvedStatus(requestId: number, isSolved: boolean) {\r\n const data = \r\n await api.put(`api/EventsRequest/${requestId}/${isSolved}`)\r\n .then(response => response.data);\r\n return data;\r\n}\r\n\r\n//pro cliente dar como closed o evento\r\nexport async function eventRequestChangeClosedStatus(requestId: number, isClosed: boolean) {\r\n const data = \r\n await api.put(`api/CloseRequest/${requestId}/${isClosed}`)\r\n .then(response => response.data);\r\n return data;\r\n}","import { createContext } from \"react\";\r\nimport {IAuthContext} from '../interfaces'\r\n\r\nconst contextProps: IAuthContext = {\r\n updateTokens: () => {},\r\n updateUser: () => {},\r\n logOff: () => {}\r\n};\r\nconst AuthContext = createContext(contextProps);\r\n\r\nexport default AuthContext;\r\n","import React from \"react\";\r\nimport {\r\n Dialog,\r\n DialogType,\r\n IDialogProps,\r\n IDialogContentProps,\r\n DialogFooter,\r\n} from \"@fluentui/react\";\r\n\r\nconst dialogContentProps = (title: JSX.Element | string, subText: string = \"\") => {\r\n const content: IDialogContentProps = {\r\n type: DialogType.largeHeader,\r\n title,\r\n subText,\r\n closeButtonAriaLabel: \"Close\",\r\n };\r\n return content;\r\n};\r\n\r\ninterface DialogProps extends IDialogProps {\r\n content: Function;\r\n subText?: string;\r\n title: JSX.Element | string;\r\n button1?: Function;\r\n button2?: Function;\r\n errorBar?: Function;\r\n}\r\n\r\nconst DialogComponent: React.FC = ({\r\n content,\r\n subText,\r\n title,\r\n button1,\r\n button2,\r\n errorBar,\r\n ...props\r\n}) => {\r\n return (\r\n \r\n {errorBar && errorBar()}\r\n {content()}\r\n \r\n {button1 && button1()}\r\n {button2 && button2()}\r\n \r\n \r\n );\r\n};\r\nexport default DialogComponent;\r\n","import { IApiError } from \"./interfaces\";\r\n\r\nconst access_token_key = \"tickect_access_token\";\r\nconst refresh_token_key = \"tickect_refresh_token\";\r\n\r\n// diz se o usuario está autenticado ou não\r\nexport function isAuthenticated() {\r\n return localStorage.getItem(access_token_key) !== null && localStorage.getItem(refresh_token_key) !== null;\r\n}\r\n\r\n// guarda os tokens do usuario na memoria\r\nexport function storeTokens(access_token: string, refresh_token: string) {\r\n localStorage.setItem(access_token_key, access_token);\r\n localStorage.setItem(refresh_token_key, refresh_token);\r\n}\r\n\r\n// retorna o access token\r\nexport function getAccessToken() {\r\n return localStorage.getItem(access_token_key);\r\n}\r\n\r\n// retorna o refresh token\r\nexport function getRefreshToken() {\r\n return localStorage.getItem(refresh_token_key);\r\n}\r\n\r\nexport const nullDate = \"0001-01-01T00:00:00\";\r\n\r\nexport function formatPageCount(totalResults: number, count: number) {\r\n if (totalResults % count === 0)\r\n return totalResults / count\r\n return parseInt((totalResults / count).toString()) + 1;\r\n}\r\n\r\nexport function isApiError(value: any): value is IApiError {\r\n return value.message !== undefined;\r\n}\r\n","import { Layer, MessageBar, MessageBarType } from '@fluentui/react';\r\nimport React from 'react';\r\n\r\nexport interface ICustomMessageBarProps {\r\n type?: MessageBarType;\r\n onDismiss?: () => any;\r\n message?: string;\r\n}\r\n\r\nconst CustomMessageBar: React.FC = ({type, onDismiss, message}) => {\r\n\r\n return (\r\n \r\n \r\n {message}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default CustomMessageBar;\r\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\r\nimport { Text, PrimaryButton, Spinner, Stack, MessageBarType } from '@fluentui/react';\r\nimport { getIdToken, getToken } from '../../services/microsoftRequests';\r\nimport { getCurrentUserData, loginMicrosoft } from '../../services/Api';\r\nimport AuthContext from './../../contexts/AuthContext';\r\nimport { AxiosError } from 'axios';\r\nimport { useBoolean } from '@fluentui/react-hooks';\r\nimport LoginDialog from '../../components/LoginDialog';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { isApiError } from './../../utils';\r\nimport CustomMessageBar, { ICustomMessageBarProps } from '../../components/ICustomMessageBar';\r\n\r\nexport interface ILoginPageProps {\r\n\r\n}\r\n\r\nconst LoginPage: React.FC = () => {\r\n let history = useHistory();\r\n \r\n const {updateTokens, updateUser} = useContext(AuthContext);\r\n \r\n const [statusMessage, setStatusMessage] = useState();\r\n\r\n const showErrorMessage = useCallback((message: string) => {\r\n setStatusMessage({message, type: MessageBarType.error});\r\n }, []);\r\n\r\n const closeStatusMessage = useCallback(() => {\r\n setStatusMessage(undefined);\r\n }, []);\r\n\r\n const [isRequesting, {setTrue: requestStart, setFalse: requestFinished}] = useBoolean(false);\r\n\r\n function handleAxiosError(err: AxiosError) {\r\n if (err.isAxiosError && err.response !== undefined && isApiError(err.response.data))\r\n showErrorMessage(err.response.data.message);\r\n else {\r\n showErrorMessage(\"Unknowed error. Contact Versed.\");\r\n }\r\n requestFinished();\r\n }\r\n\r\n async function handleLogin(accessToken: string) {\r\n // impede usuario de clicar no botao de login\r\n requestStart();\r\n try {\r\n // pegando token da api\r\n const token = await loginMicrosoft(accessToken)\r\n updateTokens(token.access_token, token.refresh_token, token.ext_expires_in);\r\n // buscando dados do usuario na api\r\n const user = await getCurrentUserData();\r\n updateUser(user);\r\n // movendo usuario para home\r\n history.push(\"/\");\r\n } catch (err: any) {\r\n handleAxiosError(err);\r\n }\r\n }\r\n\r\n function onClickLogin() {\r\n try {\r\n getIdToken(window.location.href)\r\n .catch(err => console.log({error_catch: err}));\r\n } catch (err) {\r\n console.log({err});\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n \r\n // quebrando os dados da hash em partes menores\r\n const hashParts = history.location.hash.slice(1).split('&');\r\n // verificando se tem id_token na hash\r\n let id_token = hashParts.find(item => item.startsWith(\"id_token\"));\r\n if (id_token !== undefined) {\r\n const url = window.location.origin+window.location.pathname;\r\n getToken(url);\r\n return;\r\n }\r\n // verificando se tem access_token na hash\r\n let access_token = hashParts.find(item => item.startsWith(\"access_token\"));\r\n if (access_token !== undefined) {\r\n access_token = access_token.slice(13);\r\n // tenta logar usando o access_token\r\n handleLogin(access_token);\r\n }\r\n }, [])\r\n\r\n return(\r\n \r\n {statusMessage !== undefined && }\r\n \r\n )\r\n}\r\n\r\nexport default LoginPage;","import React, { useContext } from 'react';\r\nimport { getTheme, IconButton, mergeStyles, Stack, Text } from '@fluentui/react';\r\nimport AuthContext from '../../contexts/AuthContext';\r\n\r\nconst headerRigth: React.CSSProperties = {minWidth: \"25%\", maxWidth: \"35%\"};\r\n\r\nconst HorizontalNav = () => {\r\n\r\n const { userData, logOff } = useContext(AuthContext);\r\n\r\n const [contentClass, setContentClass] = React.useState();\r\n const [whiteText, setWhiteText] = React.useState();\r\n\r\n React.useEffect(() => {\r\n const theme = getTheme();\r\n setContentClass(\r\n mergeStyles([\r\n {\r\n backgroundColor: theme.palette.blue,\r\n color: theme.palette.white,\r\n height: \"7%\"\r\n }])\r\n );\r\n setWhiteText(mergeStyles([{color: theme.semanticColors.primaryButtonText}]));\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n Versed Support Portal\r\n \r\n \r\n \r\n {\r\n userData ? \r\n {userData.fullName} \r\n :\r\n Usuário não identificado \r\n }\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default HorizontalNav;\r\n","export default __webpack_public_path__ + \"static/media/versedlogo.06561c79.png\";","import React, { useEffect, useState } from 'react';\r\nimport { getTheme, INavLink, INavLinkGroup, IProcessedStyleSet, IScrollablePaneStyles, IStyle, mergeStyles, mergeStyleSets, Nav, ScrollablePane, Stack } from '@fluentui/react';\r\nimport versedLogo from \"../../assets/versedlogo.png\";\r\nimport { useHistory } from 'react-router-dom';\r\n\r\ninterface IClassNames {\r\n wrapper: IStyle;\r\n pane: IStyle;\r\n sticky: IStyle;\r\n textContent: IStyle;\r\n}\r\n\r\nexport interface IVerticalNavProps {\r\n navLinkGroups: INavLinkGroup[];\r\n}\r\n\r\nconst VerticalNav = ({navLinkGroups}: IVerticalNavProps) => {\r\n const [classNames, setClassNames] = useState>();\r\n const [scrollablePaneStyles, setScrollablePaneStyles] = useState>();\r\n const [verticalNav, setVerticalNav] = React.useState();\r\n let history = useHistory();\r\n\r\n function onClickNavLinkPreventDefault(ev: React.MouseEvent | undefined, link?: INavLink) {\r\n if (ev)\r\n ev.preventDefault();\r\n if (link) {\r\n // se o link nao tem sub links -> navega para url\r\n if (!link.links) {\r\n history.push(link.url);\r\n } else {\r\n link.isExpanded = !link.isExpanded;\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (classNames) {\r\n setScrollablePaneStyles({ root: classNames.pane });\r\n } else {\r\n setScrollablePaneStyles(undefined);\r\n }\r\n }, [classNames])\r\n\r\n useEffect(() => {\r\n const theme = getTheme();\r\n setClassNames(mergeStyleSets({\r\n wrapper: {\r\n height: '85%',\r\n position: 'relative',\r\n maxHeight: 'inherit',\r\n },\r\n pane: {\r\n maxWidth: 400,\r\n },\r\n sticky: {\r\n color: theme.palette.neutralDark,\r\n padding: '5px 20px 5px 10px',\r\n fontSize: '13px',\r\n borderTop: '1px solid ' + theme.palette.black,\r\n borderBottom: '1px solid ' + theme.palette.black,\r\n },\r\n textContent: {\r\n padding: '15px 10px',\r\n },\r\n })\r\n )\r\n setVerticalNav(\r\n mergeStyles([\r\n {\r\n color: theme.palette.black,\r\n backgroundColor: theme.semanticColors.bodyDivider,\r\n width: \"20%\"\r\n }])\r\n );\r\n }, []);\r\n\r\n return (\r\n \r\n {\r\n classNames !== undefined ?\r\n
\r\n \r\n
\r\n :\r\n null\r\n }\r\n
\r\n \"Logo\r\n
\r\n \r\n
\r\n )\r\n}\r\n\r\nexport default VerticalNav;\r\n","import React from 'react';\r\nimport { Stack } from '@fluentui/react';\r\n\r\nexport interface IContentContainerProps {\r\n content: () => JSX.Element;\r\n} \r\n\r\nconst ContentContainer = ({content} : IContentContainerProps) => {\r\n\r\n return (\r\n \r\n
\r\n {content()}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default ContentContainer;\r\n","import React from 'react';\r\nimport { Stack, INavLinkGroup } from '@fluentui/react';\r\nimport HorizontalNav from './HorizontalNav';\r\nimport VerticalNav from './VerticalNav';\r\nimport ContentContainer from './ContentContainer';\r\n\r\nexport interface ICustomNavProps {\r\n content: () => JSX.Element;\r\n navLinkGroups: INavLinkGroup[];\r\n onRenderGroupHeader?: any;\r\n theme?: string\r\n}\r\n\r\nconst stackStyles: {\r\n container: React.CSSProperties;\r\n verticalContainer: React.CSSProperties;\r\n verticalNavContainer: React.CSSProperties;\r\n} = {\r\n container: {width: '100%', height: '100%'},\r\n verticalContainer: {width: '100%', height: '93%'},\r\n verticalNavContainer: {width: '100%', height: '100%'},\r\n}\r\n\r\nexport default function CustomNav(props: ICustomNavProps) {\r\n \r\n return(\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import CustomNav from './CustomNav';\r\n\r\nexport default CustomNav;\r\n","import {INavLinkGroup} from '@fluentui/react';\r\n\r\nexport const commomRoutes: INavLinkGroup[] = [\r\n {\r\n name: \"Home\",\r\n links: [\r\n {\r\n name: 'Home',\r\n url: '',\r\n key: 'hm-key1',\r\n },\r\n {\r\n name: 'Service Request',\r\n url: '/tasks',\r\n key: 'tsk-1'\r\n }\r\n ]\r\n },\r\n];\r\n\r\nexport const customerManagerRoutes: INavLinkGroup[] = [\r\n {\r\n name: \"Home\",\r\n links: [\r\n {\r\n name: 'Home',\r\n url: '',\r\n key: 'hm-key1',\r\n },\r\n {\r\n name: 'Service Request',\r\n url: '/tasks',\r\n key: 'tsk-1'\r\n },\r\n // customer\r\n {\r\n name: 'Accounts',\r\n url: '/accounts',\r\n key: 'acc-1'\r\n },\r\n ]\r\n },\r\n];\r\n","import React, { CSSProperties } from \"react\";\r\nimport { getTheme, Label, Stack } from \"@fluentui/react\";\r\n\r\ninterface ICustomCardProps {\r\n value: number | string;\r\n infoText: string;\r\n}\r\n\r\nconst theme = getTheme();\r\n\r\nconst whiteText: CSSProperties = {\r\n color: theme.semanticColors.primaryButtonText,\r\n fontSize: 18\r\n}\r\n\r\nconst valueSize: CSSProperties = {\r\n ...whiteText,\r\n fontSize: 25\r\n}\r\n\r\nconst fundoAzul: CSSProperties = {\r\n background: theme.palette.themePrimary,\r\n boxShadow: theme.effects.elevation16\r\n}\r\n\r\nconst CustomCard: React.FC = ({infoText, value}) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default CustomCard;\r\n","import React, { useContext, useEffect, useState } from 'react';\r\nimport { Stack } from '@fluentui/react';\r\nimport CustomCard from '../../components/CustomCard';\r\nimport AuthContext from '../../contexts/AuthContext';\r\nimport { IDashboardData } from './../../interfaces';\r\nimport { getDashboardData } from '../../services/Api';\r\n\r\nexport interface ITaskCardsProps {\r\n\r\n}\r\n\r\nconst TaskCards: React.FC = () => {\r\n const { userData } = useContext(AuthContext);\r\n const [dashboardData, setDashboardData] = useState();\r\n\r\n useEffect(() => {\r\n if (userData === undefined)\r\n return;\r\n getDashboardData()\r\n .then(setDashboardData);\r\n }, [userData])\r\n\r\n return(\r\n \r\n {\r\n dashboardData !== undefined &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n )\r\n}\r\n\r\nexport default TaskCards;\r\n","import { createContext } from \"react\";\r\nimport {ICommomDataContext} from '../interfaces'\r\n\r\nconst contextProps: ICommomDataContext = {\r\n criticality: [],\r\n solutions: []\r\n};\r\nconst CommomDataContext = createContext(contextProps);\r\n\r\nexport default CommomDataContext;\r\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\r\nimport { Panel, TextField, Dropdown, Stack, PrimaryButton, DefaultButton, IDropdownOption, PanelType, Separator } from '@fluentui/react';\r\nimport { IRequestData } from '../../../interfaces';\r\nimport CommomDataContext from './../../../contexts/CommomDataContext';\r\nimport ICriticality from './../../../interfaces/ICriticality';\r\nimport { listAvaliableSolutions, registerCustomerRequest } from '../../../services/Api';\r\nimport ISolutionData from './../../../interfaces/ISolutionData';\r\nimport AuthContext from '../../../contexts/AuthContext';\r\n\r\nexport interface INewRequestPanelProps {\r\n isOpen: boolean;\r\n onSuccess?: (request: IRequestData) => any;\r\n onDismiss?: () => any;\r\n}\r\n\r\nconst NewRequestPanel: React.FC = ({isOpen, onDismiss, onSuccess}) => {\r\n\r\n const { criticality, solutions } = useContext(CommomDataContext);\r\n const { userData } = useContext(AuthContext);\r\n\r\n const [criticalityOptions, setCriticalityOptions] = useState[]>([]);\r\n const [solutionOptions, setSolutionOptions] = useState[]>([]);\r\n\r\n const [title, setTitle] = useState();\r\n const [description, setDescription] = useState();\r\n\r\n const [solutionSelected, setSolutionSelected] = useState();\r\n const [criticalitySelected, setCriticalitySelected] = useState();\r\n\r\n const submit = useCallback(() => {\r\n // console.log({\"submit new request\": { title, description, code, solutionSelected, criticalitySelected }});\r\n // validando os campos\r\n if (title === undefined) {\r\n alert(\"Title must be filled.\");\r\n return;\r\n }\r\n if (description === undefined) {\r\n alert(\"Description must be filled.\");\r\n return;\r\n }\r\n if (solutionSelected === undefined) {\r\n alert(\"One solution must be selected.\");\r\n return;\r\n }\r\n if (criticalitySelected === undefined) {\r\n alert(\"One category of criticality must be selected.\");\r\n return;\r\n }\r\n // pegando a solution selecionada\r\n const solution = solutionOptions.find(option => option.key === solutionSelected);\r\n if (solution === undefined || solution.data === undefined) {\r\n alert(\"One valid solution must be selected.\");\r\n return;\r\n }\r\n const solutionId = solution.data.internalId;\r\n // pegando a criticality selecionada\r\n const criticality = criticalityOptions.find(option => option.key === criticalitySelected);\r\n if (criticality === undefined || criticality.data === undefined) {\r\n alert(\"One valid criticality must be selected.\");\r\n return;\r\n }\r\n const criticalityId = criticality.data.internalID;\r\n registerCustomerRequest(title, description, solutionId, criticalityId)\r\n .then(response => {\r\n if (onSuccess)\r\n onSuccess(response);\r\n })\r\n .catch(() => {\r\n alert(\"An erro has ocurred while trying register your reuqest. Please try again later.\");\r\n });\r\n }, [title, description, criticalitySelected, solutionSelected, criticalityOptions, solutionOptions, onSuccess])\r\n\r\n useEffect(() => {\r\n const options: IDropdownOption[] = criticality.map(item => ({\r\n key: item.internalID,\r\n text: item.description,\r\n data: item\r\n }));\r\n setCriticalityOptions(options);\r\n }, [criticality])\r\n\r\n useEffect(() => {\r\n const options: IDropdownOption[] = solutions.map(item => ({\r\n key: item.internalId,\r\n text: item.description,\r\n data: item\r\n }));\r\n setSolutionOptions(options);\r\n }, [solutions])\r\n\r\n useEffect(() => {\r\n if (!isOpen) {\r\n setTitle(undefined)\r\n setDescription(undefined)\r\n setSolutionSelected(undefined)\r\n setCriticalitySelected(undefined)\r\n }\r\n }, [isOpen])\r\n\r\n // const panelFooter = () => (\r\n // \r\n // \r\n // \r\n // \r\n // )\r\n\r\n return(\r\n \r\n setTitle(text)} />\r\n setDescription(text)} />\r\n ) => {\r\n if (option && option.data)\r\n setSolutionSelected(option.data.internalId);\r\n else\r\n setSolutionSelected(undefined);\r\n }}\r\n selectedKey={solutionSelected}\r\n />\r\n ) => {\r\n if (option && option.data)\r\n setCriticalitySelected(option.data.internalID);\r\n else\r\n setCriticalitySelected(undefined);\r\n }}\r\n selectedKey={criticalitySelected}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default NewRequestPanel;\r\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\r\nimport { CommandBarButton, DetailsList, Dropdown, IColumn, IDropdownOption, PrimaryButton, SelectionMode, Stack, Text, Toggle } from '@fluentui/react';\r\nimport AuthContext from '../../contexts/AuthContext';\r\nimport { listRequests, takeRequest } from '../../services/Api';\r\nimport { ICriticality, IRequestData, ISolutionData } from '../../interfaces';\r\nimport { formatPageCount, nullDate } from '../../utils';\r\nimport NewRequestPanel, { INewRequestPanelProps } from './Hidden/NewRequestPanel';\r\nimport { useBoolean } from '@fluentui/react-hooks';\r\nimport { IPaginationProps, Pagination } from '@uifabric/experiments';\r\nimport IPaginationState from './../../interfaces/IPaginationState';\r\nimport { useHistory } from 'react-router-dom';\r\nimport CommomDataContext from '../../contexts/CommomDataContext';\r\nimport { CommandBar, ICommandBarItemProps } from '@fluentui/react/lib/CommandBar';\r\n\r\nexport interface IListTasksProps {\r\n\r\n}\r\n\r\nconst defaultPagination: IPaginationState = {\r\n index: 0,\r\n count: 4,\r\n totalResults: 0,\r\n pageCount: 0\r\n}\r\n\r\nconst openedRequestsDropdownOptions: IDropdownOption[] = [\r\n {\r\n key: \"1\",\r\n text: \"[none]\"\r\n },\r\n {\r\n key: \"2\",\r\n text: \"Opened\",\r\n data: true\r\n },\r\n {\r\n key: \"3\",\r\n text: \"Closed\",\r\n data: false\r\n }\r\n];\r\nconst solvedRequestsDropdownOptions: IDropdownOption[] = [\r\n {\r\n key: \"1\",\r\n text: \"[none]\"\r\n },\r\n {\r\n key: \"2\",\r\n text: \"Solved\",\r\n data: true\r\n },\r\n {\r\n key: \"3\",\r\n text: \"Not Solved\",\r\n data: false\r\n }\r\n];\r\n\r\nconst ListTasks: React.FC = () => {\r\n let history = useHistory();\r\n const { userData } = useContext(AuthContext);\r\n const [items, setItems] = useState([]);\r\n const [pagination, setPagination] = useState(defaultPagination);\r\n const [newRequestPanelIsOpen, {setTrue: openNewRequestPanel, setFalse: closeNewRequestPanel}] = useBoolean(false);\r\n\r\n const { criticality, solutions } = useContext(CommomDataContext);\r\n\r\n const [filterOptions, setFilterOptions] = useState<{\r\n openedRequests?: boolean;\r\n solvedRequests?: boolean;\r\n myRequests?: boolean;\r\n solution?: number;\r\n criticality?: number;\r\n }>({});\r\n\r\n const [criticalityOptions, setCriticalityOptions] = useState[]>([]);\r\n const [solutionOptions, setSolutionOptions] = useState[]>([]);\r\n\r\n const onPageChange = useCallback[\"onPageChange\"]>((index) => {\r\n let newIndex = (index * pagination.count) + 1;\r\n // fazendo requisicao\r\n listRequests(newIndex, pagination.count, filterOptions.solution, filterOptions.criticality, filterOptions.openedRequests, filterOptions.solvedRequests, filterOptions.myRequests)\r\n .then(response => {\r\n // exibindo os items\r\n setItems(response.data);\r\n // atualizando paginacao\r\n // se total results for diferente do que esta registrado no pagination\r\n if (response.totalResults !== pagination.totalResults)\r\n // atualiza o total results registrado no pagination e o pageCount\r\n setPagination({...pagination, index, totalResults: response.totalResults, pageCount: formatPageCount(response.totalResults, response.count)});\r\n else\r\n // atualiza so o index da pagina\r\n setPagination({...pagination, index});\r\n })\r\n }, [pagination, filterOptions]);\r\n\r\n const hanldeOnSuccessNewRequest = useCallback[\"onSuccess\"]>(() => {\r\n // reseta a lista pra mostrar tudo do inicio\r\n onPageChange(defaultPagination.index);\r\n closeNewRequestPanel()\r\n }, [onPageChange, closeNewRequestPanel]);\r\n\r\n const handleTakeRequest = useCallback((request: IRequestData) => {\r\n if (userData === undefined)\r\n return;\r\n console.log({\"take this request\": request});\r\n takeRequest(userData.internalId, request.internalId)\r\n .then(() => {\r\n onPageChange(defaultPagination.index);\r\n })\r\n .catch(() => {\r\n alert(\"Problem when trying take the request. Please try again later.\");\r\n });\r\n }, [userData, onPageChange]);\r\n\r\n const columns: IColumn[] = [\r\n {\r\n key: \"col-11\",\r\n name: \"Request Code\",\r\n minWidth: 75,\r\n maxWidth: 200,\r\n fieldName: \"code\",\r\n isResizable: true\r\n },\r\n {\r\n key: \"col-1\",\r\n name: \"Title\",\r\n minWidth: 200,\r\n fieldName: \"title\",\r\n isResizable: true\r\n },\r\n {\r\n key: \"col-3\",\r\n name: \"Requester\",\r\n minWidth: 100,\r\n maxWidth: 150,\r\n onRender: (item?: IRequestData) => {\r\n if (item)\r\n return ({item.requester.name})\r\n }\r\n },\r\n {\r\n key: \"col-35\",\r\n name: \"Request Date\",\r\n minWidth: 100,\r\n maxWidth: 150,\r\n isResizable: true,\r\n onRender: (item?: IRequestData) => {\r\n if (item)\r\n return ({item.insertedTime.replace(\"T\",\" \")})\r\n }\r\n },\r\n {\r\n key: \"col-2\",\r\n name: \"Contract\",\r\n minWidth: 100,\r\n maxWidth: 150,\r\n fieldName: \"customer\"\r\n },\r\n {\r\n key: \"col-33\",\r\n name: \"Criticality\",\r\n minWidth: 100,\r\n maxWidth: 150,\r\n onRender: (item?: IRequestData) => {\r\n if (item)\r\n return ({item.criticality.description})\r\n }\r\n },\r\n {\r\n key: \"col-4\",\r\n name: \"Software/Solution\",\r\n minWidth: 100,\r\n maxWidth: 150,\r\n onRender: (item?: IRequestData) => {\r\n if (item)\r\n return ({item.solution.description})\r\n }\r\n },\r\n {\r\n key: \"col-6\",\r\n name: \"Enginner\",\r\n minWidth: 100,\r\n maxWidth: 250,\r\n onRender: (item?: IRequestData) => {\r\n if (item !== undefined && item.engineer.internalId !== 0)\r\n return ({item.engineer.name})\r\n else\r\n return (---)\r\n }\r\n },\r\n {\r\n key: \"col-7\",\r\n name: \"Solved Time\",\r\n minWidth: 80,\r\n isResizable: true,\r\n onRender: (item?: IRequestData) => {\r\n if (item !== undefined) {\r\n return ({ item.resolutionTime != nullDate ? item.resolutionTime.replace(\"T\", \" \") : \"\"})\r\n }\r\n }\r\n },\r\n {\r\n key: \"col-8\",\r\n name: \"Actions\",\r\n minWidth: 250,\r\n onRender: (item?: IRequestData) => {\r\n if (item !== undefined && userData !== undefined) {\r\n return (\r\n \r\n {\r\n (item.engineer.internalId === 0 && (userData.isEnginner || userData.isConsultant)) &&\r\n handleTakeRequest(item)} \r\n /> \r\n }\r\n history.push(`/request/${item.internalId}`)} \r\n />\r\n \r\n )\r\n }\r\n }\r\n }\r\n ]\r\n\r\n useEffect(() => {\r\n const options: IDropdownOption[] = criticality.map(item => ({\r\n key: item.internalID,\r\n text: item.description,\r\n data: item\r\n }));\r\n options.splice(0, 0, {\r\n key: 0,\r\n text: \"[none]\",\r\n data: {\r\n internalID: 0,\r\n description: \"\",\r\n value: \"\"\r\n }\r\n });\r\n setCriticalityOptions(options);\r\n }, [criticality])\r\n\r\n useEffect(() => {\r\n const options: IDropdownOption[] = solutions.map(item => ({\r\n key: item.internalId,\r\n text: item.description,\r\n data: item\r\n }));\r\n options.splice(0, 0, {\r\n key: 0,\r\n text: \"[none]\",\r\n data: {\r\n internalId: 0,\r\n description: \"\"\r\n }\r\n });\r\n setSolutionOptions(options);\r\n }, [solutions])\r\n\r\n useEffect(() => {\r\n if (userData === undefined)\r\n return;\r\n listRequests(defaultPagination.index, defaultPagination.count, filterOptions.solution, filterOptions.criticality, filterOptions.openedRequests, filterOptions.solvedRequests, filterOptions.myRequests)\r\n .then(response => {\r\n setItems(response.data);\r\n setPagination((p) => ({...p, totalResults: response.totalResults, pageCount: formatPageCount(response.totalResults, response.count)}));\r\n })\r\n }, [userData, filterOptions]);\r\n\r\n\r\n const _items: ICommandBarItemProps[] = [\r\n {\r\n key: 'new',\r\n text: 'New Request',\r\n iconProps: { iconName: 'SpecialEvent' },\r\n onClick: openNewRequestPanel\r\n }\r\n ];\r\n\r\n return(\r\n \r\n {\r\n userData !== undefined &&\r\n \r\n { \r\n userData.isCustomer &&\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n ) => {\r\n let defaultKey = 0;\r\n if (option !== undefined && option.data !== undefined && option.key !== defaultKey)\r\n setFilterOptions({...filterOptions, solution: option.data.internalId})\r\n else\r\n setFilterOptions({\r\n criticality: filterOptions.criticality, \r\n solvedRequests: filterOptions.solvedRequests,\r\n openedRequests: filterOptions.openedRequests,\r\n myRequests: filterOptions.myRequests\r\n })\r\n }}\r\n />\r\n \r\n \r\n ) => {\r\n let defaultKey = 0;\r\n if (option !== undefined && option.data !== undefined && option.key !== defaultKey)\r\n setFilterOptions({...filterOptions, criticality: option.data.internalID})\r\n else\r\n setFilterOptions({\r\n solution: filterOptions.solution, \r\n solvedRequests: filterOptions.solvedRequests,\r\n openedRequests: filterOptions.openedRequests,\r\n myRequests: filterOptions.myRequests\r\n })\r\n }}\r\n />\r\n \r\n \r\n ) => {\r\n let defaultKey = \"1\";\r\n if (option !== undefined && option.data !== undefined && option.key !== defaultKey)\r\n setFilterOptions({...filterOptions, openedRequests: option.data})\r\n else\r\n setFilterOptions({\r\n solution: filterOptions.solution, \r\n solvedRequests: filterOptions.solvedRequests,\r\n criticality: filterOptions.criticality,\r\n myRequests: filterOptions.myRequests\r\n })\r\n }}\r\n />\r\n \r\n \r\n ) => {\r\n let defaultKey = \"1\";\r\n if (option !== undefined && option.data !== undefined && option.key !== defaultKey)\r\n setFilterOptions({...filterOptions, solvedRequests: option.data})\r\n else\r\n setFilterOptions({\r\n solution: filterOptions.solution, \r\n openedRequests: filterOptions.openedRequests,\r\n criticality: filterOptions.criticality,\r\n myRequests: filterOptions.myRequests\r\n })\r\n }}\r\n />\r\n \r\n \r\n {\r\n if (cheacked)\r\n setFilterOptions({...filterOptions, myRequests: cheacked})\r\n else\r\n setFilterOptions({\r\n solution: filterOptions.solution, \r\n openedRequests: filterOptions.openedRequests,\r\n criticality: filterOptions.criticality,\r\n solvedRequests: filterOptions.solvedRequests\r\n })\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* HIDDEN */}\r\n \r\n {/* HIDDEN */}\r\n \r\n )\r\n}\r\n\r\nexport default ListTasks;\r\n","import React from 'react';\r\nimport { Stack, Text } from '@fluentui/react';\r\nimport TaskCards from './TaskCards';\r\nimport ListTasks from './ListTasks';\r\nimport { Separator } from '@fluentui/react/lib/Separator';\r\n\r\nexport interface ITasksProps {\r\n\r\n}\r\n\r\nconst Tasks: React.FC = () => {\r\n\r\n return(\r\n \r\n Service Request\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Tasks;\r\n","import React, { useContext, useEffect, useState } from 'react';\r\nimport CommomDataContext from './contexts/CommomDataContext';\r\nimport { ICommomDataContext } from './interfaces';\r\nimport { listAvaliableSolutions, listCriticality } from './services/Api';\r\nimport AuthContext from './contexts/AuthContext';\r\n\r\nexport interface ICommomDataMiddlewareProps {\r\n\r\n}\r\n\r\nconst CommomDataMiddleware: React.FC = ({children}) => {\r\n const { userData } = useContext(AuthContext);\r\n\r\n const [criticality, setCriticality] = useState([]);\r\n const [solutions, setSolutions] = useState([]);\r\n\r\n useEffect(() => {\r\n if (userData === undefined)\r\n return;\r\n listCriticality()\r\n .then(response => {\r\n setCriticality(response.data);\r\n })\r\n listAvaliableSolutions()\r\n .then(response => {\r\n setSolutions(response.data);\r\n })\r\n }, [userData]);\r\n\r\n return(\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport default CommomDataMiddleware;\r\n","import React, { useCallback, useState } from 'react';\r\nimport { Panel, TextField, Stack, PrimaryButton, DefaultButton } from '@fluentui/react';\r\nimport { IFullAccountData } from '../../../interfaces';\r\nimport { registerNewAccount } from '../../../services/Api';\r\n\r\nexport interface INewAccountPanelProps {\r\n isOpen: boolean;\r\n onSuccess?: (request: IFullAccountData) => any;\r\n onDismiss?: () => any;\r\n}\r\n\r\nconst NewAccountPanel: React.FC = ({isOpen, onDismiss, onSuccess}) => {\r\n\r\n const [name, setName] = useState();\r\n const [mail, setMail] = useState();\r\n\r\n const submit = useCallback(() => {\r\n // validando os campos\r\n if (name === undefined) {\r\n alert(\"Name must be filled.\");\r\n return;\r\n }\r\n if (mail === undefined) {\r\n alert(\"Mail must be filled.\");\r\n return;\r\n }\r\n // fazendo requisicao\r\n registerNewAccount(mail, name)\r\n .then(response => {\r\n if (onSuccess)\r\n onSuccess(response);\r\n })\r\n .catch(() => {\r\n alert(\"An erro has ocurred while trying register the account. Please try again later.\");\r\n });\r\n }, [name, mail, onSuccess])\r\n\r\n const panelFooter = () => (\r\n \r\n \r\n \r\n \r\n )\r\n\r\n return(\r\n \r\n setName(text)} />\r\n setMail(text)} />\r\n \r\n )\r\n}\r\n\r\nexport default NewAccountPanel;\r\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\r\nimport { DetailsList, IColumn, PrimaryButton, SelectionMode, Stack, Text } from '@fluentui/react';\r\nimport AuthContext from '../../contexts/AuthContext';\r\nimport { IFullAccountData } from '../../interfaces';\r\nimport { listAccounts } from '../../services/Api';\r\nimport { useBoolean } from '@fluentui/react-hooks';\r\nimport NewAccountPanel, { INewAccountPanelProps } from './Hidden/NewAccountPanel';\r\nimport { IPaginationProps, Pagination } from '@uifabric/experiments';\r\nimport IPaginationState from '../../interfaces/IPaginationState';\r\nimport { formatPageCount } from '../../utils';\r\n\r\nexport interface IAccountsPageProps {\r\n\r\n}\r\n\r\nconst defaultPagination: IPaginationState = {\r\n index: 0,\r\n count: 8,\r\n totalResults: 0,\r\n pageCount: 0\r\n}\r\n\r\nconst AccountsPage: React.FC = () => {\r\n const [items, setItems] = useState([]);\r\n const [newAccountPanelIsOpen, {setTrue: openNewAccountPanel, setFalse: closeNewAccountPanel}] = useBoolean(false);\r\n const { userData } = useContext(AuthContext);\r\n\r\n const [pagination, setPagination] = useState(defaultPagination);\r\n \r\n const onPageChange = useCallback[\"onPageChange\"]>((index) => {\r\n let newIndex = (index * pagination.count) + 1;\r\n // fazendo requisicao\r\n listAccounts(newIndex, pagination.count)\r\n .then(response => {\r\n // exibindo os items\r\n setItems(response.data);\r\n // atualizando paginacao\r\n // se total results for diferente do que esta registrado no pagination\r\n if (response.totalResults !== pagination.totalResults)\r\n // atualiza o total results registrado no pagination e o pageCount\r\n setPagination({...pagination, index, totalResults: response.totalResults, pageCount: formatPageCount(response.totalResults, response.count)});\r\n else\r\n // atualiza so o index da pagina\r\n setPagination({...pagination, index});\r\n })\r\n }, [pagination]);\r\n\r\n const hanldeOnSuccessNewAccount = useCallback[\"onSuccess\"]>(() => {\r\n // reseta a lista pra mostrar tudo do inicio\r\n onPageChange(defaultPagination.index);\r\n closeNewAccountPanel()\r\n }, [onPageChange, closeNewAccountPanel]);\r\n\r\n const columns: IColumn[] = [\r\n {\r\n key: \"col-1\",\r\n name: \"Nome\",\r\n minWidth: 100,\r\n maxWidth: 300,\r\n fieldName: \"name\"\r\n },\r\n {\r\n key: \"col-2\",\r\n name: \"Mail\",\r\n minWidth: 100,\r\n maxWidth: 400,\r\n fieldName: \"mail\"\r\n },\r\n {\r\n key: \"col-3\",\r\n name: \"Active\",\r\n minWidth: 100,\r\n fieldName: \"isActive\"\r\n }\r\n ];\r\n\r\n useEffect(() => {\r\n if (userData === undefined)\r\n return;\r\n listAccounts(defaultPagination.index, defaultPagination.count)\r\n .then(response => {\r\n setItems(response.data);\r\n setPagination((p) => ({...p, totalResults: response.totalResults, pageCount: formatPageCount(response.totalResults, response.count)}));\r\n })\r\n .catch(console.error);\r\n }, [userData]);\r\n\r\n return(\r\n \r\n Accounts\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* HIDDEN */}\r\n \r\n {/* HIDDEN */}\r\n \r\n )\r\n}\r\n\r\nexport default AccountsPage;\r\n","import React, { useCallback, useContext, useEffect, useState } from 'react';\r\nimport { Panel, TextField, Stack, PrimaryButton, DefaultButton, Separator, PanelType, Toggle } from '@fluentui/react';\r\nimport { IFullAccountData } from '../../../interfaces';\r\nimport { registerNewAccount, registerNewEvent } from '../../../services/Api';\r\nimport AuthContext from '../../../contexts/AuthContext';\r\n\r\n\r\nexport interface INewRequestPanelProps {\r\n isOpen: boolean;\r\n requestId: number;\r\n onSuccess?: (request: IFullAccountData) => any;\r\n onDismiss?: () => any;\r\n}\r\n\r\nconst NewAccountPanel: React.FC = ({isOpen, onDismiss, onSuccess, requestId}) => {\r\n\r\n const { userData } = useContext(AuthContext);\r\n\r\n const [text, setText] = useState();\r\n const [isChecked, SetisChecked] = useState((userData!==undefined && (userData.isEnginner || userData.isConsultant)));\r\n\r\n\r\n\r\n const submit = useCallback(() => {\r\n // validando os campos\r\n if (text === undefined || text.trim() == \"\") {\r\n alert(\"Text must be filled.\");\r\n return;\r\n }\r\n\r\n // fazendo requisicao\r\n registerNewEvent(text, userData?.internalId ? userData.internalId : -1, requestId, isChecked)\r\n .then(response => {\r\n if (onSuccess)\r\n onSuccess(response);\r\n })\r\n .catch(() => {\r\n alert(\"An erro has ocurred while trying register the account. Please try again later.\");\r\n });\r\n }, [text, onSuccess])\r\n\r\n useEffect(() => {\r\n if (!isOpen)\r\n setText(undefined);\r\n }, [isOpen])\r\n\r\n // const panelFooter = () => (\r\n // \r\n // \r\n // \r\n // \r\n // )\r\n\r\n return(\r\n \r\n setText(text)} />\r\n {\r\n (userData!==undefined && (userData.isEnginner || userData.isConsultant)) && (\r\n \r\n {\r\n if (cheacked)\r\n SetisChecked(true)\r\n else\r\n SetisChecked(false)\r\n }}\r\n />\r\n )\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default NewAccountPanel;\r\n","import React, { useContext } from 'react';\r\nimport { DefaultButton, Dialog, DialogFooter, Text, DialogType, MessageBarType, PrimaryButton, Stack } from '@fluentui/react';\r\nimport { useState } from 'react';\r\nimport { AxiosError } from 'axios';\r\nimport { eventRequestChangeSolvedStatus } from '../../../services/Api';\r\nimport Routes from '../../../Routes';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nconst dialogStyles = { main: { maxWidth: 450 } };\r\n\r\ninterface IEditPanel {\r\n panelState: boolean;\r\n isSolved: boolean;\r\n requestID: number;\r\n onDismiss: () => any;\r\n}\r\n\r\nconst dialogContentProps = {\r\n type: DialogType.normal,\r\n title: 'Request Status',\r\n closeButtonAriaLabel: 'Close',\r\n};\r\n\r\nconst DeleteDialog = (props:IEditPanel) => {\r\n\r\n const modalProps = { isBlocking: false, styles: dialogStyles};\r\n\r\n //variavel que contém opções de navegação\r\n const history = useHistory();\r\n\r\n\r\n const changeSolvedStatus = async () => {\r\n \r\n await eventRequestChangeSolvedStatus(props.requestID, !props.isSolved)\r\n .then((response) => {\r\n //joga o usuário pra pagina anterior depois de mudar o status\r\n history.push(\"/tasks\");\r\n alert(`Request was ${props.isSolved ? \"unmarked\" : \"marked\"} as solved!`);\r\n })\r\n .catch((er: AxiosError) => {\r\n alert(\"Something went wrong!\")\r\n console.log({er})\r\n return;\r\n });\r\n props.onDismiss();\r\n }\r\n\r\n return (\r\n <>\r\n