{"version":3,"sources":["config/i18n.js","assets/img/logo/LogoIstatHeader.svg","config/_const.js","services/_baseRequest.js","services/search/index.js","components/langSelector/LangSelector.js","components/IsMobile/IsMobile.jsx","redux/reducers/NewReportCompiler.reducer.js","layout/Header.js","layout/Nav.js","assets/img/social/pinterest.png","assets/img/logo/LogoIstatFooter.svg","services/GetSettings/GetSettings.service.jsx","layout/Footer.js","config/links.js","services/promemoria/Promemoria.js","assets/img/formats/pdf.png","utils/index.js","components/News/index.js","components/DownloadDocument/index.js","components/loading/index.js","services/download/index.js","components/Shortcut/index.js","views/home/homeShortcuts.js","views/home/main.js","services/territorio/index.js","components/reportBody/reportTable.js","components/reportHead/index.js","views/ricercaStoriaUABox/index.js","views/codificheTerritorialiBox/index.js","views/caratteristicheClassificazioniBox/index.js","views/geografieEuropeeClassificazioni/index.js","services/SpoolData/SpoolData.service.jsx","services/GetAutocomplete/GetAutocomplete.service.jsx","services/GetReportDownload/GetReportDownload.service.jsx","assets/extra/helpers.jsx","services/GetFunzione/GetFunzione.service.jsx","components/reportBody/newReportCompiler.js","services/GetAggiornamenti/GetAggiornamenti.service.jsx","services/GetAggiornamentiDownload/GetAggiornamentiDownload.service.jsx","components/aggiornamentiTable/aggiornamentiTable.jsx","views/home/index.js","services/glossary/index.js","services/GetGlossarioDownload/GetGlossarioDownload.service.jsx","views/glossary/index.js","views/variazioniTerritorio/head.js","views/variazioniTerritorio/index.js","views/territorialUnits/head.js","views/territorialUnits/index.js","services/storico/index.js","services/ricercaCodice/index.js","views/storiaUA/index.js","redux/reducers/NewDownload.reducer.js","views/ricercaCodice/index.js","views/ricostruzioneCodici/head.js","views/ricostruzioneCodici/index.js","services/TabSkip/TabSkip.js","App.js","redux/reducers/Session.reducer.js","redux/reducers/NewAggiornamenti.reducer.js","redux/store.jsx","index.js"],"names":["i18n","use","initReactI18next","init","resources","IT","translations","common_it","EN","common_en","interpolation","escapeValue","lng","localStorage","getItem","ns","defaultNS","react","wait","config","url","API_URL_AZURE","process","API_URL_DM05","REACT_APP_API_URL_DM05","API_PORT","message","duration","notification","placement","BaseRequest","constructor","this","successCallback","errorCallback","progressCallback","withFile","cancelToken","undefined","params","data","file","instance","mantainNotification","block_notification","makeRequest","arguments","length","method","base","axios","create","baseURL","timeout","headers","defaults","doCall","axios_config","language","Authorization","responseType","onUploadProgress","maxRedirects","formData","FormData","Array","isArray","forEach","f","n","append","chiave","data_array_keys","Object","keys","key","JSON","stringify","request","then","response","catch","async","console","error","e","isCancel","status","warning","t","description","Promise","reject","_e$response$data","_e$response$data2","exeption","title","parseBlob","blob","blobbed_error","readFile","parse","content","fileReader","FileReader","resolve","onerror","abort","Error","onload","result","readAsText","Search","searchByWord","pattern","lang","sessionStorage","getLanguage","IsMobile","isFixedMobile","setIsFixedMobile","useState","handleResize","screenWidth","window","innerWidth","useEffect","addEventListener","removeEventListener","initialState","tableData","label","body","colNames","totalRows","types","formatMask","cacheTableData","filters","orderFields","orderDirects","dataDaUp","dataAUp","textFilters","filterFields","funzione","id","updateData","createAction","updateFunzione","updateTableData","updateFilters","updateTextFilters","reducer","createReducer","builder","addCase","state","action","payload","HeaderSubtitle","_ref","envType","isMobile","_jsx","className","children","Header","useDispatch","useTranslation","searchString","setSearchString","options","setOptions","selectedReport","setSelectedReport","value","setValue","useHistory","useCallback","_","debounce","_data$items","opts","items","map","obj","i","report","SearchRep","_jsxs","style","backgroundColor","src","HeaderLogo","minHeight","color","Link","to","Divider","type","lineHeight","NavBarNew","resetCounter","setResetCounter","current","setCurrent","menuClicked","setMenuClicked","expanded","setExpanded","previousPage","setPreviousPage","location","useLocation","_document$getElements","_document$querySelect","_document$querySelect2","page","pathname","split","path","links","document","getElementsByClassName","prototype","call","link","setAttribute","classList","remove","querySelector","add","handleNavItemClick","currentPage","getElementById","Navbar","name","expand","variant","onSelect","Toggle","onClick","Collapse","Nav","role","href","tabIndex","useGetSettings","defaultData","formatMasks","isLoading","setIsLoading","setError","setData","execute","urlExtension","responseData","call_GetSettings","reset","withTranslation","getSettings","settings","setSettings","res","Row","Col","xs","lg","target","rel","width","height","FooterLogo","span","offset","AccessibilityDeclarationUrl","PromemoriaService","operations","PageNum","PageSize","moment","format","Utils","exportPDF","columns","rows","orientation","doc","jsPDF","setFontSize","column","row","values","omit","text","maxWidth","align","autoTable","startY","head","headStyles","fontSize","valign","halign","fillColor","bodyStyles","cellPadding","minCellHeight","minCellWidth","theme","save","getSheetData","header","fields","sheetData","fieldName","unshift","exportXLSX","titolo","header2","rows2","XlsxPopulate","fromBlankAsync","sheet1","workbook","sheet","totalColumns","sheet2","sheet2Data","addSheet","cell","range","usedRange","endColumn","String","fromCharCode","fill","fontColor","horizontalAlignment","verticalAlignment","wrapText","outputAsync","saveAs","exportCSV","dataKeys","separator","textData","index","newHeader","replace","includes","dataIndex","newData","Blob","URL","createObjectURL","createElement","download","click","delay","time","setTimeout","escapeDate","getFileNameFromHeader","headersString","headersArray","filename","substring","truncateEllipsis","truncateLength","customCapitalize","str","charAt","toUpperCase","slice","News","news","setNews","loading","setLoading","NewsService","fetchData","_ref2","sort","a","b","Date","dataInizioValidita","paddingLeft","_ref3","testo","sottotitolo","subtitle","date","Modal","info","icon","closable","_Fragment","destroyAll","CloseOutlined","fontWeight","onKeyDown","event","DownloadDocument","mainTitle","periodoString","descrizione","idFunzione","metadati","pData","disabled","urlPath","dispatch","history","fullDate","trim","startDate","indexOf","endDate","periodoDate","Is_newReportCompiler","dtDaUp","dataDa","replaceAll","metadati_val","reportQueryString","showFromDate","isEditable","fromHome","homeDataPicker","onKeyPress","Loading","fullPage","flex","Spin","size","baseUrl","DownloadService","getAreas","getMacro","categoria","getAreaDetails","tipoDownload","macro","getPeriods","tema","getReportEvidenza","getReportConsultati","getGeneratedFileParams","getGeneratedFileParamsTable","filtri","ordine","downloadFile","param","Title","Typography","Shortcut","details","level","ShortcutSection","gutter","rowGap","md","Home","defaultSkip","queryString","repConsultati","setRepConsultati","repEvidenziati","setRepEvidenziati","getRepConsultati","all","onfulfilled","_onfulfilled$0$data","_onfulfilled$1$data","gap","paddingRight","rule_showhide","titolo_report","periodo_dati","descrizione_report","id_funzione","pdata","baseUrlSecond","TerritoryService","ambitiGeografici","pageId","dataStart","dataEnd","unitaAmministrative","ambito","pTab","dataA","ambitoUA","unita","ptab","req","dataInizio","dataFine","descrizionePagina","spool","sortParams","ReportTable","ReportHead","headerFunction","setHeaderFunction","visibleDetails","setVisibleDetails","visibleVariables","setVisibleVariables","Panel","infoIcon","InfoCircleOutlined","closeIcon","detailContent","guida","variabile","colname","note","fonte","downloadHeaders","headerVariables","formattedData","Button","FontAwesomeIcon","faFilePdf","faFileExcel","faFileLines","faFileCode","jsonFormatted","_ref4","fileData","display","expandIcon","_ref5","isActive","MinusCircleOutlined","PlusCircleOutlined","_obj$colname","unmounted","fetchHeader","_ref6","titleFinish","visible","autoFocusButton","centered","onCancel","okButtonProps","border","borderRadius","okText","onOk","modal","RicercaStoriaUABox","ArrowLeftOutlined","columnGap","margin","CodificheTerritorialiUABox","CaratteristicheClassificazioniBox","GeografieEuropeeClassificazioni","useSpoolData","call_SpoolData","useGetAutocomplete","call_GetAutocomplete","useGetReportDownload","accept","call_GetReportDownload","fileContent","fileName","mimeType","appendChild","useGetFunzione","call_GetFunzione","RangePicker","DatePicker","BodyCompiler","variabileRef","createRef","valoreRef","getReportDownload","getSpoolData","getAutocompleteData","searchParams","setSearchParams","useSearchParams","getFunzione","percorsoBk","caller_state","LF","LF_API","paginationHelper","setPaginationHelper","selectedPage","setSelectedPage","pageSize","setPageSize","currFilterValue","setCurrFilterValue","currColumnSearch","setCurrColumnSearch","currColumnValue","setCurrColumnValue","currColumnDataIndex","setCurrColumnDataIndex","variabileMenuShouldOpen","setVariabileMenuShouldOpen","tmpDates","setTmpDates","autoData","setAutoData","autoDataFiltered","setAutoDataFiltered","autocompleteIsLoading","setAutocompleteIsLoading","searchIsLoading","setSearchIsLoading","tempDesc","setTempDesc","tempSubTitle","setTempSubTitle","tempPeriodoDate","setTempPeriodoDate","loadingPDF","setLoadingPDF","loadingXLSX","setLoadingXLSX","loadingCSV","setLoadingCSV","loadingJSON","setLoadingJSON","setFunzione","fixedHomePicker","setFixedHomePicker","useSelector","reduxState","NewReportCompiler","paginationChange","pagina","pDates","has","get","_res","_res$items","plang","dateFrom","dateTo","goBack","loaded","tipoAnalisiTemporale","tipo_analisi_temporale","perDate","push","periodo_dati_da","dtTo","periodo_dati_a","dtNow","loadFunzione","chkDt","checkSearchDates","updateUrlParam","GetTableData","valore","_funzione$tipoAnalisi2","hasErrors","ret","d","_funzione$tipoAnalisi","isValid","isBefore","isAfter","dTo","GetReportDownload","downloadFileData","pFilterFields","field","textFields","pFilterValues","textValue","GetAutocompleteData","_autocompleteData$bod","tmpData","idx","toString","filteredOrderFields","filteredOrderDirects","table","addPaginationNav","FilterColumns","keyDownEvent","tmpOrderFields","tmpOrderDirects","i_","findIndex","getIconByDataIndex","faArrowDownAZ","faArrowDown19","faArrowDownZA","faArrowDown91","getColorByActive","getAriaLabelBySort","render","selectOption","nextInit","newSearchParams","URLSearchParams","set","delete","isChangingDateFilter","paginator","nav","getElementsByName","ariaLabel","querySelectorAll","element","parentElement","contains","insertAdjacentElement","renderDataPickerLabel","direction","reportTitle","htmlFor","renderReport","_tableData$body","spinning","marginBottom","marginTop","faCircleInfo","suffixIcon","allowClear","defaultValue","disabledDate","onChange","MomentObj","clear","Form","Label","Typeahead","ref","open","inputProps","readOnly","placeholder","selection","option","onFocus","onBlur","renderMenu","results","Menu","emptyLabel","MenuItem","position","paginationOption","faChevronCircleDown","paginationText","left","alt","viewBox","focusable","onSearch","inputValue","filter","v","htmlType","Tag","tmpArr","splice","faCheck","faXmark","ConfigProvider","renderEmpty","Empty","imageStyle","AntdTableScrollXaxisTop","Table","dataSource","scroll","x","pagination","total","defaultCurrent","showTotal","useGetAggiornamenti","call_GetAggiornamenti","useGetAggiornamentiDownload","call_GetAggiornamentiDownload","AggiornamentiTable","getAggiornamenti","getAggiornamentiDownload","setTableData","pageNum","setPageNum","GetAggiornamenti","num","currDate","aggData","record","textAlign","ellipsis","showTitle","aggiornamento","_aggiornamento$testoP","provvedimento","testoProvvedimento","dataFineValidita","idProvvedimento","dataProvvedimento","DownloadAggiornamenti","wordWrap","HomeIndex","Switch","Route","exact","Redirect","GlossaryService","glossary","useGetGlossarioDownload","call_GetGlossarioDownload","Glossary","_filteredGlossary$len","selectedLetter","setInputValue","getDisable","setGetDisable","setGlossary","filteredGlossary","setFilteredGlossary","titleSearch","setTitleSearch","downloadLetter","setDownloadLetter","oldCounter","setOldCounter","fetchDataGlossary","word","_searchString","letter","markedSelectByString","nome","toLowerCase","markedNome","RegExp","fetchGlossary","Group","Input","preventDefault","stringa","prefix","SearchOutlined","_obj$links","dangerouslySetInnerHTML","__html","borderColor","dashed","item","hyperlink","Head","_testoDiffusione$unit","firstLoad","useRef","checkedAmbitoGeografico","checkedUnitaAmministrativa","dateEnd","showZeroReports","showNextStep","stateApplied","showDateError","testoDiffusione","setAmbitiGeografici","setUnitaAmministrative","setAmbitoUA","setCheckedAmbitoGeografico","setCheckedUnitaAmministrativa","setDate","setDateEnd","setShowZeroReports","setShowNextStep","setStateApplied","setShowDateError","setTestoDiffusione","isComingBack","checkData","fetchDescrizionePagina","fetchAmbitiGeografici","fetchUnitaAmministrative","fetchAmbitoUA","sm","firstDate","end","start","today","oldest","diff","parsedDate","secDate","dateStart","Check","checked","ua","_unita$elencoReport","Card","Body","elencoReport","reportIndex","noteFondoPagina","WarningFilled","_ua$periodo_dati","_ua$periodo_dati2","xl","dtFrom","faRectangleList","VariazioniTerritorio","now","setReportQueryString","dataReport","dt","TerritorialUnits","StoricoService","comune","Pattern","comuneCodice","Codice","comuneRiepilogo","Comune","provinceUtsCodice","provinceUts","provinceUtsRiepilogo","Uts","tipo","regione","regioneCodice","regioneRiepilogo","Reg","tipoReg","dettVariazioni","idProvv","tipoVar","idComOrigine","datiAssVariazioni","dettVariazioniUts","id_uts","tipoUts","datiAssVariazioniUts","dettVariazioniRegione","codiceReg","datiAssVariazioniReg","RicercaCodiceSvc","getList","getValueList","tipoUnit","getDetail","prc","StoriaUA","typeaheadRef","list","setList","selected","setSelected","riepilogoColumns","setRiepilogoColumns","riepilogoRows","setRiepilogoRows","dettaglioColumns","setDettaglioColumns","dettaglioRows","setDettaglioRows","datiVariazioneColumns","setDatiVariazioneColumns","datiVariazioneRows","setDatiVariazioneRows","valueList","setValueList","filteredValueList","setFilteredValueList","setChecked","selectedRow","setSelectedRow","setTitle","isBug","setIsBug","selectedValue","setSelectedValue","setColumns","setRows","isChecked","setIsChecked","descrizioneEvento","setDescrizioneEvento","statusEventoSR","setStatusEventoSR","uaType","mounted","fetchList","return_code","_data","codice","denominazione","_data2","_data3","com","pro_com_t","fetchValueList","handleRowClick","objectOrder","variazione","assign","formattedColumns","onCell","formattedRows","rowObject","isPdf","pdfIcon","_row$value","_row$value2","Denominazione","autocompletes","label_tipologia","_typeaheadRef$current","codiceComune","denominazioneComune","codiceProvincia","denominazioneProvincia","tipoProvincia","denominazioneReg","tipoRegione","lastIndex","lastIndexOf","_denominazioneReg","_denominazioneReg$toL","match","executeSearch","toggle","textContent","bordered","rowClassName","rowKey","onRow","order","updateCategorie","updateCacheDownloadFiles","resetCacheDownloadFiles","categorie","macroCategorie","microCategorie","tree","cacheDownloadFiles","RicercaCodice","resultset","V","RC","formattedCols","rowVal","_ref9","RicostruzioneCodici","TabSkip","props","App","setIsMobile","setDefaultSkip","setQueryString","Footer","addToHistory","updateImpostazioni","impostazioni","session","user","username","idNumber","updateAggData","aggiornamentiData","additionalInfo","preloadedState","serializedState","loadFromSessionStorage","store","configureStore","Session","SessionReducer","NewReportCompilerReducer","NewDownload","NewDownloadReducer","NewAggiornamenti","NewAggiornamentiReducer","middleware","getDefaultMiddleware","devTools","subscribe","setItem","saveToSessionStorage","getState","version","setAntLocale","locale","it_IT","en_US","Root","HashRouter","I18nextProvider","ReactDOM","Provider"],"mappings":"gibAKAA,IAAKC,IAAIC,KAAkBC,KAAK,CAE9BC,UAAW,CACTC,GAAI,CACFC,aAAcC,GAEhBC,GAAI,CACFF,aAAcG,IAGlBC,cAAe,CAAEC,aAAa,GAC9BC,IAAKC,aAAaC,QAAQ,QAAU,KACpCC,GAAI,CAAC,gBACLC,UAAW,eAEXC,MAAO,CACLC,MAAM,KAIKlB,QAAI,E,iECzBJ,MAA0B,4C,2CCAzC,MAQamB,EARI,CACfC,IAAK,CACHC,cAAeC,uCACfC,aAAcD,qqCAAYE,uBAC1BC,SAAUH,KCGdI,IAAQP,OAAO,CACbQ,SAAU,IAGZC,IAAaT,OAAO,CAClBU,UAAW,UACXF,SAAU,KAwPGG,MArPf,MACEC,cACEC,KAAKC,gBAAkB,KACvBD,KAAKE,cAAgB,KACrBF,KAAKG,iBAAmB,KACxBH,KAAKI,UAAW,EAChBJ,KAAKK,iBAAcC,EACnBN,KAAKO,OAAS,CAAC,EACfP,KAAKQ,KAAO,CAAC,EACbR,KAAKS,KAAO,KACZT,KAAKU,SAAW,KAChBV,KAAKW,qBAAsB,EAC3BX,KAAKY,oBAAqB,CAC5B,CAmBA,iBAAMC,GAaH,IAZDN,EAAMO,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,CAAC,EACVN,EAAIM,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,CAAC,EACRL,EAAIK,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KACPE,EAAMF,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,MACT1B,EAAG0B,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,IACNb,EAAea,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KAClBZ,EAAaY,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KAChBX,EAAgBW,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KACnBH,EAAmBG,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,IAAAA,UAAA,GACnBF,EAAkBE,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,IAAAA,UAAA,GAClBG,EAAIH,UAAAC,OAAA,GAAAD,UAAA,SAAAR,EACJD,EAAWS,UAAAC,OAAA,SAAAT,IAAAQ,UAAA,IAAAA,UAAA,IAAG,KA4Bd,OA1BIP,EAAOH,WACTJ,KAAKI,UAAW,GAGlBJ,KAAKC,gBAAkBA,EACvBD,KAAKE,cAAgBA,EACrBF,KAAKG,iBAAmBA,EAExBH,KAAKO,OAASA,EACdP,KAAKQ,KAAOA,EACZR,KAAKS,KAAOA,EACZT,KAAKW,oBAAsBA,EAC3BX,KAAKY,mBAAqBA,EAC1BZ,KAAKK,YAAcA,EAEnBL,KAAKU,SAAWQ,IAAMC,OAAO,CAC3BC,QACEjC,EAAOC,IAAI,WAAW6B,MACrB9B,EAAOC,IAAIK,SAAW,IAAMN,EAAOC,IAAIK,SAAW,IACnDL,EACFiC,QAAS,MACTC,QAAS,IACJJ,IAAMK,SAASD,WAIftB,KAAKwB,OAAOpC,EAAK4B,EAC1B,CAYA,YAAMQ,CAAOpC,EAAK4B,GAChB,MAAMS,EAAe,CACnBT,OAAmB,aAAXA,GAA4C,cAAXA,EAAT,OAA2CA,EAC3EM,QAAS,IACJJ,IAAMK,SAASD,QAClB,eAAgB,mBAChBI,SAAU1D,EAAK0D,SACfC,cAAe9C,aAAaC,QAAQ,aAChC,UAAYD,aAAaC,QAAQ,aACjC,MAENuB,YAAaL,KAAKK,YAClBE,OAAQP,KAAKO,OACbC,KAAMR,KAAKQ,KACXoB,aAAyB,aAAXZ,GAAoC,cAAXA,EAAyB,OAAS,OACzEa,iBAAkB,WACZ7B,KAAKG,kBACPH,KAAKG,kBAET,EACA2B,aAAc,GAGhB,GAAI9B,KAAKS,KAAM,CACb,MAAMsB,EAAW,IAAIC,SAEjBC,MAAMC,QAAQlC,KAAKS,MACrBT,KAAKS,KAAK0B,SAAQ,CAACC,EAAGC,IAAMN,EAASO,OAAOF,EAAEG,OAAS,IAAMF,EAAI,IAAKD,EAAE3B,QAExEsB,EAASO,OAAOtC,KAAKS,KAAK8B,OAAQvC,KAAKS,KAAKA,MAG9C,MAAM+B,EAAkBC,OAAOC,KAAK1C,KAAKQ,MACrCgC,EAAgBzB,OAAS,GACvByB,EAAgBzB,OAAS,GAC3ByB,EAAgBL,SAASQ,IACO,kBAAnB3C,KAAKQ,KAAKmC,IAA+C,kBAAnB3C,KAAKQ,KAAKmC,GAClC,OAAnB3C,KAAKQ,KAAKmC,IACZZ,EAASO,OAAOK,EAAK3C,KAAKQ,KAAKmC,IAGV,OAAnB3C,KAAKQ,KAAKmC,IACZZ,EAASO,OAAOK,EAAKC,KAAKC,UAAU7C,KAAKQ,KAAKmC,IAElD,IAKNlB,EAAaH,QAAU,IAElBG,EAAaH,QAChB,eAAgB,uBAElBG,EAAajB,KAAOuB,CACtB,CAEA,OAAO/B,KAAKU,SACToC,QAAQrB,GACRsB,MAAMC,IACDhD,KAAKC,iBACPD,KAAKC,gBAAgB+C,GAEhBA,KAERC,OAAMC,UAGL,GAFAC,QAAQC,MAAMC,GAEVnC,IAAMoC,SAASD,GACjB,OAGF,GAAIrD,KAAKY,mBACP,OAGF,GAAIyC,EAAEL,UAAYK,EAAEL,SAASO,QAAgC,MAAtBF,EAAEL,SAASO,OAQhD,OAPA3D,IAAa4D,QAAQ,CACnB9D,QAAS1B,EAAKyF,EAAE,gCAChBC,YAAa1F,EAAKyF,EAAE,wCAElBzD,KAAKE,eACPF,KAAKE,cAAcmD,GAEdM,QAAQC,OAAOP,GAIxB,GAAIA,EAAEL,UAAYK,EAAEL,SAASO,QAAgC,MAAtBF,EAAEL,SAASO,OAQhD,OAPA3D,IAAa4D,QAAQ,CACnB9D,QAAS,4BACTgE,YAAa,iCAEX1D,KAAKE,eACPF,KAAKE,cAAcmD,GAEdM,QAAQC,OAAOP,GAG2C,IAADQ,EAAAC,EAAlE,GAAIT,EAAEL,UAAYK,EAAEL,SAASO,QAAgC,MAAtBF,EAAEL,SAASO,OAShD,OARA3D,IAAawD,MAAM,CACjB1D,QAAS,oBACTgE,aACiB,QAAfG,EAAAR,EAAEL,SAASxC,YAAI,IAAAqD,OAAA,EAAfA,EAAiBE,YAA2B,QAAnBD,EAAIT,EAAEL,SAASxC,YAAI,IAAAsD,OAAA,EAAfA,EAAiBE,QAASX,EAAEL,SAASxC,MAAQ,KAE1ER,KAAKE,eACPF,KAAKE,cAAcmD,GAEdM,QAAQC,OAAOP,GAmBxB,OAREzD,IAAawD,MAAM,CACjB1D,QAAS,sBACTgE,YAAa,qDAGb1D,KAAKE,eACPF,KAAKE,cAAcmD,GAEdM,QAAQC,OAAOP,EAAE,GAE9B,CAEA,eAAMY,CAAUC,GACd,IACE,MAAMC,QAAsBnE,KAAKoE,SAASF,GAC1C,OAAOtB,KAAKyB,MAAMF,GAAe3D,IACnC,CAAE,MAAO6C,GACP,MAAO,EACT,CACF,CAEA,cAAMe,CAASE,GACb,MAAMC,EAAa,IAAIC,WACvB,OAAO,IAAIb,SAAQ,CAACc,EAASb,KAC3BW,EAAWG,QAAU,KACnBH,EAAWI,QACXf,EAAO,IAAIgB,MAAM,wBAAwB,EAG3CL,EAAWM,OAAS,KAClBJ,EAAQF,EAAWO,OAAO,EAG5BP,EAAWQ,WAAWT,EAAQ,GAElC,GCxOaU,MAnBA,CACbC,aAAeC,IACD,IAAIpF,GACLe,YACT,CAAC,EACD,CAAEzB,IAAK,iCAAiC8F,KACxC,KACA,OACA,0BACA,KACA,KACA,MACA,GACA,EACA,U,iCCfN,IAAIC,EAA0C,OAAnCC,eAAetG,QAAQ,QAAmB,KAAOsG,eAAetG,QAAQ,QAqB5E,MAAMuG,EAAcA,IAClBF,E,OCGMG,MAvBEA,KACf,MAAOC,EAAeC,GAAoBC,mBAAS,MAC7CC,EAAeA,KACnB,IAAIC,EAAcC,OAAOC,WAEvBL,EADEG,GAAe,IAInB,EAYF,OATAG,qBAAU,KACRJ,IACAE,OAAOG,iBAAiB,SAAUL,GAE3B,KACLE,OAAOI,oBAAoB,SAAUN,EAAa,IAEnD,IAEIH,CAAa,E,wBCtBf,MAAMU,EAAe,CAC1BC,UAAW,CACTC,MAAO,GACPC,KAAM,GACNC,SAAU,GACVC,UAAW,GACXC,MAAO,GACPC,WAAY,IAEdC,eAAgB,CAAC,EAEjBC,QAAS,CACPC,YAAa,GACbC,aAAc,IAEhBpG,KAAM,CACJqG,SAAU,KACVC,QAAS,MAEXC,YAAa,CACXC,aAAc,IAQhBC,SAAU,CACRC,GAAI,OAIKC,EAAaC,YAAa,cAC1BC,EAAiBD,YAAa,kBAC9BE,EAAkBF,YAAa,mBAC/BG,EAAgBH,YAAa,iBAC7BI,EAAoBJ,YAAa,qBAqB/BK,MAnBCC,YAAczB,GAAe0B,IAC3CA,EACGC,QAAQT,GAAY,CAACU,EAAOC,KAC3BD,EAAMrH,KAAO,IAAKqH,EAAMrH,QAASsH,EAAOC,QAAS,IAElDH,QAAQN,GAAiB,CAACO,EAAOC,KAChCD,EAAM3B,UAAY,IAAK2B,EAAM3B,aAAc4B,EAAOC,QAAS,IAE5DH,QAAQL,GAAe,CAACM,EAAOC,KAC9BD,EAAMnB,QAAU,IAAKmB,EAAMnB,WAAYoB,EAAOC,QAAS,IAExDH,QAAQJ,GAAmB,CAACK,EAAOC,KAClCD,EAAMd,YAAc,IAAKc,EAAMd,eAAgBe,EAAOC,QAAS,IAEhEH,QAAQP,GAAgB,CAACQ,EAAOC,KAC/BD,EAAMZ,SAAW,IAAKY,EAAMZ,YAAaa,EAAOC,QAAS,GACzD,ICpCN,SAASC,EAAcC,GAAyB,IAAxB,QAAEC,EAAO,SAAEC,GAAUF,EAC3C,OAAQC,GACN,IAAK,QACH,OACEE,cAAA,OAAKC,UAAU,iDAAgDC,SAAC,WAIpE,IAAK,MACH,OACEF,cAAA,OAAKC,UAAU,iDAAgDC,SAAC,aAIpE,IAAK,OACH,OACEF,cAAA,OAAKC,UAAU,iDAAgDC,SAAC,aAKpE,QACE,MAAO,GAEb,CA2NeC,MAzNf,WACmBC,cAAjB,MACML,EAAW7C,KAEX,EAAE7B,GAAMgF,eACPC,EAAcC,GAAmBlD,sBACjCmD,EAASC,GAAcpD,mBAAS,KAChCqD,EAAgBC,GAAqBtD,sBACrCuD,EAAOC,GAAYxD,qBAmG1B,OAlGgByD,cAEiBC,sBAC/BC,IAAEC,UAAUL,GAAUL,EAAgBK,IAAQ,KAAK,GACnD,IAGFlD,qBAAU,MAYQ,OAAZ4C,QAAY,IAAZA,OAAY,EAAZA,EAAc3H,QAAS,GAXTmC,WAAa,IAADoG,EAC5B,MAAM,KAAE9I,SAAewE,EAAOC,aAAayD,GACrCa,EAAW,OAAJ/I,QAAI,IAAJA,GAAW,QAAP8I,EAAJ9I,EAAMgJ,aAAK,IAAAF,OAAP,EAAJA,EAAaG,KAAI,CAACC,EAAKC,KAC3B,CACLX,MAAOU,EAAiB,YACxBvD,MAAOuD,EAAI,eACXE,OAAQF,MAGZb,EAAWU,EAAK,EAGhBM,EACF,GACC,CAACnB,IA6EFoB,eAAA,UAAQC,MAAO,CAACC,gBAAgB,WAAW1B,SAAA,CACzCF,cAACJ,EAAc,CAACE,QAAS5I,SACzB8I,cAAA,OAAKC,UAAW,8DAA8DC,SAC5EF,cAAA,OAAK6B,IAAKC,EAAY,aAAW,iBAEnCJ,eAAA,OACEzB,UAAW,2CACTF,EAAW,cAAgB,IAC1BG,SAAA,CAEHF,cAAA,OAAAE,SACEF,cAAA,MACE2B,MAAO,CAAEI,UAAW,OAAQC,MAAO,WACnC/B,UAAW,oDACTF,EAAW,qCAAuC,mBAElDG,SACFF,cAACiC,OAAI,CAACnD,GAAG,OAAOoD,GAAG,IAAGhC,SAAC,eAK3BF,cAAA,OAAKC,UAAW,cACZF,EAAW,SAAW,IACrBG,SACHF,cAAA,OACE2B,MAAO,CAAEI,UAAYhC,EAAqB,OAAV,SAChCE,UAAU,mDAAkDC,SAC5DF,cAACmC,IAAO,CAAClC,UAAU,iBAAiBmC,KAAK,iBAG7CpC,cAAA,OAAAE,SACEF,cAAA,OACI2B,MAAO,CAAEI,UAAYhC,EAAqB,OAAV,QAAkBsC,WAAW,WAC/DpC,UAAW,uDACTF,EAAW,qCAAuC,IACjDG,SACF7E,EAAE,yBAsEf,E,yBCnEeiH,MAzLf,SAAkBzC,GAAqC,IAApC,aAAE0C,EAAY,gBAAEC,GAAiB3C,EAClD,MAAM,EAAExE,GAAMgF,eAEPoC,EAASC,GAAcrF,sBACvBsF,EAAaC,GAAkBvF,oBAAS,IACxCwF,EAAUC,GAAezF,oBAAS,IAClC0F,EAAcC,GAAmB3F,mBAAS,MAE3C4F,EAAWC,cACDpC,cAEhBpD,qBAAU,KAAO,IAADyF,EAAAC,EAAAC,EACd,MAAMC,EAAOL,EAASM,SAASC,MAAM,KAAK,GAC1CR,EAAgBM,GAEhB,MAAMG,EAAO,IAAMH,EACnBZ,EAAWe,GAEX,IAAIC,EAAQC,SAASC,uBAAuB,gBAC5C/J,MAAMgK,UAAU9J,QAAQ+J,KAAKJ,GAAO,SAAUK,GAC5CA,EAAKC,aAAa,eAAgB,GACpC,IACiD,QAAjDb,EAAAQ,SAASC,uBAAuB,eAAe,UAAE,IAAAT,GAAjDA,EAAmDc,UAAUC,OAAO,eAGD,QADnEd,EAAAO,SACGQ,cAAc,UAAUjN,SAA+BuM,cAAS,IAAAL,GADnEA,EAEIa,UAAUG,IAAI,eAEiD,QADnEf,EAAAM,SACGQ,cAAc,UAAUjN,SAA+BuM,cAAS,IAAAJ,GADnEA,EAEIW,aAAa,eAAgB,OAAO,GACvC,CAACf,IAEJ,MAAMoB,EAAsBC,IACrB3B,IACHgB,SAASY,eAAe,oBAAoBN,UAAUC,OAAO,QAC7DtB,GAAe,IAIfJ,EADEO,GAAgBA,IAAiBuB,EACnB/B,EAAe,EAGf,EAClB,EAQF,OACEvC,cAACwE,IAAM,CAAC3B,SAAUA,EAAU4B,KAAK,qBAAkBC,OAAO,KAAKzE,UAAU,SAAS0E,QAAQ,OAAOC,SAAUA,IAAM9B,GAAY,GAAO5C,SAClIwB,eAAA,OAAKzB,UAAU,gBAAeC,SAAA,CAC5BF,cAACwE,IAAOK,OAAM,CAACC,QAASA,IAAMhC,GAAaD,GAAW,gBAAc,mBAAmB9E,MAAO8E,EAAW,4BAA2B,4BACpI7C,cAACwE,IAAOO,SAAQ,CAACjG,GAAG,mBAAkBoB,SACpCwB,eAACsD,IAAG,CAAC/E,UAAU,UAAUgF,KAAK,OAAM/E,SAAA,CAClCF,cAACgF,IAAI/C,KAAI,CACPgD,KAAK,WAELC,KAAM,cACNjF,UAAU,eACVkF,SAAU,EACVL,QAASA,KAAOT,EAAmB,OAAO,EAAEnE,SAC3C7E,EAAE,cALC,iBAON2E,cAACgF,IAAI/C,KAAI,CACPgD,KAAK,WAELC,KAAM,oBACNjF,UAAU,eACVkF,SAAU,EACVL,QAASA,KAAOT,EAAmB,aAAa,EAAEnE,SACjD7E,EAAE,mBALC,uBAON2E,cAACgF,IAAI/C,KAAI,CACPgD,KAAK,WAELC,KAAM,oBACNjF,UAAU,eACVkF,SAAU,EACVL,QAASA,KAAOT,EAAmB,aAAa,EAAEnE,SACjD7E,EAAE,oBALC,uBAON2E,cAACgF,IAAI/C,KAAI,CACPgD,KAAK,WAELC,KAAM,8BACNjF,UAAU,eACVkF,SAAU,EACVL,QAASA,KAAOT,EAAmB,uBAAuB,EAAEnE,SAC3D7E,EAAE,iBALC,iCAON2E,cAACgF,IAAI/C,KAAI,CACPgD,KAAK,WAELC,KAAM,mBACNjF,UAAU,eACVkF,SAAU,EACVL,QAASA,KAAOT,EAAmB,YAAY,EAAEnE,SAChD7E,EAAE,mBALC,sBAON2E,cAACgF,IAAI/C,KAAI,CACPgD,KAAK,WAELC,KAAM,wBACNjF,UAAU,eACVkF,SAAU,EACVL,QAASA,KAAOT,EAAmB,iBAAiB,EAAEnE,SACrD7E,EAAE,sBALC,2BAkBN2E,cAACgF,IAAI/C,KAAI,CACPgD,KAAK,WAELC,KAAM,mBACNjF,UAAU,eACVkF,SAAU,EACVL,QAASA,KAAOT,EAAmB,YAAY,EAAEnE,SAChD7E,EAAE,mBALC,+BA2DlB,E,mCClMe,ICAA,MAA0B,4CC6D1B+J,MA1CQA,KACrB,MAAMC,EAAc,CAClBtH,MAAO,GACPC,KAAM,GACNE,UAAW,EACXD,SAAU,GACVqH,YAAa,GACbnH,MAAO,KAEFoH,EAAWC,GAAgBnI,oBAAS,IACpCrC,EAAOyK,GAAYpI,mBAAS,OAC5BjF,EAAMsN,GAAWrI,mBAASgI,GAsBjC,MAAO,CACLE,YACAvK,QACA5C,OACAuN,QAAS5E,uBAxBKjG,iBAAyC,IAAlC1C,EAAIM,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGkN,EAAYlN,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GAC/C,IACE8M,GAAa,GACb,MAAMK,QAhCoB/K,eAAO1C,GACrC,MAAMrB,EAAS,CACb6B,OAAQ,MACR5B,IAAK,uCAHgE0B,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,4BAAnBA,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KAIxDQ,QAAS,CAAC,EACVf,OAAQC,GAGJyN,SADiB/M,IAAM/B,IACCqB,KAK9B,OAFwByN,GAA8B,EAGxD,CAkBiCC,CAAiB1N,EAAMwN,GAGlD,OAFAF,EAAQG,GACRL,GAAa,GACNK,CACT,CAAE,MAAO5K,GACPwK,EAASxK,GACTuK,GAAa,EAEf,CACF,GAYgC,IAC9BO,MAAOhF,uBAXKgF,KACZP,GAAa,GACbE,EAAQL,GACRI,EAAS,KAAK,GAQY,IAC3B,ECuGYO,qBAhIf,SAAenG,GAAgB,IAAf,SAAEE,GAAUF,EAC1B,MAAM,EAAExE,GAAMgF,cACR4F,EAAcb,KACbc,EAAUC,GAAe9I,mBAAS,MASzC,OAPAK,qBAAU,KACR,WACE,IAAI0I,QAAYH,EAAYN,UAC5BQ,EAAYC,EACb,EAHD,EAGI,GACH,IAGD1E,eAAC2E,IAAG,CAACpG,UAAU,gBAAeC,SAAA,CAC5BF,cAACsG,IAAG,CAACC,GAAI,GAAIC,GAAI,EAAGvG,UAAU,oBAAmBC,SAC/CF,cAAA,KAAGmF,SAAU,EACXD,KAAK,uBACLuB,OAAO,SACPC,IAAI,aACJ,aAAW,mDAAkDxG,SAE7DF,cAAA,OACE2B,MAAO,CAAEgF,MAAO,OAAQC,OAAQ,QAChC3G,UAAWF,EAAW,OAAS,GAC/B8B,IAAKgF,EACL,cAAY,aAIlBnF,eAAC4E,IAAG,CAACC,GAAI,GAAIC,GAAI,CAACM,KAAM,EAAGC,OAAQ,GAAI9G,UAAU,qBAAoBC,SAAA,EACjEH,GAAYC,cAACmC,IAAO,CAAClC,UAAU,sCAAsCmC,KAAK,aAC5EV,eAAA,OACEzB,UAAW,mDAAmDF,EAAqB,SAAV,SACpEG,SAAA,CACLF,cAAA,KACEkF,KAAK,mCACLuB,OAAO,SACPtB,SAAU,EACVuB,IAAI,aACJ,aAAW,0DAAyDxG,SAEnE7E,EAAE,qBAEL2E,cAAA,KAAGkF,KAAK,kCACNuB,OAAO,SACPtB,SAAU,EACVuB,IAAI,aACJ,aAAW,yDAAwDxG,SAElE7E,EAAE,oBAEL2E,cAAA,KACEkF,KAAK,sCACLuB,OAAO,SACPtB,SAAU,EACVuB,IAAI,aACJ,aAAW,6DAA4DxG,SAEtE7E,EAAE,wBAEL2E,cAAA,KACEkF,KAAc,OAARgB,QAAQ,IAARA,OAAQ,EAARA,EAAUc,4BAChBP,OAAO,SACPtB,SAAU,EACVuB,IAAI,aACJ,aAAW,4EAAwExG,SAElF7E,EAAE,4CAITqG,eAAC4E,IAAG,CAACC,GAAI,GAAIC,GAAI,EAAGvG,UAAU,+BAA8BC,SAAA,EACxDH,GAAYC,cAACmC,IAAO,CAAClC,UAAU,sCAAsCmC,KAAK,aAC5EV,eAAA,OACEzB,UAAW,mDAAmDF,EAAqB,SAAV,SAEzE4B,MAAO,CAAEI,UAAW,UAAW7B,SAAA,CAC/BF,cAAA,KACEkF,KCvGU,wBDwGVuB,OAAO,SACPtB,SAAU,EACVuB,IAAI,aACJ,aAAW,oDAAmDxG,SAC/D,WAGDF,cAAA,KACEkF,KC/GY,gCDgHZuB,OAAO,SACPtB,SAAU,EACVuB,IAAI,aACJ,aAAW,sDAAqDxG,SACjE,qBAkCX,I,SE5JA,MAEM+G,GAAoB,CACxBC,WAAY,WAAgD,IAA/CC,EAAOzO,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,QAAGR,EAAWkP,EAAQ1O,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,QAAGR,EAE3C,IAAIC,EAIJ,OAHIgP,GAAWC,IACbjP,EAAS,CAAEgP,UAASC,cAHV,IAAI1P,GAKLe,YACTN,EACA,CAAC,EACD,KACA,MACA,kEAGEkP,MAASC,OAAO,cAClB,KACA,KACA,MACA,GACA,EACA,QAEJ,GAGaL,UC/BA,4jB,gDC+PAM,OAzPf,MACE,gBAAOC,CAAU5L,EAAO6L,EAASC,EAAMC,GACrC,MAIMC,EAAM,IAAIC,WAAMF,EAJT,KACA,MAKbC,EAAIE,YAAY,IAEhB,MAAM5O,EAAU,CAACuO,EAAQpG,KAAK0G,GAAWA,EAAOnM,SAE1CxD,EAAOsP,EAAKrG,KAAK2G,GAAQ3N,OAAO4N,OAAOjH,IAAEkH,KAAKF,EAAK,CAAC,WAE1DJ,EAAIO,KAAKvM,EATU,GASS,GAAI,CAAEwM,SAAU,IAAKC,MAAO,SACxDT,EAAIU,UAAU,CACZC,OAAQ,GACRC,KAAMtP,EACN8E,KAAM5F,EACNqQ,WAAY,CACVC,SAAU,EACVC,OAAQ,SACRC,OAAQ,OACRC,UAAW,WAEbC,WAAY,CACVH,OAAQ,SACRC,OAAQ,OACRG,YAAa,EACbC,cAAe,GACfC,aAAc,KAEhBC,MAAO,SAETtB,EAAIuB,KAAKvN,EAAQ,OACnB,CAEA,mBAAOwN,CAAahR,EAAMiR,GACxB,IAAIC,EAASjP,OAAOC,KAAKlC,EAAK,IAC1BmR,EAAYnR,EAAKiJ,KAAK2G,GACjBsB,EAAOjI,KAAI,SAAUmI,GAC1B,OAAOxB,EAAIwB,GAAaxB,EAAIwB,GAAa,EAC3C,MAGF,OADAD,EAAUE,QAAQJ,GACXE,CACT,CAEA,uBAAaG,CAAWC,EAAQN,EAAQ3B,EAAMkC,EAASC,GACrDC,KAAaC,iBAAiBpP,MAAKG,UACjC,MAAM2M,EAAU,CACd,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEIuC,EAASC,EAASC,MAAM,GAAGzF,KAAK,QAChC8E,EAAY3R,KAAKwR,aAAa1B,EAAM2B,GACpCc,EAAeZ,EAAU,GAAG5Q,OAElC,IAAIyR,EACAC,EACJ,GAAIT,GAAWC,EAAO,CACpBI,EAASK,SAAS,YAElBF,EAASH,EAASC,MAAM,GACxBG,EAAazS,KAAKwR,aAAaS,EAAOD,GACtCQ,EAAOG,KAAK,MAAM3J,MAAMyJ,GACxB,MAAMG,EAAQJ,EAAOK,YACfC,EAAYC,OAAOC,aAAa,GAAKP,EAAW,GAAG1R,QACzDyR,EAAOpC,IAAI,GAAGrG,MAAM,QAAQ,GAC5B,IAAK,IAAIJ,EAAI,EAAGA,EAAI4I,EAAc5I,IAChC6I,EAAOrC,OAAON,EAAQlG,IAAIoF,MAAM0D,EAAW,GAAG1R,OAAS,GAAK,GAAK,IAEnEyR,EAAOI,MAAM,MAAQE,EAAY,KAAK/I,MAAM,CAC1CkJ,KAAM,SACNC,UAAW,SACXC,oBAAqB,SACrBC,kBAAmB,SACnBC,UAAU,IAEZb,EAAOI,MAAM,MAAQE,EAAYhD,EAAK/O,OAAS,GAAGgJ,MAAM,CACtDoJ,oBAAqB,OACrBC,kBAAmB,SACnBC,UAAU,IAEZT,EAAM7I,MAAM,UAAU,EACxB,CAEAqI,EAAOO,KAAK,MAAM3J,MAAM2I,GACxB,MAAMiB,EAAQR,EAAOS,YACfC,EAAYC,OAAOC,aAAa,GAAKT,GAC3CH,EAAOhC,IAAI,GAAGrG,MAAM,QAAQ,GAC5B,IAAK,IAAIJ,EAAI,EAAGA,EAAI4I,EAAc5I,IAChCyI,EAAOjC,OAAON,EAAQlG,IAAIoF,MAAMwD,EAAe,GAAK,GAAK,IAe3D,OAbAH,EAAOQ,MAAM,MAAQE,EAAY,KAAK/I,MAAM,CAC1CkJ,KAAM,SACNC,UAAW,SACXC,oBAAqB,SACrBC,kBAAmB,SACnBC,UAAU,IAEZjB,EAAOQ,MAAM,MAAQE,EAAYhD,EAAK/O,OAAS,GAAGgJ,MAAM,CACtDoJ,oBAAqB,OACrBC,kBAAmB,SACnBC,UAAU,IAEZT,EAAM7I,MAAM,UAAU,GACfsI,EAASiB,cAAcvQ,MAAMyL,IAClC+E,kBAAO/E,EAAKuD,EAAS,QAAQ,GAC7B,GAEN,CAEA,gBAAOyB,CAAUxP,EAAO1C,EAASmS,EAAUjT,EAAMkT,GAC/C,IAAIC,EAAW,GAGfrS,EAAQa,SAAQ,CAAC6G,EAAO4K,KAEtB,GAAI5K,EAAO,CACT,IAAI6K,EAAY7K,EAChB6K,EAAYA,EAAUC,QAAQ,KAAM,IACpCD,EAAYA,EAAUC,QAAQ,KAAM,KAChCD,EAAUE,SAASL,GACrBC,GAAY,IAAME,EAAY,IAG9BF,GAAYE,CAEhB,MAEEF,GAAY,YAAcC,EAAQ,GAGhCA,KAAiB,OAAPtS,QAAO,IAAPA,OAAO,EAAPA,EAASP,QAAS,IAC9B4S,GAAYD,EACd,IAGFC,GAAY,KAGZnT,EAAK2B,SAAQ,CAACiO,EAAK4D,KAEjBP,EAAStR,SAAQ,CAACQ,EAAKiR,KAErB,GAAIxD,EAAIzN,GAAM,CACZ,IAAIsR,EAAU7D,EAAIzN,GAClBsR,EAAUA,EAAQH,QAAQ,KAAM,IAChCG,EAAUA,EAAQH,QAAQ,KAAM,KAC5BG,EAAQF,SAASL,GACnBC,GAAY,IAAMM,EAAU,IAG5BN,GAAYM,CAEhB,CAEIL,KAAkB,OAARH,QAAQ,IAARA,OAAQ,EAARA,EAAU1S,QAAS,IAC/B4S,GAAYD,EACd,IAGEM,KAAkB,OAAJxT,QAAI,IAAJA,OAAI,EAAJA,EAAMO,QAAS,IAC/B4S,GAAY,KACd,IAIF,MAAMzP,EAAO,IAAIgQ,KAAK,CAACP,GAAW,CAAEnJ,KAAM,aACpCpL,EAAM+U,IAAIC,gBAAgBlQ,GAC1BiI,EAAOJ,SAASsI,cAAc,KACpClI,EAAKmI,SAAWtQ,EAAQ,OACxBmI,EAAKmB,KAAOlO,EACZ+M,EAAKoI,OACP,CAEA,YAAOC,CAAMC,GACX,OAAO,IAAI9Q,SAASc,GAAYiQ,WAAWjQ,EAASgQ,IACtD,CAEA,iBAAOE,CAAW3L,GAChB,OAAIA,EACsB,iBAAVA,GACJA,EAAM+K,SAAS,SAAW/K,EAAM+K,SAAS,QAClC,GAGR/K,EAEJ,EACT,CAEA,4BAAO4L,CAAsBC,GAC3B,MAAMC,EAAeD,EAAcjJ,MAAM,KACzC,IAAImJ,EAAW,GAiBf,OAhBAD,EAAa3S,SAAQsP,IACnB,GAAIA,EAAOsC,SAAS,cAAe,CACjC,MAAMlH,EAAO4E,EAAO7F,MAAM,cAAc,GACxCmJ,EAAWlI,EAAKmI,UAAU,EAAGnI,EAAK9L,OAAS,EAC7C,KAGe,KAAbgU,GACFD,EAAa3S,SAAQsP,IACnB,GAAIA,EAAOsC,SAAS,eAAiBtC,EAAOsC,SAAS,cAAe,CAClE,MAAMlH,EAAO4E,EAAO7F,MAAM,aAAa,GACvCmJ,EAAWlI,CACb,KAIGkI,CACT,CAEA,uBAAOE,CAAiB1E,GAA4B,IAAtB2E,EAAcpU,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GAC7C,OAAOyP,EAAKxP,OAASmU,EAAiB3E,EAAKyE,UAAU,EAAGE,GAAkB,MAAQ3E,CACpF,CAEA,uBAAO4E,CAAiBC,GACtB,OAAOA,EAAIC,OAAO,GAAGC,cAAgBF,EAAIG,MAAM,EAOjD,G,UCjFaC,OA9Jf,SAAavN,GAAgB,IAAf,SAAEE,GAAUF,EACxB,MAAM,EAAExE,GAAMgF,eACPgN,EAAMC,GAAWjQ,mBAAS,KAC1BkQ,EAASC,GAAcnQ,oBAAS,GAkHvC,OA5GAK,qBAAU,KACR8P,GAAW,GALK1S,gBACH2S,GAAYvG,aAKzBwG,GAAY/S,MAAKgT,IAAe,IAAd,KAAEvV,GAAMuV,EACxBL,EACElV,EAAK4F,KAAK4P,MAAK,CAACC,EAAGC,IAAM,IAAIC,KAAKD,EAAEE,oBAAsB,IAAID,KAAKF,EAAEG,uBAEvER,GAAW,EAAM,IAEZ,IAAMF,EAAQ,MACpB,IAoGD5L,eAAA,OAAKzB,UAAU,iBAAgBC,SAAA,CAC7BF,cAAA,MAAIC,UAAU,kBAAiBC,SAAE7E,EAAE,qBAMnC2E,cAACmC,IAAO,CAAClC,UAAU,sBACnByB,eAAA,OAAKzB,UAAU,4BAA2BC,SAAA,CACxCF,cAAA,MAAI2B,MAAO,CAAEsM,YAAa,KAAM/N,SAC7BmN,EAAKhM,KACJ,CAAA6M,EAKG1C,KAAK,IALP,OACC7B,EAAM,MACNwE,EAAK,mBACLH,EAAkB,YAClBI,GACDF,EAAA,OAlHGtS,EAoHA+N,EApHO0E,EAqHPF,EArHiBG,EAsHjBN,EAtHgCzT,EAwHhC,QAAUiR,EAtHpBxL,cAAA,MAAAE,SACEF,cAAA,KAAAE,SACEwB,eAAA,OACEyD,SAAS,IACTL,QAASA,IACPyJ,IAAMC,KAAK,CACTvO,UAAW,YACXwO,KAAM,KACNC,UAAU,EACVxS,QACEwF,eAAAiN,WAAA,CAAAzO,SAAA,CACEwB,eAAC2E,IAAG,CAACpG,UAAU,cAAaC,SAAA,CAC1BF,cAACsG,IAAG,CAACQ,KAAM,GAAI7G,UAAU,eAAcC,SACrCF,cAAA,MAAIC,UAAU,gBAAeC,SAAEtE,MAEjCoE,cAACsG,IAAG,CAACQ,KAAM,EAAG7G,UAAU,aAAYC,SAClCF,cAAA,UACE,aAAW,SACX8E,QAASA,KACPyJ,IAAMK,YAAY,EAClB1O,SACFF,cAAC6O,KAAa,CAAC5O,UAAU,MAAM,aAAY,cAIjDD,cAACqG,IAAG,CAACpG,UAAU,cAAaC,SAC1BF,cAACsG,IAAG,CAACQ,KAAM,GAAI7G,UAAU,eAAcC,SACrCF,cAAA,SAAOC,UAAU,6BAA4BC,SAAEmO,QAGnDrO,cAAA,OAAKC,UAAU,eAAcC,SAC7BwB,eAAA,OAAAxB,SAAA,CACEF,cAAA,QAAM2B,MAAO,CAACmN,WAAW,OAAO5O,SAAC,yBAA4BmH,IAAOiH,GAAMhH,OAAO,wBAO3FyH,UAAYC,IACQ,UAAdA,EAAMzU,KACRgU,IAAMC,KAAK,CACTvO,UAAW,YACXwO,KAAM,KACNC,UAAU,EACVxS,QACEwF,eAAAiN,WAAA,CAAAzO,SAAA,CACEwB,eAAC2E,IAAG,CAACpG,UAAU,cAAaC,SAAA,CAC1BF,cAACsG,IAAG,CAACQ,KAAM,GAAI7G,UAAU,eAAcC,SACrCF,cAAA,MAAIC,UAAU,gBAAeC,SAAEtE,MAEjCoE,cAACsG,IAAG,CAACQ,KAAM,EAAG7G,UAAU,aAAYC,SAClCF,cAAA,UACE,aAAW,SACX8E,QAASA,KACPyJ,IAAMK,YAAY,EAClB1O,SACFF,cAAC6O,KAAa,CAAC5O,UAAU,MAAM,aAAY,cAIjDD,cAACqG,IAAG,CAACpG,UAAU,cAAaC,SAC1BF,cAACsG,IAAG,CAACQ,KAAM,GAAI7G,UAAU,eAAcC,SACrCF,cAAA,SAAOC,UAAU,6BAA4BC,SAAEmO,QAGnDrO,cAAA,OAAKC,UAAU,eAAcC,SAC7BwB,eAAA,OAAAxB,SAAA,CACEF,cAAA,QAAM2B,MAAO,CAACmN,WAAW,OAAO5O,SAAC,yBAA4BmH,IAAOiH,GAAMhH,OAAO,uBAM3F,EAEFrH,UAAU,YAAWC,SAAA,CAErBF,cAAA,OAAKC,UAAU,eAAcC,SAC3BF,cAAA,OAAKC,UAAU,QAAQgF,KAAK,UAAU,aAAW,IAAG/E,SAAEtE,MAExDoE,cAAA,OAAAE,SACEF,cAAA,OAAKC,UAAU,WAAUC,SAAEmO,MAE7BrO,cAAA,OAAKC,UAAU,YAAWC,SACxBwB,eAAA,OAAKzB,UAAU,OAAMC,SAAA,CACnBwB,eAAA,QAAMC,MAAO,CAACmN,WAAW,OAAO5O,SAAA,CAAE7E,EAAE,kBAAkB,QAAS2E,cAAA,QAAMC,UAAU,cAAaC,SAAEmH,IAAOiH,GAAMhH,OAAO,2BAtFnH/M,GAFA6S,IAACxR,EAAOyS,EAAUC,EAAe/T,CAyHjC,MAGN8S,GAAQA,EAAK1U,OAAS,GACrBqH,cAACiC,OAAI,CACHC,GAAI,sBACJjC,UAAU,yCACV,aAAY,aACZkF,SAAU,EAAEjF,SAAC,oBAOzB,ECtDe+O,OAtGf,SAAyBpP,GAWrB,IAXsB,UACxBqP,EAAS,MACTtT,EAAK,cACLuT,EAAa,YACbC,EAAW,WACXC,EAAU,SACVC,EAAQ,MACRC,EAAK,SACLC,EAAQ,SACRrK,EAAQ,QACRsK,GACD5P,EACC,MAAM6P,EAAWtP,cACXuP,EAAU7O,cACVwN,EAAOjH,MACPuI,EACJtB,EAAKhH,OAAO,KAAM,CAAEuI,MAAM,IAC1B,IACAvB,EAAKhH,OAAO,KAAM,CAAEuI,MAAM,IAC1B,IACAvB,EAAKhH,OAAO,OAAQ,CAAEuI,MAAM,IAC9B,IAAIC,EAAYX,EAAcvC,UAC5BuC,EAAcY,QAAQ,KAAO,EAC7BZ,EAAcY,QAAQ,MAEpBC,EAAUzI,GAAMgF,WAAW4C,EAAcvC,UAAUuC,EAAcY,QAAQ,KAAO,IACpFC,EAAUA,GAAoB3I,MAASC,OAAO,cAC9C,MAAM2I,EAAc,CAACH,EAAWE,GAChC,OACEtO,eAAA,OACEzB,UAAW,sBAAqBuP,EAAW,oBAAsB,IACjE1K,QAASA,KACP4K,EAASxQ,EAAgBgR,EAAqBpS,YAC9C4R,EAAStQ,EAAkB8Q,EAAqBvR,cAChD+Q,EAASvQ,EAAc+Q,EAAqB5R,UAC5C,IAAI6R,EAAS9I,IAAOkI,EAAO,cAAcjI,OAAO,cAChDoI,EACE3Q,EAAW,CAAEN,SAAU4I,IAAOkI,EAAO,cAAcjI,OAAO,cAAe5I,QAAS,QAGpFiR,EAAQ,SAASF,GAAW,aAAaJ,cAAuBc,IAAU,CACxE1Q,MAAO,CACL2Q,OAAQb,EAAMc,WAAW,IAAK,KAC9BxR,SAAUwQ,EACVzT,QACAsT,YACAe,cACAb,cACAkB,aAAchB,EACdiB,kBAAmB,OAAOlB,cAAuBc,IACjDK,cAAmB,OAALjB,QAAK,IAALA,OAAK,EAALA,EAAOc,WAAW,IAAK,QAAST,EAC9Ca,YAAY,EACZC,UAAU,EACVC,gBAAqB,OAALpB,QAAK,IAALA,OAAK,EAALA,EAAOc,WAAW,IAAK,QAAST,EAAW,KAAO,QAEpE,EAEJgB,WAAa5B,IACX,GAAkB,UAAdA,EAAMzU,IAAiB,CACzBmV,EAASxQ,EAAgBgR,EAAqBpS,YAC9C4R,EAAStQ,EAAkB8Q,EAAqBvR,cAChD+Q,EAASvQ,EAAc+Q,EAAqB5R,UAC5C,IAAI6R,EAAS9I,IAAOkI,EAAO,cAAcjI,OAAO,cAChDoI,EACE3Q,EAAW,CACTN,SAAU4I,IAAOkI,EAAO,cAAcjI,OAAO,cAC7C5I,QAAS,QAIbiR,EAAQ,SAASF,GAAW,aAAaJ,cAAuBc,IAAU,CACxE1Q,MAAO,CACL2Q,OAAQb,EAAMc,WAAW,IAAK,KAC9BxR,SAAUwQ,EACVzT,QACAsT,YACAe,cACAb,cACAkB,aAAchB,EACdiB,kBAAmB,OAAOlB,cAAuBc,IACjDK,cAAmB,OAALjB,QAAK,IAALA,OAAK,EAALA,EAAOc,WAAW,IAAK,QAAST,EAC9Ca,YAAY,EACZC,UAAU,EACVC,gBAAqB,OAALpB,QAAK,IAALA,OAAK,EAALA,EAAOc,WAAW,IAAK,QAAST,EAAW,KAAO,QAGxE,GAEFzK,SAAUA,EAASjF,SAAA,CACnBF,cAAA,OAAAE,SACEF,cAAA,KAAGC,UAAU,sBAAqBC,SAAEtE,MAEtC8F,eAAA,OAAKzB,UAAU,wDAAuDC,SAAA,CACpEwB,eAAA,QAAMzB,UAAU,cAAaC,SAAA,EACrB,OAALqP,QAAK,IAALA,OAAK,EAALA,EAAOc,WAAW,IAAK,QAAST,EAAW,KAAO,MAAM,IAAE,OACrD,IACPL,OAIT,E,UCrGesB,OATf,SAAgBhR,GAAsC,IAArC,SAAEiR,GAAW,EAAK,KAAEC,GAAO,GAAOlR,EACjD,OACEG,cAAA,OACEC,UAAW,qBAAqB6Q,EAAW,YAAc,MAAMC,EAAO,eAAiB,KAAK7Q,SAC5FF,cAACgR,KAAI,CAACC,KAAK,WAGjB,ECRA,MAAMC,GAAU,qBA8KDC,OA3KS,CACtBC,SAAUA,KACI,IAAI1Z,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,yBACP,KACA,OACA,QAAUka,GACV,KACA,KACA,MACA,GACA,EACA,SAIJG,SAAWC,IACG,IAAI5Z,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,yCAAyCsa,KAChD,KACA,OACA,QAAQJ,KACR,KACA,KACA,MACA,GACA,EACA,SAIJK,eAAgBA,CAACC,EAAcC,KACjB,IAAI/Z,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,oCAAoCwa,gBAA2BC,KACtE,KACA,OACA,QAAQP,KACR,KACA,KACA,MACA,GACA,EACA,SAIJQ,WAAYA,CAACF,EAAcC,EAAOE,KACpB,IAAIja,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,oCAAoCwa,gBAA2BC,WAAeE,KACrF,KACA,OACA,QAAQT,KACR,KACA,KACA,MACA,GACA,EACA,SAIJU,kBAAmBA,KACL,IAAIla,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,4BACP,KACA,OACA,QAAUka,GACV,KACA,KACA,MACA,GACA,EACA,SAIJW,oBAAqBA,KACP,IAAIna,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,8BACP,KACA,OACA,QAAUka,GACV,KACA,KACA,MACA,GACA,EACA,SAIJY,uBAAwBA,CAACxK,EAAQgH,EAAMzP,KACrC,IAAI7H,EAEFA,OADckB,IAAZoW,EAAK,GACD,4BAA4BzP,mBAA0ByP,EAAK,+DAA+DhH,IAE1H,4BAA4BzI,qBAA4ByP,EAAK,aAAaA,EAAK,sGAAsGhH,IAK7L,OAFY,IAAI5P,GAELe,YACT,CAAC,EACD,CAAEzB,OACF,KACA,OACA,QAAUka,GACV,KACA,KACA,MACA,GACA,EACA,QACD,EAGHa,4BAA6BA,CAACzK,EAAQlP,EAAMyG,EAAUmT,EAAQC,KAC5D,MAAMjb,EAAM,4BAA4B6H,mBAA0BzG,oCAAuC4Z,EAAO,qBAAqBA,EAAO,sBAAsBC,EAAO,uBAAuBA,EAAO,eAAe3K,IAGtN,OAFY,IAAI5P,GAELe,YACT,CAAC,EACD,CAAEzB,OACF,KACA,OACA,QAAUka,GACV,KACA,KACA,MACA,GACA,EACA,QACD,EAGHgB,aAAeC,IACD,IAAIza,GAELe,YACT,CAAC,EACD,CAAEzB,IAAKmb,GACP,KACA,WACA,4BACA,KACA,KACA,MACA,GACA,EACA,U,UCzKN,MAAM,MAAEC,IAAUC,KAqBHC,OAnBf,SAAiBzS,GAA6E,IAA5E,MAAEjE,EAAK,KAAEmI,EAAI,QAAEwO,EAAO,MAAE5Q,EAAK,QAAEmD,EAAO,MAAE0N,EAAK,SAAErN,EAAQ,UAAElF,EAAY,IAAIJ,EACzF,MAAM,EAAExE,GAAMgF,cACd,OACEqB,eAAA,OAAKC,MAAOA,EAAO1B,UAAW,sBAAsBA,IAAYC,SAAA,CAC9DF,cAAA,MAAIC,UAAU,cAAaC,SAAEtE,IAC7BoE,cAAA,OAAKC,UAAU,mCAAkCC,SAC9C6D,GACC/D,cAACiC,OAAI,CACH6C,QAASA,EACT5C,GAAI6B,EACJ,aAAY,uBAAoBnI,IAChCuJ,SAAUA,EAASjF,SAClBqS,GAAoBlX,EAAE,4BAMnC,EC0BeoX,OA9CSA,IAEpBzS,cAAA,WAASC,UAAU,OAAOnB,GAAG,gBAAgBmG,KAAK,gBAAgB,aAAW,kBAAiB/E,SAC5FwB,eAAC2E,IAAG,CAACqM,OAAQ,GAAY/Q,MAAO,CAAEgR,OAAQ,OAAQzS,SAAA,CAChDF,cAACsG,IAAG,CAACC,GAAI,GAAIqM,GAAI,EAAE1S,SACjBF,cAACsS,GAAQ,CACPvO,KAAK,+BACLnI,MAAM,8CACN4W,MAAO,EACPrN,SAAU,EACVlF,UAAU,mBAGdD,cAACsG,IAAG,CAACC,GAAI,GAAIqM,GAAI,EAAE1S,SACjBF,cAACsS,GAAQ,CACPvO,KAAK,wCACLnI,MAAM,gEACN4W,MAAO,EACPrN,SAAU,EACVlF,UAAU,mBAGdD,cAACsG,IAAG,CAACC,GAAI,GAAIqM,GAAI,EAAE1S,SACjBF,cAACsS,GAAQ,CACPvO,KAAK,uCACLnI,MAAM,0CACN4W,MAAO,EACPrN,SAAU,EACVlF,UAAU,wBCgEP4S,OAvFFhT,IAA6C,IAA5C,SAAEE,EAAQ,YAAE+S,EAAW,YAAEC,GAAalT,EAClD,MAAOmT,EAAeC,GAAoB5V,mBAAS,KAC5C6V,EAAgBC,GAAqB9V,mBAAS,KAC9CkQ,EAASC,GAAcnQ,oBAAS,GAEvCK,qBAAU,KACJoV,GAAaA,GAAY,GACzBC,GAAaA,EAAY,IAC7BpP,SAAS/H,MAAQ,gBACjBwX,GAAkB,GACjB,IAEH,MAAMA,EAAmBtY,UACvB,IACES,QAAQ8X,IAAI,CACVlC,GAAgBU,sBAChBV,GAAgBS,sBACfjX,MAAM2Y,IAAiB,IAADC,EAAAC,EACvBhG,GAAW,GACXyF,EAAoC,QAAnBM,EAAAD,EAAY,GAAGlb,YAAI,IAAAmb,GAAnBA,EAAqBnS,MAAQkS,EAAY,GAAGlb,KAAKgJ,MAAQ,IAC1E+R,EAAqC,QAAnBK,EAAAF,EAAY,GAAGlb,YAAI,IAAAob,GAAnBA,EAAqBpS,MAAQkS,EAAY,GAAGlb,KAAKgJ,MAAQ,GAAG,GAElF,CAAE,MAAOpG,GACPwS,GAAW,EACb,GAGF,OACE9L,eAAAiN,WAAA,CAAAzO,SAAA,CACGqN,GAAWvN,cAAC6Q,GAAO,CAACC,UAAQ,IAC7B9Q,cAACyS,GAAe,IAChB/Q,eAAA,OAAKzB,UAAU,MAAMyS,OAAQ,GAAY/Q,MAAO,CAAEgR,OAAQ,OAAQzS,SAAA,CAChEF,cAAA,SAAOlB,GAAG,gBAAgBmB,UAAU,4BAA4B,aAAW,gBAAeC,SACxFF,cAAA,OAAKC,UAAU,yBAAwBC,SACnCF,cAACoN,GAAI,CAACrN,SAAUA,QAGtB2B,eAAA,QAAM5C,GAAG,eAAemB,UAAW,qDAAqDC,SAAA,CACpFF,cAAA,MAAIC,UAAU,kBAAiBC,SAAC,SAChCwB,eAAC2E,IAAG,CAACqM,OAAQ,EAAExS,SAAA,CACbwB,eAAC4E,IAAG,CAACC,GAAI,GAAItG,UAAU,qBAAqB0B,MAAO,CAAE8R,IAAK,MAAOC,aAAa,OAAQxT,SAAA,CACpFF,cAAA,MAAIC,UAAU,wBAAuBC,SAAC,gBAGrCgT,EAAe7R,KAAI,CAACG,EAAQgK,IAC3BxL,cAACiP,GAAgB,CACfO,SAAmC,cAAzBhO,EAAOmS,cAEjB/X,MAAO4F,EAAOoS,cACdzE,cAAe3N,EAAOqS,aACtBzE,YAAa5N,EAAOsS,mBACpBzE,WAAY7N,EAAOuS,YACnBxE,MAAO/N,EAAOwS,MACd1E,SAAU9N,EACVgR,MAAO,EACPrN,SAAU,EACVsK,QAAQ,eATHjO,EAAOuS,kBAapBrS,eAAC4E,IAAG,CAACC,GAAI,GAAItG,UAAU,qBAAqB0B,MAAO,CAAE8R,IAAK,MAAOxF,YAAa,OAAQ/N,SAAA,CACpFF,cAAA,MAAIC,UAAU,wBAAuBC,SAAC,wBAGrC8S,EAAc3R,KAAI,CAACG,EAAQgK,IAC1BxL,cAACiP,GAAgB,CACfO,SAAmC,cAAzBhO,EAAOmS,cAEjB/X,MAAO4F,EAAOoS,cACdzE,cAAe3N,EAAOqS,aACtBzE,YAAa5N,EAAOsS,mBACpBzE,WAAY7N,EAAOuS,YACnBxE,MAAO/N,EAAOwS,MACd1E,SAAU9N,EACVgR,MAAO,EACPrN,SAAU,EACVsK,QAAQ,kBATHjO,EAAOuS,6BAgBvB,E,iBCzFP,MAAM7C,GAAU,SACV+C,GAAgB,qBAChB3a,GAAW2D,IACXiX,GAAmB,CACvBC,iBAAkBA,CAACC,EAAQC,EAAWC,KACxB,IAAI5c,GACLe,YACT,CAAC,EACD,CAAC,EACD,KACA,MACA,QAAQyY,uBAA4BkD,eAAoBC,aAAqBC,WAAiBhb,KAC9F,KACA,KACA,MACA,GACA,EACA,SAGJib,oBAAqBA,CAACnc,EAAMoc,EAAQC,EAAMC,KAGxC,IAAIvC,EAAQ,GAIZ,OAHIuC,IACFvC,EAAQ,UAAYuC,IAJV,IAAIhd,GAMLe,YACT,CAAC,EACD,CAAC,EACD,KACA,MACA,QAAQyY,0BAA+B9Y,KAAQoc,KAAUC,IAAOtC,IAChE,KACA,KACA,MACA,GACA,EACA,QACD,EAEHwC,SAAUA,CAACvc,EAAMwc,EAAOJ,EAAQK,EAAMH,KACpC,MAAMI,EAAM,IAAIpd,EAEhB,IAAIqd,EAAa,SAAW3c,EACxB4c,EAAW,GACXN,IACFM,EAAW,WAAaN,EACxBK,EAAa,WAAa3c,GAG5B,MAAMpB,EAEJ,+BAA+B+d,qBAA8BP,UAAeK,cAAiBD,IAAQI,WAAkB1b,KAEzH,OAAOwb,EAAIrc,YACT,CAAC,EACD,CAAEzB,OACF,KACA,OACA,QAAUid,GACV,KACA,KACA,MACA,GACA,EACA,QACD,EAEHgB,kBAAoBb,IACN,IAAI1c,GACLe,YACT,CAAC,EACD,CAAC,EACD,KACA,MACA,QAAQyY,wBAA6BkD,IACrC,KACA,KACA,MACA,GACA,EACA,SAIJ/K,OAAQA,CAACjR,EAAMyG,KACD,IAAInH,GAELe,YACT,CAAC,EACD,CAAC,EACD,KACA,MACA,QAAUyY,GAAU,WAAa9Y,EAAO,IAAMyG,EAC9C,KACA,KACA,MACA,GACA,EACA,SAIJV,MAAOA,CAAC/F,EAAMyG,KACZ,IAAI7H,EACJ,MAAM8d,EAAM,IAAIpd,EAOhB,OALEV,OADckB,IAAZE,EAAK,GACD,mCAAmCyG,mBAA0BzG,EAAK,YAAYkB,KAE9E,mCAAmCuF,qBAA4BzG,EAAK,aAAaA,EAAK,YAAYkB,KAGnGwb,EAAIrc,YACT,CAAC,EACD,CAAEzB,OACF,KACA,OACA,QAAUid,GACV,KACA,KACA,MACA,GACA,EACA,QACD,EAGHiB,MAAO,SAAC9c,EAAMyG,GAAuC,IAA7B1G,EAAMO,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGyc,EAAUzc,UAAAC,OAAA,EAAAD,UAAA,QAAAR,EAG7C,OAFY,IAAIR,GAELe,YACTN,EACAgd,EACA,KACA,OACA,QAAUjE,GAAU,UAAY9Y,EAAO,IAAMyG,EAC7C,KACA,KACA,MACA,GACA,EACA,QAEJ,GAGaqV,U,4DCxGAkB,I,2ECzBf,MAAQhD,MAAM,IAAIC,KAqTHgD,OAnTf,SAAmBxV,GAA2D,IAA1D,KAAEyO,EAAI,eAAEgH,EAAc,WAAE9H,EAAU,kBAAE+H,GAAmB1V,EACzE,MAAO2V,EAAgBC,GAAqBpY,oBAAS,IAC9CqY,EAAkBC,GAAuBtY,oBAAS,IAEnD,MAAEuY,GAAU7Q,KAEZ8Q,EACJ7V,cAAC8V,KAAkB,CAAC,aAAY,KAAM7Q,KAAM,OAExC8Q,EACJ/V,cAAC6O,KAAa,CAAC,aAAY,OAGvBmH,EAAiB1U,GAEnBI,eAAAiN,WAAA,CAAAzO,SAAA,CACEF,cAAA,OAAKC,UAAU,yBAAwBC,SACrCF,cAAA,OAAAE,SAAMoB,EAAI2U,UAEZvU,eAAA,OAAKzB,UAAU,4BAA2BC,SAAA,CACxCwB,eAAA,OAAAxB,SAAA,CACEF,cAAA,OAAKC,UAAU,eAAcC,SAAC,cAC9BF,cAAA,OAAAE,SAAMoB,EAAI4U,eAEZxU,eAAA,OAAAxB,SAAA,CACEF,cAAA,OAAKC,UAAU,eAAcC,SAAC,uBAC9BF,cAAA,OAAAE,SAAMoB,EAAI6U,QAAU7U,EAAI6U,QAAU,oBAEpCzU,eAAA,OAAAxB,SAAA,CACEF,cAAA,OAAKC,UAAU,eAAcC,SAAC,SAC9BF,cAAA,OAAAE,SAAMoB,EAAI8U,UAEZ1U,eAAA,OAAAxB,SAAA,CACEF,cAAA,OAAKC,UAAU,eAAcC,SAAC,UAC9BF,cAAA,OAAAE,SAAMoB,EAAI+U,WAEZ3U,eAAA,OAAAxB,SAAA,CACEF,cAAA,OAAKC,UAAU,eAAcC,SAAC,SAC9BF,cAAA,OAAAE,SAAMoB,EAAIyC,KAAO/D,cAAA,KAAGC,UAAU,2BAA2BiF,KAAM5D,EAAIyC,KAAM0C,OAAO,SAAS7K,MAAO,uBAAuB0F,EAAIyC,OAAO7D,SAAEoB,EAAIyC,OAAY,0BAsBxJuS,EAAkB,CAAC,YAAa,qBAAsB,cAAe,OAAQ,QAAS,QAMtFC,EAAkBxV,uBACrByV,GAEG9U,eAAAiN,WAAA,CAAAzO,SAAA,CACEwB,eAAA,OAAKzB,UAAU,2EAA0EC,SAAA,CACvFF,cAACyW,KAAM,CACLxW,UAAU,uBACVgR,KAAK,QACLrV,MAAM,gCACN,aAAW,gCACX6S,KACEzO,cAAC0W,IAAe,CACd,cAAY,OACZ/U,MAAO,CAAEgF,MAAO,OAAQC,OAAQ,QAChC6H,KAAMkI,KACN1F,KAAK,QAGTnM,QAASA,IACPyC,GAAMC,UACJ,WACA8N,EAAe1B,cACf,kBACAvM,MAASC,OAAO,cAChB,CACE,CAAE1L,MAAO0a,EAAgB,IACzB,CAAE1a,MAAO0a,EAAgB,IACzB,CAAE1a,MAAO0a,EAAgB,IACzB,CAAE1a,MAAO0a,EAAgB,IACzB,CAAE1a,MAAO0a,EAAgB,IACzB,CAAE1a,MAAO0a,EAAgB,KAE3BE,EAAcnV,KAAKC,GAAQ,CAACA,EAAI4U,UAAW5U,EAAI6U,QAAS7U,EAAI2U,MAAO3U,EAAI8U,KAAM9U,EAAI+U,MAAO/U,EAAIyC,QAC5F,eAIN/D,cAACyW,KAAM,CACLxW,UAAU,uBACVrE,MAAM,iCACN,aAAW,iCACX6S,KACEzO,cAAC0W,IAAe,CACd,cAAY,OACZ/U,MAAO,CAAEgF,MAAO,OAAQC,OAAQ,QAChC6H,KAAMmI,KACN3F,KAAK,QAGTnM,QAASA,IACPyC,GAAMmC,WACJ,kBACA4L,EAAe1B,cACf,kBACAvM,MAASC,OAAO,cAChBgP,EACAE,EAAcnV,KAAIsM,IAAA,IAAC,KAAEyI,EAAI,UAAEF,EAAS,MAAED,EAAK,MAAEI,EAAK,KAAEtS,EAAI,QAAEoS,GAASxI,EAAA,MAAM,CACvEuI,YACAC,UACAF,QACAG,OACAC,QACAtS,OACD,OAIP/D,cAACyW,KAAM,CACLxW,UAAU,uBACVrE,MAAM,gCACN,aAAW,gCACX6S,KACEzO,cAAC0W,IAAe,CACd,cAAY,OACZ/U,MAAO,CAAEgF,MAAO,OAAQC,OAAQ,QAChC6H,KAAMoI,KACN5F,KAAK,QAGTnM,QAASA,IACPyC,GAAM6D,UACJ,kBACAkK,EAAe1B,cACf,kBACAvM,MAASC,OAAO,cAChBgP,EACA,CAAC,YAAa,UAAW,QAAS,OAAQ,QAAS,QACnDE,EAAcnV,KAAI6M,IAAA,IAAC,UAAEgI,EAAS,QAAEC,EAAO,MAAEF,EAAK,KAAEG,EAAI,MAAEC,EAAK,KAAEtS,GAAMmK,EAAA,MAAM,CACvEgI,YACAC,UACAF,QACAG,OACAC,QACAtS,OACD,IACD,OAIN/D,cAACyW,KAAM,CACLxW,UAAU,uBACVrE,MAAM,iCACN,aAAW,iCACX6S,KACEzO,cAAC0W,IAAe,CACd,cAAY,OACZ/U,MAAO,CAAEgF,MAAO,OAAQC,OAAQ,QAChC6H,KAAMqI,KACN7F,KAAK,QAGTnM,QAASA,KACP,MAAMiS,EAAgBP,EAAcnV,KAClC2V,IAAA,IAAC,KAAEZ,EAAI,UAAEF,EAAS,MAAED,EAAK,MAAEI,EAAK,KAAEtS,EAAI,QAAEoS,GAASa,EAAA,MAAM,CACrDd,YACA,qBAAqBC,EACrBF,QACAG,OACAC,QACAtS,OACD,IAEGkT,EAAWzc,KAAKC,UAAUsc,GAC1Bjb,EAAO,IAAIgQ,KAAK,CAACmL,GAAW,CAAE7U,KAAM,eACpCpL,EAAM+U,IAAIC,gBAAgBlQ,GAC1BiI,EAAOJ,SAASsI,cAAc,KACpClI,EAAKmI,SACH,kBACAoJ,EAAe1B,cACf,MACAvM,MAASC,OAAO,qBAChB,QACFvD,EAAKmB,KAAOlO,EACZ+M,EAAKoI,OAAO,OAIlBnM,cAAA,OAAKC,UAAU,+BAA8BC,SAAgB,OAAdoV,QAAc,IAAdA,OAAc,EAAdA,EAAgBxB,qBAC/DpS,eAAA,OAAKzB,UAAU,iBAAgBC,SAAA,CAE7BF,cAAA,MAAIC,UAAU,iBAAgBC,SAAC,cAC/BF,cAAC+E,KAAQ,CACPpD,MAAO,CAAEuV,QAAS,YAClB,YAAU,SACV,eAAa,EACbC,WAAYC,IAAA,IAAC,SAAEC,GAAUD,EAAA,OACtBC,EAGCrX,cAACsX,KAAmB,CAAC,aAAW,SAAS3V,MAAO,CAAE+G,SAAU,UAF5D1I,cAACuX,KAAkB,CAAC,aAAW,UAAU5V,MAAO,CAAE+G,SAAU,SAG7D,EASHzI,UAAU,qBAAoBC,SAC7BsW,EAAcnV,KAAI,CAACC,EAAKkK,KAAK,IAAAgM,EAAA,OAC5BxX,cAAC4V,EAAK,CACJvM,OACErJ,cAAA,QAAMlB,GAAI,kBAAoB0M,EAAO7J,MAAO,CAAE+G,SAAU,SAAUoG,WAAY,IAAK9M,MAAO,SAAU9B,SAAE,GAAGoB,EAAI4U,cAAyB,QAAhBsB,EAAKlW,EAAI6U,eAAO,IAAAqB,IAAI,QAC3ItX,SAEA8V,EAAc1U,IADVA,EAAI4U,UAEH,aAOpB,CAACZ,EAAgBE,IAgEnB,OA7DA9X,qBAAU,KACR,IAAI+Z,GAAY,EAuDhB,OAtDInC,IAAmBmC,IACrBjK,GAAW,GAxLK1S,OAAOwT,EAAMzP,UAClBqV,GAAiB7K,OAAOiF,EAAMzP,GAwLzC6Y,CAAgB,OAAJpJ,QAAI,IAAJA,OAAI,EAAJA,EAAM+B,WAAW,IAAK,KAAMiF,EAAevB,aACpDpZ,MAAKgd,IAAe,IAAd,KAAEvf,GAAMuf,EACb,MACMnB,EADape,EAAK2F,MAAMyF,MAAM,QACHnC,KAAI,CAACtD,EAAOwD,KAC3C,MAAM8U,EAAQje,EAAKie,MAAM7S,MAAM,QAAKjC,GAAGsO,OACjCoG,EAAQ7d,EAAK6d,MAAMzS,MAAM,QAAKjC,GAAGsO,OACjC9L,EAAO3L,EAAK2L,KAAKP,MAAM,QAAKjC,GAAGsO,OAC/BuG,EAAOhe,EAAKge,KAAK5S,MAAM,QAAKjC,GAAGsO,OAC/BsG,EAAU/d,EAAK+d,QAAQ3S,MAAM,QAAKjC,GAAGsO,OAE3C,MADY,CAAEqG,UAAWnY,EAAM8R,OAAQuG,OAAMrS,OAAMkS,QAAOI,QAAOF,UACvD,IAEZ3I,GAAW,GACX,MAAMoK,EACJ5X,cAACoS,GAAK,CAACtT,GAAG,cAAcmB,UAAU,eAAcC,SAAEoV,EAAe1B,gBAEnErF,IAAMC,KAAK,CACTrJ,UAAW,EACXwB,MAAO,IACP/K,MAAOgc,EACPnJ,KAAMoH,EACNE,UAAWA,EACXrH,UAAU,EACVmJ,QAASnC,EACToC,gBAAiB,KACjBC,UAAU,EACVC,SAAUA,KACRrC,GAAoB,GACpBJ,GAAmB,EAErBrZ,QAASqa,EAAgBC,GACzByB,cAAe,CACbtW,MAAO,CAAEC,gBAAiB,UAAWsW,OAAQ,EAAGC,aAAc,QAEhEC,OAAQ,SACRC,KAAMA,KACJ1C,GAAoB,GACpBJ,GAAmB,IAGvBjJ,YACE,KACE3I,SAASC,uBAAuB,mBAAmB,GAAGI,aAAa,aAAc,UACjF,IAAIsU,EAAQ3U,SAASC,uBAAuB,kBAAkB,GAC9D0U,EAAMtU,aAAa,aAAc,QACjCsU,EAAMtU,aAAa,kBAAmB,cAAc,GACnD,IACJ,IAEFnJ,OAAM,IAAM2S,GAAW,MAGrB,KACLiK,GAAY,CAAI,CACjB,GACA,CAACnC,EAAgBhH,EAAMoH,EAAkBa,EAAiBhB,EAAmB/H,IAEzExN,cAAA2O,WAAA,GACT,E,OCxQe4J,OAzDf,SAA2B1Y,GAAgC,IAA/B,YAAEiT,EAAW,YAAEC,GAAalT,EACtD,MAAM8P,EAAU7O,cAQhB,OANApD,qBAAU,KACJoV,GAAaA,GAAY,GACzBC,GAAaA,EAAY,IAC7BpP,SAAS/H,MAAQ,kDAA+C,IAIhE8F,eAAA,QAAM5C,GAAG,eAAemB,UAAW,0CAA0CC,SAAA,CAC3EwB,eAAA,UACEyD,SAAS,IACTrG,GAAG,eACH,aAAW,iBACXgG,QAASA,KACP6K,EAAQ,QAAQ,EAChBzP,SAAA,CACFF,cAACwY,KAAiB,CAAC,aAAY,OAC/BxY,cAAA,QAAAE,SAAM,gBAGRF,cAACqG,IAAG,CAACpG,UAAU,MAAKC,SAClBwB,eAAC4E,IAAG,CAACC,GAAI,GAAGrG,SAAA,CACVF,cAAA,MAAIC,UAAU,aAAYC,SAAC,4CAC3BF,cAACmC,IAAO,CAAClC,UAAU,iBACnBD,cAAA,OAAAE,SAAK,uKAILwB,eAAA,OACEzB,UAAW,iCACX0B,MAAO,CAAE8W,UAAW,OAAQ9F,OAAQ,OAAQ+F,OAAQ,KAAMxY,SAAA,CAC1DwB,eAAA,OACEzB,UAAU,8BAA6BC,SAAA,CAAC,mGAExCF,cAAA,OAAKC,UAAU,UAASC,SACxBF,cAACiC,OAAI,CAAChC,UAAU,aAAaiC,GAAG,aAAYhC,SAAC,uDAK/CwB,eAAA,OACEzB,UAAU,8BAA6BC,SAAA,CAAC,+FAExCF,cAAA,OAAKC,UAAU,UAASC,SACtBF,cAACiC,OAAI,CAAChC,UAAU,aAAaiC,GAAG,kBAAiBhC,SAAC,yDAUlE,ECsBeyY,OA9Ef,SAAmC9Y,GAAgC,IAA/B,YAAEiT,EAAW,YAAEC,GAAalT,EAC9D,MAAM8P,EAAU7O,cAQhB,OANApD,qBAAU,KACJoV,GAAaA,GAAY,GACzBC,GAAaA,EAAY,IAC7BpP,SAAS/H,MAAQ,sDAAsD,IAIvE8F,eAAA,QAAM5C,GAAG,eAAemB,UAAW,0CAA0CC,SAAA,CAC3EwB,eAAA,UACEyD,SAAS,IACTrG,GAAG,eACH,aAAW,iBACXgG,QAASA,KACP6K,EAAQ,QAAQ,EAChBzP,SAAA,CACFF,cAACwY,KAAiB,CAAC,aAAY,OAC/BxY,cAAA,QAAAE,SAAM,gBAGRF,cAACqG,IAAG,CAACpG,UAAU,MAAKC,SAClBwB,eAAC4E,IAAG,CAACC,GAAI,GAAGrG,SAAA,CACVF,cAAA,MAAIC,UAAU,aAAYC,SAAC,gDAC3BF,cAACmC,IAAO,CAAClC,UAAU,iBAEnByB,eAAA,OAAAxB,SAAA,CAAK,uQAIHF,cAAA,SAAM,kUAINA,cAAA,SAAM,0IAENA,cAAA,SAAM,uFAER0B,eAAA,OACEzB,UAAW,6BACX0B,MAAO,CAAE8W,UAAW,OAAQ9F,OAAQ,QAASzS,SAAA,CAC7CwB,eAAA,OACEzB,UAAU,oCAAmCC,SAAA,CAAC,8IAG9CF,cAAA,OAAKC,UAAU,UAASC,SACtBF,cAACiC,OAAI,CAAChC,UAAU,aAAaiC,GAAG,cAAahC,SAAC,gDAKlDwB,eAAA,OACEzB,UAAU,oCAAmCC,SAAA,CAAC,sIAG9CF,cAAA,OAAKC,UAAU,UAASC,SACtBF,cAACiC,OAAI,CAAChC,UAAU,aAAaiC,GAAG,cAAahC,SAAC,2DAKlDwB,eAAA,OACEzB,UAAU,oCAAmCC,SAAA,CAAC,gIAG9CF,cAAA,OAAKC,UAAU,UAASC,SACtBF,cAACiC,OAAI,CAAChC,UAAU,aAAaiC,GAAG,wBAAuBhC,SAAC,oEAUxE,ECpCe0Y,OAzCf,SAA0C/Y,GAAgC,IAA/B,YAAEiT,EAAW,YAAEC,GAAalT,EACrE,MAAM8P,EAAU7O,cAQhB,OANApD,qBAAU,KACJoV,GAAaA,GAAY,GACzBC,GAAaA,EAAY,IAC7BpP,SAAS/H,MAAQ,wEAAqE,IAItF8F,eAAA,QAAM5C,GAAG,eAAemB,UAAW,0CAA0CC,SAAA,CAC3EwB,eAAA,UACEyD,SAAS,IACTrG,GAAG,eACH,aAAW,iBACXgG,QAASA,KACP6K,EAAQ,QAAQ,EAChBzP,SAAA,CACFF,cAACwY,KAAiB,CAAC,aAAY,OAC/BxY,cAAA,QAAAE,SAAM,gBAGRF,cAACqG,IAAG,CAACpG,UAAU,MAAKC,SAClBwB,eAAC4E,IAAG,CAACC,GAAI,GAAGrG,SAAA,CACVF,cAAA,MAAIC,UAAU,aAAYC,SAAC,kEAC3BF,cAACmC,IAAO,CAAClC,UAAU,iBAEnBD,cAAA,OAAAE,SAAK,sUAMLF,cAACiC,OAAI,CAAChC,UAAU,aAAaiC,GAAG,cAAahC,SAAC,kDAOxD,EC0Be2Y,OAlEf,SAAwChZ,GAAgC,IAA/B,YAAEiT,EAAW,YAAEC,GAAalT,EACnE,MAAM8P,EAAU7O,cAQhB,OANApD,qBAAU,KACJoV,GAAaA,GAAY,GACzBC,GAAaA,EAAY,IAC7BpP,SAAS/H,MAAQ,uDAAuD,IAIxEoE,cAAA,QAAMlB,GAAG,eAAemB,UAAW,0CAA0CC,SAC3EwB,eAAA,UACEyD,SAAS,IACTrG,GAAG,eACH,aAAW,iBACXgG,QAASA,KACP6K,EAAQ,QAAQ,EAChBzP,SAAA,CACFF,cAACwY,KAAiB,CAAC,aAAY,OAC/BxY,cAAA,QAAAE,SAAM,iBA8Cd,E,0ECVe4Y,OA1CMA,KACnB,MAAMzT,EAAc,CAClBtH,MAAO,GACPC,KAAM,GACNE,UAAW,EACXD,SAAU,GACVqH,YAAa,GACbnH,MAAO,KAEFoH,EAAWC,GAAgBnI,oBAAS,IACpCrC,EAAOyK,GAAYpI,mBAAS,OAC5BjF,EAAMsN,GAAWrI,mBAASgI,GAsBjC,MAAO,CACLE,YACAvK,QACA5C,OACAuN,QAAS5E,uBAxBKjG,iBAAyC,IAAlC1C,EAAIM,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGkN,EAAYlN,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GAC/C,IACE8M,GAAa,GACb,MAAMK,QAhCkB/K,eAAO1C,GACnC,MAAMrB,EAAS,CACb6B,OAAQ,OACR5B,IAAK,uCAH8D0B,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,sBAAnBA,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KAItDQ,QAAS,CAAC,EACVd,QAGIyN,SADiB/M,IAAM/B,IACCqB,KAK9B,OAFwByN,GAA8B,EAGxD,CAkBiCkT,CAAe3gB,EAAMwN,GAGhD,OAFAF,EAAQG,GACRL,GAAa,GACNK,CACT,CAAE,MAAO5K,GACPwK,EAASxK,GACTuK,GAAa,EAEf,CACF,GAYgC,IAC9BO,MAAOhF,uBAXKgF,KACZP,GAAa,GACbE,EAAQL,GACRI,EAAS,KAAK,GAQY,IAC3B,ECLYuT,OAlCYA,KACzB,MAAOzT,EAAWC,GAAgBnI,oBAAS,IACpCrC,EAAOyK,GAAYpI,mBAAS,OAC5BjF,EAAMsN,GAAWrI,mBAAS,MAsBjC,MAAO,CACLkI,YACAvK,QACA5C,OACAuN,QAAS5E,uBAxBKjG,iBAAyC,IAAlC1C,EAAIM,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGkN,EAAYlN,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GAC/C,IACE8M,GAAa,GACb,MAAMK,QAxBwB/K,eAAO1C,GACzC,MAAMrB,EAAS,CACb6B,OAAQ,OACR5B,IAAK,uCAHoE0B,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,sBAAnBA,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KAI5DQ,QAAS,CAAC,EACVd,QAGIyN,SADiB/M,IAAM/B,IACCqB,KAK9B,OAFwByN,GAA8B,EAGxD,CAUiCoT,CAAqB7gB,EAAMwN,GAGtD,OAFAF,EAAQG,GACRL,GAAa,GACNK,CACT,CAAE,MAAO5K,GAGP,MAFAwK,EAASxK,GACTuK,GAAa,GACPvK,CACR,CACF,GAYgC,IAC9B8K,MAAOhF,uBAXKgF,KACZP,GAAa,GACbE,EAAQ,MACRD,EAAS,KAAK,GAQY,IAC3B,ECSYyT,OAlCcA,KAC3B,MAAO3T,EAAWC,GAAgBnI,oBAAS,IACpCrC,EAAOyK,GAAYpI,mBAAS,OAC5BjF,EAAMsN,GAAWrI,mBAAS,MAsBjC,MAAO,CACLkI,YACAvK,QACA5C,OACAuN,QAAS5E,uBAxBKjG,iBAAyC,IAAlC1C,EAAIM,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGkN,EAAYlN,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GAC/C,IACE8M,GAAa,GACb,MAAMK,QA7B0B/K,eAAO1C,GAC3C,MAAMrB,EAAS,CACb6B,OAAQ,OACR5B,IAAK,uCAHsE0B,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,sBAAnBA,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KAI9DQ,QAAS,CACPigB,OAAQ,aACR,eAAgB,+BAElB3f,aAAc,OACdpB,QAEIwC,QAAiB9B,IAAM/B,GAC7B,IAAI8O,EAAejL,EAASxC,KAC5B,MAAMuU,EAAWpF,GAAMiF,sBAAsB5R,EAAS1B,QAAQ,wBAK9D,OAJA2M,EAAa8G,SAAWA,EAEY,OAAZ9G,QAAY,IAAZA,KAAcoL,KAAOpL,EAAe,EAG9D,CAUiCuT,CAAuBhhB,EAAMwN,GAGxD,OAFAF,EAAQG,GACRL,GAAa,GACNK,CACT,CAAE,MAAO5K,GAGP,MAFAwK,EAASxK,GACTuK,GAAa,GACPvK,CACR,CACF,GAYgC,IAC9B8K,MAAOhF,uBAXKgF,KACZP,GAAa,GACbE,EAAQ,MACRD,EAAS,KAAK,GAQY,IAC3B,ECxDI,MAAMyM,GAAeA,CAACmH,EAAaC,EAAUC,KAClD,MAAMviB,EAAMwG,OAAOuO,IAAIC,gBAAgB,IAAIF,KAAK,CAACuN,KAC3CtV,EAAOJ,SAASsI,cAAc,KACpClI,EAAKmB,KAAOlO,EACZ+M,EAAKC,aAAa,WAAYsV,GAC9B3V,SAAS3F,KAAKwb,YAAYzV,GAC1BA,EAAKoI,QACLpI,EAAKG,QAAQ,ECsDAuV,OA1CQA,KACrB,MAAMpU,EAAc,CAClBtH,MAAO,GACPC,KAAM,GACNE,UAAW,EACXD,SAAU,GACVqH,YAAa,GACbnH,MAAO,KAEFoH,EAAWC,GAAgBnI,oBAAS,IACpCrC,EAAOyK,GAAYpI,mBAAS,OAC5BjF,EAAMsN,GAAWrI,mBAASgI,GAsBjC,MAAO,CACLE,YACAvK,QACA5C,OACAuN,QAAS5E,uBAxBKjG,iBAAyC,IAAlC1C,EAAIM,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,CAAC,EAAGkN,EAAYlN,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GAC/C,IACE8M,GAAa,GACb,MAAMK,QAhCoB/K,eAAO1C,GACrC,MAAMrB,EAAS,CACb6B,OAAQ,MACR5B,IAAK,uCAHgE0B,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,4BAAnBA,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KAIxDQ,QAAS,CAAC,EACVf,OAAQC,GAGJyN,SADiB/M,IAAM/B,IACCqB,KAK9B,OAFwByN,GAA8B,EAGxD,CAkBiC6T,CAAiBthB,EAAMwN,GAGlD,OAFAF,EAAQG,GACRL,GAAa,GACNK,CACT,CAAE,MAAO5K,GACPwK,EAASxK,GACTuK,GAAa,EAEf,CACF,GAYgC,IAC9BO,MAAOhF,uBAXKgF,KACZP,GAAa,GACbE,EAAQL,GACRI,EAAS,KAAK,GAQY,IAC3B,ECjCH,MAAM,YAAEkU,IAAgBC,KAq+BTC,OAh8BMha,IAA8C,IAA7C,UAAEqP,EAAS,YAAE4D,EAAW,YAAEC,GAAalT,EAC3D,MAAMia,EAAeC,sBACfC,EAAYD,sBAEZE,EAAoBf,KACpBgB,EAAepB,KACfqB,EAAsBnB,KACtBrJ,EAAU7O,eACTsZ,EAAcC,GAAmBC,4BAClCC,EAAcd,KACdngB,EAAW2D,IACXgG,EAAWC,eACX,MACJzD,EAAQ,CACN2Q,YAAQlY,EACRwc,WAAOxc,EACP2G,cAAU3G,EACV0D,WAAO1D,EACP+X,iBAAa/X,EACbgX,eAAWhX,EACXsiB,gBAAYtiB,EACZuY,YAAY,EACZC,cAAUxY,EACVyY,oBAAgBzY,EAChBkX,iBAAalX,EACboY,kBAAcpY,EACdqY,uBAAmBrY,EAEnBuiB,kBAAcviB,IAEdgL,eACE,OACJkN,EAAM,MACNsE,EAAK,MACL9Y,EAAK,YACLqU,EAAW,WACXuK,EAAU,WACV/J,EAAU,SACVC,EAAQ,eACRC,EAAc,YACdvB,EAAW,aACXkB,EAAY,kBACZC,EAAiB,aAEjBkK,GACEhb,GAAS,CAAC,EAERiQ,EAAWtP,cACXsa,EAAK,aACLC,EAAS,cACRC,EAAkBC,GAAuBxd,oBAAS,IAClDyd,EAAcC,GAAmB1d,mBAAS,IAC1C2d,EAAUC,GAAe5d,mBAAS,KAClC6d,EAAiBC,GAAsB9d,mBAAS,OAChD+d,EAAkBC,GAAuBhe,mBAAS,KAClDie,GAAiBC,IAAsBle,mBAAS,KAChDme,GAAqBC,IAA0Bpe,mBAAS,KACxDqe,GAAyBC,IAA8Bte,oBAAS,IAEhEue,GAAUC,IAAexe,mBAAS,CAAEoB,SAAU,KAAMC,QAAS,QAC7DtG,GAAMsN,IAAWrI,mBAAS,CAAEoB,SAAU,KAAMC,QAAS,QACrDod,GAAUC,IAAe1e,mBAAS,KAClC2e,GAAkBC,IAAuB5e,mBAAS,OAClD6e,GAAuBC,IAA4B9e,oBAAS,IAC5D+e,GAAiBC,IAAsBhf,oBAAS,IAChDif,GAAUC,IAAelf,mBAAS+R,IAClCoN,GAAcC,IAAmBpf,mBAASzB,IAC1C8gB,GAAiBC,IAAsBtf,mBAAS4S,IAChDqF,GAAgBC,IAAqBlY,sBACrCkQ,GAASC,IAAcnQ,oBAAS,IAChCuf,GAAYC,IAAiBxf,oBAAS,IACtCyf,GAAaC,IAAkB1f,oBAAS,IACxC2f,GAAYC,IAAiB5f,oBAAS,IACtC6f,GAAaC,IAAkB9f,oBAAS,IACxCwB,GAAUue,IAAe/f,mBAAS,OAClCggB,GAAiBC,IAAsBjgB,mBAAS,KAEjD,QAAEiB,GAAO,YAAEK,GAAW,UAAEb,IAAcyf,aACzCC,GAAeA,EAAWC,oBAGvB5H,GACJ7V,cAAC8V,KAAkB,CAAC,aAAY,KAAM7Q,KAAM,OAG9CvH,qBAAU,KACJoV,GAAaA,GAAY,GACzBC,GAAaA,EAAYxC,GAC7B+M,GAAmB3M,EAAe,GACjC,IAEHjT,qBAAU,KACRmd,GAAoB,EAAK,GACxB,CAACD,IAMJld,qBAAU,KACR6e,GAAYD,IACZG,GAAgB7gB,GAAS4gB,IACzBG,GAAmB1M,GAAeyM,GAAgB,GACjD,CAACtN,EAAaxT,EAAOqU,IAExB,MAAMyN,GAAmBA,CAACC,EAAQ3C,KAChCD,EAAgB4C,GAChB1C,EAAYD,EAAS,EA0DvBtd,qBAAU5C,eAvDWA,WACnB,IAAI8iB,EAAS,CAAEnf,SAAU,KAAMC,QAAS,MACpC0b,EAAayD,IAAI,cACnBD,EAAOnf,SAAW2b,EAAa0D,IAAI,aAGjC1D,EAAayD,IAAI,YACnBD,EAAOlf,QAAU0b,EAAa0D,IAAI,WAGpCjC,IAAY,IAAM+B,IAClBlY,IAAQ,IAAMkY,IAEd,IAAIzL,EAAQ,CAAC,EACb,GAAIiI,EAAayD,IAAI,OAEnB,GADA1L,EAAMrT,IAAMsb,EAAa0D,IAAI,OACjB,OAARjf,SAAQ,IAARA,QAAQ,EAARA,GAAUC,KAAMqT,EAAMrT,GAAI,CAAC,IAADif,EAAAC,EAC5B,IAAI5X,QAAYmU,EAAY5U,QAAQ,CAClC9G,SAAUsT,EAAMrT,GAChBmf,MAAO3kB,EACP4kB,SAAUN,EAAOnf,SACjB0f,OAAQP,EAAOlf,UAGjB,GAAQ,QAAJqf,EAAC3X,SAAG,IAAA2X,GAAO,QAAPC,EAAHD,EAAK3c,aAAK,IAAA4c,IAAVA,EAAYrlB,OAEf,YADAylB,KAIFhY,EAAMA,EAAIhF,MAAM,GAChB+Q,EAAMkM,QAAS,EACflM,EAAMvW,MAAQwK,EAAIwN,cAClBzB,EAAMtT,SAAWsT,EAAMyB,cACvBzB,EAAMlC,YAAc7J,EAAIyN,aACxB1B,EAAM/C,YAAchJ,EAAI0N,mBACxB3B,EAAMmM,qBAAuBlY,EAAImY,uBACjC,IAAIC,EAAU,GACdA,EAAQC,KAAKrY,EAAIsY,iBACjB,IAAIC,EAAOtX,IAAOjB,EAAIwY,eAAgB,cAClCC,EAAQxX,MACRsX,EAAOE,IACTF,EAAOE,GAGTL,EAAQC,KAAKE,EAAKrX,OAAO,eACzBqV,IAAmB,IAAM6B,IACzBpB,IAAY,IAAMjL,IAClBoK,IAAY,IAAMpK,EAAM/C,cACxBqN,IAAgB,IAAMtK,EAAMvW,OAC9B,OAEAwiB,IACF,EAIMU,EAAc,GACnB,CAAC7b,IAEJvF,qBAAU5C,UACR,GAAI+D,GAAU,CACZ,IAAIkgB,EAAQC,KACRD,GACFlD,GAAY,IACPD,GACHnd,SAAUsgB,EAAMtgB,SAChBC,QAASqgB,EAAMrgB,UAEjBugB,GAAeF,UAETG,GAAa,CAAEpE,gBAEzB,IACC,CAACA,EAAcE,EAAU1c,GAASK,GAAYC,aAAcC,GAAUzG,KAEzEsF,qBAAU,QAAW,CAACtF,KAEtBsF,qBAAU,KAER,IAAIwY,EAAYvS,SAASY,eAAe,eACpC4a,EAASxb,SAASY,eAAe,YAC5B,OAAT2R,QAAS,IAATA,KAAWlS,aAAa,gBAAiB,SACnC,OAANmb,QAAM,IAANA,KAAQnb,aAAa,gBAAiB,QAAQ,IAGhD,MAAMgb,GAAmBA,KAAO,IAADI,EAC7B,IAAIxB,EAAS,CAAEnf,SAAUrG,GAAKqG,SAAUC,QAAStG,GAAKsG,SAClD2gB,GAAY,EACZC,EAAM,CAAEpB,SAAUN,EAAOnf,SAAU0f,OAAQP,EAAOlf,SAClD6gB,EAAI3B,EAAOnf,SAqBP,IAAD+gB,GApBHD,GACFA,EAAIlY,IAAOkY,EAAG,cAAc,GACxBA,EAAEE,UACAF,EAAEG,SAASrY,IAAOqV,GAAgB,GAAI,gBACxC2C,GAAY,EACZC,EAAIpB,SAAW7W,IAAOqV,GAAgB,GAAI,cAAcpV,OAAO,eACtDiY,EAAEI,QAAQtY,IAAOqV,GAAgB,GAAI,iBAC9C2C,GAAY,EACZC,EAAIpB,SAAW7W,IAAOqV,GAAgB,GAAI,cAAcpV,OAAO,gBAGjE+X,GAAY,EACZC,EAAIpB,SAAW7W,IAAOqV,GAAgB,GAAI,cAAcpV,OAAO,iBAGjE+X,GAAY,EACZC,EAAIpB,SAAW7W,IAAOqV,GAAgB,GAAI,cAAcpV,OAAO,eAGjEiY,EAAI3B,EAAOlf,QACP6gB,GACkD,SAAnB,QAA7BC,EAAA3gB,GAASyf,4BAAoB,IAAAkB,OAAA,EAA7BA,EAA+BtS,gBACjCmS,GAAY,EACZC,EAAInB,OAAS,OAEboB,EAAIlY,IAAOkY,EAAG,cAAc,GACxBA,EAAEE,UACAF,EAAEG,SAASrY,IAAOqV,GAAgB,GAAI,gBACxC2C,GAAY,EACZC,EAAInB,OAAS9W,IAAOqV,GAAgB,GAAI,cAAcpV,OAAO,eACpDiY,EAAEI,QAAQtY,IAAOqV,GAAgB,GAAI,iBAC9C2C,GAAY,EACZC,EAAInB,OAAS9W,IAAOqV,GAAgB,GAAI,cAAcpV,OAAO,gBAG/D+X,GAAY,EACZC,EAAInB,OAAS9W,IAAOqV,GAAgB,GAAI,cAAcpV,OAAO,gBAGR,YAAnB,QAA7B8X,EAAAvgB,GAASyf,4BAAoB,IAAAc,OAAA,EAA7BA,EAA+BlS,iBACxCmS,GAAY,EACZC,EAAInB,OAAS9W,IAAOqV,GAAgB,GAAI,cAAcpV,OAAO,eAG/D,GAAIgY,EAAInB,OAAQ,CACdoB,EAAIlY,IAAOiY,EAAIpB,SAAU,cACzB,IAAI0B,EAAMvY,IAAOiY,EAAInB,OAAQ,cACzBoB,EAAEI,QAAQC,KACZP,GAAY,EACZC,EAAInB,OAASmB,EAAIpB,SAErB,CAEA,OAAImB,EACKC,EAGF,IAAI,EAGPO,GAAoB/kB,iBAAwB,IAAjBzC,EAAIK,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KACtC,MAAM,SAAE+F,EAAQ,QAAEC,GAAYtG,GACxB0nB,QAAyB7F,EAAkBtU,QAC/C,CACEpH,YAAa,GACbC,aAAc,GACduhB,cAAephB,GAAYC,aAAayC,KAAK2e,GAAUA,EAAMC,aAC7DC,cAAevhB,GAAYC,aAAayC,KAAK2e,GAAUA,EAAMG,aAE/D,IAAI1hB,KAAoB,OAARI,SAAQ,IAARA,QAAQ,EAARA,GAAUC,WAAiB5G,GAAXwG,EAAuB,UAAUA,IAAY,eAAerG,KAE9F6Z,GAAa4N,EAAkBA,EAAiBnT,SAAWmT,EAAiBnT,SAAW,GAAG/Q,KAASvD,IACrG,EAEM+nB,GAAsBtlB,UAM1B,GALAugB,EAAoB,IACpBY,GAAoB,MACpBF,GAAY,IACZM,IAAmB,GACnBF,IAAyB,GACrBX,EAAqB,CAAC,IAAD6E,EACvB,MAAM,SAAE5hB,EAAQ,QAAEC,GAAYtG,GAWxBkoB,EAA+B,QAAxBD,SAVkBlG,EAAoBxU,QACjD,CACEpH,YAAa,GACbC,aAAc,GACduhB,cAAephB,GAAYC,aAAayC,KAAK2e,GAAUA,EAAMC,aAC7DC,cAAevhB,GAAYC,aAAayC,KAAK2e,GAAUA,EAAMG,aAE/D,IAAI1hB,KAAoB,OAARI,SAAQ,IAARA,QAAQ,EAARA,GAAUC,qCAA2C5G,GAAXwG,EAAuB,UAAUA,IAAY,gBACzF8c,MAEiBxd,YAAI,IAAAqiB,OAAA,EAArBA,EAAuBhf,KAAI,CAACpG,EAAGslB,KACtC,CACL3f,MAAQ3F,EAAEugB,IAAkD,GAA1BvgB,EAAEugB,GAA4BvgB,EAAEugB,GAAqBgF,WAAa,KACpGziB,MAAQ9C,EAAEugB,IAAkD,GAA1BvgB,EAAEugB,GAA4BvgB,EAAEugB,GAAqBgF,WAAa,GACpGjmB,IAAMU,EAAEugB,IAAkD,GAA1BvgB,EAAEugB,GAA4B,QAAQvgB,EAAEugB,GAAqBgF,cAAcD,IAAQ,SAASA,QAGhIxE,GAAYuE,GACZnE,IAAyB,EAC3B,CACAE,IAAmB,EAAM,EAGrB6C,GAAepkB,UAA6B,IAAtB,aAAEggB,GAAcnN,EAC1C,MAAM,SAAElP,EAAQ,QAAEC,GAAYtG,GAC9B,IAAIqoB,EAAsB,GACtBC,EAAuB,GAC3BpiB,GAAQE,aAAazE,SAAQ,CAAC6G,EAAO4K,KAC/B5K,IACF6f,EAAsB,IAAIA,EAAqBniB,GAAQC,YAAYiN,IACnEkV,EAAuB,IAAIA,EAAsB9f,GACnD,IAEF,MAAM+f,QAAczG,EAAavU,QAC/B,CACEpH,YAAakiB,EACbjiB,aAAckiB,EACdX,cAAephB,GAAYC,aAAayC,KAAK2e,GAAUA,EAAMC,aAC7DC,cAAevhB,GAAYC,aAAayC,KAAK2e,GAAUA,EAAMG,aAE/D,IAAI1hB,KAAoB,OAARI,SAAQ,IAARA,QAAQ,EAARA,GAAUC,eAAegc,cAAyBE,SAAsB9iB,GAAXwG,EAAuB,UAAUA,IAAY,MAI5HgR,EAASxQ,EAAgByhB,IAEhB,OAALA,QAAK,IAALA,KAAO3iB,MACT4iB,IACF,EAGIC,GAAgB/lB,MAAOiN,EAAQ+Y,KACnC,IAAKA,GAAiC,UAAjBA,EAA0B,CAC7C,MAAM,YAAEviB,EAAW,aAAEC,GAAiBF,GACtC,IAAIyiB,EAAiB,IAAIxiB,GACrByiB,EAAkB,IAAIxiB,GAC1B,MAAMyiB,EAAKF,EAAeG,WAAWlB,GAAUA,IAAUjY,IAEzD,IAAY,IAARkZ,EACFF,EAAiB,IAAIA,EAAgBhZ,GACrCiZ,EAAkB,IAAIA,EAAiB,aAEvC,OAAQA,EAAgBC,IAEtB,IAAK,OACHD,EAAgBC,GAAM,MACtB,MAEF,IAAK,MACHD,EAAgBC,GAAM,GACtB,MAEF,QACED,EAAgBC,GAAM,OAK5BvR,EACEvQ,EAAc,CACZZ,YAAawiB,EACbviB,aAAcwiB,IAGpB,GAGIG,GAAqB,WAA4B,IAA3BvV,EAASlT,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GAAI8S,EAAK9S,UAAAC,OAAA,EAAAD,UAAA,QAAAR,EAC/C,MAAM,YAAEqG,EAAW,aAAEC,GAAiBF,GAGtC,MAAyB,QAArBE,EAFkB,OAAXD,QAAW,IAAXA,OAAW,EAAXA,EAAa2iB,WAAWlB,GAAUA,IAAUpU,KAGpB,WAA1B9N,GAAUK,MAAMqN,GAAsB4V,KAAgBC,KACzB,WAA1BvjB,GAAUK,MAAMqN,GAAsB8V,KAAgBC,IACpE,EAEMC,GAAmB,WAAqB,IAApB5V,EAASlT,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GACpC,MAAM,YAAE6F,EAAW,aAAEC,GAAiBF,GAChC2iB,EAAK1iB,EAAY2iB,WAAWlB,GAAUA,IAAUpU,IACtD,MAA6B,SAArBpN,EAAayiB,IAAuC,QAArBziB,EAAayiB,GAAiB,cAAgB,kBACvF,EAEMQ,GAAqB,WAAqB,IAApB7V,EAASlT,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GACtC,MAAM,YAAE6F,EAAW,aAAEC,GAAiBF,GAChC2iB,EAAK1iB,EAAY2iB,WAAWlB,GAAUA,IAAUpU,IACtD,MAA4B,QAArBpN,EAAayiB,GAAgB,sBAA6C,SAArBziB,EAAayiB,GAAiB,mBAAqB,oBACjH,EAEMxZ,GAAU3J,GAAUG,SAASoD,KAAI,CAAC0G,EAAQyD,KACvC,CACL5P,MACE8F,eAAA,OAAKzB,UAAU,2BAA0BC,SAAA,CACvCF,cAAA,QAAMC,UAAU,OAAMC,SACnBpC,GAAUC,MAAMyN,KAEnBxL,cAACyW,KAAM,CACLxW,UAAU,4BACVkF,SAAS,IACT,aAAYsc,GAAmB1Z,GAC/B0G,KACEzO,cAAC0W,IAAe,CACd,cAAY,OACZjI,KAAM0S,GAAmBpZ,EAAQyD,GACjCvL,UAAWuhB,GAAiBzZ,KAGhCjD,QAASA,KACP+b,GAAc9Y,EAAO,EAEvBgH,UAAY9T,IACV4lB,GAAc9Y,EAAQ9M,EAAEV,IAAI,OAKpCqR,UAAW7D,EACXxN,IAAKwN,EACL2Z,OAASvT,IACE,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOxV,QAAS,IACXqH,cAAA,OAAAE,SACLF,cAAA,UACEC,UAAU,cACV6E,QAASA,KACPyJ,IAAMC,KAAK,CACT5S,MAAOkC,GAAUC,MAAMyN,GACvB7E,MAAO,IACP8H,KAAMoH,GACNiC,gBAAiB,KACjBG,cAAe,CACbtW,MAAO,CAAEC,gBAAiB,UAAWsW,OAAQ,EAAGC,aAAc,QAEhEjc,QACE8D,cAAA,OAAAE,SACGiO,IAGLkK,OAAQ,GACR,EACFnY,SACFF,cAAA,OAAKC,UAAU,eAAerE,MAAOuS,EAAMjO,SAAEiO,QAK1CnO,cAAA,OAAAE,SAAMiO,IAGjB9F,MAAiC,WAA1BvK,GAAUK,MAAMqN,GAAsB,oBAAsB,wBAIjEmW,GAAe7jB,GAAUC,MAAMsD,KAAI,CAACpG,EAAGsG,KACpC,CAAEX,MAAO9C,GAAUG,SAASsD,GAAIxD,MAAO9C,MAG1CgkB,GAAkB2C,IACtB,MAAMC,EAAkB,IAAIC,gBAAgB1H,GAE5C,IAAK,IAAI7Y,KAAKqgB,EACO,MAAfA,EAASrgB,GACXsgB,EAAgBE,IAAIxgB,EAAGqgB,EAASrgB,IAEhCsgB,EAAgBG,OAAOzgB,GAK3B8Y,EAAgBwH,EAAiB,CAAEpiB,MAAOA,GAAQ,EAG9C2e,GAASA,KACR1N,EAEEf,EAAQ,SADbA,EAAQ,GAAG6K,GAAc,OAAQ,CAAE/a,MAAOgb,GACrB,EAGnBwH,GAAuBA,KAC3B,MAAM,SAAExjB,EAAQ,QAAEC,GAAYkd,GAC9B,OAAOnd,IAAarG,GAAKqG,UAAYC,IAAYtG,GAAKsG,OAAO,EAGzDkiB,GAAoBA,KACxB,IAAIsB,EAAYve,SAASC,uBAAuB,kBAAkB,GAClE,GAAIse,EAAW,CACb,IAAIC,EAAMxe,SAASye,kBAAkB,uBAAuB,GAEvDD,KACHA,EAAMxe,SAASsI,cAAc,QACzBjI,aAAa,OAAQ,uBACzBme,EAAIE,UAAY,gCAGlBH,EAAUI,iBAAiB,0BAA0BvoB,SAASwoB,IACxDA,EAAQC,cAAcve,UAAUwe,SAAS,8BAC3CF,EAAQve,aAAa,gBAAgB,GAGrCue,EAAQve,aAAa,gBAAgB,EACvC,IAGFL,SAASC,uBAAuB,aAAa,GAAG8e,sBAAsB,WAAYP,GAClFA,EAAI3I,YAAY0I,EAClB,GAGIS,GAAwBA,CAACC,EAAWC,KACxC,GAAkB,SAAdD,EAAsB,CACxB,GAAmB,gBAAhBC,GAAiD,wBAAhBA,EAAoC,CACtE,GAAwB,OAApBxF,GACF,OAASrd,cAAA,SAAOC,UAAU,0BAA0B6iB,QAAS,iBAAiBF,IAAY1iB,SAAC,qCAE7F,GAAwB,QAApBmd,GACF,OAASrd,cAAA,SAAOC,UAAU,0BAA0B6iB,QAAS,iBAAiBF,IAAY1iB,SAAC,0CAC/F,CAEA,OAASwB,eAAA,SAAOohB,QAAS,iBAAiBF,IAAY1iB,SAAA,CAACF,cAAA,QAAMC,UAAU,UAASC,SAAC,yBAA2B,QAC9G,CAEE,OAASwB,eAAA,SAAOohB,QAAS,iBAAiBF,IAAY1iB,SAAA,CAACF,cAAA,QAAMC,UAAU,UAASC,SAAC,uBAAyB,OAC5G,EAGI6iB,GAAeA,KAAO,IAADC,EACzB,OACEthB,eAACsP,KAAI,CAACiS,UAAWpkB,GAASqB,SAAA,CACxBF,cAAA,OAAAE,SACEwB,eAAA,UACEC,MAAO,CAAEuhB,aAAc,QACvB/d,SAAS,IACTrG,GAAG,eACH,aAAW,iBACXgG,QAASsZ,GAAOle,SAAA,CAChBF,cAACwY,KAAiB,CAAC,aAAY,OAC/BxY,cAAA,QAAAE,SAAM,kBAGVwB,eAAA,OAAK5C,GAAG,eAAcoB,SAAA,CACpBF,cAAA,OAAKC,UAAU,gBAAeC,UAC1BgP,IAAkB,OAALzP,QAAK,IAALA,OAAK,EAALA,EAAOyP,aAAclP,cAAA,MAAI2B,MAAO,CAAEwhB,UAAW,OAAQjjB,SAAEgP,IAAkB,OAALzP,QAAK,IAALA,OAAK,EAALA,EAAOyP,eAE5FxN,eAAA,OAAKzB,UAAU,gBAAeC,SAAA,CAC3Bsc,IAAgBxc,cAAA,MAAAE,SAAKsc,KACtB9a,eAAA,OAAK5C,GAAG,iBAAgBoB,SAAA,CACtBF,cAACyW,KAAM,CACLtR,SAAS,IACTvJ,MAAM,mBACN2R,QAASA,GACTiC,SAAUyK,EAAkB1U,UAC5B,aAAW,8BACXT,QAASA,IAAMyQ,GAAkBjF,GAA8B,CAAE,YAAuB,OAARzR,SAAQ,IAARA,QAAQ,EAARA,GAAUC,GAAI,cAAiB0d,KAC/G/N,KAAMzO,cAAC0W,IAAe,CAAC,cAAY,OAAOjI,KAAM2U,KAAcnS,KAAK,SAiBrEjR,cAACyW,KAAM,CACLtR,SAAS,IACTvJ,MAAM,gBACN2R,QAASuP,GACTtN,SAAUjC,IAAW0M,EAAkB1U,UACvC,aAAW,iCACXT,QAAShK,UACPiiB,IAAe,SACT8C,GAAkB,QACxB9C,IAAe,EAAM,EAEvBtO,KAAMzO,cAAC0W,IAAe,CAAC,cAAY,OAAOjI,KAAMmI,KAAa3F,KAAK,SAEpEjR,cAACyW,KAAM,CACLtR,SAAS,IACTvJ,MAAM,eACN2R,QAASyP,GACTxN,SAAUjC,IAAW0M,EAAkB1U,UACvC,aAAW,gCACXT,QAAShK,UACPmiB,IAAc,SACR4C,GAAkB,OACxB5C,IAAc,EAAM,EAEtBxO,KAAMzO,cAAC0W,IAAe,CAAC,cAAY,OAAOjI,KAAMoI,KAAa5F,KAAK,SAEpEjR,cAACyW,KAAM,CACLtR,SAAS,IACTvJ,MAAM,gBACN2R,QAAS2P,GACT1N,SAAUjC,IAAW0M,EAAkB1U,UACvC,aAAW,iCACXT,QAAShK,UACPqiB,IAAe,SACT0C,GAAkB,QACxB1C,IAAe,EAAM,EAEvB1O,KAAMzO,cAAC0W,IAAe,CAAC,cAAY,OAAOjI,KAAMqI,KAAY7F,KAAK,eAItEyL,IAAmBhb,eAAA,KAAAxB,SAAA,CAAG,iBAAe,GAAGwc,GAAgB,QAAQA,GAAgB,WAElFJ,IAAYtc,cAAA,KAAGlB,GAAG,cAAaoB,SAAEoc,KAClC5a,eAAA,OAAKuD,KAAK,SAAS,aAAW,uBAAuBhF,UAAU,SAAQC,SAAA,CACrEwB,eAAA,OAAK5C,GAAG,iBAAiBmB,UAAU,mBAAkBC,SAAA,CACnDF,cAAA,QAAMlB,GAAG,kBAAkBmB,UAAU,UAASC,SAAC,sIAG/CwB,eAAA,OAAK5C,GAAG,4BAA4BmB,UAA0B,gBAAdiP,GAA6C,wBAAdA,EAAoC,wCAA0C,SAAShP,SAAA,CAClKyiB,GAAsB,OAAQzT,GAEf,gBAAdA,GAA6C,wBAAdA,EAC9BlP,cAAC4Z,KAAU,CACT9a,GAAG,qBACH,mBAAiB,kBACjBukB,YAAY,EACZC,YAAY,EACZC,aAAclc,IAAOuU,GAASnd,SAAUkc,GACxC/Z,MAAOyG,IAAOuU,GAASnd,UACvB6I,OAAQoT,EACR8I,aAAejE,IACZA,GACDA,EAAEG,SAASrY,IAAOqV,GAAgB,GAAI,gBACtC6C,EAAEI,QAAQtY,IAAOqV,GAAgB,GAAI,gBACpCd,GAASld,SAAW6gB,EAAEI,QAAQtY,IAAOuU,GAASld,QAASic,IAE1D8I,SAAWC,IACT7H,GAAY,IAAKD,GAAUnd,SAAUilB,EAAUpc,OAAOqT,KACtDb,EAAarX,QAAQkhB,QACrB3J,EAAUvX,QAAQkhB,QAClBhI,IAA2B,EAAM,IAIrC3b,cAAA,QAAMC,UAAU,+BAA+BnB,GAAG,qBAAqB6C,MAAO,CAACmN,WAAW,OAAO5O,SAC9FmH,IAAOuU,GAASnd,UAAU6I,OAAO,mBAIzCsU,GAASld,SACRgD,eAAA,OAAK5C,GAAG,0BAA0BmB,UAAU,wCAAuCC,SAAA,CAC/EyiB,GAAsB,KAAMzT,GAC9BlP,cAAC4Z,KAAU,CACT9a,GAAG,mBACH,mBAAiB,kBACjBukB,YAAY,EACZC,YAAY,EACZC,aAAclc,IAAOuU,GAASld,QAASic,GACvC/Z,MAAOyG,IAAOuU,GAASld,SACvB4I,OAAQoT,EACR8I,aAAejE,IACZA,GACDA,EAAEG,SAASrY,IAAOqV,GAAgB,GAAI,gBACtC6C,EAAEI,QAAQtY,IAAOqV,GAAgB,GAAI,gBACpCd,GAASnd,UAAY8gB,EAAEG,SAASrY,IAAOuU,GAASnd,SAAUkc,IAE7D8I,SAAWC,IACT7H,GAAY,IAAKD,GAAUld,QAASglB,EAAUpc,OAAOqT,KACrDb,EAAarX,QAAQkhB,QACrB3J,EAAUvX,QAAQkhB,QAClBhI,IAA2B,EAAM,UAM3C3b,cAAA,OAAKlB,GAAG,aAAYoB,SAClBwB,eAAA,OAAK5C,GAAG,cAAemB,UAAU,sBAAqBC,SAAA,CACpDwB,eAAA,OAAKzB,UAAU,kFAAiFC,SAAA,CAC9FF,cAAC4jB,KAAKC,MAAK,CAACf,QAAQ,8BAA6B5iB,SAAC,cAClDF,cAAA,KAAGlB,GAAG,iBAAiBmB,UAAU,UAASC,SAAC,8HAC3CF,cAAC8jB,KAAS,CACRhlB,GAAG,cACHilB,IAAKjK,EACL3U,SAAU,EACV6e,OAAO/B,OAA2BvG,UAAmCxjB,EACrE+rB,WAAY,CACRnlB,GAAG,8BACH,gBAAgBmjB,KAChB,mBAAmBA,KAAyB,iBAAkC,gBAAd/S,GAA6C,wBAAdA,EAAoC,4BAA8B,GACjKjP,UAAUgiB,KAAyB,2BAA6B,GAChEiC,SAASjC,MAEbkC,YAAalC,KAAyB,GAAI,uBAC1CwB,SAAWW,IACT,GAAIA,GAAkC,IAArBA,EAAUzrB,OAAc,CACvC,MAAM0rB,EAAS,IAAIhqB,OAAO+pB,EAAU,IACpCjJ,EAAmBkJ,EAAOzjB,OAC1B2a,GAAmB,IACnBE,GAAuB4I,EAAOzjB,OAC9Bwf,GAAoBiE,EAAOzjB,MAC7B,CACAoZ,EAAUvX,QAAQkhB,OAAO,EAE3BW,QAASA,KACFrC,MACLtG,IAA2B,EAAK,EAElC4I,OAASvV,IACoB,MAAnB,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOvI,OAAO7F,SACfua,EAAmB,MACnBM,GAAuB,MACvBF,GAAmB,IACnB6E,GAAoB,MACpBpG,EAAUvX,QAAQkhB,QACpB,EAEF/iB,MAAsB,OAAfsa,QAAe,IAAfA,IAAmB,GAC1B1a,QAASmhB,GACT6C,WAAaC,GACXzkB,cAAC0kB,KAAI,CAAC5lB,GAAG,2BAA2B,aAAW,kBAAe6lB,WAAW,cAAazkB,SACnFukB,EAAQpjB,KAAI,CAAC3E,EAAQ8O,IACpBxL,cAAC4kB,KAAQ,CAACP,OAAQ3nB,EAAQmoB,SAAUrZ,EAA2C,YAAU,SAAS,cAAY,OAAMtL,SACjHxD,EAAOooB,iBACNpjB,eAAAiN,WAAA,CAAAzO,SAAA,CAAEF,cAAC0W,IAAe,CAACzW,UAAU,iCAAiC,cAAY,OAAOwO,KAAMsW,OAAuB,6BAE9GroB,EAAOqB,OAJqC,sBAAsByN,SAU5EwZ,eAAe,+BAGnBtjB,eAAA,OAAKzB,UAAU,mDAAkDC,SAAA,CAC/DwB,eAACkiB,KAAKC,MAAK,CAACf,QAAQ,2BAA0B5iB,SAAA,CAAC,SAC5Ckc,IACCpc,cAAA,QAAMC,UAAU,uBAAuB0B,MAAO,CAACK,MAAM,MAAO6iB,SAAS,WAAYI,KAAK,OAAQ,cAAY,OAAM/kB,SAC9GF,cAAA,QAAMiF,KAAK,MAAMigB,IAAI,cAAc,aAAW,cAAcjlB,UAAU,uCAAsCC,SAC1GF,cAAA,OAAKmlB,QAAQ,gBAAgBC,UAAU,QAAQ,YAAU,UAAUze,MAAM,MAAMC,OAAO,MAAMiE,KAAK,eAAe,cAAY,OAAM3K,SAChIF,cAAA,QAAMuf,EAAE,yUAMlBvf,cAAA,KAAGlB,GAAG,cAAcmB,UAAU,UAASC,SAAC,+DACxCF,cAAC8jB,KAAS,CACRC,IAAK/J,EACLlb,GAAG,WACHqG,SAAU,EACV6e,MAAO9H,KAAyB+F,WAAkC/pB,EAClE+rB,WAAY,CACRnlB,GAAG,2BACH,gBAAiBod,IAAyB+F,KAC1C,mBAAoB/F,IAAyB+F,KAA0B,cAAgB,GACvFhiB,UAAWic,IAAyB+F,KAA0B,2BAA6B,GAC3FiC,SAAUhI,IAAyB+F,MAEvCwB,SAAWW,IACT,GAAIA,GAAkC,IAArBA,EAAUzrB,OAAc,CACvC,MAAM0rB,EAAS,IAAIhqB,OAAO+pB,EAAU,IACpC7I,GAAmB8I,EAAOzjB,MAC5B,GAEFykB,SAAWC,IACT/J,GAAmB,MACnBF,EAAoBiK,GAChBA,EAAW3sB,OACbsjB,IAAqBH,IAAY,IAC9ByJ,QAAOhkB,IAA6E,IAAxEA,EAAEX,MAAM4f,WAAWtT,cAAc6C,QAAQuV,EAAWpY,iBAChE7L,KAAKmkB,IAAC,CAAQznB,MAAOynB,EAAEznB,MAAMyiB,WAAY5f,MAAO4kB,EAAE5kB,MAAM4f,WAAYjmB,IAAKirB,EAAEjrB,IAAIimB,gBAElFvE,GAAoB,KACtB,EAEFrb,MAAO0a,IAAmBF,EAC1B5a,QAASwb,IAAoBF,GAC7B0I,WAAaC,GACXzkB,cAAC0kB,KAAI,CAAC5lB,GAAG,wBAAwB,aAAW,kBAAe6lB,WAAW,cAAazkB,SAChFukB,EAAQpjB,KAAI,CAAC3E,EAAQ8O,IACpBxL,cAAC4kB,KAAQ,CAACP,OAAQ3nB,EAAQmoB,SAAUrZ,EAAwC,YAAU,SAAS,cAAY,OAAMtL,SAC9GxD,EAAOooB,iBACNpjB,eAAAiN,WAAA,CAAAzO,SAAA,CAAEF,cAAC0W,IAAe,CAACzW,UAAU,iCAAiC,cAAY,OAAOwO,KAAMsW,OAAuB,6BAE9GroB,EAAOqB,OAJqC,mBAAmByN,SAUzEwZ,eAAe,+BAGnBhlB,cAAA,OAAKC,UAAU,oDAAmDC,SAChEF,cAACyW,KAAM,CACLtR,SAAU,EACVqK,SAAU4M,GACVtX,QAASA,KACP,MAAM,SAAErG,EAAQ,QAAEC,GAAYkd,GAC9Bb,EAAgB,GAChBF,GAAoB,GAChBK,IAAoB+G,MACtBvS,EACEtQ,EAAkB,CAChBR,aAAc,IACTD,GAAYC,aACf,CACEqhB,WAAYzE,GACZ2E,UAAW7E,GAEoB,kBAArBA,GACNA,GAAgBjL,WAAW,IAAK,MAC9BiL,GAEF,UACJ/Z,EACsC,IAApC5C,GAAYC,aAAajG,OACrB,EACAgG,GAAYC,aAAajG,OAAS,OAKhDwiB,EAAmB,MACnBM,GAAuB,MACvBF,GAAmB,IACnB6E,GAAoB,MACpBpG,EAAUvX,QAAQkhB,QAClB7J,EAAarX,QAAQkhB,SAEhBzI,GAAmBI,IAAqB2G,KAE3ChD,GAAe,CAAEf,SAAUzf,EAAU0f,OAAQzf,IAE7ClH,IAAawsB,KAAK,CAChB1sB,QAAS,uBACTgE,YACE,oGACF/D,SAAU,GAGhB,EAEFkuB,SAAS,SAAQvlB,SAAC,sBAO5BF,cAAA,OAAKC,UAAU,YAAWC,SACvBvB,GAAYC,aAAajG,OAAS,GACjC+I,eAAAiN,WAAA,CAAAzO,SAAA,CACEF,cAAA,KAAAE,SAAG,mBACHF,cAAA,OAAKC,UAAU,QAAOC,SACnBvB,GAAYC,aAAayC,KAAI,CAAC2e,EAAOze,IAElCvB,cAAA,OAAKC,UAAU,gBAAeC,SAC5BwB,eAACgkB,KAAG,CACFvgB,SAAS,IACT4J,UAAY9T,IACV,GAAc,UAAVA,EAAEV,IAAiB,CACrBwgB,EAAgB,GAChBF,GAAoB,GACpB,MAAM8K,EAAS,IAAIhnB,GAAYC,cAC/B+mB,EAAOC,OAAOrkB,EAAG,GACjBmO,EAAStQ,EAAkB,CAAER,aAAc+mB,MACvCzK,GAAmBI,MACrBH,EAAmB,MACnBM,GAAuB,MACvBF,GAAmB,IACnB6E,GAAoB,MAExB,GAEFtb,QAASA,KACPiW,EAAgB,GAChBF,GAAoB,GACpB,MAAM8K,EAAS,IAAIhnB,GAAYC,cAC/B+mB,EAAOC,OAAOrkB,EAAG,GACjBmO,EAAStQ,EAAkB,CAAER,aAAc+mB,MACvCzK,GAAmBI,MACrBH,EAAmB,MACnBM,GAAuB,MACvBF,GAAmB,IACnB6E,GAAoB,MACtB,EACAlgB,SAAA,CAEFF,cAAA,KAAGC,UAAU,UAASC,SAAC,oBACvBwB,eAAA,KAAAxB,SAAA,CAAI,GAAGpC,GAAUC,MAAMD,GAAUG,SAAS8R,QAAQ,GAAGiQ,EAAMC,kBAAkB,UAC5E,GAAG1Y,GAAMsF,iBAAqC,YAApBmT,EAAMG,UAA0B,kBAAoBH,EAAMG,aACrFze,eAAA,QAAMzB,UAAU,oBAAmBC,SAAA,CACjCF,cAAC0W,IAAe,CAACzW,UAAU,oBAAoB,cAAY,OAAOwO,KAAMoX,KAAS5U,KAAK,OACtFjR,cAAC0W,IAAe,CAACzW,UAAU,mBAAmB,cAAY,OAAOwO,KAAMqX,KAAS7U,KAAK,UAEvFjR,cAAA,KAAGC,UAAU,UAASC,SAAC,wDAvCS,gBAAgBqB,cAiDhEvB,cAAA,OAAKlB,GAAG,iBAAgBoB,SACrBpC,IAAa8c,GACZ5a,cAAA2O,WAAA,CAAAzO,SACEF,cAAA,OAAKlB,GAAG,UAASoB,SACfF,cAAC+lB,KAAc,CACbC,YAAaA,IACXhmB,cAACimB,KAAK,CAAC3qB,YAAY,2BAA2B4qB,WAAY,CAAEhP,QAAS,UACrEhX,SACFF,cAACmmB,KAAuB,CAAClmB,UAAU,YAAWC,SAC5CF,cAAComB,KAAK,CACJnmB,UAAU,OACVsN,QAAS2M,EAAa3U,UACtBkC,QAASA,GACT4e,WAA0B,QAAhBrD,EAAEllB,GAAUE,YAAI,IAAAglB,OAAA,EAAdA,EAAgB3hB,KAAI,CAAC2G,EAAKzG,KAAC,IAClCyG,EACHzN,IAAK,GAAGgH,QAEV+kB,OAAQ,CAAEC,GAAG,GACbC,WAAY,CACVC,MAAO3oB,GAAUI,UACjBwoB,eAAgB,EAChBjD,SAAU/F,GACViJ,UAAWA,CAACF,EAAOjc,IACV,GAAGA,EAAM,MAAMA,EAAM,SAASic,iBAUvDzmB,cAACqV,GAAU,CACTC,eAAgBA,GAChBC,kBAAmBA,GACnB/H,WAAYA,GACZc,KAAMlW,GAAKqG,aAER,EAIT,MAAsB,gBAAdyQ,GAA6C,wBAAdA,EACrClP,cAAA,QAAMlB,GAAG,eAAcoB,SACpB6iB,OAGHA,IAAc,E,OCv8BL6D,OAlCaA,KAC1B,MAAOrhB,EAAWC,GAAgBnI,oBAAS,IACpCrC,EAAOyK,GAAYpI,mBAAS,OAC5BjF,EAAMsN,GAAWrI,mBAAS,MAsBjC,MAAO,CACLkI,YACAvK,QACA5C,OACAuN,QAAS5E,uBAxBKjG,iBAA8B,IAAvB8K,EAAYlN,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GACpC,IACE8M,GAAa,GACb,MAAMK,QAvByB/K,iBACnC,MAAM/D,EAAS,CACb6B,OAAQ,MACR5B,IAAK,uCAH+D0B,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,oBAAnBA,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KAIvDQ,QAAS,CAAC,GAGN2M,SADiB/M,IAAM/B,IACCqB,KAK9B,OAFwByN,GAA8B,EAGxD,CAUiCghB,CAAsBjhB,GAGjD,OAFAF,EAAQG,GACRL,GAAa,GACNK,CACT,CAAE,MAAO5K,GAGP,MAFAwK,EAASxK,GACTuK,GAAa,GACPvK,CACR,CACF,GAYgC,IAC9B8K,MAAOhF,uBAXKgF,KACZP,GAAa,GACbE,EAAQ,MACRD,EAAS,KAAK,GAQY,IAC3B,ECSYqhB,OAlCqBA,KAClC,MAAOvhB,EAAWC,GAAgBnI,oBAAS,IACpCrC,EAAOyK,GAAYpI,mBAAS,OAC5BjF,EAAMsN,GAAWrI,mBAAS,MAsBjC,MAAO,CACLkI,YACAvK,QACA5C,OACAuN,QAAS5E,uBAxBKjG,UACd,IACE0K,GAAa,GACb,MAAMK,QA5BiC/K,iBAC3C,MAAM/D,EAAS,CACb6B,OAAQ,MACR5B,IAAK,uCAHoD0B,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,6BAI5DQ,QAAS,CACPigB,OAAQ,aACR,eAAgB,+BAElB3f,aAAc,QAEVoB,QAAiB9B,IAAM/B,GACvB8O,EAAejL,EAASxC,KACxBuU,EAAWpF,GAAMiF,sBAAsB5R,EAAS1B,QAAQ,wBAK9D,OAJA2M,EAAa8G,SAAWA,EAEY,OAAZ9G,QAAY,IAAZA,KAAcoL,KAAOpL,EAAe,EAG9D,CAUiCkhB,GAG3B,OAFArhB,EAAQG,GACRL,GAAa,GACNK,CACT,CAAE,MAAO5K,GAGP,MAFAwK,EAASxK,GACTuK,GAAa,GACPvK,CACR,IAa8B,IAC9B8K,MAAOhF,uBAXKgF,KACZP,GAAa,GACbE,EAAQ,MACRD,EAAS,KAAK,GAQY,IAC3B,ECsHYuhB,OAxJYnnB,IAAmC,IAAlC,YAAEiT,EAAW,YAAEC,GAAalT,EACrCO,cAAjB,MACMuP,EAAU7O,cACVmmB,EAAmBL,KACnBM,EAA2BJ,MAC1BhpB,EAAWqpB,GAAgB9pB,sBAC3B2d,EAAUC,GAAe5d,mBAAS,OAClC+pB,EAASC,GAAchqB,mBAAS,GAEvCK,qBAAU,KACJoV,GAAaA,GAAY,GACzBC,GAAaA,EAAY,IAC7BpP,SAAS/H,MAAQ,wBAAwB,GACxC,IAEH8B,qBAAU5C,gBACFwsB,EAAiBF,EAASpM,EAAS,GACxC,CAACoM,EAASpM,IAEb,MAAMnF,EACJ7V,cAAC8V,KAAkB,CAAC,aAAY,KAAM7Q,KAAM,OAGxCqiB,EAAmBxsB,MAAOysB,EAAKtW,KACnC,IAAIuW,EAAWngB,MAASC,OAAO,cAC/B,MAAMmgB,QAAgBR,EAAiBthB,QACrC,YAAY4hB,cAAgBtW,+BAAkCuW,KAEhEL,EAAaM,EAAQ,EAGjBhgB,EAAU,CACd,CACE7L,MAAO,SACPrB,IAAK,SACLqR,UAAW,SACX8V,OAAS/X,GACP3J,cAAA,OAAK2B,MAAO,CAACmN,WAAW,OAAO5O,SAC5ByJ,KAIP,CACE/N,MAAO,cACPrB,IAAK,cACLqR,UAAW,QACX8V,OAAQA,CAACvT,EAAOuZ,IACd1nB,cAAA,OAAAE,SACEF,cAAA,UACEC,UAAU,cACV6E,QAASA,KACPyJ,IAAMC,KAAK,CACT5S,MAAO8rB,EAAe,OACtBjZ,KAAMoH,EACNlP,MAAO,IACPmR,gBAAiB,KACjBG,cAAe,CACbtW,MAAO,CAAEC,gBAAiB,UAAWsW,OAAQ,EAAGC,aAAc,QAEhEjc,QACE8D,cAAA,OAAK2B,MAAO,CAAEgmB,UAAU,WAAYznB,SACjCiO,IAGLkK,OAAQ,GACR,EACFnY,SACFF,cAAA,OAAKC,UAAU,eAAerE,MAAOuS,EAAMjO,SAAEiO,QAInDyZ,SAAU,CACRC,WAAW,IAGf,CACEjsB,MAAO,OACPrB,IAAK,OACLqR,UAAW,eAEb,CACEhQ,MAAO,qBACPrB,IAAK,qBACLqR,UAAW,uBAaTxT,EAAgB,OAAT0F,QAAS,IAATA,OAAS,EAATA,EAAWE,KAAKqD,KAAI,CAACymB,EAAevmB,KAAO,IAADwmB,EACrD,MAAMC,EAAgD,QAAnCD,EAAGD,EAAcG,0BAAkB,IAAAF,OAAA,EAAhCA,EAAkCvkB,MAAM,MAC9D,MAAO,CACLjJ,IAAKgH,EACLoI,OAAQme,EAAcne,OACtByE,YAAa0Z,EAAc1Z,YAC3BD,MAAO2Z,EAAc3Z,MACrBH,mBAAoB3G,IAAOygB,EAAc9Z,oBAAoB1G,OAAO,cACpE4gB,iBAAkB7gB,IAAOygB,EAAcI,kBAAkB5gB,OAAO,cAChE6gB,gBAAiBL,EAAcK,gBAC/BF,mBAAoBD,EAAgBA,EAAc,GAAGtc,QAAQ,SAAU,IAAM,GAC7E0c,kBAAmBJ,EAAgBA,EAAc,GAAGpb,UAAU,GAAI,IAAM,GACzE,IAOH,OACElL,eAAA,QAAM5C,GAAG,eAAemB,UAAW,0CAA0CC,SAAA,CAC3EF,cAAA,OAAAE,SACEwB,eAAA,UACE5C,GAAG,eACH,aAAW,iBACXgG,QAASA,KACP6K,EAAQ,QAAQ,EAChBzP,SAAA,CACFF,cAACwY,KAAiB,CAAC,aAAY,OAC/BxY,cAAA,QAAAE,SAAM,kBAGVF,cAAA,OAAKlB,GAAG,eAAcoB,SACpBwB,eAAA,OAAKzB,UAAU,gBAAeC,SAAA,CAC5BF,cAAA,MAAAE,SAAI,kBACJF,cAAA,OAAKlB,GAAG,iBAAgBoB,SACtBF,cAACyW,KAAM,CACLlJ,QAAS2Z,EAAyB3hB,UAClCkJ,KAAMzO,cAAC0W,IAAe,CAAC,cAAY,OAAOjI,KAAMmI,KAAa3F,KAAK,OAClE,aAAW,iCACXnM,QAASA,KAzBShK,WAC5B,MAAMzC,QAAa6uB,EAAyBvhB,UAC5CuM,GAAa7Z,EAAMA,EAAKsU,SAAWtU,EAAKsU,SAAW,QAAU,qBAAqB,EAwBtE0b,EAAuB,WAMjCroB,cAAComB,KAAK,CAACtnB,GAAG,oBACR6C,MAAO,CAAC2mB,SAAS,cACjB7gB,QAASA,EACT4e,WAAYjuB,MAET,EC3EImwB,OA/EG1oB,IAA6C,IAA5C,SAAEE,EAAQ,YAAE+S,EAAW,YAAEC,GAAalT,EACvD,MAAM4D,EAAO,GACb,OACA/B,eAAC8mB,IAAM,CAAAtoB,SAAA,CAEHF,cAACyoB,IAAK,CAACC,OAAK,EAACjlB,KAAMA,EAAM8e,QACvBviB,cAAC6S,GAAI,CACH9S,SAAUA,EACV+S,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAACC,OAAK,EAACjlB,KAAM,QAAgB8e,QACjCviB,cAAC6Z,GAAY,CACX3K,eAAWhX,EACX4a,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAAChlB,KAAM,oCAA4C8e,QACvDviB,cAACuY,GAAkB,CACjBzF,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAAChlB,KAAM,4BAAoC8e,QAC/CviB,cAAC2Y,GAA0B,CACzB7F,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAAChlB,KAAM,qCAA6C8e,QACxDviB,cAAC4Y,GAAiC,CAChC9F,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAAChlB,KAAM,iBAAyB8e,QACpCviB,cAAC6Y,GAA+B,CAC9B/F,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAACC,OAAK,EAACjlB,KAAM,iBAAyB8e,QAC1CviB,cAACgnB,GAAkB,CACjB9X,UAAW,gBACX4D,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAACC,OAAK,EAACjlB,KAAM,eAAuB8e,QACxCviB,cAAC6Z,GAAY,CACX3K,UAAW,cACX4D,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAACC,OAAK,EAACjlB,KAAM,kBAA0B8e,QAC3CviB,cAAC6Z,GAAY,CACX3K,UAAW,sBACX4D,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAAChlB,KAAM,KAAailB,OAAO,EAAMnG,QAASviB,cAAC2oB,IAAQ,CAACzmB,GAAG,cAEtD,E,oBClEE0mB,OApBS,CACtBC,SAAUA,KACI,IAAInxB,GAELe,YACT,CAAC,EACD,CAAC,EACD,KACA,MACA,wBACA,KACA,KACA,MACA,GACA,EACA,UCwCSqwB,OAlCiBA,KAC9B,MAAOvjB,EAAWC,GAAgBnI,oBAAS,IACpCrC,EAAOyK,GAAYpI,mBAAS,OAC5BjF,EAAMsN,GAAWrI,mBAAS,MAsBjC,MAAO,CACLkI,YACAvK,QACA5C,OACAuN,QAAS5E,uBAxBKjG,iBAA8B,IAAvB8K,EAAYlN,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,GACpC,IACE8M,GAAa,GACb,MAAMK,QA7B6B/K,iBACvC,MAAM/D,EAAS,CACb6B,OAAQ,MACR5B,IAAK,uCAHmE0B,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,qCAAnBA,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,GAAG,KAI3DQ,QAAS,CACPigB,OAAQ,aACR,eAAgB,+BAElB3f,aAAc,QAEVoB,QAAiB9B,IAAM/B,GAC7B,IAAI8O,EAAejL,EAASxC,KAC5B,MAAMuU,EAAWpF,GAAMiF,sBAAsB5R,EAAS1B,QAAQ,wBAM9D,OALA2M,EAAa8G,SAAWA,EAGY,OAAZ9G,QAAY,IAAZA,KAAcoL,KAAOpL,EAAe,EAG9D,CAUiCkjB,CAA0BnjB,GAGrD,OAFAF,EAAQG,GACRL,GAAa,GACNK,CACT,CAAE,MAAO5K,GAGP,MAFAwK,EAASxK,GACTuK,GAAa,GACPvK,CACR,CACF,GAYgC,IAC9B8K,MAAOhF,uBAXKgF,KACZP,GAAa,GACbE,EAAQ,MACRD,EAAS,KAAK,GAQY,IAC3B,EC1CH,MAAQmQ,MAAM,IAAI7Q,KA4UHikB,OA1Uf,SAAiBnpB,GAAwD,IAADopB,EAAA,IAAtD,SAAElpB,EAAQ,aAAEwC,EAAY,YAAEuQ,EAAW,YAAEC,GAAalT,EAEvCipB,KAA7B,MAEM,EAAEztB,GAAMgF,cA6Bd,IAAI6oB,EAAiB,KACjB5oB,EAAe,KAEnB,MAAOglB,EAAY6D,GAAiB9rB,mBAAS,OACtC+rB,EAAYC,GAAiBhsB,oBAAS,IACtCkQ,EAASC,GAAcnQ,oBAAS,IAChCwrB,EAAUS,GAAejsB,mBAAS,KAClCksB,EAAkBC,GAAuBnsB,mBAAS,KAClDosB,EAAaC,GAAkBrsB,sBAC/BssB,EAAgBC,GAAqBvsB,mBAAS,OAC9CwsB,EAAYC,GAAiBzsB,mBAAS,GAWvC0sB,EAAoB,SAACC,GAA8B,IAADC,EAAA,IAAvBC,EAAMxxB,UAAAC,OAAA,QAAAT,IAAAQ,UAAA,GAAAA,UAAA,QAAGR,EACxC,MAOMiyB,EAPiBtB,EAAStD,QAAQjkB,KAClCA,EAAI8oB,KAAKC,cAAc1e,SAASrL,KAMMe,KAAKC,IAC/C,MAAMgpB,EAAahpB,EAAI8oB,KAAK1e,QAAQ,IAAI6e,OAAOP,EAAM,MAAO,SAASA,YACrE,MAAO,IAAK1oB,EAAK8oB,KAAME,EAAY,KAErB,QAAZL,EAAA3pB,SAAY,IAAA2pB,OAAA,EAAZA,EAAcpa,OAAOlX,QAAS,GAChC6wB,EAAoBW,GACpBT,EAAe,2BAA2BM,OAE1C1pB,EAAe,KACD,MAAV4pB,GACFV,EAAoBX,GACpBa,EAAe,GAAGM,OAElBR,EAAoBX,EAAStD,QAAQjkB,GAAQA,EAAI8oB,KAAK,KAAOF,KAC7DR,EAAe,mCAAmCM,MAGxD,EA+CA,OAzCAtsB,qBAAU,KACJ6E,IAAiBsnB,IACnBE,EAAkB,uBAAwB,MAC1CZ,EAAc,MAEdW,EAAcvnB,GAChB,GACC,CAACA,IAEJ7E,qBAAU5C,UACJgY,GAAaA,GAAY,GACzBC,GAAaA,EAAY,IAC7BpP,SAAS/H,MAAQ,qBACjB4R,GAAW,QAjBS1S,gBACP8tB,GAAgBC,WAiBvB2B,GACH7vB,MAAKgT,IAAe,IAAd,KAAEvV,GAAMuV,EACb2b,EAAYlxB,GACZoV,GAAW,EAAM,IAElB3S,OAAM,KACL2S,GAAW,EAAM,GACjB,GACH,IAEH9P,qBAAU,KACW,OAAf4nB,GACF+D,GAAc,EAChB,GACC,CAAC/D,IAEL5nB,qBAAU,KACPqsB,EAAkB,uBAAwB,KAAK,GAC9C,CAAClB,IAUF7oB,cAAA,QAAMlB,GAAG,eAAemB,UAAW,0CAA0CC,SAC3EwB,eAAC2E,IAAG,CAAAnG,SAAA,CACDqN,GAAWvN,cAAC6Q,GAAO,CAACC,UAAU,IAC/B9Q,cAACsG,IAAG,CACFrG,UAAU,YACVsG,GAAI,GACJC,GAAI,EACJ,aAAW,iCACXvB,KAAK,SACLR,KAAK,qBAAoBvE,SACzBwB,eAAA,OAAKzB,UAAU,6BAA4BC,SAAA,CACzCF,cAAA,MAAIC,UAAU,iBAAgBC,SAAC,uBAC/BF,cAAA,OAAKlB,GAAG,SAASmB,UAAU,OAAMC,SAAC,sBAGlCwB,eAAA,QAAM,kBAAgB,SAAQxB,SAAA,CAC5BwB,eAAA,MAAIuD,KAAK,OAAO,mBAAiB,wBAAwBhF,UAAU,mBAAkBC,SAAA,CAClF2oB,EAASlwB,OAAS,GA3IjB,CACd,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAkHsB0I,KAAI,CAAC6oB,EAAQ1e,IACnBxL,cAAA,MAAAE,SACEF,cAAA,UACEmF,SAAU,EACV/C,KAAK,SACLoN,UAAWqZ,EAAStD,QAAQjkB,GAAQA,EAAI8oB,KAAK,KAAOF,IAAQvxB,OAAS,EACrEmM,QAASA,KACPokB,EAAiBgB,EACjBH,EAAkBG,EAAQA,GAC1BN,EAAkBM,EAAO,EACzBhqB,SAEDgqB,GADIA,IAVA,UAAU1e,OAevBxL,cAAA,MAAAE,SACEF,cAAA,UACEC,UAAU,SACVmC,KAAK,SACL0C,QAASA,KACPxE,EAAe,KACf4oB,EAAiB,KACjBU,EAAkB,MAClBG,EAAkB,uBAAwBb,EAAe,EACzDhpB,SACS,OAAN,QAITF,cAAA,KAAGlB,GAAG,wBAAwBmB,UAAU,UAASC,SAAC,gEAKpDF,cAACmC,IAAO,CAAClC,UAAU,iBACnByB,eAACkiB,KAAK6G,MAAK,CAAAvqB,SAAA,CACTF,cAAC4jB,KAAKC,MAAK,CACT5jB,UAAU,OACV6iB,QAAQ,QACR7d,KAAK,SACL,aAAW,iCAAgC/E,SAAC,oBAG9CF,cAAC0qB,KAAK,CACJvlB,SAAU,EACVvE,MAAO0kB,EACP7B,SAAWxoB,IACTkuB,EAAcluB,EAAEwL,OAAO7F,OACvBN,EAAyB,OAAVglB,QAAU,IAAVA,OAAU,EAAVA,EAAY+E,cACL,IAAlBpvB,EAAEwL,OAAO7F,MACXyoB,GAAc,GAEdA,GAAc,EAChB,EAEFta,UA5JhB,SAAuBC,GACrB,IAAKoa,GAA4B,UAAdpa,EAAMzU,IAAiB,CACxCyU,EAAM2b,iBACN,MAAMC,EAAUjnB,SAASye,kBAAkB,SAAS,GAAGxhB,MAAMypB,cAC7D/pB,EAA2B,KAAZsqB,EAAiB,KAAOA,EACvCb,EAAkBzpB,EACpB,CACF,EAsJgBgkB,QAASA,KACFgB,GAAeiE,GAClBQ,EAAkB,uBAAwB,KAC5C,EAEF9pB,UAAU,uBACVkkB,YAAY,QACZ0G,OAAQ7qB,cAAC8qB,KAAc,IACvBrmB,KAAK,QACL3F,GAAG,UAELkB,cAACyW,KAAM,CACL,mBAAiB,sBACjBtR,SAAU,EACVlF,UAAW,0BAAyBmpB,EAAa,sBAAwB,IACzE,gBAAeA,EACftkB,QAASA,KACP,IAAKskB,EAAY,CACf,MAAMwB,EAAUjnB,SAASye,kBAAkB,SAAS,GAAGxhB,MAAMypB,cAC7D/pB,EAA2B,KAAZsqB,EAAiB,KAAOA,EACvCb,EAAkBzpB,GAClBspB,EAAkB,KACpB,GACA1pB,SACD,UAGHF,cAACyW,KAAM,CACLtR,SAAU,EACVlF,UAAU,6BACV6E,QAASA,KACPilB,EAAkB,uBAAwB,MAC1CZ,EAAc,KAAK,EACnBjpB,SAAC,uBAQbwB,eAAC4E,IAAG,CAACrG,UAAW,gBAAiBsG,GAAI,GAAIC,GAAI,GAAIO,OAAQ,EAAE7G,SAAA,CAmBzDF,cAAA,MAAIC,UAAU,cAAaC,SAAE7E,EAAE,qBAE/B2E,cAACmC,IAAO,CAAClC,UAAU,iBACnBD,cAAA,OAAAE,SAAM7E,EAAE,yBACNkS,GACA7L,eAAA,MAAIzB,UAAU,uBAAuBgF,KAAK,SAAQ/E,SAAA,CAC/CupB,EACC/nB,eAAA,QAAMzB,UAAU,UAASC,SAAA,CAAC,KACQ,KAAb,OAAhBqpB,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB5wB,QACnB,WAAW4wB,EAAiB5wB,qBAC5B,WAAmC,QAAnCswB,EAA2B,OAAhBM,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB5wB,cAAM,IAAAswB,IAAI,sBAIjDjpB,cAAA,OAAKiF,KAAK,SAAStD,MAAO,CAAEuV,SAAyB,OAAhBqS,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB5wB,QAAS,EAAI,OAAS,SAAUuH,SAAC,8BAGxFF,cAAA,OAAKC,UAAU,OAAMC,SACnBF,cAAC+E,KACC,CACApD,MAAO,CAAEuV,QAAQ,YACjBC,WAAYjJ,IAAA,IAAC,SAAEmJ,GAAUnJ,EAAA,OACtBmJ,EAGCrX,cAACsX,KAAmB,CAAC,aAAW,eAAe3V,MAAO,CAAE+G,SAAU,UAFlE1I,cAACuX,KAAkB,CAAC,aAAW,gBAAgB5V,MAAO,CAAE+G,SAAU,SAGnE,EAEHzI,UAAU,qBAAoBC,SAC7BqpB,EAAiBloB,KAAI,CAACC,EAAKkK,KAAK,IAAAuf,EAAA,OAC/B/qB,cAAC4V,GAAK,CACAvM,OACFrJ,cAAA,QAAMlB,GAAI,kBAAoB0M,EAAO7J,MAAO,CAAE+G,SAAU,SAAUoG,WAAY,IAAK9M,MAAO,SAAWgpB,wBAAyB,CAAEC,OAAQ,GAAG3pB,EAAI8oB,UAChJlqB,SAEDwB,eAAA,OAAKzB,UAAU,OAAMC,SAAA,CAClBoB,EAAI8N,YACLpP,cAACmC,IAAO,CACNR,MAAO,CAAEwhB,UAAW,MAAOD,aAAc,MAAOgI,YAAa,QAC7DC,QAAM,IAERzpB,eAAA,OAAKzB,UAAU,kBAAiBC,SAAA,CAC9BF,cAAA,QAAM2B,MAAO,CAAE+G,SAAU,QAASxI,SAAC,WACnCF,cAAA,QAAM2B,MAAO,CAAEK,MAAO,UAAW8M,WAAY,MAAOpG,SAAU,QAASxI,SACpE,IAAMoB,EAAI+U,SAEH,QAAT0U,EAAAzpB,EAAIoC,aAAK,IAAAqnB,OAAA,EAATA,EAAWpyB,QAAS,GACnBqH,cAAA,OAAKC,UAAU,OAAMC,SAClBoB,EAAIoC,MAAMrC,KAAI,CAAC+pB,EAAM7pB,IACpBvB,cAAA,OAAAE,SACEF,cAAA,KAAGC,UAAU,uBAAuBiF,KAAMkmB,EAAKrnB,KAAMmhB,IAAK,QAAQkG,EAAKC,YAAYnrB,SAChFkrB,EAAKC,aAFA9pB,cAffD,EAAI8oB,KAyBH,eAQxB,E,oBCmSekB,OArmBf,SAAazrB,GAA8C,IAAD0rB,EAAA,IAA5C,aAAEhpB,EAAY,YAAEuQ,EAAW,YAAEC,GAAalT,EACtD,MAEM4D,EAAOP,cAAcK,SACrBioB,EAAYC,kBAAO,GAEnB/b,EAAWtP,eACX,MACJX,EAAQ,CACN8N,aAASrV,EACTic,sBAAkBjc,EAClBqc,yBAAqBrc,EACrByc,cAAUzc,EACVwzB,6BAAyBxzB,EACzByzB,gCAA4BzzB,EAC5Bod,oBAAgBpd,EAChBoW,UAAMpW,EACN0zB,aAAS1zB,EACT2zB,qBAAiB3zB,EACjB4zB,kBAAc5zB,EACd6zB,kBAAc7zB,EACd8zB,mBAAe9zB,EACf+zB,qBAAiB/zB,EACjB2xB,gBAAY3xB,IAEZgL,eAEGqK,EAASC,GAAcnQ,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO8N,WAAW,IAClD4G,EAAkB+X,GAAuB7uB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO0U,mBAAoB,KAC7EI,EAAqB4X,GAA0B9uB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO8U,sBAAuB,KACtFI,EAAUyX,GAAe/uB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOkV,WAAY,OACrD+W,EAAyBW,GAA8BhvB,mBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOisB,0BACvEC,EAA4BW,GAAiCjvB,mBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOksB,6BAC7ErW,EAAgBC,GAAqBlY,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO6V,iBAAkB,OACvEhH,EAAMie,GAAWlvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO6O,OAAQ,OACzCsd,EAASY,GAAcnvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOmsB,UAAW,OAClDC,EAAiBY,GAAsBpvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOosB,mBAAmB,IAC1EC,EAAcY,GAAmBrvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOqsB,gBAAgB,IACjEC,EAAcY,GAAmBtvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOssB,gBAAgB,IACjEC,EAAeY,GAAoBvvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOusB,iBAAiB,IACpEC,EAAiBY,GAAsBxvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOwsB,kBAAmB,OAC1EpC,EAAYC,GAAiBzsB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOoqB,aAAc,GAE5Dla,EAAU7O,cACVmC,GAAWC,cAwCX4pB,GAAeA,IACZtB,EAAU/oB,SAAWQ,GAASxD,MAgLvC,OA7KA/B,qBAAU,KACJ6E,IAAiBsnB,IACnBwC,GAA2B,GAC3BC,GAA8B,GAC9BxC,EAAcvnB,GAChB,GACC,CAACA,IAEJ7E,qBAAU,KACJoV,GAAaA,GAAY,GACzBC,GAAaA,EAAY,IAC7BpP,SAAS/H,MAAQ,iDAA8C,GAC9D,IAEH8B,qBAAU,KACJovB,MAGFxe,GACA6F,GACAuX,GACAnX,GACAoX,GACAhX,GAEAgY,GAAgB,EAClB,GACC,CACDre,EACAsd,EACAzX,EACAuX,EACAnX,EACAoX,EACAhX,IAGFjX,qBAAU,KACR,GAAIovB,KAAgB,OAEpB,MAAMC,EAAYA,KAChB,MAAM,MAAEttB,GAAUwD,GAClB,IAAKxD,EAAO,CACV+N,GAAW,GAjEc1S,gBACboZ,GAAiBe,kBAjElB,KAmIX+X,GACGryB,MAAKgT,IAAe,IAAd,KAAEvV,GAAMuV,EACbkf,EAAmBz0B,EAAK,IAEzByC,OAAM,KACLgyB,EAAmB,KAAK,IAG5B,MAAMxY,EAAYhN,IAAO,aAAc,cAAcC,OAAO,cACtDgN,EAAUjN,MAASC,OAAO,cAiBhC,OAhBAilB,EAAQlY,GACRmY,EAAWlY,GAEN0X,EAUHxe,GAAW,GArFW1S,OAAOuZ,EAAWC,UAC9BJ,GAAiBC,iBAtElB,IAsE6CE,EAAWC,GA2EnE2Y,CAAsB5Y,EAAWC,GAC9B3Z,MAAKuT,IAAe,IAAd,KAAE9V,GAAM8V,EACbge,EAAoB9zB,GACpBoV,GAAW,EAAM,IAElB3S,OAAM,KACL2S,GAAW,EAAM,IAKrBmf,GAAgB,GACT,IAAMT,EAAoB,GACnC,CAAO,CACL,MAAM,KACJ5d,EAAI,QACJsd,EAAO,wBACPF,EAAuB,2BACvBC,EAA0B,oBAC1BpX,EAAmB,SACnBI,EAAQ,iBACRR,EAAgB,gBAChB8X,GACExsB,EACJ8sB,EAAQje,GACRke,EAAWZ,GACXM,EAAoB/X,GACpB0Y,EAAmBZ,GACnBI,EAA2BX,GAC3BS,EAAuB5X,GACvB+X,EAA8BX,GAC9BS,EAAYzX,EACd,GAGF,OADAoY,IACO,IAAMA,GAAW,GACvB,IAEHrvB,qBAAU,KACJovB,OAEAf,IACFO,IACAD,IACAD,IACAD,KAEE7d,GAAQsd,GACVlc,EACE3Q,EAAW,CACTN,SAAU4I,IAAOiH,EAAM,cAAchH,OAAO,cAC5C5I,QAAS2I,IAAOukB,EAAS,cAActkB,OAAO,iBAGpD,GACC,CAACgH,EAAMsd,IAEVluB,qBAAU,KACJovB,MAEAf,IACFK,EAAY,IACZE,IACIhe,GAAQsd,GAAWF,GACrBle,GAAW,GAvIgB1S,OAAO1C,EAAMsc,EAAOF,UACtCN,GAAiBK,oBAAoBnc,EAAMoc,EAAQ,UAAWE,GAuIvEwY,CAAyB5e,EAAMsd,EAASF,EAAwBnxB,KAC7DI,MAAKqc,IAAe,IAAd,KAAE5e,GAAM4e,EACQ,KAAb,OAAJ5e,QAAI,IAAJA,OAAI,EAAJA,EAAMO,QACR8zB,GAAmB,IAEnBA,GAAmB,GACnBC,GAAgB,IAElBP,EAAuB/zB,GACvBoV,GAAW,EAAM,IAElB3S,OAAM,IAAM2S,GAAW,OAE1B2e,EAAuB,IACvBC,KAEJ,GACC,CAACV,IAEJhuB,qBAAU,KACJovB,MAEAf,IACEJ,GAA8BD,GAChCgB,GAAgB,GAChBlf,GAAW,GA7JK1S,OAAO1C,EAAMwc,EAAOJ,EAAQE,UACnCR,GAAiBS,SAASvc,EAAMwc,EAAOJ,EAAQ,UAAWE,GA6JnEyY,CAAc7e,EAAMqd,EAA2BpxB,IAAKmxB,EAAwBnxB,IAAKqxB,GAC9EjxB,MAAKyc,IAAe,IAADlW,EAAA,IAAb,KAAE9I,GAAMgf,EACe,KAApB,OAAJhf,QAAI,IAAJA,GAAW,QAAP8I,EAAJ9I,EAAMgJ,aAAK,IAAAF,OAAP,EAAJA,EAAavI,QACf8zB,GAAmB,GAEnBA,GAAmB,GAErBL,EAAYh0B,EAAKgJ,OACjBoM,GAAW,EAAM,IAElB3S,OAAM,IAAM2S,GAAW,OAE1Bkf,GAAgB,GAChBN,KAEJ,GACC,CAACT,EAA4BxX,EAAkBuX,EAAyBnX,IAG3E7W,qBAAU,KACR8tB,EAAU/oB,SAAU,CAAK,GACxB,IAGDf,eAAAiN,WAAA,CAAAzO,SAAA,CACEwB,eAAC2E,IAAG,CAAAnG,SAAA,CACFF,cAACsG,IAAG,CAAC8mB,GAAI,EAAG5mB,GAAI,IAChBxG,cAACsG,IAAG,CAAC8mB,GAAI,GAAI5mB,GAAI,GAAIO,OAAQ,EAAE7G,SAC7BF,cAAA,MAAIC,UAAU,aAAYC,SAAC,gDAI/BwB,eAAC2E,IAAG,CAAAnG,SAAA,CACFwB,eAAC4E,IAAG,CAACC,GAAI,GAAIC,GAAI,EAAGvB,KAAK,SAASR,KAAK,qBAAqB,aAAW,uDAAmDvE,SAAA,CACvHqN,GAAWvN,cAAC6Q,GAAO,CAACC,UAAU,IAC/B9Q,cAAA,OAAAE,SACEwB,eAAA,MAAIzB,UAAU,iBAAgBC,SAAA,CAAC,sBAAoB8rB,GAAkBhsB,cAAA,QAAMC,UAAU,YAAWC,SAAC,WAElG8rB,GACCtqB,eAAAiN,WAAA,CAAAzO,SAAA,CACEF,cAAA,OAAKC,UAAU,YAAYgF,KAAK,QAAO/E,SACrCF,cAAA,KAAG2B,MAAO,CAAE+G,SAAU,UAAWxI,SAAC,iEAEpCF,cAAA,OAAKC,UAAU,YAAYgF,KAAK,QAAO/E,SACrCF,cAAA,KAAG2B,MAAO,CAAE+G,SAAU,UAAWxI,SAAC,2EAIxCwB,eAAA,QAAAxB,SAAA,CACEF,cAAA,QAAMlB,GAAG,kBAAkBmB,UAAU,UAASC,SAAC,sIAG/CF,cAAA,OAAAE,SACEF,cAAA,SACE8iB,QAAQ,aACR7iB,UAAU,qBACV,aAAW,sBAAqBC,SAAC,0BAIrCF,cAAC4Z,KAAU,CACT9a,GAAG,aACHqG,SAAU,EACVme,YAAY,EACZD,WAAY,KAEZ/b,OAAO,aACPnM,OAAQ6wB,GAAiB,QACzBzI,aAAclc,IAAOiH,EAAM,cAC3B6V,YAAY,aACZ,mBAAiB,kBACjBX,aAAejE,IACZA,GAAKA,EAAEI,QAAQtY,QAAakY,EAAEG,SAASrY,IAAO,aAAc,eAE/Doc,SAAW4J,IACT,MAAMC,EAAMjmB,IAAOukB,EAAS,cACtB2B,EAAQlmB,IAAOgmB,GACfG,EAAQnmB,MACRomB,EAASpmB,IAAO,aAAc,cACpC,GAAIkmB,EAAMG,KAAKJ,GAAO,GAAKG,EAAOC,KAAKH,GAAS,GAAKC,EAAME,KAAKH,GAAS,EACvEX,GAAiB,OACZ,CACL,MAAMe,EAAatmB,IAAOgmB,GAC1BT,GAAiB,GACjBL,EAAQoB,EAAWrmB,OAAO,eAC1BoI,EAAS3Q,EAAW,CAAEN,SAAUkvB,EAAWrmB,OAAO,gBACpD,GAEFrH,UAAU,qBACVgR,KAAK,SAxBA,eAAiB3C,GA0BxBtO,cAAA,OAAAE,SACEF,cAAA,SACE8iB,QAAQ,WACR7iB,UAAU,0BACV,aAAW,oBAAmBC,SAAC,wBAInCF,cAAC4Z,KAAU,CACT9a,GAAG,WACHqG,SAAU,EACVme,YAAY,EACZD,WAAY,KAEZ/b,OAAO,aACPnM,OAAQ6wB,GAAiB,QACzBzI,aAAclc,IAAOukB,EAAS,cAC9BzH,YAAY,aACZ,mBAAiB,kBACjBX,aAAejE,IACZA,GAAKA,EAAEG,SAASrY,IAAOiH,GAAMhH,OAAO,gBAAkBiY,EAAEI,QAAQtY,OAEnEoc,SAAWmK,IACT,MAAMhC,EAAUvkB,IAAOumB,GACjBC,EAAYxmB,IAAOiH,EAAM,cACzBkf,EAAQnmB,MACRomB,EAASpmB,IAAO,aAAc,cACpC,GACEwmB,EAAUH,KAAK9B,GAAW,GAC1B6B,EAAOC,KAAK9B,GAAW,GACvB4B,EAAME,KAAK9B,GAAW,EAEtBgB,GAAiB,OACZ,CACL,MAAMe,EAAatmB,IAAOumB,GAC1BhB,GAAiB,GACjBJ,EAAWmB,EAAWrmB,OAAO,eAC7BoI,EAAS3Q,EAAW,CAAEL,QAASivB,EAAWrmB,OAAO,gBACnD,GAEFrH,UAAU,qBACVgR,KAAK,SA5BA,eAAiB2a,GA8BxBlqB,eAAA,OAAK,YAAU,SAASuD,KAAK,SAAShF,UAAU,UAASC,SAAA,EACrDyrB,GAA8BD,GAA2BhqB,eAAAiN,WAAA,CAAAzO,SAAA,CAAE,aAAWwrB,EAAwB9qB,MAAM,iBACrG+qB,GAA8BjqB,eAAAiN,WAAA,CAAAzO,SAAA,CAAE,eAAawrB,EAAwB9qB,MAAM,KAAG+qB,EAA2B/qB,MAAM,UAElHZ,cAAA,KAAGlB,GAAG,eAAemB,UAAU,UAASC,SAAC,+EAGzCF,cAAA,OAAAE,UAEoB,OAAhBiU,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBxb,QAAS,IAAMqzB,GAC/BtqB,eAAA,YAAUuD,KAAK,aAAa,mBAAiB,eAAc/E,SAAA,CACzDF,cAAA,UAAQC,UAAU,iBAAgBC,SAAC,sBAEjB,OAAhBiU,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB9S,KAAI,CAACmT,EAAQhJ,IAC7BxL,cAAA,OAAAE,SACEF,cAAC4jB,KAAKkK,MAAK,CACT3oB,SAAU,EACV/C,KAAK,QACLtD,GAAI,YAAc0M,EAClB/G,KAAK,WACL1G,MAAOyW,EAAO5T,MACd,aAAY4T,EAAO5T,MACnBmtB,SAAe,OAANvZ,QAAM,IAANA,OAAM,EAANA,EAAQja,QAA+B,OAAvBmxB,QAAuB,IAAvBA,OAAuB,EAAvBA,EAAyBnxB,KAClDkpB,SAAWxoB,GACFA,EAAEwL,OAAOsnB,QACZ1B,EAA2B7X,GAC3B6X,OAZA,GAAG7X,EAAOja,OAAOiR,YAoBvCxL,cAAA,OAAAE,UAEuB,OAAnBqU,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqB5b,QAAS,IAAMqzB,GAClCtqB,eAAA,YAAUuD,KAAK,aAAa,mBAAiB,eAAc/E,SAAA,CACzDF,cAAA,UAAQC,UAAU,iBAAgBC,SAAyB,OAAvBwrB,QAAuB,IAAvBA,OAAuB,EAAvBA,EAAyB9qB,QAExC,OAAnB2T,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBlT,KAAI,CAAC2sB,EAAIxiB,IAC5BxL,cAAA,OAAAE,SACEF,cAAC4jB,KAAKkK,MAAK,CACThvB,GAAI,YAAc0M,EAClBrG,SAAU,EACV/C,KAAK,QACLqC,KAAK,WACL1G,MAAOiwB,EAAGptB,MACV,aAAYotB,EAAGptB,MACfmtB,QAASC,EAAGzzB,OAAkC,OAA1BoxB,QAA0B,IAA1BA,OAA0B,EAA1BA,EAA4BpxB,KAChDkpB,SAAWxoB,GACFA,EAAEwL,OAAOsnB,QACZzB,EAA8B0B,GAC9B1B,OAZA,GAAG0B,EAAGzzB,OAAOiR,kBAsBvC9J,eAAC4E,IAAG,CAAC8mB,GAAI,GAAI5mB,GAAI,GAAIvG,UAAU,uBAAuB8G,OAAQ,EAAG9B,KAAK,SAAS,YAAU,SAAQ/E,SAAA,CAC/FF,cAACmC,IAAO,CAAClC,UAAU,iBAClByrB,GACCI,IACmB,OAAnBvX,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqB5b,QAAS,GACT,KAAb,OAARgc,QAAQ,IAARA,OAAQ,EAARA,EAAUhc,SACRqH,cAAA,OAAKC,UAAU,kDAAiDC,SAC9DF,cAAA2O,WAAA,CAAAzO,SACEwB,eAAA,OAAKzB,UAAU,cAAaC,SAAA,CAAC,6BACAwrB,EAAwB9qB,cAK3D+qB,GACAjqB,eAAAiN,WAAA,CAAAzO,SAAA,CACEF,cAAA,OAAKC,UAAU,qBAAoBC,SAChB,OAAf+rB,QAAe,IAAfA,OAAe,EAAfA,EAAiBhX,oBAErBjV,cAAA,OAAKC,UAAU,8BAA6BC,SAC1CF,cAACqG,IAAG,CAAAnG,SACe,OAAf+rB,QAAe,IAAfA,GAAsB,QAAPV,EAAfU,EAAiBrX,aAAK,IAAA2W,OAAP,EAAfA,EAAwBlqB,KAAI,CAACuT,EAAOpJ,KAAW,IAADyiB,EAC9C,OACEjuB,cAACsG,IAAG,CAA6BC,GAAI,GAAIqM,GAAK,GAAGqZ,EAAgBrX,MAAMjc,OAAQuH,SAC7EF,cAACkuB,KAAI,CAACjuB,UAAU,2BAA0BC,SACxCwB,eAACwsB,KAAKC,KAAI,CAACluB,UAAU,eAAcC,SAAA,CACjCF,cAACkuB,KAAK9b,MAAK,CAAAlS,SACTF,cAAA,MAAIC,UAAU,aAAYC,SAAG0U,EAAMjL,WAErC3J,cAAA,QAAMC,UAAU,YAAWC,SACvB0U,EAAMxG,cAEVpO,cAAA,QAAMC,UAAU,YAAWC,SACzBF,cAAA,MAAIC,UAAU,OAAMC,SACE,QADF+tB,EAChBrZ,EAAMwZ,oBAAY,IAAAH,OAAA,EAAlBA,EAAoB5sB,KAAI,CAACG,EAAQ6sB,IACzBruB,cAAA,MAAAE,SAA6CsB,GAApC,UAAUgK,KAAS6iB,iBAZtC,cAAc7iB,IAkBlB,QAKdxL,cAAA,OAAKC,UAAU,0BAAyBC,SACrB,OAAf+rB,QAAe,IAAfA,OAAe,EAAfA,EAAiBqC,qBAIxB5C,GAA2BG,IAAoBF,GAC9C3rB,cAAA,OAAKC,UAAU,kDAAiDC,SAC9DwB,eAAAiN,WAAA,CAAAzO,SAAA,CACEF,cAACuuB,KAAa,CAAC5sB,MAAO,CAAE+G,SAAU,UAClC1I,cAAA,OAAKiF,KAAK,SAAShF,UAAU,cAAaC,SAAC,8CAMhD2rB,GAAmBF,GAClB3rB,cAAA,OAAKC,UAAU,kDAAiDC,SAC9DwB,eAAAiN,WAAA,CAAAzO,SAAA,CACEF,cAACuuB,KAAa,CAAC5sB,MAAO,CAAE+G,SAAU,UAClC1I,cAAA,OAAKiF,KAAK,SAAShF,UAAU,cAAaC,SAAC,+CAM/C8rB,GACAtqB,eAAAiN,WAAA,CAAAzO,SAAA,CACGyrB,GACCjqB,eAAA,OAAKzB,UAAU,kBAAkBnB,GAAG,aAAYoB,SAAA,CAAC,2BACtB,IACzBF,cAAA,QAAMlB,GAAG,cAAaoB,SAAEyU,EAAWA,EAAShc,OAAS,KACrDqH,cAAA,QAAMC,UAAU,UAASC,SAAC,UAGrB,OAARyU,QAAQ,IAARA,OAAQ,EAARA,EAAUtT,KAAK2sB,IAAQ,IAADQ,EAAAC,EACrB,MAAM5a,EAA8B,QAAlB2a,EAAGR,EAAGna,oBAAY,IAAA2a,OAAA,EAAfA,EACjB9iB,QAAQ,aAAcrE,MAASC,OAAO,eACvCoE,QAAQ,gBAAiB,IACzBlI,MAAM,KACT,OACExD,cAAA,OACEiF,KAAK,SACL,YAAU,SACV,cAAY,OAEZhF,UAAU,uCAAsCC,SAChDwB,eAAC2E,IAAG,CAACqM,OAAQ,GAAI/Q,MAAO,CAAEI,UAAW,SAAU7B,SAAA,CAC7CF,cAACsG,IAAG,CACFrG,UAAU,6CACVsG,GAAI,GAAI6mB,GAAI,GAAIxa,GAAI,GAAI8b,GAAI,GAAGxuB,SAC/BwB,eAAA,OAAAxB,SAAA,CACEF,cAAA,MAAIC,UAAU,WAAUC,SAAE8tB,EAAGpa,gBAC7B5T,cAAA,OAAKC,UAAU,8BAA6BC,SAAE8tB,EAAGla,0BAGrDpS,eAAC4E,IAAG,CACFrG,UAAU,6DACVsG,GAAI,GAAI6mB,GAAI,GAAIxa,GAAI,EAAG8b,GAAI,EAAExuB,SAAA,CAC7BF,cAAA,UACEC,UAAU,sCACV6E,QAASA,IAAMyQ,EAAkByY,GACjC,aAAY,mCAAmCA,EAAGpa,gBAClDhY,MAAM,2BAA0BsE,SAChCF,cAAC0W,IAAe,CACd,cAAY,OACZjI,KAAM2U,KACNnS,KAAK,SAGTjR,cAAA,UACE,aAAY,qBAAqBguB,EAAGpa,gBACpChY,MAAM,oBACNqE,UAAU,sCACV6E,QAASA,KACP4K,EAASxQ,EAAgBgR,EAAqBpS,YAC9C4R,EAAStQ,EAAkB8Q,EAAqBvR,cAChD+Q,EAASvQ,EAAc+Q,EAAqB5R,UAC5C,IAAIqwB,EAAStnB,IAAOiH,EAAM,cAAchH,OAAO,cAC3CqX,EAAOtX,IAAOukB,EAAS,cAActkB,OAAO,cAChDqI,EAAQ,uBAAuBqe,EAAGja,wBAAwB4a,YAAiBhQ,IAAQ,CACjFjT,SAAS,EACTjM,MAAO,CACL2Q,OAAQ9B,EACRoG,MAAOkX,EACP/sB,SAAUmvB,EAAGja,YACbnY,MAAOoyB,EAAGpa,cACVtE,UAAU,EACVoc,0BACAnX,sBACAoX,6BACAhX,WACAR,mBACAlE,YAAa4D,EACb3E,UA7jBZ,mCA8jBYsL,WAAY/W,EACZ2L,YAAa4e,EAAGla,mBAChBxD,aAAc0d,EACdzd,kBAAmB,OAAOyd,EAAGja,wBAAwB4a,YAAiBhQ,IAEtElE,aArhBrB,CACLlN,UACA4G,mBACAI,sBACAI,WACA+W,0BACAC,6BACArW,iBACAhH,OACAsd,UACAC,kBACAC,eACAC,eACAC,gBACAC,kBACApC,gBAwgBwB,EACF3pB,SACFF,cAAC0W,IAAe,CACd,cAAY,OACZjI,KAAMmgB,KACN3d,KAAK,YAIXjR,cAACsG,IAAG,CAACrG,UAAU,mCAAmCsG,GAAI,GAAGrG,SACvDF,cAAA,OAAKC,UAAU,OAAMC,SACnBF,cAAA,QAAAE,SAAsB,QAAtBuuB,EAAOT,EAAGna,oBAAY,IAAA4a,OAAA,EAAfA,EAAiB/iB,QAAQ,aAAcrE,MAASC,OAAO,yBApE/D0mB,EAAGja,YAwEJ,aAOlB/T,cAACqV,GAAU,CACTC,eAAgBA,EAChBC,kBAAmBA,EACnB/H,WAAYA,EACZc,KAAMA,MAId,ECplBeugB,OAnCf,SAA6BhvB,GAAwD,IAAvD,SAAEE,EAAQ,aAAEwC,EAAY,YAAEuQ,EAAW,YAAEC,GAAalT,EAEhF,OACEG,cAAA,QAAMlB,GAAG,eAAemB,UAAW,0CAA0CC,SAC3EwB,eAAC8mB,IAAM,CAAAtoB,SAAA,CAELF,cAACyoB,IAAK,CAACC,OAAK,EAACjlB,KALN,GAKkB8e,QACvBviB,cAACsrB,GAAI,CACH/oB,aAAcA,EACduQ,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAACC,OAAK,EAACjlB,KAAM,QAAgB8e,QACjCviB,cAAC6Z,GAAY,CACX3K,UAAW,mCACX4D,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAAChlB,KAAM,KAAailB,OAAO,EAAMnG,QACrCviB,cAACsrB,GAAI,CACH/oB,aAAcA,EACduQ,YAAaA,EACbC,YAAaA,UAOzB,EC+hBeuY,OA7iBf,SAAazrB,GAA8C,IAAD0rB,EAAA,IAA5C,aAAEhpB,EAAY,YAAEuQ,EAAW,YAAEC,GAAalT,EACtD,MAAM6P,EAAWtP,eAEX,MACJX,EAAQ,CACN8N,aAASrV,EACTic,sBAAkBjc,EAClBqc,yBAAqBrc,EACrByc,cAAUzc,EACVwzB,6BAAyBxzB,EACzByzB,gCAA4BzzB,EAC5Bod,oBAAgBpd,EAChBoW,UAAMpW,EACN2zB,qBAAiB3zB,EACjB4zB,kBAAc5zB,EACd6zB,kBAAc7zB,EACd8zB,mBAAe9zB,EACfqY,uBAAmBrY,EACnB+zB,qBAAiB/zB,EACjB2xB,gBAAY3xB,IAEZgL,cAIEO,EAAOP,cAAcK,SACrBioB,EAAYC,kBAAO,IAElBle,EAASC,GAAcnQ,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO8N,WAAW,IAClD4G,EAAkB+X,GAAuB7uB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO0U,mBAAoB,KAC7EI,EAAqB4X,GAA0B9uB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO8U,sBAAuB,KACtFI,EAAUyX,GAAe/uB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOkV,WAAY,OACrD+W,EAAyBW,GAA8BhvB,mBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOisB,0BACvEC,EAA4BW,GAAiCjvB,mBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOksB,6BAC7ErW,EAAgBC,GAAqBlY,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO6V,iBAAkB,OACvEhH,EAAMie,GAAWlvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO6O,OAAQjH,IAAO0G,KAAK+gB,OAAOxnB,OAAO,gBACnEukB,EAAiBY,GAAsBpvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOosB,mBAAmB,IAC1EC,EAAcY,GAAmBrvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOqsB,gBAAgB,IACjEC,EAAcY,GAAmBtvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOssB,gBAAgB,IACjEC,EAAeY,GAAoBvvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOusB,iBAAiB,IACpEzb,EAAmBwe,GAAwB1xB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAO8Q,oBAAqB,KAChF0b,EAAiBY,GAAsBxvB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOwsB,kBAAmB,OAC1EpC,EAAYC,GAAiBzsB,oBAAc,OAALoC,QAAK,IAALA,OAAK,EAALA,EAAOoqB,aAAc,GAE5Dla,EAAU7O,cACVmC,GAAWC,cAwCX4pB,GAAeA,IACZtB,EAAU/oB,SAAWQ,GAASxD,MAuKvC,OApKA/B,qBAAU,KACR,GAAIovB,KAAgB,OAEpBpd,EAAS3Q,EAAW,CAAEL,QAAS,QAC/B,MAAMquB,EAAYA,KAChB,MAAM,MAAEttB,GAAUwD,GAClB,IAAKxD,EAAO,CACV+N,GAAW,GA7Bc1S,gBACboZ,GAAiBe,kBA5ClB,KA0EX+X,GACGryB,MAAKgT,IAAe,IAAd,KAAEvV,GAAMuV,EACbkf,EAAmBz0B,EAAK,IAEzByC,OAAM,KACLgyB,EAAmB,KAAK,IAG5B,MAAMmC,EAAa3nB,MAASC,OAAO,cAgBnC,OAfAilB,EAAQyC,GAEHhD,EAUHxe,GAAW,GA/CW1S,gBACZoZ,GAAiBC,iBAjDlB,IAiD6C,KAAM6a,GAqC5D/B,CAAsB+B,GACnBr0B,MAAKuT,IAAe,IAAd,KAAE9V,GAAM8V,EACbge,EAAoB9zB,GACpBoV,GAAW,EAAM,IAElB3S,OAAM,KACL2S,GAAW,EAAM,IAKvBmf,GAAgB,GACT,IAAMT,EAAoB,GACnC,CAAO,CACL,MAAM,KACJ5d,EAAI,wBACJod,EAAuB,2BACvBC,EAA0B,oBAC1BpX,EAAmB,SACnBI,EAAQ,iBACRR,EAAgB,gBAChB8X,GACExsB,EACJ8sB,EAAQje,GACR4d,EAAoB/X,GACpB0Y,EAAmBZ,GACnBI,EAA2BX,GAC3BS,EAAuB5X,GACvB+X,EAA8BX,GAC9BS,EAAYzX,EACd,GAGF,OADAoY,IACO,IAAMA,GAAW,GACvB,IAEHrvB,qBAAU,KACJ6E,IAAiBsnB,IACnBwC,GAA2B,GAC3BC,GAA8B,GAC9BxC,EAAcvnB,GAChB,GACC,CAACA,IAEJ7E,qBAAU,KACJoV,GAAaA,GAAY,GACzBC,GAAaA,EAAYxC,GAC7B5M,SAAS/H,MAAQ,gCAA6B,GAC7C,IAEH8B,qBAAU,KACJovB,MAGFxe,GACA6F,GACAuX,GACAnX,GACAoX,GACAhX,GAEAgY,GAAgB,EAClB,GACC,CACDre,EACA6F,EACAuX,EACAnX,EACAoX,EACAhX,IAGFjX,qBAAU,KACJovB,OAEAf,IACFM,IACAF,IACAG,IACAF,KAEE9d,GACFoB,EAAS3Q,EAAW,CAAEN,SAAU4I,IAAOiH,EAAM,cAAchH,OAAO,iBACpE,GACC,CAACgH,IAEJ5Q,qBAAU,KACJovB,MAEAf,IACFO,IACIhe,GAAQod,GACVle,GAAW,GA7HgB1S,OAAO1C,EAAMoc,UAC/BN,GAAiBK,oBAAoBnc,EAAMoc,EAAQ,QA6H5D0Y,CAAyB5e,EAAMod,EAAwBnxB,KACpDI,MAAKqc,IAAe,IAAd,KAAE5e,GAAM4e,EACQ,KAAb,OAAJ5e,QAAI,IAAJA,OAAI,EAAJA,EAAMO,QACR8zB,GAAmB,IAEnBA,GAAmB,GACnBC,GAAgB,IAElBP,EAAuB/zB,GACvBoV,GAAW,EAAM,IAElB3S,OAAM,IAAM2S,GAAW,OAE1B2e,EAAuB,IACvBC,KAEJ,GACC,CAACV,IAEJhuB,qBAAU,KACJovB,OAEAnB,GAA8BD,GAA2Bpd,GAC3Doe,GAAgB,GAChBlf,GAAW,GAlJO1S,OAAO1C,EAAMwc,EAAOJ,UAC3BN,GAAiBS,SAASvc,EAAMwc,EAAOJ,EAAQ,QAkJ1D2Y,CACM,OAAJ7e,QAAI,IAAJA,OAAI,EAAJA,EAAM+B,WAAW,IAAK,KACI,OAA1Bsb,QAA0B,IAA1BA,OAA0B,EAA1BA,EAA4BpxB,IAC5BmxB,EAAwBnxB,KAEvBI,MAAKyc,IAAe,IAADlW,EAAA,IAAb,KAAE9I,GAAMgf,EACc,KAAb,QAAVlW,EAAA9I,EAAKgJ,aAAK,IAAAF,OAAA,EAAVA,EAAYvI,QACd8zB,GAAmB,GAEnBA,GAAmB,GAErBL,EAAYh0B,EAAKgJ,OACjBoM,GAAW,EAAM,IAElB3S,OAAM,IAAM2S,GAAW,OAE1Bkf,GAAgB,GAChBN,KACF,GACC,CAACT,IAGJjuB,qBAAU,KACR8tB,EAAU/oB,SAAU,CAAK,GACxB,IAEDf,eAAAiN,WAAA,CAAAzO,SAAA,CACEwB,eAAC2E,IAAG,CAAAnG,SAAA,CACFF,cAACsG,IAAG,CAAC8mB,GAAI,EAAG5mB,GAAI,IAChBxG,cAACsG,IAAG,CAAC8mB,GAAI,GAAI5mB,GAAI,GAAIO,OAAQ,EAAE7G,SAC7BF,cAAA,MAAIC,UAAU,aAAYC,SAAC,+BAI/BwB,eAAC2E,IAAG,CAAAnG,SAAA,CACFwB,eAAC4E,IAAG,CAACC,GAAI,GAAIC,GAAI,EAAGvB,KAAK,SAASR,KAAK,qBAAqB,aAAW,sCAAkCvE,SAAA,CACtGqN,GAAWvN,cAAC6Q,GAAO,CAACC,UAAU,IAC/BpP,eAAA,MAAIzB,UAAU,iBAAgBC,SAAA,CAAC,sBAAoB8rB,GAAkBhsB,cAAA,QAAMC,UAAU,YAAWC,SAAC,SAChG8rB,GACChsB,cAAA,OAAKC,UAAU,YAAYgF,KAAK,QAAO/E,SACrCF,cAAA,KAAAE,SAAG,uEAGNqC,GACCb,eAAA,QAAAxB,SAAA,CACEF,cAAA,QAAMlB,GAAG,kBAAkBmB,UAAU,UAASC,SAAC,sIAG/CF,cAAA,OAAAE,SACEF,cAAA,SACE8iB,QAAQ,aACR7iB,UAAU,qBACV,aAAW,mCAA+BC,SAAC,mCAI/CF,cAAC4Z,KAAU,CACT9a,GAAG,aACHqG,SAAU,EACV,mBAAiB,kBACjB,aAAW,mCACXme,YAAY,EACZD,WAAY,KAEZ/b,OAAO,aACPnM,OAAQ6wB,GAAiB,QACzBzI,aAAclc,IAAOiH,EAAM,cAC3BkV,aAAejE,IACZA,GACDA,EAAEI,QAAQtY,QACVkY,EAAEG,SAASrY,IAAO,aAAc,eAElCoc,SAAWnV,IACT,MAAMkf,EAAQnmB,MACRomB,EAASpmB,IAAO,aAAc,cAC9B4nB,EAAK5nB,IAAOiH,GAElB,GAAImf,EAAOC,KAAKuB,GAAM,GAAKzB,EAAME,KAAKuB,GAAM,EAC1CrC,GAAiB,OACZ,CACL,MAAMe,EAAatmB,IAAOiH,GAC1Bse,GAAiB,GACjBL,EAAQoB,EAAWrmB,OAAO,eAC1BoI,EAAS3Q,EAAW,CAAEN,SAAUkvB,EAAWrmB,OAAO,gBACpD,GAEFrH,UAAU,qBACVgR,KAAK,SAxBA,aAAa3C,KA0BpB5M,eAAA,OAAK,YAAU,SAASuD,KAAK,SAAShF,UAAU,UAASC,SAAA,EACrDyrB,GAA8BD,GAA2BhqB,eAAAiN,WAAA,CAAAzO,SAAA,CAAE,aAAWwrB,EAAwB9qB,MAAM,iBACrG+qB,GAA8BjqB,eAAAiN,WAAA,CAAAzO,SAAA,CAAE,eAAawrB,EAAwB9qB,MAAM,KAAG+qB,EAA2B/qB,MAAM,UAElHZ,cAAA,KAAGC,UAAU,UAAUnB,GAAG,eAAcoB,SAAC,+EAGzCF,cAAA,OAAAE,UAEoB,OAAhBiU,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBxb,QAAS,IAAMqzB,GAC/BtqB,eAAA,YAAUuD,KAAK,aAAa,mBAAiB,eAAc/E,SAAA,CACzDF,cAAA,UAAQC,UAAU,iBAAgBC,SAAC,sBAEjB,OAAhBiU,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB9S,KAAI,CAACmT,EAAQ+L,IAC7BvgB,cAAA,OAAAE,SACEF,cAAC4jB,KAAKkK,MAAK,CACThvB,GAAI,eAAeyhB,IACnBne,KAAK,QACLqC,KAAK,cACLU,SAAU,EACVpH,MAAOyW,EAAO5T,MACd,aAAY4T,EAAO5T,MACnBmtB,QAASvZ,EAAOja,OAA+B,OAAvBmxB,QAAuB,IAAvBA,OAAuB,EAAvBA,EAAyBnxB,KACjDkpB,SAAWxoB,GACFA,EAAEwL,OAAOsnB,QACZ1B,EAA2B7X,GAC3B6X,OAZA,GAAG7X,EAAOja,OAAOgmB,YAoBvCvgB,cAAA,OAAAE,UAEuB,OAAnBqU,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqB5b,QAAS,IAAMqzB,GAClCtqB,eAAA,YAAUuD,KAAK,aAAa,mBAAiB,eAAc/E,SAAA,CACzDF,cAAA,UAAQC,UAAU,iBAAgBC,SAAyB,OAAvBwrB,QAAuB,IAAvBA,OAAuB,EAAvBA,EAAyB9qB,QAExC,OAAnB2T,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBlT,KAAI,CAAC2sB,EAAIzN,IAC5BvgB,cAAA,OAAAE,SACEF,cAAC4jB,KAAKkK,MAAK,CACThvB,GAAI,eAAeyhB,IACnBne,KAAK,QACLqC,KAAK,cACLU,SAAU,EACV,aAAY6oB,EAAGptB,MACfmtB,QAASC,EAAGzzB,OAAkC,OAA1BoxB,QAA0B,IAA1BA,OAA0B,EAA1BA,EAA4BpxB,KAChDwD,MAAOiwB,EAAGptB,MACV6iB,SAAWxoB,GACFA,EAAEwL,OAAOsnB,QACZzB,EAA8B0B,GAC9B1B,OAZA,GAAG0B,EAAGzzB,OAAOgmB,kBAuBzC7e,eAAC4E,IAAG,CAAC8mB,GAAI,GAAI5mB,GAAI,GAAIvG,UAAU,uBAAuB8G,OAAQ,EAAG9B,KAAK,SAAS,YAAU,SAAQ/E,SAAA,CAC/FF,cAACmC,IAAO,CAAClC,UAAU,iBAClByrB,GACCI,IACmB,OAAnBvX,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqB5b,QAAS,GACT,KAAb,OAARgc,QAAQ,IAARA,OAAQ,EAARA,EAAUhc,SACRqH,cAAA,OAAKC,UAAU,kDAAiDC,SAC9DF,cAAA2O,WAAA,CAAAzO,SACEwB,eAAA,OAAKzB,UAAU,cAAaC,SAAA,CAAC,6BACAwrB,EAAwB9qB,cAc3D+qB,GACAjqB,eAAAiN,WAAA,CAAAzO,SAAA,CACEF,cAAA,OAAKC,UAAU,qBAAoBC,SAChB,OAAf+rB,QAAe,IAAfA,OAAe,EAAfA,EAAiBhX,oBAErBjV,cAAA,OAAKC,UAAU,8BAA6BC,SAC1CF,cAACqG,IAAG,CAAAnG,SACe,OAAf+rB,QAAe,IAAfA,GAAsB,QAAPV,EAAfU,EAAiBrX,aAAK,IAAA2W,OAAP,EAAfA,EAAwBlqB,KAAI,CAACuT,EAAOpJ,KAAW,IAADyiB,EAC9C,OACEjuB,cAACsG,IAAG,CAA6BC,GAAI,GAAIqM,GAAK,GAAGqZ,EAAgBrX,MAAMjc,OAAQuH,SAC7EF,cAACkuB,KAAI,CAACjuB,UAAU,2BAA0BC,SACxCwB,eAACwsB,KAAKC,KAAI,CAACluB,UAAU,eAAcC,SAAA,CACjCF,cAACkuB,KAAK9b,MAAK,CAAAlS,SACTF,cAAA,MAAIC,UAAU,aAAYC,SAAG0U,EAAMjL,WAErC3J,cAAA,QAAMC,UAAU,YAAWC,SACvB0U,EAAMxG,cAEVpO,cAAA,QAAMC,UAAU,YAAWC,SACzBF,cAAA,MAAIC,UAAU,OAAMC,SACE,QADF+tB,EAChBrZ,EAAMwZ,oBAAY,IAAAH,OAAA,EAAlBA,EAAoB5sB,KAAI,CAACG,EAAQ6sB,IACzBruB,cAAA,MAAAE,SAA6CsB,GAApC,UAAUgK,KAAS6iB,iBAZtC,cAAc7iB,IAkBlB,QAKdxL,cAAA,OAAKC,UAAU,0BAAyBC,SACrB,OAAf+rB,QAAe,IAAfA,OAAe,EAAfA,EAAiBqC,qBAIxB3C,GAA8BE,GAC7B7rB,cAAA,OAAKC,UAAU,kDAAiDC,SAC9DwB,eAAAiN,WAAA,CAAAzO,SAAA,CACEF,cAACuuB,KAAa,CAAC5sB,MAAO,CAAE+G,SAAU,UAClC1I,cAAA,OAAKC,UAAU,cAAaC,SAAC,iCAIjC8rB,GACAtqB,eAAAiN,WAAA,CAAAzO,SAAA,CACGyrB,GACCjqB,eAAA,OAAKzB,UAAU,kBAAkBnB,GAAG,aAAYoB,SAAA,CAAC,2BACtB,IACzBF,cAAA,QAAMlB,GAAG,cAAaoB,SAAEyU,EAAWA,EAAShc,OAAS,KACrDqH,cAAA,QAAMC,UAAU,UAASC,SAAC,UAGrB,OAARyU,QAAQ,IAARA,OAAQ,EAARA,EAAUtT,KAAK2sB,IAAQ,IAADQ,EAAAC,EACrB,MAAM5a,EAA8B,QAAlB2a,EAAGR,EAAGna,oBAAY,IAAA2a,OAAA,EAAfA,EACjB9iB,QAAQ,aAAcrE,MAASC,OAAO,eACvCoE,QAAQ,gBAAiB,IACzBlI,MAAM,KAET,OACExD,cAAA,OACEiF,KAAK,SACL,YAAU,SACV,cAAY,OAEZhF,UAAU,uCAAsCC,SAChDwB,eAAC2E,IAAG,CAACqM,OAAQ,GAAI/Q,MAAO,CAAEI,UAAW,SAAU7B,SAAA,CAC7CF,cAACsG,IAAG,CACFrG,UAAU,6CACVsG,GAAI,GAAI6mB,GAAI,GAAIxa,GAAI,GAAI8b,GAAI,GAAGxuB,SAC/BwB,eAAA,OAAAxB,SAAA,CACEF,cAAA,MAAIC,UAAU,WAAUC,SAAE8tB,EAAGpa,gBAC7B5T,cAAA,OAAKC,UAAU,8BAA6BC,SAAE8tB,EAAGla,0BAGrDpS,eAAC4E,IAAG,CACFrG,UAAU,6DACVsG,GAAI,GAAI6mB,GAAI,GAAIxa,GAAI,EAAG8b,GAAI,EAC3B/sB,MAAO,CAAEsM,YAAa,OAAQyF,aAAc,QAASxT,SAAA,CACrDF,cAAA,UACE,aAAY,mCAAmCguB,EAAGpa,gBAClDhY,MAAM,2BACNqE,UAAU,sCACV6E,QAASA,KACPyQ,EAAkByY,EAAG,EACrB9tB,SACFF,cAAC0W,IAAe,CACd,cAAY,OACZjI,KAAM2U,KACNnS,KAAK,SAETjR,cAAA,UACE,aAAY,qBAAqBguB,EAAGpa,gBACpChY,MAAM,oBACNqE,UAAU,sCACV6E,QAASA,KACP4K,EAASxQ,EAAgBgR,EAAqBpS,YAC9C4R,EAAStQ,EAAkB8Q,EAAqBvR,cAChD+Q,EAASvQ,EAAc+Q,EAAqB5R,UAE5C,IAAIqwB,EAAStnB,IAAOiH,EAAM,cAAchH,OAAO,cAC/CqI,EAAQ,uBAAuBqe,EAAGja,wBAAwB4a,IAAU,CAClEjjB,SAAS,EACTjM,MAAO,CACL2Q,OAAQ9B,EACRzP,SAAUmvB,EAAGja,YACbnY,MAAOoyB,EAAGpa,cACVtE,UAAU,EACVoc,0BACAnX,sBACAoX,6BACAhX,WACAR,mBACAlE,YAAa4D,EACb3E,UAhfZ,wBAifYsL,WAAY/W,EACZ2L,YAAa4e,EAAGla,mBAChBxD,aAAc0d,EACdzd,kBAAmB,OAAOyd,EAAGja,wBAAwB4a,IAErDlU,aA7drB,CACLlN,UACA4G,mBACAI,sBACAI,WACA+W,0BACAC,6BACArW,iBACAhH,OACAud,kBACAC,eACAC,eACAC,gBACAzb,oBACA0b,kBACApC,gBAgdwB,EACF3pB,SACFF,cAAC0W,IAAe,CACd,cAAY,OACZjI,KAAMmgB,KACN3d,KAAK,YAGXjR,cAACsG,IAAG,CAACrG,UAAU,mCAAmCsG,GAAI,GAAGrG,SACvDF,cAAA,OAAKC,UAAU,OAAMC,SACnBF,cAAA,QAAAE,SAAsB,QAAtBuuB,EAAOT,EAAGna,oBAAY,IAAA4a,OAAA,EAAfA,EAAiB/iB,QAAQ,aAAcrE,MAASC,OAAO,yBApE/D0mB,EAAGja,YAwEJ,aAOlB/T,cAACqV,GAAU,CACTC,eAAgBA,EAChBC,kBAAmBA,EACnB/H,WAAYA,EACZc,KAAMA,MAId,EC5hBe4gB,OAnCf,SAAyBrvB,GAAwD,IAAvD,SAAEE,EAAQ,aAAEwC,EAAY,YAAEuQ,EAAW,YAAEC,GAAalT,EAE5E,OACEG,cAAA,QAAMlB,GAAG,eAAemB,UAAW,0CAA0CC,SAC3EwB,eAAC8mB,IAAM,CAAAtoB,SAAA,CAELF,cAACyoB,IAAK,CAACC,OAAK,EAACjlB,KALN,GAKkB8e,QACvBviB,cAACsrB,GAAI,CACH/oB,aAAcA,EACduQ,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAACC,OAAK,EAACjlB,KAAM,QAAgB8e,QACjCviB,cAAC6Z,GAAY,CACX3K,UAAW,wBACX4D,YAAaA,EACbC,YAAaA,MAIjB/S,cAACyoB,IAAK,CAAChlB,KAAM,KAAailB,OAAO,EAAMnG,QACrCviB,cAACsrB,GAAI,CACH/oB,aAAcA,EACduQ,YAAaA,EACbC,YAAaA,UAOzB,ECnCA,MAAM7B,GAAU,qBAkSDie,OAhSQ,CACrBC,OAAQA,CAACC,EAASp3B,KACJ,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,wCAAwCq4B,KAC/C,KACA,OACA,QAAUne,GACV,KACA,KACA,MACA,GACA,EACA,QACAjZ,GAIJq3B,aAAcA,CAACC,EAAQt3B,KACT,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,2CAA2Cu4B,KAClD,KACA,OACA,QAAUre,GACV,KACA,KACA,MACA,GACA,EACA,QACAjZ,GAIJu3B,gBAAiBA,CAACD,EAAQE,KACZ,IAAI/3B,GACLe,YACT,CAAC,EACD,CAAEzB,IAAK,mCAAmCu4B,SAAcE,KACxD,KACA,OACA,QAAUve,GACV,KACA,KACA,MACA,GACA,EACA,SAIJwe,kBAAmBA,CAACH,EAAQt3B,KACd,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,wCAAwCu4B,KAC/C,KACA,OACA,QAAUre,GACV,KACA,KACA,MACA,GACA,EACA,QACAjZ,GAIJ03B,YAAaA,CAACN,EAASp3B,KACT,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,qCAAqCq4B,KAC5C,KACA,OACA,QAAUne,GACV,KACA,KACA,MACA,GACA,EACA,QACAjZ,GAIJ23B,qBAAsBA,CAACL,EAAQM,EAAKC,KACtB,IAAIp4B,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,8BAA8B64B,YAAcN,cAAmBO,KACtE,KACA,OACA,QAAU5e,GACV,KACA,KACA,MACA,GACA,EACA,SAIJ6e,QAASA,CAACV,EAASp3B,KACL,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,qCAAqCq4B,KAC5C,KACA,OACA,QAAUne,GACV,KACA,KACA,MACA,GACA,EACA,QACAjZ,GAIJ+3B,cAAeA,CAACT,EAAQt3B,KACV,IAAIP,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,wCAAwCu4B,KAC/C,KACA,OACA,QAAUre,GACV,KACA,KACA,MACA,GACA,EACA,QACAjZ,GAIJg4B,iBAAkBA,CAACV,EAAQW,EAAKC,KAClB,IAAIz4B,GAELe,YACT,CAAC,EACD,CAAEzB,IAAK,iCAAiCu4B,SAAcW,cAAgBC,KACtE,KACA,OACA,QAAUjf,GACV,KACA,KACA,MACA,GACA,EACA,SAIJkf,eAAgBA,CAACC,EAASC,EAASC,KACrB,IAAI74B,GAELe,YACT,CAAC,EACD,CACEzB,IAAK,8CAA8Cu5B,YAAuBD,aAAmBD,KAE/F,KACA,OACA,QAAUnf,GACV,KACA,KACA,MACA,GACA,EACA,SAIJsf,kBAAmBA,CAACH,EAASC,EAASC,KACxB,IAAI74B,GAELe,YACT,CAAC,EACD,CACEzB,IAAK,kDAAkDu5B,YAAuBD,aAAmBD,KAEnG,KACA,OACA,QAAUnf,GACV,KACA,KACA,MACA,GACA,EACA,SAIJuf,kBAAmBA,CAACH,EAASD,EAASK,EAAQC,KAChC,IAAIj5B,GACLe,YACT,CAAC,EACD,CACEzB,IAAK,8CAA8C05B,aAAkBL,cAAoBM,YAAkBL,KAE7G,KACA,OACA,QAAUpf,GACV,KACA,KACA,MACA,GACA,EACA,SAIJ0f,qBAAsBA,CAACN,EAASD,EAASK,EAAQC,KACnC,IAAIj5B,GAELe,YACT,CAAC,EACD,CACEzB,IAAK,kDAAkD05B,aAAkBL,cAAoBM,YAAkBL,KAEjH,KACA,OACA,QAAUpf,GACV,KACA,KACA,MACA,GACA,EACA,SAIJ2f,sBAAuBA,CAACP,EAASH,EAASE,EAASS,KACrC,IAAIp5B,GAELe,YACT,CAAC,EACD,CACEzB,IAAK,wCAAwCm5B,aAAmBE,YAAkBC,wBAA8BQ,KAElH,KACA,OACA,QAAU5f,GACV,KACA,KACA,MACA,GACA,EACA,SAIJ6f,qBAAsBA,CAACT,EAASH,EAASE,EAASS,KACpC,IAAIp5B,GAELe,YACT,CAA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","file":"static/js/main.6342877f.chunk.js","sourcesContent":["import i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport common_it from '../translations/it/common.json';\nimport common_en from '../translations/en/common.json';\n\ni18n.use(initReactI18next).init({\n // we init with resources\n resources: {\n IT: {\n translations: common_it\n },\n EN: {\n translations: common_en\n }\n },\n interpolation: { escapeValue: false }, // React already does escaping\n lng: localStorage.getItem('lng') || 'IT',\n ns: ['translations'],\n defaultNS: 'translations',\n\n react: {\n wait: true\n }\n});\n\nexport default i18n;\n","export default __webpack_public_path__ + \"static/media/LogoIstatHeader.6f93d126.svg\";","const reactEnv = {\n url: {\n API_URL_AZURE: process.env.REACT_APP_API_URL_AZURE,\n API_URL_DM05: process.env.REACT_APP_API_URL_DM05,\n API_PORT: process.env.REACT_APP_API_PORT\n }\n};\n\nexport const config = reactEnv;\n","import { message, notification } from 'antd';\nimport axios from 'axios';\nimport { config } from '../config/_const';\nimport i18n from '../config/i18n';\n\n//var axios = require('axios');\n\nmessage.config({\n duration: 5\n});\n\nnotification.config({\n placement: 'topLeft',\n duration: 10\n});\n\nclass BaseRequest {\n constructor() {\n this.successCallback = null;\n this.errorCallback = null;\n this.progressCallback = null;\n this.withFile = false;\n this.cancelToken = undefined;\n this.params = {};\n this.data = {};\n this.file = null;\n this.instance = null;\n this.mantainNotification = false;\n this.block_notification = false;\n }\n\n /**\n * Crea richiesta http\n *\n * @param {Object} cancelToken parametro per annullare la chiamata\n * @param {Object} params Parametri per query string\n * @param {Object} data Parametri POST e PUT\n * @param {Object} file File da inserire come formData\n * @param {String} method GET|POST|PUT|DELETE\n * @param {String} url Url\n * @param {Function} successCallback Callback ok\n * @param {Function} errorCallback Callback error\n * @param {Function} progressCallback Callback progress tracking\n * @return {void}\n *\n * @method\n * @public\n */\n async makeRequest(\n params = {},\n data = {},\n file = null,\n method = 'get',\n url = '/',\n successCallback = null,\n errorCallback = null,\n progressCallback = null,\n mantainNotification = false,\n block_notification = false,\n base,\n cancelToken = null\n ) {\n if (params.withFile) {\n this.withFile = true;\n }\n\n this.successCallback = successCallback;\n this.errorCallback = errorCallback;\n this.progressCallback = progressCallback;\n\n this.params = params;\n this.data = data;\n this.file = file;\n this.mantainNotification = mantainNotification;\n this.block_notification = block_notification;\n this.cancelToken = cancelToken;\n\n this.instance = axios.create({\n baseURL:\n config.url[`API_URL_${base}`] +\n (config.url.API_PORT ? ':' + config.url.API_PORT : '') +\n url,\n timeout: '30s',\n headers: {\n ...axios.defaults.headers\n }\n });\n\n return this.doCall(url, method);\n }\n\n /**\n * Effettua la richiesta e richiama la callback in base al responso\n *\n * @param {String} url Url\n * @param {String} method Metodo\n * @return {void}\n *\n * @method\n * @public\n */\n async doCall(url, method) {\n const axios_config = {\n method: method === 'get_file' ? 'post' : method === 'post_file' ? 'post' : method,\n headers: {\n ...axios.defaults.headers,\n 'content-type': 'application/json',\n language: i18n.language,\n Authorization: localStorage.getItem('agi-token')\n ? 'Bearer ' + localStorage.getItem('agi-token')\n : null\n },\n cancelToken: this.cancelToken,\n params: this.params,\n data: this.data,\n responseType: method === 'get_file' || method === 'post_file' ? 'blob' : 'json',\n onUploadProgress: function () {\n if (this.progressCallback) {\n this.progressCallback();\n }\n },\n maxRedirects: 0\n };\n\n if (this.file) {\n const formData = new FormData();\n\n if (Array.isArray(this.file)) {\n this.file.forEach((f, n) => formData.append(f.chiave + '[' + n + ']', f.file));\n } else {\n formData.append(this.file.chiave, this.file.file);\n }\n\n const data_array_keys = Object.keys(this.data);\n if (data_array_keys.length > 0) {\n if (data_array_keys.length > 0) {\n data_array_keys.forEach((key) => {\n if (typeof this.data[key] === 'string' || typeof this.data[key] === 'number') {\n if (this.data[key] !== null) {\n formData.append(key, this.data[key]);\n }\n } else {\n if (this.data[key] !== null) {\n formData.append(key, JSON.stringify(this.data[key]));\n }\n }\n });\n }\n }\n\n axios_config.headers = {\n //...axios.defaults.headers,\n ...axios_config.headers,\n 'content-type': 'multipart/form-data'\n };\n axios_config.data = formData;\n }\n\n return this.instance\n .request(axios_config)\n .then((response) => {\n if (this.successCallback) {\n this.successCallback(response);\n }\n return response;\n })\n .catch(async (e) => {\n console.error(e);\n\n if (axios.isCancel(e)) {\n return;\n }\n\n if (this.block_notification) {\n return;\n }\n\n if (e.response && e.response.status && e.response.status === 419) {\n notification.warning({\n message: i18n.t('notifications.warnings.title'),\n description: i18n.t('notifications.warnings.lockMessage')\n });\n if (this.errorCallback) {\n this.errorCallback(e);\n }\n return Promise.reject(e);\n }\n\n //MIO TEST\n if (e.response && e.response.status && e.response.status === 422) {\n notification.warning({\n message: 'Operazione non consentita',\n description: 'Rilevata relazione ricorsiva'\n });\n if (this.errorCallback) {\n this.errorCallback(e);\n }\n return Promise.reject(e);\n }\n\n if (e.response && e.response.status && e.response.status === 400) {\n notification.error({\n message: 'Errore di sistema',\n description:\n e.response.data?.exeption || e.response.data?.title || e.response.data || ''\n });\n if (this.errorCallback) {\n this.errorCallback(e);\n }\n return Promise.reject(e);\n }\n\n const showed_error = false;\n\n /**\n * Non ho potuto fare il parse della response\n */\n if (!showed_error) {\n //message.error('Errore non definito');\n\n notification.error({\n message: 'Errore non definito',\n description: \"Contatta l'amministrazione per maggiori dettagli\"\n });\n }\n if (this.errorCallback) {\n this.errorCallback(e);\n }\n return Promise.reject(e);\n });\n }\n\n async parseBlob(blob) {\n try {\n const blobbed_error = await this.readFile(blob);\n return JSON.parse(blobbed_error).data;\n } catch (e) {\n return '';\n }\n }\n\n async readFile(content) {\n const fileReader = new FileReader();\n return new Promise((resolve, reject) => {\n fileReader.onerror = () => {\n fileReader.abort();\n reject(new Error('Problem parsing file'));\n };\n\n fileReader.onload = () => {\n resolve(fileReader.result);\n };\n\n fileReader.readAsText(content);\n });\n }\n}\n\n/**\n * @component\n */\nexport default BaseRequest;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report/ReportByUrl';\n\nconst Search = {\n searchByWord: (pattern) => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n { url: `/report_search_free?p_rep_par=${pattern}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n }\n};\n\nexport default Search;\n","import React from 'react';\nimport { Select } from 'antd';\n\nlet lang = sessionStorage.getItem('lang') === null ? 'IT' : sessionStorage.getItem('lang');\n\nfunction LangSelector() {\n const changeLang = (lang) => {\n sessionStorage.setItem('lang', lang);\n location.reload();\n };\n\n return (\n \n );\n}\n\nexport const getLanguage = () => {\n return lang;\n};\n\nexport default LangSelector;\n","/** @format */\n\nimport { useState, useEffect } from 'react';\nimport './IsMobile.scss';\n\nconst IsMobile = () => {\n const [isFixedMobile, setIsFixedMobile] = useState(null);\n const handleResize = () => {\n let screenWidth = window.innerWidth;\n if (screenWidth <= 769) {\n setIsFixedMobile(true);\n } else {\n setIsFixedMobile(false);\n }\n };\n\n useEffect(() => {\n handleResize();\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, []);\n\n return isFixedMobile;\n};\n\nexport default IsMobile;\n","/** @format */\nimport { createAction, createReducer } from '@reduxjs/toolkit';\n\nexport const initialState = {\n tableData: {\n label: [],\n body: [],\n colNames: [],\n totalRows: '',\n types: [],\n formatMask: []\n },\n cacheTableData: {},\n\n filters: {\n orderFields: [],\n orderDirects: []\n },\n data: {\n dataDaUp: null,\n dataAUp: null\n },\n textFilters: {\n filterFields: [\n /* {\n textFields: '',\n textValue: '',\n i: 0\n } */\n ]\n },\n funzione: {\n id: null\n }\n};\n\nexport const updateData = createAction('updateData');\nexport const updateFunzione = createAction('updateFunzione');\nexport const updateTableData = createAction('updateTableData');\nexport const updateFilters = createAction('updateFilters');\nexport const updateTextFilters = createAction('updateTextFilters');\n\nconst reducer = createReducer(initialState, (builder) => {\n builder\n .addCase(updateData, (state, action) => {\n state.data = { ...state.data, ...action.payload };\n })\n .addCase(updateTableData, (state, action) => {\n state.tableData = { ...state.tableData, ...action.payload };\n })\n .addCase(updateFilters, (state, action) => {\n state.filters = { ...state.filters, ...action.payload };\n })\n .addCase(updateTextFilters, (state, action) => {\n state.textFilters = { ...state.textFilters, ...action.payload };\n })\n .addCase(updateFunzione, (state, action) => {\n state.funzione = { ...state.funzione, ...action.payload };\n });\n});\n\nexport default reducer;\n","import { useState, useEffect, useCallback, useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Row, Col, AutoComplete, Divider, Select } from 'antd';\n//import HeaderLogo from 'assets/img/logo/logo_header.png';\nimport HeaderLogo from 'assets/img/logo/LogoIstatHeader.svg';\nimport { useNavigate as useHistory } from 'react-router-dom';\nimport Search from 'services/search';\nimport _ from 'lodash';\nimport moment from 'moment';\nimport LangSelector from 'components/langSelector/LangSelector';\nimport { SearchOutlined } from '@ant-design/icons';\nimport IsMobile from 'components/IsMobile/IsMobile';\nimport { useDispatch } from 'react-redux';\nimport { Link } from 'react-router-dom';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../redux/reducers/NewReportCompiler.reducer';\n\nfunction HeaderSubtitle({ envType, isMobile }) {\n switch (envType) {\n case 'local':\n return (\n
\n LOCALE\n
\n );\n case 'dev':\n return (\n
\n SVILUPPO\n
\n );\n case 'test':\n return (\n
\n COLLAUDO\n
\n );\n\n default:\n return \"\";\n }\n}\n\nfunction Header() {\n const dispatch = useDispatch();\n const isMobile = IsMobile();\n\n const { t } = useTranslation();\n const [searchString, setSearchString] = useState();\n const [options, setOptions] = useState([]);\n const [selectedReport, setSelectedReport] = useState();\n const [value, setValue] = useState();\n const history = useHistory();\n\n const setSearchStringDebounced = useCallback(\n _.debounce((value) => setSearchString(value), 500, true),\n []\n );\n\n useEffect(() => {\n const SearchRep = async () => {\n const { data } = await Search.searchByWord(searchString);\n const opts = data?.items?.map((obj, i) => {\n return {\n value: obj['id_funzione'],\n label: obj['nome report'],\n report: obj\n };\n });\n setOptions(opts);\n };\n if (searchString?.length > 2) {\n SearchRep();\n }\n }, [searchString]);\n\n /* useEffect(() => {\n \n }, [selectedReport]); */\n const searchReport = () => {\n if (selectedReport !== undefined && selectedReport !== null) {\n const type = selectedReport['tipo analisi dati'];\n const tmpDataDa = moment(selectedReport.data_ini_val, 'DD/MM/YYYY');\n const tmpDataA = moment(selectedReport.data_fin_val, 'DD/MM/YYYY');\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n switch (type) {\n case 'DATA':\n dispatch(updateData({ dataDaUp: tmpDataDa.format('YYYY-MM-DD'), dataAUp: null }));\n history(`/territorio/body?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}`, {\n state: {\n dataDa: tmpDataDa.format(`DD-MM-YYYY`),\n dataA: null,\n periodoDate: [tmpDataDa.format('DD/MM/YYYY'), tmpDataA.format('DD/MM/YYYY')],\n funzione: selectedReport.id_funzione,\n title: 'Ricerca: ' + selectedReport['nome report'],\n mainTitle: selectedReport['nome report'],\n descrizione: selectedReport['descrizione report'],\n fromHome: false,\n reportQueryString: `?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}`,\n }\n });\n break;\n case 'PERIODO':\n dispatch(\n updateData({\n dataDaUp: tmpDataDa.format('YYYY-MM-DD'),\n dataAUp: tmpDataA.format('YYYY-MM-DD')\n })\n );\n history(`/variazioni/body?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}&dateTo=${tmpDataA.format('YYYY-MM-DD')}`, {\n state: {\n dataDa: tmpDataDa.format(`DD-MM-YYYY`),\n dataA: tmpDataA.format(`DD-MM-YYYY`),\n periodoDate: [tmpDataDa.format('DD/MM/YYYY'), tmpDataA.format('DD/MM/YYYY')],\n funzione: selectedReport.id_funzione,\n title: 'Ricerca: ' + selectedReport['nome report'],\n mainTitle: selectedReport['nome report'],\n descrizione: selectedReport['descrizione report'],\n fromHome: false,\n reportQueryString: `?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}&dateTo=${tmpDataA.format('YYYY-MM-DD')}`\n }\n });\n break;\n case 'ATTUALIZZAZIONE':\n dispatch(\n updateData({\n dataDaUp: tmpDataDa.format('YYYY-MM-DD'),\n dataAUp: tmpDataA.format('YYYY-MM-DD')\n })\n );\n history(`/ricostruzione-codici/body?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}&dateTo=${tmpDataA.format('YYYY-MM-DD')}`, {\n state: {\n dataDa: tmpDataDa.format(`DD-MM-YYYY`),\n dataA: tmpDataA.format(`DD-MM-YYYY`),\n periodoDate: [tmpDataDa.format('DD/MM/YYYY'), tmpDataA.format('DD/MM/YYYY')],\n funzione: selectedReport.id_funzione,\n title: 'Ricerca: ' + selectedReport['nome report'],\n mainTitle: selectedReport['nome report'],\n descrizione: selectedReport['descrizione report'],\n fromHome: false,\n reportQueryString: `?id=${selectedReport.id_funzione}&dateFrom=${tmpDataDa.format('YYYY-MM-DD')}&dateTo=${tmpDataA.format('YYYY-MM-DD')}`\n }\n });\n break;\n }\n }\n };\n\n return (\n
\n \n
\n \n
\n
\n
\n \n \n SITUAS\n \n \n
\n
\n \n \n
\n
\n
\n \n {t('header.title')}\n
\n \n {/* FASE 3 - RICERCA OSCURATA\n \n \n \n \n
\n \n
\n {\n setValue(str);\n }}\n onSelect={(val, obj) => {\n setSelectedReport(obj.report);\n setValue(obj.label);\n }}\n onSearch={(str) => {\n setSearchStringDebounced(str || '');\n }}\n onClear={() => {\n setValue();\n }}\n placeholder=\"Inserisci un termine\"\n\n aria-label=\"Ricerca un Termine\"\n aria-labelledby=\"searchLabel\"\n tabIndex=\"0\"\n />\n \n \n {\n searchReport();\n }}\n tabIndex=\"0\">\n cerca\n \n \n
\n \n \n */}\n {/* FASE 3 - RICERCA OSCURATA\n \n \n \n \n \n */}\n \n
\n );\n}\n\nexport default Header;\n","import { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\n/* import { Link } from 'react-router-dom';\nimport { Menu } from 'antd'; */\nimport { useLocation, useNavigate as useHistory } from 'react-router-dom';\nimport Container from 'react-bootstrap/Container';\nimport Nav from 'react-bootstrap/Nav';\nimport Navbar from 'react-bootstrap/Navbar';\nimport NavDropdown from 'react-bootstrap/NavDropdown';\nimport { LinkContainer } from 'react-router-bootstrap';\n\nfunction NavBarNew({ resetCounter, setResetCounter }) {\n const { t } = useTranslation();\n\n const [current, setCurrent] = useState();\n const [menuClicked, setMenuClicked] = useState(false);\n const [expanded, setExpanded] = useState(false);\n const [previousPage, setPreviousPage] = useState(null);\n\n const location = useLocation();\n const history = useHistory();\n\n useEffect(() => {\n const page = location.pathname.split('/')[1];\n setPreviousPage(page);\n\n const path = '/' + page;\n setCurrent(path);\n\n var links = document.getElementsByClassName('new-nav-link');\n Array.prototype.forEach.call(links, function (link) {\n link.setAttribute('aria-current', '');\n });\n document.getElementsByClassName('active-link')[0]?.classList.remove('active-link');\n\n document\n .querySelector(`[href='${process.env.REACT_APP_PREFIX + path}']`)\n ?.classList.add('active-link');\n document\n .querySelector(`[href='${process.env.REACT_APP_PREFIX + path}']`)\n ?.setAttribute('aria-current', 'page');\n }, [location]);\n\n const handleNavItemClick = (currentPage) => {\n if (!menuClicked) {\n document.getElementById('basic-navbar-nav').classList.remove('show');\n setMenuClicked(true);\n }\n\n if (previousPage && previousPage === currentPage){\n setResetCounter(resetCounter + 1);\n }\n else{\n setResetCounter(1);\n }\n\n //evt.preventDefault();\n //let path = '' + evt.target.getAttribute('href');\n //path = path.substr(process.env.REACT_APP_PREFIX.length);\n //history(path);\n };\n\n return (\n setExpanded(false)}>\n
\n setExpanded(!expanded)} aria-controls=\"basic-navbar-nav\" label={expanded ? 'Chiudi menù principale' : 'Apri menù principale'} />\n \n \n \n
\n
\n );\n // eslint-disable-next-line no-unreachable\n {\n /*
\n setCurrent(key)} selectedKeys={[current]} mode=\"horizontal\">\n \n \n {t('menu.home')}{' '}\n \n \n \n \n {t('menu.territory')}{' '}\n \n \n \n \n {t('menu.variations')}\n \n \n \n \n {t('menu.updates')}{' '}\n \n \n \n \n {t('menu.storia_ua')}\n \n \n \n \n {t('menu.ter_research')}\n \n \n \n \n {t('menu.download')}\n \n \n \n \n {t('menu.glossario')}\n \n \n \n
*/\n }\n}\n\nexport default NavBarNew;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAABmJLR0QA/wD/AP+gvaeTAAAMlUlEQVR4nO2deYxfVRXHv2coSylCWUVFEAmlbCJlB1lakEUWQYJgSwhQSiKkkUQS/gFEDSoSjKgEUJEgKqCyKkSkrQJVdgoUpS0NIAgCZacbnXY+/nF/A2X4/ebde3/nvTcD75NMZjK/c9+5957fe+8u55wrNTQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NJSL1V0BL4B1JI2RtJWksa2/Py1pVOtn3dZvSVok6fXW70WSnpM0T9IcSXMlzTOzN6usf1kMWwMDa0naXdIBrZ8dJfU4qnhK0rT+HzN73fHaDe0ARgOnAncBy6mO5cCdwBRgdN398KEC6AEOBa4DllRo1E4sIdTlS4DnE+OjBcGwhwMP1WnNAh4HTgBG1N1fwwZgBHAKML9W06XxJDCZxtCDA+wMPFCvrbriEWCvuvtxyAGsB1wMrKjXPi70Ab8GNqq7X6UhME0CjpR0haT16q6LM69KmmxmN9dZidpGgYR37Q8k3aAPn3ElaX1JNxKeTKvVVYla7mBgc0nXSdqlDv01cL+kY83smaoVV25gYGdJt0nasGrdNfOapMPM7J4qlVb6iAYmSJqhj55xpfAaugM4uEqllRkY+IrCnfuxqnQOQUZJuhn4WlUKK3lEtxr0G9U4qBti9EmaZGbXlq2odAMD+0u6VdLqZesaZvRKOtzMbi9TSakGBnZReOeuVaaeYcxiSQeUOfAqzcCtqdD9kjYoS0cCbyt05iJJCxUekWvrPUeA2uapkhZI2rWsKVQpBm5N7Geq+nnu65Luaf08obBp/7SZvdGpAGHLbxNJW0jaTtKekvZS8Aapivsk7W1mvRXqzAf4cYVrv7OBc4HtAbcvLLAt8C3ClmAVXORV91IBjiQsuJfJYuAyYNuK2rQPcD3lepH0AUdU0Z5sgA2BV0vshEXAt4Fa3uvAWODmEtv3Sl1tiwL4VUkN7wOuBap8L3YEGE95Dgm/rLt9bQH2opxH8wLg8LrbNxBgLcJrwrvNK4A96m7f+yBs/T3q3FAInoyfqrt9gwEcDyx1bvcsYJW62/YuBHdSb34PDIvVL8LT6xXn9p/sUbeupxUER7M5CvNILy6XdJqZ9WXWaTVJuyo4w4+R9BlJIyWNVlgiXCjpJUlPS5ot6Z9m9t9uKgyMkzS9pcODJyVtbWYrnK6XBzDJ+Zt7LRn+xsCawETgVsI0KpV/AecBm3XRF7sBC706ggp3nTo1qAffhYAZJLq3EKIdzsHvEdlL+JJtmdknx+I38JqN4+JNTmMOdWoIwIvAxxP1Hw+85FiHlXkHOB9YNaNfLnSsxyGp+t0gDIQ86AMOStC7NvBHJ91FPAhsktgvqxEe+R6UvmfcqRGj8YsVujJB76bAHCe9sTwHbJPYP3vi4+e9mBAaWy2EKD8P3gI2jtS5OfCMk95Unidsgab00dVOuifnWakLCCGcHpwdqW9d4AknnbnMBtZM6KMx+GxQ/C3fUhkA6zhVfCFQ6PQOGHCbgz4PLk3sq9866OwF1s6xVa4T3L6SPJbSrjSz1yLkTpdU32jy/ZwK7Jog/wsHnSMk7Z1TMNfA4zPLDeSKIgHC1On8hGsukXS1pKmSjpZ0kqTLFGKFPOiRdEGC/J0KniXdMsHhGnHgs7EwJ1LXpQnXvIoOj3xCBOP1DvXuJ/ouBn7ooG9WrL6uILx/PVZqvhuhayPip2JTI663CjDNoe4Alyf02YEO+lYAyUEDOY/oreTjrHdnhMxkSWtEyH3PzH5aJNRauD9NwauyW44mfktvpqR3utTXo9D3yYVSSVbShuWS7o2QOy5CZrak82IVm9k8SXfHyg/C+pI+H6lzsUIerm6pxMBjMsoMZI6ZLRxMgLCo8LmIa52Z4W46M1G+EynpGqLGHAUk931dd/D8CJmYacF8SXdk6H8+o0w7xibIDps7OGnhvQMxBh4XIfM7MyNDf06Zdnw2QTZmvl9Ect/nGNgj/PPFCJmY/djcR62Xa2qK98bbDvqSV7PqMvCiCJlPRMg8kKnfYxwhpQXVLXbQV8k0ySNSMMbAowo+XzpYzFEBUaPfCFL8pTwcCCsxsMcdHOOWUzQyznqnEfJXbZdTtg1LEmSjd6EGIfnmyjGwxyJHzLvr5YLPczc7JsgvqjIlp3QtqStyDJzyre1EzCCnyMDrk+eQdkBGmU7EDBb7+aSDvkHXDtqRY2CPwUKM+8vcgs9HKM8H2dPAzyXIZrvjrsRbqQXqMnDMCtXfI2SSwkeBHeTT0f08kSCb5O7TgUru4JTHUic2ozhZ5z2SlhbI7J6o1zv+9vEYIWCk0la9OlHJHfxsRpmBmAo8NMxsqaS/FFwn2tW2haeB31KkgSXtoPBK6Zbk8Jq6DCxJh0XIXFLw+QQiow9bcjvFyEYyMyFuKPVJ04micckHyDGwVzaYQyg+4GK6pH8P8nmPpCiXW4W73TMMJCVNsFf6wkoM/EhGmXaMUvCX6khrI+EMdd4ceFvSo5H6DoyvWiG9km6KEQRGKTgpepBs4GQIUXxeyUjmx3hF0Dk1xF8j69yDb/zuHxL66xgnndW47LS8E7y+SVtImhIhd5aCF8hAYneTdlLwwPCi0D1oJVwCuSU9ambJO1K5brP/yCzXju9Q/C7uNP+LNfDOCfUpYrqZ3RUjCGwqv1fDjJxCuQb2TKC5oaQfFcjspg9OM3oVMsTFsGlqpTqwXNKZCfLflF+G3azwlVzl09X+kZnLSQyek6LdIGWWmcVsO0px25MxXGRmUYNMQkBdzOsnhuWSop4aA8kycGsfNsYrMoWfAZ0iJvZp878Uz0gPh7e7JZ2TIH+2Ql4QD+7Oef92BXC60+hwZZYAXx6gZzVChruBHJVQ15HAG13U63ESMtAB4/BNe+g1UIsH2ABY5tiIfnqBCwjzRwFfaCPTBySd+wBMzazPvSSkliDkDLsvU1c7FpMZWdg1wC2ODRnIM8AZwB1tPkvZxemvaw9wRYL+FYQzj2IiK1bWc37XLX8/16S21Q3CEat1kBWSSYgzngq8Nsi1e4EbCXmvUq9/EP7H83UVNtvV2izBo+JxxW3ge3KimV2VW5iwInSopD0UvDdXSHpB0ixJt5vZgoxrjlOYyng+TmdL2iHT99sHwlGwVeOZVa9rgK0JaaC8iYnNGhSPVIZrKCxdei0mFPGCmRVuEQI9uakQUwB2l/Rn+S6FSiHUZZtuUxl2vcrS2pg/t9vrJBC7PHkKwUWnNIBJkqbJ37iS9P3a81T2QwisfqyER1Q7CgO9W3W6AXiKxCRmkddeh5BNoCweYiilE5Yk4IslNnhldoyoyyq8N1J+lrSkKUXXnUJ56RMhjMK9PEB8IZx8XSZvErd/vPOAcr2Ek2Cygs4IqROnAnNLbh/Az3PqWAmE1a0yv91FTnj99TirQ/nFhMWOgxlkAYOwKLIlYYZwE+2XSstgAeD6Pvfw9HsXM3sFOF1StMdDIrEDrP07/H+kwgb8yZJ6CZl+nlU4UGt1SesoRF2MlU8sUQpIOtnMvNI9lQdwSUnf8ELfJjpvTgx1LizDFmUdbbe6gteHp5tqr6TRLZehwXSPV6b3Q43cr3C03TLvC5dynq+ZvSPpGIVzEbx4sMi4LarLCOfDy5KOKcO4UokHNpvZ0wrrvV7eFLHuup7BZWXztqRDzMwrmOADlHoit5k9JGmi0iLhO/FkkQBh39TTwa5Mlkk6ysweLlNJ6Ueum9ktko5X9z5chQZWuHtdZwYl0SfpBDObXrai0g0sSa2z6iepOyP/J0Lmq11cvyqWSZpoZtfVXRF3CEfP5k5hBk2rBIzq4tpV8RZQ6Rihkju4HzO7SdJ+kv6XUbwoVvhIVb84kcJLksab2bQqlVZqYEkyswcUHNlTBxdFBv5GXo0q4R5Ju7YGnZVSuYElycyek7SnpJ8oPq1gx7oSFjd2caiaNyi0cb8yp0JDGuAI4OWI91fHvJDAn8p8cWYyJM89rgXCIVsXM7hHYtvkZYStwTIOps6lj7BtmuS3/ZEA2JfO50G03QTHL0W/Bw8zVDfrhwqEvdiJwJMDOu8DCVSozoukiLnAiQw1N5uhDLBqq9MeaXXilAGfr0I4Cr1OHgOOozFsdwDjgQMH/O/rNRl1MXANcAh1nu0byZCvYDsIgWlPSSpKpubFcgVvkqslXW9mKUlIa2VYGlgKh1UqnMB2gEL88Fj5HLcnhc2ARxVCUWZIuqvy+Fwnhq2BB0JIF7i9pB0V8kJuopCXcmOFlE1rKMQNrVDI+fFG6/dChaSi8xQCxedKmjdcDdrQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NBQNf8H2XrIMb4GWKEAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/LogoIstatFooter.c33ce6fb.svg\";","import axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetSettings = async (data, urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'get',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_SETTINGS}${urlExtension}`,\n headers: {},\n params: data\n };\n const response = await axios(config);\n const responseData = response.data;\n\n // add transformers here if needed\n const transformedData = responseData ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetSettings = () => {\n const defaultData = {\n label: [],\n body: [],\n totalRows: 0,\n colNames: [],\n formatMasks: [],\n types: []\n };\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(defaultData);\n\n const execute = async (data = {}, urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetSettings(data, urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n /* throw e; */\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(defaultData);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetSettings;\n","import { withTranslation } from 'react-i18next';\nimport { Row, Col, Divider } from 'antd';\nimport { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { icon } from '@fortawesome/fontawesome-svg-core/import.macro';\nimport {\n TwitterOutlined,\n InstagramOutlined,\n LinkedinOutlined,\n YoutubeOutlined\n} from '@ant-design/icons';\nimport {\n twitter,\n youtube,\n linkedin,\n instagram,\n slideshare,\n flickr,\n pinterest,\n sistan,\n eurostat\n} from 'config/links';\nimport PinterestLogo from 'assets/img/social/pinterest.png';\nimport SlideshareLogo from 'assets/img/social/slideshare.png';\nimport FlickrLogo from 'assets/img/social/flickr.png';\n\n//import FooterLogo from 'assets/img/logo/logo_footer.png';\nimport FooterLogo from 'assets/img/logo/LogoIstatFooter.svg';\nimport { useGetSettings } from '../services/GetSettings';\nimport { useEffect } from 'react';\nimport { useState } from 'react';\n\nfunction Footer({ isMobile }) {\n const { t } = useTranslation();\n const getSettings = useGetSettings();\n const [settings, setSettings] = useState(null);\n\n useEffect(() => {\n (async () => {\n let res = await getSettings.execute();\n setSettings(res);\n })();\n }, []);\n\n return (\n \n \n \n \n \n \n \n {!isMobile && }\n \n \n {t('footer.contacts')}\n \n \n {t('footer.privacy')}\n \n \n {t('footer.legal_notes')}\n \n \n {t('footer.accessibility_declaration')}\n \n \n \n \n {!isMobile && }\n \n \n Sistan\n \n \n Eurostat\n \n \n \n {/* ICONE SOCIAL OSCURATE\n \n {!isMobile && }\n \n {/* Override FontAwesome Twitter to X\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n */}\n \n );\n}\n\nexport default withTranslation()(Footer);\n","export const twitter = 'https://twitter.com/istat_it';\nexport const instagram = 'https://www.instagram.com/istat_it';\nexport const linkedin = 'https://it.linkedin.com/company/istat';\nexport const youtube = 'https://www.youtube.com/videoistat';\nexport const slideshare = 'https://www.slideshare.net/slideistat';\nexport const flickr = 'https://www.flickr.com/photos/galleria_istat/';\nexport const pinterest = 'https://www.pinterest.com/istat_infograf/';\n\nexport const sistan = 'https://www.sistan.it';\nexport const eurostat = 'https://ec.europa.eu/eurostat';\n","import BaseRequest from '../_baseRequest';\nimport moment from 'moment';\n\nconst baseUrl = 'Promemoria';\n\nconst PromemoriaService = {\n operations: (PageNum = undefined, PageSize = undefined) => {\n const req = new BaseRequest();\n let params = undefined;\n if (PageNum && PageSize) {\n params = { PageNum, PageSize };\n }\n return req.makeRequest(\n params,\n {},\n null,\n 'get',\n '/api/' +\n baseUrl +\n '?PageNum=1&PageSize=5&flagDiffusione=1&dateTime=' +\n moment().format('YYYY-MM-DD'),\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n }\n};\n\nexport default PromemoriaService;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABTUlEQVRoge2YQU7DMBAAJwjxAJCQKBckHgDP4Alc+QBX+gR+hQRH+AEXuMABwb0cKAd8sKo0623X3gTtSFZb29nNZOM6CgRBILGs1G6nLtBMoqZAE4naAtUlVpNZx6su0UqgmkRLgSoSrQXMJTwETCW8BIokusKE2mM08SQG8+1scSKjYNchp1RBVYUmX4G+q2GxUC3532sgBLwpEeiydgzMge9sfH+lnaU5nwNx8mZOyc57I4wDnABvBfOk3VjNugBL4CF9n/WMfwEfwB1wnvqu1sTRNFOB+wGB/Jjn1Hc4JoGcuXBiP6mvE+I8tRaY8Xf/LwoF6JlnKqB5FtJcjZf0ebBlHBHrfWABPAKX6feFcfwihhaxpsRHwKsiTpN/ISnBHnAKXAPvyjgbCcTTqDch4I3HWwnTfJOvQAh4s8l7oVHtE5OvQAgEQeDLL7lRYXhAW4gJAAAAAElFTkSuQmCC\"","import _ from 'lodash';\nimport { saveAs } from 'file-saver';\nimport XlsxPopulate from 'xlsx-populate';\nimport jsPDF from 'jspdf';\nimport 'jspdf-autotable';\n\nclass Utils {\n static exportPDF(title, columns, rows, orientation) {\n const unit = 'pt';\n const size = 'A4';\n\n const marginLeft = 40;\n const doc = new jsPDF(orientation, unit, size);\n\n doc.setFontSize(14);\n\n const headers = [columns.map((column) => column.title)];\n\n const data = rows.map((row) => Object.values(_.omit(row, ['key'])));\n\n doc.text(title, marginLeft, 30, { maxWidth: 750, align: 'left' });\n doc.autoTable({\n startY: 50,\n head: headers,\n body: data,\n headStyles: {\n fontSize: 8,\n valign: 'bottom',\n halign: 'left',\n fillColor: '#426F80'\n },\n bodyStyles: {\n valign: 'bottom',\n halign: 'left',\n cellPadding: 4,\n minCellHeight: 35,\n minCellWidth: 100\n },\n theme: 'grid'\n });\n doc.save(title + '.pdf');\n }\n\n static getSheetData(data, header) {\n let fields = Object.keys(data[0]);\n let sheetData = data.map((row) => {\n return fields.map(function (fieldName) {\n return row[fieldName] ? row[fieldName] : '';\n });\n });\n sheetData.unshift(header);\n return sheetData;\n }\n\n static async exportXLSX(titolo, header, rows, header2, rows2) {\n XlsxPopulate.fromBlankAsync().then(async (workbook) => {\n const columns = [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U'\n ];\n const sheet1 = workbook.sheet(0).name('Dati');\n const sheetData = this.getSheetData(rows, header);\n const totalColumns = sheetData[0].length;\n\n let sheet2;\n let sheet2Data;\n if (header2 && rows2) {\n workbook.addSheet('Metadati');\n\n sheet2 = workbook.sheet(1);\n sheet2Data = this.getSheetData(rows2, header2);\n sheet2.cell('A1').value(sheet2Data);\n const range = sheet2.usedRange();\n const endColumn = String.fromCharCode(64 + sheet2Data[0].length);\n sheet2.row(1).style('bold', true);\n for (let i = 0; i < totalColumns; i++) {\n sheet2.column(columns[i]).width(sheet2Data[0].length > 10 ? 20 : 35);\n }\n sheet2.range('A1:' + endColumn + '1').style({\n fill: '426F80',\n fontColor: 'FFFFFF',\n horizontalAlignment: 'center',\n verticalAlignment: 'center',\n wrapText: true\n });\n sheet2.range('A2:' + endColumn + rows.length + 1).style({\n horizontalAlignment: 'left',\n verticalAlignment: 'bottom',\n wrapText: true\n });\n range.style('border', true);\n }\n\n sheet1.cell('A1').value(sheetData);\n const range = sheet1.usedRange();\n const endColumn = String.fromCharCode(64 + totalColumns);\n sheet1.row(1).style('bold', true);\n for (let i = 0; i < totalColumns; i++) {\n sheet1.column(columns[i]).width(totalColumns > 10 ? 20 : 35);\n }\n sheet1.range('A1:' + endColumn + '1').style({\n fill: '426F80',\n fontColor: 'FFFFFF',\n horizontalAlignment: 'center',\n verticalAlignment: 'center',\n wrapText: true\n });\n sheet1.range('A2:' + endColumn + rows.length + 1).style({\n horizontalAlignment: 'left',\n verticalAlignment: 'bottom',\n wrapText: true\n });\n range.style('border', true);\n return workbook.outputAsync().then((res) => {\n saveAs(res, titolo + '.xlsx');\n });\n });\n }\n\n static exportCSV(title, headers, dataKeys, data, separator) {\n let textData = '';\n\n //headers\n headers.forEach((value, index) => {\n\n if (value) {\n let newHeader = value;\n newHeader = newHeader.replace('\\r', '');\n newHeader = newHeader.replace('\\n', ' ');\n if (newHeader.includes(separator)){\n textData += '\"' + newHeader + '\"';\n }\n else {\n textData += newHeader;\n }\n }\n else {\n textData += 'Colonna_' + (index + 1);\n }\n\n if (index !== headers?.length - 1){\n textData += separator;\n }\n\n });\n textData += '\\n';\n\n //data\n data.forEach((row, dataIndex) => {\n\n dataKeys.forEach((key, index) => {\n\n if (row[key]) {\n let newData = row[key];\n newData = newData.replace('\\r', '');\n newData = newData.replace('\\n', ' ');\n if (newData.includes(separator)) {\n textData += '\"' + newData + '\"';\n }\n else {\n textData += newData;\n }\n }\n \n if (index !== dataKeys?.length - 1){\n textData += separator;\n }\n })\n\n if (dataIndex !== data?.length - 1) {\n textData += '\\n';\n }\n });\n\n //download\n const blob = new Blob([textData], { type: 'text/csv' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.download = title + '.csv';\n link.href = url;\n link.click();\n }\n\n static delay(time) {\n return new Promise((resolve) => setTimeout(resolve, time));\n }\n \n static escapeDate(value) {\n if (value) {\n if (typeof (value) == 'string') {\n if (value.includes('999') && !value.includes('1999'))\n return \"\";\n\n }\n return value;\n }\n return \"\";\n }\n\n static getFileNameFromHeader(headersString) {\n const headersArray = headersString.split(';');\n let filename = \"\";\n headersArray.forEach(header => {\n if (header.includes('filename=\"')) {\n const name = header.split('filename=\"')[1];\n filename = name.substring(0, name.length - 1);\n }\n })\n\n if (filename === \"\"){\n headersArray.forEach(header => {\n if (header.includes('filename=') && !header.includes('filename=*')) {\n const name = header.split('filename=')[1];\n filename = name;\n }\n })\n }\n\n return filename;\n }\n\n static truncateEllipsis(text, truncateLength = 56) {\n return text.length > truncateLength ? text.substring(0, truncateLength) + \"...\" : text;\n }\n\n static customCapitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n\n //let rgx = /(^[\\w])|( [\\w])|(((?!(\\w)).)(\\w))/gmu;\n //return str.replace(rgx, (match, p1, p2, p3, offset, string) => {\n // console.log({ match, p1, p2, p3, offset, string });\n // return match.slice(0, -1) + match.slice(-1).toUpperCase();\n //});\n }\n}\n\nexport default Utils;\n","import React, { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from 'react-router-dom';\nimport { Divider, Modal, Col, Row, Card } from 'antd';\nimport NewsService from 'services/promemoria/Promemoria';\nimport moment from 'moment';\nimport pdfIcon from 'assets/img/formats/pdf.png';\nimport xlsIcon from 'assets/img/formats/xls.png';\nimport csvIcon from 'assets/img/formats/csv.png';\nimport jsonIcon from 'assets/img/formats/json.png';\nimport Utils from 'utils';\nimport { CloseOutlined } from '@ant-design/icons';\n\nfunction News({ isMobile }) {\n const { t } = useTranslation();\n const [news, setNews] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const fetchData = async () => {\n return await NewsService.operations();\n };\n\n useEffect(() => {\n setLoading(true);\n fetchData().then(({ data }) => {\n setNews(\n data.body.sort((a, b) => new Date(b.dataInizioValidita) - new Date(a.dataInizioValidita))\n );\n setLoading(false);\n });\n return () => setNews([]);\n }, []);\n\n const News = (title, subtitle, date, content, key) => {\n return (\n
  • \n \n \n Modal.info({\n className: 'modalHome',\n icon: null,\n closable: false,\n content: (\n <>\n \n \n

    {title}

    \n \n \n {\n Modal.destroyAll();\n }}>\n \n \n \n
    \n \n \n {subtitle}\n \n \n
    \n
    \n Data Pubblicazione: {moment(date).format('DD/MM/YYYY')}
    \n {/*

    {content}

    */}\n
    \n \n )\n })\n }\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n Modal.info({\n className: 'modalHome',\n icon: null,\n closable: false,\n content: (\n <>\n \n \n

    {title}

    \n \n \n {\n Modal.destroyAll();\n }}>\n \n \n \n
    \n \n \n {subtitle}\n \n \n
    \n
    \n Data Pubblicazione: {moment(date).format('DD/MM/YYYY')}
    \n {/*

    {content}

    */}\n
    \n \n )\n });\n }\n }}\n className=\"news-body\">\n {/*
    */}\n
    \n
    {title}
    \n
    \n
    \n
    {subtitle}
    \n
    \n
    \n
    \n {t('home.news.date')}: {moment(date).format('DD/MM/YYYY')}\n
    \n
    \n
    \n
    \n
  • \n );\n };\n\n return (\n
    \n

    {t('home.news.title')}

    \n {/* bottoni scarico News obsoleti: rimossi\n
    \n ...\n
    \n */}\n \n
    \n
      \n {news.map(\n ({\n titolo,\n testo,\n dataInizioValidita,\n sottotitolo\n }, index) =>\n News(\n titolo,\n testo,\n dataInizioValidita,\n sottotitolo,\n \"news-\" + index\n )\n )}\n
    \n {news && news.length > 0 &&\n \n Vedi tutti\n \n }\n
    \n
    \n );\n}\n\nexport default News;\n","import React from 'react';\nimport { useNavigate as useHistory } from 'react-router-dom';\nimport moment from 'moment';\nimport Utils from 'utils';\nimport { useDispatch } from 'react-redux';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../../redux/reducers/NewReportCompiler.reducer';\n\nfunction DownloadDocument({\n mainTitle,\n title,\n periodoString,\n descrizione,\n idFunzione,\n metadati,\n pData,\n disabled,\n tabIndex,\n urlPath\n}) {\n const dispatch = useDispatch();\n const history = useHistory();\n const date = moment();\n const fullDate =\n date.format('DD', { trim: false }) +\n '-' +\n date.format('MM', { trim: false }) +\n '-' +\n date.format('YYYY', { trim: false });\n let startDate = periodoString.substring(\n periodoString.indexOf(':') + 1,\n periodoString.indexOf('-')\n );\n let endDate = Utils.escapeDate(periodoString.substring(periodoString.indexOf('-') + 1));\n endDate = endDate ? endDate : moment().format('DD/MM/YYYY');\n const periodoDate = [startDate, endDate];\n return (\n {\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n let dtDaUp = moment(pData, 'DD/MM/YYYY').format('YYYY-MM-DD');\n dispatch(\n updateData({ dataDaUp: moment(pData, 'DD/MM/YYYY').format('YYYY-MM-DD'), dataAUp: null })\n );\n\n history(`/home/${urlPath || 'link'}?id=${idFunzione}&dateFrom=${dtDaUp}`, {\n state: {\n dataDa: pData.replaceAll('/', '-'),\n funzione: idFunzione,\n title,\n mainTitle,\n periodoDate,\n descrizione,\n metadati_val: metadati,\n reportQueryString: `?id=${idFunzione}&dateFrom=${dtDaUp}`,\n showFromDate: pData?.replaceAll('/', '-') !== fullDate,\n isEditable: false,\n fromHome: true,\n homeDataPicker: pData?.replaceAll('/', '-') === fullDate ? 'al' : 'dal'\n }\n });\n }}\n onKeyPress={(event) => {\n if (event.key === 'Enter') {\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n let dtDaUp = moment(pData, 'DD/MM/YYYY').format('YYYY-MM-DD');\n dispatch(\n updateData({\n dataDaUp: moment(pData, 'DD/MM/YYYY').format('YYYY-MM-DD'),\n dataAUp: null\n })\n );\n\n history(`/home/${urlPath || 'link'}?id=${idFunzione}&dateFrom=${dtDaUp}`, {\n state: {\n dataDa: pData.replaceAll('/', '-'),\n funzione: idFunzione,\n title,\n mainTitle,\n periodoDate,\n descrizione,\n metadati_val: metadati,\n reportQueryString: `?id=${idFunzione}&dateFrom=${dtDaUp}`,\n showFromDate: pData?.replaceAll('/', '-') !== fullDate,\n isEditable: false,\n fromHome: true,\n homeDataPicker: pData?.replaceAll('/', '-') === fullDate ? 'al' : 'dal'\n }\n });\n }\n }}\n tabIndex={tabIndex}>\n
    \n {title}\n
    \n
    \n \n {pData?.replaceAll('/', '-') === fullDate ? 'Al' : 'Dal'}:{' '}\n {' '}\n {pData}\n
    \n \n );\n}\n\nexport default DownloadDocument;\n","import React from 'react';\nimport { Spin } from 'antd';\n\nfunction Loading({ fullPage = false, flex = false }) {\n return (\n \n \n \n );\n}\n\nexport default Loading;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report/ReportByUrl';\nconst baseUrlDownload = 'Report/DownloadByUrl';\n\nconst DownloadService = {\n getAreas: () => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: 'area_dwn_type_web_lov' },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getMacro: (categoria) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `area_dwn_type_macrotema_web?ptipodwnl=${categoria}` },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getAreaDetails: (tipoDownload, macro) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `area_dwn_type_tema_web?ptipodwnl=${tipoDownload}&pmacrotema=${macro}` },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getPeriods: (tipoDownload, macro, tema) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `area_dwn_type_file_web?ptipodwnl=${tipoDownload}&pmacrotema=${macro}&ptema=${tema}` },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getReportEvidenza: () => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: 'homepage_report_evidenza' },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n getReportConsultati: () => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: 'homepage_report_consultati' },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n getGeneratedFileParams: (format, date, funzione) => {\n let url;\n if (date[1] === undefined) {\n url = `reportspooldownload?pfun=${funzione}&haRuolo&pdata=${date[0]}&poffset=&pnext=&p_filter_field=&p_filter_value=&pdoctype=${format}`;\n } else {\n url = `reportspooldownload?pfun=${funzione}&haRuolo&pdatada=${date[0]}&pdataa=${date[1]}&poffset=1&pnext=100&p_filter_field=&p_filter_value=&p_orderby_field=&p_orderby_direct=&pdoctype=${format}`;\n }\n\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n getGeneratedFileParamsTable: (format, data, funzione, filtri, ordine) => {\n const url = `reportspooldownload?pfun=${funzione}&prole=1&pdata=${data}&poffset=&pnext=&p_filter_field=${filtri[0]}&p_filter_value=${filtri[1]}&p_orderby_field=${ordine[0]}&p_orderby_direct=${ordine[1]}&pdoctype=${format}`;\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n downloadFile: (param) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: param },\n null,\n 'get_file',\n '/api/' + baseUrlDownload,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n }\n};\nexport default DownloadService;\n","import { Link } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { Typography } from 'antd';\nconst { Title } = Typography;\n\nfunction Shortcut({ title, link, details, style, onClick, level, tabIndex, className = \"\" }) {\n const { t } = useTranslation();\n return (\n
    \n

    {title}

    \n
    \n {link && (\n \n {details ? details : t('home.find_out_more')}\n \n )}\n
    \n
    \n );\n}\nexport default Shortcut;\n","import Shortcut from 'components/Shortcut';\nimport { Row, Col } from 'antd';\n\nconst ShortcutSection = () => {\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n {/* FASE 3 - BOX OSCURATO\n \n \n \n */}\n \n
    \n );\n};\n\nexport default ShortcutSection;\n","import { useEffect, useState } from 'react';\nimport { Row, Col } from 'antd';\nimport News from 'components/News';\nimport DownloadDocument from 'components/DownloadDocument';\nimport Loading from 'components/loading';\nimport DownloadService from 'services/download';\nimport ShortcutSection from './homeShortcuts';\n\nconst Home = ({ isMobile, defaultSkip, queryString }) => {\n const [repConsultati, setRepConsultati] = useState([]);\n const [repEvidenziati, setRepEvidenziati] = useState([]);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(false);\n if (queryString) queryString('');\n document.title = 'Home - SITUAS';\n getRepConsultati();\n }, []);\n\n const getRepConsultati = async () => {\n try {\n Promise.all([\n DownloadService.getReportConsultati(),\n DownloadService.getReportEvidenza()\n ]).then((onfulfilled) => {\n setLoading(false);\n setRepConsultati(onfulfilled[0].data?.items ? onfulfilled[0].data.items : []);\n setRepEvidenziati(onfulfilled[1].data?.items ? onfulfilled[1].data.items : []);\n });\n } catch (error) {\n setLoading(false);\n }\n };\n\n return (\n <>\n {loading && }\n \n
    \n \n
    \n

    Link

    \n \n \n

    \n In evidenza\n

    \n {repEvidenziati.map((report, index) => (\n \n ))}\n \n \n

    \n I più consultati\n

    \n {repConsultati.map((report, index) => (\n \n ))}\n \n
    \n
    \n
    \n \n );\n};\n\nexport default Home;\n","import BaseRequest from '../_baseRequest';\nimport { getLanguage } from 'components/langSelector/LangSelector';\nconst baseUrl = 'Report';\nconst baseUrlSecond = 'Report/ReportByUrl';\nconst language = getLanguage();\nconst TerritoryService = {\n ambitiGeografici: (pageId, dataStart, dataEnd) => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n `/api/${baseUrl}/AmbitiGeografici/${pageId}?dataStart=${dataStart}&dataEnd=${dataEnd}&plang=${language}`,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n unitaAmministrative: (data, ambito, pTab, dataA) => {\n const req = new BaseRequest();\n\n let param = '';\n if (dataA) {\n param = '?dataA=' + dataA;\n }\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n `/api/${baseUrl}/UnitaAmministrative/${data}/${ambito}/${pTab}${param}`,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n ambitoUA: (data, unita, ambito, ptab, dataA) => {\n const req = new BaseRequest();\n\n let dataInizio = 'pdata=' + data;\n let dataFine = '';\n if (dataA) {\n dataFine = '&pdataa=' + dataA;\n dataInizio = 'pdatada=' + data;\n }\n\n const url =\n //&plang=EN\n `anagrafica_report_ambito_ua?${dataInizio}&haRuolo&pambito=${ambito}&ptab=${ptab}&punitamm=${unita}${dataFine}&plang=${language}`;\n\n return req.makeRequest(\n {},\n { url },\n null,\n 'post',\n '/api/' + baseUrlSecond,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n descrizionePagina: (pageId) => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n `/api/${baseUrl}/DescrizionePagina/${pageId}`,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n header: (data, funzione) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n '/api/' + baseUrl + '/Header/' + data + '/' + funzione,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n },\n\n types: (data, funzione) => {\n let url;\n const req = new BaseRequest();\n if (data[1] === undefined) {\n url = `anagrafica_report_metadato?pfun=${funzione}&haRuolo&pdata=${data[0]}&plang=${language}`;\n } else {\n url = `anagrafica_report_metadato?pfun=${funzione}&haRuolo&pdatada=${data[0]}&pdataa=${data[1]}&plang=${language}`;\n }\n\n return req.makeRequest(\n {},\n { url },\n null,\n 'post',\n '/api/' + baseUrlSecond,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n spool: (data, funzione, params = {}, sortParams) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n params,\n sortParams,\n null,\n 'post',\n '/api/' + baseUrl + '/Spool/' + data + '/' + funzione,\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n }\n};\n\nexport default TerritoryService;\n","import React, { Children } from 'react';\nimport Table from 'react-bootstrap/Table';\nimport qs from 'qs';\nimport { useEffect, useState } from 'react';\nimport '../../css/_reportTable.scss';\nimport ReportFilter from './reportFilter';\nimport Loading from 'components/loading';\nimport { Pagination, Spin } from 'antd';\n\nconst ReportTable = ({ columns, dataSource, loading, pagination }) => {\n return (\n <>\n \n
    \n {/* {loading ? : ''} */}\n \n \n \n {columns.map((column) => (\n \n ))}\n \n \n \n {dataSource.map((e) => {\n delete e.key;\n const cells = Object.keys(e).map((key) => {\n return ;\n });\n return {cells};\n })}\n \n
    \n
    \n \n
    \n
    {column.titleName}
    \n
    {e[key]}
    \n
    \n {pagination && }\n
    \n \n );\n};\n\nexport default ReportTable;\n","import { useEffect, useCallback, useState } from 'react';\nimport { Modal, Typography, Button, Collapse } from 'antd';\nimport TerritoryService from 'services/territorio';\nimport xlsIcon from 'assets/img/formats/xls.png';\nimport pdfIcon from 'assets/img/formats/pdf.png';\nimport csvIcon from 'assets/img/formats/csv.png';\nimport jsonIcon from 'assets/img/formats/json.png';\nimport Utils from 'utils';\nimport moment from 'moment';\nimport {\n faFilePdf,\n faFileExcel,\n faFileCode,\n faFileLines\n} from '@fortawesome/free-regular-svg-icons';\nimport { CloseOutlined, InfoCircleOutlined, PlusCircleOutlined, MinusCircleOutlined } from '@ant-design/icons';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nimport '../../css/_reportHead.scss';\nconst { Title } = Typography;\n\nfunction ReportHead({ date, headerFunction, setLoading, setHeaderFunction }) {\n const [visibleDetails, setVisibleDetails] = useState(false);\n const [visibleVariables, setVisibleVariables] = useState(false);\n\n const { Panel } = Collapse;\n\n const infoIcon = (\n \n )\n const closeIcon = (\n \n )\n\n const detailContent = (obj) => {\n return (\n <>\n
    \n
    {obj.guida}
    \n
    \n
    \n
    \n
    Variabile
    \n
    {obj.variabile}
    \n
    \n
    \n
    Acronimo Variabile
    \n
    {obj.colname ? obj.colname : 'Non presente'}
    \n
    \n
    \n
    Note
    \n
    {obj.note}
    \n
    \n
    \n
    Fonte
    \n
    {obj.fonte}
    \n
    \n
    \n
    Link
    \n
    {obj.link ? {obj.link} : 'Non presente'}
    \n
    \n
    \n \n );\n }\n\n // NEL CASO SERVISSE ENUNCIARE IL CONTENUTO DELL'ACCORDION ALL'APERTURA\n // const enunciateContent = (obj) => {\n // let innerText = '';\n // if (obj) {\n // innerText = 'Definizioni: ' +\n // 'Variabile: ' + obj.variabile + '. ' +\n // 'Acronimo Variabile: ' + (obj.colname ? obj.colname : 'Non presente') + '. ' +\n // 'Note: ' + (obj.note && obj.note !== 'Nessuna nota' ? obj.note + ' ' : 'Nessuna nota. ') +\n // 'Fonte: ' + obj.fonte + '. ' +\n // 'Link: ' + (obj.link ? obj.link : 'Non presente') + '.';\n // }\n // const status = document.getElementById('info-modal-collapse-definitions');\n // if(status) status.innerText = innerText;\n // }\n\n const downloadHeaders = [\"Variabile\", \"Acronimo variabile\", \"Descrizione\", \"Note\", \"Fonte\", \"Link\"];\n\n const fetchHeader = async (date, funzione) => {\n return await TerritoryService.header(date, funzione);\n };\n\n const headerVariables = useCallback(\n (formattedData) => {\n return (\n <>\n
    \n \n }\n onClick={() =>\n Utils.exportPDF(\n 'Legenda ' +\n headerFunction.titolo_report +\n ' - Data stampa ' +\n moment().format('DD/MM/YYYY'),\n [\n { title: downloadHeaders[0] },\n { title: downloadHeaders[1] },\n { title: downloadHeaders[2] },\n { title: downloadHeaders[3] },\n { title: downloadHeaders[4] },\n { title: downloadHeaders[5] },\n ],\n formattedData.map((obj) => [obj.variabile, obj.colname, obj.guida, obj.note, obj.fonte, obj.link]),\n 'landscape'\n )\n }>\n \n \n }\n onClick={() =>\n Utils.exportXLSX(\n 'Legenda report ' +\n headerFunction.titolo_report +\n ' - Data stampa ' +\n moment().format('DD/MM/YYYY'),\n downloadHeaders,\n formattedData.map(({ note, variabile, guida, fonte, link, colname }) => ({\n variabile,\n colname,\n guida,\n note,\n fonte,\n link\n }))\n )\n }>\n \n \n }\n onClick={() =>\n Utils.exportCSV(\n 'Legenda report ' +\n headerFunction.titolo_report +\n ' - Data stampa ' +\n moment().format('DD/MM/YYYY'),\n downloadHeaders,\n ['variabile', 'colname', 'guida', 'note', 'fonte', 'link'],\n formattedData.map(({ variabile, colname, guida, note, fonte, link }) => ({\n variabile,\n colname,\n guida,\n note,\n fonte,\n link\n })),\n ';'\n )\n }>\n \n \n }\n onClick={() => {\n const jsonFormatted = formattedData.map(\n ({ note, variabile, guida, fonte, link, colname }) => ({\n variabile,\n \"acronimo variabile\":colname,\n guida,\n note,\n fonte,\n link\n })\n );\n const fileData = JSON.stringify(jsonFormatted);\n const blob = new Blob([fileData], { type: 'text/plain' });\n const url = URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.download =\n 'Legenda report ' +\n headerFunction.titolo_report +\n ' - ' +\n moment().format('DD_MM_YYYY_HHmmss') +\n '.json';\n link.href = url;\n link.click();\n }}>\n \n
    \n
    {headerFunction?.descrizione_report}
    \n
    \n {/* */}\n

    Variabili

    \n \n !isActive ? (\n \n ) : (\n \n )\n }\n // NEL CASO SERVISSE ENUNCIARE IL CONTENUTO DELL'ACCORDION ALL'APERTURA\n // onChange={(value) => {\n // if (value) {\n // const current = formattedData.find(obj => obj?.variabile === value);\n // enunciateContent(current);\n // }\n // }}\n className=\"elements-container\">\n {formattedData.map((obj, index) => (\n {`${obj.variabile} [${obj.colname ?? \"\"}]`}\n }\n key={obj.variabile}>\n {detailContent(obj)}\n \n ))}\n \n
    \n \n );\n },\n [headerFunction, visibleDetails]\n );\n\n useEffect(() => {\n let unmounted = false;\n if (headerFunction && !unmounted) {\n setLoading(true);\n fetchHeader(date?.replaceAll('/', '-'), headerFunction.id_funzione)\n .then(({ data }) => {\n const labelArray = data.label.split('§');\n const formattedData = labelArray.map((label, i) => {\n const fonte = data.fonte.split('§')[i].trim();\n const guida = data.guida.split('§')[i].trim();\n const link = data.link.split('§')[i].trim();\n const note = data.note.split('§')[i].trim();\n const colname = data.colname.split('§')[i].trim();\n const obj = { variabile: label.trim(), note, link, guida, fonte, colname };\n return obj;\n });\n setLoading(false);\n const titleFinish = (\n {headerFunction.titolo_report}\n );\n Modal.info({\n tabIndex: -1,\n width: 800,\n title: titleFinish,\n icon: infoIcon,\n closeIcon: closeIcon,\n closable: true,\n visible: visibleVariables,\n autoFocusButton: null,\n centered: true,\n onCancel: () => {\n setVisibleVariables(false);\n setHeaderFunction();\n },\n content: headerVariables(formattedData),\n okButtonProps: {\n style: { backgroundColor: '#426F80', border: 0, borderRadius: '5px' },\n },\n okText: 'Chiudi',\n onOk: () => {\n setVisibleVariables(false);\n setHeaderFunction();\n }\n });\n setTimeout(\n () => {\n document.getElementsByClassName('ant-modal-close')[0].setAttribute('aria-label', 'Chiudi');\n var modal = document.getElementsByClassName('ant-modal-wrap')[0];\n modal.setAttribute('aria-modal', 'true');\n modal.setAttribute('aria-labelledby', 'report-head');\n }, 100\n );\n })\n .catch(() => setLoading(false));\n }\n\n return () => {\n unmounted = true;\n };\n }, [headerFunction, date, visibleVariables, headerVariables, setHeaderFunction, setLoading]);\n\n return <>;\n}\n\nexport default ReportHead;\n","import { Row, Col, Divider } from 'antd';\nimport { Link } from 'react-router-dom';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport { useEffect } from 'react';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nfunction RicercaStoriaUABox({ defaultSkip, queryString }) {\n const history = useHistory();\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Cambiamenti delle unità territoriali - SITUAS';\n });\n\n return (\n
    \n {\n history(`/home`);\n }}>\n \n Indietro\n \n\n \n \n

    Cambiamenti delle unità territoriali

    \n \n
    \n A supporto dell’informazione statistica per cittadini e istituzioni, l’Istat raccoglie e documenta i\n cambiamenti che interessano il territorio italiano.\n
    \n \n \n Per approfondimenti sulle tipologie di cambiamento e dettagli su estremi normativi e variazioni:\n
    \n \n Vai alla sezione Storia unità territoriali\n \n
    \n \n \n Per approfondimenti su codici e denominazioni assunti nel tempo dalle unità territoriali:\n
    \n \n Vai alla sezione Ricerca codice Istat\n \n
    \n \n \n \n
    \n
    \n );\n}\nexport default RicercaStoriaUABox;\n","import { Row, Col, Divider } from 'antd';\nimport { useEffect } from 'react';\nimport { Link } from 'react-router-dom';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nfunction CodificheTerritorialiUABox({ defaultSkip, queryString }) {\n const history = useHistory();\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Codifiche territoriali per la PA e il Paese - SITUAS';\n });\n\n return (\n
    \n {\n history(`/home`);\n }}>\n \n Indietro\n \n\n \n \n

    Codifiche territoriali per la PA e il Paese

    \n \n\n
    \n L’Istat, per le attività di produzione e diffusione dell’informazione statistica, crea e\n mantiene aggiornate le classificazioni delle unità territoriali, raccoglie le\n denominazioni ufficiali e ad ognuna di esse assegna un codice identificativo.\n
    Il Sistema informativo territoriale delle unità amministrative e statistiche\n gestisce gli enti territoriali riconosciuti dall’ordinamento amministrativo del\n Regno d’Italia prima, e da quello costituzionale della Repubblica poi, nonché le aree\n statistiche di rilievo per le policy nazionali e/o europee.\n
    Le unità territoriali descritte sono definite genericamente con il termine Unità\n amministrativa (Ua) o Unità statistica (Us).\n
    Pertanto, il Sistema informativo consente di operare secondo molteplici intenti:\n
    \n \n \n Presentare le liste delle unità territoriali vigenti alla data di interesse selezionata,\n corredata da caratteristiche e classificazioni.\n
    \n \n Vai alla sezione Unità territoriali\n \n
    \n \n \n Presentare liste di unità per tipologia di variazioni occorse nel periodo (costituzioni,\n estinzioni, cambi denominazione, ecc.).\n
    \n \n Vai alla sezione Variazione Unità territoriali\n \n
    \n \n \n Ricostruire o confrontare le unità territoriali e le relative codifiche in virtù dei\n cambiamenti intervenuti nel tempo.\n
    \n \n Vai alla sezione Ricostruzione codici statistici\n \n
    \n \n \n \n
    \n
    \n );\n}\nexport default CodificheTerritorialiUABox;\n","import { Row, Col, Divider } from 'antd';\nimport { Link } from 'react-router-dom';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport { useEffect } from 'react';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nfunction CaratteristicheClassificazioniBox({ defaultSkip, queryString }) {\n const history = useHistory();\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Caratteristiche e classificazioni delle unità territoriali - SITUAS';\n });\n\n return (\n
    \n {\n history(`/home`);\n }}>\n \n Indietro\n \n\n \n \n

    Caratteristiche e classificazioni delle unità territoriali

    \n \n\n
    \n L’Istat elabora classificazioni a fini statistici assegnate alle unità territoriali, ad\n esempio: la litoraneità, la zona altimetrica, il grado di urbanizzazione, ecc. Sono\n inoltre rese disponibili classificazioni predisposte da altri enti a fini di policy (es.\n aree interne) o derivanti da Regolamenti europei.\n
    \n \n Vai alla sezione Unità territoriali\n \n \n
    \n
    \n );\n}\nexport default CaratteristicheClassificazioniBox;\n","import { Row, Col, Divider } from 'antd';\nimport { Link } from 'react-router-dom';\nimport { ArrowLeftOutlined } from '@ant-design/icons';\nimport { useEffect } from 'react';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nfunction GeografieEuropeeClassificazioni({ defaultSkip, queryString }) {\n const history = useHistory();\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Geografie europee e relative classificazioni - SITUAS';\n });\n\n return (\n
    \n {\n history(`/home`);\n }}>\n \n Indietro\n \n\n {/* FASE 3 - BOX OSCURATO\n \n \n

    Geografie europee e relative classificazioni

    \n \n
    \n L’Unione europea ha istituito una Nomenclatura delle unità territoriali statistiche,\n denominata «Nuts», per permettere la rilevazione, la compilazione e la diffusione di\n statistiche regionali armonizzate nell’Ue. Questo sistema gerarchico, che in Italia\n ricalca i concetti di uts (provincia, città metropolitana, ecc.), regione e ripartizione\n geografica, viene anche utilizzato per condurre analisi socioeconomiche nelle regioni ed\n elaborare gli interventi nel contesto della politica di coesione dell’Ue. La\n classificazione della Nuts viene aggiornata con cadenza triennale tramite regolamento Ue.\n
    \n\n \n \n A partire dal 2006 è possibile consultare la lista delle Nuts vigenti ad un certo anno o\n confrontarne le diverse versioni\n
    \n \n Vai alla sezione Unità territoriali\n \n
    \n \n \n Per le classificazioni delle Nuts consultare il link\n
    \n \n Vai alla sezione Unità territoriali\n \n
    \n \n \n \n
    \n */}\n
    \n );\n}\nexport default GeografieEuropeeClassificazioni;\n","import axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nexport const call_SpoolData = async (data, urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'post',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_SPOOL_DATA}${urlExtension}`,\n headers: {},\n data\n };\n const response = await axios(config);\n const responseData = response.data;\n\n // add transformers here if needed\n const transformedData = responseData ? responseData : [];\n\n return transformedData;\n};\n\nconst useSpoolData = () => {\n const defaultData = {\n label: [],\n body: [],\n totalRows: 0,\n colNames: [],\n formatMasks: [],\n types: []\n };\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(defaultData);\n\n const execute = async (data = {}, urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_SpoolData(data, urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n /* throw e; */\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(defaultData);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useSpoolData;\n","import axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetAutocomplete = async (data, urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'post',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_SPOOL_DATA}${urlExtension}`,\n headers: {},\n data\n };\n const response = await axios(config);\n const responseData = response.data;\n\n // add transformers here if needed\n const transformedData = responseData ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetAutocomplete = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(null);\n\n const execute = async (data = {}, urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetAutocomplete(data, urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n throw e;\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(null);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetAutocomplete;\n","import axios from 'axios';\nimport Utils from 'utils';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetReportDownload = async (data, urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'post',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_SPOOL_DATA}${urlExtension}`,\n headers: {\n accept: 'text/plain',\n 'Content-Type': 'application/json-patch+json'\n },\n responseType: 'blob',\n data\n };\n const response = await axios(config);\n let responseData = response.data;\n const filename = Utils.getFileNameFromHeader(response.headers[\"content-disposition\"]);\n responseData.filename = filename;\n // add transformers here if needed\n const transformedData = responseData?.size ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetReportDownload = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(null);\n\n const execute = async (data = {}, urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetReportDownload(data, urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n throw e;\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(null);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetReportDownload;\n","export const downloadFile = (fileContent, fileName, mimeType) => {\n const url = window.URL.createObjectURL(new Blob([fileContent]));\n const link = document.createElement('a');\n link.href = url;\n link.setAttribute('download', fileName); // Set the desired filename and extension\n document.body.appendChild(link);\n link.click();\n link.remove();\n};\n","import axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetFunzione = async (data, urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'get',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_FUNZIONE}${urlExtension}`,\n headers: {},\n params: data\n };\n const response = await axios(config);\n const responseData = response.data;\n\n // add transformers here if needed\n const transformedData = responseData ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetFunzione = () => {\n const defaultData = {\n label: [],\n body: [],\n totalRows: 0,\n colNames: [],\n formatMasks: [],\n types: []\n };\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(defaultData);\n\n const execute = async (data = {}, urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetFunzione(data, urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n /* throw e; */\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(defaultData);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetFunzione;\n","import { useEffect, useState, createRef } from 'react';\nimport { useLocation, useNavigate as useHistory, useSearchParams, useParams } from 'react-router-dom';\nimport ReportHead from 'components/reportHead';\nimport { AntdTableScrollXaxisTop } from 'antd-table-scroll-xaxis-top';\nimport {\n DatePicker,\n Tag,\n Pagination,\n Table,\n notification,\n AutoComplete,\n Select,\n Button,\n Spin,\n Input,\n Empty,\n ConfigProvider,\n Modal\n} from 'antd';\nimport { SearchOutlined } from '@ant-design/icons';\nimport DownloadService from 'services/download';\nimport { Form } from 'react-bootstrap';\nimport { Typeahead, Menu, MenuItem } from 'react-bootstrap-typeahead';\nimport moment from 'moment';\nimport Utils from 'utils';\nconst { RangePicker } = DatePicker;\nimport { ArrowLeftOutlined, InfoCircleOutlined } from '@ant-design/icons';\nimport {\n faFilePdf,\n faFileExcel,\n faFileCode,\n faFileLines,\n faCircleQuestion,\n} from '@fortawesome/free-regular-svg-icons';\nimport {\n faCircleInfo,\n faArrowDownAZ,\n faArrowDownZA,\n faArrowDown91,\n faArrowDown19,\n faCheck,\n faXmark,\n faChevronCircleDown\n} from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport './newReportCompiler.scss';\nimport { useSpoolData } from '../../services/SpoolData';\nimport { useGetAutocomplete } from '../../services/GetAutocomplete';\nimport { useGetReportDownload } from '../../services/GetReportDownload';\nimport { downloadFile } from '../../assets/extra/helpers';\nimport IsMobile from 'components/IsMobile/IsMobile';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../../redux/reducers/NewReportCompiler.reducer';\nimport { useGetFunzione } from '../../services/GetFunzione';\nimport { getLanguage } from '../langSelector/LangSelector';\n\nconst BodyCompiler = ({ mainTitle, defaultSkip, queryString }) => {\n const variabileRef = createRef();\n const valoreRef = createRef();\n\n const getReportDownload = useGetReportDownload();\n const getSpoolData = useSpoolData();\n const getAutocompleteData = useGetAutocomplete();\n const history = useHistory();\n const [searchParams, setSearchParams] = useSearchParams();\n const getFunzione = useGetFunzione();\n const language = getLanguage();\n const location = useLocation();\n const {\n state = {\n dataDa: undefined,\n dataA: undefined,\n funzione: undefined,\n title: undefined,\n periodoDate: undefined,\n mainTitle: undefined,\n percorsoBk: undefined,\n isEditable: true,\n fromHome: undefined,\n homeDataPicker: undefined,\n descrizione: undefined,\n metadati_val: undefined,\n reportQueryString: undefined,\n\n caller_state: undefined\n }\n } = useLocation();\n const {\n dataDa,\n dataA,\n title,\n periodoDate,\n percorsoBk,\n isEditable,\n fromHome,\n homeDataPicker,\n descrizione,\n metadati_val,\n reportQueryString,\n\n caller_state\n } = state || {};\n\n const dispatch = useDispatch();\n const LF = 'DD/MM/YYYY';\n const LF_API = 'YYYY-MM-DD';\n const [paginationHelper, setPaginationHelper] = useState(true);\n const [selectedPage, setSelectedPage] = useState(1);\n const [pageSize, setPageSize] = useState(10);\n const [currFilterValue, setCurrFilterValue] = useState(null);\n const [currColumnSearch, setCurrColumnSearch] = useState('');\n const [currColumnValue, setCurrColumnValue] = useState('');\n const [currColumnDataIndex, setCurrColumnDataIndex] = useState('');\n const [variabileMenuShouldOpen, setVariabileMenuShouldOpen] = useState(true);\n\n const [tmpDates, setTmpDates] = useState({ dataDaUp: null, dataAUp: null });\n const [data, setData] = useState({ dataDaUp: null, dataAUp: null });\n const [autoData, setAutoData] = useState([]);\n const [autoDataFiltered, setAutoDataFiltered] = useState(null);\n const [autocompleteIsLoading, setAutocompleteIsLoading] = useState(true);\n const [searchIsLoading, setSearchIsLoading] = useState(false);\n const [tempDesc, setTempDesc] = useState(descrizione);\n const [tempSubTitle, setTempSubTitle] = useState(title);\n const [tempPeriodoDate, setTempPeriodoDate] = useState(periodoDate);\n const [headerFunction, setHeaderFunction] = useState();\n const [loading, setLoading] = useState(false);\n const [loadingPDF, setLoadingPDF] = useState(false);\n const [loadingXLSX, setLoadingXLSX] = useState(false);\n const [loadingCSV, setLoadingCSV] = useState(false);\n const [loadingJSON, setLoadingJSON] = useState(false);\n const [funzione, setFunzione] = useState(null);\n const [fixedHomePicker, setFixedHomePicker] = useState('');\n\n const { filters, textFilters, tableData } = useSelector(\n (reduxState) => reduxState.NewReportCompiler\n );\n\n const infoIcon = (\n \n );\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString(reportQueryString);\n setFixedHomePicker(homeDataPicker);\n }, []);\n\n useEffect(() => {\n setPaginationHelper(true);\n }, [paginationHelper]);\n\n //useEffect(() => {\n // GetTableData({ selectedPage });\n //}, []);\n\n useEffect(() => {\n setTempDesc(tempDesc);\n setTempSubTitle(title || tempSubTitle);\n setTempPeriodoDate(periodoDate || tempPeriodoDate);\n }, [descrizione, title, periodoDate]);\n\n const paginationChange = (pagina, pageSize) => {\n setSelectedPage(pagina);\n setPageSize(pageSize);\n };\n\n const loadFunzione = async () => {\n let pDates = { dataDaUp: null, dataAUp: null };\n if (searchParams.has('dateFrom')) {\n pDates.dataDaUp = searchParams.get('dateFrom');\n }\n\n if (searchParams.has('dateTo')) {\n pDates.dataAUp = searchParams.get('dateTo');\n }\n\n setTmpDates(() => pDates);\n setData(() => pDates);\n\n let param = {};\n if (searchParams.has('id')) {\n param.id = +searchParams.get('id');\n if (funzione?.id != param.id) {\n let res = await getFunzione.execute({\n funzione: param.id,\n plang: language,\n dateFrom: pDates.dataDaUp,\n dateTo: pDates.dataAUp\n });\n\n if (!res?.items?.length) {\n goBack();\n return;\n }\n\n res = res.items[0];\n param.loaded = true;\n param.title = res.titolo_report;\n param.funzione = param.titolo_report;\n param.periodoDate = res.periodo_dati;\n param.descrizione = res.descrizione_report;\n param.tipoAnalisiTemporale = res.tipo_analisi_temporale;\n let perDate = [];\n perDate.push(res.periodo_dati_da);\n let dtTo = moment(res.periodo_dati_a, 'DD/MM/YYYY');\n let dtNow = moment();\n if (dtTo > dtNow) {\n dtTo = dtNow;\n }\n\n perDate.push(dtTo.format('DD/MM/YYYY'));\n setTempPeriodoDate(() => perDate);\n setFunzione(() => param);\n setTempDesc(() => param.descrizione);\n setTempSubTitle(() => param.title);\n }\n } else {\n goBack();\n }\n };\n\n useEffect(async () => {\n await loadFunzione();\n }, [location]);\n\n useEffect(async () => {\n if (funzione) {\n let chkDt = checkSearchDates();\n if (chkDt) {\n setTmpDates({\n ...tmpDates,\n dataDaUp: chkDt.dataDaUp,\n dataAUp: chkDt.dataAUp\n });\n updateUrlParam(chkDt);\n } else {\n await GetTableData({ selectedPage });\n }\n }\n }, [selectedPage, pageSize, filters, textFilters.filterFields, funzione, data]);\n\n useEffect(() => { }, [data]);\n\n useEffect(() => {\n // FIX ARIA-EXPANDED NON PRESENTE INIZIALMENTE\n var variabile = document.getElementById('variabileid');\n var valore = document.getElementById('valoreid');\n variabile?.setAttribute('aria-expanded', 'false');\n valore?.setAttribute('aria-expanded', 'false');\n })\n\n const checkSearchDates = () => {\n let pDates = { dataDaUp: data.dataDaUp, dataAUp: data.dataAUp };\n let hasErrors = false;\n let ret = { dateFrom: pDates.dataDaUp, dateTo: pDates.dataAUp };\n let d = pDates.dataDaUp;\n if (d) {\n d = moment(d, 'YYYY-MM-DD', true);\n if (d.isValid()) {\n if (d.isBefore(moment(tempPeriodoDate[0], 'DD/MM/YYYY'))) {\n hasErrors = true;\n ret.dateFrom = moment(tempPeriodoDate[0], 'DD/MM/YYYY').format('YYYY-MM-DD');\n } else if (d.isAfter(moment(tempPeriodoDate[1], 'DD/MM/YYYY'))) {\n hasErrors = true;\n ret.dateFrom = moment(tempPeriodoDate[1], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n } else {\n hasErrors = true;\n ret.dateFrom = moment(tempPeriodoDate[0], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n } else {\n hasErrors = true;\n ret.dateFrom = moment(tempPeriodoDate[0], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n\n d = pDates.dataAUp;\n if (d) {\n if (funzione.tipoAnalisiTemporale?.toUpperCase() == 'DATA') {\n hasErrors = true;\n ret.dateTo = null;\n } else {\n d = moment(d, 'YYYY-MM-DD', true);\n if (d.isValid()) {\n if (d.isBefore(moment(tempPeriodoDate[0], 'DD/MM/YYYY'))) {\n hasErrors = true;\n ret.dateTo = moment(tempPeriodoDate[0], 'DD/MM/YYYY').format('YYYY-MM-DD');\n } else if (d.isAfter(moment(tempPeriodoDate[1], 'DD/MM/YYYY'))) {\n hasErrors = true;\n ret.dateTo = moment(tempPeriodoDate[1], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n } else {\n hasErrors = true;\n ret.dateTo = moment(tempPeriodoDate[1], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n }\n } else if (funzione.tipoAnalisiTemporale?.toUpperCase() == 'PERIODO') {\n hasErrors = true;\n ret.dateTo = moment(tempPeriodoDate[1], 'DD/MM/YYYY').format('YYYY-MM-DD');\n }\n\n if (ret.dateTo) {\n d = moment(ret.dateFrom, 'YYYY-MM-DD');\n let dTo = moment(ret.dateTo, 'YYYY-MM-DD');\n if (d.isAfter(dTo)) {\n hasErrors = true;\n ret.dateTo = ret.dateFrom;\n }\n }\n\n if (hasErrors) {\n return ret;\n }\n\n return null;\n };\n\n const GetReportDownload = async (file = null) => {\n const { dataDaUp, dataAUp } = data;\n const downloadFileData = await getReportDownload.execute(\n {\n orderFields: [],\n orderDirects: [],\n pFilterFields: textFilters.filterFields.map((field) => field.textFields),\n pFilterValues: textFilters.filterFields.map((field) => field.textValue)\n },\n `/${dataDaUp}/${funzione?.id}?${dataAUp != undefined ? `&dataA=${dataAUp}` : ``}&pdoctype=${file}`\n );\n downloadFile(downloadFileData, downloadFileData.filename ? downloadFileData.filename : `${title}.${file}`);\n };\n\n const GetAutocompleteData = async (currColumnDataIndex) => {\n setCurrColumnSearch('');\n setAutoDataFiltered(null);\n setAutoData([]);\n setSearchIsLoading(true);\n setAutocompleteIsLoading(true);\n if (currColumnDataIndex) {\n const { dataDaUp, dataAUp } = data;\n const autocompleteData = await getAutocompleteData.execute(\n {\n orderFields: [],\n orderDirects: [],\n pFilterFields: textFilters.filterFields.map((field) => field.textFields),\n pFilterValues: textFilters.filterFields.map((field) => field.textValue)\n },\n `/${dataDaUp}/${funzione?.id}?&PageNum=1&PageSize=999999${dataAUp != undefined ? `&dataA=${dataAUp}` : ``\n }&plovfield=${currColumnDataIndex}`\n );\n const tmpData = autocompleteData.body?.map((e, idx) => {\n return {\n value: (e[currColumnDataIndex] || e[currColumnDataIndex] == 0 ? e[currColumnDataIndex].toString() : null),\n label: (e[currColumnDataIndex] || e[currColumnDataIndex] == 0 ? e[currColumnDataIndex].toString() : ''),\n key: (e[currColumnDataIndex] || e[currColumnDataIndex] == 0 ? `auto-${e[currColumnDataIndex].toString()}-${idx}` : `empty-${idx}`)\n };\n });\n setAutoData(tmpData);\n setAutocompleteIsLoading(false);\n }\n setSearchIsLoading(false);\n };\n\n const GetTableData = async ({ selectedPage }) => {\n const { dataDaUp, dataAUp } = data;\n let filteredOrderFields = [];\n let filteredOrderDirects = [];\n filters.orderDirects.forEach((value, index) => {\n if (value) {\n filteredOrderFields = [...filteredOrderFields, filters.orderFields[index]];\n filteredOrderDirects = [...filteredOrderDirects, value];\n }\n });\n const table = await getSpoolData.execute(\n {\n orderFields: filteredOrderFields,\n orderDirects: filteredOrderDirects,\n pFilterFields: textFilters.filterFields.map((field) => field.textFields),\n pFilterValues: textFilters.filterFields.map((field) => field.textValue)\n },\n `/${dataDaUp}/${funzione?.id}?&PageNum=${selectedPage}&PageSize=${pageSize}${dataAUp != undefined ? `&dataA=${dataAUp}` : ``\n }`\n );\n\n dispatch(updateTableData(table));\n\n if (table?.body) {\n addPaginationNav();\n }\n };\n\n const FilterColumns = async (column, keyDownEvent) => {\n if (!keyDownEvent || keyDownEvent === \"Enter\") {\n const { orderFields, orderDirects } = filters;\n let tmpOrderFields = [...orderFields];\n let tmpOrderDirects = [...orderDirects];\n const i_ = tmpOrderFields.findIndex((field) => field === column);\n // caso 0 - nuova entry -> DESC\n if (i_ === -1) {\n tmpOrderFields = [...tmpOrderFields, column];\n tmpOrderDirects = [...tmpOrderDirects, 'DESC'];\n } else {\n switch (tmpOrderDirects[i_]) {\n // caso 1 - DESC -> ASC\n case 'DESC':\n tmpOrderDirects[i_] = 'ASC';\n break;\n // caso 2 - ASC -> nessun ordinamento\n case 'ASC':\n tmpOrderDirects[i_] = '';\n break;\n // caso 3 - nessun ordinamento -> DESC \n default:\n tmpOrderDirects[i_] = 'DESC';\n break;\n }\n }\n\n dispatch(\n updateFilters({\n orderFields: tmpOrderFields,\n orderDirects: tmpOrderDirects\n })\n );\n }\n };\n\n const getIconByDataIndex = (dataIndex = '', index) => {\n const { orderFields, orderDirects } = filters;\n const i_ = orderFields?.findIndex((field) => field === dataIndex);\n\n if (orderDirects[i_] === 'ASC')\n return tableData.types[index] == 'VARCHAR' ? faArrowDownAZ : faArrowDown19;\n else return tableData.types[index] == 'VARCHAR' ? faArrowDownZA : faArrowDown91;\n };\n \n const getColorByActive = (dataIndex = '') => {\n const { orderFields, orderDirects } = filters;\n const i_ = orderFields.findIndex((field) => field === dataIndex);\n return (orderDirects[i_] === 'DESC' || orderDirects[i_] === 'ASC') ? 'activeOrder' : 'defaultIconOrder';\n };\n\n const getAriaLabelBySort = (dataIndex = '') => {\n const { orderFields, orderDirects } = filters;\n const i_ = orderFields.findIndex((field) => field === dataIndex);\n return orderDirects[i_] === 'ASC' ? 'Rimuovi ordinamento' : orderDirects[i_] === 'DESC' ? 'Ordina crescente' : 'Ordina decrescente';\n }\n\n const columns = tableData.colNames.map((column, index) => {\n return {\n title: (\n
    \n \n {tableData.label[index]}\n \n \n }\n onClick={() => {\n FilterColumns(column);\n }}\n onKeyDown={(e) => {\n FilterColumns(column, e.key);\n }}>\n \n
    \n ),\n dataIndex: column,\n key: column,\n render: (testo) => {\n if (testo?.length > 100) {\n return
    \n {\n Modal.info({\n title: tableData.label[index],\n width: 800,\n icon: infoIcon,\n autoFocusButton: null,\n okButtonProps: {\n style: { backgroundColor: '#426F80', border: 0, borderRadius: '5px' }\n },\n content: (\n
    \n {testo}\n
    \n ),\n onOk() {}\n });\n }}>\n
    {testo}
    \n \n
    \n }\n else {\n return
    {testo}
    \n }\n },\n align: tableData.types[index] == 'VARCHAR' ? 'Pagina precedente' : 'Pagina successiva'\n };\n });\n\n const selectOption = tableData.label.map((e, i) => {\n return { value: tableData.colNames[i], label: e };\n });\n\n const updateUrlParam = (nextInit) => {\n const newSearchParams = new URLSearchParams(searchParams);\n\n for (var i in nextInit) {\n if (nextInit[i] != null) {\n newSearchParams.set(i, nextInit[i]);\n } else {\n newSearchParams.delete(i);\n }\n }\n\n // Update the URL with the new search parameters\n setSearchParams(newSearchParams, { state: state });\n };\n\n const goBack = () => {\n if (!fromHome) {\n history(`${percorsoBk || '..'}`, { state: caller_state });\n } else history(`/home`);\n };\n\n const isChangingDateFilter = () => {\n const { dataDaUp, dataAUp } = tmpDates;\n return dataDaUp !== data.dataDaUp || dataAUp !== data.dataAUp;\n };\n\n const addPaginationNav = (() => {\n var paginator = document.getElementsByClassName('ant-pagination')[0];\n if (paginator) {\n var nav = document.getElementsByName('paginazione tabella')[0];\n\n if (!nav) {\n nav = document.createElement('nav');\n nav.setAttribute('name', 'paginazione tabella');\n nav.ariaLabel = 'Sfoglia pagine dei risultati';\n }\n\n paginator.querySelectorAll('.ant-pagination-item a').forEach( element => {\n if (element.parentElement.classList.contains('ant-pagination-item-active')) {\n element.setAttribute('aria-current', true);\n }\n else {\n element.setAttribute('aria-current', false);\n }\n });\n\n document.getElementsByClassName('ant-table')[0].insertAdjacentElement('afterend', nav);\n nav.appendChild(paginator);\n }\n });\n\n const renderDataPickerLabel = (direction, reportTitle) => {\n if (direction === 'from') {\n if(reportTitle === \"In evidenza\" || reportTitle === \"I più consultati\") {\n if (fixedHomePicker === 'al')\n return ( );\n\n if (fixedHomePicker === 'dal')\n return ( );\n }\n\n return ( );\n }\n else {\n return ( );\n }\n };\n\n const renderReport = () => {\n return (\n \n
    \n \n \n Indietro\n \n
    \n
    \n
    \n {(mainTitle || state?.mainTitle) &&

    {mainTitle || state?.mainTitle}

    }\n
    \n
    \n {tempSubTitle &&

    {tempSubTitle}

    }\n
    \n setHeaderFunction(metadati_val ? metadati_val : { \"id_funzione\": funzione?.id, \"titolo_report\": tempSubTitle })}\n icon={}>\n \n {/*\n {\n setLoadingPDF(true);\n await GetReportDownload('PDF');\n setLoadingPDF(false);\n }}\n icon={}>\n \n */}\n {\n setLoadingXLSX(true);\n await GetReportDownload('XLSX');\n setLoadingXLSX(false);\n }}\n icon={}>\n \n {\n setLoadingCSV(true);\n await GetReportDownload('CSV');\n setLoadingCSV(false);\n }}\n icon={}>\n \n {\n setLoadingJSON(true);\n await GetReportDownload('JSON');\n setLoadingJSON(false);\n }}\n icon={}>\n \n
    \n
    \n {tempPeriodoDate &&

    Periodo dati: {`${tempPeriodoDate[0]} - ${tempPeriodoDate[1]}`}

    }\n
    \n {tempDesc &&

    {tempDesc}

    }\n
    \n
    \n ,\n , Compilare il campo utilizzando il formato: giorno (2 caratteri), /, mese (2 caratteri), /, anno (4 caratteri). Valore attuale\n \n
    \n { renderDataPickerLabel(\"from\", mainTitle) }\n {\n (mainTitle !== \"In evidenza\" && mainTitle !== \"I più consultati\") ?\n \n !d ||\n d.isBefore(moment(tempPeriodoDate[0], 'DD/MM/YYYY')) ||\n d.isAfter(moment(tempPeriodoDate[1], 'DD/MM/YYYY')) ||\n (tmpDates.dataAUp && d.isAfter(moment(tmpDates.dataAUp, LF_API)))\n }\n onChange={(MomentObj) => {\n setTmpDates({ ...tmpDates, dataDaUp: MomentObj.format(LF_API) });\n variabileRef.current.clear();\n valoreRef.current.clear();\n setVariabileMenuShouldOpen(false);\n }}\n />\n :\n \n {moment(tmpDates.dataDaUp).format('DD/MM/YYYY')}\n \n }\n
    \n {tmpDates.dataAUp && (\n
    \n { renderDataPickerLabel(\"to\", mainTitle) }\n \n !d ||\n d.isBefore(moment(tempPeriodoDate[0], 'DD/MM/YYYY')) ||\n d.isAfter(moment(tempPeriodoDate[1], 'DD/MM/YYYY')) ||\n (tmpDates.dataDaUp && d.isBefore(moment(tmpDates.dataDaUp, LF_API)))\n }\n onChange={(MomentObj) => {\n setTmpDates({ ...tmpDates, dataAUp: MomentObj.format(LF_API) });\n variabileRef.current.clear();\n valoreRef.current.clear();\n setVariabileMenuShouldOpen(false);\n }}\n />\n
    \n )}\n
    \n
    \n
    \n
    \n Variabile\n

    , è stato cambiato l'intervallo temporale del report, lanciare la ricerca per abilitare nuovamente il campo Variabile.

    \n {\n if (selection && selection.length === 1) {\n const option = new Object(selection[0]);\n setCurrFilterValue(option.value);\n setCurrColumnValue('');\n setCurrColumnDataIndex(option.value);\n GetAutocompleteData(option.value);\n }\n valoreRef.current.clear();\n }}\n onFocus={() => {\n if (!isChangingDateFilter())\n setVariabileMenuShouldOpen(true);\n }}\n onBlur={(event) => {\n if(event?.target.value === ''){\n setCurrFilterValue(null);\n setCurrColumnDataIndex(null);\n setCurrColumnValue('');\n GetAutocompleteData(null);\n valoreRef.current.clear();\n }\n }}\n value={currFilterValue ?? ''}\n options={selectOption}\n renderMenu={(results) => (\n \n {results.map((result, index) => (\n \n {result.paginationOption ?\n <>Carica più risultati\n :\n result.label\n }\n \n ))}\n \n )}\n paginationText=\"Carica più risultati\"\n />\n
    \n
    \n Valore \n {searchIsLoading && \n \n \n \n \n \n \n \n }\n \n

    , selezionare una variabile per abilitare il campo Valore.

    \n {\n if (selection && selection.length === 1) {\n const option = new Object(selection[0]);\n setCurrColumnValue(option.value);\n }\n }}\n onSearch={(inputValue) => {\n setCurrColumnValue(null);\n setCurrColumnSearch(inputValue);\n if (inputValue.length) {\n setAutoDataFiltered((autoData || [])\n .filter(i => i.value.toString().toUpperCase().indexOf(inputValue.toUpperCase()) !== -1)\n .map((v) => ({ label: v.label.toString(), value: v.value.toString(), key: v.key.toString() })));\n } else {\n setAutoDataFiltered(null);\n }\n }}\n value={currColumnValue || currColumnSearch}\n options={autoDataFiltered || autoData}\n renderMenu={(results) => (\n \n {results.map((result, index) => (\n \n {result.paginationOption ?\n <>Carica più risultati\n :\n result.label\n }\n \n ))}\n \n )}\n paginationText=\"Carica più risultati\"\n />\n
    \n
    \n {\n const { dataDaUp, dataAUp } = tmpDates;\n setSelectedPage(1);\n setPaginationHelper(false);\n if (currFilterValue && !isChangingDateFilter()) {\n dispatch(\n updateTextFilters({\n filterFields: [\n ...textFilters.filterFields,\n {\n textFields: currColumnDataIndex,\n textValue: currColumnValue ?\n //se con valore\n typeof (currColumnValue) === \"string\" ?\n currColumnValue.replaceAll(\"'\", \"''\")\n : currColumnValue\n //se vuoto\n : \"$BLANK$\",\n i:\n textFilters.filterFields.length === 0\n ? 0\n : textFilters.filterFields.length + 1\n }\n ]\n })\n );\n setCurrFilterValue(null);\n setCurrColumnDataIndex(null);\n setCurrColumnValue('');\n GetAutocompleteData(null);\n valoreRef.current.clear();\n variabileRef.current.clear();\n } else {\n if ((currFilterValue && currColumnValue) || (isChangingDateFilter())) {\n //GetTableData({ selectedPage });\n updateUrlParam({ dateFrom: dataDaUp, dateTo: dataAUp });\n } else {\n notification.open({\n message: 'Filtri non applicati',\n description:\n 'Non è disponibile nessun filtro da applicare, assicurati di aver applicato modifiche ai filtri',\n duration: 4\n });\n }\n }\n }}\n htmlType=\"submit\">\n Applica\n \n
    \n
    \n
    \n
    \n
    \n {textFilters.filterFields.length > 0 && (\n <>\n

    Filtri attivi:

    \n
    \n {textFilters.filterFields.map((field, i) => {\n return (\n
    \n {\n if (e.key === \"Enter\") {\n setSelectedPage(1);\n setPaginationHelper(false);\n const tmpArr = [...textFilters.filterFields];\n tmpArr.splice(i, 1);\n dispatch(updateTextFilters({ filterFields: tmpArr }));\n if (currFilterValue || currColumnValue) {\n setCurrFilterValue(null);\n setCurrColumnDataIndex(null);\n setCurrColumnValue('');\n GetAutocompleteData(null);\n }\n }\n }}\n onClick={() => {\n setSelectedPage(1);\n setPaginationHelper(false);\n const tmpArr = [...textFilters.filterFields];\n tmpArr.splice(i, 1);\n dispatch(updateTextFilters({ filterFields: tmpArr }));\n if (currFilterValue || currColumnValue) {\n setCurrFilterValue(null);\n setCurrColumnDataIndex(null);\n setCurrColumnValue('');\n GetAutocompleteData(null);\n }\n }}\n >\n

    Filtro attivo,

    \n {`${tableData.label[tableData.colNames.indexOf(`${field.textFields}`)]}:`} \n {`${Utils.truncateEllipsis(field.textValue === \"$BLANK$\" ? \"Non disponibile\" : field.textValue)}`}\n \n \n \n \n

    , clicca o premi Invio per rimuovere il filtro.

    \n \n
    \n );\n })}\n
    \n \n )}\n
    \n\n
    \n {tableData && paginationHelper && (\n <>\n
    \n (\n \n )}>\n \n ({\n ...row,\n key: `${i}`\n }))}\n scroll={{ x: true }}\n pagination={{\n total: tableData.totalRows,\n defaultCurrent: 1,\n onChange: paginationChange,\n showTotal: (total, range) => {\n return `${range[0]}-${range[1]} di ${total}`;\n },\n }}\n />\n \n \n
    \n \n )}\n
    \n \n
    \n );\n }\n\n return (mainTitle === \"In evidenza\" || mainTitle === \"I più consultati\") ?\n
    \n {renderReport()}\n
    \n :\n renderReport();\n};\n\nexport default BodyCompiler;\n","import axios from 'axios';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetAggiornamenti = async (urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'get',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_AGGIORNAMENTI}${urlExtension}`,\n headers: {}\n };\n const response = await axios(config);\n const responseData = response.data;\n\n // add transformers here if needed\n const transformedData = responseData ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetAggiornamenti = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(null);\n\n const execute = async (urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetAggiornamenti(urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n throw e;\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(null);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetAggiornamenti;\n","import axios from 'axios';\nimport Utils from 'utils';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetAggiornamentiDownload = async (urlPrefix = '') => {\n const config = {\n method: 'get',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_AGGIORNAMENTI_DOWNLOAD}`,\n headers: {\n accept: 'text/plain',\n 'Content-Type': 'application/json-patch+json'\n },\n responseType: 'blob'\n };\n const response = await axios(config);\n const responseData = response.data;\n const filename = Utils.getFileNameFromHeader(response.headers[\"content-disposition\"]);\n responseData.filename = filename;\n // add transformers here if needed\n const transformedData = responseData?.size ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetAggiornamentiDownload = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(null);\n\n const execute = async () => {\n try {\n setIsLoading(true);\n const responseData = await call_GetAggiornamentiDownload();\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n throw e;\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(null);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetAggiornamentiDownload;\n","/** @format */\n\nimport { useState, useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { faFileExcel } from '@fortawesome/free-regular-svg-icons';\nimport moment from 'moment';\nimport {\n faArrowRightArrowLeft,\n faArrowDownAZ,\n faArrowDownZA,\n faCircleInfo\n} from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { ArrowLeftOutlined, InfoCircleOutlined } from '@ant-design/icons';\nimport './aggiornamentiTable.scss';\nimport { useGetAggiornamenti } from 'services/GetAggiornamenti';\nimport { Table, Button, Tooltip, Modal } from 'antd';\nimport { useGetAggiornamentiDownload } from 'services/GetAggiornamentiDownload';\nimport { downloadFile } from '../../assets/extra/helpers';\nimport { useNavigate as useHistory } from 'react-router-dom';\n\nconst AggiornamentiTable = ({ defaultSkip, queryString }) => {\n const dispatch = useDispatch();\n const history = useHistory();\n const getAggiornamenti = useGetAggiornamenti();\n const getAggiornamentiDownload = useGetAggiornamentiDownload();\n const [tableData, setTableData] = useState();\n const [pageSize, setPageSize] = useState(9999);\n const [pageNum, setPageNum] = useState(1);\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = \"Aggiornamenti - SITUAS\";\n }, []);\n\n useEffect(async () => {\n await GetAggiornamenti(pageNum, pageSize);\n }, [pageNum, pageSize]);\n\n const infoIcon = (\n \n );\n\n const GetAggiornamenti = async (num, size) => {\n let currDate = moment().format('YYYY-MM-DD');\n const aggData = await getAggiornamenti.execute(\n `?PageNum=${num}&PageSize=${size}&flagDiffusione=1&dateTime=${currDate}`\n );\n setTableData(aggData);\n };\n\n const columns = [\n {\n title: 'Evento',\n key: 'Evento',\n dataIndex: 'titolo',\n render: (titolo) => (\n
    \n {titolo}\n
    \n )\n },\n {\n title: 'Descrizione',\n key: 'Descrizione',\n dataIndex: 'testo',\n render: (testo, record) => (\n
    \n {\n Modal.info({\n title: record['titolo'],\n icon: infoIcon,\n width: 500,\n autoFocusButton: null,\n okButtonProps: {\n style: { backgroundColor: '#426F80', border: 0, borderRadius: '5px' }\n },\n content: (\n
    \n {testo}\n
    \n ),\n onOk() {}\n });\n }}>\n
    {testo}
    \n \n
    \n ),\n ellipsis: {\n showTitle: false\n },\n },\n {\n title: 'Note',\n key: 'Note',\n dataIndex: 'sottotitolo'\n },\n {\n title: 'Data Pubblicazione',\n key: 'Data Pubblicazione',\n dataIndex: 'dataInizioValidita'\n }\n // {\n // title: 'Data fine evento',\n // key: 'Data fine evento',\n // dataIndex: 'dataFineValidita'\n // },\n // {\n // title: 'Data decorrenza evento',\n // key: 'Data decorrenza evento',\n // dataIndex: 'dataProvvedimento'\n // }\n ];\n const data = tableData?.body.map((aggiornamento, i) => {\n const provvedimento = aggiornamento.testoProvvedimento?.split(`\\n`);\n return {\n key: i,\n titolo: aggiornamento.titolo,\n sottotitolo: aggiornamento.sottotitolo,\n testo: aggiornamento.testo,\n dataInizioValidita: moment(aggiornamento.dataInizioValidita).format('DD/MM/YYYY'),\n dataFineValidita: moment(aggiornamento.dataFineValidita).format('DD/MM/YYYY'),\n idProvvedimento: aggiornamento.idProvvedimento,\n testoProvvedimento: provvedimento ? provvedimento[1].replace('Testo:', '') : '',\n dataProvvedimento: provvedimento ? provvedimento[0].substring(24, 34) : ''\n };\n });\n\n const DownloadAggiornamenti = async () => {\n const file = await getAggiornamentiDownload.execute();\n downloadFile(file, file.filename ? file.filename + '.xlsx' : 'aggiornamenti.xlsx');\n };\n return (\n
    \n
    \n {\n history(`/home`);\n }}>\n \n Indietro\n \n
    \n
    \n
    \n

    Aggiornamenti

    \n
    \n }\n aria-label=\"Scarica aggiornamenti in excel\"\n onClick={() => {\n DownloadAggiornamenti();\n }}>\n
    \n
    \n {/* */}\n \n
    \n \n );\n};\n\nexport default AggiornamentiTable;\n","import {\n Routes as Switch,\n Route,\n useMatch as useRouteMatch,\n Navigate as Redirect,\n Outlet\n} from 'react-router-dom';\nimport Home from './main';\nimport { Body } from 'components/reportBody';\nimport RicercaStoriaUABox from 'views/ricercaStoriaUABox';\nimport CodificheTerritorialiUABox from 'views/codificheTerritorialiBox';\nimport CaratteristicheClassificazioniBox from 'views/caratteristicheClassificazioniBox';\nimport GeografieEuropeeClassificazioni from 'views/geografieEuropeeClassificazioni';\nimport BodyCompiler from 'components/reportBody/newReportCompiler';\nimport { AggiornamentiTable } from 'components/aggiornamentiTable';\nconst HomeIndex = ({ isMobile, defaultSkip, queryString }) => {\n const path = '';\n return (\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 } />\n\n \n );\n};\n\nexport default HomeIndex;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report';\n\nconst GlossaryService = {\n glossary: () => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {},\n null,\n 'get',\n '/api/' + baseUrl + '/Glossario',\n null,\n null,\n null,\n false,\n false,\n 'AZURE'\n );\n }\n};\n\nexport default GlossaryService;\n","import axios from 'axios';\nimport Utils from 'utils';\nimport { useCallback, useState } from 'react';\n\nexport const call_GetGlossarioDownload = async (urlExtension = '', urlPrefix = '') => {\n const config = {\n method: 'get',\n url: `${process.env.REACT_APP_API_URL_AZURE}${process.env.REACT_APP_AUTH_PORT_POST}${urlPrefix}${process.env.REACT_APP_GET_GLOSSARIO_DOWNLOAD}${urlExtension}`,\n headers: {\n accept: 'text/plain',\n 'Content-Type': 'application/json-patch+json'\n },\n responseType: 'blob'\n };\n const response = await axios(config);\n let responseData = response.data;\n const filename = Utils.getFileNameFromHeader(response.headers[\"content-disposition\"]);\n responseData.filename = filename;\n\n // add transformers here if needed\n const transformedData = responseData?.size ? responseData : [];\n\n return transformedData;\n};\n\nconst useGetGlossarioDownload = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [error, setError] = useState(null);\n const [data, setData] = useState(null);\n\n const execute = async (urlExtension = '') => {\n try {\n setIsLoading(true);\n const responseData = await call_GetGlossarioDownload(urlExtension);\n setData(responseData);\n setIsLoading(false);\n return responseData;\n } catch (e) {\n setError(e);\n setIsLoading(false);\n throw e;\n }\n };\n\n const reset = () => {\n setIsLoading(false);\n setData(null);\n setError(null);\n };\n\n return {\n isLoading,\n error,\n data,\n execute: useCallback(execute, []), // to avoid infinite calls when inside a `useEffect`\n reset: useCallback(reset, []) // to avoid infinite calls when inside a `useEffect`\n };\n};\n\nexport default useGetGlossarioDownload;\n","/* eslint-disable react/jsx-key */\nimport { useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Row, Col, Divider, Collapse, Button } from 'antd';\nimport { Input } from 'antd';\nimport { SearchOutlined, PlusCircleOutlined, MinusCircleOutlined } from '@ant-design/icons';\nimport GlossaryService from 'services/glossary';\nimport Loading from 'components/loading';\nimport Form from 'react-bootstrap/Form';\nimport { useGetGlossarioDownload } from 'services/GetGlossarioDownload';\nimport { downloadFile } from '../../assets/extra/helpers';\nimport { faFileExcel } from '@fortawesome/free-regular-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nconst { Panel } = Collapse;\n\nfunction Glossary({ isMobile, resetCounter, defaultSkip, queryString }) {\n\n const getGlossarioDownlaod = useGetGlossarioDownload();\n\n const { t } = useTranslation();\n const letters = [\n 'A',\n 'B',\n 'C',\n 'D',\n 'E',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n 'N',\n 'O',\n 'P',\n 'Q',\n 'R',\n 'S',\n 'T',\n 'U',\n 'V',\n 'X',\n 'Y',\n 'W',\n 'Z'\n ];\n let selectedLetter = 'AZ';\n let searchString = null;\n\n const [inputValue, setInputValue] = useState(null);\n const [getDisable, setGetDisable] = useState(true);\n const [loading, setLoading] = useState(false);\n const [glossary, setGlossary] = useState([]);\n const [filteredGlossary, setFilteredGlossary] = useState([]);\n const [titleSearch, setTitleSearch] = useState();\n const [downloadLetter, setDownloadLetter] = useState('AZ');\n const [oldCounter, setOldCounter] = useState(1);\n\n function handleKeyDown(event) {\n if (!getDisable && event.key === 'Enter') {\n event.preventDefault();\n const stringa = document.getElementsByName('lemma')[0].value.toLowerCase();\n searchString = stringa === '' ? null : stringa;\n fetchDataGlossary(searchString); \n }\n }\n\n const fetchDataGlossary = (word, letter = undefined) => {\n const selectByString = glossary.filter((obj) => {\n if (obj.nome.toLowerCase().includes(searchString)) {\n return true;\n } else {\n return false;\n }\n });\n const markedSelectByString = selectByString.map((obj) => {\n const markedNome = obj.nome.replace(new RegExp(word, 'gi'), `${word}`);\n return { ...obj, nome: markedNome };\n });\n if (searchString?.trim().length > 0) {\n setFilteredGlossary(markedSelectByString);\n setTitleSearch(`Risultati filtrati per: ${word}`);\n } else {\n searchString = null;\n if (letter == 'AZ') {\n setFilteredGlossary(glossary);\n setTitleSearch(`${word}`);\n } else {\n setFilteredGlossary(glossary.filter((obj) => obj.nome[0] === letter));\n setTitleSearch(`Risultati filtrati per lettera: ${word}`);\n }\n }\n };\n\n const fetchGlossary = async () => {\n return await GlossaryService.glossary();\n };\n\n useEffect(() => {\n if (resetCounter !== oldCounter){\n fetchDataGlossary('Tutte le definizioni', 'AZ');\n setInputValue(null);\n\n setOldCounter(resetCounter);\n }\n }, [resetCounter]);\n\n useEffect(async () => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString(''); \n document.title = 'Glossario - SITUAS';\n setLoading(true);\n await fetchGlossary()\n .then(({ data }) => {\n setGlossary(data);\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n }, []);\n\n useEffect(() => {\n if (inputValue === null) {\n setGetDisable(true);\n }\n }, [inputValue]);\n\n useEffect(() => {\n fetchDataGlossary('Tutte le definizioni', 'AZ');\n }, [glossary]);\n\n const DownloadGlossario = async () => {\n const file = await getGlossarioDownlaod.execute(\n `${downloadLetter != 'AZ' ? `?pfilter=${downloadLetter}` : ''}`\n );\n downloadFile(file, file.filename ? file.filename : `glossario ${downloadLetter}.xlsx`);\n };\n\n return (\n
    \n \n {loading && }\n \n
    \n

    Criteri di ricerca

    \n
    \n Indice alfabetico\n
    \n
    \n
      \n {glossary.length > 0 &&\n letters.map((letter, index) => (\n
    • \n obj.nome[0] === letter).length > 0}\n onClick={() => {\n selectedLetter = letter;\n fetchDataGlossary(letter, letter);\n setDownloadLetter(letter);\n }}\n key={letter}>\n {letter}\n \n
    • \n ))}\n
    • \n {\n searchString = null;\n selectedLetter = 'AZ';\n setDownloadLetter('AZ');\n fetchDataGlossary('Tutte le definizioni', selectedLetter);\n }}\n key={'AZ'}>\n A-Z\n \n
    • \n

      \n Seleziona una lettera per filtrare i lemmi del glossario\n

      \n
    \n\n \n \n \n Cerca nei lemmi\n \n {\n setInputValue(e.target.value);\n searchString = inputValue?.toLowerCase();\n if (e.target.value != '') {\n setGetDisable(false);\n } else {\n setGetDisable(true);\n }\n }}\n onKeyDown={handleKeyDown}\n onFocus={() => {\n if (!inputValue && !filteredGlossary) {\n fetchDataGlossary('Tutte le definizioni', 'AZ');\n }\n }}\n className=\"glossary-search mb-3\"\n placeholder=\"Cerca\"\n prefix={}\n name=\"lemma\"\n id=\"cerca\"\n />\n {\n if (!getDisable) {\n const stringa = document.getElementsByName('lemma')[0].value.toLowerCase();\n searchString = stringa === '' ? null : stringa;\n fetchDataGlossary(searchString);\n setDownloadLetter('AZ');\n }\n }}\n >\n Cerca\n \n {\n fetchDataGlossary('Tutte le definizioni', 'AZ');\n setInputValue(null);\n }}>\n Annulla\n \n \n \n
    \n \n\n
    \n {/* \n {\n DownloadGlossario();\n }}\n onKeyDown={(e)=> {\n if (e.key === \"Enter\"){\n DownloadGlossario();\n }\n }}>\n {}\n \n */}\n

    {t('glossario.title')}

    \n\n \n
    {t('glossario.subtitle')}
    \n {!loading && (\n

    \n {titleSearch}\n \n , {filteredGlossary?.length === 1 ? \n `trovata ${filteredGlossary.length} definizione` :\n `trovate ${filteredGlossary?.length ?? 0} definizioni`}\n \n

    \n )}\n
    0 ? 'none' : 'block' }}>\n Nessun risultato trovato.\n
    \n
    \n 8 ? 'scroll' : 'hidden'}}*/\n style={{ display:'contents' }}\n expandIcon={({ isActive }) =>\n !isActive ? (\n \n ) : (\n \n )\n }\n className=\"elements-container\">\n {filteredGlossary.map((obj, index) => (\n \n }\n key={obj.nome}>\n
    \n {obj.descrizione}\n \n
    \n Fonte:\n \n {' ' + obj.fonte}\n \n {obj.links?.length > 0 &&\n
    \n {obj.links.map((item, i) => (\n \n ))}\n
    \n }\n
    \n
    \n \n ))}\n \n
    \n \n \n \n );\n}\nexport default Glossary;\n","import { useEffect, useState, useRef } from 'react';\nimport { Row, Col, DatePicker, Checkbox, Divider } from 'antd';\nimport moment from 'moment';\nimport { useNavigate as useHistory, useLocation, useMatch as useRouteMatch } from 'react-router-dom';\nimport { WarningFilled, InfoCircleFilled, TableOutlined } from '@ant-design/icons';\nimport TerritoryService from 'services/territorio';\nimport Loading from 'components/loading';\nimport 'jspdf-autotable';\nimport ReportHead from 'components/reportHead';\nimport Form from 'react-bootstrap/Form';\nimport Card from 'react-bootstrap/Card';\nimport { faRectangleList } from '@fortawesome/free-regular-svg-icons';\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useDispatch } from 'react-redux';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../../redux/reducers/NewReportCompiler.reducer';\n\nfunction Head({ resetCounter, defaultSkip, queryString }) {\n const mainTitle = 'Variazioni unità territoriali';\n const idPagina = '2';\n const path = useLocation().pathname;\n const firstLoad = useRef(true);\n\n const dispatch = useDispatch();\n const {\n state = {\n loading: undefined,\n ambitiGeografici: undefined,\n unitaAmministrative: undefined,\n ambitoUA: undefined,\n checkedAmbitoGeografico: undefined,\n checkedUnitaAmministrativa: undefined,\n headerFunction: undefined,\n date: undefined,\n dateEnd: undefined,\n showZeroReports: undefined,\n showNextStep: undefined,\n stateApplied: undefined,\n showDateError: undefined,\n testoDiffusione: undefined,\n oldCounter: undefined\n }\n } = useLocation();\n\n const [loading, setLoading] = useState(state?.loading || false);\n const [ambitiGeografici, setAmbitiGeografici] = useState(state?.ambitiGeografici || []);\n const [unitaAmministrative, setUnitaAmministrative] = useState(state?.unitaAmministrative || []);\n const [ambitoUA, setAmbitoUA] = useState(state?.ambitoUA || null);\n const [checkedAmbitoGeografico, setCheckedAmbitoGeografico] = useState(state?.checkedAmbitoGeografico);\n const [checkedUnitaAmministrativa, setCheckedUnitaAmministrativa] = useState(state?.checkedUnitaAmministrativa);\n const [headerFunction, setHeaderFunction] = useState(state?.headerFunction || null);\n const [date, setDate] = useState(state?.date || null);\n const [dateEnd, setDateEnd] = useState(state?.dateEnd || null);\n const [showZeroReports, setShowZeroReports] = useState(state?.showZeroReports || false);\n const [showNextStep, setShowNextStep] = useState(state?.showNextStep || false);\n const [stateApplied, setStateApplied] = useState(state?.stateApplied || false);\n const [showDateError, setShowDateError] = useState(state?.showDateError || false);\n const [testoDiffusione, setTestoDiffusione] = useState(state?.testoDiffusione || null);\n const [oldCounter, setOldCounter] = useState(state?.oldCounter || 1);\n\n const history = useHistory();\n const location = useLocation();\n\n const snapshot = () => {\n return {\n loading,\n ambitiGeografici,\n unitaAmministrative,\n ambitoUA,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n headerFunction,\n date,\n dateEnd,\n showZeroReports,\n showNextStep,\n stateApplied,\n showDateError,\n testoDiffusione,\n oldCounter\n };\n };\n\n const fetchDescrizionePagina = async () => {\n let ret = await TerritoryService.descrizionePagina(idPagina);\n return ret;\n };\n\n const fetchAmbitiGeografici = async (dataStart, dataEnd) => {\n let ret = await TerritoryService.ambitiGeografici(idPagina, dataStart, dataEnd);\n return ret;\n };\n\n const fetchUnitaAmministrative = async (data, dataA, ambito) => {\n return await TerritoryService.unitaAmministrative(data, ambito, 'PERIODO', dataA);\n };\n\n const fetchAmbitoUA = async (data, unita, ambito, dataA) => {\n return await TerritoryService.ambitoUA(data, unita, ambito, 'PERIODO', dataA);\n };\n\n const isComingBack = () => {\n return firstLoad.current && location.state;\n };\n\n useEffect(() => {\n if (resetCounter !== oldCounter) {\n setCheckedAmbitoGeografico(false);\n setCheckedUnitaAmministrativa(false);\n setOldCounter(resetCounter);\n }\n }, [resetCounter])\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Variazioni delle unità territoriali - SITUAS';\n }, []);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (\n date &&\n ambitiGeografici &&\n checkedAmbitoGeografico &&\n unitaAmministrative &&\n checkedUnitaAmministrativa &&\n ambitoUA\n ) {\n setStateApplied(true);\n }\n }, [\n date,\n dateEnd,\n ambitiGeografici,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA\n ]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n const checkData = () => {\n const { state } = location;\n if (!state) {\n setLoading(true);\n\n fetchDescrizionePagina()\n .then(({ data }) => {\n setTestoDiffusione(data);\n })\n .catch(() => {\n setTestoDiffusione(null);\n });\n\n const dataStart = moment('17-03-1861', 'DD-MM-YYYY').format('DD-MM-YYYY');\n const dataEnd = moment().format('DD-MM-YYYY');\n setDate(dataStart);\n setDateEnd(dataEnd);\n\n if (!showDateError) {\n fetchAmbitiGeografici(dataStart, dataEnd)\n .then(({ data }) => {\n setAmbitiGeografici(data);\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n } else {\n setLoading(false);\n }\n setStateApplied(true);\n return () => setAmbitiGeografici([]);\n } else {\n const {\n date,\n dateEnd,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n unitaAmministrative,\n ambitoUA,\n ambitiGeografici,\n testoDiffusione\n } = state;\n setDate(date);\n setDateEnd(dateEnd);\n setAmbitiGeografici(ambitiGeografici);\n setTestoDiffusione(testoDiffusione);\n setCheckedAmbitoGeografico(checkedAmbitoGeografico);\n setUnitaAmministrative(unitaAmministrative);\n setCheckedUnitaAmministrativa(checkedUnitaAmministrativa);\n setAmbitoUA(ambitoUA);\n }\n };\n checkData();\n return () => checkData();\n }, []);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setCheckedUnitaAmministrativa();\n setCheckedAmbitoGeografico();\n setAmbitoUA();\n setUnitaAmministrative();\n }\n if (date && dateEnd) {\n dispatch(\n updateData({\n dataDaUp: moment(date, 'DD-MM-YYYY').format('YYYY-MM-DD'),\n dataAUp: moment(dateEnd, 'DD-MM-YYYY').format('YYYY-MM-DD')\n })\n );\n }\n }, [date, dateEnd]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setAmbitoUA([]);\n setCheckedUnitaAmministrativa();\n if (date && dateEnd && checkedAmbitoGeografico) {\n setLoading(true);\n fetchUnitaAmministrative(date, dateEnd, checkedAmbitoGeografico.key)\n .then(({ data }) => {\n if (data?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n setShowNextStep(true);\n }\n setUnitaAmministrative(data);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setUnitaAmministrative([]);\n setAmbitoUA();\n }\n }\n }, [checkedAmbitoGeografico]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n if (checkedUnitaAmministrativa && checkedAmbitoGeografico) {\n setShowNextStep(false);\n setLoading(true);\n fetchAmbitoUA(date, checkedUnitaAmministrativa.key, checkedAmbitoGeografico.key, dateEnd)\n .then(({ data }) => {\n if (data?.items?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n }\n setAmbitoUA(data.items);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setShowNextStep(true);\n setAmbitoUA();\n }\n }\n }, [checkedUnitaAmministrativa, ambitiGeografici, checkedAmbitoGeografico, unitaAmministrative]);\n\n // Leave as last call\n useEffect(() => {\n firstLoad.current = false;\n }, []);\n\n return (\n <>\n \n
    \n \n

    Variazioni delle unità territoriali

    \n {/* */}\n \n \n \n \n {loading && }\n
    \n

    Criteri di ricerca {showDateError && (*)}

    \n
    \n {showDateError && (\n <>\n
    \n

    Data inizio non può essere più recente di data fine.

    \n
    \n
    \n

    Date selezionate non compatibili con periodo di disponibilità.

    \n
    \n \n )}\n
    \n ,\n , Compilare il campo utilizzando il formato: giorno (2 caratteri), /, mese (2 caratteri), /, anno (4 caratteri). Valore attuale\n \n
    \n \n Data inizio periodo\n \n
    \n \n !d || d.isAfter(moment()) || d.isBefore(moment('17/03/1861', 'DD/MM/YYYY'))\n }\n onChange={(firstDate) => {\n const end = moment(dateEnd, 'DD-MM-YYYY');\n const start = moment(firstDate);\n const today = moment();\n const oldest = moment('17/03/1861', 'DD/MM/YYYY');\n if (start.diff(end) > 0 || oldest.diff(start) > 0 || today.diff(start) < 0) {\n setShowDateError(true);\n } else {\n const parsedDate = moment(firstDate);\n setShowDateError(false);\n setDate(parsedDate.format('DD-MM-YYYY'));\n dispatch(updateData({ dataDaUp: parsedDate.format('YYYY-MM-DD') }));\n }\n }}\n className=\"custom-date-picker\"\n size=\"large\"\n />\n
    \n \n Data fine periodo\n \n
    \n \n !d || d.isBefore(moment(date).format('DD/MM/YYYY')) || d.isAfter(moment())\n }\n onChange={(secDate) => {\n const dateEnd = moment(secDate);\n const dateStart = moment(date, 'DD-MM-YYYY');\n const today = moment();\n const oldest = moment('17/03/1861', 'DD/MM/YYYY');\n if (\n dateStart.diff(dateEnd) > 0 ||\n oldest.diff(dateEnd) > 0 ||\n today.diff(dateEnd) < 0\n ) {\n setShowDateError(true);\n } else {\n const parsedDate = moment(secDate);\n setShowDateError(false);\n setDateEnd(parsedDate.format('DD-MM-YYYY'));\n dispatch(updateData({ dataAUp: parsedDate.format('YYYY-MM-DD') }));\n }\n }}\n className=\"custom-date-picker\"\n size=\"large\"\n />\n
    \n {!checkedUnitaAmministrativa && checkedAmbitoGeografico && <>Selezione {checkedAmbitoGeografico.value} abilitata.}\n {checkedUnitaAmministrativa && <>Ricerca per {checkedAmbitoGeografico.value}, {checkedUnitaAmministrativa.value}.}\n
    \n

    \n , I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n
    \n {\n ambitiGeografici?.length > 0 && !showDateError && (\n
    \n Ambiti geografici\n {\n ambitiGeografici?.map((ambito, index) => (\n
    \n {\n return e.target.checked\n ? setCheckedAmbitoGeografico(ambito)\n : setCheckedAmbitoGeografico();\n }}\n />\n
    \n ))}\n
    \n )}\n
    \n
    \n {\n unitaAmministrative?.length > 0 && !showDateError && (\n
    \n {checkedAmbitoGeografico?.value}\n {\n unitaAmministrative?.map((ua, index) => (\n
    \n {\n return e.target.checked\n ? setCheckedUnitaAmministrativa(ua)\n : setCheckedUnitaAmministrativa();\n }}\n />\n
    \n ))}\n
    \n )}\n
    \n \n \n
    \n \n {checkedAmbitoGeografico &&\n showNextStep &&\n unitaAmministrative?.length > 0 &&\n ambitoUA?.length === 0 && (\n
    \n <>\n
    \n Si prega di selezionare 1 {checkedAmbitoGeografico.value}\n
    \n \n
    \n )}\n {!checkedUnitaAmministrativa && (\n <>\n
    \n { testoDiffusione?.descrizionePagina }\n
    \n
    \n \n { testoDiffusione?.unita?.map((unita, index) => {\n return (\n
    \n \n \n \n

    { unita.titolo }

    \n
    \n \n { unita.sottotitolo }\n \n \n
      \n { unita.elencoReport?.map((report, reportIndex) => {\n return (
    • { report }
    • )\n })}\n
    \n
    \n
    \n
    \n \n )\n })}\n \n \n
    \n { testoDiffusione?.noteFondoPagina }\n
    \n \n )}\n {checkedAmbitoGeografico && showZeroReports && !checkedUnitaAmministrativa && (\n
    \n <>\n \n
    \n La ricerca non ha prodotto risultati\n
    \n \n
    \n )}\n {showZeroReports && checkedUnitaAmministrativa && (\n
    \n <>\n \n
    \n La ricerca non ha prodotto risultati\n
    \n \n
    \n )}\n {!showDateError && (\n <>\n {checkedUnitaAmministrativa && (\n
    \n Risultati della ricerca:{' '}\n {ambitoUA ? ambitoUA.length : ''}\n , \n
    \n )}\n {ambitoUA?.map((ua) => {\n const periodo_dati = ua.periodo_dati\n ?.replace('31/12/9999', moment().format('DD/MM/YYYY'))\n .replace('Periodo dati:', '')\n .split('-');\n return (\n \n \n \n
    \n

    {ua.titolo_report}

    \n
    {ua.descrizione_report}
    \n
    \n \n \n setHeaderFunction(ua)}\n aria-label={`Apri pop up informazioni report ${ua.titolo_report}`}\n title=\"Apri pop up informazioni\">\n \n \n {\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n let dtFrom = moment(date, \"DD-MM-YYYY\").format(\"YYYY-MM-DD\");\n let dtTo = moment(dateEnd, \"DD-MM-YYYY\").format(\"YYYY-MM-DD\");\n history(`/variazioni/body?id=${ua.id_funzione}&dateFrom=${dtFrom}&dateTo=${dtTo}`, {\n replace: true,\n state: {\n dataDa: date,\n dataA: dateEnd,\n funzione: ua.id_funzione,\n title: ua.titolo_report,\n metadati: true,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA,\n ambitiGeografici,\n periodoDate: periodo_dati,\n mainTitle: mainTitle,\n percorsoBk: path,\n descrizione: ua.descrizione_report,\n metadati_val: ua,\n reportQueryString: `?id=${ua.id_funzione}&dateFrom=${dtFrom}&dateTo=${dtTo}`,\n\n caller_state: snapshot()\n }\n });\n }}>\n \n \n \n
    \n
    \n {ua.periodo_dati?.replace('31/12/9999', moment().format('DD/MM/YYYY'))}\n
    \n \n \n \n );\n })}\n \n )}\n \n \n \n \n );\n}\nexport default Head;\n","import { Routes as Switch, Route, useMatch as useRouteMatch } from 'react-router-dom';\nimport Head from './head';\nimport { Body } from 'components/reportBody';\nimport BodyCompiler from 'components/reportBody/newReportCompiler';\nfunction VariazioniTerritorio({ isMobile, resetCounter, defaultSkip, queryString }) {\n const path = '';\n return (\n
    \n \n\n }\n />\n\n }\n />\n\n } \n />\n \n \n
    \n );\n}\n\nexport default VariazioniTerritorio;\n","import { useEffect, useRef, useState } from 'react';\nimport { Row, Col, DatePicker, Checkbox, Divider } from 'antd';\nimport Form from 'react-bootstrap/Form';\nimport moment from 'moment';\nimport { useNavigate as useHistory, useLocation, useMatch as useRouteMatch } from 'react-router-dom';\nimport { WarningFilled } from '@ant-design/icons';\nimport TerritoryService from 'services/territorio';\nimport Loading from 'components/loading';\nimport ReportHead from 'components/reportHead';\nimport 'jspdf-autotable';\nimport Card from 'react-bootstrap/Card';\nimport { faRectangleList } from '@fortawesome/free-regular-svg-icons';\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useDispatch } from 'react-redux';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../../redux/reducers/NewReportCompiler.reducer';\n\nfunction Head({ resetCounter, defaultSkip, queryString }) {\n const dispatch = useDispatch();\n\n const {\n state = {\n loading: undefined,\n ambitiGeografici: undefined,\n unitaAmministrative: undefined,\n ambitoUA: undefined,\n checkedAmbitoGeografico: undefined,\n checkedUnitaAmministrativa: undefined,\n headerFunction: undefined,\n date: undefined,\n showZeroReports: undefined,\n showNextStep: undefined,\n stateApplied: undefined,\n showDateError: undefined,\n reportQueryString: undefined,\n testoDiffusione: undefined,\n oldCounter: undefined\n }\n } = useLocation();\n\n const mainTitle = 'Unità territoriali';\n const idPagina = '1';\n const path = useLocation().pathname;\n const firstLoad = useRef(true);\n \n const [loading, setLoading] = useState(state?.loading || false);\n const [ambitiGeografici, setAmbitiGeografici] = useState(state?.ambitiGeografici || []);\n const [unitaAmministrative, setUnitaAmministrative] = useState(state?.unitaAmministrative || []);\n const [ambitoUA, setAmbitoUA] = useState(state?.ambitoUA || null);\n const [checkedAmbitoGeografico, setCheckedAmbitoGeografico] = useState(state?.checkedAmbitoGeografico);\n const [checkedUnitaAmministrativa, setCheckedUnitaAmministrativa] = useState(state?.checkedUnitaAmministrativa);\n const [headerFunction, setHeaderFunction] = useState(state?.headerFunction || null);\n const [date, setDate] = useState(state?.date || moment(Date.now()).format('DD-MM-YYYY'));\n const [showZeroReports, setShowZeroReports] = useState(state?.showZeroReports || false);\n const [showNextStep, setShowNextStep] = useState(state?.showNextStep || false);\n const [stateApplied, setStateApplied] = useState(state?.stateApplied || false);\n const [showDateError, setShowDateError] = useState(state?.showDateError || false);\n const [reportQueryString, setReportQueryString] = useState(state?.reportQueryString || '');\n const [testoDiffusione, setTestoDiffusione] = useState(state?.testoDiffusione || null);\n const [oldCounter, setOldCounter] = useState(state?.oldCounter || 1);\n\n const history = useHistory();\n const location = useLocation();\n\n const snapshot = () => {\n return {\n loading,\n ambitiGeografici,\n unitaAmministrative,\n ambitoUA,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n headerFunction,\n date,\n showZeroReports,\n showNextStep,\n stateApplied,\n showDateError,\n reportQueryString,\n testoDiffusione,\n oldCounter\n };\n };\n\n const fetchDescrizionePagina = async () => {\n let ret = await TerritoryService.descrizionePagina(idPagina);\n return ret;\n };\n\n const fetchAmbitiGeografici = async (dataReport) => {\n let ret = await TerritoryService.ambitiGeografici(idPagina, null, dataReport);\n return ret;\n };\n\n const fetchUnitaAmministrative = async (data, ambito) => {\n return await TerritoryService.unitaAmministrative(data, ambito, 'DATA');\n };\n\n const fetchAmbitoUA = async (data, unita, ambito) => {\n return await TerritoryService.ambitoUA(data, unita, ambito, 'DATA');\n };\n\n const isComingBack = () => {\n return firstLoad.current && location.state;\n };\n\n useEffect(() => {\n if (isComingBack()) return;\n\n dispatch(updateData({ dataAUp: null }));\n const checkData = () => {\n const { state } = location;\n if (!state) {\n setLoading(true);\n\n fetchDescrizionePagina()\n .then(({ data }) => {\n setTestoDiffusione(data);\n })\n .catch(() => {\n setTestoDiffusione(null);\n });\n\n const dataReport = moment().format('DD-MM-YYYY');\n setDate(dataReport);\n\n if (!showDateError) {\n fetchAmbitiGeografici(dataReport)\n .then(({ data }) => {\n setAmbitiGeografici(data);\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n } else {\n setLoading(false);\n }\n setStateApplied(true);\n return () => setAmbitiGeografici([]);\n } else {\n const {\n date,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n unitaAmministrative,\n ambitoUA,\n ambitiGeografici,\n testoDiffusione\n } = state;\n setDate(date);\n setAmbitiGeografici(ambitiGeografici);\n setTestoDiffusione(testoDiffusione);\n setCheckedAmbitoGeografico(checkedAmbitoGeografico);\n setUnitaAmministrative(unitaAmministrative);\n setCheckedUnitaAmministrativa(checkedUnitaAmministrativa);\n setAmbitoUA(ambitoUA);\n }\n };\n checkData();\n return () => checkData();\n }, []);\n\n useEffect(() => {\n if (resetCounter !== oldCounter) {\n setCheckedAmbitoGeografico(false);\n setCheckedUnitaAmministrativa(false);\n setOldCounter(resetCounter);\n }\n }, [resetCounter])\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString(reportQueryString);\n document.title = 'Unità territoriali - SITUAS';\n }, []);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (\n date &&\n ambitiGeografici &&\n checkedAmbitoGeografico &&\n unitaAmministrative &&\n checkedUnitaAmministrativa &&\n ambitoUA\n ) {\n setStateApplied(true);\n }\n }, [\n date,\n ambitiGeografici,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA\n ]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setCheckedAmbitoGeografico();\n setUnitaAmministrative();\n setCheckedUnitaAmministrativa();\n setAmbitoUA();\n }\n if (date) {\n dispatch(updateData({ dataDaUp: moment(date, 'DD-MM-YYYY').format('YYYY-MM-DD') }));\n }\n }, [date]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setCheckedUnitaAmministrativa();\n if (date && checkedAmbitoGeografico) {\n setLoading(true);\n fetchUnitaAmministrative(date, checkedAmbitoGeografico.key)\n .then(({ data }) => {\n if (data?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n setShowNextStep(true);\n }\n setUnitaAmministrative(data);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setUnitaAmministrative([]);\n setAmbitoUA();\n }\n }\n }, [checkedAmbitoGeografico]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (checkedUnitaAmministrativa && checkedAmbitoGeografico && date) {\n setShowNextStep(false);\n setLoading(true);\n fetchAmbitoUA(\n date?.replaceAll('-', '/'),\n checkedUnitaAmministrativa?.key,\n checkedAmbitoGeografico.key\n )\n .then(({ data }) => {\n if (data.items?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n }\n setAmbitoUA(data.items);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setShowNextStep(true);\n setAmbitoUA();\n }\n }, [checkedUnitaAmministrativa]);\n\n // Leave as last call\n useEffect(() => {\n firstLoad.current = false;\n }, []);\n return (\n <>\n \n
    \n \n

    Unità territoriali

    \n {/* */}\n \n \n \n \n {loading && }\n

    Criteri di ricerca {showDateError && (*)}

    \n {showDateError && (\n
    \n

    Data selezionata non compatibile con periodo di disponibilità

    \n
    \n )}\n {resetCounter && (\n
    \n ,\n , Compilare il campo utilizzando il formato: giorno (2 caratteri), /, mese (2 caratteri), /, anno (4 caratteri). Valore attuale\n \n
    \n \n Report disponibili alla data\n \n
    \n \n !d ||\n d.isAfter(moment()) ||\n d.isBefore(moment('17/03/1861', 'DD/MM/YYYY'))\n }\n onChange={(date) => {\n const today = moment();\n const oldest = moment('17/03/1861', 'DD/MM/YYYY');\n const dt = moment(date);\n\n if (oldest.diff(dt) > 0 || today.diff(dt) < 0) {\n setShowDateError(true);\n } else {\n const parsedDate = moment(date);\n setShowDateError(false);\n setDate(parsedDate.format('DD-MM-YYYY'));\n dispatch(updateData({ dataDaUp: parsedDate.format('YYYY-MM-DD') }));\n }\n }}\n className=\"custom-date-picker\"\n size=\"large\"\n />\n
    \n {!checkedUnitaAmministrativa && checkedAmbitoGeografico && <>Selezione {checkedAmbitoGeografico.value} abilitata.}\n {checkedUnitaAmministrativa && <>Ricerca per {checkedAmbitoGeografico.value}, {checkedUnitaAmministrativa.value}.}\n
    \n

    \n , I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n
    \n {\n ambitiGeografici?.length > 0 && !showDateError && (\n
    \n Ambiti geografici\n {\n ambitiGeografici?.map((ambito, idx) => (\n
    \n {\n return e.target.checked\n ? setCheckedAmbitoGeografico(ambito)\n : setCheckedAmbitoGeografico();\n }}\n />\n
    \n ))}\n
    \n )}\n
    \n
    \n {\n unitaAmministrative?.length > 0 && !showDateError && (\n
    \n {checkedAmbitoGeografico?.value}\n {\n unitaAmministrative?.map((ua, idx) => (\n
    \n {\n return e.target.checked\n ? setCheckedUnitaAmministrativa(ua)\n : setCheckedUnitaAmministrativa();\n }}\n />\n
    \n ))}\n
    \n )}\n
    \n \n )}\n \n
    \n \n {checkedAmbitoGeografico &&\n showNextStep &&\n unitaAmministrative?.length > 0 &&\n ambitoUA?.length === 0 && (\n
    \n <>\n
    \n Si prega di selezionare 1 {checkedAmbitoGeografico.value}\n
    \n \n
    \n )}\n\n {/* {!checkedAmbitoGeografico ? (\n
    \n La funzione restituisce le liste delle unità territoriali disponibili e vigenti alla\n data di interesse selezionata, corredata da caratteristiche e classificazioni.\n
    \n ) : (\n hiddenError()\n )} */}\n {!checkedUnitaAmministrativa && (\n <>\n
    \n { testoDiffusione?.descrizionePagina }\n
    \n
    \n \n { testoDiffusione?.unita?.map((unita, index) => {\n return (\n
    \n \n \n \n

    { unita.titolo }

    \n
    \n \n { unita.sottotitolo }\n \n \n
      \n { unita.elencoReport?.map((report, reportIndex) => {\n return (
    • { report }
    • )\n })}\n
    \n
    \n
    \n
    \n \n )\n })}\n \n \n
    \n { testoDiffusione?.noteFondoPagina }\n
    \n \n )}\n {checkedUnitaAmministrativa && showZeroReports && (\n
    \n <>\n \n
    Nessun report presente
    \n \n
    \n )}\n {!showDateError && (\n <>\n {checkedUnitaAmministrativa && (\n
    \n Risultati della ricerca:{' '}\n {ambitoUA ? ambitoUA.length : ''}\n , \n
    \n )}\n {ambitoUA?.map((ua) => {\n const periodo_dati = ua.periodo_dati\n ?.replace('31/12/9999', moment().format('DD/MM/YYYY'))\n .replace('Periodo dati:', '')\n .split('-');\n\n return (\n \n \n \n
    \n

    {ua.titolo_report}

    \n
    {ua.descrizione_report}
    \n
    \n \n \n {\n setHeaderFunction(ua);\n }}>\n \n \n {\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n\n let dtFrom = moment(date, \"DD-MM-YYYY\").format(\"YYYY-MM-DD\");\n history(`/territorio/body?id=${ua.id_funzione}&dateFrom=${dtFrom}`, {\n replace: true,\n state: {\n dataDa: date,\n funzione: ua.id_funzione,\n title: ua.titolo_report,\n metadati: true,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA,\n ambitiGeografici,\n periodoDate: periodo_dati,\n mainTitle: mainTitle,\n percorsoBk: path,\n descrizione: ua.descrizione_report,\n metadati_val: ua,\n reportQueryString: `?id=${ua.id_funzione}&dateFrom=${dtFrom}`,\n\n caller_state: snapshot()\n }\n });\n }}>\n \n \n \n
    \n
    \n {ua.periodo_dati?.replace('31/12/9999', moment().format('DD/MM/YYYY'))}\n
    \n \n \n \n );\n })}\n \n )}\n \n \n \n \n );\n}\nexport default Head;\n","import { Routes as Switch, Route, useMatch as useRouteMatch } from 'react-router-dom';\nimport Head from './head';\nimport { Body } from 'components/reportBody';\nimport BodyCompiler from 'components/reportBody/newReportCompiler';\nfunction TerritorialUnits({ isMobile, resetCounter, defaultSkip, queryString }) {\n const path = '';\n return (\n
    \n \n\n }\n />\n\n } \n />\n\n }\n />\n \n \n
    \n );\n}\n\nexport default TerritorialUnits;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report/ReportByUrl';\n\nconst StoricoService = {\n comune: (Pattern, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_comuni_lov_diffusione?com=${Pattern}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n comuneCodice: (Codice, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_comuni_lov_diffusione?procom=${Codice}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n comuneRiepilogo: (Codice, Comune) => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n { url: `var_get_ua_comuni_lov_rs?procom=${Codice}&com=${Comune}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n provinceUtsCodice: (Codice, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_uts_lov_diffusione?coduts=${Codice}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n provinceUts: (Pattern, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_uts_lov_diffusione?uts=${Pattern}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n provinceUtsRiepilogo: (Codice, Uts, tipo) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_uts_lov_rs?&uts=${Uts}&coduts=${Codice}&uts_tipo=${tipo}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n regione: (Pattern, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_reg_lov_diffusione?reg=${Pattern}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n regioneCodice: (Codice, cancelToken) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_reg_lov_diffusione?codreg=${Codice}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`,\n cancelToken\n );\n },\n\n regioneRiepilogo: (Codice, Reg, tipoReg) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `var_get_ua_reg_lov_rs?&codreg=${Codice}®=${Reg}®_tipo=${tipoReg}` },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n dettVariazioni: (idProvv, tipoVar, idComOrigine) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_comuni_lov_rs_dett?idcomuneorig=${idComOrigine}&mcrvar=${tipoVar}&idprovv=${idProvv}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n datiAssVariazioni: (idProvv, tipoVar, idComOrigine) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_comuni_lov_rs_dett_ass?idcomuneorig=${idComOrigine}&mcrvar=${tipoVar}&idprovv=${idProvv}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n dettVariazioniUts: (tipoVar, idProvv, id_uts, tipoUts) => {\n const req = new BaseRequest();\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_uts_lov_rs_dett?&id_uts_origine=${id_uts}&idprovv=${idProvv}&uts_tipo=${tipoUts}&mcrvar=${tipoVar}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n datiAssVariazioniUts: (tipoVar, idProvv, id_uts, tipoUts) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_uts_lov_rs_dett_ass?&id_uts_origine=${id_uts}&idprovv=${idProvv}&uts_tipo=${tipoUts}&mcrvar=${tipoVar}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n dettVariazioniRegione: (tipoVar, tipoReg, idProvv, codiceReg) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_reg_lov_rs_dett?®_tipo=${tipoReg}&idprovv=${idProvv}&mcrvar=${tipoVar}&id_regione_origine=${codiceReg}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n datiAssVariazioniReg: (tipoVar, tipoReg, idProvv, codiceReg) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n {\n url: `var_get_ua_reg_lov_rs_dett_ass?®_tipo=${tipoReg}&idprovv=${idProvv}&mcrvar=${tipoVar}&id_regione_origine=${codiceReg}`\n },\n null,\n 'post',\n '/api/' + baseUrl,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n }\n};\n\nexport default StoricoService;\n","import BaseRequest from '../_baseRequest';\n\nconst baseUrl = 'Report/ReportByUrl';\n\nconst RicercaCodiceSvc = {\n getList: () => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: 'ricercacodice_criterio?haRuolo' },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getValueList: (tipoUnit) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `ricercacodice_criterio_lov?haRuolo&ptipounit=${tipoUnit}` },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n },\n\n getDetail: (tipoUnit, prc) => {\n const req = new BaseRequest();\n\n return req.makeRequest(\n {},\n { url: `ricercacodice_criterio_res?haRuolo&ptipounit=${tipoUnit}&prc=${prc}` },\n null,\n 'post',\n `/api/${baseUrl}`,\n null,\n null,\n null,\n false,\n false,\n `AZURE`\n );\n }\n};\nexport default RicercaCodiceSvc;\n","import { Row, Col, Divider, Table } from 'antd';\nimport { useEffect, createRef, useState } from 'react';\nimport { Typeahead, Menu, MenuItem } from 'react-bootstrap-typeahead';\nimport StoricoService from 'services/storico';\nimport Loading from 'components/loading';\nimport _ from 'lodash';\nimport pdfIcon from 'assets/img/formats/pdf.png';\nimport Form from 'react-bootstrap/Form';\nimport axios from 'axios';\nimport Utils from '../../utils';\nimport RicercaCodiceSvc from 'services/ricercaCodice';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronCircleDown } from '@fortawesome/free-solid-svg-icons';\nimport '../../css/_ricercaCodice.scss';\n\nfunction StoriaUA({ isMobile, resetCounter, defaultSkip, queryString }) {\n const typeaheadRef = createRef();\n\n const [loading, setLoading] = useState(false);\n const [list, setList] = useState([]);\n const [selected, setSelected] = useState(false);\n const [riepilogoColumns, setRiepilogoColumns] = useState([]);\n const [riepilogoRows, setRiepilogoRows] = useState([]);\n const [dettaglioColumns, setDettaglioColumns] = useState([]);\n const [dettaglioRows, setDettaglioRows] = useState([]);\n const [datiVariazioneColumns, setDatiVariazioneColumns] = useState([]);\n const [datiVariazioneRows, setDatiVariazioneRows] = useState([]);\n const [valueList, setValueList] = useState([]);\n const [filteredValueList, setFilteredValueList] = useState([]);\n const [checked, setChecked] = useState();\n const [selectedRow, setSelectedRow] = useState();\n const [title, setTitle] = useState();\n const [isBug, setIsBug] = useState(false);\n const [selectedValue, setSelectedValue] = useState();\n const [columns, setColumns] = useState([]);\n const [rows, setRows] = useState([]);\n const [isChecked, setIsChecked] = useState(false);\n const [descrizioneEvento, setDescrizioneEvento] = useState();\n const [statusEventoSR, setStatusEventoSR] = useState();\n const [oldCounter, setOldCounter] = useState(1);\n\n const uaType = {\n regione: 'regione',\n provincia: 'provincia',\n comune: 'comune'\n };\n\n useEffect(() => {\n if (resetCounter !== oldCounter) {\n setChecked(null);\n setSelectedRow('');\n setRiepilogoRows([]);\n setDettaglioRows([]);\n setDatiVariazioneRows([]);\n setDettaglioColumns([]);\n setRiepilogoColumns([]);\n setDatiVariazioneColumns([]);\n setSelected(false);\n setDescrizioneEvento();\n setStatusEventoSR();\n setTitle();\n typeaheadRef.current.clear();\n\n setOldCounter(resetCounter);\n }\n }, [resetCounter]);\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Storia unità territoriali - SITUAS';\n\n let mounted = false;\n const fetchList = async () => {\n try {\n const { data } = await RicercaCodiceSvc.getList();\n if (!mounted) {\n setList(data.items);\n setLoading(false);\n }\n } catch {\n setLoading(false);\n }\n };\n fetchList();\n return () => {\n mounted = true;\n };\n }, []);\n useEffect(() => {}, [isChecked, selected]);\n\n useEffect(() => {\n let mounted = false;\n if (!mounted) {\n setSelectedValue();\n }\n const fetchValueList = async () => {\n if (checked) {\n setLoading(true);\n let data;\n try {\n switch (checked.return_code) {\n case 3:\n ({ data } = await StoricoService.regione('', null));\n if (!mounted) {\n setValueList(\n data?.items.map((obj, i) => ({\n label: `${obj['cod_regione']} - ${obj['denominazione regione']} - ${obj['descrizione tipo regione']}`,\n value: i,\n codice: obj['cod_regione'],\n denominazione: obj['denominazione regione'],\n tipo: obj['tipo regione'],\n key: i\n }))\n );\n setFilteredValueList(\n data.items.map((obj, i) => ({\n label:`${obj['cod_regione']} - ${obj['denominazione regione']} - ${obj['descrizione tipo regione']}`,\n value: i,\n codice: obj['cod_regione'],\n denominazione: obj['denominazione regione'],\n tipo: obj['tipo regione'],\n key: i\n }))\n );\n setLoading(false);\n }\n break;\n case 2:\n ({ data } = await StoricoService.provinceUts('', null));\n if (!mounted) {\n setValueList(\n data?.items.map((obj, i) => ({\n label: `${obj['cod_uts']} - ${obj['denominazione_uts']} - ${obj['descrizione tipo uts']}`,\n value: i,\n denominazione: obj['denominazione_uts'],\n codice: obj['cod_uts'],\n tipo: obj['tipo uts'],\n key: i\n }))\n );\n setFilteredValueList(\n data.items.map((obj, i) => ({\n label: `${obj['cod_uts']} - ${obj['denominazione_uts']} - ${obj['descrizione tipo uts']}`,\n value: i,\n denominazione: obj['denominazione_uts'],\n codice: obj['cod_uts'],\n tipo: obj['tipo uts'],\n key: i\n }))\n );\n setLoading(false);\n }\n break;\n case 1:\n ({ data } = await StoricoService.comune('', null));\n if (!mounted) {\n setValueList(\n data?.items.map(({ comune: com, pro_com_t }, i) => ({\n label: `${pro_com_t} - ${com}`,\n value: i,\n denominazione: com,\n codice: pro_com_t,\n key: i\n }))\n );\n setFilteredValueList(\n data.items.map(({ comune: com, pro_com_t }, i) => ({\n label: `${pro_com_t} - ${com}`,\n value: i,\n denominazione: com,\n codice: pro_com_t,\n key: i\n }))\n );\n setLoading(false);\n }\n break;\n default:\n break;\n }\n } catch {\n setLoading(false);\n }\n }\n };\n fetchValueList();\n return () => {\n mounted = true;\n };\n }, [checked]);\n\n const search = (inputValue) => {\n setSelected(false);\n setSelectedValue({ label: inputValue });\n if (inputValue?.length > 0) {\n let filtered = valueList.filter((value) =>\n value.label.split('-')[1].toLowerCase().trim().startsWith(inputValue.toLowerCase())\n );\n\n if (!filtered.length) {\n filtered = valueList.filter((value) =>\n value.label.split('-')[0].toLowerCase().trim().startsWith(inputValue.toLowerCase())\n );\n }\n\n if (!filtered.length) {\n filtered = valueList.filter((value) =>\n value.label.toLowerCase().trim().startsWith(inputValue.toLowerCase())\n );\n }\n setFilteredValueList(filtered);\n } else {\n setFilteredValueList(valueList);\n }\n };\n\n const executeSearch = async () => {\n setDettaglioRows([]);\n setDettaglioColumns([]);\n setDatiVariazioneRows([]);\n setDatiVariazioneColumns([]);\n setSelectedRow();\n setDescrizioneEvento();\n setStatusEventoSR();\n if (selected) {\n switch (checked.return_code) {\n case 1:\n setLoading(true);\n\n const codiceComune = selectedValue.codice;\n let denominazioneComune = selectedValue.denominazione;\n\n setRiepilogoColumns([]);\n setRiepilogoRows([]);\n try {\n const { data } = await StoricoService.comuneRiepilogo(\n codiceComune,\n denominazioneComune\n );\n\n setTitle(denominazioneComune + ' - ' + codiceComune);\n const objectOrder = {\n variazione: null\n };\n const column = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(column, [\n 'identificativo provvedimento',\n 'codice comune corrente',\n 'denominazione corrente',\n 'descrizione evento',\n 'id_comune_origine',\n 'orderr',\n 'data_inizio_amministrativa',\n 'tipo variazione'\n ])\n ).map((key) => ({\n title: /*_.capitalize*/ Utils.customCapitalize(key),\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n const formattedRows = data.items.map((row, i) => {\n let rowObject = {\n key: row['id_comune_origine'] + '§' + row['identificativo provvedimento'] + '§' + i,\n id: i\n };\n Object.keys(\n _.omit(row, [\n 'identificativo provvedimento',\n 'codice comune corrente',\n 'denominazione corrente',\n 'id_comune_origine'\n ])\n ).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value], uaType: uaType.comune };\n });\n return rowObject;\n });\n setRiepilogoColumns(formattedColumns);\n setRiepilogoRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n break;\n\n case 2:\n setLoading(true);\n const codiceProvincia = selectedValue.codice;\n let denominazioneProvincia = selectedValue.denominazione;\n const tipoProvincia = selectedValue.tipo;\n\n setRiepilogoColumns([]);\n setRiepilogoRows([]);\n try {\n const { data } = await StoricoService.provinceUtsRiepilogo(\n codiceProvincia,\n denominazioneProvincia,\n tipoProvincia\n );\n setTitle(denominazioneProvincia + ' - ' + codiceProvincia);\n const objectOrder = {\n variazione: null\n };\n const column = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(column, [\n 'identificativo provvedimento',\n 'descrizione evento',\n 'codice uts corrente',\n 'denominazione corrente',\n 'id_uts',\n 'tipo uts',\n 'tipo variazione',\n 'id_uts_origine'\n ])\n ).map((key) => ({\n title: /*_.capitalize*/ Utils.customCapitalize(key),\n onCell: () => ({\n style: { textAlign: 'left' }\n }),\n dataIndex: key,\n key: key\n }));\n const formattedRows = data.items.map((row, i) => {\n let rowObject = {\n key:\n row['identificativo provvedimento'] +\n '§' +\n row['tipo uts'] +\n '§' +\n row['id_uts'] +\n '§' +\n row['tipo variazione'],\n id: i\n };\n Object.keys(_.omit(row, 'identificativo provvedimento')).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value], uaType: uaType.provincia };\n });\n return rowObject;\n });\n setRiepilogoColumns(formattedColumns);\n setRiepilogoRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n break;\n\n case 3:\n setLoading(true);\n\n const codiceReg = selectedValue.codice;\n let denominazioneReg = selectedValue.denominazione;\n const tipoRegione = selectedValue.tipo;\n\n const lastIndex = denominazioneReg.lastIndexOf('-');\n if (denominazioneReg.split('-').length > 1) {\n if (\n lastIndex !== -1 &&\n !denominazioneReg[lastIndex - 1].toLowerCase().match(/[a-z]/i)\n ) {\n denominazioneReg = (\n denominazioneReg.substring(0, lastIndex) +\n '' +\n denominazioneReg.substring(lastIndex + 1)\n ).trim();\n }\n } else {\n if (!denominazioneReg[lastIndex - 1]?.toLowerCase()?.match(/[a-z]/i)) {\n denominazioneReg = denominazioneReg.replace('-', '').trim();\n }\n }\n\n setRiepilogoColumns([]);\n setRiepilogoRows([]);\n try {\n const { data } = await StoricoService.regioneRiepilogo(\n codiceReg,\n denominazioneReg,\n tipoRegione\n );\n setTitle(denominazioneReg + ' - ' + codiceReg);\n const objectOrder = {\n variazione: null\n };\n const columns = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(columns, [\n 'identificativo provvedimento',\n 'descrizione evento',\n 'codice uts corrente',\n 'denominazione corrente',\n 'id_regione',\n 'tipo reg',\n 'tipo variazione',\n 'id_regione_origine'\n ])\n ).map((key) => ({\n title: /*_.capitalize*/ Utils.customCapitalize(key),\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n const formattedRows = data.items.map((row, i) => {\n let rowObject = {\n key:\n row['identificativo provvedimento'] +\n '*' +\n row['data decorrenza'] +\n row['tipo variazione'],\n id: i\n };\n Object.keys(_.omit(row, 'identificativo provvedimento')).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value], uaType: uaType.regione };\n });\n return rowObject;\n });\n setRiepilogoColumns(formattedColumns);\n setRiepilogoRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n break;\n default:\n break;\n }\n }\n };\n\n const handleRowClick = async (e) => {\n setLoading(true);\n setDescrizioneEvento(e['descrizione evento']);\n setStatusEventoSR();\n if (e.uaType === uaType.comune) {\n try {\n const { data } = await StoricoService.dettVariazioni(\n e['key'].split('§')[1],\n e['tipo variazione'],\n e['key'].split('§')[0]\n );\n\n const objectOrder = {\n variazione: null\n };\n const columns = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(columns, ['identificativo_provvedimento', 'tipo variazione'])\n ).map((key) => ({\n title: key !== 'url_pdf' ? /*_.capitalize*/ Utils.customCapitalize(key) : 'PDF',\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.values(_.omit(row, 'identificativo_provvedimento')).forEach((value, i) => {\n const isPdf =\n Object.keys(_.omit(data.items[0], 'identificativo_provvedimento'))[i] === 'url_pdf';\n rowObject = {\n ...rowObject,\n [Object.keys(_.omit(data.items[0], 'identificativo_provvedimento'))[i]]: isPdf ? (\n row['url_pdf'] ? (\n \n \n \n ) : (\n '-'\n )\n ) : value?.length > 0 ? (\n value\n ) : (\n '-'\n )\n };\n });\n return rowObject;\n });\n setDettaglioColumns(formattedColumns);\n setDettaglioRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n\n try {\n const { data } = await StoricoService.datiAssVariazioni(\n e['key'].split('§')[1],\n e['tipo variazione'],\n e['key'].split('§')[0]\n );\n const columns = data.items[0];\n const formattedColumns = Object.keys(\n _.omit(columns, ['variazione', 'tipo variazione'])\n ).map((key) => ({\n title: /*_.capitalize*/ Utils.customCapitalize(key),\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.keys(_.omit(row, [''])).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value] };\n });\n return rowObject;\n });\n setDatiVariazioneColumns(formattedColumns);\n setDatiVariazioneRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n } else if (e.uaType === uaType.provincia) {\n try {\n const { data } = await StoricoService.dettVariazioniUts(\n e['tipo variazione'],\n e['key'].split('§')[0],\n //e['key'].split('§')[2],\n e['id_uts_origine'],\n e['key'].split('§')[1]\n );\n const objectOrder = {\n variazione: null\n };\n const column = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(column, [\n 'identificativo_provvedimento',\n 'dt_prv_var',\n 'tipo variazione',\n 'id_uts_origine'\n ])\n ).map((key) => ({\n title: key !== 'url_pdf' ? /*_.capitalize*/ Utils.customCapitalize(key) : 'PDF',\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.keys(_.omit(row, ['identificativo_provvedimento', 'dt_prv_var'])).forEach(\n (value) => {\n const isPdf = value === 'url_pdf';\n\n rowObject = {\n ...rowObject,\n [value]: isPdf ? (\n row['url_pdf'] ? (\n \n \n \n ) : (\n '-'\n )\n ) : row[value]?.length > 0 ? (\n row[value]\n ) : (\n '-'\n )\n };\n }\n );\n return rowObject;\n });\n setDettaglioColumns(formattedColumns);\n setDettaglioRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n\n try {\n const { data } = await StoricoService.datiAssVariazioniUts(\n e['tipo variazione'],\n e['key'].split('§')[0],\n //e['key'].split('§')[2],\n e['id_uts_origine'],\n e['key'].split('§')[1]\n );\n const column = data.items[0];\n const formattedColumns = Object.keys(\n _.omit(column, ['tipo variazione', 'descrizione variazione'])\n ).map((key) => ({\n title: /*_.capitalize*/ Utils.customCapitalize(key),\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.keys(row).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value] };\n });\n return rowObject;\n });\n setDatiVariazioneColumns(formattedColumns);\n setDatiVariazioneRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n } else if (e.uaType === uaType.regione) {\n // TODO!\n try {\n const { data } = await StoricoService.dettVariazioniRegione(\n e['tipo variazione'],\n e['tipo reg'],\n e['key'].split('*')[0],\n e['id_regione_origine']\n );\n const objectOrder = {\n variazione: null\n };\n const columns = Object.assign(objectOrder, data.items[0]);\n const formattedColumns = Object.keys(\n _.omit(columns, [\n 'identificativo_provvedimento',\n 'dt_prv_var',\n 'tipo variazione',\n 'id_regione_origine'\n ])\n ).map((key) => ({\n title: key !== 'url_pdf' ? /*_.capitalize*/ Utils.customCapitalize(key) : 'PDF',\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.keys(_.omit(row, ['identificativo_provvedimento', 'dt_prv_var'])).forEach(\n (value) => {\n const isPdf = value === 'url_pdf';\n rowObject = {\n ...rowObject,\n [value]: isPdf ? (\n row['url_pdf'] ? (\n \n \n \n ) : (\n '-'\n )\n ) : row[value]?.length > 0 ? (\n row[value]\n ) : (\n '-'\n )\n };\n }\n );\n return rowObject;\n });\n setDettaglioColumns(formattedColumns);\n setDettaglioRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n\n try {\n const { data } = await StoricoService.datiAssVariazioniReg(\n e['tipo variazione'],\n e['tipo reg'],\n e['key'].split('*')[0],\n e['id_regione_origine']\n );\n\n const objectOrder = {\n 'Codice Ripartizione': null,\n 'Codice Compartimento/Regione': null,\n Denominazione: null\n };\n const columns = Object.assign(objectOrder, data.items[0]);\n\n const formattedColumns = Object.keys(\n _.omit(columns, ['identificativo_provvedimento', 'dt_prv_var', 'descrizione variazione'])\n ).map((key) => ({\n title:\n key === 'CodCompRegAss'\n ? 'Codice Compartimento/Regione associato'\n : /*_.capitalize*/ Utils.customCapitalize(key),\n dataIndex: key,\n key: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n })\n }));\n\n const formattedRows = data.items.map((row) => {\n let rowObject = { key: JSON.stringify(row) };\n Object.keys(row).forEach((value) => {\n rowObject = {\n ...rowObject,\n [value]: row[value]\n };\n });\n return rowObject;\n });\n setDatiVariazioneColumns(formattedColumns);\n setDatiVariazioneRows(formattedRows);\n setLoading(false);\n } catch {\n setLoading(false);\n }\n } else {\n setSelectedRow('');\n setRiepilogoRows([]);\n setDettaglioRows([]);\n setDatiVariazioneRows([]);\n setDettaglioColumns([]);\n setRiepilogoColumns([]);\n setDatiVariazioneColumns([]);\n setSelected(false);\n setTitle();\n setLoading(false);\n }\n setStatusEventoSR('Descrizione Evento: ' + e['descrizione evento']);\n };\n\n useEffect(() => {\n // FIX ARIA-EXPANDED NON PRESENTE INIZIALMENTE\n var autocompletes = document.getElementsByClassName('ant-select-selection-search-input');\n\n for (var i = 0; i < autocompletes.length; i++) {\n var element = autocompletes[i];\n element.setAttribute('aria-expanded', 'false');\n element.setAttribute('aria-activedescendant', '');\n }\n });\n\n return (\n
    \n \n {loading && }\n
    \n \n
    \n
    \n Criteri di ricerca\n

    \n I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n\n {list?.map(({ return_code, label_tipologia }, idx) => {\n return (\n {\n if (e.target.checked) {\n setChecked({ return_code, label_tipologia });\n setSelectedValue();\n setSelected(false);\n setIsChecked(true);\n typeaheadRef.current?.clear();\n } else {\n setChecked();\n setIsChecked(false);\n setSelectedValue();\n setSelected(false);\n }\n }}>\n );\n })}\n
    \n
    \n
    \n

    \n {(!checked || !selected) ? 'Popolare i filtri di ricerca per abilitare il pulsante.' : ''}\n

    \n
    \n

    , selezionare un'unità territoriale per abilitare la casella di ricerca.

    \n 0) ? undefined : false}\n inputProps={{\n id:\"storiaua-ricerca\",\n \"aria-disabled\":(!checked || !valueList.length > 0),\n \"aria-describedby\":(checked && valueList.length > 0) ? '' : 'storiaua-ricerca-desc',\n className:(checked && valueList.length > 0) ? '' : 'criteri-ricerca-input-disabled',\n readOnly:(!checked || !valueList.length > 0)\n }}\n placeholder={(checked && valueList.length > 0) ? `Codice/Denominazione ${checked?.label_tipologia}` : ''}\n onKeyDown={(event) => {\n if (event.key === \"Enter\")\n event.preventDefault();\n }}\n onChange={(selection) => {\n if (selection && selection.length === 1) {\n const option = new Object(selection[0]);\n setSelectedValue(option);\n setSelected(true);\n }\n }}\n onBlur={(event) => {\n if(event?.target.value === ''){\n setSelected(false);\n }\n }}\n value={selectedValue?.label}\n options={filteredValueList}\n renderMenu={(results) => (\n \n {results.map((result, index) => (\n \n {result.paginationOption ?\n <>Carica più risultati\n :\n result.label\n }\n \n ))}\n \n )}\n paginationText=\"Carica più risultati\"\n\n />\n
    \n
    \n {\n executeSearch();\n }}>\n Cerca\n \n {\n setChecked(null);\n setSelectedRow('');\n setRiepilogoRows([]);\n setDettaglioRows([]);\n setDatiVariazioneRows([]);\n setDettaglioColumns([]);\n setRiepilogoColumns([]);\n setDatiVariazioneColumns([]);\n setSelected(false);\n setDescrizioneEvento();\n setStatusEventoSR();\n setTitle();\n typeaheadRef.current.clear();\n }}>\n Annulla\n \n\n {descrizioneEvento && (\n
    \n
    \n Descrizione evento:\n
    {descrizioneEvento}
    \n
    \n 90 ? 'read-more-enabled' : 'read-more-disabled'\n }`}>\n {\n document.querySelector('.descrizione').classList.toggle('expanded');\n document.querySelector('.read-more').textContent = document\n .querySelector('.descrizione')\n .classList.contains('expanded')\n ? 'Leggi di meno'\n : 'Leggi di più';\n }}>\n Leggi di più\n \n
    \n \n )}\n \n\n {title ? `Ricerca per ${checked?.label_tipologia} ${title}` : ''}\n {statusEventoSR} \n\n {isMobile && riepilogoRows.length > 0 && (\n <>\n {title &&
    {title}
    }\n
    Riepilogo variazioni
    \n record.id}\n onRow={(record) => {\n return {\n tabIndex: 0,\n \"aria-label\": `${record.id}`,\n onClick: () => handleRowClick(record),\n onKeyDown: (event) => {\n if (event.key === 'Enter') {\n handleRowClick(record);\n }\n }\n };\n }}\n />\n {dettaglioRows.length > 0 && (\n <>\n
    Dettaglio provvedimento
    \n \n \n )}\n {datiVariazioneRows.length > 0 && (\n <>\n
    Dettaglio variazione
    \n \n \n )}\n \n )}\n \n \n
    \n

    Storia unità territoriali

    \n \n {!riepilogoRows.length > 0 && (\n
    \n Dopo aver ricercato la denominazione/codice dell'unità di interesse il sistema\n restituisce il riepilogo delle variazioni.
    \n Selezionata una variazione sono mostrati estremi e dettagli del provvedimento e unità\n coinvolte.\n
    \n )}\n {riepilogoRows.length > 0 && (\n <>\n {title &&
    {title}
    }\n
    Riepilogo variazioni
    \n record.id}\n rowClassName={(_, index) => {\n return index === selectedRow\n ? 'storia-ua-rows selected storia-ua-rows'\n : 'storia-ua-rows storia-ua-rows';\n }}\n onRow={(record, index) => {\n return {\n tabIndex: 0,\n \"aria-label\": `Approfondisci ${record.variazione} in data ${record['data evento']}. `,\n onClick: () => {\n handleRowClick(record);\n setSelectedRow(index);\n },\n onKeyDown: (event) => {\n if (event.key === 'Enter') {\n handleRowClick(record);\n }\n }\n };\n }}\n />\n \n )}\n
    \n
    \n {riepilogoRows.length > 0 && dettaglioRows.length > 0 && (\n <>\n
    Dettaglio provvedimento
    \n \n \n )}\n
    \n
    \n {riepilogoRows.length > 0 && datiVariazioneRows.length > 0 && (\n <>\n
    Dettaglio variazione
    \n \n \n )}\n
    \n \n \n \n );\n}\nexport default StoriaUA;\n","/** @format */\n\nimport { createAction, createReducer } from '@reduxjs/toolkit';\n\nconst initialState = {\n categorie: { macroCategorie: null, microCategorie: null, tree: [] },\n cacheDownloadFiles: {}\n};\nexport const updateCategorie = createAction('updateCategorie');\nexport const updateCacheDownloadFiles = createAction('updateCacheDownloadFiles');\nexport const resetCacheDownloadFiles = createAction('resetCacheDownloadFiles');\n\nconst reducer = createReducer(initialState, (builder) => {\n builder\n .addCase(updateCategorie, (state, action) => {\n // action is inferred correctly here\n state.categorie = { ...state.categorie, ...action.payload };\n })\n .addCase(updateCacheDownloadFiles, (state, action) => {\n state.cacheDownloadFiles = { ...state.cacheDownloadFiles, ...action.payload };\n })\n .addCase(resetCacheDownloadFiles, (state, action) => {\n state.cacheDownloadFiles = {};\n });\n});\n\nexport default reducer;\n","import { useState, useEffect, createRef } from 'react';\nimport { Col, Row, Divider, Table } from 'antd';\nimport Form from 'react-bootstrap/Form';\nimport { Typeahead, Menu, MenuItem } from 'react-bootstrap-typeahead';\nimport RicercaCodiceSvc from 'services/ricercaCodice';\nimport Loading from 'components/loading';\nimport _ from 'lodash';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChevronCircleDown } from '@fortawesome/free-solid-svg-icons';\nimport '../../css/_ricercaCodice.scss';\n\nconst RicercaCodice = ({ isMobile, resetCounter, defaultSkip, queryString }) => {\n const typeaheadRef = createRef();\n\n const [loading, setLoading] = useState(true);\n const [list, setList] = useState([]);\n const [valueList, setValueList] = useState([]);\n const [filteredValueList, setFilteredValueList] = useState([]);\n const [checked, setChecked] = useState();\n const [selectedValue, setSelectedValue] = useState();\n const [selected, setSelected] = useState(false);\n const [columns, setColumns] = useState([]);\n const [rows, setRows] = useState([]);\n const [isChecked, setIsChecked] = useState(false);\n const [oldCounter, setOldCounter] = useState(1);\n\n useEffect(() => {\n if (resetCounter !== oldCounter) {\n setSelectedValue();\n setSelected(false);\n setChecked();\n setIsChecked(false);\n setColumns([]);\n setRows([]);\n typeaheadRef.current.clear();\n\n setOldCounter(resetCounter);\n }\n }, [resetCounter]);\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Ricerca codice Istat - SITUAS';\n let mounted = false;\n const fetchList = async () => {\n try {\n const { data } = await RicercaCodiceSvc.getList();\n if (!mounted) {\n setList(data.items);\n setLoading(false);\n }\n } catch {\n setLoading(false);\n }\n };\n fetchList();\n return () => {\n mounted = true;\n };\n }, []);\n useEffect(() => { }, [isChecked, selected]);\n\n useEffect(() => {\n let mounted = false;\n if (!mounted) {\n setSelectedValue();\n }\n const fetchValueList = async () => {\n if (checked) {\n setLoading(true);\n try {\n const { data } = await RicercaCodiceSvc.getValueList(checked.return_code);\n if (!mounted) {\n setValueList(data?.resultset);\n setFilteredValueList(\n data?.resultset.map(({ V, RC }) => ({ label: V, value: RC, key: V + RC }))\n );\n setLoading(false);\n }\n } catch {\n setLoading(false);\n }\n }\n };\n fetchValueList();\n return () => {\n mounted = true;\n };\n }, [checked]);\n\n const executeSearch = () => {\n const mounted = false;\n if (!mounted) {\n if (selected) {\n setLoading(true);\n }\n setColumns([]);\n setRows([]);\n }\n const getDetail = async () => {\n try {\n const { data } = await RicercaCodiceSvc.getDetail(checked.return_code, selectedValue.value);\n const formattedCols = Object.keys(data.resultset[0]).map((key) => ({\n //title: _.capitalize(key.replaceAll('_', ' ')),\n title: key,\n onCell: () => ({\n style: { textAlign: 'left' }\n }),\n dataIndex: key,\n key: key\n }));\n const formattedRows = data.resultset.map((row) => {\n const rowVal = Object.values(row);\n let rowObject = { key: rowVal[0] + rowVal[rowVal.length - 1] };\n Object.keys(row).forEach((value) => {\n rowObject = { ...rowObject, [value]: row[value] };\n });\n return rowObject;\n });\n if (!mounted) {\n setColumns(formattedCols);\n setRows(formattedRows);\n setLoading(false);\n }\n } catch {\n setLoading(false);\n }\n };\n if (selectedValue && selected) {\n getDetail();\n }\n }; /* , [selectedValue, selected, checked?.return_code] */\n\n const search = (inputValue) => {\n setSelected(false);\n setSelectedValue({ label: inputValue });\n if (inputValue?.length > 0) {\n let filtered = valueList\n .filter((value) =>\n value.V.split('-')[1].toLowerCase().trim().startsWith(inputValue.toLowerCase())\n )\n .map(({ V, RC }) => ({ label: V, value: RC, key: V + RC }));\n\n if (!filtered.length) {\n filtered = valueList\n .filter((value) =>\n value.V.split('-')[0].toLowerCase().trim().startsWith(inputValue.toLowerCase())\n )\n .map(({ V, RC }) => ({ label: V, value: RC, key: V + RC }));\n }\n\n if (!filtered.length) {\n filtered = valueList\n .filter((value) => value.V.toLowerCase().trim().startsWith(inputValue.toLowerCase()))\n .map(({ V, RC }) => ({ label: V, value: RC, key: V + RC }));\n }\n setFilteredValueList(filtered);\n } else {\n setFilteredValueList(valueList.map(({ V, RC }) => ({ label: V, value: RC, key: V + RC })));\n }\n };\n const searchCodice = (inputValue) => {\n setSelected(false);\n setSelectedValue({ label: inputValue });\n if (inputValue?.length > 0) {\n const filtered = valueList\n .filter((value) =>\n value.V.split('-')[0].toLowerCase().trim().startsWith(inputValue.toLowerCase())\n )\n .map(({ V, RC }) => {\n ({ label: V, value: RC, key: V + RC });\n });\n setFilteredValueList(filtered);\n } else {\n setFilteredValueList(valueList.map(({ V, RC }) => ({ label: V, value: RC, key: V + RC })));\n }\n };\n\n return (\n
    \n {loading && }\n \n
    \n \n
    \n
    \n Criteri di ricerca\n

    \n I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n\n {list.map(({ return_code, label_tipologia }, idx) => {\n return (\n {\n if (e.target.checked) {\n setChecked({ return_code, label_tipologia });\n setSelectedValue();\n setSelected(false);\n setIsChecked(true);\n } else {\n setChecked();\n setIsChecked(false);\n setSelectedValue();\n setSelected(false);\n }\n typeaheadRef.current?.clear();\n }}\n />\n );\n })}\n
    \n
    \n
    \n

    \n {(!checked || !selected) ? 'Popolare i filtri di ricerca per abilitare il pulsante.' : ''}\n

    \n
    \n

    , selezionare un'unità territoriale per abilitare la casella di ricerca.

    \n 0) ? undefined : false}\n inputProps={{\n id:\"codice-ricerca\",\n \"aria-disabled\":(!checked || !valueList.length > 0),\n \"aria-describedby\":(checked && valueList.length > 0) ? '' : 'codice-ricerca-desc',\n className:(checked && valueList.length > 0) ? '' : 'criteri-ricerca-input-disabled',\n readOnly:(!checked || !valueList.length > 0)\n }}\n placeholder={(checked && valueList.length > 0) ? `Codice/Denominazione ${checked?.label_tipologia}` : ''}\n onKeyDown={(event) => {\n if (event.key === \"Enter\")\n event.preventDefault();\n }}\n onChange={(selection) => {\n if (selection && selection.length === 1) {\n const option = new Object(selection[0]);\n setSelectedValue(option);\n setSelected(option.value !== '');\n }\n }}\n onBlur={(event) => {\n if(event?.target.value === ''){\n setSelected(false);\n }\n }}\n value={selectedValue?.label}\n options={filteredValueList}\n renderMenu={(results) => (\n \n {results.map((result, index) => (\n \n {result.paginationOption ?\n <>Carica più risultati\n :\n result.label\n }\n \n ))}\n \n )}\n paginationText=\"Carica più risultati\"\n />\n
    \n
    \n {\n executeSearch();\n }}\n >\n Cerca\n \n {\n setSelectedValue();\n setSelected(false);\n setChecked();\n setIsChecked(false);\n setColumns([]);\n setRows([]);\n typeaheadRef.current.clear();\n }}>\n Annulla\n \n \n \n \n

    Ricerca codice Istat

    \n \n {!columns.length > 0 && (\n \n Dopo aver selezionato l'unità e ricercato codice-denominazione di interesse, il sistema restituisce l'elenco dei codici e denominazioni dell'unità stessa con relativo periodo di validità.\n \n )}\n
    \n {!columns.length > 0 ? (\n \n ) : (\n <>\n {selectedValue ? `Ricerca per ${checked?.label_tipologia} ${selectedValue?.label}; ` : ''}\n \n \n )}\n
    \n \n \n \n );\n};\nexport default RicercaCodice;\n","import { useEffect, useRef, useState } from 'react';\nimport { Row, Col, DatePicker, Checkbox, Divider } from 'antd';\nimport moment from 'moment';\nimport { useNavigate as useHistory, useLocation, useMatch as useRouteMatch } from 'react-router-dom';\nimport { WarningFilled } from '@ant-design/icons';\nimport TerritoryService from 'services/territorio';\nimport Loading from 'components/loading';\nimport ReportHead from 'components/reportHead';\nimport Form from 'react-bootstrap/Form';\nimport Card from 'react-bootstrap/Card';\nimport { faRectangleList } from '@fortawesome/free-regular-svg-icons';\nimport { faCircleInfo } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useDispatch } from 'react-redux';\nimport {\n initialState as Is_newReportCompiler,\n updateFilters,\n updateData,\n updateTextFilters,\n updateTableData\n} from '../../redux/reducers/NewReportCompiler.reducer';\n\nfunction Head({ resetCounter, defaultSkip, queryString }) {\n const mainTitle = 'Ricostruzione codici statistici';\n const idPagina = '3';\n const path = useLocation().pathname;\n const firstLoad = useRef(true);\n\n const dispatch = useDispatch();\n const {\n state = {\n loading: undefined,\n ambitiGeografici: undefined,\n unitaAmministrative: undefined,\n ambitoUA: undefined,\n checkedAmbitoGeografico: undefined,\n checkedUnitaAmministrativa: undefined,\n headerFunction: undefined,\n date: undefined,\n dateEnd: undefined,\n showZeroReports: undefined,\n showNextStep: undefined,\n stateApplied: undefined,\n showDateError: undefined,\n testoDiffusione: undefined,\n oldCounter: undefined\n }\n } = useLocation();\n\n const [loading, setLoading] = useState(state?.loading || false);\n const [ambitiGeografici, setAmbitiGeografici] = useState(state?.ambitiGeografici || []);\n const [unitaAmministrative, setUnitaAmministrative] = useState(state?.unitaAmministrative || []);\n const [ambitoUA, setAmbitoUA] = useState(state?.ambitoUA || null);\n const [checkedAmbitoGeografico, setCheckedAmbitoGeografico] = useState(state?.checkedAmbitoGeografico);\n const [checkedUnitaAmministrativa, setCheckedUnitaAmministrativa] = useState(state?.checkedUnitaAmministrativa);\n const [headerFunction, setHeaderFunction] = useState(state?.headerFunction || null);\n const [date, setDate] = useState(state?.date || null);\n const [dateEnd, setDateEnd] = useState(state?.dateEnd || null);\n const [showZeroReports, setShowZeroReports] = useState(state?.showZeroReports || false);\n const [showNextStep, setShowNextStep] = useState(state?.showNextStep || false);\n const [stateApplied, setStateApplied] = useState(state?.stateApplied || false);\n const [showDateError, setShowDateError] = useState(state?.showDateError || false);\n const [testoDiffusione, setTestoDiffusione] = useState(state?.testoDiffusione || null);\n const [oldCounter, setOldCounter] = useState(state?.oldCounter || 1);\n\n const history = useHistory();\n const location = useLocation();\n\n const snapshot = () => {\n return {\n loading,\n ambitiGeografici,\n unitaAmministrative,\n ambitoUA,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n headerFunction,\n date,\n dateEnd,\n showZeroReports,\n showNextStep,\n stateApplied,\n showDateError,\n testoDiffusione,\n oldCounter\n };\n };\n\n const fetchDescrizionePagina = async () => {\n let ret = await TerritoryService.descrizionePagina(idPagina);\n return ret;\n };\n\n const fetchAmbitiGeografici = async (dataStart, dataEnd) => {\n let ret = await TerritoryService.ambitiGeografici(idPagina, dataStart, dataEnd);\n return ret;\n };\n\n const fetchUnitaAmministrative = async (data, dataA, ambito) => {\n return await TerritoryService.unitaAmministrative(data, ambito, 'ATTUALIZZAZIONE', dataA);\n };\n\n const fetchAmbitoUA = async (data, unita, ambito, dataA) => {\n return await TerritoryService.ambitoUA(data, unita, ambito, 'ATTUALIZZAZIONE', dataA);\n };\n\n const isComingBack = () => {\n return firstLoad.current && location.state;\n };\n\n useEffect(() => {\n if (resetCounter !== oldCounter) {\n setCheckedAmbitoGeografico(false);\n setCheckedUnitaAmministrativa(false);\n setOldCounter(resetCounter);\n }\n }, [resetCounter]);\n\n useEffect(() => {\n if (defaultSkip) defaultSkip(true);\n if (queryString) queryString('');\n document.title = 'Ricostruzione dei codici statistici - SITUAS';\n }, []);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (\n date &&\n ambitiGeografici &&\n checkedAmbitoGeografico &&\n unitaAmministrative &&\n checkedUnitaAmministrativa &&\n ambitoUA\n ) {\n setStateApplied(true);\n }\n }, [\n date,\n dateEnd,\n ambitiGeografici,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA\n ]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n const checkData = () => {\n const { state } = location;\n if (!state) {\n setLoading(true);\n\n fetchDescrizionePagina()\n .then(({ data }) => {\n setTestoDiffusione(data);\n })\n .catch(() => {\n setTestoDiffusione(null);\n });\n\n const dataStart = moment('01-01-1991', 'DD-MM-YYYY').format('DD-MM-YYYY');\n const dataEnd = moment().format('DD-MM-YYYY');\n setDate(dataStart);\n setDateEnd(dataEnd);\n \n if (!showDateError) {\n fetchAmbitiGeografici(dataStart, dataEnd)\n .then(({ data }) => {\n setAmbitiGeografici(data);\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n } else {\n setLoading(false);\n }\n setStateApplied(true);\n return () => setAmbitiGeografici([]);\n } else {\n const {\n date,\n dateEnd,\n checkedAmbitoGeografico,\n checkedUnitaAmministrativa,\n unitaAmministrative,\n ambitoUA,\n ambitiGeografici,\n testoDiffusione\n } = state;\n setDate(date);\n setDateEnd(dateEnd);\n setAmbitiGeografici(ambitiGeografici);\n setTestoDiffusione(testoDiffusione);\n setCheckedAmbitoGeografico(checkedAmbitoGeografico);\n setUnitaAmministrative(unitaAmministrative);\n setCheckedUnitaAmministrativa(checkedUnitaAmministrativa);\n setAmbitoUA(ambitoUA);\n }\n };\n checkData();\n return () => checkData();\n }, []);\n \n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setCheckedUnitaAmministrativa();\n setCheckedAmbitoGeografico();\n setAmbitoUA();\n setUnitaAmministrative();\n }\n if (date && dateEnd) {\n dispatch(\n updateData({\n dataDaUp: moment(date, 'DD-MM-YYYY').format('YYYY-MM-DD'),\n dataAUp: moment(dateEnd, 'DD-MM-YYYY').format('YYYY-MM-DD')\n })\n );\n }\n }, [date, dateEnd]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n setAmbitoUA([]);\n setCheckedUnitaAmministrativa();\n if (date && dateEnd && checkedAmbitoGeografico) {\n setLoading(true);\n fetchUnitaAmministrative(date, dateEnd, checkedAmbitoGeografico.key)\n .then(({ data }) => {\n if (data?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n setShowNextStep(true);\n }\n setUnitaAmministrative(data);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setUnitaAmministrative([]);\n setAmbitoUA();\n }\n }\n }, [checkedAmbitoGeografico]);\n\n useEffect(() => {\n if (isComingBack()) return;\n\n if (stateApplied) {\n if (checkedUnitaAmministrativa && checkedAmbitoGeografico) {\n setShowNextStep(false);\n setLoading(true);\n fetchAmbitoUA(date, checkedUnitaAmministrativa.key, checkedAmbitoGeografico.key, dateEnd)\n .then(({ data }) => {\n if (data?.items?.length === 0) {\n setShowZeroReports(true);\n } else {\n setShowZeroReports(false);\n }\n setAmbitoUA(data.items);\n setLoading(false);\n })\n .catch(() => setLoading(false));\n } else {\n setShowNextStep(true);\n setAmbitoUA();\n }\n }\n }, [checkedUnitaAmministrativa, ambitiGeografici, checkedAmbitoGeografico, unitaAmministrative]);\n\n // Leave as last call\n useEffect(() => {\n firstLoad.current = false;\n }, []);\n return (\n <>\n \n
    \n \n

    Ricostruzione dei codici statistici {showDateError && (*)}

    \n \n \n \n \n {loading && }\n

    Criteri di ricerca

    \n {showDateError && (\n <>\n
    \n

    Data inizio non può essere più recente di data fine.

    \n
    \n
    \n

    Date selezionate non compatibili con periodo di disponibilità.

    \n
    \n \n )}\n
    \n ,\n , Compilare il campo utilizzando il formato: giorno (2 caratteri), /, mese (2 caratteri), /, anno (4 caratteri). Valore attuale\n \n
    \n \n Data inizio periodo\n \n
    \n \n !d || d.isAfter(moment()) || d.isBefore(moment('17/03/1861', 'DD/MM/YYYY'))\n }\n onChange={(firstDate) => {\n const end = moment(dateEnd, 'DD-MM-YYYY');\n const start = moment(firstDate);\n\n const today = moment();\n const oldest = moment('17/03/1861', 'DD/MM/YYYY');\n if (start.diff(end) > 0 || oldest.diff(start) > 0 || today.diff(start) < 0) {\n setShowDateError(true);\n } else {\n const parsedDate = moment(firstDate);\n setShowDateError(false);\n setDate(parsedDate.format('DD-MM-YYYY'));\n dispatch(updateData({ dataDaUp: parsedDate.format('YYYY-MM-DD') }));\n }\n }}\n className=\"custom-date-picker\"\n size=\"large\"\n />\n
    \n \n Data fine periodo\n \n
    \n \n !d || d.isBefore(moment(date).format('DD/MM/YYYY')) || d.isAfter(moment())\n }\n onChange={(secDate) => {\n const dateEnd = moment(secDate);\n const dateStart = moment(date, 'DD-MM-YYYY');\n\n const today = moment();\n const oldest = moment('17/03/1861', 'DD/MM/YYYY');\n if (\n dateStart.diff(dateEnd) > 0 ||\n oldest.diff(dateEnd) > 0 ||\n today.diff(dateEnd) < 0\n ) {\n setShowDateError(true);\n } else {\n const parsedDate = moment(secDate);\n setShowDateError(false);\n setDateEnd(parsedDate.format('DD-MM-YYYY'));\n dispatch(updateData({ dataAUp: parsedDate.format('YYYY-MM-DD') }));\n }\n }}\n className=\"custom-date-picker\"\n size=\"large\"\n />\n
    \n {!checkedUnitaAmministrativa && checkedAmbitoGeografico && <>Selezione {checkedAmbitoGeografico.value} abilitata.}\n {checkedUnitaAmministrativa && <>Ricerca per {checkedAmbitoGeografico.value}, {checkedUnitaAmministrativa.value}.}\n
    \n

    \n , I risultati vengono mostrati simultaneamente all'impostazione dei filtri\n

    \n
    \n {\n ambitiGeografici?.length > 0 && !showDateError && (\n
    \n Ambiti geografici\n {\n ambitiGeografici?.map((ambito, idx) => (\n
    \n {\n return e.target.checked\n ? setCheckedAmbitoGeografico(ambito)\n : setCheckedAmbitoGeografico();\n }}\n />\n
    \n ))}\n
    \n )}\n
    \n
    \n {\n unitaAmministrative?.length > 0 && !showDateError && (\n
    \n {checkedAmbitoGeografico?.value}\n {\n unitaAmministrative?.map((ua, idx) => (\n
    \n {\n return e.target.checked\n ? setCheckedUnitaAmministrativa(ua)\n : setCheckedUnitaAmministrativa();\n }}\n />\n
    \n ))}\n
    \n )}\n
    \n \n \n
    \n \n {checkedAmbitoGeografico &&\n showNextStep &&\n unitaAmministrative?.length > 0 &&\n ambitoUA?.length === 0 && (\n
    \n <>\n
    \n Si prega di selezionare 1 {checkedAmbitoGeografico.value}\n
    \n \n
    \n )}\n {!checkedUnitaAmministrativa && (\n <>\n
    \n { testoDiffusione?.descrizionePagina }\n
    \n
    \n \n { testoDiffusione?.unita?.map((unita, index) => {\n return (\n
    \n \n \n \n

    { unita.titolo }

    \n
    \n \n { unita.sottotitolo }\n \n \n
      \n { unita.elencoReport?.map((report, reportIndex) => {\n return (
    • { report }
    • )\n })}\n
    \n
    \n
    \n
    \n \n )\n })}\n \n \n
    \n { testoDiffusione?.noteFondoPagina }\n
    \n \n )}\n {/* {checkedAmbitoGeografico && showZeroReports && (\n
    \n <>\n \n
    Nessun report presente
    \n \n
    \n )} */}\n\n {!showDateError && (\n <>\n {checkedUnitaAmministrativa && (\n
    \n Risultati della ricerca:{' '}\n {ambitoUA ? ambitoUA.length : ''}\n , \n
    \n )}\n {ambitoUA?.map((ua) => {\n const periodo_dati = ua.periodo_dati\n ?.replace('31/12/9999', moment().format('DD/MM/YYYY'))\n .replace('Periodo dati:', '')\n .split('-');\n return (\n
    \n \n \n
    \n

    {ua.titolo_report}

    \n
    {ua.descrizione_report}
    \n
    \n \n \n setHeaderFunction(ua)}\n aria-label={`Apri pop up informazioni report ${ua.titolo_report}`}\n title=\"Apri pop up informazioni\">\n \n \n {\n dispatch(updateTableData(Is_newReportCompiler.tableData));\n dispatch(updateTextFilters(Is_newReportCompiler.textFilters));\n dispatch(updateFilters(Is_newReportCompiler.filters));\n\n let dtFrom = moment(date, \"DD-MM-YYYY\").format(\"YYYY-MM-DD\");\n let dtTo = moment(dateEnd, \"DD-MM-YYYY\").format(\"YYYY-MM-DD\");\n history(`/ricostruzione-codici/body?id=${ua.id_funzione}&dateFrom=${dtFrom}&dateTo=${dtTo}`, {\n replace: true,\n state: {\n dataDa: date,\n dataA: dateEnd,\n funzione: ua.id_funzione,\n title: ua.titolo_report,\n metadati: true,\n checkedAmbitoGeografico,\n unitaAmministrative,\n checkedUnitaAmministrativa,\n ambitoUA,\n ambitiGeografici,\n periodoDate: periodo_dati,\n mainTitle: mainTitle,\n percorsoBk: path,\n descrizione: ua.descrizione_report,\n metadati_val: ua,\n reportQueryString: `?id=${ua.id_funzione}&dateFrom=${dtFrom}&dateTo=${dtTo}`,\n\n caller_state: snapshot()\n }\n });\n }}>\n \n \n \n
    \n
    \n {ua.periodo_dati?.replace('31/12/9999', moment().format('DD/MM/YYYY'))}\n
    \n \n \n \n );\n })}\n \n )}\n \n \n \n \n );\n}\nexport default Head;\n","import { Routes as Switch, Route, useMatch as useRouteMatch } from 'react-router-dom';\nimport Head from './head';\nimport { Body } from 'components/reportBody';\nimport BodyCompiler from 'components/reportBody/newReportCompiler';\nfunction RicostruzioneCodici({ isMobile, resetCounter, defaultSkip, queryString }) {\n const path = '';\n return (\n
    \n \n\n }\n />\n\n }\n />\n\n }\n />\n \n \n
    \n );\n}\n\nexport default RicostruzioneCodici;\n","import React from 'react';\nimport './TabSkip.scss';\nimport { HashLink as Link } from 'react-router-hash-link';\n\nconst TabSkip = ({ props }) => {\n const queryString = props?.queryString ? props.queryString : '';\n return (\n
    \n
      \n
    • \n \n Vai al contenuto della pagina\n \n
    • \n {props && !props.defaultSkip && (\n <>\n
    • \n \n Vai alla sezione Approfondimenti \n \n
    • \n
    • \n \n Vai alla sezione Aggiornamenti\n \n
    • \n \n )}\n
    • \n \n Vai al footer della pagina\n \n
    • \n
    \n
    \n );\n};\n\nexport default TabSkip;\n","import './App.scss';\nimport 'bootstrap/dist/css/bootstrap.min.css';\nimport 'react-bootstrap-typeahead/css/Typeahead.css';\nimport Header from './layout/Header';\nimport NavBarNew from './layout/Nav';\nimport Footer from './layout/Footer';\nimport { useState } from 'react';\nimport { Route, Routes as Switch, Navigate as Redirect } from 'react-router-dom';\nimport HomeIndex from './views/home';\nimport Glossary from './views/glossary';\nimport VariazioniTerritorio from './views/variazioniTerritorio/index';\nimport TerritorialUnits from './views/territorialUnits';\nimport StoriaUA from 'views/storiaUA';\nimport { NewDownloadPage } from 'components/NewDownloadPage';\nimport RicercaCodice from 'views/ricercaCodice';\nimport RicostruzioneCodici from 'views/ricostruzioneCodici';\nimport { useDispatch, useSelector } from 'react-redux';\nimport IsMobile from 'components/IsMobile/IsMobile';\nimport TabSkip from 'services/TabSkip/TabSkip';\n\nconst App = () => {\n const dispatch = useDispatch();\n const [isMobile, setIsMobile] = useState(false);\n const [defaultSkip, setDefaultSkip] = useState(true);\n const [queryString, setQueryString] = useState('');\n const [resetCounter, setResetCounter] = useState(1);\n\n return (\n <>\n \n \n
    \n setResetCounter(value)} />\n
    \n \n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)}\n />}\n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)} \n />} \n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)} \n />} \n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)} \n />} \n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)}\n />} \n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)}\n />}\n />\n\n setDefaultSkip(value)}\n queryString={(value) => setQueryString(value)}\n />} exact \n />\n\n {/* FASE 3 - PAGINA DOWNLOAD OSCURATA\n setDefaultSkip(false)}\n queryString={(value) => setQueryString(value)}\n />}\n />\n */}\n \n } />\n \n \n
    \n
    \n
    \n
    \n \n );\n};\n\nexport default App;\n","/** @format */\n\nimport { createAction, createReducer } from '@reduxjs/toolkit';\n\nconst initialState = {\n impostazioni: {},\n session: null,\n user: {\n username: 'UtenteTest',\n role: 'administrator',\n idNumber: '1HF73'\n },\n history: []\n};\nexport const addToHistory = createAction('addToHistory');\nexport const updateImpostazioni = createAction('updateImpostazioni');\n\nconst reducer = createReducer(initialState, (builder) => {\n builder\n .addCase(addToHistory, (state, action) => {\n // action is inferred correctly here\n state.history = [...state.history, action.payload];\n })\n .addCase(updateImpostazioni, (state, action) => {\n state.impostazioni = { ...state.impostazioni, ...action.payload };\n });\n});\n\nexport default reducer;\n","/** @format */\n\nimport { createAction, createReducer } from '@reduxjs/toolkit';\n\nconst initialState = {\n aggiornamentiData: { additionalInfo: {}, body: {}, info: {} }\n};\nexport const updateAggData = createAction('updateAggData');\n\nconst reducer = createReducer(initialState, (builder) => {\n builder.addCase(updateAggData, (state, action) => {\n state.aggiornamentiData = { ...state.aggiornamentiData, ...action.payload };\n });\n});\n\nexport default reducer;\n","/** @format */\n\nimport { configureStore } from '@reduxjs/toolkit';\nimport logger from 'redux-logger';\n/* REDUCERS */\nimport SessionReducer from './reducers/Session.reducer';\nimport NewDownloadReducer from './reducers/NewDownload.reducer';\nimport NewReportCompilerReducer from './reducers/NewReportCompiler.reducer';\nimport NewAggiornamentiReducer from './reducers/NewAggiornamenti.reducer';\n/* EXTRA */\n\nconst preloadedState = loadFromSessionStorage();\n\nconst store = configureStore({\n reducer: {\n Session: SessionReducer,\n NewReportCompiler: NewReportCompilerReducer,\n NewDownload: NewDownloadReducer,\n NewAggiornamenti: NewAggiornamentiReducer\n },\n middleware: (getDefaultMiddleware) => {\n return process.env.REACT_APP_ENV === 'alm'\n ? getDefaultMiddleware().concat(logger)\n : getDefaultMiddleware();\n },\n devTools: process.env.REACT_APP_ENV === 'alm',\n preloadedState\n});\n\nstore.subscribe(() => {\n saveToSessionStorage(store.getState());\n});\n\nexport function saveToSessionStorage(state) {\n try {\n const serializedState = JSON.stringify(state);\n\n sessionStorage.setItem('reduxState', serializedState);\n } catch (e) {\n }\n}\n\nexport function loadFromSessionStorage() {\n try {\n const serializedState = sessionStorage.getItem('reduxState');\n\n if (serializedState) {\n return JSON.parse(serializedState);\n } else {\n return undefined;\n }\n } catch (e) {\n\n return undefined;\n }\n}\n\nexport default store;\n","import 'bootstrap/dist/css/bootstrap.min.css';\n\nimport moment from 'moment';\nimport { I18nextProvider } from 'react-i18next';\nimport i18n from './config/i18n';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.scss';\nimport App from './App';\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\nimport { ConfigProvider } from 'antd';\nimport it_IT from 'antd/lib/locale/it_IT';\nimport en_US from 'antd/lib/locale/en_US';\nimport 'moment/locale/it';\nimport 'moment/locale/en-gb';\nimport { Provider } from 'react-redux';\nimport store from './redux/store';\n\nwindow.version = process.env.REACT_APP_VERSION;\n\nconst setAntLocale = () => {\n switch (i18n.language) {\n case 'IT':\n moment.locale('it');\n return it_IT;\n case 'EN':\n moment.locale('en-gb');\n return en_US;\n default:\n moment.locale('it');\n return it_IT;\n }\n};\n\nconst Root = () => {\n if (process.env.REACT_APP_PREFIX == '') {\n return (\n \n \n \n \n \n \n \n );\n } else {\n if (process.env.REACT_APP_PREFIX == '/web/#') {\n return (\n \n \n \n \n \n \n \n );\n }\n }\n};\n\nReactDOM.render(\n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\n//reportWebVitals();\n"],"sourceRoot":""}