{"version":3,"sources":["api/commonApi.js","actions/commonActions.js","CheckFunction.js","api/tariffApi.js","actions/tariffActions.js","NotificationPopUp.js","components/common/CurrencyInput.js","actions/userActions.js","utils/codiceFiscale/constants.js","api/reportingApi.js","actions/reportingActions.js","api/warrantyApi.js","actions/warrantyActions.js","components/common/TextInput.js","constants.js","api/authenticationApi.js","actions/authenticationActions.js","components/common/TextViewer.js","components/common/NextPrevButtonToolbar.js","api/companyApi.js","actions/companyActions.js","components/common/SimpleFileInput.js","api/emissionApi.js","actions/emissionActions.js","components/common/TextAreaInput.js","styles/images/documentIcon.svg","components/registry/user/UserSection.js","components/common/SelectInput.js","utils/Iban.js","styles/images/pdfIco_48x48.png","components/common/airBnbDatepicker/const.js","components/common/airBnbDatepicker/AirBnbDateTimePicker.js","commonFunctions.js","components/common/ConfirmationModal.js","components/common/checkBox/CheckboxInput.js","api/userApi.js","api/networkApi.js","actions/networkActions.js","components/common/TooltipFormatter.js","AsyncComponent.js","components/registry/network/ProductsPage.js","components/emission/PianoFlexSection.js","components/emission/QuotationPage.js","components/reporting/RendicontazionePage.js","components/reporting/RendicontazioneXSocioSostenitorePage.js","components/common/checkBox/ActiveEditor.js","components/registry/tariff/edit/WarrantyAllowanceEditor.js","components/registry/tariff/edit/WarrantyCoverageEditor.js","components/registry/tariff/edit/TariffPage.js","components/registry/tariff/TariffGroupModal.js","components/registry/tariff/TariffGroupsPage.js","components/registry/tariff/TariffsPage.js","components/registry/user/UsersPage.js","components/registry/user/edit/DocumentsSection.js","components/registry/user/edit/AddNetworkReferentModal.js","components/registry/user/edit/ReferentSection.js","components/registry/user/edit/UserPage.js","components/registry/user/basic/UserBasicPage.js","components/registry/warranty/edit/WarrantyAllowanceModal.js","components/registry/warranty/edit/WarrantyPage.js","components/registry/warranty/WarrantiesPage.js","components/App.js","reducers/initialState.js","reducers/index.js","reducers/agentReducer.js","reducers/authenticationReducer.js","reducers/commonReducer.js","reducers/contractReducer.js","reducers/customerReducer.js","reducers/emissionReducer.js","reducers/networkReducer.js","reducers/tariffReducer.js","reducers/tariffGroupReducer.js","reducers/userReducer.js","reducers/warrantyReducer.js","store/configureStore.js","index.js"],"names":["commonApi","token","Promise","resolve","reject","req","consts","XXXMLHttpRequest","process","onreadystatechange","readyState","status","JSON","parse","response","send","lockScreen","type","SCREEN_LOCK_REQUEST","unlockScreen","SCREEN_UNLOCK_REQUEST","loadConfigurationSuccess","configuration","LOAD_CONFIGURATION_SUCCESS","loadConfiguration","dispatch","getState","authenticationState","then","res","catch","error","console","log","CheckFunctions","cf","_","isUndefined","isEmpty","i","s","set1","set2","toUpperCase","length","indexOf","charAt","charCodeAt","pi","c","email","test","tariffApi","networkId","stringify","searchModel","id","tariff","method","commonFunctions","errorMessage","message","tariffId","loadTariffGroups","page","itemsPerPage","total","sortName","sortOrder","url","groupId","name","code","loadTariffsSuccess","pagingModel","LOAD_TARIFFS_SUCCESS","loadTariffsFailed","LOAD_TARIFFS_FAILED","loadTariffsByNetwork","commonActions","loadTariffs","label","showClosed","loadActiveTariffs","activeTariffs","loadTariff","saveTariff","savedTariff","tariffState","deleteTariff","cloneTariff","clonedTariffId","loadTariffGroupsSuccess","LOAD_TARIFF_GROUPS_SUCCESS","loadTariffGroupsFailed","LOAD_TARIFF_GROUPS_FAILED","loadAllTariffGroups","loadTariffGroupsForSocio","deleteTariffGroup","tariffGroupState","saveTariffGroup","NotificationPopUp","description","this","shownNotification","customClass","notification","className","duration","placement","CurrencyInput","defaultValue","disabled","onChange","placeholder","value","onChangeNumber","target","decimalSeparator","style","width","borderRadius","loadAgentsSuccess","LOAD_AGENTS_SUCCESS","loadAgentsFailed","LOAD_AGENTS_FAILED","loadAgents","userApi","roleId","surname","username","loadAgentsByNetowrk","loadUsersByNetowrk","USER_ROLE","NetworkAgent","loadUsersSuccess","LOAD_USERS_SUCCESS","loadUsersFailed","LOAD_USERS_FAILED","loadUsers","loadUser","loadBasicUser","saveAgent","user","saveUser","savedUser","agentState","userState","saveBasicUser","eliminaDocumento","documentId","caricaDocumento","userId","file","ERROR_CODES","OK","SYNTAX_ERROR","NAME_ERROR","SURNAME_ERROR","BDAY_ERROR","MONTH_CODES","CHECK_CODE_ODD","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","CHECK_CODE_EVEN","OMOCODIA_TABLE","CHECK_CODE_CHARS","CODICI_CATASTALI","EE","AG","AL","AN","AO","AP","AQ","AR","AT","AV","BA","BG","BI","BL","BN","BO","BR","BS","BT","BZ","CA","CB","CE","CH","CL","CN","CO","CR","CS","CT","CZ","EN","FC","FE","FG","FI","FM","FR","GE","GO","GR","IM","IS","KR","LC","LE","LI","LO","LT","LU","MB","MC","ME","MI","MN","MO","MS","MT","NA","NO","NU","OR","PA","PC","PD","PE","PG","PI","PN","PO","PR","PT","PU","PV","PZ","RA","RC","RE","RG","RI","RM","RN","RO","SA","SI","SO","SP","SR","SS","SV","TA","TE","TN","TO","TP","TR","TS","TV","UD","VA","VB","VC","VE","VI","VR","VT","VV","reportingApi","filers","ret","saveFile","base64","fileName","contentType","filters","Object","assign","ids","targetDate","amount","note","networkRights","referenteRights","parseFloat","replace","accountPeriodId","contractId","year","encodeURI","aderente","network","tariffGroupId","loadDashboard","loadRendicontazione","exportRendicontazione","loadEstrattoConto","estrattoContoExport","marcaPagatoAllaCompagnia","loadEstrattoContoSociSostenitori","estrattoContoSociSostenitoriExport","loadEstrattoContoReferenti","estrattoContosociReferentiExport","loadEstrattoContoQuoteSociSostenitori","estrattoContoQuoteSociSostenitoriExport","marcaPagatoAlSocioSostenitore","rimessoNetworkNote","marcaPagatoAlReferente","loadEstrattoContoXSocioSostenitore","estrattoContoXSocioSostenitoreExport","loadEstrattoContoIncassi","estrattoContoIncassiExport","notificaScadenzaPagamentoQuietanza","loadCertificazioneIncassi","printCertificazioneIncassi","confirmAndSaveCertificazioneIncassi","confirmAndSaveAllCertificazioneIncassi","confirmAndSendCertificazioneIncassi","downloadCertificazioneIncassi","certificazioneIncassiExport","loadEstrazioneAnagrafiche","estrazioneAnagraficheExport","warrantyApi","warranty","warrantyId","loadWarrantiesSuccess","LOAD_WARRANTIES_SUCCESS","loadWarrantiesFailed","LOAD_WARRANTIES_FAILED","loadWarranties","companyName","warrantyName","loadAllWarranties","loadWarranty","saveWarranty","savedWarranty","warrantyState","deleteWarranty","cloneWarranty","clonedWarrantyId","TextInput","errorRequiredMessage","errorMinCharactersMessage","isIban","isCF","isPIVA","minCharacters","required","text","validate","onClick","validation","checkFunctions","checkEmail","checkCF","checkPIVA","isNil","Iban","isValid","resultErrorMessage","htmlFor","event","color","ACTONS","INIT_APP","LOGIN_SUCCESS","LOGOUT_SUCCESS","LOAD_NETWORKS_SUCCESS","LOAD_NETWORKS_FAILED","LOAD_NETWORK_PRODUCTS_SUCCESS","LOAD_NETWORK_PRODUCTS_FAILED","LOAD_CUSTOMERS_SUCCESS","LOAD_CUSTOMERS_FAILED","LOAD_COMPANIES_SUCCESS","LOAD_COMPANIES_FAILED","LOAD_RENDICONTAZIONE_SUCCESS","LOAD_RENDICONTAZIONE_FAILED","UPDATE_CONTRAENTE","SAVE_CONTRACT_SUCCESS","LOAD_CONTRACTS_SUCCESS","LOAD_CONTRACTS_FAILED","AUTHENTICATION","ReCaptcha","COOKIE_NAME","Admin","Fab","Seb","NetworkOwner","NetworkReferent","CentraleOperativa","NetworkMaster","XMLHttpRequest","open","setRequestHeader","addEventListener","window","location","href","AGE_LIMITS","THRESHOLD_AGE","TYPES","NO_LIMITS","NO_UNDER_65","NO_65_AND_OVER_65","JUST_ONE_OVER_65","NO_35_AND_OVER_35","NO_UNDER_35_NO_65_AND_OVER_65","GENERIC_ENUM","contractPeriodModeTypes","fractionationType","personType","paymentType","familyTreeTypes","businessRoleTypes","networkCategory","networkMaster","networkType","networkGiuridicForm","networkSize","sex","FRAZIONAMENTO_TYPES","ANNUO","MENSILE","TRIMESTRALE","SEMSTRALE","DOCUMENT_TYPES","GENRICO","PREVENTIVO","CONTRATTO","MODULO_ADESIONE_FIRMATO","CI","CF","Quietanzamento","SEPA_SDD","AGGIUNTA_FAMILIARE","PROPOSTA_DIPENDENTI","DOCUMENTO_IDENTITA","MODULO_ADESIONE_AZIENDA_FIRMATO","LETTERA_BENVENUTO_SEB","CONTRACT_STATUS","CREAZIONE","PREVENTIVO_COFERMATO","POLIZZA","ANNULLO","CHIUSA","CONTRACT_PERIOD_MODE","EXPIRATION_LAST_DAY_OF_YEAR","EXPIRATION_NEXT_YEAR","COLLETTIVA_LAST_DAY_OF_YEAR","FORFAIT_LAST_DAY_OF_YEAR","COVID_19","ACCOUNT_PERIOD_STATUS","PAGAMENTO","ESITO_PAGAMENTO_OK","ESITO_PAGAMENTO_KO","ANNULLATO","ACCOUNT_PERIOD_ACTIVITY","EMISSIONE","QUIETANZIAMENTO","RIMBORSO","RINNOVO","FAMILY_TREE_TYPES","CAPO_NUCLEO","MOGLIE","MARITO","FIGLIO","FIGLIA","PADRE","MADRE","LEGALE_RAPPRESENTANTE","CONVIVENTE_MORE_UXORIO","FRATELLO","SORELLA","BUSINESS_ROLE_TYPES","NESSUNO","DIRIGENTE","AMMINISTRATORE","QUADRO","IMPIEGATO","OPERAIO","FAMILIARE_NON_A_CARICO","PIANO_FLEX","COMPANY_FIRST_WARRANTY","ERROR_MESSAGE","BE","MONTHS","WEEKSDAY_LONG","WEEKSDAY_SHORT","AuthenticationApi","sanityToken","isakToken","loginModel","model","app","err","cookies","Cookies","loginSuccess","Storage","localStorage","setItem","STORAGE_NAME","set","path","logOutSuccess","remove","loginWithToken","a","authenticationApi","loginSso","login","logout","generateResetLink","resetPassword","verifyAuthentication","history","push","lookForCookie","undefined","getItem","get","alreadyLoggedIn","isAdmin","canISeeQuotationPage","canIEditTariff","canISeeSociSostenitori","canISeeNetworkProductTariff","canISeeAmministrazione","canIAddNetwork","canIEditNetwork","canISeeQuotes","canISeeNetworkDocuments","canISeeNetworkNotes","canISeeNetworkMasters","canISeeNetworkPianoFlexSection","canISeeUserDocuments","canIEditAgenti","canIAddProduct","canIDeleteProduct","canICloneProducts","canICloneWarranty","canICloneTariff","canISeeReports","canIManageTariffGroups","canIManageUsers","canIAddUser","canICreateAdesione","canIManageCompanies","canISeeWarrantiesQuotations","canIUploadDocumentiPersonali","contract","canIUpdateDatiPreventivo","accountPeriodEMIStatus","canIViewNoteAgguntive","extraNoteEnabled","canIViewNoteNonStampate","canIUpdateNoteNonStampate","canIUpdateNoteAgguntive","canIAddContractMember","employee","isPianoFlex","fineCopertura","pianoFlexCanIAddContractMember","canIDeleteContractMember","member","pianoFlexCanIDeleteContractMember","canIRenewals","accountperiods","pianoFlexCanIRenewals","canICancelRenewals","renewAP","filter","x","accountActivityId","closeContractEnabled","canIDeleteDocument","TextViewer","NextPrevButtonToolbar","backtext","nextText","activeBackButton","activeNextButton","onClickBack","onClickNext","enabledbuttonStyle","backgroundColor","disabledbuttonStyle","backStyle","nextStyle","justified","aria-hidden","companyApi","company","companyId","loadCompanies","loadCompany","saveCompany","savedCompany","deleteCompany","SimpleFileInput","onLoaded","e","reader","FileReader","beneficiariFile","files","onloadend","result","readAsDataURL","emissionApi","toNumber","parseInt","xhr","personaGiuridica","fileBenificiari","size","formData","FormData","append","accountperiodId","productId","instalmentMode","closeAtTheEnd","resJ","printPrice","startDate","documentPersonaleType","contractMemberId","familiare","appRes","pianoFlex","updateEmissionInvokeReducer","emissionState","updateEmission","saveContractSuccess","createProposal","newContract","newDatiPagamentoForProposta","newNoteAggiuntiveForProposta","saveNoteNonStampate","deleteContract","loadContracts","contractState","cofermaPreventivo","createAdesione","updatedContract","payAccountPeriod","cancelAccountPeriod","renewContract","cancelRenewContract","closeContract","productsForRenew","products","loadContractsSuccess","loadContractsFailed","agentId","clientName","contractStatus","expireDateDa","expireDateA","inScadenza","proposalSequence","sequence","startDateDa","startDateA","contractsExport","stampaCertificatoAdesioneDipendente","generaModuliPropostaDipendenti","generaCertificatiAdesioneDipendenti","inviaLetteraDiBenvutoDipendente","exportCSVContracts","loadContract","loadPGUsers","filePersonaleLoad","filePersonaleDelete","chiudiCoperturaMembro","addFamiliare","notificaProssimaScadenza","exportBeneficiari","getCertificazioniIncassi","certificazioniIncassi","pianoFlexRenewContract","TextAreaInput","rows","wrapperClass","module","exports","UserSection","isAgent","title","userData","showAllProps","roles","allRoles","unshift","showCompanyForMaster","role","firstName","lastName","autocomplete","password","ateco","sae","companyForMaster","options","taxCode","birthDate","emailAddress","emailAddress2","workPhone","workPhone2","SelectInput","labelStyle","defaultOptionText","defaultOptionValue","requiredOverZero","Array","isArray","isNumber","isBoolean","toInteger","map","option","key","countries","addSpecification","Specification","specification","iban","countryCode","isString","electronicFormat","countryStructure","slice","separator","Error","toBBAN","bban","fromBBAN","isValidBBAN","EVERY_FOUR_CHARS","substr","split","n","join","block","remainder","structure","regex","match","format","pattern","repeats","RegExp","NON_ALPHANUM","example","_cachedRegex","parseStructure","_regex","iso7064Mod97_10","iso13616Prepare","exec","checkDigit","SingleDatePickerPhrases","calendarLabel","closeDatePicker","clearDate","jumpToPrevMonth","jumpToNextMonth","keyboardShortcuts","showKeyboardShortcutsPanel","hideKeyboardShortcutsPanel","openThisPanel","enterKey","leftArrowRightArrow","upArrowDownArrow","pageUpPageDown","homeEnd","escape","questionMark","selectFocusedDate","moveFocusByOneDay","moveFocusByOneWeek","moveFocusByOneMonth","moveFocustoStartAndEndOfWeek","returnFocusToInput","keyboardNavigationInstructions","chooseAvailableDate","date","dateIsUnavailable","AirBnbDateTimePicker","props","isDayBlocked","day","onDateChange","isValidDate","toDate","toISOString","onFocusChange","param","setState","focused","isDayHighlighted","b","_i","state","displayFormat","Date","moment","numberOfMonths","readOnly","phrases","ariBnbConsts","isOutsideRange","showClearDate","small","nextProps","prevState","React","Component","CommonFunctions","birthday","isDate","years","getFullYear","getMonth","getDate","cities","idCounty","county","val","sort","cityId","found","sexId","padStart","isNaN","valueOf","dateInString","substring","places","symbol","thousand","decimal","Math","abs","number","negative","toFixed","j","formatMoney","str","reverse","codeIn","decorrenza","product","contractStartingDay","scadenza","setHours","setFullYear","contractPeriodMode","expirationLastDayOfYear","expirationNextYear","endDate","ceil","getTime","roleInString","businessName","dataFineAttivita","dataInizioAttivita","documents","heading","ibanNote","iban2","iban2Note","idCity","networkTariff","warranties","nofEmployees","noteAggiuntive","onContractNotification","owner","agent","client","referents","site","street","vatCode","dates","customrSearch","selectedCustomerId","datiContrattoContraente","mobile","phone","datiPagamento","members","payMode","personaFisica","bornCounty","bornCity","city","familyMembers","numeroDipendenti","legaleRappresentante","familyTree","pianoFlexCreate","idParentMember","pgFactoryFee","pgEmployeeFee","pgRelativeFee","pfSubscriberFee","pfRelative","pianoFlexWarranty","pianoFlexCreateBasewarranties","netAmount","quotaIscrizione","grossAmount","appArray","cloneDeep","periodIdentifier","index","forEach","element","idInsuranceCompany","printedNote","commonstate","subscriptions","totalAmount","appV","forzaQuote","cost","codiceFiscaleConstants","statusId","accountPeriodActivityIn","businessRole","instalment","byteNumbers","byteArray","Uint8Array","blob","Blob","saveAs","base64Value","fileType","byteCharacters","atob","encodeURIComponent","dynamicLogoUrlComposer","ConfirmationModal","show","commonState","showHide","action","onHide","Header","closeButton","Title","Body","Footer","spinning","blocking","bsStyle","CheckboxInput","overrideCheckboxLabel","localV","customRet","evt","cssLabel","padding","checked","networkApi","quote","noteId","networkReferent","networkReferentId","networkMasterId","networkFromId","networkToId","productsIds","loadNetworksSuccess","loadNetworksFailed","loadNetworks","networksExport","loadAllNetworks","loadAllWithProducts","loadNetwork","exportNetwork","nwetworkId","saveNetwork","savedNetwork","networkState","saveQuote","loadLogo","configurationFileUpLoad","loadNotes","notes","saveNote","deleteNote","loadReferentNetworks","networkReferents","saveNetworkReferent","deleteNetworkReferent","loadNetworkMasterUsers","loadNetworkMastersByNetwork","networkMasters","loadNetworkMastersByUser","loadNetworkMasters","saveNetworkMaster","deleteNetworkMaster","loadNetworkProducts","loadNetworkProduct","loadNetworkProductsReady","loadActiveNetworkProducts","saveProduct","deleteProduct","cloneProducts","cloneProduct","cloneSomeProducts","TooltipFormatter","tooltip","tooltipOverlay","tooltipPlacement","overlay","asyncComponent","getComponent","AsyncComponent","ProductsPage","context","authenticationActions","lockedOutFormat","bind","toMoney","networkActions","notificationPopUp","cell","row","numberToItalianEuroFormat","data","sizePerPageList","striped","hover","pagination","isKey","dataField","hidden","dataSort","dataFormat","rel","connect","ownProps","bindActionCreators","PianoFlexSection","addWarranty","productSelected","isPersonaGiuridica","disabledFlag","_len","quotaIscrizioneAndQuota","getValuesForQuotaIscrizioneAndQuotaPianoFlex","Row","Col","md","Panel","Heading","Button","marginBottom","QuotationPage","sortArray","clone","newId","pianoFlexIdInsuranceCompany","warning","emissionActions","actualProd","nomeContraente","toString","loadProducts","appInst","instalmentModeArray","appPayMode","payModeArray","updateContraente","startsWith","splits","propertyName","expirationContractDates","dates02","confermaPreventivo","actualWar","info","esci","createContract","amountWithFranchigia","activeCoverageCap","activeWarrantyAllowance","warrantyWithDiscount","taxPercentage","forwelfareRights","rights","sebRights","flagDisableFieldByProductCode","conventions","productsForSelect","selectedProduct","costoLordo","getValuesForQuotaIscrizioneAndQuota","border","xs","position","fontSize","top","dateToString","coverageCap","allowance","annualNetValue","annualValue","doc","Media","Left","height","src","pdfLogo","alt","RendicontazionePage","today","setMonth","networks","seletedNetworkProducts","operations","perProductOperations","updateState","search","rendicontazioneExport","networksFromServer","names","reportingActions","ButtonToolbar","ButtonGroup","gridPrintMoney","RendicontazioneXSocioSostenitorePage","avvenutoPagamento","items","gruppi","tariffs","avvenutoPagamentoValues","contractLinkFormat","frazionamentoDataFormat","gridPrintDate","onPageChange","onSortChange","tooltipFormatter","cursor","instalmentById","nDate","tariffActions","sizePerPage","toBeUsedPagingModel","resultGridOptions","fetchInfo","dataTotalSize","remote","contextTypes","router","propTypes","object","companyActions","ActiveEditor","focus","onToggleRegion","selected","updateData","onUpdate","isActive","WarrantyAllowanceEditor","warrantyAllowanceId","coverageCaps","warrantyCoverageCapId","warrantyAllowances","WarrantyCoverageEditor","createActiveEditor","warrantyAllowanceEditor","warrantyCoverageEditor","createCustomSearchField","TariffPage","ageLimts","ageLimtsForCombo","clonePianoMutualisticoModal","clonePianoMutualistico","gridActive","gridPayProselitismo","gridAfterSaveCell","gridWarrantyCoverageCap","gridWarrantyAnnualNetValue","gridWarrantyAllowance","showHideClonePianoMutualisticoModal","updateTariffState","actions","success","goBack","wars","newTariff","cellName","cellValue","item","appDue","gridCellEditProp","mode","blurToSave","afterSaveCell","gridOptions","searchField","lockedOut","expireDate","ageLimit","idTariffType","riassicuratoreCode","riassicuratoreDescription","cellEdit","editable","customEditor","getElement","marginTop","params","TariffGroupModal","tariffGroupModalObj","toggle","Modal","tariffGroup","TariffGroupsPage","gridOnRowClick","updateTariffGroupToggle","nPaging","updateTariffGroupModal","showHideTariffGroupDeleteModal","dropRowKeys","tariffGroupDeleteModal","dropRowKeysp","tariffGroupConfirmDelete","next","tariffGroupDelete","tariffGroupInsertButton","updateFilters","updateTariffGroup","obj","insertBtn","onRowClick","deleteText","handleConfirmDeleteRow","selectRow","deleteRow","insertRow","appPaginModel","TariffsPage","gridAnnualNetValue","closedFormat","redirectToTariffPage","rowClassNameFormat","rowIdx","closed","showHideTariffDeleteModal","tariffDeleteModal","tariffInsertButton","tariffDelete","tariffConfirmDelete","trClassName","UsersPage","appR","redirectToUserPage","userInsertButton","userActions","DocumentsSection","documentToBeAdded","eliminaDocumentoModal","documentLoad","showEliminaDocumentoModal","configurationFilePreviewUrl","documentLogo","AddNetworkReferentModal","networkReferentInModalModel","ReferentSection","addNetworkReferentModal","deleteNetworkReferentModal","networkReferentConfirmDelete","networkReferentInsertButton","onNetworkReferentInModalChange","onNetworkReferentGridOnRowClick","showAddNetworkReferentModal","showDeleteNetworkReferentModal","dateDiffInDays","networkReferentArray","exportCSVText","exportCSV","csvHeader","UserPage","networksForSelect","historyrouter","documentoId","newUser","trim","sm","mdOffset","bsSize","ivas","warrantyCoverageCaps","UserBasicPage","newPassword","newPasswordConfirm","WarrantyAllowanceModal","warrantyAllowanceModalShow","warrantyCoverageCap","warrantyAllowanceDelete","warranttAllowanceInsert","numberToItalianFormat","confirm","onDeleteRow","percentageDiscount","WarrantyPage","warrantyCoverageCapInModal","warrantyCoverageCapDeleteModal","clonePrestazioneModal","updateWarrantyState","showHideClonePrestazioneModal","showHideWarrantyCoverageCapDeleteModal","warrantyCoverageCapAfterSaveCell","warrantyCoverageCapConfirmDelete","warrantyCoverageCapDelete","warrantyCoverageCapInsert","warrantyCoverageAllowance","warranttAllowanceShowHideModal","warrantyCoverageCapInsertButton","newWarranty","selectedCoverageCap","numberStringItalianToUsNumber","newCovs","last","warrantyCovCapId","newAllowances","uncovered","companies","warrantyCoverageCapCellEditProp","warrantyCoverageCapGridOptions","idWarrantyType","pagaTuttoAEmissione","warrantyCoverageActive","warrantyActions","WarrantiesPage","warrantyDeleteModal","gridCompany","redirectToWarrantyPage","showHideWarrantyDeleteModal","warrantyInsertButton","warrantyConfirmDelete","warrantyDelete","locale","AgentPage","default","AgentsPage","CertificazioneIncassiPage","CompanyPage","CompaniesPage","ContractManagerPage","ContractResumePage","CustomerPage","CustomersPage","EmissionPage","EstrattoContoPage","EstrattoContoIncassiPage","EstrattoContoQuoteSociSostenitoriPage","EstrattoContoReferentePage","EstrattoContoSociSostenitoriPage","EstrattoContoPianoFlexPage","EstrazioneAnagrafichePage","HomePage","LoginPage","LoginWithTokenPage","LoginSsoPage","LogoffPage","NetworkPage","NetworksPage","PasswordForgotten","PasswordReset","App","logOut","authentication","isLoggedIn","exact","component","codice","customerState","assicuratoName","creationDateDa","creationDateA","counties","static","rootReducer","combineReducers","initialState","noAuth","store","createStore","applyMiddleware","thunk","render","document","getElementById"],"mappings":"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","file":"static/js/main.afba3ba1.chunk.js","sourcesContent":["import * as consts from '../constants';\r\n\r\nclass commonApi {\r\n static loadConfiguration(token) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/configuration/GetConfiguration';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url);\r\n\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore nel caricamento della Configurazione!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n}\r\n\r\nexport default commonApi;\r\n","import * as consts from '../constants';\r\n// import commonApi from '../api/mocks/mockCommonApi'\r\nimport commonApi from '../api/commonApi';\r\n\r\nexport function lockScreen() {\r\n return { type: consts.ACTONS.SCREEN_LOCK_REQUEST };\r\n}\r\n\r\nexport function unlockScreen() {\r\n return { type: consts.ACTONS.SCREEN_UNLOCK_REQUEST };\r\n}\r\n\r\nexport function loadConfigurationSuccess(configuration) {\r\n return { type: consts.ACTONS.LOAD_CONFIGURATION_SUCCESS, configuration };\r\n}\r\n\r\nexport function loadConfiguration() {\r\n return function (dispatch, getState) {\r\n dispatch(lockScreen());\r\n return commonApi.loadConfiguration(getState().authenticationState.token).then(res => {\r\n dispatch(unlockScreen());\r\n dispatch(loadConfigurationSuccess(res));\r\n }).catch(error => {\r\n dispatch(unlockScreen());\r\n console.log(error);\r\n });\r\n };\r\n}\r\n","import _ from 'lodash';\r\n\r\nclass CheckFunctions {\r\n\r\n static checkCF(cf) {\r\n if (_.isUndefined(cf) || _.isEmpty(cf)) {\r\n return false;\r\n }\r\n\r\n var valid, i, s, set1, set2, setpari, setdisp;\r\n\r\n cf = cf.toUpperCase();\r\n if (cf.length !== 16)\r\n return false;\r\n valid = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';\r\n for (i = 0; i < 16; i++) {\r\n if (valid.indexOf(cf.charAt(i)) === -1)\r\n return false;\r\n }\r\n set1 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n set2 = 'ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n setpari = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n setdisp = 'BAKPLCQDREVOSFTGUHMINJWZYX';\r\n s = 0;\r\n for (i = 1; i <= 13; i += 2)\r\n s += setpari.indexOf(set2.charAt(set1.indexOf(cf.charAt(i))));\r\n for (i = 0; i <= 14; i += 2)\r\n s += setdisp.indexOf(set2.charAt(set1.indexOf(cf.charAt(i))));\r\n if (s % 26 !== cf.charCodeAt(15) - 'A'.charCodeAt(0))\r\n return false;\r\n return true;\r\n }\r\n\r\n static checkPIVA(pi) {\r\n if (_.isUndefined(pi) || _.isEmpty(pi)) {\r\n return false;\r\n }\r\n if (pi.length !== 11) {\r\n return false;\r\n }\r\n\r\n var valid = '0123456789';\r\n for (var i = 0; i < 11; i++) {\r\n if (valid.indexOf(pi.charAt(i)) === -1)\r\n return false;\r\n }\r\n var s = 0;\r\n for (i = 0; i <= 9; i += 2)\r\n s += pi.charCodeAt(i) - '0'.charCodeAt(0);\r\n for (i = 1; i <= 9; i += 2) {\r\n var c = 2 * (pi.charCodeAt(i) - '0'.charCodeAt(0));\r\n if (c > 9) c -= 9;\r\n s += c;\r\n }\r\n if ((10 - s % 10) % 10 !== pi.charCodeAt(10) - '0'.charCodeAt(0))\r\n return false;\r\n return true;\r\n }\r\n\r\n static checkEmail(email) {\r\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(email);\r\n }\r\n}\r\n\r\nexport default CheckFunctions;","import * as consts from '../constants';\r\nimport commonFunctions from '../commonFunctions';\r\n\r\nclass tariffApi {\r\n\r\n static loadTariffsByNetwork(token, networkId) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/tariff/byNetowrk/';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ networkId }));\r\n });\r\n }\r\n\r\n static loadTariffs(token, searchModel) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/tariff/filtered', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(searchModel));\r\n });\r\n }\r\n\r\n static loadActiveTariffs(token) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/tariff/allActive';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadTariff(token, id) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/tariff/get/' + id, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static saveTariff(token, tariff) {\r\n return new Promise((resolve, reject) => {\r\n let method = 'POST';\r\n if (tariff.id > -1)\r\n method = 'PUT';\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/tariff/save', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(tariff));\r\n });\r\n }\r\n\r\n static deleteTariff(token, tariffId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/tariff/delete/' + tariffId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static cloneTariff(token, tariffId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/tariff/clone/' + tariffId, 'PUT');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n // ******************************************************************************************************************************\r\n // Tariff Group\r\n // ******************************************************************************************************************************\r\n\r\n static loadAllTariffGroups(token) {\r\n return tariffApi.loadTariffGroups(token, {\r\n page: 1,\r\n itemsPerPage: 1000,\r\n total: 0,\r\n sortName: 'name',\r\n sortOrder: 'asc'\r\n });\r\n }\r\n\r\n static loadTariffGroupsForSocio(token, networkId) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/tariff/allGroupsForNetwork/' + networkId;\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadTariffGroups(token, searchModel) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/tariff/filteredGroups';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(searchModel));\r\n });\r\n }\r\n\r\n static deleteTariffGroup(token, groupId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/tariff/deleteTariffGroup/' + groupId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static saveTariffGroup(token, { id, name, code }) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/tariff/saveTariffGroup/', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ id, name, code }));\r\n });\r\n }\r\n}\r\n\r\nexport default tariffApi;\r\n","import * as consts from '../constants';\r\nimport * as commonActions from './commonActions';\r\n\r\nimport tariffApi from '../api/tariffApi';\r\n\r\nexport function loadTariffsSuccess(pagingModel) {\r\n return { type: consts.ACTONS.LOAD_TARIFFS_SUCCESS, pagingModel };\r\n}\r\n\r\nexport function loadTariffsFailed() {\r\n return { type: consts.ACTONS.LOAD_TARIFFS_FAILED };\r\n}\r\n\r\nexport function loadTariffsByNetwork(networkId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.loadTariffsByNetwork(getState().authenticationState.token, networkId).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadTariffsFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadTariffs(pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.loadTariffs(getState().authenticationState.token, pagingModel).then(res => {\r\n res.code = pagingModel.code;\r\n res.label = pagingModel.label;\r\n res.showClosed = pagingModel.showClosed;\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadTariffsSuccess(res));\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadTariffsFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadActiveTariffs() {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.loadActiveTariffs(getState().authenticationState.token).then(activeTariffs => {\r\n dispatch(commonActions.unlockScreen());\r\n return activeTariffs;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadTariff(id) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.loadTariff(getState().authenticationState.token, id).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveTariff(tariff) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.saveTariff(getState().authenticationState.token, tariff).then(savedTariff => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadTariffs(getState().tariffState));\r\n return savedTariff;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function deleteTariff(tariffId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.deleteTariff(getState().authenticationState.token, tariffId).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadTariffs(getState().tariffState));\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function cloneTariff(tariffId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.cloneTariff(getState().authenticationState.token, tariffId).then((clonedTariffId) => {\r\n dispatch(commonActions.unlockScreen());\r\n return clonedTariffId;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\n// ******************************************************************************************************************************\r\n// Tariff Group\r\n// ******************************************************************************************************************************\r\n\r\nexport function loadTariffGroupsSuccess(pagingModel) {\r\n return { type: consts.ACTONS.LOAD_TARIFF_GROUPS_SUCCESS, pagingModel };\r\n}\r\n\r\nexport function loadTariffGroupsFailed() {\r\n return { type: consts.ACTONS.LOAD_TARIFF_GROUPS_FAILED };\r\n}\r\n\r\nexport function loadTariffGroups(pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.loadTariffGroups(getState().authenticationState.token, pagingModel).then(res => {\r\n res.code = pagingModel.code;\r\n res.name = pagingModel.name;\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadTariffGroupsSuccess(res));\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadTariffGroupsFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadAllTariffGroups() {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.loadAllTariffGroups(getState().authenticationState.token).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadTariffGroupsFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadTariffGroupsForSocio(networkId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.loadTariffGroupsForSocio(getState().authenticationState.token, networkId).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadTariffGroupsFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function deleteTariffGroup(groupId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.deleteTariffGroup(getState().authenticationState.token, groupId).then(() => {\r\n dispatch(loadTariffGroups(getState().tariffGroupState));\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveTariffGroup({ id, name, code }) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return tariffApi.saveTariffGroup(getState().authenticationState.token, { id, name, code }).then(() => {\r\n dispatch(loadTariffGroups(getState().tariffGroupState));\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n","\r\nimport { notification } from 'antd';\r\n\r\nclass NotificationPopUp {\r\n\r\n static info(description) {\r\n this.shownNotification('info', 'Informazione', description, 'antdInfo');\r\n }\r\n\r\n static success(description) {\r\n this.shownNotification('success', 'OK', description, 'antdSuccess');\r\n }\r\n\r\n static warning(description) {\r\n this.shownNotification('warning', 'Attenzione', description, 'antdWarn');\r\n }\r\n\r\n static error(description) {\r\n this.shownNotification('error', 'Errore', description, 'antdError');\r\n }\r\n\r\n static shownNotification(type, message, description, customClass) {\r\n notification[type]({\r\n className: customClass,\r\n description: description,\r\n duration: 5, // In seconds\r\n message: message,\r\n placement: 'bottomRight'\r\n });\r\n }\r\n}\r\n\r\nexport default NotificationPopUp;\r\n","import { InputNumber } from 'antd';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\n/**\r\n * Questo componente server per permettere di poter inserire valori monetari\r\n */\r\nconst CurrencyInput = ({ defaultValue, disabled = false, label, name, onChange, placeholder, value }) => {\r\n\r\n function onChangeNumber(name, value) {\r\n onChange({\r\n target: {\r\n name,\r\n value\r\n }\r\n });\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n onChangeNumber(name, value)}\r\n placeholder={placeholder}\r\n style={{ width: '100%', borderRadius: 0 }}\r\n value={value}\r\n />\r\n
\r\n
\r\n );\r\n};\r\n\r\nCurrencyInput.propTypes = {\r\n defaultValue: PropTypes.number,\r\n disabled: PropTypes.bool,\r\n label: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n onChange: PropTypes.func,\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]) \r\n};\r\n\r\nexport default CurrencyInput;\r\n","import * as consts from '../constants';\r\nimport * as commonActions from './commonActions';\r\nimport userApi from '../api/userApi';\r\n\r\nexport function loadAgentsSuccess(pagingModel) {\r\n return { type: consts.ACTONS.LOAD_AGENTS_SUCCESS, pagingModel };\r\n}\r\n\r\nexport function loadAgentsFailed() {\r\n return { type: consts.ACTONS.LOAD_AGENTS_FAILED };\r\n}\r\n\r\nexport function loadAgents(pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.loadAgents(getState().authenticationState.token, pagingModel).then(res => {\r\n res.roleId = pagingModel.roleId;\r\n res.name = pagingModel.name;\r\n res.surname = pagingModel.surname;\r\n res.username = pagingModel.username;\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadAgentsSuccess(res));\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadAgentsFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadAgentsByNetowrk(networkId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.loadUsersByNetowrk(getState().authenticationState.token, networkId, consts.AUTHENTICATION.USER_ROLE.NetworkAgent).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadUsersSuccess(pagingModel) {\r\n return { type: consts.ACTONS.LOAD_USERS_SUCCESS, pagingModel };\r\n}\r\n\r\nexport function loadUsersFailed() {\r\n return { type: consts.ACTONS.LOAD_USERS_FAILED };\r\n}\r\n\r\nexport function loadUsers(pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.loadUsers(getState().authenticationState.token, pagingModel).then(res => {\r\n res.name = pagingModel.name;\r\n res.surname = pagingModel.surname;\r\n res.username = pagingModel.username;\r\n res.roleId = pagingModel.roleId;\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadUsersSuccess(res));\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadUsersFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadUser(id) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.loadUser(getState().authenticationState.token, id).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadBasicUser(id) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.loadBasicUser(getState().authenticationState.token, id).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveAgent(user) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.saveUser(getState().authenticationState.token, user).then(savedUser => {\r\n dispatch(commonActions.unlockScreen());\r\n // Reload Users\r\n dispatch(loadAgents(getState().agentState));\r\n return savedUser;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveUser(user) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.saveUser(getState().authenticationState.token, user).then(savedUser => {\r\n dispatch(commonActions.unlockScreen());\r\n // Reload Users\r\n dispatch(loadUsers(getState().userState));\r\n return savedUser;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveBasicUser(user) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.saveBasicUser(getState().authenticationState.token, user).then(savedUser => {\r\n dispatch(commonActions.unlockScreen());\r\n return savedUser;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\n// *******************************************************************************************************************\r\n// Documents \r\n// *******************************************************************************************************************\r\nexport function eliminaDocumento(documentId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.eliminaDocumento(getState().authenticationState.token, documentId).then((user) => {\r\n dispatch(commonActions.unlockScreen());\r\n return user;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function caricaDocumento(userId, file) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.caricaDocumento(getState().authenticationState.token, userId, file).then(user => {\r\n dispatch(commonActions.unlockScreen());\r\n return user;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n","export const ERROR_CODES = {\r\n OK: 0,\r\n SYNTAX_ERROR: 1,\r\n NAME_ERROR: 2,\r\n SURNAME_ERROR: 3,\r\n BDAY_ERROR: 4\r\n};\r\n\r\nexport const MONTH_CODES = [\r\n 'A',\r\n 'B',\r\n 'C',\r\n 'D',\r\n 'E',\r\n 'H',\r\n 'L',\r\n 'M',\r\n 'P',\r\n 'R',\r\n 'S',\r\n 'T'\r\n ];\r\n \r\n export const CHECK_CODE_ODD = {\r\n 0: 1,\r\n 1: 0,\r\n 2: 5,\r\n 3: 7,\r\n 4: 9,\r\n 5: 13,\r\n 6: 15,\r\n 7: 17,\r\n 8: 19,\r\n 9: 21,\r\n A: 1,\r\n B: 0,\r\n C: 5,\r\n D: 7,\r\n E: 9,\r\n F: 13,\r\n G: 15,\r\n H: 17,\r\n I: 19,\r\n J: 21,\r\n K: 2,\r\n L: 4,\r\n M: 18,\r\n N: 20,\r\n O: 11,\r\n P: 3,\r\n Q: 6,\r\n R: 8,\r\n S: 12,\r\n T: 14,\r\n U: 16,\r\n V: 10,\r\n W: 22,\r\n X: 25,\r\n Y: 24,\r\n Z: 23\r\n };\r\n \r\n export const CHECK_CODE_EVEN = {\r\n 0: 0,\r\n 1: 1,\r\n 2: 2,\r\n 3: 3,\r\n 4: 4,\r\n 5: 5,\r\n 6: 6,\r\n 7: 7,\r\n 8: 8,\r\n 9: 9,\r\n A: 0,\r\n B: 1,\r\n C: 2,\r\n D: 3,\r\n E: 4,\r\n F: 5,\r\n G: 6,\r\n H: 7,\r\n I: 8,\r\n J: 9,\r\n K: 10,\r\n L: 11,\r\n M: 12,\r\n N: 13,\r\n O: 14,\r\n P: 15,\r\n Q: 16,\r\n R: 17,\r\n S: 18,\r\n T: 19,\r\n U: 20,\r\n V: 21,\r\n W: 22,\r\n X: 23,\r\n Y: 24,\r\n Z: 25\r\n };\r\n \r\n export const OMOCODIA_TABLE = {\r\n 0: 'L',\r\n 1: 'M',\r\n 2: 'N',\r\n 3: 'P',\r\n 4: 'Q',\r\n 5: 'R',\r\n 6: 'S',\r\n 7: 'T',\r\n 8: 'U',\r\n 9: 'V'\r\n };\r\n \r\n export const CHECK_CODE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\r\n \r\n export const CODICI_CATASTALI = {\r\n EE: [\r\n ['ALBANIA', 'Z100'],\r\n ['ANDORRA', 'Z101'],\r\n ['AUSTRIA', 'Z102'],\r\n ['BELGIO', 'Z103'],\r\n ['BULGARIA', 'Z104'],\r\n ['CITTA\\' DEL VATICANO', 'Z106'],\r\n ['DANIMARCA', 'Z107'],\r\n ['FAER OER (ISOLE)', 'Z108'],\r\n ['FINLANDIA', 'Z109'],\r\n ['FRANCIA', 'Z110'],\r\n ['GERMANIA', 'Z112'],\r\n ['GIBILTERRA', 'Z113'],\r\n ['REGNO UNITO', 'Z114'],\r\n ['GRECIA', 'Z115'],\r\n ['IRLANDA', 'Z116'],\r\n ['ISLANDA', 'Z117'],\r\n ['LIECHTENSTEIN', 'Z119'],\r\n ['LUSSEMBURGO', 'Z120'],\r\n ['MALTA', 'Z121'],\r\n ['MAN (ISOLA)', 'Z122'],\r\n ['MONACO', 'Z123'],\r\n ['ISOLE DEL CANALE', 'Z124'],\r\n ['NORVEGIA', 'Z125'],\r\n ['PAESI BASSI', 'Z126'],\r\n ['POLONIA', 'Z127'],\r\n ['PORTOGALLO', 'Z128'],\r\n ['ROMANIA', 'Z129'],\r\n ['SAN MARINO', 'Z130'],\r\n ['SPAGNA', 'Z131'],\r\n ['SVEZIA', 'Z132'],\r\n ['SVIZZERA', 'Z133'],\r\n ['UNGHERIA', 'Z134'],\r\n ['UCRAINA', 'Z138'],\r\n ['BIELORUSSIA', 'Z139'],\r\n ['MOLDAVIA', 'Z140'],\r\n ['ESTONIA', 'Z144'],\r\n ['LETTONIA', 'Z145'],\r\n ['LITUANIA', 'Z146'],\r\n ['MACEDONIA', 'Z148'],\r\n ['CROAZIA', 'Z149'],\r\n ['SLOVENIA', 'Z150'],\r\n ['BOSNIA ED ERZEGOVINA', 'Z153'],\r\n ['FEDERAZIONE RUSSA', 'Z154'],\r\n ['SLOVACCHIA', 'Z155'],\r\n ['REPUBBLICA CECA', 'Z156'],\r\n ['KOSOVO', 'Z160'],\r\n ['TERRITORI PALESTINESI', 'Z161'],\r\n ['AFGHANISTAN', 'Z200'],\r\n ['ARABIA SAUDITA', 'Z203'],\r\n ['BAHREIN', 'Z204'],\r\n ['BHUTAN', 'Z205'],\r\n ['MYANMAR', 'Z206'],\r\n ['BRUNEI', 'Z207'],\r\n ['CAMBOGIA', 'Z208'],\r\n ['SRI LANKA', 'Z209'],\r\n ['CINA REPUBBLICA POPOLARE', 'Z210'],\r\n ['CIPRO', 'Z211'],\r\n ['COCOS (ISOLE)', 'Z212'],\r\n ['REPUBBLICA DI COREA', 'Z213'],\r\n ['COREA DEL NORD', 'Z214'],\r\n ['EMIRATI ARABI UNITI', 'Z215'],\r\n ['FILIPPINE', 'Z216'],\r\n ['TAIWAN', 'Z217'],\r\n ['GAZA (TERRITORIO DI)', 'Z218'],\r\n ['GIAPPONE', 'Z219'],\r\n ['GIORDANIA', 'Z220'],\r\n ['INDIA', 'Z222'],\r\n ['INDONESIA', 'Z223'],\r\n ['IRAN', 'Z224'],\r\n ['IRAQ', 'Z225'],\r\n ['ISRAELE', 'Z226'],\r\n ['KUWAIT', 'Z227'],\r\n ['LAOS', 'Z228'],\r\n ['LIBANO', 'Z229'],\r\n ['MACAO', 'Z231'],\r\n ['MALDIVE', 'Z232'],\r\n ['MONGOLIA', 'Z233'],\r\n ['NEPAL', 'Z234'],\r\n ['OMAN', 'Z235'],\r\n ['PAKISTAN', 'Z236'],\r\n ['QATAR', 'Z237'],\r\n ['SIRIA', 'Z240'],\r\n ['THAILANDIA', 'Z241'],\r\n ['TURCHIA', 'Z243'],\r\n ['YEMEN', 'Z246'],\r\n ['MALAYSIA', 'Z247'],\r\n ['SINGAPORE', 'Z248'],\r\n ['BANGLADESH', 'Z249'],\r\n ['VIETNAM', 'Z251'],\r\n ['ARMENIA', 'Z252'],\r\n ['AZERBAIGIAN', 'Z253'],\r\n ['GEORGIA', 'Z254'],\r\n ['KAZAKHSTAN', 'Z255'],\r\n ['KIRGHIZISTAN', 'Z256'],\r\n ['TAGIKISTAN', 'Z257'],\r\n ['TURKMENISTAN', 'Z258'],\r\n ['UZBEKISTAN', 'Z259'],\r\n ['NAMIBIA', 'Z300'],\r\n ['ALGERIA', 'Z301'],\r\n ['ANGOLA', 'Z302'],\r\n ['BURUNDI', 'Z305'],\r\n ['CAMERUN', 'Z306'],\r\n ['CAPO VERDE', 'Z307'],\r\n ['CENTRAFRICANA REPUBBLICA', 'Z308'],\r\n ['CIAD', 'Z309'],\r\n ['COMORE', 'Z310'],\r\n ['CONGO REPUBBLICA POPOLARE', 'Z311'],\r\n ['CONGO REPUBBLICA DEMOCRATICA', 'Z312'],\r\n ['COSTA D\\'AVORIO', 'Z313'],\r\n ['BENIN', 'Z314'],\r\n ['ETIOPIA', 'Z315'],\r\n ['GABON', 'Z316'],\r\n ['GAMBIA', 'Z317'],\r\n ['GHANA', 'Z318'],\r\n ['GUINEA', 'Z319'],\r\n ['GUINEA BISSAU', 'Z320'],\r\n ['GUINEA EQUATORIALE', 'Z321'],\r\n ['KENYA', 'Z322'],\r\n ['LA REUNION (ISOLA)', 'Z324'],\r\n ['LIBERIA', 'Z325'],\r\n ['LIBIA', 'Z326'],\r\n ['MADAGASCAR', 'Z327'],\r\n ['MALAWI', 'Z328'],\r\n ['MALI', 'Z329'],\r\n ['MAROCCO', 'Z330'],\r\n ['MAURITANIA', 'Z331'],\r\n ['MAURIZIO', 'Z332'],\r\n ['MOZAMBICO', 'Z333'],\r\n ['NIGER', 'Z334'],\r\n ['NIGERIA', 'Z335'],\r\n ['EGITTO', 'Z336'],\r\n ['ZIMBABWE', 'Z337'],\r\n ['RUANDA', 'Z338'],\r\n ['SANT\\'ELENA (ISOLA)', 'Z340'],\r\n ['SAO TOME\\' E PRINCIPE', 'Z341'],\r\n ['SEICELLE', 'Z342'],\r\n ['SENEGAL', 'Z343'],\r\n ['SIERRA LEONE', 'Z344'],\r\n ['SOMALIA', 'Z345'],\r\n ['SUDAFRICANA REPUBBLICA', 'Z347'],\r\n ['SUDAN', 'Z348'],\r\n ['SWAZILAND', 'Z349'],\r\n ['TOGO', 'Z351'],\r\n ['TUNISIA', 'Z352'],\r\n ['UGANDA', 'Z353'],\r\n ['BURKINA FASO', 'Z354'],\r\n ['ZAMBIA', 'Z355'],\r\n ['TANZANIA', 'Z357'],\r\n ['BOTSWANA', 'Z358'],\r\n ['LESOTHO', 'Z359'],\r\n ['MAYOTTE (ISOLA)', 'Z360'],\r\n ['GIBUTI', 'Z361'],\r\n ['ERITREA', 'Z368'],\r\n ['BERMUDA (ISOLE)', 'Z400'],\r\n ['CANADA', 'Z401'],\r\n ['GROENLANDIA', 'Z402'],\r\n ['SAINT PIERRE ET MIQUELON (ISOLE)', 'Z403'],\r\n ['STATI UNITI D\\'AMERICA', 'Z404'],\r\n ['ANTILLE OLANDESI', 'Z501'],\r\n ['BAHAMAS', 'Z502'],\r\n ['COSTA RICA', 'Z503'],\r\n ['CUBA', 'Z504'],\r\n ['REPUBBLICA DOMINICANA', 'Z505'],\r\n ['EL SALVADOR', 'Z506'],\r\n ['GIAMAICA', 'Z507'],\r\n ['GUADALUPA', 'Z508'],\r\n ['GUATEMALA', 'Z509'],\r\n ['HAITI', 'Z510'],\r\n ['HONDURAS', 'Z511'],\r\n ['BELIZE', 'Z512'],\r\n ['MARTINICA', 'Z513'],\r\n ['MESSICO', 'Z514'],\r\n ['NICARAGUA', 'Z515'],\r\n ['PANAMA', 'Z516'],\r\n ['PANAMA ZONA DEL CANALE', 'Z517'],\r\n ['PUERTO RICO', 'Z518'],\r\n ['TURKS E CAICOS (ISOLE)', 'Z519'],\r\n ['VERGINI AMERICANE (ISOLE)', 'Z520'],\r\n ['BARBADOS', 'Z522'],\r\n ['GRENADA', 'Z524'],\r\n ['VERGINI BRITANNICHE (ISOLE)', 'Z525'],\r\n ['DOMINICA', 'Z526'],\r\n ['SAINT LUCIA', 'Z527'],\r\n ['SAINT VINCENT E GRENADINE', 'Z528'],\r\n ['ANGUILLA (ISOLA)', 'Z529'],\r\n ['CAYMAN (ISOLE)', 'Z530'],\r\n ['MONTSERRAT', 'Z531'],\r\n ['ANTIGUA E BARBUDA', 'Z532'],\r\n ['SAINT KITTS E NEVIS', 'Z533'],\r\n ['ARGENTINA', 'Z600'],\r\n ['BOLIVIA', 'Z601'],\r\n ['BRASILE', 'Z602'],\r\n ['CILE', 'Z603'],\r\n ['COLOMBIA', 'Z604'],\r\n ['ECUADOR', 'Z605'],\r\n ['GUYANA', 'Z606'],\r\n ['GUIANA FRANCESE', 'Z607'],\r\n ['SURINAME', 'Z608'],\r\n ['FALKLAND (ISOLE)', 'Z609'],\r\n ['PARAGUAY', 'Z610'],\r\n ['PERU\\'', 'Z611'],\r\n ['TRINIDAD E TOBAGO', 'Z612'],\r\n ['URUGUAY', 'Z613'],\r\n ['VENEZUELA', 'Z614'],\r\n ['AUSTRALIA', 'Z700'],\r\n ['CHRISTMAS (ISOLA)', 'Z702'],\r\n ['COOK (ISOLE)', 'Z703'],\r\n ['VITI', 'Z704'],\r\n ['GUAM (ISOLA)', 'Z706'],\r\n ['IRIAN OCCIDENTALE', 'Z707'],\r\n ['MACQUARIE (ISOLE)', 'Z708'],\r\n ['MARIANNE (ISOLE)', 'Z710'],\r\n ['MARSHALL', 'Z711'],\r\n ['MIDWAY (ISOLE)', 'Z712'],\r\n ['NAURU', 'Z713'],\r\n ['SAVAGE (ISOLE)', 'Z714'],\r\n ['NORFOLK (ISOLE E ISOLE DEL MAR DEI CORALLI)', 'Z715'],\r\n ['NUOVA CALEDONIA (ISOLE E DIPENDENZE)', 'Z716'],\r\n ['NUOVA ZELANDA', 'Z719'],\r\n ['ISOLE CILENE (PASQUA E SALA Y GOMEZ)', 'Z721'],\r\n ['PITCAIRN (E DIPENDENZE)', 'Z722'],\r\n ['POLINESIA FRANCESE (ISOLE)', 'Z723'],\r\n ['SALOMONE', 'Z724'],\r\n ['SAMOA AMERICANE (ISOLE)', 'Z725'],\r\n ['SAMOA', 'Z726'],\r\n ['ISOLE DELL\\'UNIONE', 'Z727'],\r\n ['TONGA', 'Z728'],\r\n ['WALLIS E FUTUNA (ISOLE)', 'Z729'],\r\n ['PAPUA NUOVA GUINEA', 'Z730'],\r\n ['KIRIBATI', 'Z731'],\r\n ['TUVALU', 'Z732'],\r\n ['VANUATU', 'Z733'],\r\n ['PALAU', 'Z734'],\r\n ['MICRONESIA STATI FEDERATI', 'Z735'],\r\n ['DIPENDENZE CANADESI', 'Z800'],\r\n ['DIPENDENZE NORVEGESI ARTICHE', 'Z801'],\r\n ['DIPENDENZE RUSSE', 'Z802'],\r\n ['DIPENDENZE AUSTRALIANE', 'Z900'],\r\n ['DIPENDENZE BRITANNICHE', 'Z901'],\r\n ['DIPENDENZE FRANCESI', 'Z902'],\r\n ['DIPENDENZE NEOZELANDESI', 'Z903'],\r\n ['DIPENDENZE NORVEGESI ANTARTICHE', 'Z904'],\r\n ['DIPENDENZE STATUNITENSI', 'Z905'],\r\n ['DIPENDENZE SUDAFRICANE', 'Z906'],\r\n ['SUD SUDAN', 'Z907']\r\n ],\r\n AG: [\r\n ['SANTO STEFANO QUISQUINA', 'I356'],\r\n ['CALAMONACI', 'B377'],\r\n ['PALMA DI MONTECHIARO', 'G282'],\r\n ['SAMBUCA DI SICILIA', 'H743'],\r\n ['SCIACCA', 'I533'],\r\n ['RACALMUTO', 'H148'],\r\n ['CASTELTERMINI', 'C275'],\r\n ['CAMPOBELLO DI LICATA', 'B520'],\r\n ['SICULIANA', 'I723'],\r\n ['COMITINI', 'C928'],\r\n ['RIBERA', 'H269'],\r\n ['VILLAFRANCA SICULA', 'L944'],\r\n ['SAN GIOVANNI GEMINI', 'H914'],\r\n ['AGRIGENTO', 'A089'],\r\n ['REALMONTE', 'H205'],\r\n ['ARAGONA', 'A351'],\r\n ['ALESSANDRIA DELLA ROCCA', 'A181'],\r\n ['CATTOLICA ERACLEA', 'C356'],\r\n ['LUCCA SICULA', 'E714'],\r\n ['MONTALLEGRO', 'F414'],\r\n ['CANICATTI\\'', 'B602'],\r\n ['MONTEVAGO', 'F655'],\r\n ['CIANCIANA', 'C668'],\r\n ['GROTTE', 'E209'],\r\n ['CAMMARATA', 'B486'],\r\n ['RAVANUSA', 'H194'],\r\n ['LAMPEDUSA E LINOSA', 'E431'],\r\n ['SAN BIAGIO PLATANI', 'H778'],\r\n ['RAFFADALI', 'H159'],\r\n ['SANT\\'ANGELO MUXARO', 'I290'],\r\n ['JOPPOLO GIANCAXIO', 'E390'],\r\n ['BIVONA', 'A896'],\r\n ['SANTA MARGHERITA DI BELICE', 'I224'],\r\n ['PORTO EMPEDOCLE', 'F299'],\r\n ['NARO', 'F845'],\r\n ['LICATA', 'E573'],\r\n ['CAMASTRA', 'B460'],\r\n ['MENFI', 'F126'],\r\n ['CASTROFILIPPO', 'C341'],\r\n ['BURGIO', 'B275'],\r\n ['SANTA ELISABETTA', 'I185'],\r\n ['CALTABELLOTTA', 'B427'],\r\n ['FAVARA', 'D514']\r\n ],\r\n AL: [\r\n ['ACQUI TERME', 'A052'],\r\n ['GAVI', 'D944'],\r\n ['GAVAZZANA', 'D941'],\r\n ['PIETRA MARAZZI', 'G619'],\r\n ['SAN SALVATORE MONFERRATO', 'I144'],\r\n ['CASTELLANIA', 'C137'],\r\n ['QUATTORDIO', 'H121'],\r\n ['BERGAMASCO', 'A793'],\r\n ['CARREGA LIGURE', 'B836'],\r\n ['CASTELLETTO D\\'ERRO', 'C156'],\r\n ['CASTELLETTO D\\'ORBA', 'C158'],\r\n ['QUARGNENTO', 'H104'],\r\n ['SAN CRISTOFORO', 'H810'],\r\n ['CARPENETO', 'B818'],\r\n ['MASIO', 'F015'],\r\n ['CABELLA LIGURE', 'B311'],\r\n ['CASSINE', 'C027'],\r\n ['CASAL CERMELLI', 'B870'],\r\n ['MONTEMARZINO', 'F562'],\r\n ['OVIGLIO', 'G199'],\r\n ['OTTIGLIO', 'G193'],\r\n ['OVADA', 'G197'],\r\n ['ALBERA LIGURE', 'A146'],\r\n ['PARODI LIGURE', 'G338'],\r\n ['MALVICINO', 'E870'],\r\n ['VALMACCA', 'L633'],\r\n ['CARBONARA SCRIVIA', 'B736'],\r\n ['CELLA MONTE', 'C432'],\r\n ['CASSINELLE', 'C030'],\r\n ['STREVI', 'I977'],\r\n ['TAGLIOLO MONFERRATO', 'L027'],\r\n ['SAN GIORGIO MONFERRATO', 'H878'],\r\n ['CASTELSPINA', 'C274'],\r\n ['TREVILLE', 'L403'],\r\n ['GAMALERO', 'D890'],\r\n ['BELFORTE MONFERRATO', 'A738'],\r\n ['VILLALVERNIA', 'L963'],\r\n ['PASTURANA', 'G367'],\r\n ['MELAZZO', 'F096'],\r\n ['VILLAROMAGNANO', 'M009'],\r\n ['VIGNALE MONFERRATO', 'L881'],\r\n ['VIGNOLE BORBERA', 'L887'],\r\n ['ISOLA SANT\\'ANTONIO', 'E360'],\r\n ['TICINETO', 'L165'],\r\n ['BORGORATTO ALESSANDRINO', 'B029'],\r\n ['MOLARE', 'F281'],\r\n ['MORANO SUL PO', 'F707'],\r\n ['SPINETO SCRIVIA', 'I911'],\r\n ['CAPRIATA D\\'ORBA', 'B701'],\r\n ['TERZO', 'L143'],\r\n ['BISTAGNO', 'A889'],\r\n ['CONIOLO', 'C962'],\r\n ['RIVARONE', 'H343'],\r\n ['MOMPERONE', 'F320'],\r\n ['PECETTO DI VALENZA', 'G397'],\r\n ['ARQUATA SCRIVIA', 'A436'],\r\n ['MERANA', 'F131'],\r\n ['VIGUZZOLO', 'L904'],\r\n ['PONZONE', 'G877'],\r\n ['PONZANO MONFERRATO', 'G872'],\r\n ['SERRALUNGA DI CREA', 'I645'],\r\n ['ALZANO SCRIVIA', 'A245'],\r\n ['ALFIANO NATTA', 'A189'],\r\n ['ALESSANDRIA', 'A182'],\r\n ['FRUGAROLO', 'D813'],\r\n ['FUBINE', 'D814'],\r\n ['RICALDONE', 'H272'],\r\n ['PADERNA', 'G215'],\r\n ['MURISENGO', 'F814'],\r\n ['MONGIARDINO LIGURE', 'F365'],\r\n ['CAMAGNA MONFERRATO', 'B453'],\r\n ['PONTESTURA', 'G858'],\r\n ['CERRINA', 'C531'],\r\n ['SAREZZANO', 'I432'],\r\n ['FELIZZANO', 'D528'],\r\n ['GABIANO', 'D835'],\r\n ['ALICE BEL COLLE', 'A197'],\r\n ['ODALENGO PICCOLO', 'F998'],\r\n ['OCCIMIANO', 'F995'],\r\n ['ODALENGO GRANDE', 'F997'],\r\n ['CUCCARO MONFERRATO', 'D194'],\r\n ['PONTECURONE', 'G839'],\r\n ['GARBAGNA', 'D910'],\r\n ['ROCCHETTA LIGURE', 'H465'],\r\n ['CASALEGGIO BOIRO', 'B882'],\r\n ['CASALE MONFERRATO', 'B885'],\r\n ['BOSIO', 'B080'],\r\n ['LU', 'E712'],\r\n ['GIAROLE', 'E015'],\r\n ['ALLUVIONI CAMBIO\\'', 'A211'],\r\n ['ROCCAFORTE LIGURE', 'H406'],\r\n ['FRASSINETO PO', 'D780'],\r\n ['SALA MONFERRATO', 'H677'],\r\n ['SAN SEBASTIANO CURONE', 'I150'],\r\n ['MONTACUTO', 'F387'],\r\n ['SANT\\'AGATA FOSSILI', 'I190'],\r\n ['CANTALUPO LIGURE', 'B629'],\r\n ['TORTONA', 'L304'],\r\n ['BOZZOLE', 'B109'],\r\n ['MONTECASTELLO', 'F455'],\r\n ['CAMINO', 'B482'],\r\n ['AVOLASCA', 'A523'],\r\n ['CASTELLAR GUIDOBONO', 'C142'],\r\n ['CASTELLAZZO BORMIDA', 'C148'],\r\n ['RIVALTA BORMIDA', 'H334'],\r\n ['DENICE', 'D272'],\r\n ['DERNICE', 'D277'],\r\n ['TASSAROLO', 'L059'],\r\n ['CASTELLETTO MONFERRATO', 'C162'],\r\n ['CASTELLETTO MERLI', 'C160'],\r\n ['ROSIGNANO MONFERRATO', 'H569'],\r\n ['GROGNARDO', 'E188'],\r\n ['CASTELNUOVO BORMIDA', 'C229'],\r\n ['CARTOSIO', 'B847'],\r\n ['CARROSIO', 'B840'],\r\n ['MONTEGIOCO', 'F518'],\r\n ['MIRABELLO MONFERRATO', 'F232'],\r\n ['BASSIGNANA', 'A708'],\r\n ['CASTELNUOVO SCRIVIA', 'C243'],\r\n ['STAZZANO', 'I941'],\r\n ['MORSASCO', 'F751'],\r\n ['VISONE', 'M077'],\r\n ['POZZOL GROPPO', 'G960'],\r\n ['POZZOLO FORMIGARO', 'G961'],\r\n ['SEZZADIO', 'I711'],\r\n ['FABBRICA CURONE', 'D447'],\r\n ['CASSANO SPINOLA', 'C005'],\r\n ['VILLAMIROGLIO', 'L970'],\r\n ['VILLANOVA MONFERRATO', 'L972'],\r\n ['MORNESE', 'F737'],\r\n ['CREMOLINO', 'D149'],\r\n ['CASASCO', 'B941'],\r\n ['CAREZZANO', 'B769'],\r\n ['CARENTINO', 'B765'],\r\n ['SILVANO D\\'ORBA', 'I738'],\r\n ['VILLADEATI', 'L931'],\r\n ['MORBELLO', 'F713'],\r\n ['SPIGNO MONFERRATO', 'I901'],\r\n ['TRISOBBIO', 'L432'],\r\n ['BASALUZZO', 'A689'],\r\n ['BORGO SAN MARTINO', 'B037'],\r\n ['MOLINO DEI TORTI', 'F293'],\r\n ['GREMIASCO', 'E164'],\r\n ['MONCESTINO', 'F337'],\r\n ['COSTA VESCOVATO', 'D102'],\r\n ['ORSARA BORMIDA', 'G124'],\r\n ['CAVATORE', 'C387'],\r\n ['CASALNOCETO', 'B902'],\r\n ['GRONDONA', 'E191'],\r\n ['CONZANO', 'C977'],\r\n ['MOMBELLO MONFERRATO', 'F313'],\r\n ['SERRAVALLE SCRIVIA', 'I657'],\r\n ['CERESETO', 'C503'],\r\n ['CERRETO GRUE', 'C507'],\r\n ['BOSCO MARENGO', 'B071'],\r\n ['SOLERO', 'I798'],\r\n ['MONLEALE', 'F374'],\r\n ['PONTI', 'G861'],\r\n ['BORGHETTO DI BORBERA', 'A998'],\r\n ['SALE', 'H694'],\r\n ['PIOVERA', 'G695'],\r\n ['PRASCO', 'G987'],\r\n ['PREDOSA', 'H021'],\r\n ['FRANCAVILLA BISIO', 'D759'],\r\n ['NOVI LIGURE', 'F965'],\r\n ['OZZANO MONFERRATO', 'G204'],\r\n ['TERRUGGIA', 'L139'],\r\n ['BERZANO DI TORTONA', 'A813'],\r\n ['BALZOLA', 'A605'],\r\n ['PARETO', 'G334'],\r\n ['BRIGNANO-FRASCATA', 'B179'],\r\n ['SARDIGLIANO', 'I429'],\r\n ['FRASSINELLO MONFERRATO', 'D777'],\r\n ['FRASCARO', 'D770'],\r\n ['OLIVOLA', 'G042'],\r\n ['GUAZZORA', 'E255'],\r\n ['MONTALDEO', 'F403'],\r\n ['MONTALDO BORMIDA', 'F404'],\r\n ['ALTAVILLA MONFERRATO', 'A227'],\r\n ['FRESONARA', 'D797'],\r\n ['VALENZA', 'L570'],\r\n ['POMARO MONFERRATO', 'G807'],\r\n ['MONTECHIARO D\\'ACQUI', 'F469'],\r\n ['VOLPEDO', 'M120'],\r\n ['VOLPEGLINO', 'M121'],\r\n ['VOLTAGGIO', 'M123'],\r\n ['LERMA', 'E543'],\r\n ['ROCCA GRIMALDA', 'H414'],\r\n ['SOLONGHELLO', 'I808'],\r\n ['FRACONALTO', 'D559']\r\n ],\r\n AN: [\r\n ['OFFAGNA', 'G003'],\r\n ['CHIARAVALLE', 'C615'],\r\n ['MONTE ROBERTO', 'F600'],\r\n ['CASTELLEONE DI SUASA', 'C152'],\r\n ['ROSORA', 'H575'],\r\n ['FILOTTRANO', 'D597'],\r\n ['MONTEMARCIANO', 'F560'],\r\n ['RIPE', 'H322'],\r\n ['SANTA MARIA NUOVA', 'I251'],\r\n ['MORRO D\\'ALBA', 'F745'],\r\n ['OSIMO', 'G157'],\r\n ['MAIOLATI SPONTINI', 'E837'],\r\n ['CASTEL COLONNA', 'C071'],\r\n ['STAFFOLO', 'I932'],\r\n ['OSTRA VETERE', 'F581'],\r\n ['SAN MARCELLO', 'H979'],\r\n ['CAMERATA PICENA', 'B470'],\r\n ['SERRA DE\\' CONTI', 'I643'],\r\n ['NUMANA', 'F978'],\r\n ['JESI', 'E388'],\r\n ['CASTELFIDARDO', 'C100'],\r\n ['MONSANO', 'F381'],\r\n ['ANCONA', 'A271'],\r\n ['LORETO', 'E690'],\r\n ['MONTECAROTTO', 'F453'],\r\n ['CUPRAMONTANA', 'D211'],\r\n ['SAN PAOLO DI JESI', 'I071'],\r\n ['CORINALDO', 'D007'],\r\n ['SENIGALLIA', 'I608'],\r\n ['MONTE SAN VITO', 'F634'],\r\n ['BELVEDERE OSTRENSE', 'A769'],\r\n ['SIROLO', 'I758'],\r\n ['CASTELPLANIO', 'C248'],\r\n ['POGGIO SAN MARCELLO', 'G771'],\r\n ['CASTELBELLINO', 'C060'],\r\n ['CERRETO D\\'ESI', 'C524'],\r\n ['AGUGLIANO', 'A092'],\r\n ['MONTERADO', 'F593'],\r\n ['FABRIANO', 'D451'],\r\n ['FALCONARA MARITTIMA', 'D472'],\r\n ['CAMERANO', 'B468'],\r\n ['SERRA SAN QUIRICO', 'I653'],\r\n ['SASSOFERRATO', 'I461'],\r\n ['ARCEVIA', 'A366'],\r\n ['BARBARA', 'A626'],\r\n ['MERGO', 'F145'],\r\n ['OSTRA', 'F401'],\r\n ['GENGA', 'D965'],\r\n ['POLVERIGI', 'G803']\r\n ],\r\n AO: [\r\n ['GIGNOD', 'E029'],\r\n ['FENIS', 'D537'],\r\n ['ARNAD', 'A424'],\r\n ['COURMAYEUR', 'D012'],\r\n ['VALTOURNENCHE', 'L654'],\r\n ['ROISAN', 'H497'],\r\n ['BRISSOGNE', 'B192'],\r\n ['RHEMES-NOTRE-DAME', 'H262'],\r\n ['RHEMES-SAINT-GEORGES', 'H263'],\r\n ['EMARESE', 'D402'],\r\n ['ARVIER', 'A452'],\r\n ['AYMAVILLES', 'A108'],\r\n ['CHATILLON', 'C294'],\r\n ['CHAMPORCHER', 'B540'],\r\n ['LILLIANES', 'E587'],\r\n ['ISSIME', 'E369'],\r\n ['INTROD', 'E306'],\r\n ['DOUES', 'D356'],\r\n ['MONTJOVET', 'F367'],\r\n ['PONT-SAINT-MARTIN', 'G854'],\r\n ['COGNE', 'C821'],\r\n ['GABY', 'D839'],\r\n ['MORGEX', 'F726'],\r\n ['OYACE', 'G012'],\r\n ['SAINT-OYEN', 'H673'],\r\n ['SAINT-NICOLAS', 'H672'],\r\n ['SAINT-MARCEL', 'H671'],\r\n ['SAINT-DENIS', 'H670'],\r\n ['SAINT-VINCENT', 'H676'],\r\n ['SAINT-RHEMY-EN-BOSSES', 'H675'],\r\n ['SAINT-PIERRE', 'H674'],\r\n ['VILLENEUVE', 'L981'],\r\n ['CHALLAND-SAINT-ANSELME', 'C593'],\r\n ['CHAMPDEPRAZ', 'C596'],\r\n ['CHAMBAVE', 'C595'],\r\n ['CHALLAND-SAINT-VICTOR', 'C594'],\r\n ['CHARVENSOD', 'C598'],\r\n ['AVISE', 'A521'],\r\n ['VERRES', 'C282'],\r\n ['QUART', 'H110'],\r\n ['FONTAINEMORE', 'D666'],\r\n ['VALGRISENCHE', 'L582'],\r\n ['CHAMOIS', 'B491'],\r\n ['VALPELLINE', 'L643'],\r\n ['VALSAVARENCHE', 'L647'],\r\n ['LA SALLE', 'E458'],\r\n ['PERLOZ', 'G459'],\r\n ['LA THUILE', 'E470'],\r\n ['ETROUBLES', 'D444'],\r\n ['BIONAZ', 'A877'],\r\n ['ANTEY-SAINT-ANDRE\\'', 'A305'],\r\n ['LA MAGDELEINE', 'A308'],\r\n ['AYAS', 'A094'],\r\n ['VERRAYES', 'L783'],\r\n ['BRUSSON', 'B230'],\r\n ['ISSOGNE', 'E371'],\r\n ['DONNAS', 'D338'],\r\n ['GRESSAN', 'E165'],\r\n ['GRESSONEY-LA-TRINITE\\'', 'E167'],\r\n ['GRESSONEY-SAINT-JEAN', 'E168'],\r\n ['AOSTA', 'A326'],\r\n ['TORGNON', 'L217'],\r\n ['SARRE', 'I442'],\r\n ['BARD', 'A643'],\r\n ['PONTEY', 'G860'],\r\n ['HONE', 'E273'],\r\n ['PONTBOSET', 'G545'],\r\n ['PRE\\'-SAINT-DIDIER', 'H042'],\r\n ['OLLOMONT', 'G045'],\r\n ['NUS', 'F987'],\r\n ['JOVENCAN', 'E391'],\r\n ['SAINT-CHRISTOPHE', 'H669'],\r\n ['POLLEIN', 'G794'],\r\n ['ALLEIN', 'A205']\r\n ],\r\n AP: [\r\n ['OFFIDA', 'G005'],\r\n ['CASTEL DI LAMA', 'C093'],\r\n ['MONTE VIDON COMBATTE', 'F664'],\r\n ['MONTE VIDON CORRADO', 'F665'],\r\n ['PALMIANO', 'G289'],\r\n ['PEDASO', 'G403'],\r\n ['MONTE SAN PIETRANGELI', 'F626'],\r\n ['MONTEDINOVE', 'F487'],\r\n ['SANTA VITTORIA IN MATENANO', 'I315'],\r\n ['FERMO', 'D542'],\r\n ['TORRE SAN PATRIZIO', 'L279'],\r\n ['MONTELPARO', 'F549'],\r\n ['FOLIGNANO', 'D652'],\r\n ['LAPEDONA', 'E447'],\r\n ['MONTEFORTINO', 'F509'],\r\n ['MONTEFIORE DELL\\'ASO', 'F501'],\r\n ['MONTEGIORGIO', 'F520'],\r\n ['MONTEGRANARO', 'F522'],\r\n ['COSSIGNANO', 'D096'],\r\n ['SERVIGLIANO', 'C070'],\r\n ['SPINETOLI', 'I912'],\r\n ['APPIGNANO DEL TRONTO', 'A335'],\r\n ['FORCE', 'D691'],\r\n ['ORTEZZANO', 'G137'],\r\n ['ARQUATA DEL TRONTO', 'A437'],\r\n ['PONZANO DI FERMO', 'G873'],\r\n ['PETRITOLI', 'G516'],\r\n ['MONTOTTONE', 'F697'],\r\n ['CASTORANO', 'C331'],\r\n ['FRANCAVILLA D\\'ETE', 'D760'],\r\n ['MONTALTO DELLE MARCHE', 'F415'],\r\n ['MORESCO', 'F722'],\r\n ['MONTE URANO', 'F653'],\r\n ['MONSAMPOLO DEL TRONTO', 'F380'],\r\n ['MASSIGNANO', 'F044'],\r\n ['ACQUAVIVA PICENA', 'A047'],\r\n ['ACQUASANTA TERME', 'A044'],\r\n ['GROTTAMMARE', 'E207'],\r\n ['GROTTAZZOLINA', 'E208'],\r\n ['AMANDOLA', 'A252'],\r\n ['MASSA FERMANA', 'F021'],\r\n ['CUPRA MARITTIMA', 'D210'],\r\n ['MONTERUBBIANO', 'F614'],\r\n ['MONTEFALCONE APPENNINO', 'F493'],\r\n ['SANT\\'ELPIDIO A MARE', 'I324'],\r\n ['MONTEMONACO', 'F570'],\r\n ['ALTIDONA', 'A233'],\r\n ['BELMONTE PICENO', 'A760'],\r\n ['MONTEGALLO', 'F516'],\r\n ['MONTE GIBERTO', 'F517'],\r\n ['ROCCAFLUVIONE', 'H390'],\r\n ['VENAROTTA', 'L728'],\r\n ['MALTIGNANO', 'E868'],\r\n ['CARASSAI', 'B727'],\r\n ['SMERILLO', 'I774'],\r\n ['RIPATRANSONE', 'H321'],\r\n ['CAMPOFILONE', 'B534'],\r\n ['MONTELEONE DI FERMO', 'F536'],\r\n ['MAGLIANO DI TENNA', 'E807'],\r\n ['COMUNANZA', 'C935'],\r\n ['ASCOLI PICENO', 'A462'],\r\n ['PORTO SAN GIORGIO', 'G920'],\r\n ['PORTO SANT\\'ELPIDIO', 'G921'],\r\n ['SAN BENEDETTO DEL TRONTO', 'H769'],\r\n ['MONTEPRANDONE', 'F591'],\r\n ['MONTE RINALDO', 'F599'],\r\n ['FALERONE', 'D477'],\r\n ['ROTELLA', 'H588'],\r\n ['MONSAMPIETRO MORICO', 'F379'],\r\n ['MONTAPPONE', 'F428'],\r\n ['CASTIGNANO', 'C321'],\r\n ['RAPAGNANO', 'H182'],\r\n ['COLLI DEL TRONTO', 'C877']\r\n ],\r\n AQ: [\r\n ['OFENA', 'G002'],\r\n ['SAN PIO DELLE CAMERE', 'I121'],\r\n ['ROCCARASO', 'H434'],\r\n ['CELANO', 'C426'],\r\n ['TRASACCO', 'L334'],\r\n ['CAGNANO AMITERNO', 'B358'],\r\n ['CASTEL DI IERI', 'C090'],\r\n ['CASTEL DI SANGRO', 'C096'],\r\n ['CAPITIGNANO', 'B658'],\r\n ['CAPESTRANO', 'B651'],\r\n ['CAPISTRELLO', 'B656'],\r\n ['SAN DEMETRIO NE\\' VESTINI', 'H819'],\r\n ['AVEZZANO', 'A515'],\r\n ['CAPORCIANO', 'B672'],\r\n ['CAPPADOCIA', 'B677'],\r\n ['RAIANO', 'H166'],\r\n ['SANT\\'EUSANIO FORCONESE', 'I336'],\r\n ['PERETO', 'G449'],\r\n ['CIVITELLA ROVETO', 'C783'],\r\n ['TAGLIACOZZO', 'L025'],\r\n ['VILLETTA BARREA', 'M041'],\r\n ['MAGLIANO DE\\' MARSI', 'E811'],\r\n ['POGGIO PICENZE', 'G766'],\r\n ['CASTELVECCHIO CALVISIO', 'C278'],\r\n ['CASTELVECCHIO SUBEQUO', 'C279'],\r\n ['CAMPO DI GIOVE', 'B526'],\r\n ['PESCASSEROLI', 'G484'],\r\n ['SECINARO', 'I558'],\r\n ['SCURCOLA MARSICANA', 'I553'],\r\n ['PIZZOLI', 'G726'],\r\n ['ANVERSA DEGLI ABRUZZI', 'A318'],\r\n ['CAMPOTOSTO', 'B569'],\r\n ['VILLA SANTA LUCIA DEGLI ABRUZZI', 'M021'],\r\n ['VILLA SANT\\'ANGELO', 'M023'],\r\n ['BARREA', 'A678'],\r\n ['INTRODACQUA', 'E307'],\r\n ['BISEGNA', 'A884'],\r\n ['NAVELLI', 'F852'],\r\n ['FAGNANO ALTO', 'D465'],\r\n ['BARETE', 'A656'],\r\n ['AIELLI', 'A100'],\r\n ['CIVITA D\\'ANTINO', 'C766'],\r\n ['ALFEDENA', 'A187'],\r\n ['MORINO', 'F732'],\r\n ['OPI', 'G079'],\r\n ['PACENTRO', 'G210'],\r\n ['ROCCACASALE', 'H389'],\r\n ['PRATA D\\'ANSIDONIA', 'G992'],\r\n ['LECCE NEI MARSI', 'E505'],\r\n ['OCRE', 'F996'],\r\n ['SAN VINCENZO VALLE ROVETO', 'I389'],\r\n ['PREZZA', 'H056'],\r\n ['COLLELONGO', 'C862'],\r\n ['COLLEPIETRO', 'C866'],\r\n ['ROCCA DI CAMBIO', 'H400'],\r\n ['ROCCA DI MEZZO', 'H402'],\r\n ['CANISTRO', 'B606'],\r\n ['CALASCIO', 'B382'],\r\n ['MOLINA ATERNO', 'M255'],\r\n ['COLLARMELE', 'C844'],\r\n ['ROCCA PIA', 'H429'],\r\n ['CANSANO', 'B624'],\r\n ['CASTELLAFIUME', 'C126'],\r\n ['FONTECCHIO', 'D681'],\r\n ['MASSA D\\'ALBE', 'F022'],\r\n ['TORNIMPARTE', 'L227'],\r\n ['CASTEL DEL MONTE', 'C083'],\r\n ['SAN BENEDETTO DEI MARSI', 'H772'],\r\n ['SAN BENEDETTO IN PERILLIS', 'H773'],\r\n ['SANTE MARIE', 'I326'],\r\n ['CARSOLI', 'B842'],\r\n ['CARAPELLE CALVISIO', 'B725'],\r\n ['SANTO STEFANO DI SESSANIO', 'I360'],\r\n ['CERCHIO', 'C492'],\r\n ['ORTUCCHIO', 'G145'],\r\n ['ORTONA DEI MARSI', 'G142'],\r\n ['PESCINA', 'G492'],\r\n ['PESCOCOSTANZO', 'G493'],\r\n ['SCOPPITO', 'I546'],\r\n ['SCONTRONE', 'I543'],\r\n ['TIONE DEGLI ABRUZZI', 'L173'],\r\n ['SULMONA', 'I804'],\r\n ['VILLALAGO', 'L958'],\r\n ['VILLAVALLELONGA', 'M031'],\r\n ['ORICOLA', 'G102'],\r\n ['RIVISONDOLI', 'H353'],\r\n ['MONTEREALE', 'F595'],\r\n ['BARISCIANO', 'A667'],\r\n ['GAGLIANO ATERNO', 'D850'],\r\n ['L\\'AQUILA', 'A345'],\r\n ['BUGNARA', 'B256'],\r\n ['PRATOLA PELIGNA', 'H007'],\r\n ['FOSSA', 'D736'],\r\n ['CIVITELLA ALFEDENA', 'C778'],\r\n ['CORFINIO', 'C999'],\r\n ['ROCCA DI BOTTE', 'H399'],\r\n ['VITTORITO', 'M090'],\r\n ['PETTORANO SUL GIZIO', 'G524'],\r\n ['OVINDOLI', 'G200'],\r\n ['BALSORANO', 'A603'],\r\n ['GIOIA DEI MARSI', 'E040'],\r\n ['COCULLO', 'C811'],\r\n ['ACCIANO', 'A018'],\r\n ['ATELETA', 'A481'],\r\n ['SCANNO', 'I501'],\r\n ['LUCO DEI MARSI', 'E723'],\r\n ['LUCOLI', 'E724'],\r\n ['GORIANO SICOLI', 'E096']\r\n ],\r\n AR: [\r\n ['CASTELFRANCO DI SOPRA', 'C112'],\r\n ['CORTONA', 'D077'],\r\n ['LORO CIUFFENNA', 'E693'],\r\n ['MONTE SAN SAVINO', 'F628'],\r\n ['PIEVE SANTO STEFANO', 'G653'],\r\n ['CAPOLONA', 'B670'],\r\n ['MONTEMIGNAIO', 'F565'],\r\n ['CAPRESE MICHELANGELO', 'B693'],\r\n ['LATERINA', 'E468'],\r\n ['STIA', 'I952'],\r\n ['ORTIGNANO RAGGIOLO', 'G139'],\r\n ['TERRANUOVA BRACCIOLINI', 'L123'],\r\n ['BUCINE', 'B243'],\r\n ['POPPI', 'G879'],\r\n ['AREZZO', 'A390'],\r\n ['SUBBIANO', 'I991'],\r\n ['PIAN DI SCO', 'G552'],\r\n ['LUCIGNANO', 'E718'],\r\n ['CASTIGLION FIORENTINO', 'C319'],\r\n ['CASTIGLION FIBOCCHI', 'C318'],\r\n ['CHITIGNANO', 'C648'],\r\n ['CAVRIGLIA', 'C407'],\r\n ['SANSEPOLCRO', 'I155'],\r\n ['CASTEL FOCOGNANO', 'C102'],\r\n ['MONTEVARCHI', 'F656'],\r\n ['CHIUSI DELLA VERNA', 'C663'],\r\n ['SESTINO', 'I681'],\r\n ['FOIANO DELLA CHIANA', 'D649'],\r\n ['ANGHIARI', 'A291'],\r\n ['BADIA TEDALDA', 'A541'],\r\n ['TALLA', 'L038'],\r\n ['BIBBIENA', 'A851'],\r\n ['CASTEL SAN NICCOLO\\'', 'C263'],\r\n ['MONTERCHI', 'F594'],\r\n ['SAN GIOVANNI VALDARNO', 'H901'],\r\n ['PERGINE VALDARNO', 'G451'],\r\n ['PRATOVECCHIO', 'H008'],\r\n ['CIVITELLA IN VAL DI CHIANA', 'C774'],\r\n ['MARCIANO DELLA CHIANA', 'E933']\r\n ],\r\n AT: [\r\n ['VIARIGI', 'L834'],\r\n ['CALAMANDRANA', 'B376'],\r\n ['CORTAZZONE', 'D052'],\r\n ['CORTANZE', 'D051'],\r\n ['CORTANDONE', 'D050'],\r\n ['CUNICO', 'D207'],\r\n ['CANTARANA', 'B633'],\r\n ['AGLIANO TERME', 'A072'],\r\n ['SETTIME', 'I698'],\r\n ['CORTIGLIONE', 'D072'],\r\n ['CELLE ENOMONDO', 'C440'],\r\n ['CASTELLERO', 'C154'],\r\n ['QUARANTI', 'H102'],\r\n ['FONTANILE', 'D678'],\r\n ['SAN DAMIANO D\\'ASTI', 'H811'],\r\n ['VESIME', 'L807'],\r\n ['CASSINASCO', 'C022'],\r\n ['DUSINO SAN MICHELE', 'D388'],\r\n ['PINO D\\'ASTI', 'G676'],\r\n ['CASTELNUOVO DON BOSCO', 'C232'],\r\n ['CASTELNUOVO CALCEA', 'C230'],\r\n ['VIALE D\\'ASTI', 'L829'],\r\n ['FRINCO', 'D802'],\r\n ['CASORZO', 'B991'],\r\n ['BELVEGLIO', 'A770'],\r\n ['CASTEL ROCCHERO', 'C253'],\r\n ['MONTEGROSSO D\\'ASTI', 'F527'],\r\n ['SAN GIORGIO SCARAMPI', 'H899'],\r\n ['GRANA', 'E134'],\r\n ['SCURZOLENGO', 'I555'],\r\n ['ASTI', 'A479'],\r\n ['PASSERANO MARMORITO', 'G358'],\r\n ['TIGLIOLE', 'L168'],\r\n ['VILLAFRANCA D\\'ASTI', 'L945'],\r\n ['ANTIGNANO', 'A312'],\r\n ['MORANSENGO', 'F709'],\r\n ['CHIUSANO D\\'ASTI', 'C658'],\r\n ['COSTIGLIOLE D\\'ASTI', 'D119'],\r\n ['CAPRIGLIO', 'B707'],\r\n ['TONCO', 'L203'],\r\n ['TONENGO', 'L204'],\r\n ['MARETTO', 'E944'],\r\n ['MONASTERO BORMIDA', 'F325'],\r\n ['MONALE', 'F323'],\r\n ['SOGLIO', 'I781'],\r\n ['GRAZZANO BADOGLIO', 'E159'],\r\n ['ARAMENGO', 'A352'],\r\n ['ROATTO', 'H366'],\r\n ['MOMBALDONE', 'F308'],\r\n ['MONGARDINO', 'F361'],\r\n ['CERRO TANARO', 'C533'],\r\n ['MONCUCCO TORINESE', 'F343'],\r\n ['COAZZOLO', 'C804'],\r\n ['COCCONATO', 'C807'],\r\n ['ROCCHETTA PALAFEA', 'H466'],\r\n ['ROCCHETTA TANARO', 'H468'],\r\n ['BRUNO', 'B221'],\r\n ['SAN MARZANO OLIVETO', 'I017'],\r\n ['MONTABONE', 'F386'],\r\n ['CORSIONE', 'D046'],\r\n ['PIEA', 'G593'],\r\n ['CANELLI', 'B594'],\r\n ['CELLARENGO', 'C438'],\r\n ['CASTELL\\'ALFERO', 'C127'],\r\n ['PENANGO', 'G430'],\r\n ['CALLIANO', 'B418'],\r\n ['AZZANO D\\'ASTI', 'A527'],\r\n ['SAN PAOLO SOLBRITO', 'I076'],\r\n ['MONTEMAGNO', 'F556'],\r\n ['CASTELLETTO MOLINA', 'C161'],\r\n ['VIGLIANO D\\'ASTI', 'L879'],\r\n ['PORTACOMARO', 'G894'],\r\n ['ALBUGNANO', 'A173'],\r\n ['BUTTIGLIERA D\\'ASTI', 'B306'],\r\n ['CASTELNUOVO BELBO', 'C226'],\r\n ['VINCHIO', 'M058'],\r\n ['MOASCA', 'F254'],\r\n ['LOAZZOLO', 'E633'],\r\n ['BALDICHIERI D\\'ASTI', 'A588'],\r\n ['VILLA SAN SECONDO', 'M019'],\r\n ['CASTEL BOGLIONE', 'C064'],\r\n ['CASTELLO DI ANNONE', 'A300'],\r\n ['REVIGLIASCO D\\'ASTI', 'H250'],\r\n ['BUBBIO', 'B236'],\r\n ['CASTAGNOLE DELLE LANZE', 'C049'],\r\n ['CISTERNA D\\'ASTI', 'C739'],\r\n ['CASTAGNOLE MONFERRATO', 'C047'],\r\n ['NIZZA MONFERRATO', 'F902'],\r\n ['MONCALVO', 'F336'],\r\n ['COSSOMBRATO', 'D101'],\r\n ['SESSAME', 'I678'],\r\n ['REFRANCORE', 'H219'],\r\n ['MOMBARUZZO', 'F311'],\r\n ['MOMBERCELLI', 'F316'],\r\n ['CAMERANO CASASCO', 'B469'],\r\n ['ISOLA D\\'ASTI', 'E338'],\r\n ['CINAGLIO', 'C701'],\r\n ['MONTIGLIO MONFERRATO', 'M302'],\r\n ['ROCCA D\\'ARAZZO', 'H392'],\r\n ['SEROLE', 'I637'],\r\n ['PIOVA\\' MASSAIA', 'G692'],\r\n ['CERRETO D\\'ASTI', 'C528'],\r\n ['MONTAFIA', 'F390'],\r\n ['VAGLIO SERRA', 'L531'],\r\n ['INCISA SCAPACCINO', 'E295'],\r\n ['CALOSSO', 'B425'],\r\n ['BERZANO DI SAN PIETRO', 'A812'],\r\n ['ROCCAVERANO', 'H451'],\r\n ['OLMO GENTILE', 'G048'],\r\n ['VILLANOVA D\\'ASTI', 'L984'],\r\n ['MONTALDO SCARAMPI', 'F409'],\r\n ['SAN MARTINO ALFIERI', 'H987'],\r\n ['VALFENERA', 'L574'],\r\n ['MONTECHIARO D\\'ASTI', 'F468'],\r\n ['CESSOLE', 'C583'],\r\n ['MARANZANA', 'E917'],\r\n ['ROBELLA', 'H376'],\r\n ['FERRERE', 'D554']\r\n ],\r\n AV: [\r\n ['SAN POTITO ULTRA', 'I129'],\r\n ['GROTTOLELLA', 'E214'],\r\n ['CALABRITTO', 'B374'],\r\n ['MONTEVERDE', 'F660'],\r\n ['MONTECALVO IRPINO', 'F448'],\r\n ['PIETRADEFUSI', 'G611'],\r\n ['MANOCALZATI', 'E891'],\r\n ['QUINDICI', 'H128'],\r\n ['SORBO SERPICO', 'I843'],\r\n ['LUOGOSANO', 'E746'],\r\n ['SAN NICOLA BARONIA', 'I061'],\r\n ['FONTANAROSA', 'D671'],\r\n ['ZUNGOLI', 'M203'],\r\n ['TAURASI', 'L062'],\r\n ['TORRE LE NOCELLE', 'L272'],\r\n ['MONTELLA', 'F546'],\r\n ['CAPOSELE', 'B674'],\r\n ['ANDRETTA', 'A284'],\r\n ['MARZANO DI NOLA', 'E997'],\r\n ['LAPIO', 'E448'],\r\n ['SUMMONTE', 'L004'],\r\n ['MONTEMILETTO', 'F566'],\r\n ['TREVICO', 'L399'],\r\n ['CASSANO IRPINO', 'B997'],\r\n ['FLUMERI', 'D638'],\r\n ['SANTO STEFANO DEL SOLE', 'I357'],\r\n ['ROCCA SAN FELICE', 'H438'],\r\n ['LIONI', 'E605'],\r\n ['MOSCHIANO', 'F762'],\r\n ['MONTEFORTE IRPINO', 'F506'],\r\n ['VALLESACCARDA', 'L616'],\r\n ['LAURO', 'E487'],\r\n ['MORRA DE SANCTIS', 'F744'],\r\n ['PATERNOPOLI', 'G370'],\r\n ['ATRIPALDA', 'A489'],\r\n ['VILLAMAINA', 'L965'],\r\n ['CASTEL BARONIA', 'C058'],\r\n ['CAPRIGLIA IRPINA', 'B706'],\r\n ['CERVINARA', 'C557'],\r\n ['MELITO IRPINO', 'F110'],\r\n ['BISACCIA', 'A881'],\r\n ['ROCCABASCERANA', 'H382'],\r\n ['SAN MANGO SUL CALORE', 'H975'],\r\n ['TUFO', 'L461'],\r\n ['AIELLO DEL SABATO', 'A101'],\r\n ['ROTONDI', 'H592'],\r\n ['SANT\\'ANGELO ALL\\'ESCA', 'I279'],\r\n ['CESINALI', 'C576'],\r\n ['SPERONE', 'I893'],\r\n ['BAIANO', 'A580'],\r\n ['SAVIGNANO IRPINO', 'I471'],\r\n ['FORINO', 'D701'],\r\n ['PETRURO IRPINO', 'G519'],\r\n ['TEORA', 'L102'],\r\n ['TORRIONI', 'L301'],\r\n ['SAN MARTINO VALLE CAUDINA', 'I016'],\r\n ['CARIFE', 'B776'],\r\n ['SCAMPITELLA', 'I493'],\r\n ['QUADRELLE', 'H097'],\r\n ['PRATA DI PRINCIPATO ULTRA', 'G990'],\r\n ['ARIANO IRPINO', 'A399'],\r\n ['STURNO', 'I990'],\r\n ['MONTORO INFERIORE', 'F693'],\r\n ['MONTORO SUPERIORE', 'F694'],\r\n ['VENTICANO', 'L739'],\r\n ['GESUALDO', 'D998'],\r\n ['SENERCHIA', 'I606'],\r\n ['GUARDIA LOMBARDI', 'E245'],\r\n ['CALITRI', 'B415'],\r\n ['CASTELFRANCI', 'C105'],\r\n ['BONITO', 'A975'],\r\n ['VOLTURARA IRPINA', 'M130'],\r\n ['SANTA LUCIA DI SERINO', 'I219'],\r\n ['CANDIDA', 'B590'],\r\n ['GROTTAMINARDA', 'E206'],\r\n ['CAIRANO', 'B367'],\r\n ['CHIANCHE', 'C606'],\r\n ['AVELLA', 'A508'],\r\n ['AVELLINO', 'A509'],\r\n ['PIETRASTORNINA', 'G629'],\r\n ['SANTA PAOLINA', 'I301'],\r\n ['VALLATA', 'L589'],\r\n ['MONTEMARANO', 'F559'],\r\n ['MONTEFALCIONE', 'F491'],\r\n ['CASALBORE', 'B866'],\r\n ['MUGNANO DEL CARDINALE', 'F798'],\r\n ['TAURANO', 'L061'],\r\n ['SIRIGNANO', 'I756'],\r\n ['MONTEFREDANE', 'F511'],\r\n ['MONTEFUSCO', 'F512'],\r\n ['SANT\\'ANGELO DEI LOMBARDI', 'I281'],\r\n ['SANT\\'ANGELO A SCALA', 'I280'],\r\n ['MIRABELLA ECLANO', 'F230'],\r\n ['BAGNOLI IRPINO', 'A566'],\r\n ['SALZA IRPINA', 'H733'],\r\n ['CHIUSANO DI SAN DOMENICO', 'C659'],\r\n ['VILLANOVA DEL BATTISTA', 'L973'],\r\n ['OSPEDALETTO D\\'ALPINOLO', 'G165'],\r\n ['PAROLISE', 'G340'],\r\n ['CASTELVETERE SUL CALORE', 'C283'],\r\n ['DOMICELLA', 'D331'],\r\n ['GRECI', 'E161'],\r\n ['TORELLA DEI LOMBARDI', 'L214'],\r\n ['AQUILONIA', 'A347'],\r\n ['PAGO DEL VALLO DI LAURO', 'G242'],\r\n ['CONTRADA', 'C971'],\r\n ['CONZA DELLA CAMPANIA', 'C976'],\r\n ['SANT\\'ANDREA DI CONZA', 'I264'],\r\n ['PRATOLA SERRA', 'H006'],\r\n ['SERINO', 'I630'],\r\n ['MERCOGLIANO', 'F141'],\r\n ['MONTAGUTO', 'F397'],\r\n ['SAN MICHELE DI SERINO', 'I034'],\r\n ['NUSCO', 'F988'],\r\n ['SAN SOSSIO BARONIA', 'I163'],\r\n ['LACEDONIA', 'E397'],\r\n ['ALTAVILLA IRPINA', 'A228'],\r\n ['FRIGENTO', 'D798'],\r\n ['SOLOFRA', 'I805']\r\n ],\r\n BA: [\r\n ['CANOSA DI PUGLIA', 'B619'],\r\n ['RUVO DI PUGLIA', 'H645'],\r\n ['RUTIGLIANO', 'H643'],\r\n ['ADELFIA', 'A055'],\r\n ['GIOIA DEL COLLE', 'E038'],\r\n ['CASTELLANA GROTTE', 'C134'],\r\n ['SAMMICHELE DI BARI', 'H749'],\r\n ['BITONTO', 'A893'],\r\n ['SANTERAMO IN COLLE', 'I330'],\r\n ['ANDRIA', 'A285'],\r\n ['ALBEROBELLO', 'A149'],\r\n ['CASSANO DELLE MURGE', 'B998'],\r\n ['MINERVINO MURGE', 'F220'],\r\n ['CAPURSO', 'B716'],\r\n ['POGGIORSINI', 'G769'],\r\n ['MODUGNO', 'F262'],\r\n ['LOCOROTONDO', 'E645'],\r\n ['TRIGGIANO', 'L425'],\r\n ['TORITTO', 'L220'],\r\n ['MOLFETTA', 'F284'],\r\n ['MOLA DI BARI', 'F280'],\r\n ['NOCI', 'F915'],\r\n ['BISCEGLIE', 'A883'],\r\n ['TRANI', 'L328'],\r\n ['GRAVINA IN PUGLIA', 'E155'],\r\n ['CORATO', 'C983'],\r\n ['TERLIZZI', 'L109'],\r\n ['PUTIGNANO', 'H096'],\r\n ['POLIGNANO A MARE', 'G787'],\r\n ['GRUMO APPULA', 'E223'],\r\n ['SANNICANDRO DI BARI', 'I053'],\r\n ['PALO DEL COLLE', 'G291'],\r\n ['ACQUAVIVA DELLE FONTI', 'A048'],\r\n ['CELLAMARE', 'C436'],\r\n ['ALTAMURA', 'A225'],\r\n ['BITRITTO', 'A894'],\r\n ['BITETTO', 'A892'],\r\n ['BINETTO', 'A874'],\r\n ['SPINAZZOLA', 'I907'],\r\n ['BARLETTA', 'A669'],\r\n ['BARI', 'A662'],\r\n ['NOICATTARO', 'F923'],\r\n ['CONVERSANO', 'C975'],\r\n ['TURI', 'L472'],\r\n ['CASAMASSIMA', 'B923'],\r\n ['MONOPOLI', 'F376'],\r\n ['GIOVINAZZO', 'E047'],\r\n ['VALENZANO', 'L571']\r\n ],\r\n BG: [\r\n ['CANONICA D\\'ADDA', 'B618'],\r\n ['ADRARA SAN MARTINO', 'A057'],\r\n ['ADRARA SAN ROCCO', 'A058'],\r\n ['GRUMELLO DEL MONTE', 'E219'],\r\n ['BRACCA', 'B112'],\r\n ['UBIALE CLANEZZO', 'C789'],\r\n ['GAVERINA TERME', 'D943'],\r\n ['SELVINO', 'I597'],\r\n ['BREMBATE', 'B137'],\r\n ['FORESTO SPARSO', 'D697'],\r\n ['BREMBATE DI SOPRA', 'B138'],\r\n ['CHIGNOLO D\\'ISOLA', 'C635'],\r\n ['BERGAMO', 'A794'],\r\n ['ALZANO LOMBARDO', 'A246'],\r\n ['COLOGNO AL SERIO', 'C894'],\r\n ['SANTA BRIGIDA', 'I168'],\r\n ['VIGANO SAN MARTINO', 'L865'],\r\n ['FONTANELLA', 'D672'],\r\n ['CORNALBA', 'D016'],\r\n ['CORNA IMAGNA', 'D015'],\r\n ['ZANICA', 'M147'],\r\n ['ZANDOBBIO', 'M144'],\r\n ['AVIATICO', 'A517'],\r\n ['AVERARA', 'A511'],\r\n ['CERETE', 'C506'],\r\n ['SOTTO IL MONTE GIOVANNI XXIII', 'I869'],\r\n ['LALLIO', 'E422'],\r\n ['DALMINE', 'D245'],\r\n ['ALBINO', 'A163'],\r\n ['SAN PAOLO D\\'ARGON', 'B310'],\r\n ['VALTORTA', 'L655'],\r\n ['ROGNO', 'H492'],\r\n ['GRONE', 'E192'],\r\n ['MOZZANICA', 'F786'],\r\n ['SCHILPARIO', 'I530'],\r\n ['VIADANICA', 'L827'],\r\n ['GANDELLINO', 'D903'],\r\n ['CARAVAGGIO', 'B731'],\r\n ['ZOGNO', 'M184'],\r\n ['GANDINO', 'D905'],\r\n ['GANDOSSO', 'D906'],\r\n ['LURANO', 'E751'],\r\n ['CASTEL ROZZONE', 'C255'],\r\n ['VILLA D\\'OGNA', 'L938'],\r\n ['CARVICO', 'B854'],\r\n ['VILLONGO', 'M045'],\r\n ['ALBANO SANT\\'ALESSANDRO', 'A129'],\r\n ['VALLEVE', 'L623'],\r\n ['MISANO DI GERA D\\'ADDA', 'F243'],\r\n ['CAPRINO BERGAMASCO', 'B710'],\r\n ['STEZZANO', 'I951'],\r\n ['ENDINE GAIANO', 'D406'],\r\n ['TREVIOLO', 'L404'],\r\n ['TREVIGLIO', 'L400'],\r\n ['OSIO SOPRA', 'G159'],\r\n ['PUMENENGO', 'H091'],\r\n ['BEDULITA', 'A732'],\r\n ['CASTELLI CALEPIO', 'C079'],\r\n ['BIANZANO', 'A846'],\r\n ['LOCATELLO', 'E640'],\r\n ['CREDARO', 'D139'],\r\n ['FUIPIANO VALLE IMAGNA', 'D817'],\r\n ['CASNIGO', 'B978'],\r\n ['CASIRATE D\\'ADDA', 'B971'],\r\n ['CISANO BERGAMASCO', 'C728'],\r\n ['SPINONE AL LAGO', 'I916'],\r\n ['SPIRANO', 'I919'],\r\n ['COSTA VOLPINO', 'D117'],\r\n ['COSTA DI MEZZATE', 'D110'],\r\n ['COSTA DI SERINA', 'D111'],\r\n ['SAN GIOVANNI BIANCO', 'H910'],\r\n ['ORNICA', 'G118'],\r\n ['CAPRIATE SAN GERVASIO', 'B703'],\r\n ['ALGUA', 'A193'],\r\n ['LEVATE', 'E562'],\r\n ['PALAZZAGO', 'G259'],\r\n ['MONASTEROLO DEL CASTELLO', 'F328'],\r\n ['TORRE DE\\' ROVERI', 'L265'],\r\n ['CAMERATA CORNELLO', 'B471'],\r\n ['BARBATA', 'A631'],\r\n ['LENNA', 'E524'],\r\n ['CAZZANO SANT\\'ANDREA', 'C410'],\r\n ['SERINA', 'I629'],\r\n ['FORNOVO SAN GIOVANNI', 'D727'],\r\n ['ONORE', 'G075'],\r\n ['PONTERANICA', 'G853'],\r\n ['PONTE SAN PIETRO', 'G856'],\r\n ['RANICA', 'H176'],\r\n ['RANZANICO', 'H177'],\r\n ['SERIATE', 'I628'],\r\n ['BONATE SOTTO', 'A962'],\r\n ['BONATE SOPRA', 'A963'],\r\n ['LEFFE', 'E509'],\r\n ['SARNICO', 'I437'],\r\n ['PREMOLO', 'H036'],\r\n ['OLTRE IL COLLE', 'G050'],\r\n ['OLTRESSENDA ALTA', 'G054'],\r\n ['PAGAZZANO', 'G233'],\r\n ['SUISIO', 'I997'],\r\n ['CALUSCO D\\'ADDA', 'B434'],\r\n ['CASTRO', 'C337'],\r\n ['CLUSONE', 'C800'],\r\n ['BRUSAPORTO', 'B223'],\r\n ['BOTTANUCO', 'B088'],\r\n ['BOSSICO', 'B083'],\r\n ['URGNANO', 'L502'],\r\n ['ROVETTA', 'H615'],\r\n ['MORENGO', 'F720'],\r\n ['VERDELLINO', 'L752'],\r\n ['VERDELLO', 'L753'],\r\n ['CHIUDUNO', 'C649'],\r\n ['ALMENNO SAN BARTOLOMEO', 'A216'],\r\n ['ALMENNO SAN SALVATORE', 'A217'],\r\n ['ALME\\'', 'A214'],\r\n ['VILLA D\\'ALME\\'', 'A215'],\r\n ['ISOLA DI FONDRA', 'E353'],\r\n ['PIARIO', 'G574'],\r\n ['PIAZZA BREMBANA', 'G579'],\r\n ['SOLTO COLLINA', 'I812'],\r\n ['SOLZA', 'I813'],\r\n ['MAPELLO', 'E901'],\r\n ['SOVERE', 'I873'],\r\n ['CENATE SOPRA', 'C456'],\r\n ['CENATE SOTTO', 'C457'],\r\n ['CENE', 'C459'],\r\n ['GAZZANIGA', 'D952'],\r\n ['BLELLO', 'A903'],\r\n ['VERTOVA', 'L795'],\r\n ['SONGAVAZZO', 'I830'],\r\n ['CUSIO', 'D233'],\r\n ['VALBREMBO', 'L545'],\r\n ['VALBONDIONE', 'L544'],\r\n ['PALOSCO', 'G295'],\r\n ['FONTENO', 'D684'],\r\n ['FOPPOLO', 'D688'],\r\n ['CORTENUOVA', 'D066'],\r\n ['CAPIZZONE', 'B661'],\r\n ['BERBENNO', 'A786'],\r\n ['AZZANO SAN PAOLO', 'A528'],\r\n ['AMBIVERE', 'A259'],\r\n ['SORISOLE', 'I858'],\r\n ['PARZANICA', 'G350'],\r\n ['GORLE', 'E103'],\r\n ['GORLAGO', 'E100'],\r\n ['GORNO', 'E106'],\r\n ['SAN PELLEGRINO TERME', 'I079'],\r\n ['PEDRENGO', 'G412'],\r\n ['PEIA', 'G418'],\r\n ['LUZZANA', 'E770'],\r\n ['FILAGO', 'D588'],\r\n ['BRANZI', 'B123'],\r\n ['NEMBRO', 'F864'],\r\n ['CARONA', 'B803'],\r\n ['CAROBBIO DEGLI ANGELI', 'B801'],\r\n ['FARA OLIVANA CON SOLA', 'D491'],\r\n ['FARA GERA D\\'ADDA', 'D490'],\r\n ['VALNEGRA', 'L642'],\r\n ['VALSECCA', 'L649'],\r\n ['GROMO', 'E189'],\r\n ['TAVERNOLA BERGAMASCA', 'L073'],\r\n ['MOZZO', 'F791'],\r\n ['RONCOLA', 'H544'],\r\n ['MONTELLO', 'F547'],\r\n ['SANT\\'OMOBONO IMAGNA', 'I349'],\r\n ['SCANZOROSCIATE', 'I506'],\r\n ['VILMINORE DI SCALVE', 'M050'],\r\n ['TRESCORE BALNEARIO', 'L388'],\r\n ['MEZZOLDO', 'F186'],\r\n ['FIORANO AL SERIO', 'D606'],\r\n ['FINO DEL MONTE', 'D604'],\r\n ['DOSSENA', 'D352'],\r\n ['TALEGGIO', 'L037'],\r\n ['SEDRINA', 'I567'],\r\n ['ROMANO DI LOMBARDIA', 'H509'],\r\n ['PRADALUNGA', 'G968'],\r\n ['CASSIGLIO', 'C007'],\r\n ['POGNANO', 'G774'],\r\n ['MARTINENGO', 'E987'],\r\n ['GEROSA', 'D991'],\r\n ['COLZATE', 'C910'],\r\n ['MORNICO AL SERIO', 'F738'],\r\n ['MEDOLAGO', 'F085'],\r\n ['ENTRATICO', 'D411'],\r\n ['ARZAGO D\\'ADDA', 'A440'],\r\n ['OSIO SOTTO', 'G160'],\r\n ['PARRE', 'G346'],\r\n ['CASAZZA', 'B947'],\r\n ['MOIO DE\\' CALVI', 'F276'],\r\n ['CISERANO', 'C730'],\r\n ['ANTEGNATE', 'A304'],\r\n ['COMUN NUOVO', 'C937'],\r\n ['RIVA DI SOLTO', 'H331'],\r\n ['COVO', 'D126'],\r\n ['BARZANA', 'A684'],\r\n ['ORIO AL SERIO', 'G108'],\r\n ['VIGOLO', 'L894'],\r\n ['BREMBILLA', 'B140'],\r\n ['ISSO', 'E370'],\r\n ['VILLA DI SERIO', 'L936'],\r\n ['COSTA VALLE IMAGNA', 'D103'],\r\n ['BARIANO', 'A664'],\r\n ['BORGO DI TERZO', 'B010'],\r\n ['GRASSOBBIO', 'E148'],\r\n ['PALADINA', 'G249'],\r\n ['BAGNATICA', 'A557'],\r\n ['ROTA D\\'IMAGNA', 'H584'],\r\n ['TORRE PALLAVICINA', 'L276'],\r\n ['TERNO D\\'ISOLA', 'L118'],\r\n ['AZZONE', 'A533'],\r\n ['ARCENE', 'A365'],\r\n ['PONTE NOSSA', 'F941'],\r\n ['CALVENZANO', 'B442'],\r\n ['PONTIROLO NUOVO', 'G867'],\r\n ['PONTIDA', 'G864'],\r\n ['VILLA D\\'ADDA', 'L929'],\r\n ['BRIGNANO GERA D\\'ADDA', 'B178'],\r\n ['TORRE BOLDONE', 'L251'],\r\n ['COLERE', 'C835'],\r\n ['MADONE', 'E794'],\r\n ['PREDORE', 'H020'],\r\n ['CIVIDATE AL PIANO', 'C759'],\r\n ['ONETA', 'G068'],\r\n ['ARDESIO', 'A383'],\r\n ['STROZZA', 'I986'],\r\n ['VEDESETA', 'L707'],\r\n ['BERZO SAN FERMO', 'A815'],\r\n ['CASTIONE DELLA PRESOLANA', 'C324'],\r\n ['RONCOBELLO', 'H535'],\r\n ['PRESEZZO', 'H046'],\r\n ['BRUMANO', 'B217'],\r\n ['OLMO AL BREMBO', 'G049'],\r\n ['LOVERE', 'E704'],\r\n ['BOLTIERE', 'A950'],\r\n ['PIANICO', 'G564'],\r\n ['VALGOGLIO', 'L579'],\r\n ['CALCIO', 'B395'],\r\n ['CALCINATE', 'B393'],\r\n ['CAVERNAGO', 'C396'],\r\n ['BOLGARE', 'A937'],\r\n ['GHISALBA', 'E006'],\r\n ['PIAZZOLO', 'G588'],\r\n ['PIAZZATORRE', 'G583'],\r\n ['CURNO', 'D221'],\r\n ['TELGATE', 'L087']\r\n ],\r\n BI: [\r\n ['VALDENGO', 'L556'],\r\n ['GIFFLENGA', 'E024'],\r\n ['CANDELO', 'B586'],\r\n ['SELVE MARCONE', 'I596'],\r\n ['SORDEVOLO', 'I847'],\r\n ['MASSAZZA', 'F037'],\r\n ['SOPRANA', 'I835'],\r\n ['CASTELLETTO CERVO', 'C155'],\r\n ['QUAREGNA', 'H103'],\r\n ['ZUMAGLIA', 'M201'],\r\n ['SOSTEGNO', 'I868'],\r\n ['ROPPOLO', 'H553'],\r\n ['ANDORNO MICCA', 'A280'],\r\n ['RONCO BIELLESE', 'H538'],\r\n ['QUITTENGO', 'H145'],\r\n ['CAMPIGLIA CERVO', 'B508'],\r\n ['GAGLIANICO', 'D848'],\r\n ['SALUSSOLA', 'H726'],\r\n ['COSSATO', 'D094'],\r\n ['PRAY', 'G974'],\r\n ['VIGLIANO BIELLESE', 'L880'],\r\n ['NETRO', 'F878'],\r\n ['CAPRILE', 'B708'],\r\n ['AILOCHE', 'A107'],\r\n ['CASAPINTA', 'B933'],\r\n ['MUZZANO', 'F833'],\r\n ['MONGRANDO', 'F369'],\r\n ['VEGLIO', 'L712'],\r\n ['CAMANDONA', 'B457'],\r\n ['CERRIONE', 'C532'],\r\n ['OCCHIEPPO INFERIORE', 'F992'],\r\n ['OCCHIEPPO SUPERIORE', 'F993'],\r\n ['GRAGLIA', 'E130'],\r\n ['CALLABIANA', 'B417'],\r\n ['PIATTO', 'G577'],\r\n ['PIEDICAVALLO', 'G594'],\r\n ['MASSERANO', 'F042'],\r\n ['BENNA', 'A784'],\r\n ['CURINO', 'D219'],\r\n ['SAN PAOLO CERVO', 'I074'],\r\n ['ZIMONE', 'M179'],\r\n ['VALLANZENGO', 'L586'],\r\n ['ROSAZZA', 'H561'],\r\n ['SANDIGLIANO', 'H821'],\r\n ['VALLE SAN NICOLAO', 'L620'],\r\n ['MOTTALCIATA', 'F776'],\r\n ['TOLLEGNO', 'L193'],\r\n ['BRUSNENGO', 'B229'],\r\n ['MIAGLIANO', 'F189'],\r\n ['DORZANO', 'D350'],\r\n ['VALLE MOSSO', 'L606'],\r\n ['ZUBIENA', 'M196'],\r\n ['CREVACUORE', 'D165'],\r\n ['BIELLA', 'A859'],\r\n ['VILLANOVA BIELLESE', 'L978'],\r\n ['TAVIGLIANO', 'L075'],\r\n ['MAGNANO', 'E821'],\r\n ['BIOGLIO', 'A876'],\r\n ['VERRONE', 'L785'],\r\n ['TRIVERO', 'L436'],\r\n ['SALA BIELLESE', 'H681'],\r\n ['TORRAZZO', 'L239'],\r\n ['DONATO', 'D339'],\r\n ['PORTULA', 'G927'],\r\n ['VILLA DEL BOSCO', 'L933'],\r\n ['CAMBURZANO', 'B465'],\r\n ['CAVAGLIA\\'', 'C363'],\r\n ['LESSONA', 'E552'],\r\n ['TERNENGO', 'L116'],\r\n ['MOSSO', 'M304'],\r\n ['VIVERONE', 'M098'],\r\n ['CERRETO CASTELLO', 'C526'],\r\n ['PETTINENGO', 'G521'],\r\n ['PRALUNGO', 'G980'],\r\n ['BORRIANA', 'B058'],\r\n ['STRONA', 'I980'],\r\n ['COGGIOLA', 'C819'],\r\n ['MEZZANA MORTIGLIENGO', 'F167'],\r\n ['CROSA', 'D182'],\r\n ['PONDERANO', 'G820'],\r\n ['SAGLIANO MICCA', 'H662'],\r\n ['POLLONE', 'G798']\r\n ],\r\n BL: [\r\n ['CALALZO DI CADORE', 'B375'],\r\n ['VODO DI CADORE', 'M108'],\r\n ['CORTINA D\\'AMPEZZO', 'A266'],\r\n ['LORENZAGO DI CADORE', 'E687'],\r\n ['SELVA DI CADORE', 'I592'],\r\n ['QUERO', 'H124'],\r\n ['CHIES D\\'ALPAGO', 'C630'],\r\n ['PIEVE D\\'ALPAGO', 'G638'],\r\n ['TAMBRE', 'L040'],\r\n ['VALLE DI CADORE', 'L590'],\r\n ['SAN NICOLO\\' DI COMELICO', 'I063'],\r\n ['PEDAVENA', 'G404'],\r\n ['LAMON', 'E429'],\r\n ['DANTA DI CADORE', 'D247'],\r\n ['SAN PIETRO DI CADORE', 'I088'],\r\n ['BELLUNO', 'A757'],\r\n ['LIVINALLONGO DEL COL DI LANA', 'E622'],\r\n ['PERAROLO DI CADORE', 'G442'],\r\n ['ZOPPE\\' DI CADORE', 'M189'],\r\n ['ALANO DI PIAVE', 'A121'],\r\n ['COMELICO SUPERIORE', 'C920'],\r\n ['MEL', 'F094'],\r\n ['SAN GREGORIO NELLE ALPI', 'H938'],\r\n ['TRICHIANA', 'L422'],\r\n ['LIMANA', 'E588'],\r\n ['GOSALDO', 'E113'],\r\n ['AGORDO', 'A083'],\r\n ['VAS', 'L692'],\r\n ['FORNO DI ZOLDO', 'D726'],\r\n ['SEREN DEL GRAPPA', 'I626'],\r\n ['BORCA DI CADORE', 'A982'],\r\n ['PUOS D\\'ALPAGO', 'H092'],\r\n ['FARRA D\\'ALPAGO', 'D506'],\r\n ['SOVERZENE', 'I876'],\r\n ['CENCENIGHE AGORDINO', 'C458'],\r\n ['FONZASO', 'D686'],\r\n ['CASTELLAVAZZO', 'C146'],\r\n ['AURONZO DI CADORE', 'A501'],\r\n ['VALLADA AGORDINA', 'L584'],\r\n ['PONTE NELLE ALPI', 'B662'],\r\n ['SOSPIROLO', 'I866'],\r\n ['PIEVE DI CADORE', 'G642'],\r\n ['ZOLDO ALTO', 'I345'],\r\n ['SAN TOMASO AGORDINO', 'I347'],\r\n ['RIVAMONTE AGORDINO', 'H327'],\r\n ['LONGARONE', 'E672'],\r\n ['LA VALLE AGORDINA', 'E490'],\r\n ['TAIBON AGORDINO', 'L030'],\r\n ['SEDICO', 'I563'],\r\n ['SANTO STEFANO DI CADORE', 'C919'],\r\n ['ARSIE\\'', 'A443'],\r\n ['OSPITALE DI CADORE', 'G169'],\r\n ['CANALE D\\'AGORDO', 'B574'],\r\n ['VIGO DI CADORE', 'L890'],\r\n ['DOMEGGE DI CADORE', 'D330'],\r\n ['SOVRAMONTE', 'I673'],\r\n ['SANTA GIUSTINA', 'I206'],\r\n ['LENTIAI', 'C562'],\r\n ['ROCCA PIETORE', 'H379'],\r\n ['FALCADE', 'D470'],\r\n ['FELTRE', 'D530'],\r\n ['SAPPADA', 'I421'],\r\n ['LOZZO DI CADORE', 'E708'],\r\n ['COLLE SANTA LUCIA', 'C872'],\r\n ['SAN VITO DI CADORE', 'I392'],\r\n ['VOLTAGO AGORDINO', 'M124'],\r\n ['CIBIANA DI CADORE', 'C672'],\r\n ['ALLEGHE', 'A206'],\r\n ['CESIOMAGGIORE', 'C577']\r\n ],\r\n BN: [\r\n ['AMOROSI', 'A265'],\r\n ['GINESTRA DEGLI SCHIAVONI', 'E034'],\r\n ['SAN NAZZARO', 'I049'],\r\n ['PIETRELCINA', 'G631'],\r\n ['SAN NICOLA MANFREDI', 'I062'],\r\n ['FOIANO DI VAL FORTORE', 'D650'],\r\n ['DURAZZANO', 'D386'],\r\n ['SAN BARTOLOMEO IN GALDO', 'H764'],\r\n ['CASALDUNI', 'B873'],\r\n ['CASTELPOTO', 'C250'],\r\n ['PAOLISI', 'G318'],\r\n ['PANNARANO', 'G311'],\r\n ['TOCCO CAUDIO', 'L185'],\r\n ['SAN GIORGIO LA MOLARA', 'H898'],\r\n ['SAN GIORGIO DEL SANNIO', 'H894'],\r\n ['CAMPOLI DEL MONTE TABURNO', 'B542'],\r\n ['CAMPOLATTARO', 'B541'],\r\n ['BASELICE', 'A696'],\r\n ['LIMATOLA', 'E589'],\r\n ['MOLINARA', 'F287'],\r\n ['REINO', 'H227'],\r\n ['MELIZZANO', 'F113'],\r\n ['CERRETO SANNITA', 'C525'],\r\n ['SASSINORO', 'I455'],\r\n ['APOLLOSA', 'A330'],\r\n ['FAICCHIO', 'D469'],\r\n ['SAN LUPO', 'H973'],\r\n ['FORCHIA', 'D693'],\r\n ['ARPAISE', 'A432'],\r\n ['ARPAIA', 'A431'],\r\n ['SAN LORENZELLO', 'H955'],\r\n ['SAN LEUCIO DEL SANNIO', 'H953'],\r\n ['BUONALBERGO', 'B267'],\r\n ['CAUTANO', 'C359'],\r\n ['AIROLA', 'A110'],\r\n ['CEPPALONI', 'C476'],\r\n ['GUARDIA SANFRAMONDI', 'E249'],\r\n ['SANT\\'ARCANGELO TRIMONTE', 'F557'],\r\n ['FRASSO TELESINO', 'D784'],\r\n ['BONEA', 'A970'],\r\n ['COLLE SANNITA', 'C846'],\r\n ['SANT\\'AGATA DE\\' GOTI', 'I197'],\r\n ['CUSANO MUTRI', 'D230'],\r\n ['BENEVENTO', 'A783'],\r\n ['PIETRAROJA', 'G626'],\r\n ['MONTESARCHIO', 'F636'],\r\n ['MONTEFALCONE DI VAL FORTORE', 'F494'],\r\n ['FOGLIANISE', 'D644'],\r\n ['CASTELPAGANO', 'C245'],\r\n ['PESCO SANNITA', 'G494'],\r\n ['PUGLIANELLO', 'H087'],\r\n ['SANTA CROCE DEL SANNIO', 'I179'],\r\n ['DUGENTA', 'D380'],\r\n ['MOIANO', 'F274'],\r\n ['CASTELVETERE IN VAL FORTORE', 'C284'],\r\n ['CASTELVENERE', 'C280'],\r\n ['MORCONE', 'F717'],\r\n ['APICE', 'A328'],\r\n ['PAUPISI', 'G386'],\r\n ['SAN MARTINO SANNITA', 'I002'],\r\n ['CIRCELLO', 'C719'],\r\n ['SAN SALVATORE TELESINO', 'I145'],\r\n ['SAN LORENZO MAGGIORE', 'H967'],\r\n ['VITULANO', 'M093'],\r\n ['CALVI', 'B444'],\r\n ['TORRECUSO', 'L254'],\r\n ['FRAGNETO L\\'ABATE', 'D755'],\r\n ['FRAGNETO MONFORTE', 'D756'],\r\n ['PONTELANDOLFO', 'G848'],\r\n ['PADULI', 'G227'],\r\n ['PONTE', 'G827'],\r\n ['SAN MARCO DEI CAVOTI', 'H984'],\r\n ['CASTELFRANCO IN MISCANO', 'C106'],\r\n ['BUCCIANO', 'B239'],\r\n ['SANT\\'ANGELO A CUPOLO', 'I277'],\r\n ['PAGO VEIANO', 'G243'],\r\n ['SOLOPACA', 'I809'],\r\n ['TELESE TERME', 'L086']\r\n ],\r\n BO: [\r\n ['VERGATO', 'L762'],\r\n ['MONTE SAN PIETRO', 'F627'],\r\n ['SAN GIOVANNI IN PERSICETO', 'G467'],\r\n ['ZOLA PREDOSA', 'M185'],\r\n ['LIZZANO IN BELVEDERE', 'A771'],\r\n ['PORRETTA TERME', 'A558'],\r\n ['CASTELLO DI SERRAVALLE', 'C191'],\r\n ['DOZZA', 'D360'],\r\n ['SASSO MARCONI', 'G972'],\r\n ['SAN GIORGIO DI PIANO', 'H896'],\r\n ['CASTEL D\\'AIANO', 'C075'],\r\n ['GRANAGLIONE', 'E135'],\r\n ['CASTENASO', 'C292'],\r\n ['BORGO TOSSIGNANO', 'B044'],\r\n ['MOLINELLA', 'F288'],\r\n ['MONZUNO', 'F706'],\r\n ['CRESPELLANO', 'D158'],\r\n ['BUDRIO', 'B249'],\r\n ['SAVIGNO', 'I474'],\r\n ['GALLIERA', 'D878'],\r\n ['CASTEL SAN PIETRO TERME', 'C265'],\r\n ['CASTELLO D\\'ARGILE', 'C185'],\r\n ['MONGHIDORO', 'F363'],\r\n ['ARGELATO', 'A392'],\r\n ['SANT\\'AGATA BOLOGNESE', 'I191'],\r\n ['BOLOGNA', 'A944'],\r\n ['CASALECCHIO DI RENO', 'B880'],\r\n ['GRANAROLO DELL\\'EMILIA', 'E136'],\r\n ['CASTIGLIONE DEI PEPOLI', 'C296'],\r\n ['CASTEL DEL RIO', 'C086'],\r\n ['PIANORO', 'G570'],\r\n ['SALA BOLOGNESE', 'H678'],\r\n ['MONTEVEGLIO', 'F659'],\r\n ['CASTEL GUELFO DI BOLOGNA', 'C121'],\r\n ['BENTIVOGLIO', 'A785'],\r\n ['SAN PIETRO IN CASALE', 'I110'],\r\n ['FONTANELICE', 'D668'],\r\n ['PIEVE DI CENTO', 'G643'],\r\n ['CASTEL MAGGIORE', 'C204'],\r\n ['GRIZZANA MORANDI', 'E187'],\r\n ['MARZABOTTO', 'B689'],\r\n ['MALALBERGO', 'E844'],\r\n ['MINERBIO', 'F219'],\r\n ['IMOLA', 'E289'],\r\n ['CREVALCORE', 'D166'],\r\n ['GAGGIO MONTANO', 'D847'],\r\n ['BAZZANO', 'A726'],\r\n ['LOIANO', 'E655'],\r\n ['MEDICINA', 'F083'],\r\n ['MORDANO', 'F718'],\r\n ['CAMUGNANO', 'B572'],\r\n ['CASTEL DI CASIO', 'B969'],\r\n ['ANZOLA DELL\\'EMILIA', 'A324'],\r\n ['MONTERENZIO', 'F597'],\r\n ['BARICELLA', 'A665'],\r\n ['CALDERARA DI RENO', 'B399'],\r\n ['SAN LAZZARO DI SAVENA', 'H945'],\r\n ['OZZANO DELL\\'EMILIA', 'G205'],\r\n ['SAN BENEDETTO VAL DI SAMBRO', 'G566'],\r\n ['CASALFIUMANESE', 'B892']\r\n ],\r\n BR: [\r\n ['CELLINO SAN MARCO', 'C448'],\r\n ['SAN MICHELE SALENTINO', 'I045'],\r\n ['CEGLIE MESSAPICO', 'C424'],\r\n ['SAN PANCRAZIO SALENTINO', 'I066'],\r\n ['ERCHIE', 'D422'],\r\n ['ORIA', 'G098'],\r\n ['MESAGNE', 'F152'],\r\n ['CISTERNINO', 'C741'],\r\n ['TORRE SANTA SUSANNA', 'L280'],\r\n ['FASANO', 'D508'],\r\n ['FRANCAVILLA FONTANA', 'D761'],\r\n ['SAN PIETRO VERNOTICO', 'I119'],\r\n ['CAROVIGNO', 'B809'],\r\n ['SAN DONACI', 'H822'],\r\n ['OSTUNI', 'G187'],\r\n ['LATIANO', 'E471'],\r\n ['BRINDISI', 'B180'],\r\n ['TORCHIAROLO', 'L213'],\r\n ['VILLA CASTELLI', 'L920'],\r\n ['SAN VITO DEI NORMANNI', 'I396']\r\n ],\r\n BS: [\r\n ['ODOLO', 'G001'],\r\n ['OFFLAGA', 'G006'],\r\n ['TOSCOLANO-MADERNO', 'L312'],\r\n ['GAVARDO', 'D940'],\r\n ['CORTE FRANCA', 'D058'],\r\n ['CHIARI', 'C618'],\r\n ['VOBARNO', 'M104'],\r\n ['TRAVAGLIATO', 'L339'],\r\n ['BERLINGO', 'A799'],\r\n ['COLOGNE', 'C893'],\r\n ['SONICO', 'I831'],\r\n ['CAZZAGO SAN MARTINO', 'C408'],\r\n ['SAN PAOLO', 'G407'],\r\n ['CARPENEDOLO', 'B817'],\r\n ['MANERBIO', 'E884'],\r\n ['CAPOVALLE', 'B676'],\r\n ['MALEGNO', 'E851'],\r\n ['SAN FELICE DEL BENACO', 'H838'],\r\n ['BAGOLINO', 'A578'],\r\n ['ANFO', 'A288'],\r\n ['SULZANO', 'L002'],\r\n ['CAPRIANO DEL COLLE', 'B698'],\r\n ['INCUDINE', 'E297'],\r\n ['QUINZANO D\\'OGLIO', 'H140'],\r\n ['GARGNANO', 'D924'],\r\n ['CAPRIOLO', 'B711'],\r\n ['POZZOLENGO', 'G959'],\r\n ['PALAZZOLO SULL\\'OGLIO', 'G264'],\r\n ['VIONE', 'M065'],\r\n ['TREVISO BRESCIANO', 'L406'],\r\n ['ARTOGNE', 'A451'],\r\n ['ORZIVECCHI', 'G150'],\r\n ['GAMBARA', 'D891'],\r\n ['PRALBOINO', 'G977'],\r\n ['LONATO', 'E667'],\r\n ['CASTELCOVATI', 'C072'],\r\n ['PASSIRANO', 'G361'],\r\n ['COMEZZANO-CIZZAGO', 'C925'],\r\n ['OSPITALETTO', 'G170'],\r\n ['OSSIMO', 'G179'],\r\n ['CASTENEDOLO', 'C293'],\r\n ['PASPARDO', 'G354'],\r\n ['ISORELLA', 'E364'],\r\n ['TIGNALE', 'L169'],\r\n ['BIENNO', 'A861'],\r\n ['CASTEGNATO', 'C055'],\r\n ['GOTTOLENGO', 'E116'],\r\n ['CONCESIO', 'C948'],\r\n ['TAVERNOLE SUL MELLA', 'C698'],\r\n ['AGNOSINE', 'A082'],\r\n ['VILLACHIARA', 'L923'],\r\n ['SALE MARASINO', 'H699'],\r\n ['NAVE', 'F851'],\r\n ['VALVESTINO', 'L468'],\r\n ['ROVATO', 'H598'],\r\n ['PAVONE DEL MELLA', 'G391'],\r\n ['IRMA', 'E325'],\r\n ['SAVIORE DELL\\'ADAMELLO', 'I476'],\r\n ['SOIANO DEL LAGO', 'I782'],\r\n ['CIVIDATE CAMUNO', 'C760'],\r\n ['BARBARIGA', 'A630'],\r\n ['ALFIANELLO', 'A188'],\r\n ['LENO', 'E526'],\r\n ['CEDEGOLO', 'C417'],\r\n ['SAN ZENO NAVIGLIO', 'I412'],\r\n ['BORGOSATOLLO', 'B040'],\r\n ['ONO SAN PIETRO', 'G074'],\r\n ['PADENGHE SUL GARDA', 'G213'],\r\n ['PADERNO FRANCIACORTA', 'G217'],\r\n ['CALVISANO', 'B450'],\r\n ['PONTEVICO', 'G859'],\r\n ['CIGOLE', 'C685'],\r\n ['SAREZZO', 'I433'],\r\n ['NUVOLERA', 'F990'],\r\n ['GHEDI', 'D999'],\r\n ['CALVAGESE DELLA RIVIERA', 'B436'],\r\n ['SENIGA', 'I607'],\r\n ['GARDONE RIVIERA', 'D917'],\r\n ['CASTREZZATO', 'C332'],\r\n ['CASTO', 'C330'],\r\n ['COCCAGLIO', 'C806'],\r\n ['MARCHENO', 'E928'],\r\n ['PRESTINE', 'H050'],\r\n ['PREVALLE', 'H055'],\r\n ['BRENO', 'B149'],\r\n ['EDOLO', 'D391'],\r\n ['POMPIANO', 'G815'],\r\n ['PONCARALE', 'G818'],\r\n ['GIANICO', 'E010'],\r\n ['PROVAGLIO D\\'ISEO', 'H078'],\r\n ['PROVAGLIO VAL SABBIA', 'H077'],\r\n ['MAZZANO', 'F063'],\r\n ['LUMEZZANE', 'E738'],\r\n ['VEROLAVECCHIA', 'L778'],\r\n ['VEROLANUOVA', 'L777'],\r\n ['MONTICHIARI', 'F471'],\r\n ['CEVO', 'C591'],\r\n ['LOSINE', 'E698'],\r\n ['ERBUSCO', 'D421'],\r\n ['MARMENTINO', 'E961'],\r\n ['MARONE', 'E967'],\r\n ['RUDIANO', 'H630'],\r\n ['TEMU\\'', 'L094'],\r\n ['SELLERO', 'I588'],\r\n ['SABBIO CHIESE', 'H650'],\r\n ['CELLATICA', 'C439'],\r\n ['CAINO', 'B365'],\r\n ['MONTICELLI BRUSATI', 'F672'],\r\n ['BOVEZZO', 'B102'],\r\n ['BOVEGNO', 'B100'],\r\n ['CORTENO GOLGI', 'D064'],\r\n ['AZZANO MELLA', 'A529'],\r\n ['ADRO', 'A060'],\r\n ['BRANDICO', 'B120'],\r\n ['BRAONE', 'B124'],\r\n ['GARDONE VAL TROMPIA', 'D918'],\r\n ['COLLIO', 'C883'],\r\n ['DELLO', 'D270'],\r\n ['CAPO DI PONTE', 'B664'],\r\n ['PERTICA ALTA', 'G474'],\r\n ['PERTICA BASSA', 'G475'],\r\n ['BAGNOLO MELLA', 'A569'],\r\n ['ANGOLO TERME', 'A293'],\r\n ['ROE\\' VOLCIANO', 'H484'],\r\n ['CASTEL MELLA', 'C208'],\r\n ['DARFO BOARIO TERME', 'D251'],\r\n ['VESTONE', 'L812'],\r\n ['VEZZA D\\'OGLIO', 'L816'],\r\n ['PARATICO', 'G327'],\r\n ['MAIRANO', 'E841'],\r\n ['MILZANO', 'F216'],\r\n ['VALLIO TERME', 'L626'],\r\n ['SALO\\'', 'H717'],\r\n ['BERZO INFERIORE', 'A817'],\r\n ['TRENZANO', 'L380'],\r\n ['IDRO', 'E280'],\r\n ['RONCADELLE', 'H525'],\r\n ['MALONNO', 'E865'],\r\n ['BRESCIA', 'B157'],\r\n ['LIMONE SUL GARDA', 'E596'],\r\n ['BRIONE', 'B184'],\r\n ['SAN GERVASIO BRESCIANO', 'H865'],\r\n ['BASSANO BRESCIANO', 'A702'],\r\n ['LONGHENA', 'E673'],\r\n ['LAVENONE', 'E497'],\r\n ['MONTE ISOLA', 'F532'],\r\n ['VISANO', 'M070'],\r\n ['ORZINUOVI', 'G149'],\r\n ['MAGASA', 'E800'],\r\n ['CORZANO', 'D082'],\r\n ['PUEGNAGO SUL GARDA', 'H086'],\r\n ['BEDIZZOLE', 'A729'],\r\n ['POLAVENO', 'G779'],\r\n ['LOGRATO', 'E654'],\r\n ['LODRINO', 'E652'],\r\n ['NIARDO', 'F884'],\r\n ['BIONE', 'A878'],\r\n ['REZZATO', 'H256'],\r\n ['ESINE', 'D434'],\r\n ['CERVENO', 'C549'],\r\n ['BORGO SAN GIACOMO', 'B035'],\r\n ['REMEDELLO', 'H230'],\r\n ['MACLODIO', 'E787'],\r\n ['BARGHE', 'A661'],\r\n ['TORBOLE CASAGLIA', 'L210'],\r\n ['VILLA CARCINA', 'L919'],\r\n ['PAISCO LOVENO', 'G247'],\r\n ['PISOGNE', 'G710'],\r\n ['PAITONE', 'G248'],\r\n ['MUSCOLINE', 'F820'],\r\n ['MANERBA DEL GARDA', 'E883'],\r\n ['ISEO', 'E333'],\r\n ['MURA', 'F806'],\r\n ['MONIGA DEL GARDA', 'F373'],\r\n ['MONNO', 'F375'],\r\n ['URAGO D\\'OGLIO', 'L494'],\r\n ['PONTOGLIO', 'G869'],\r\n ['SERLE', 'I631'],\r\n ['SIRMIONE', 'I633'],\r\n ['CIMBERGO', 'C691'],\r\n ['PEZZAZE', 'G529'],\r\n ['OME', 'G061'],\r\n ['GUSSAGO', 'E271'],\r\n ['MONTIRONE', 'F680'],\r\n ['PONTE DI LEGNO', 'G844'],\r\n ['BERZO DEMO', 'A816'],\r\n ['BORNO', 'B054'],\r\n ['PIANCOGNO', 'G549'],\r\n ['PIAN CAMUNO', 'G546'],\r\n ['PRESEGLIE', 'H043'],\r\n ['CETO', 'C585'],\r\n ['NUVOLENTO', 'F989'],\r\n ['LOZIO', 'E706'],\r\n ['FLERO', 'D634'],\r\n ['RODENGO-SAIANO', 'H477'],\r\n ['BOTTICINO', 'B091'],\r\n ['FIESSE', 'D576'],\r\n ['ACQUAFREDDA', 'A034'],\r\n ['VILLANUOVA SUL CLISI', 'L995'],\r\n ['TREMOSINE', 'L372'],\r\n ['ZONE', 'M188'],\r\n ['CALCINATO', 'B394'],\r\n ['DESENZANO DEL GARDA', 'D284'],\r\n ['POLPENAZZE DEL GARDA', 'G801'],\r\n ['COLLEBEATO', 'C850'],\r\n ['ROCCAFRANCA', 'H410']\r\n ],\r\n BT: [\r\n ['ANDRIA', 'A285'],\r\n ['BARLETTA', 'A669'],\r\n ['BISCEGLIE', 'A883'],\r\n ['CANOSA DI PUGLIA', 'B619'],\r\n ['MARGHERITA DI SAVOIA', 'E946'],\r\n ['MINERVINO MURGE', 'F220'],\r\n ['SAN FERDINANDO DI PUGLIA', 'H839'],\r\n ['SPINAZZOLA', 'I907'],\r\n ['TRANI', 'L328'],\r\n ['TRINITAPOLI', 'B915']\r\n ],\r\n BZ: [\r\n ['VALDAORA', 'L552'],\r\n ['BRAIES', 'B116'],\r\n ['SAN CANDIDO', 'H786'],\r\n ['SELVA DI VAL GARDENA', 'I591'],\r\n ['SELVA DEI MOLINI', 'I593'],\r\n ['LUSON', 'E764'],\r\n ['CORVARA IN BADIA', 'D079'],\r\n ['CORTINA SULLA STRADA DEL VINO', 'D075'],\r\n ['RIFIANO', 'H284'],\r\n ['TESIMO', 'L149'],\r\n ['MARLENGO', 'E959'],\r\n ['VALLE AURINA', 'L595'],\r\n ['FALZES', 'D484'],\r\n ['SAN PANCRAZIO', 'I065'],\r\n ['LAIVES', 'E421'],\r\n ['LAION', 'E420'],\r\n ['ANDRIANO', 'A286'],\r\n ['PERCA', 'G443'],\r\n ['SAN GENESIO ATESINO', 'H858'],\r\n ['CASTELROTTO', 'C254'],\r\n ['MOSO IN PASSIRIA', 'F766'],\r\n ['SCENA', 'I519'],\r\n ['GARGAZZONE', 'D923'],\r\n ['LAUREGNO', 'E481'],\r\n ['CAMPO DI TRENS', 'B529'],\r\n ['VIPITENO', 'M067'],\r\n ['TERENTO', 'L106'],\r\n ['SILANDRO', 'I729'],\r\n ['TRODENA', 'L444'],\r\n ['MELTINA', 'F118'],\r\n ['LAGUNDO', 'E412'],\r\n ['POSTAL', 'G936'],\r\n ['APPIANO SULLA STRADA DEL VINO', 'A332'],\r\n ['NAZ SCIAVES', 'F856'],\r\n ['MERANO', 'F132'],\r\n ['CORNEDO ALL\\'ISARCO', 'B799'],\r\n ['NOVA PONENTE', 'F950'],\r\n ['NALLES', 'F836'],\r\n ['SAN LORENZO DI SEBATO', 'H956'],\r\n ['SAN LEONARDO IN PASSIRIA', 'H952'],\r\n ['BARBIANO', 'A635'],\r\n ['BADIA', 'A537'],\r\n ['TERLANO', 'L108'],\r\n ['PREDOI', 'H019'],\r\n ['SARENTINO', 'I431'],\r\n ['BRONZOLO', 'B203'],\r\n ['VADENA', 'L527'],\r\n ['PONTE GARDENA', 'G830'],\r\n ['SENALE-SAN FELICE', 'I603'],\r\n ['SENALES', 'I604'],\r\n ['BRUNICO', 'B220'],\r\n ['EGNA', 'D392'],\r\n ['VAL DI VIZZE', 'L564'],\r\n ['CERMES', 'A022'],\r\n ['CORTACCIA SULLA STRADA DEL VINO', 'D048'],\r\n ['PLAUS', 'G299'],\r\n ['CAINES', 'B364'],\r\n ['CASTELBELLO CIARDES', 'C062'],\r\n ['SESTO', 'I687'],\r\n ['VANDOIES', 'L660'],\r\n ['CHIENES', 'C625'],\r\n ['AVELENGO', 'A507'],\r\n ['LANA', 'E434'],\r\n ['MARTELLO', 'E981'],\r\n ['LASA', 'E457'],\r\n ['ALDINO', 'A179'],\r\n ['PARCINES', 'G328'],\r\n ['RACINES', 'H152'],\r\n ['SALORNO', 'H719'],\r\n ['VELTURNO', 'L724'],\r\n ['MALLES VENOSTA', 'E862'],\r\n ['VALLE DI CASIES', 'L601'],\r\n ['RASUN ANTERSELVA', 'H189'],\r\n ['SLUDERNO', 'I771'],\r\n ['STELVIO', 'I948'],\r\n ['LA VALLE', 'E491'],\r\n ['RIO DI PUSTERIA', 'H299'],\r\n ['ORTISEI', 'G140'],\r\n ['PROVES', 'H081'],\r\n ['VILLANDRO', 'L971'],\r\n ['SANTA CRISTINA VALGARDENA', 'I173'],\r\n ['MAGRE\\' SULLA STRADA DEL VINO', 'E829'],\r\n ['DOBBIACO', 'D311'],\r\n ['TIROLO', 'L178'],\r\n ['TIRES', 'L176'],\r\n ['ANTERIVO', 'A306'],\r\n ['CAMPO TURES', 'B570'],\r\n ['BRENNERO', 'B145'],\r\n ['RENON', 'H236'],\r\n ['NATURNO', 'F849'],\r\n ['TUBRE', 'L455'],\r\n ['VARNA', 'L687'],\r\n ['VILLABASSA', 'L915'],\r\n ['TERMENO SULLA STRADA DEL VINO', 'L111'],\r\n ['PRATO ALLO STELVIO', 'H004'],\r\n ['FORTEZZA', 'D731'],\r\n ['ORA', 'G083'],\r\n ['NOVA LEVANTE', 'F949'],\r\n ['MONGUELFO', 'F371'],\r\n ['ULTIMO', 'L490'],\r\n ['MONTAGNA', 'F392'],\r\n ['FUNES', 'D821'],\r\n ['GAIS', 'D860'],\r\n ['SAN MARTINO IN PASSIRIA', 'H989'],\r\n ['SAN MARTINO IN BADIA', 'H988'],\r\n ['BOLZANO', 'A952'],\r\n ['CHIUSA', 'C652'],\r\n ['GLORENZA', 'E069'],\r\n ['LACES', 'E398'],\r\n ['RODENGO', 'H475'],\r\n ['MAREBBE', 'E938'],\r\n ['FIE\\' ALLO SCILIAR', 'D571'],\r\n ['CALDARO SULLA STRADA DEL VINO', 'B397'],\r\n ['VERANO', 'L745'],\r\n ['BRESSANONE', 'B160'],\r\n ['CURON VENOSTA', 'D222']\r\n ],\r\n CA: [\r\n ['CARBONIA', 'B745'],\r\n ['GIBA', 'E022'],\r\n ['SAN GIOVANNI SUERGIU', 'G287'],\r\n ['TRATALIAS', 'L337'],\r\n ['CAGLIARI', 'B354'],\r\n ['SETTIMO SAN PIETRO', 'I699'],\r\n ['SESTU', 'I695'],\r\n ['LUNAMATRONA', 'E742'],\r\n ['DECIMOPUTZU', 'D260'],\r\n ['SANT\\'ANNA ARRESI', 'M209'],\r\n ['GONI', 'E084'],\r\n ['CAPOTERRA', 'B675'],\r\n ['SAN BASILIO', 'H766'],\r\n ['PERDAXIUS', 'G446'],\r\n ['MANDAS', 'E877'],\r\n ['FLUMINIMAGGIORE', 'D639'],\r\n ['SAN GAVINO MONREALE', 'H856'],\r\n ['VILLASIMIUS', 'B738'],\r\n ['SIURGUS DONIGALA', 'I765'],\r\n ['DONORI', 'D344'],\r\n ['LAS PLASSAS', 'E464'],\r\n ['VALLERMOSA', 'L613'],\r\n ['SETZU', 'I705'],\r\n ['SEGARIU', 'I570'],\r\n ['SIDDI', 'I724'],\r\n ['VILLAMAR', 'L966'],\r\n ['VILLAMASSARGIA', 'L968'],\r\n ['SANT\\'ANTIOCO', 'I294'],\r\n ['ASSEMINI', 'A474'],\r\n ['VILLASOR', 'M025'],\r\n ['VILLASPECIOSA', 'M026'],\r\n ['BARRALI', 'A677'],\r\n ['ARMUNGIA', 'A419'],\r\n ['DOLIANOVA', 'D323'],\r\n ['SANLURI', 'H974'],\r\n ['TUILI', 'L463'],\r\n ['SERRENTI', 'I667'],\r\n ['ORTACESUS', 'G133'],\r\n ['SAN VITO', 'I402'],\r\n ['ARBUS', 'A359'],\r\n ['SERRAMANNA', 'I647'],\r\n ['FURTEI', 'D827'],\r\n ['SERDIANA', 'I624'],\r\n ['UTA', 'L521'],\r\n ['NUXIS', 'F991'],\r\n ['SUELLI', 'I995'],\r\n ['GESTURI', 'D997'],\r\n ['GESICO', 'D994'],\r\n ['BALLAO', 'A597'],\r\n ['PISCINAS', 'M291'],\r\n ['ELMAS', 'D399'],\r\n ['GENURI', 'D970'],\r\n ['VILLAPERUCCIO', 'M278'],\r\n ['MASAINAS', 'M270'],\r\n ['MARACALAGONIS', 'E903'],\r\n ['VILLANOVAFRANCA', 'L987'],\r\n ['VILLANOVAFORRU', 'L986'],\r\n ['CALASETTA', 'B383'],\r\n ['MONSERRATO', 'F383'],\r\n ['SELEGAS', 'I582'],\r\n ['SELARGIUS', 'I580'],\r\n ['VILLA SAN PIETRO', 'I118'],\r\n ['QUARTU SANT\\'ELENA', 'H118'],\r\n ['QUARTUCCIU', 'H119'],\r\n ['COLLINAS', 'C882'],\r\n ['DECIMOMANNU', 'D259'],\r\n ['SINNAI', 'I752'],\r\n ['PIMENTEL', 'G669'],\r\n ['IGLESIAS', 'E281'],\r\n ['SAMASSI', 'H738'],\r\n ['SAMATZAI', 'H739'],\r\n ['PULA', 'H088'],\r\n ['VILLASALTO', 'M016'],\r\n ['SILIUS', 'I735'],\r\n ['SILIQUA', 'I734'],\r\n ['BARUMINI', 'A681'],\r\n ['DOMUSNOVAS', 'D334'],\r\n ['DOMUS DE MARIA', 'D333'],\r\n ['TEULADA', 'L154'],\r\n ['PORTOSCUSO', 'G922'],\r\n ['NARCAO', 'F841'],\r\n ['MONASTIR', 'F333'],\r\n ['PAULI ARBAREI', 'G382'],\r\n ['SAN NICOLO\\' GERREI', 'G383'],\r\n ['SARROCH', 'I443'],\r\n ['MUSEI', 'F822'],\r\n ['TURRI', 'L473'],\r\n ['GONNESA', 'E086'],\r\n ['GONNOSFANADIGA', 'E085'],\r\n ['BUGGERRU', 'B250'],\r\n ['SOLEMINIS', 'I797'],\r\n ['GUAMAGGIORE', 'E234'],\r\n ['CARLOFORTE', 'B789'],\r\n ['MURAVERA', 'F808'],\r\n ['VILLACIDRO', 'L924'],\r\n ['BURCEI', 'B274'],\r\n ['SANTADI', 'I182'],\r\n ['PABILLONIS', 'G207'],\r\n ['GUSPINI', 'E270'],\r\n ['SENORBI\\'', 'I615'],\r\n ['SARDARA', 'I428'],\r\n ['USSANA', 'L512'],\r\n ['USSARAMANNA', 'L513'],\r\n ['NURAMINIS', 'F983'],\r\n ['SAN SPERATE', 'I166'],\r\n ['GUASILA', 'E252'],\r\n ['CASTIADAS', 'M288'],\r\n ['SANT\\'ANDREA FRIUS', 'I271'],\r\n ['VILLAPUTZU', 'L998']\r\n ],\r\n CB: [\r\n ['SAN POLO MATESE', 'I122'],\r\n ['ACQUAVIVA COLLECROCE', 'A050'],\r\n ['LUPARA', 'E748'],\r\n ['SAN BIASE', 'H782'],\r\n ['PIETRACUPA', 'G610'],\r\n ['SANT\\'ANGELO LIMOSANO', 'I289'],\r\n ['SAN MASSIMO', 'I023'],\r\n ['MATRICE', 'F055'],\r\n ['SAN GIACOMO DEGLI SCHIAVONI', 'H867'],\r\n ['TAVENNA', 'L069'],\r\n ['MONTELONGO', 'F548'],\r\n ['CASTELLINO DEL BIFERNO', 'C175'],\r\n ['SAN FELICE DEL MOLISE', 'H833'],\r\n ['CASALCIPRANO', 'B871'],\r\n ['MONTEMITRO', 'F569'],\r\n ['CASACALENDA', 'B858'],\r\n ['CASTELMAURO', 'C197'],\r\n ['MORRONE DEL SANNIO', 'F748'],\r\n ['CAMPOCHIARO', 'B522'],\r\n ['CAMPODIPIETRA', 'B528'],\r\n ['CERCEPICCOLA', 'C488'],\r\n ['CERCEMAGGIORE', 'C486'],\r\n ['GAMBATESA', 'D896'],\r\n ['CAMPOLIETO', 'B544'],\r\n ['PORTOCANNONE', 'G910'],\r\n ['SPINETE', 'I910'],\r\n ['SALCITO', 'H693'],\r\n ['PALATA', 'G257'],\r\n ['MONACILIONI', 'F322'],\r\n ['CIVITACAMPOMARANO', 'C764'],\r\n ['PETRELLA TIFERNINA', 'G512'],\r\n ['RICCIA', 'H273'],\r\n ['BARANELLO', 'A616'],\r\n ['SAN MARTINO IN PENSILIS', 'H990'],\r\n ['JELSI', 'E381'],\r\n ['URURI', 'L505'],\r\n ['GUARDIAREGIA', 'E248'],\r\n ['BONEFRO', 'A971'],\r\n ['MONTECILFONE', 'F475'],\r\n ['GILDONE', 'E030'],\r\n ['PIETRACATELLA', 'G609'],\r\n ['MONTEFALCONE NEL SANNIO', 'F495'],\r\n ['SANT\\'ELIA A PIANISI', 'I320'],\r\n ['MONTENERO DI BISACCIA', 'F576'],\r\n ['GUGLIONESI', 'E259'],\r\n ['CAMPOBASSO', 'B519'],\r\n ['VINCHIATURO', 'M057'],\r\n ['MIRABELLO SANNITICO', 'F233'],\r\n ['PROVVIDENTI', 'H083'],\r\n ['LARINO', 'E456'],\r\n ['CAMPOMARINO', 'B550'],\r\n ['GUARDIALFIERA', 'E244'],\r\n ['CASTELBOTTACCIO', 'C066'],\r\n ['SAN GIOVANNI IN GALDO', 'H920'],\r\n ['SAN GIULIANO DI PUGLIA', 'H929'],\r\n ['SAN GIULIANO DEL SANNIO', 'H928'],\r\n ['TRIVENTO', 'L435'],\r\n ['LIMOSANO', 'E599'],\r\n ['TORO', 'L230'],\r\n ['BUSSO', 'B295'],\r\n ['MOLISE', 'F294'],\r\n ['MACCHIA VALFORTORE', 'E780'],\r\n ['TUFARA', 'L458'],\r\n ['TORELLA DEL SANNIO', 'L215'],\r\n ['RIPABOTTONI', 'H311'],\r\n ['RIPALIMOSANI', 'H313'],\r\n ['ROTELLO', 'H589'],\r\n ['PETACCIATO', 'G506'],\r\n ['TERMOLI', 'L113'],\r\n ['FOSSALTO', 'D737'],\r\n ['DURONIA', 'C772'],\r\n ['ORATINO', 'G086'],\r\n ['CASTROPIGNANO', 'C346'],\r\n ['MAFALDA', 'E799'],\r\n ['MONTAGANO', 'F391'],\r\n ['SANTA CROCE DI MAGLIANO', 'I181'],\r\n ['MONTORIO NEI FRENTANI', 'F689'],\r\n ['SEPINO', 'I618'],\r\n ['ROCCAVIVARA', 'H454'],\r\n ['COLLETORTO', 'C875'],\r\n ['LUCITO', 'E722'],\r\n ['BOIANO', 'A930'],\r\n ['COLLE D\\'ANCHISE', 'C854'],\r\n ['FERRAZZANO', 'D550']\r\n ],\r\n CE: [\r\n ['ROCCAROMANA', 'H436'],\r\n ['CANCELLO ED ARNONE', 'B581'],\r\n ['GIOIA SANNITICA', 'E039'],\r\n ['CASTEL DI SASSO', 'C097'],\r\n ['PIETRAVAIRANO', 'G630'],\r\n ['VALLE DI MADDALONI', 'L591'],\r\n ['VALLE AGRICOLA', 'L594'],\r\n ['AVERSA', 'A512'],\r\n ['SPARANISE', 'I885'],\r\n ['CASTEL MORRONE', 'C211'],\r\n ['CASTELLO DEL MATESE', 'C178'],\r\n ['RUVIANO', 'H165'],\r\n ['MIGNANO MONTE LUNGO', 'F203'],\r\n ['SAN FELICE A CANCELLO', 'H834'],\r\n ['BELLONA', 'A755'],\r\n ['BAIA E LATINA', 'A579'],\r\n ['CASAL DI PRINCIPE', 'B872'],\r\n ['MARZANO APPIO', 'E998'],\r\n ['SAN PRISCO', 'I131'],\r\n ['SAN POTITO SANNITICO', 'I130'],\r\n ['VILLA DI BRIANO', 'D801'],\r\n ['LUSCIANO', 'E754'],\r\n ['CAPUA', 'B715'],\r\n ['RIARDO', 'H268'],\r\n ['CASTEL VOLTURNO', 'C291'],\r\n ['DRAGONI', 'D361'],\r\n ['CARINARO', 'B779'],\r\n ['SAN GREGORIO MATESE', 'H939'],\r\n ['SANTA MARIA A VICO', 'I233'],\r\n ['VILLA LITERNO', 'L844'],\r\n ['CAPRIATI A VOLTURNO', 'B704'],\r\n ['CERVINO', 'C558'],\r\n ['CASALUCE', 'B916'],\r\n ['TORA E PICCILLI', 'L205'],\r\n ['RAVISCANINA', 'H202'],\r\n ['SAN MARCELLINO', 'H978'],\r\n ['AILANO', 'A106'],\r\n ['ORTA DI ATELLA', 'G130'],\r\n ['CASAPULLA', 'B935'],\r\n ['FORMICOLA', 'D709'],\r\n ['GRAZZANISE', 'E158'],\r\n ['CAMIGLIANO', 'B477'],\r\n ['ALVIGNANO', 'A243'],\r\n ['PRATA SANNITA', 'G991'],\r\n ['PRATELLA', 'G995'],\r\n ['SUCCIVO', 'I993'],\r\n ['FRANCOLISE', 'D769'],\r\n ['GIANO VETUSTO', 'E011'],\r\n ['SAN CIPRIANO D\\'AVERSA', 'H798'],\r\n ['ROCCAMONFINA', 'H423'],\r\n ['PIEDIMONTE MATESE', 'G596'],\r\n ['SAN MARCO EVANGELISTA', 'F043'],\r\n ['VAIRANO PATENORA', 'L540'],\r\n ['SAN NICOLA LA STRADA', 'I056'],\r\n ['CAIAZZO', 'B362'],\r\n ['CAIANELLO', 'B361'],\r\n ['FONTEGRECA', 'D683'],\r\n ['CAPODRISE', 'B667'],\r\n ['SAN PIETRO INFINE', 'I113'],\r\n ['SANTA MARIA CAPUA VETERE', 'I234'],\r\n ['PIETRAMELARA', 'G620'],\r\n ['SANT\\'ARPINO', 'I306'],\r\n ['CASTEL CAMPAGNANO', 'B494'],\r\n ['CASAGIOVE', 'B860'],\r\n ['PIGNATARO MAGGIORE', 'G661'],\r\n ['GALLO MATESE', 'D884'],\r\n ['GALLUCCIO', 'D886'],\r\n ['PORTICO DI CASERTA', 'G903'],\r\n ['CONCA DELLA CAMPANIA', 'C939'],\r\n ['CASERTA', 'B963'],\r\n ['TEVEROLA', 'L155'],\r\n ['MACERATA CAMPANIA', 'E784'],\r\n ['SESSA AURUNCA', 'I676'],\r\n ['ARIENZO', 'A403'],\r\n ['CESA', 'C561'],\r\n ['LIBERI', 'E570'],\r\n ['CIORLANO', 'C716'],\r\n ['RECALE', 'H210'],\r\n ['FALCIANO DEL MASSICO', 'D471'],\r\n ['SAN TAMMARO', 'I261'],\r\n ['LETINO', 'E554'],\r\n ['CARINOLA', 'B781'],\r\n ['GRICIGNANO DI AVERSA', 'E173'],\r\n ['ROCCA D\\'EVANDRO', 'H398'],\r\n ['VITULAZIO', 'M092'],\r\n ['CALVI RISORTA', 'B445'],\r\n ['SANTA MARIA LA FOSSA', 'I247'],\r\n ['MADDALONI', 'E791'],\r\n ['PONTELATONE', 'G849'],\r\n ['MONDRAGONE', 'F352'],\r\n ['PIANA DI MONTE VERNA', 'G541'],\r\n ['ROCCHETTA E CROCE', 'H459'],\r\n ['PARETE', 'G333'],\r\n ['PRESENZANO', 'H045'],\r\n ['ALIFE', 'A200'],\r\n ['MARCIANISE', 'E932'],\r\n ['FRIGNANO', 'D799'],\r\n ['SANT\\'ANGELO D\\'ALIFE', 'I273'],\r\n ['TRENTOLA DUCENTA', 'L379'],\r\n ['PASTORANO', 'G364'],\r\n ['CELLOLE', 'M262'],\r\n ['CASAPESENNA', 'M260'],\r\n ['CURTI', 'D228'],\r\n ['TEANO', 'L083']\r\n ],\r\n CH: [\r\n ['CASTEL FRENTANO', 'C114'],\r\n ['SAN BUONO', 'H784'],\r\n ['PIETRAFERRAZZANA', 'G613'],\r\n ['ROCCA SAN GIOVANNI', 'H439'],\r\n ['CUPELLO', 'D209'],\r\n ['CELENZA SUL TRIGNO', 'C428'],\r\n ['CHIETI', 'C632'],\r\n ['TARANTA PELIGNA', 'L047'],\r\n ['FALLO', 'D480'],\r\n ['LAMA DEI PELIGNI', 'E424'],\r\n ['ROIO DEL SANGRO', 'H495'],\r\n ['SANT\\'EUSANIO DEL SANGRO', 'I335'],\r\n ['MOZZAGROGNA', 'F785'],\r\n ['PERANO', 'G441'],\r\n ['MIGLIANICO', 'F196'],\r\n ['CASACANDITELLA', 'B859'],\r\n ['CARUNCHIO', 'B853'],\r\n ['POGGIOFIORITO', 'G760'],\r\n ['GAMBERALE', 'D898'],\r\n ['VILLAMAGNA', 'L964'],\r\n ['VILLALFONSINA', 'L961'],\r\n ['CASTIGLIONE MESSER MARINO', 'C298'],\r\n ['CRECCHIO', 'D137'],\r\n ['TORNARECCIO', 'L224'],\r\n ['RIPA TEATINA', 'H320'],\r\n ['PIZZOFERRATO', 'G724'],\r\n ['VILLA SANTA MARIA', 'M022'],\r\n ['MONTEODORISIO', 'F582'],\r\n ['SAN GIOVANNI TEATINO', 'D690'],\r\n ['CIVITALUPARELLA', 'C768'],\r\n ['PALENA', 'G271'],\r\n ['MONTEBELLO SUL SANGRO', 'B268'],\r\n ['GIULIANO TEATINO', 'E056'],\r\n ['GISSI', 'E052'],\r\n ['ROCCASCALEGNA', 'H442'],\r\n ['ROCCASPINALVETI', 'H448'],\r\n ['VACRI', 'L526'],\r\n ['ARI', 'A398'],\r\n ['PAGLIETA', 'G237'],\r\n ['GUILMI', 'E266'],\r\n ['GESSOPALENA', 'D996'],\r\n ['MONTAZZOLI', 'F433'],\r\n ['SAN MARTINO SULLA MARRUCINA', 'H991'],\r\n ['TORREVECCHIA TEATINA', 'L284'],\r\n ['PRETORO', 'H052'],\r\n ['FRANCAVILLA AL MARE', 'D763'],\r\n ['TREGLIO', 'L363'],\r\n ['ROCCAMONTEPIANO', 'H424'],\r\n ['CANOSA SANNITA', 'B620'],\r\n ['PALMOLI', 'G290'],\r\n ['PALOMBARO', 'G294'],\r\n ['CASTELGUIDONE', 'C123'],\r\n ['PENNADOMO', 'G434'],\r\n ['PENNAPIEDIMONTE', 'G435'],\r\n ['FARA SAN MARTINO', 'D495'],\r\n ['CARPINETO SINELLO', 'B826'],\r\n ['LANCIANO', 'E435'],\r\n ['FARA FILIORUM PETRI', 'D494'],\r\n ['ROSELLO', 'H566'],\r\n ['MONTEFERRANTE', 'F498'],\r\n ['CASALANGUIDA', 'B861'],\r\n ['CASALBORDINO', 'B865'],\r\n ['MONTENERODOMO', 'F578'],\r\n ['SCHIAVI DI ABRUZZO', 'I526'],\r\n ['SCERNI', 'I520'],\r\n ['ALTINO', 'A235'],\r\n ['QUADRI', 'H098'],\r\n ['CASOLI', 'B985'],\r\n ['SAN VITO CHIETINO', 'I394'],\r\n ['MONTELAPIANO', 'F535'],\r\n ['ORTONA', 'G141'],\r\n ['FILETTO', 'D592'],\r\n ['TOLLO', 'L194'],\r\n ['DOGLIOLA', 'D315'],\r\n ['GUARDIAGRELE', 'E243'],\r\n ['SAN GIOVANNI LIPIONI', 'H923'],\r\n ['VASTO', 'E372'],\r\n ['TUFILLO', 'L459'],\r\n ['ARIELLI', 'A402'],\r\n ['ORSOGNA', 'G128'],\r\n ['TORINO DI SANGRO', 'L218'],\r\n ['LETTOPALENA', 'E559'],\r\n ['FRISA', 'D803'],\r\n ['FOSSACESIA', 'D738'],\r\n ['CIVITELLA MESSER RAIMONDO', 'C776'],\r\n ['ARCHI', 'A367'],\r\n ['SANTA MARIA IMBARO', 'I244'],\r\n ['LENTELLA', 'E531'],\r\n ['TORREBRUNA', 'L253'],\r\n ['BORRELLO', 'B057'],\r\n ['FURCI', 'D823'],\r\n ['FRAINE', 'D757'],\r\n ['LISCIA', 'E611'],\r\n ['RAPINO', 'H184'],\r\n ['BOMBA', 'A956'],\r\n ['ATESSA', 'A485'],\r\n ['TORRICELLA PELIGNA', 'L291'],\r\n ['BUCCHIANICO', 'B238'],\r\n ['CASALINCONTRADA', 'B896'],\r\n ['FRESAGRANDINARIA', 'D796'],\r\n ['POLLUTRI', 'G799'],\r\n ['SAN SALVO', 'I148'],\r\n ['COLLEDIMEZZO', 'C856'],\r\n ['COLLEDIMACINE', 'C855']\r\n ],\r\n CL: [\r\n ['SOMMATINO', 'I824'],\r\n ['DELIA', 'D267'],\r\n ['MONTEDORO', 'F489'],\r\n ['NISCEMI', 'F899'],\r\n ['RIESI', 'H281'],\r\n ['MUSSOMELI', 'F830'],\r\n ['SERRADIFALCO', 'I644'],\r\n ['MARIANOPOLI', 'E953'],\r\n ['MAZZARINO', 'F065'],\r\n ['RESUTTANO', 'H245'],\r\n ['SAN CATALDO', 'H792'],\r\n ['ACQUAVIVA PLATANI', 'A049'],\r\n ['SANTA CATERINA VILLARMOSA', 'I169'],\r\n ['BUTERA', 'B302'],\r\n ['MILENA', 'E618'],\r\n ['SUTERA', 'L016'],\r\n ['VALLELUNGA PRATAMENO', 'L609'],\r\n ['CAMPOFRANCO', 'B537'],\r\n ['VILLALBA', 'L959'],\r\n ['CALTANISSETTA', 'B429'],\r\n ['BOMPENSIERE', 'A957'],\r\n ['GELA', 'D960']\r\n ],\r\n CN: [\r\n ['VALDIERI', 'L558'],\r\n ['CAMO', 'B489'],\r\n ['MONTICELLO D\\'ALBA', 'F669'],\r\n ['MONTEZEMOLO', 'F666'],\r\n ['BRA', 'B111'],\r\n ['BAGNASCO', 'A555'],\r\n ['SOMMARIVA PERNO', 'I823'],\r\n ['SOMMARIVA DEL BOSCO', 'I822'],\r\n ['MARSAGLIA', 'E973'],\r\n ['CUNEO', 'D205'],\r\n ['MONTEROSSO GRANA', 'F608'],\r\n ['CELLE DI MACRA', 'C441'],\r\n ['BERGOLO', 'A798'],\r\n ['LAGNASCO', 'E406'],\r\n ['TARANTASCA', 'L048'],\r\n ['ROSSANA', 'H578'],\r\n ['SAN DAMIANO MACRA', 'H812'],\r\n ['SAMBUCO', 'H746'],\r\n ['CERESOLE ALBA', 'C504'],\r\n ['SANTA VITTORIA D\\'ALBA', 'I316'],\r\n ['ROASCIO', 'H363'],\r\n ['CASTELNUOVO DI CEVA', 'C214'],\r\n ['CASTELLINALDO', 'C173'],\r\n ['CASTELLINO TANARO', 'C176'],\r\n ['VERZUOLO', 'L804'],\r\n ['BELLINO', 'A750'],\r\n ['BAGNOLO PIEMONTE', 'A571'],\r\n ['ROCCABRUNA', 'H385'],\r\n ['CAPRAUNA', 'B692'],\r\n ['PAROLDO', 'G339'],\r\n ['VALLORIATE', 'L631'],\r\n ['VALMALA', 'L636'],\r\n ['SANFRONT', 'H852'],\r\n ['SANFRE\\'', 'H851'],\r\n ['SALE SAN GIOVANNI', 'H704'],\r\n ['BELVEDERE LANGHE', 'A774'],\r\n ['BENE VAGIENNA', 'A779'],\r\n ['BERNEZZO', 'A805'],\r\n ['RIFREDDO', 'H285'],\r\n ['SCARNAFIGI', 'I512'],\r\n ['CRISSOLO', 'D172'],\r\n ['ALBA', 'A124'],\r\n ['CAVALLERMAGGIORE', 'C376'],\r\n ['CARAGLIO', 'B719'],\r\n ['SALUZZO', 'H727'],\r\n ['BATTIFOLLO', 'A716'],\r\n ['SANTO STEFANO ROERO', 'I372'],\r\n ['MOROZZO', 'F743'],\r\n ['ELVA', 'D401'],\r\n ['VIOLA', 'M063'],\r\n ['COSSANO BELBO', 'D093'],\r\n ['GAMBASCA', 'D894'],\r\n ['PRADLEVES', 'G970'],\r\n ['BEINETTE', 'A735'],\r\n ['POCAPAGLIA', 'G742'],\r\n ['NIELLA TANARO', 'F895'],\r\n ['NIELLA BELBO', 'F894'],\r\n ['CRAVANZANA', 'D133'],\r\n ['TRINITA\\'', 'L427'],\r\n ['VIGNOLO', 'L888'],\r\n ['BUSCA', 'B285'],\r\n ['CARDE\\'', 'B755'],\r\n ['VICOFORTE', 'L841'],\r\n ['GOTTASECCA', 'E115'],\r\n ['GORZEGNO', 'E111'],\r\n ['GOVONE', 'E118'],\r\n ['VILLAFALLETTO', 'L942'],\r\n ['BAROLO', 'A671'],\r\n ['ORMEA', 'G114'],\r\n ['SANT\\'ALBANO STURA', 'I210'],\r\n ['CERVERE', 'C550'],\r\n ['LEVICE', 'E564'],\r\n ['MARGARITA', 'E945'],\r\n ['MELLE', 'F114'],\r\n ['GAIOLA', 'D856'],\r\n ['TORRE BORMIDA', 'L252'],\r\n ['SALE DELLE LANGHE', 'H695'],\r\n ['MONASTERO DI VASCO', 'F326'],\r\n ['MONASTEROLO CASOTTO', 'F329'],\r\n ['GARESSIO', 'D920'],\r\n ['ISASCA', 'E327'],\r\n ['MANTA', 'E894'],\r\n ['SAVIGLIANO', 'I470'],\r\n ['SCAGNELLO', 'I484'],\r\n ['MOMBARCARO', 'F309'],\r\n ['SERRALUNGA D\\'ALBA', 'I646'],\r\n ['TORRE MONDOVI\\'', 'L241'],\r\n ['PRAZZO', 'H011'],\r\n ['NUCETTO', 'F972'],\r\n ['MURELLO', 'F811'],\r\n ['CIGLIE\\'', 'C681'],\r\n ['PIOBESI D\\'ALBA', 'G683'],\r\n ['CERRETTO DELLE LANGHE', 'C530'],\r\n ['PEZZOLO VALLE UZZONE', 'G532'],\r\n ['ROCCASPARVERA', 'H447'],\r\n ['BRONDELLO', 'B200'],\r\n ['BROSSASCO', 'B204'],\r\n ['ARGUELLO', 'A396'],\r\n ['ARGENTERA', 'A394'],\r\n ['PONTECHIANALE', 'G837'],\r\n ['AISONE', 'A113'],\r\n ['TORRESINA', 'L281'],\r\n ['ALTO', 'A238'],\r\n ['ROCCHETTA BELBO', 'H462'],\r\n ['PRIERO', 'H059'],\r\n ['BOSSOLASCO', 'B084'],\r\n ['VERDUNO', 'L758'],\r\n ['DIANO D\\'ALBA', 'D291'],\r\n ['MORETTA', 'F723'],\r\n ['ROCCAFORTE MONDOVI\\'', 'H407'],\r\n ['PIASCO', 'G575'],\r\n ['SOMANO', 'I817'],\r\n ['FOSSANO', 'D742'],\r\n ['FRASSINO', 'D782'],\r\n ['REVELLO', 'H247'],\r\n ['SAN MICHELE MONDOVI\\'', 'I037'],\r\n ['TREISO', 'L367'],\r\n ['VERNANTE', 'L771'],\r\n ['MONTEU ROERO', 'F654'],\r\n ['BRIAGLIA', 'B167'],\r\n ['MONTA\\'', 'F385'],\r\n ['VOTTIGNASCO', 'M136'],\r\n ['CHERASCO', 'C599'],\r\n ['MARMORA', 'E963'],\r\n ['RUFFIA', 'H633'],\r\n ['CANOSIO', 'B621'],\r\n ['BOVES', 'B101'],\r\n ['MONTELUPO ALBESE', 'F550'],\r\n ['CORTEMILIA', 'D062'],\r\n ['BENEVELLO', 'A782'],\r\n ['FEISOGLIO', 'D523'],\r\n ['CASTELLAR', 'C140'],\r\n ['CASTELDELFINO', 'C081'],\r\n ['SAMPEYRE', 'H755'],\r\n ['NEIVE', 'F863'],\r\n ['PIETRAPORZIO', 'G625'],\r\n ['LA MORRA', 'E430'],\r\n ['DEMONTE', 'D271'],\r\n ['VALGRANA', 'L580'],\r\n ['MONTEMALE DI CUNEO', 'F558'],\r\n ['FARIGLIANO', 'D499'],\r\n ['CASTELLETTO UZZONE', 'C167'],\r\n ['CASTELLETTO STURA', 'C165'],\r\n ['CORNELIANO D\\'ALBA', 'D022'],\r\n ['SAN BENEDETTO BELBO', 'H770'],\r\n ['MARTINIANA PO', 'E988'],\r\n ['LEQUIO BERRIA', 'E540'],\r\n ['OSTANA', 'G183'],\r\n ['VEZZA D\\'ALBA', 'L817'],\r\n ['PERLO', 'G458'],\r\n ['RACCONIGI', 'H150'],\r\n ['SINIO', 'I750'],\r\n ['SALICETO', 'H710'],\r\n ['SALMOUR', 'H716'],\r\n ['LISIO', 'E615'],\r\n ['CARTIGNANO', 'B845'],\r\n ['CARRU\\'', 'B841'],\r\n ['VINADIO', 'M055'],\r\n ['VENASCA', 'L729'],\r\n ['IGLIANO', 'E282'],\r\n ['PAMPARATO', 'G302'],\r\n ['LIMONE PIEMONTE', 'E597'],\r\n ['CARAMAGNA PIEMONTE', 'B720'],\r\n ['RITTANA', 'H326'],\r\n ['BASTIA MONDOVI\\'', 'A709'],\r\n ['SANTO STEFANO BELBO', 'I367'],\r\n ['CLAVESANA', 'C792'],\r\n ['ALBARETTO DELLA TORRE', 'A139'],\r\n ['MAGLIANO ALFIERI', 'E809'],\r\n ['MAGLIANO ALPI', 'E808'],\r\n ['GRINZANE CAVOUR', 'E182'],\r\n ['DRONERO', 'D372'],\r\n ['CASTELMAGNO', 'C205'],\r\n ['PRUNETTO', 'H085'],\r\n ['BALDISSERO D\\'ALBA', 'A589'],\r\n ['VILLANOVA MONDOVI\\'', 'L974'],\r\n ['NEVIGLIE', 'F883'],\r\n ['ENVIE', 'D412'],\r\n ['ENTRACQUE', 'D410'],\r\n ['VILLAR SAN COSTANZO', 'M015'],\r\n ['TREZZO TINELLA', 'L410'],\r\n ['DOGLIANI', 'D314'],\r\n ['MOIOLA', 'F279'],\r\n ['ROASCHIA', 'H362'],\r\n ['CANALE', 'B573'],\r\n ['COSTIGLIOLE SALUZZO', 'D120'],\r\n ['CERVASCA', 'C547'],\r\n ['BORGO SAN DALMAZZO', 'B033'],\r\n ['CISSONE', 'C738'],\r\n ['CASTAGNITO', 'C046'],\r\n ['MACRA', 'E789'],\r\n ['NARZOLE', 'F846'],\r\n ['MONASTEROLO DI SAVIGLIANO', 'F330'],\r\n ['MONCHIERO', 'F338'],\r\n ['BARGE', 'A660'],\r\n ['PERLETTO', 'G457'],\r\n ['BORGOMALE', 'B018'],\r\n ['CASTIGLIONE TINELLA', 'C317'],\r\n ['ROBILANTE', 'H377'],\r\n ['ROBURENT', 'H378'],\r\n ['MOMBASIGLIO', 'F312'],\r\n ['CAMERANA', 'B467'],\r\n ['SERRAVALLE LANGHE', 'I659'],\r\n ['MANGO', 'E887'],\r\n ['BOSIA', 'B079'],\r\n ['TORRE SAN GIORGIO', 'L278'],\r\n ['MURAZZANO', 'F809'],\r\n ['ROCCA DE\\' BALDI', 'H395'],\r\n ['ROCCA CIGLIE\\'', 'H391'],\r\n ['CASTIGLIONE FALLETTO', 'C314'],\r\n ['BARBARESCO', 'A629'],\r\n ['PIOZZO', 'G697'],\r\n ['LEQUIO TANARO', 'E539'],\r\n ['PEVERAGNO', 'G526'],\r\n ['FRABOSA SOPRANA', 'D751'],\r\n ['FRABOSA SOTTANA', 'D752'],\r\n ['ONCINO', 'G066'],\r\n ['NOVELLO', 'F961'],\r\n ['STROPPO', 'I985'],\r\n ['MONESIGLIO', 'F355'],\r\n ['MONDOVI\\'', 'F351'],\r\n ['MONFORTE D\\'ALBA', 'F358'],\r\n ['BONVICINO', 'A979'],\r\n ['CASTINO', 'C323'],\r\n ['BRIGA ALTA', 'B175'],\r\n ['ROCCAVIONE', 'H453'],\r\n ['FAULE', 'D511'],\r\n ['ACCEGLIO', 'A016'],\r\n ['PAESANA', 'G228'],\r\n ['GUARENE', 'E251'],\r\n ['MONTALDO DI MONDOVI\\'', 'F405'],\r\n ['MONTALDO ROERO', 'F408'],\r\n ['CHIUSA DI PESIO', 'C653'],\r\n ['RODELLO', 'H474'],\r\n ['RODDINO', 'H473'],\r\n ['RODDI', 'H472'],\r\n ['PIANFEI', 'G561'],\r\n ['MARENE', 'E939'],\r\n ['PRIOCCA', 'H068'],\r\n ['PRIOLA', 'H069'],\r\n ['CASALGRASSO', 'B894'],\r\n ['MONTANERA', 'F424'],\r\n ['VILLANOVA SOLARO', 'L990'],\r\n ['CENTALLO', 'C466'],\r\n ['GENOLA', 'D967'],\r\n ['POLONGHERA', 'G800'],\r\n ['CEVA', 'C589'],\r\n ['PAGNO', 'G240'],\r\n ['LESEGNO', 'E546'],\r\n ['CAVALLERLEONE', 'C375']\r\n ],\r\n CO: [\r\n ['LURAGO D\\'ERBA', 'E749'],\r\n ['ALBESE CON CASSANO', 'A153'],\r\n ['CANTU\\'', 'B639'],\r\n ['PELLIO INTELVI', 'G427'],\r\n ['CAGNO', 'B359'],\r\n ['CAGLIO', 'B355'],\r\n ['BREGNANO', 'B134'],\r\n ['BEREGAZZO CON FIGLIARO', 'A791'],\r\n ['ALZATE BRIANZA', 'A249'],\r\n ['LAGLIO', 'E405'],\r\n ['FALOPPIO', 'D482'],\r\n ['CAPIAGO INTIMIANO', 'B653'],\r\n ['LAMBRUGO', 'E428'],\r\n ['MASLIANICO', 'F017'],\r\n ['ALBIOLO', 'A164'],\r\n ['PORLEZZA', 'G889'],\r\n ['CABIATE', 'B313'],\r\n ['CASSINA RIZZARDI', 'C020'],\r\n ['SAN FEDELE INTELVI', 'H830'],\r\n ['SAN BARTOLOMEO VAL CAVARGNA', 'H760'],\r\n ['LIVO', 'E623'],\r\n ['LANZO D\\'INTELVI', 'E444'],\r\n ['MOZZATE', 'F788'],\r\n ['MONTEMEZZO', 'F564'],\r\n ['ALBAVILLA', 'A143'],\r\n ['CARATE URIO', 'B730'],\r\n ['BENE LARIO', 'A778'],\r\n ['DONGO', 'D341'],\r\n ['CLAINO CON OSTENO', 'C787'],\r\n ['LURATE CACCIVIO', 'E753'],\r\n ['LURAGO MARINONE', 'E750'],\r\n ['LIPOMO', 'E607'],\r\n ['CARUGO', 'B851'],\r\n ['LASNIGO', 'E462'],\r\n ['CAVALLASCA', 'C374'],\r\n ['COLONNO', 'C902'],\r\n ['CERANO D\\'INTELVI', 'C482'],\r\n ['GARZENO', 'D930'],\r\n ['MAGREGLIO', 'E830'],\r\n ['DREZZO', 'D369'],\r\n ['CARIMATE', 'B778'],\r\n ['CASTIGLIONE D\\'INTELVI', 'C299'],\r\n ['GRANDATE', 'E139'],\r\n ['VERTEMATE CON MINOPRIO', 'L792'],\r\n ['ASSO', 'A476'],\r\n ['TORNO', 'L228'],\r\n ['CASNATE CON BERNATE', 'B977'],\r\n ['CASLINO D\\'ERBA', 'B974'],\r\n ['ANZANO DEL PARCO', 'A319'],\r\n ['BARNI', 'A670'],\r\n ['INVERIGO', 'E309'],\r\n ['DOMASO', 'D329'],\r\n ['CERNOBBIO', 'C520'],\r\n ['GRIANTE', 'E172'],\r\n ['APPIANO GENTILE', 'A333'],\r\n ['CONSIGLIO DI RUMO', 'C965'],\r\n ['FAGGETO LARIO', 'D462'],\r\n ['AROSIO', 'A430'],\r\n ['GRAVEDONA', 'E151'],\r\n ['NOVEDRATE', 'F958'],\r\n ['MOLTRASIO', 'F305'],\r\n ['UGGIATE-TREVANO', 'L487'],\r\n ['LENNO', 'E525'],\r\n ['FENEGRO\\'', 'D531'],\r\n ['CERMENATE', 'C516'],\r\n ['BULGAROGRASSO', 'B262'],\r\n ['MERONE', 'F151'],\r\n ['VELESO', 'L715'],\r\n ['GIRONICO', 'E051'],\r\n ['PUSIANO', 'H094'],\r\n ['CREMIA', 'D147'],\r\n ['MARIANO COMENSE', 'E951'],\r\n ['OLTRONA DI SAN MAMETTE', 'G056'],\r\n ['ARGEGNO', 'A391'],\r\n ['CUCCIAGO', 'D196'],\r\n ['VENIANO', 'L737'],\r\n ['PIANELLO DEL LARIO', 'G556'],\r\n ['FINO MORNASCO', 'D605'],\r\n ['BRENNA', 'B144'],\r\n ['GERA LARIO', 'D974'],\r\n ['MONTANO LUCINO', 'F427'],\r\n ['PROSERPIO', 'H074'],\r\n ['SALA COMACINA', 'H679'],\r\n ['LUISAGO', 'E735'],\r\n ['BLESSAGNO', 'A904'],\r\n ['BLEVIO', 'A905'],\r\n ['CORRIDO', 'D041'],\r\n ['CUSINO', 'D232'],\r\n ['VALBRONA', 'L547'],\r\n ['SAN NAZZARO VAL CAVARGNA', 'I051'],\r\n ['SORICO', 'I856'],\r\n ['LAINO', 'E416'],\r\n ['CANZO', 'B641'],\r\n ['PEGLIO', 'G415'],\r\n ['CADORAGO', 'B346'],\r\n ['SORMANO', 'I860'],\r\n ['VALMOREA', 'L640'],\r\n ['ZELBIO', 'M156'],\r\n ['BELLAGIO', 'A744'],\r\n ['ROVELLO PORRO', 'H602'],\r\n ['CASTELMARTE', 'C206'],\r\n ['TAVERNERIO', 'L071'],\r\n ['RAMPONIO VERNA', 'H171'],\r\n ['SCHIGNANO', 'I529'],\r\n ['OSSUCCIO', 'G182'],\r\n ['PARE\\'', 'G329'],\r\n ['SAN FERMO DELLA BATTAGLIA', 'H840'],\r\n ['CIRIMIDO', 'C724'],\r\n ['PIGRA', 'G665'],\r\n ['CAMPIONE D\\'ITALIA', 'B513'],\r\n ['RONAGO', 'H521'],\r\n ['MEZZEGRA', 'F181'],\r\n ['DOSSO DEL LIRO', 'D355'],\r\n ['NESSO', 'F877'],\r\n ['LONGONE AL SEGRINO', 'E679'],\r\n ['STAZZONA', 'I943'],\r\n ['LOCATE VARESINO', 'E638'],\r\n ['EUPILIO', 'D445'],\r\n ['POGNANA LARIO', 'G773'],\r\n ['LOMAZZO', 'E659'],\r\n ['ERBA', 'D416'],\r\n ['TREZZONE', 'L413'],\r\n ['CASASCO D\\'INTELVI', 'B942'],\r\n ['DIZZASCO', 'D310'],\r\n ['BINAGO', 'A870'],\r\n ['VILLA GUARDIA', 'L956'],\r\n ['VALSOLDA', 'C936'],\r\n ['COMO', 'C933'],\r\n ['REZZAGO', 'H255'],\r\n ['VAL REZZO', 'H259'],\r\n ['LIMIDO COMASCO', 'E593'],\r\n ['LEZZENO', 'E569'],\r\n ['CARBONATE', 'B742'],\r\n ['BIZZARONE', 'A898'],\r\n ['PLESIO', 'G737'],\r\n ['ORSENIGO', 'G126'],\r\n ['CAVARGNA', 'C381'],\r\n ['GRANDOLA ED UNITI', 'E141'],\r\n ['MUSSO', 'F828'],\r\n ['TURATE', 'L470'],\r\n ['MENAGGIO', 'F120'],\r\n ['SOLBIATE', 'I792'],\r\n ['GUANZATE', 'E235'],\r\n ['CARLAZZO', 'B785'],\r\n ['MONGUZZO', 'F372'],\r\n ['CIVENNA', 'C754'],\r\n ['MONTORFANO', 'F688'],\r\n ['PONTE LAMBRO', 'G847'],\r\n ['SENNA COMASCO', 'I611'],\r\n ['CASTELNUOVO BOZZENTE', 'C220'],\r\n ['BRUNATE', 'B218'],\r\n ['ROVELLASCA', 'H601'],\r\n ['SAN SIRO', 'I162'],\r\n ['GERMASINO', 'D986'],\r\n ['PONNA', 'G821'],\r\n ['ALSERIO', 'A224'],\r\n ['RODERO', 'H478'],\r\n ['FIGINO SERENZA', 'D579'],\r\n ['OLGIATE COMASCO', 'G025'],\r\n ['TREMEZZO', 'L371'],\r\n ['VERCANA', 'L748'],\r\n ['BRIENNO', 'B172']\r\n ],\r\n CR: [\r\n ['OFFANENGO', 'G004'],\r\n ['CASTEL GABBIANO', 'C115'],\r\n ['GRUMELLO CREMONESE ED UNITI', 'E217'],\r\n ['CORTE DE\\' FRATI', 'D057'],\r\n ['CORTE DE\\' CORTESI CON CIGNONE', 'D056'],\r\n ['SONCINO', 'I827'],\r\n ['CUMIGNANO SUL NAVIGLIO', 'D203'],\r\n ['AGNADELLO', 'A076'],\r\n ['CHIEVE', 'C634'],\r\n ['SORESINA', 'I849'],\r\n ['CAPERGNANICA', 'B650'],\r\n ['CASTELLEONE', 'C153'],\r\n ['CAMISANO', 'B484'],\r\n ['SAN DANIELE PO', 'H815'],\r\n ['PIEVE SAN GIACOMO', 'G651'],\r\n ['SOSPIRO', 'I865'],\r\n ['CAPPELLA CANTONE', 'B679'],\r\n ['PERSICO DOSIMO', 'G469'],\r\n ['VESCOVATO', 'L806'],\r\n ['VOLONGO', 'M116'],\r\n ['SAN BASSANO', 'H767'],\r\n ['BAGNOLO CREMASCO', 'A570'],\r\n ['CELLA DATI', 'C435'],\r\n ['MOSCAZZANO', 'F761'],\r\n ['BORDOLANO', 'A986'],\r\n ['CREMONA', 'D150'],\r\n ['CREMOSANO', 'D151'],\r\n ['PESCAROLO ED UNITI', 'G483'],\r\n ['SCANDOLARA RIPA D\\'OGLIO', 'I498'],\r\n ['STAGNO LOMBARDO', 'I935'],\r\n ['TRIGOLO', 'L426'],\r\n ['CASTELVISCONTI', 'C290'],\r\n ['TORNATA', 'L225'],\r\n ['TORLINO VIMERCATI', 'L221'],\r\n ['TICENGO', 'L164'],\r\n ['PIZZIGHETTONE', 'G721'],\r\n ['SPINO D\\'ADDA', 'I914'],\r\n ['SAN GIOVANNI IN CROCE', 'H918'],\r\n ['POZZAGLIO ED UNITI', 'B914'],\r\n ['CINGIA DE\\' BOTTI', 'C703'],\r\n ['RIVAROLO DEL RE ED UNITI', 'H341'],\r\n ['VAIANO CREMASCO', 'L535'],\r\n ['VAILATE', 'L539'],\r\n ['RICENGO', 'H276'],\r\n ['SERGNANO', 'I627'],\r\n ['PIADENA', 'G536'],\r\n ['SCANDOLARA RAVARA', 'I497'],\r\n ['CREMA', 'D142'],\r\n ['GERRE DE\\' CAPRIOLI', 'D993'],\r\n ['CALVATONE', 'B439'],\r\n ['PIANENGO', 'G558'],\r\n ['IZANO', 'E380'],\r\n ['CASALE CREMASCO-VIDOLASCO', 'B881'],\r\n ['CASALETTO CEREDANO', 'B889'],\r\n ['CASTELDIDONE', 'C089'],\r\n ['GABBIONETA BINANUOVA', 'D834'],\r\n ['ISOLA DOVARESE', 'E356'],\r\n ['BONEMERSE', 'A972'],\r\n ['QUINTANO', 'H130'],\r\n ['AZZANELLO', 'A526'],\r\n ['PIERANICA', 'G603'],\r\n ['SESTO ED UNITI', 'I683'],\r\n ['CASTELVERDE', 'B129'],\r\n ['SALVIROLA', 'H731'],\r\n ['MONTE CREMASCO', 'F434'],\r\n ['DEROVERE', 'D278'],\r\n ['CA\\' D\\'ANDREA', 'B320'],\r\n ['CAMPAGNOLA CREMASCA', 'B498'],\r\n ['ANNICCO', 'A299'],\r\n ['PIEVE D\\'OLMI', 'G647'],\r\n ['CASALBUTTANO ED UNITI', 'B869'],\r\n ['CAPRALBA', 'B686'],\r\n ['CAPPELLA DE\\' PICENARDI', 'B680'],\r\n ['OSTIANO', 'G185'],\r\n ['MALAGNINO', 'E843'],\r\n ['MOTTA BALUFFI', 'F771'],\r\n ['TRESCORE CREMASCO', 'L389'],\r\n ['PANDINO', 'G306'],\r\n ['DOVERA', 'D358'],\r\n ['ROMANENGO', 'H508'],\r\n ['DRIZZONA', 'D370'],\r\n ['MARTIGNANA DI PO', 'E983'],\r\n ['CREDERA RUBBIANO', 'D141'],\r\n ['SPINADESCO', 'I906'],\r\n ['SPINEDA', 'I909'],\r\n ['GADESCO PIEVE DELMONA', 'D841'],\r\n ['RIVOLTA D\\'ADDA', 'H357'],\r\n ['CASALMORANO', 'B900'],\r\n ['RIPALTA ARPINA', 'H314'],\r\n ['SAN MARTINO DEL LAGO', 'I007'],\r\n ['RIPALTA CREMASCA', 'H315'],\r\n ['RIPALTA GUERINA', 'H316'],\r\n ['GRONTARDO', 'E193'],\r\n ['FORMIGARA', 'D710'],\r\n ['ROBECCO D\\'OGLIO', 'H372'],\r\n ['FIESCO', 'D574'],\r\n ['GOMBITO', 'E082'],\r\n ['PESSINA CREMONESE', 'G504'],\r\n ['SOLAROLO RAINERIO', 'I790'],\r\n ['PALAZZO PIGNANO', 'G260'],\r\n ['TORRE DE\\' PICENARDI', 'L258'],\r\n ['MADIGNANO', 'E793'],\r\n ['GUSSOLA', 'E272'],\r\n ['MONTODINE', 'F681'],\r\n ['VOLTIDO', 'M127'],\r\n ['OLMENETA', 'G047'],\r\n ['PADERNO PONCHIELLI', 'G222'],\r\n ['CROTTA D\\'ADDA', 'D186'],\r\n ['TORRICELLA DEL PIZZO', 'L296'],\r\n ['CASALMAGGIORE', 'B898'],\r\n ['CASALETTO VAPRIO', 'B891'],\r\n ['CASALETTO DI SOPRA', 'B890'],\r\n ['ACQUANEGRA CREMONESE', 'A039'],\r\n ['GENIVOLTA', 'D966'],\r\n ['CICOGNOLO', 'C678']\r\n ],\r\n CS: [\r\n ['ACRI', 'A053'],\r\n ['BOCCHIGLIERO', 'A912'],\r\n ['AMENDOLARA', 'A263'],\r\n ['PIETRAFITTA', 'G615'],\r\n ['PAPASIDERO', 'G320'],\r\n ['ALTOMONTE', 'A240'],\r\n ['LUNGRO', 'E745'],\r\n ['LAGO', 'E407'],\r\n ['SAN NICOLA ARCELLA', 'I060'],\r\n ['PEDACE', 'G400'],\r\n ['ROSETO CAPO SPULICO', 'H572'],\r\n ['ROSSANO', 'H579'],\r\n ['SAN DEMETRIO CORONE', 'H818'],\r\n ['ZUMPANO', 'M202'],\r\n ['CARPANZANO', 'B813'],\r\n ['ALBIDONA', 'A160'],\r\n ['MALITO', 'E859'],\r\n ['SAN BASILE', 'H765'],\r\n ['ROGLIANO', 'H490'],\r\n ['MALVITO', 'E872'],\r\n ['MANDATORICCIO', 'E878'],\r\n ['CELICO', 'C430'],\r\n ['CELLARA', 'C437'],\r\n ['BELVEDERE MARITTIMO', 'A773'],\r\n ['SANTO STEFANO DI ROGLIANO', 'I359'],\r\n ['CAMPANA', 'B500'],\r\n ['PAOLA', 'G317'],\r\n ['FIRMO', 'D614'],\r\n ['SANGINETO', 'H877'],\r\n ['COLOSIMI', 'C905'],\r\n ['CERCHIARA DI CALABRIA', 'C489'],\r\n ['AIETA', 'A105'],\r\n ['AIELLO CALABRO', 'A102'],\r\n ['PATERNO CALABRO', 'G372'],\r\n ['MAIERA\\'', 'E835'],\r\n ['PRAIA A MARE', 'G975'],\r\n ['BIANCHI', 'A842'],\r\n ['SAN PIETRO IN AMANTEA', 'I108'],\r\n ['AMANTEA', 'A253'],\r\n ['DIPIGNANO', 'D304'],\r\n ['MORANO CALABRO', 'F708'],\r\n ['SAN GIOVANNI IN FIORE', 'H919'],\r\n ['ORIOLO', 'G110'],\r\n ['CERVICATI', 'C554'],\r\n ['TORANO CASTELLO', 'L206'],\r\n ['DOMANICO', 'D328'],\r\n ['FIGLINE VEGLIATURO', 'D582'],\r\n ['BISIGNANO', 'A887'],\r\n ['FAGNANO CASTELLO', 'D464'],\r\n ['SAN LUCIDO', 'H971'],\r\n ['SPEZZANO ALBANESE', 'I895'],\r\n ['SPEZZANO DELLA SILA', 'I896'],\r\n ['SPEZZANO PICCOLO', 'I898'],\r\n ['TERRANOVA DA SIBARI', 'L124'],\r\n ['CIVITA', 'C763'],\r\n ['SERRA D\\'AIELLO', 'I642'],\r\n ['ALESSANDRIA DEL CARRETTO', 'A183'],\r\n ['FUSCALDO', 'D828'],\r\n ['MORMANNO', 'F735'],\r\n ['CERISANO', 'C515'],\r\n ['CARIATI', 'B774'],\r\n ['SANT\\'AGATA DI ESARO', 'I192'],\r\n ['SAN MARTINO DI FINITA', 'H992'],\r\n ['PIANE CRATI', 'G553'],\r\n ['SAN VINCENZO LA COSTA', 'I388'],\r\n ['FRANCAVILLA MARITTIMA', 'D764'],\r\n ['GUARDIA PIEMONTESE', 'E242'],\r\n ['MONTALTO UFFUGO', 'F416'],\r\n ['SCIGLIANO', 'D290'],\r\n ['VACCARIZZO ALBANESE', 'L524'],\r\n ['CANNA', 'B607'],\r\n ['BONIFATI', 'A973'],\r\n ['SCALA COELI', 'I485'],\r\n ['PALUDI', 'G298'],\r\n ['ACQUAPPESA', 'A041'],\r\n ['TORTORA', 'L305'],\r\n ['MARZI', 'F001'],\r\n ['LAINO BORGO', 'E417'],\r\n ['LAINO CASTELLO', 'E419'],\r\n ['SANTA CATERINA ALBANESE', 'I171'],\r\n ['SAN PIETRO IN GUARANO', 'I114'],\r\n ['PEDIVIGLIANO', 'G411'],\r\n ['LUZZI', 'E773'],\r\n ['CORIGLIANO CALABRO', 'D005'],\r\n ['SAN COSMO ALBANESE', 'H806'],\r\n ['PIETRAPAOLA', 'G622'],\r\n ['SANTA SOFIA D\\'EPIRO', 'I309'],\r\n ['CAROLEI', 'B802'],\r\n ['TARSIA', 'L055'],\r\n ['ROSE', 'H565'],\r\n ['SAN DONATO DI NINEA', 'H825'],\r\n ['SAN BENEDETTO ULLANO', 'H774'],\r\n ['ROGGIANO GRAVINA', 'H488'],\r\n ['GRIMALDI', 'E180'],\r\n ['SAN SOSTI', 'I165'],\r\n ['LAPPANO', 'E450'],\r\n ['ALTILIA', 'A234'],\r\n ['FIUMEFREDDO BRUZIO', 'D624'],\r\n ['SAN FILI', 'H841'],\r\n ['BELSITO', 'A768'],\r\n ['BELMONTE CALABRO', 'A762'],\r\n ['LATTARICO', 'E475'],\r\n ['MOTTAFOLLONE', 'F775'],\r\n ['MONTEGIORDANO', 'F519'],\r\n ['PANETTIERI', 'G307'],\r\n ['CASOLE BRUZIO', 'B983'],\r\n ['CLETO', 'C795'],\r\n ['LONGOBARDI', 'E677'],\r\n ['LONGOBUCCO', 'E678'],\r\n ['GRISOLIA', 'E185'],\r\n ['COSENZA', 'D086'],\r\n ['CASTIGLIONE COSENTINO', 'C301'],\r\n ['SAN GIORGIO ALBANESE', 'H881'],\r\n ['CASSANO ALLO IONIO', 'C002'],\r\n ['SCALEA', 'I489'],\r\n ['PLATACI', 'G733'],\r\n ['NOCARA', 'F907'],\r\n ['RENDE', 'H235'],\r\n ['ORSOMARSO', 'G129'],\r\n ['CERZETO', 'C560'],\r\n ['VILLAPIANA', 'B903'],\r\n ['TERRAVECCHIA', 'L134'],\r\n ['SANTA MARIA DEL CEDRO', 'C717'],\r\n ['APRIGLIANO', 'A340'],\r\n ['FALCONARA ALBANESE', 'D473'],\r\n ['SAN LORENZO DEL VALLO', 'H962'],\r\n ['SAN LORENZO BELLIZZI', 'H961'],\r\n ['SERRA PEDACE', 'I650'],\r\n ['ROTA GRECA', 'H585'],\r\n ['MANGONE', 'E888'],\r\n ['MENDICINO', 'F125'],\r\n ['TRENTA', 'L375'],\r\n ['MONGRASSANO', 'F370'],\r\n ['CASTROREGIO', 'C348'],\r\n ['CASTROVILLARI', 'C349'],\r\n ['BUONVICINO', 'B270'],\r\n ['DIAMANTE', 'D289'],\r\n ['ROVITO', 'H621'],\r\n ['SANTA DOMENICA TALAO', 'I183'],\r\n ['CALOPEZZATI', 'B424'],\r\n ['CALOVETO', 'B426'],\r\n ['PARENTI', 'G331'],\r\n ['SARACENA', 'I423'],\r\n ['FRASCINETO', 'D774'],\r\n ['TREBISACCE', 'L353'],\r\n ['CROPALATI', 'D180'],\r\n ['CROSIA', 'D184'],\r\n ['SAN MARCO ARGENTANO', 'H981'],\r\n ['CASTROLIBERO', 'C108'],\r\n ['ACQUAFORMOSA', 'A033'],\r\n ['VERBICARO', 'L747'],\r\n ['CETRARO', 'C588'],\r\n ['ROCCA IMPERIALE', 'H416'],\r\n ['MARANO PRINCIPATO', 'E915'],\r\n ['MARANO MARCHESATO', 'E914']\r\n ],\r\n CT: [\r\n ['ADRANO', 'A056'],\r\n ['VIZZINI', 'M100'],\r\n ['CASTEL DI IUDICA', 'C091'],\r\n ['PEDARA', 'G402'],\r\n ['SANTA VENERINA', 'I314'],\r\n ['MALETTO', 'E854'],\r\n ['RAMACCA', 'H168'],\r\n ['MILITELLO IN VAL DI CATANIA', 'F209'],\r\n ['VALVERDE', 'L658'],\r\n ['LICODIA EUBEA', 'E578'],\r\n ['MOTTA SANT\\'ANASTASIA', 'F781'],\r\n ['VIAGRANDE', 'L828'],\r\n ['LINGUAGLOSSA', 'E602'],\r\n ['PATERNO\\'', 'G371'],\r\n ['BIANCAVILLA', 'A841'],\r\n ['NICOLOSI', 'F890'],\r\n ['RIPOSTO', 'H325'],\r\n ['MISTERBIANCO', 'F250'],\r\n ['CAMPOROTONDO ETNEO', 'B561'],\r\n ['SANT\\'ALFIO', 'I216'],\r\n ['PALAGONIA', 'G253'],\r\n ['GRAVINA DI CATANIA', 'E156'],\r\n ['CATANIA', 'C351'],\r\n ['BRONTE', 'B202'],\r\n ['CASTIGLIONE DI SICILIA', 'C297'],\r\n ['GRAMMICHELE', 'E133'],\r\n ['GIARRE', 'E017'],\r\n ['MAZZARRONE', 'M271'],\r\n ['ACI BONACCORSI', 'A025'],\r\n ['ACI CATENA', 'A027'],\r\n ['ACI CASTELLO', 'A026'],\r\n ['ACI SANT\\'ANTONIO', 'A029'],\r\n ['ACIREALE', 'A028'],\r\n ['CALATABIANO', 'B384'],\r\n ['ZAFFERANA ETNEA', 'M139'],\r\n ['PIEDIMONTE ETNEO', 'G597'],\r\n ['MASCALI', 'F004'],\r\n ['SAN CONO', 'H805'],\r\n ['MASCALUCIA', 'F005'],\r\n ['SAN PIETRO CLARENZA', 'I098'],\r\n ['RANDAZZO', 'H175'],\r\n ['RADDUSA', 'H154'],\r\n ['FIUMEFREDDO DI SICILIA', 'D623'],\r\n ['MINEO', 'F217'],\r\n ['MILO', 'F214'],\r\n ['BELPASSO', 'A766'],\r\n ['MIRABELLA IMBACCARI', 'F231'],\r\n ['SCORDIA', 'I548'],\r\n ['SAN GIOVANNI LA PUNTA', 'H922'],\r\n ['SANT\\'AGATA LI BATTIATI', 'I202'],\r\n ['SAN MICHELE DI GANZARIA', 'I035'],\r\n ['SAN GREGORIO DI CATANIA', 'H940'],\r\n ['SANTA MARIA DI LICODIA', 'I240'],\r\n ['CALTAGIRONE', 'B428'],\r\n ['TRECASTAGNI', 'L355'],\r\n ['MANIACE', 'M283'],\r\n ['RAGALNA', 'M287'],\r\n ['TREMESTIERI ETNEO', 'L369']\r\n ],\r\n CZ: [\r\n ['ALBI', 'A155'],\r\n ['CHIARAVALLE CENTRALE', 'C616'],\r\n ['SELLIA MARINA', 'I590'],\r\n ['SORBO SAN BASILE', 'I844'],\r\n ['DECOLLATURA', 'D261'],\r\n ['SAN SOSTENE', 'I164'],\r\n ['ZAGARISE', 'M140'],\r\n ['LAMEZIA TERME', 'M208'],\r\n ['FEROLETO ANTICO', 'D544'],\r\n ['PIANOPOLI', 'D546'],\r\n ['MIGLIERINA', 'F200'],\r\n ['SIMERI CRICHI', 'I745'],\r\n ['MARTIRANO LOMBARDO', 'E991'],\r\n ['MARTIRANO', 'E990'],\r\n ['MOTTA SANTA LUCIA', 'F780'],\r\n ['SOVERIA SIMERI', 'I875'],\r\n ['CARAFFA DI CATANZARO', 'B717'],\r\n ['SETTINGIANO', 'I704'],\r\n ['GASPERINA', 'D932'],\r\n ['MAIDA', 'E834'],\r\n ['BELCASTRO', 'A736'],\r\n ['STALETTI', 'I937'],\r\n ['AMATO', 'A257'],\r\n ['AMARONI', 'A255'],\r\n ['CARDINALE', 'B758'],\r\n ['NOCERA TERINESE', 'F910'],\r\n ['BORGIA', 'B002'],\r\n ['GAGLIATO', 'D852'],\r\n ['CONFLENTI', 'C960'],\r\n ['MONTEPAONE', 'F586'],\r\n ['SAN MANGO D\\'AQUINO', 'H976'],\r\n ['ISCA SULLO IONIO', 'E328'],\r\n ['CARLOPOLI', 'B790'],\r\n ['PALERMITI', 'G272'],\r\n ['PETRIZZI', 'G517'],\r\n ['PETRONA\\'', 'G518'],\r\n ['TORRE DI RUGGIERO', 'L240'],\r\n ['CATANZARO', 'C352'],\r\n ['GIRIFALCO', 'E050'],\r\n ['FOSSATO SERRALTA', 'D744'],\r\n ['ARGUSTO', 'A397'],\r\n ['MONTAURO', 'F432'],\r\n ['MARCELLINARA', 'E925'],\r\n ['MARCEDUSA', 'E923'],\r\n ['BOTRICELLO', 'B085'],\r\n ['OLIVADI', 'G034'],\r\n ['SANTA CATERINA DELLO IONIO', 'I170'],\r\n ['CENTRACHE', 'C472'],\r\n ['SOVERIA MANNELLI', 'I874'],\r\n ['SOVERATO', 'I872'],\r\n ['CENADI', 'C453'],\r\n ['CORTALE', 'D049'],\r\n ['GIMIGLIANO', 'E031'],\r\n ['ANDALI', 'A272'],\r\n ['SELLIA', 'I589'],\r\n ['PENTONE', 'G439'],\r\n ['CURINGA', 'D218'],\r\n ['SAN PIETRO APOSTOLO', 'I095'],\r\n ['SAN PIETRO A MAIDA', 'I093'],\r\n ['VALLEFIORITA', 'I322'],\r\n ['DAVOLI', 'D257'],\r\n ['SAN FLORO', 'H846'],\r\n ['BADOLATO', 'A542'],\r\n ['MAGISANO', 'E806'],\r\n ['SQUILLACE', 'I929'],\r\n ['TAVERNA', 'L070'],\r\n ['TIRIOLO', 'L177'],\r\n ['CERVA', 'C542'],\r\n ['PLATANIA', 'G734'],\r\n ['SERSALE', 'I671'],\r\n ['FALERNA', 'D476'],\r\n ['SERRASTRETTA', 'I655'],\r\n ['SANT\\'ANDREA APOSTOLO DELLO IONIO', 'I266'],\r\n ['SATRIANO', 'I463'],\r\n ['JACURSO', 'E274'],\r\n ['CROPANI', 'D181'],\r\n ['GIZZERIA', 'E068'],\r\n ['SAN VITO SULLO IONIO', 'I393'],\r\n ['GUARDAVALLE', 'E239'],\r\n ['CICALA', 'C674']\r\n ],\r\n EN: [\r\n ['AGIRA', 'A070'],\r\n ['CERAMI', 'C480'],\r\n ['NICOSIA', 'F892'],\r\n ['ASSORO', 'A478'],\r\n ['REGALBUTO', 'H221'],\r\n ['TROINA', 'L448'],\r\n ['BARRAFRANCA', 'A676'],\r\n ['ENNA', 'C342'],\r\n ['SPERLINGA', 'I891'],\r\n ['CATENANUOVA', 'C353'],\r\n ['CENTURIPE', 'C471'],\r\n ['CALASCIBETTA', 'B381'],\r\n ['PIETRAPERZIA', 'G624'],\r\n ['VALGUARNERA CAROPEPE', 'L583'],\r\n ['GAGLIANO CASTELFERRATO', 'D849'],\r\n ['VILLAROSA', 'M011'],\r\n ['AIDONE', 'A098'],\r\n ['NISSORIA', 'F900'],\r\n ['LEONFORTE', 'E536'],\r\n ['PIAZZA ARMERINA', 'G580']\r\n ],\r\n FC: [\r\n ['VERGHERETO', 'L764'],\r\n ['MONTIANO', 'F668'],\r\n ['ROCCA SAN CASCIANO', 'H437'],\r\n ['SAN MAURO PASCOLI', 'I027'],\r\n ['SANTA SOFIA', 'I310'],\r\n ['BERTINORO', 'A809'],\r\n ['GATTEO', 'D935'],\r\n ['GAMBETTOLA', 'D899'],\r\n ['MELDOLA', 'F097'],\r\n ['BORGHI', 'B001'],\r\n ['CESENATICO', 'C574'],\r\n ['CESENA', 'C573'],\r\n ['MERCATO SARACENO', 'F139'],\r\n ['SAVIGNANO SUL RUBICONE', 'I472'],\r\n ['FORLIMPOPOLI', 'D705'],\r\n ['FORLI\\'', 'D704'],\r\n ['PREDAPPIO', 'H017'],\r\n ['PREMILCUORE', 'H034'],\r\n ['CASTROCARO TERME E TERRA DEL SOLE', 'C339'],\r\n ['TREDOZIO', 'L361'],\r\n ['RONCOFREDDO', 'H542'],\r\n ['DOVADOLA', 'D357'],\r\n ['BAGNO DI ROMAGNA', 'A565'],\r\n ['SOGLIANO AL RUBICONE', 'I779'],\r\n ['LONGIANO', 'E675'],\r\n ['MODIGLIANA', 'F259'],\r\n ['PORTICO E SAN BENEDETTO', 'G904'],\r\n ['CIVITELLA DI ROMAGNA', 'C777'],\r\n ['GALEATA', 'D867'],\r\n ['SARSINA', 'I444']\r\n ],\r\n FE: [\r\n ['BERRA', 'A806'],\r\n ['VIGARANO MAINARDA', 'L868'],\r\n ['RO', 'H360'],\r\n ['MASI TORELLO', 'F016'],\r\n ['TRESIGALLO', 'L390'],\r\n ['MIGLIARINO', 'F198'],\r\n ['MIGLIARO', 'F199'],\r\n ['POGGIO RENATICO', 'G768'],\r\n ['PORTOMAGGIORE', 'G916'],\r\n ['COPPARO', 'C980'],\r\n ['MESOLA', 'F156'],\r\n ['BONDENO', 'A965'],\r\n ['ARGENTA', 'A393'],\r\n ['FERRARA', 'D548'],\r\n ['VOGHIERA', 'M110'],\r\n ['LAGOSANTO', 'E410'],\r\n ['MASSA FISCAGLIA', 'F026'],\r\n ['OSTELLATO', 'G184'],\r\n ['MIRABELLO', 'F235'],\r\n ['COMACCHIO', 'C912'],\r\n ['GORO', 'E107'],\r\n ['SANT\\'AGOSTINO', 'I209'],\r\n ['FORMIGNANA', 'D713'],\r\n ['CODIGORO', 'C814'],\r\n ['CENTO', 'C469'],\r\n ['JOLANDA DI SAVOIA', 'E320']\r\n ],\r\n FG: [\r\n ['ALBERONA', 'A150'],\r\n ['RIGNANO GARGANICO', 'H287'],\r\n ['MATTINATA', 'F059'],\r\n ['CANDELA', 'B584'],\r\n ['CELENZA VALFORTORE', 'C429'],\r\n ['CAGNANO VARANO', 'B357'],\r\n ['CELLE SAN VITO', 'C442'],\r\n ['DELICETO', 'D269'],\r\n ['MANFREDONIA', 'E885'],\r\n ['TORREMAGGIORE', 'L273'],\r\n ['SAN FERDINANDO DI PUGLIA', 'H839'],\r\n ['PANNI', 'G312'],\r\n ['CASTELLUCCIO DEI SAURI', 'C198'],\r\n ['POGGIO IMPERIALE', 'G761'],\r\n ['PESCHICI', 'G487'],\r\n ['ISOLE TREMITI', 'E363'],\r\n ['VICO DEL GARGANO', 'L842'],\r\n ['TROIA', 'L447'],\r\n ['TRINITAPOLI', 'B915'],\r\n ['CASALVECCHIO DI PUGLIA', 'B917'],\r\n ['MARGHERITA DI SAVOIA', 'E946'],\r\n ['APRICENA', 'A339'],\r\n ['ORTA NOVA', 'G131'],\r\n ['LESINA', 'E549'],\r\n ['CHIEUTI', 'C633'],\r\n ['SERRACAPRIOLA', 'I641'],\r\n ['CERIGNOLA', 'C514'],\r\n ['ROCCHETTA SANT\\'ANTONIO', 'H467'],\r\n ['LUCERA', 'E716'],\r\n ['SAN SEVERO', 'I158'],\r\n ['VOLTURINO', 'M132'],\r\n ['VOLTURARA APPULA', 'M131'],\r\n ['SANT\\'AGATA DI PUGLIA', 'I193'],\r\n ['SANNICANDRO GARGANICO', 'I054'],\r\n ['BOVINO', 'B104'],\r\n ['PIETRAMONTECORVINO', 'G604'],\r\n ['CARPINO', 'B829'],\r\n ['SAN PAOLO DI CIVITATE', 'I072'],\r\n ['VIESTE', 'L858'],\r\n ['ROSETO VALFORTORE', 'H568'],\r\n ['MONTE SANT\\'ANGELO', 'F631'],\r\n ['FOGGIA', 'D643'],\r\n ['RODI GARGANICO', 'H480'],\r\n ['STORNARA', 'I962'],\r\n ['STORNARELLA', 'I963'],\r\n ['MOTTA MONTECORVINO', 'F777'],\r\n ['CARAPELLE', 'B724'],\r\n ['MONTELEONE DI PUGLIA', 'F538'],\r\n ['CASTELLUCCIO VALMAGGIORE', 'C202'],\r\n ['BICCARI', 'A854'],\r\n ['SAN GIOVANNI ROTONDO', 'H926'],\r\n ['ASCOLI SATRIANO', 'A463'],\r\n ['ANZANO DI PUGLIA', 'A320'],\r\n ['FAETO', 'D459'],\r\n ['ORSARA DI PUGLIA', 'G125'],\r\n ['CASALNUOVO MONTEROTARO', 'B904'],\r\n ['ISCHITELLA', 'E332'],\r\n ['CARLANTINO', 'B784'],\r\n ['CASTELNUOVO DELLA DAUNIA', 'C222'],\r\n ['ACCADIA', 'A015'],\r\n ['SAN MARCO IN LAMIS', 'H985'],\r\n ['SAN MARCO LA CATOLA', 'H986'],\r\n ['ZAPPONETA', 'M267'],\r\n ['ORDONA', 'M266']\r\n ],\r\n FI: [\r\n ['MARRADI', 'E971'],\r\n ['PELAGO', 'G420'],\r\n ['TAVARNELLE VAL DI PESA', 'L067'],\r\n ['SAN PIERO A SIEVE', 'I085'],\r\n ['INCISA IN VAL D\\'ARNO', 'E296'],\r\n ['IMPRUNETA', 'E291'],\r\n ['LASTRA A SIGNA', 'E466'],\r\n ['CAMPI BISENZIO', 'B507'],\r\n ['RIGNANO SULL\\'ARNO', 'H286'],\r\n ['SCARPERIA', 'I514'],\r\n ['FIRENZUOLA', 'D613'],\r\n ['FIRENZE', 'D612'],\r\n ['LONDA', 'E668'],\r\n ['EMPOLI', 'D403'],\r\n ['GAMBASSI TERME', 'D895'],\r\n ['SIGNA', 'I728'],\r\n ['SAN GODENZO', 'H937'],\r\n ['FUCECCHIO', 'D815'],\r\n ['REGGELLO', 'H222'],\r\n ['FIGLINE VALDARNO', 'D583'],\r\n ['PALAZZUOLO SUL SENIO', 'G270'],\r\n ['BARBERINO DI MUGELLO', 'A632'],\r\n ['BARBERINO VAL D\\'ELSA', 'A633'],\r\n ['DICOMANO', 'D299'],\r\n ['VAGLIA', 'L529'],\r\n ['MONTELUPO FIORENTINO', 'F551'],\r\n ['CASTELFIORENTINO', 'C101'],\r\n ['SAN CASCIANO IN VAL DI PESA', 'H791'],\r\n ['RUFINA', 'H635'],\r\n ['SESTO FIORENTINO', 'I684'],\r\n ['CAPRAIA E LIMITE', 'B684'],\r\n ['VINCI', 'M059'],\r\n ['VICCHIO', 'L838'],\r\n ['CALENZANO', 'B406'],\r\n ['BAGNO A RIPOLI', 'A564'],\r\n ['CERTALDO', 'C540'],\r\n ['SCANDICCI', 'B962'],\r\n ['BORGO SAN LORENZO', 'B036'],\r\n ['GREVE IN CHIANTI', 'E169'],\r\n ['CERRETO GUIDI', 'C529'],\r\n ['PONTASSIEVE', 'G825'],\r\n ['FIESOLE', 'D575'],\r\n ['MONTESPERTOLI', 'F648'],\r\n ['MONTAIONE', 'F398']\r\n ],\r\n FM: [\r\n ['ALTIDONA', 'A233'],\r\n ['AMANDOLA', 'A252'],\r\n ['BELMONTE PICENO', 'A760'],\r\n ['CAMPOFILONE', 'B534'],\r\n ['FALERONE', 'D477'],\r\n ['FERMO', 'D542'],\r\n ['FRANCAVILLA D\\'ETE', 'D760'],\r\n ['GROTTAZZOLINA', 'E208'],\r\n ['LAPEDONA', 'E447'],\r\n ['MAGLIANO DI TENNA', 'E807'],\r\n ['MASSA FERMANA', 'F021'],\r\n ['MONSAMPIETRO MORICO', 'F379'],\r\n ['MONTAPPONE', 'F428'],\r\n ['MONTE GIBERTO', 'F517'],\r\n ['MONTE RINALDO', 'F599'],\r\n ['MONTE SAN PIETRANGELI', 'F626'],\r\n ['MONTE URANO', 'F653'],\r\n ['MONTE VIDON COMBATTE', 'F664'],\r\n ['MONTE VIDON CORRADO', 'F665'],\r\n ['MONTEFALCONE APPENNINO', 'F493'],\r\n ['MONTEFORTINO', 'F509'],\r\n ['MONTEGIORGIO', 'F520'],\r\n ['MONTEGRANARO', 'F522'],\r\n ['MONTELEONE DI FERMO', 'F536'],\r\n ['MONTELPARO', 'F549'],\r\n ['MONTERUBBIANO', 'F614'],\r\n ['MONTOTTONE', 'F697'],\r\n ['MORESCO', 'F722'],\r\n ['ORTEZZANO', 'G137'],\r\n ['PEDASO', 'G403'],\r\n ['PETRITOLI', 'G516'],\r\n ['PONZANO DI FERMO', 'G873'],\r\n ['PORTO SAN GIORGIO', 'G920'],\r\n ['PORTO SANT\\'ELPIDIO', 'G921'],\r\n ['RAPAGNANO', 'H182'],\r\n ['SANTA VITTORIA IN MATENANO', 'I315'],\r\n ['SANT\\'ELPIDIO A MARE', 'I324'],\r\n ['SERVIGLIANO', 'C070'],\r\n ['SMERILLO', 'I774'],\r\n ['TORRE SAN PATRIZIO', 'L279']\r\n ],\r\n FR: [\r\n ['ACUTO', 'A054'],\r\n ['VICALVI', 'L836'],\r\n ['ANAGNI', 'A269'],\r\n ['SETTEFRATI', 'I697'],\r\n ['VALLECORSA', 'L598'],\r\n ['FALVATERRA', 'D483'],\r\n ['MONTE SAN GIOVANNI CAMPANO', 'F620'],\r\n ['CASTELLIRI', 'C177'],\r\n ['SUPINO', 'L009'],\r\n ['TREVI NEL LAZIO', 'L398'],\r\n ['BROCCOSTELLA', 'B195'],\r\n ['SANTOPADRE', 'I351'],\r\n ['CASSINO', 'C034'],\r\n ['STRANGOLAGALLI', 'I973'],\r\n ['ALATRI', 'A123'],\r\n ['VALLEROTONDA', 'L614'],\r\n ['ROCCADARCE', 'H393'],\r\n ['MOROLO', 'F740'],\r\n ['PATRICA', 'G374'],\r\n ['ISOLA DEL LIRI', 'E340'],\r\n ['POFI', 'G749'],\r\n ['CAMPOLI APPENNINO', 'B543'],\r\n ['VICO NEL LAZIO', 'L843'],\r\n ['FIUGGI', 'A310'],\r\n ['ESPERIA', 'D440'],\r\n ['SAN GIOVANNI INCARICO', 'H917'],\r\n ['CASALVIERI', 'B919'],\r\n ['POSTA FIBRENO', 'G935'],\r\n ['VILLA LATINA', 'A081'],\r\n ['SERRONE', 'I669'],\r\n ['ARPINO', 'A433'],\r\n ['VILLA SANTA LUCIA', 'L905'],\r\n ['PALIANO', 'G276'],\r\n ['SANT\\'AMBROGIO SUL GARIGLIANO', 'I256'],\r\n ['ALVITO', 'A244'],\r\n ['TORRE CAJETANI', 'L243'],\r\n ['TERELLE', 'L105'],\r\n ['CECCANO', 'C413'],\r\n ['FROSINONE', 'D810'],\r\n ['FUMONE', 'D819'],\r\n ['VITICUSO', 'M083'],\r\n ['GIULIANO DI ROMA', 'E057'],\r\n ['ROCCASECCA', 'H443'],\r\n ['PONTECORVO', 'G838'],\r\n ['CASTRO DEI VOLSCI', 'C338'],\r\n ['CEPRANO', 'C479'],\r\n ['COLLEPARDO', 'C864'],\r\n ['SORA', 'I838'],\r\n ['PIEDIMONTE SAN GERMANO', 'G598'],\r\n ['PICO', 'G592'],\r\n ['PICINISCO', 'G591'],\r\n ['GUARCINO', 'E236'],\r\n ['FONTECHIARI', 'D682'],\r\n ['AMASENO', 'A256'],\r\n ['FONTANA LIRI', 'D667'],\r\n ['AUSONIA', 'A502'],\r\n ['SANT\\'APOLLINARE', 'I302'],\r\n ['PIGLIO', 'G659'],\r\n ['SAN DONATO VAL DI COMINO', 'H824'],\r\n ['SAN BIAGIO SARACINISCO', 'H779'],\r\n ['SANT\\'ELIA FIUMERAPIDO', 'I321'],\r\n ['CASALATTICO', 'B862'],\r\n ['BELMONTE CASTELLO', 'A763'],\r\n ['PIGNATARO INTERAMNA', 'G662'],\r\n ['CASTELNUOVO PARANO', 'C223'],\r\n ['VALLEMAIO', 'L605'],\r\n ['RIPI', 'H324'],\r\n ['VILLA SANTO STEFANO', 'I364'],\r\n ['PASTENA', 'G362'],\r\n ['FILETTINO', 'D591'],\r\n ['GALLINARO', 'D881'],\r\n ['SGURGOLA', 'I716'],\r\n ['SAN GIORGIO A LIRI', 'H880'],\r\n ['BOVILLE ERNICA', 'A720'],\r\n ['VEROLI', 'L780'],\r\n ['TRIVIGLIANO', 'L437'],\r\n ['CERVARO', 'C545'],\r\n ['AQUINO', 'A348'],\r\n ['SANT\\'ANDREA DEL GARIGLIANO', 'I265'],\r\n ['ARNARA', 'A421'],\r\n ['PESCOSOLIDO', 'G500'],\r\n ['ARCE', 'A363'],\r\n ['CORENO AUSONIO', 'C998'],\r\n ['CASTROCIELO', 'C340'],\r\n ['COLFELICE', 'C836'],\r\n ['SAN VITTORE DEL LAZIO', 'I408'],\r\n ['FERENTINO', 'D539'],\r\n ['ATINA', 'A486'],\r\n ['TORRICE', 'L290'],\r\n ['COLLE SAN MAGNO', 'C870'],\r\n ['ACQUAFONDATA', 'A032']\r\n ],\r\n GE: [\r\n ['MONTEBRUNO', 'F445'],\r\n ['VOBBIA', 'M105'],\r\n ['BORZONASCA', 'B067'],\r\n ['SESTRI LEVANTE', 'I693'],\r\n ['LORSICA', 'E695'],\r\n ['FONTANIGORDA', 'D677'],\r\n ['MIGNANEGO', 'F202'],\r\n ['RONCO SCRIVIA', 'H536'],\r\n ['ZOAGLI', 'M182'],\r\n ['CROCEFIESCHI', 'D175'],\r\n ['LAVAGNA', 'E488'],\r\n ['CERANESI', 'C481'],\r\n ['CASELLA', 'B956'],\r\n ['MELE', 'F098'],\r\n ['TIGLIETO', 'L167'],\r\n ['BUSALLA', 'B282'],\r\n ['PORTOFINO', 'G913'],\r\n ['NE', 'F858'],\r\n ['BARGAGLI', 'A658'],\r\n ['ROVEGNO', 'H599'],\r\n ['CASARZA LIGURE', 'B939'],\r\n ['SAVIGNONE', 'I475'],\r\n ['ORERO', 'G093'],\r\n ['SERRA RICCO\\'', 'I640'],\r\n ['ISOLA DEL CANTONE', 'E341'],\r\n ['COGORNO', 'C826'],\r\n ['COGOLETO', 'C823'],\r\n ['MEZZANEGO', 'F173'],\r\n ['FASCIA', 'D509'],\r\n ['USCIO', 'L507'],\r\n ['BOGLIASCO', 'A922'],\r\n ['MONEGLIA', 'F354'],\r\n ['PROPATA', 'H073'],\r\n ['LUMARZO', 'E737'],\r\n ['VALBREVENNA', 'L546'],\r\n ['SORI', 'I852'],\r\n ['MASONE', 'F020'],\r\n ['SAN COLOMBANO CERTENOLI', 'H802'],\r\n ['CHIAVARI', 'C621'],\r\n ['AVEGNO', 'A506'],\r\n ['NEIRONE', 'F862'],\r\n ['PIEVE LIGURE', 'G646'],\r\n ['DAVAGNA', 'D255'],\r\n ['RONDANINA', 'H546'],\r\n ['CAMOGLI', 'B490'],\r\n ['SANT\\'OLCESE', 'I346'],\r\n ['CARASCO', 'B726'],\r\n ['SANTO STEFANO D\\'AVETO', 'I368'],\r\n ['CAMPO LIGURE', 'B538'],\r\n ['MOCONESI', 'F256'],\r\n ['CAMPOMORONE', 'B551'],\r\n ['TORRIGLIA', 'L298'],\r\n ['TRIBOGNA', 'L416'],\r\n ['GORRETO', 'E109'],\r\n ['REZZOAGLIO', 'H258'],\r\n ['SANTA MARGHERITA LIGURE', 'I225'],\r\n ['RECCO', 'H212'],\r\n ['ROSSIGLIONE', 'H581'],\r\n ['COREGLIA LIGURE', 'C995'],\r\n ['ARENZANO', 'A388'],\r\n ['MONTOGGIO', 'F682'],\r\n ['LEIVI', 'E519'],\r\n ['FAVALE DI MALVARO', 'D512'],\r\n ['RAPALLO', 'H183'],\r\n ['CASTIGLIONE CHIAVARESE', 'C302'],\r\n ['GENOVA', 'D969'],\r\n ['CICAGNA', 'C673']\r\n ],\r\n GO: [\r\n ['SAN CANZIAN D\\'ISONZO', 'H787'],\r\n ['SAN LORENZO ISONTINO', 'H964'],\r\n ['MARIANO DEL FRIULI', 'E952'],\r\n ['CORMONS', 'D014'],\r\n ['SAN PIER D\\'ISONZO', 'I082'],\r\n ['RONCHI DEI LEGIONARI', 'H531'],\r\n ['MOSSA', 'F767'],\r\n ['VILLESSE', 'M043'],\r\n ['ROMANS D\\'ISONZO', 'H514'],\r\n ['CAPRIVA DEL FRIULI', 'B712'],\r\n ['STARANZANO', 'I939'],\r\n ['DOLEGNA DEL COLLIO', 'D321'],\r\n ['GORIZIA', 'E098'],\r\n ['SAVOGNA D\\'ISONZO', 'I479'],\r\n ['FARRA D\\'ISONZO', 'D504'],\r\n ['FOGLIANO REDIPUGLIA', 'D645'],\r\n ['SAN FLORIANO DEL COLLIO', 'H845'],\r\n ['GRADISCA D\\'ISONZO', 'E124'],\r\n ['GRADO', 'E125'],\r\n ['MEDEA', 'F081'],\r\n ['DOBERDO\\' DEL LAGO', 'D312'],\r\n ['MORARO', 'F710'],\r\n ['TURRIACO', 'L474'],\r\n ['MONFALCONE', 'F356'],\r\n ['SAGRADO', 'H665']\r\n ],\r\n GR: [\r\n ['GAVORRANO', 'D948'],\r\n ['SORANO', 'I841'],\r\n ['MASSA MARITTIMA', 'F032'],\r\n ['MANCIANO', 'E875'],\r\n ['CIVITELLA PAGANICO', 'C782'],\r\n ['SCARLINO', 'I510'],\r\n ['MAGLIANO IN TOSCANA', 'E810'],\r\n ['SEGGIANO', 'I571'],\r\n ['ISOLA DEL GIGLIO', 'E348'],\r\n ['ROCCASTRADA', 'H449'],\r\n ['SEMPRONIANO', 'I601'],\r\n ['CASTIGLIONE DELLA PESCAIA', 'C310'],\r\n ['GROSSETO', 'E202'],\r\n ['MONTIERI', 'F677'],\r\n ['CAPALBIO', 'B646'],\r\n ['CASTELL\\'AZZARA', 'C147'],\r\n ['MONTEROTONDO MARITTIMO', 'F612'],\r\n ['MONTE ARGENTARIO', 'F437'],\r\n ['CASTEL DEL PIANO', 'C085'],\r\n ['CAMPAGNATICO', 'B497'],\r\n ['SCANSANO', 'I504'],\r\n ['FOLLONICA', 'D656'],\r\n ['PITIGLIANO', 'G716'],\r\n ['CINIGIANO', 'C705'],\r\n ['ORBETELLO', 'G088'],\r\n ['ARCIDOSSO', 'A369'],\r\n ['SANTA FIORA', 'I187'],\r\n ['ROCCALBEGNA', 'H417']\r\n ],\r\n IM: [\r\n ['CASTEL VITTORIO', 'C110'],\r\n ['SAN BIAGIO DELLA CIMA', 'H780'],\r\n ['PIEVE DI TECO', 'G632'],\r\n ['VALLECROSIA', 'L599'],\r\n ['VALLEBONA', 'L596'],\r\n ['CARPASIO', 'B814'],\r\n ['SAN BARTOLOMEO AL MARE', 'H763'],\r\n ['IMPERIA', 'E290'],\r\n ['CARAVONICA', 'B734'],\r\n ['TAGGIA', 'L024'],\r\n ['BORDIGHERA', 'A984'],\r\n ['MONTEGROSSO PIAN LATTE', 'F528'],\r\n ['SEBORGA', 'I556'],\r\n ['BORGOMARO', 'B020'],\r\n ['VILLA FARALDI', 'L943'],\r\n ['RIVA LIGURE', 'H328'],\r\n ['COSTARAINERA', 'D114'],\r\n ['ARMO', 'A418'],\r\n ['TERZORIO', 'L146'],\r\n ['APRICALE', 'A338'],\r\n ['CESIO', 'C578'],\r\n ['BAIARDO', 'A581'],\r\n ['VASIA', 'L693'],\r\n ['SAN LORENZO AL MARE', 'H957'],\r\n ['BADALUCCO', 'A536'],\r\n ['CERIANA', 'C511'],\r\n ['ISOLABONA', 'E346'],\r\n ['DIANO SAN PIETRO', 'D298'],\r\n ['DIANO MARINA', 'D297'],\r\n ['DIANO ARENTINO', 'D293'],\r\n ['CERVO', 'C559'],\r\n ['AIROLE', 'A111'],\r\n ['AURIGO', 'A499'],\r\n ['ROCCHETTA NERVINA', 'H460'],\r\n ['LUCINASCO', 'E719'],\r\n ['POMPEIANA', 'G814'],\r\n ['DIANO CASTELLO', 'D296'],\r\n ['PONTEDASSIO', 'G840'],\r\n ['CHIUSAVECCHIA', 'C660'],\r\n ['SAN REMO', 'I138'],\r\n ['PIETRABRUNA', 'G607'],\r\n ['CASTELLARO', 'C143'],\r\n ['PORNASSIO', 'G890'],\r\n ['PERINALDO', 'G454'],\r\n ['PIGNA', 'G660'],\r\n ['VESSALICO', 'L809'],\r\n ['SANTO STEFANO AL MARE', 'I365'],\r\n ['COSIO D\\'ARROSCIA', 'D087'],\r\n ['CHIUSANICO', 'C657'],\r\n ['CAMPOROSSO', 'B559'],\r\n ['OSPEDALETTI', 'G164'],\r\n ['DOLCEACQUA', 'D318'],\r\n ['DOLCEDO', 'D319'],\r\n ['REZZO', 'H257'],\r\n ['TRIORA', 'L430'],\r\n ['MOLINI DI TRIORA', 'F290'],\r\n ['CIPRESSA', 'C718'],\r\n ['AQUILA D\\'ARROSCIA', 'A344'],\r\n ['MENDATICA', 'F123'],\r\n ['SOLDANO', 'I796'],\r\n ['BORGHETTO D\\'ARROSCIA', 'A993'],\r\n ['PRELA\\'', 'H027'],\r\n ['CIVEZZA', 'C755'],\r\n ['OLIVETTA SAN MICHELE', 'G041'],\r\n ['MONTALTO LIGURE', 'F406'],\r\n ['RANZO', 'H180'],\r\n ['VENTIMIGLIA', 'L741']\r\n ],\r\n IS: [\r\n ['ACQUAVIVA D\\'ISERNIA', 'A051'],\r\n ['CANTALUPO NEL SANNIO', 'B630'],\r\n ['MONTERODUNI', 'F601'],\r\n ['CARPINONE', 'B830'],\r\n ['CAROVILLI', 'B810'],\r\n ['POGGIO SANNITA', 'B317'],\r\n ['POZZILLI', 'G954'],\r\n ['CASTEL SAN VINCENZO', 'C270'],\r\n ['LONGANO', 'E669'],\r\n ['PESCHE', 'G486'],\r\n ['RIONERO SANNITICO', 'H308'],\r\n ['SANTA MARIA DEL MOLISE', 'I238'],\r\n ['PIZZONE', 'G727'],\r\n ['CONCA CASALE', 'C941'],\r\n ['AGNONE', 'A080'],\r\n ['MONTENERO VAL COCCHIARA', 'F580'],\r\n ['VASTOGIRARDI', 'L696'],\r\n ['FORLI\\' DEL SANNIO', 'D703'],\r\n ['CIVITANOVA DEL SANNIO', 'C769'],\r\n ['FROSOLONE', 'D811'],\r\n ['CERRO AL VOLTURNO', 'C534'],\r\n ['ROCCASICURA', 'H445'],\r\n ['ISERNIA', 'E335'],\r\n ['ROCCAMANDOLFI', 'H420'],\r\n ['PIETRABBONDANTE', 'G606'],\r\n ['MACCHIAGODENA', 'E779'],\r\n ['MACCHIA D\\'ISERNIA', 'E778'],\r\n ['SESTO CAMPANO', 'I682'],\r\n ['CHIAUCI', 'C620'],\r\n ['CASTEL DEL GIUDICE', 'C082'],\r\n ['SAN PIETRO AVELLANA', 'I096'],\r\n ['CASTELVERRINO', 'C200'],\r\n ['CAPRACOTTA', 'B682'],\r\n ['BELMONTE DEL SANNIO', 'A761'],\r\n ['SCAPOLI', 'I507'],\r\n ['VENAFRO', 'L725'],\r\n ['SANT\\'ANGELO DEL PESCO', 'I282'],\r\n ['MIRANDA', 'F239'],\r\n ['BAGNOLI DEL TRIGNO', 'A567'],\r\n ['CASTELPIZZUTO', 'C247'],\r\n ['CASTELPETROSO', 'C246'],\r\n ['PESCOPENNATARO', 'G497'],\r\n ['PESCOLANCIANO', 'G495'],\r\n ['FILIGNANO', 'D595'],\r\n ['SESSANO DEL MOLISE', 'I679'],\r\n ['FORNELLI', 'D715'],\r\n ['SANT\\'ELENA SANNITA', 'B466'],\r\n ['PETTORANELLO DEL MOLISE', 'G523'],\r\n ['SANT\\'AGAPITO', 'I189'],\r\n ['MONTAQUILA', 'F429'],\r\n ['ROCCHETTA A VOLTURNO', 'H458'],\r\n ['COLLI A VOLTURNO', 'C878']\r\n ],\r\n KR: [\r\n ['SAN MAURO MARCHESATO', 'I026'],\r\n ['CERENZIA', 'C501'],\r\n ['VERZINO', 'L802'],\r\n ['CACCURI', 'B319'],\r\n ['SAVELLI', 'I468'],\r\n ['BELVEDERE DI SPINELLO', 'A772'],\r\n ['CASABONA', 'B857'],\r\n ['SCANDALE', 'I494'],\r\n ['CIRO\\' MARINA', 'C726'],\r\n ['ROCCABERNARDA', 'H383'],\r\n ['PALLAGORIO', 'G278'],\r\n ['MESORACA', 'F157'],\r\n ['CARFIZZI', 'B771'],\r\n ['CUTRO', 'D236'],\r\n ['SAN NICOLA DELL\\'ALTO', 'I057'],\r\n ['ROCCA DI NETO', 'H403'],\r\n ['SANTA SEVERINA', 'I308'],\r\n ['CIRO\\'', 'C725'],\r\n ['COTRONEI', 'D123'],\r\n ['CROTONE', 'D122'],\r\n ['CASTELSILANO', 'B968'],\r\n ['MELISSA', 'F108'],\r\n ['PETILIA POLICASTRO', 'G508'],\r\n ['ISOLA DI CAPO RIZZUTO', 'E339'],\r\n ['UMBRIATICO', 'L492'],\r\n ['STRONGOLI', 'I982'],\r\n ['CRUCOLI', 'D189']\r\n ],\r\n LC: [\r\n ['OGGIONO', 'G009'],\r\n ['VIGANO\\'', 'L866'],\r\n ['MALGRATE', 'E858'],\r\n ['MONTE MARENZO', 'F561'],\r\n ['PARLASCO', 'G336'],\r\n ['PEREGO', 'G448'],\r\n ['MANDELLO DEL LARIO', 'E879'],\r\n ['CASSAGO BRIANZA', 'B996'],\r\n ['BRIVIO', 'B194'],\r\n ['VALMADRERA', 'L634'],\r\n ['SIRTORI', 'I761'],\r\n ['TACENO', 'L022'],\r\n ['DORIO', 'D346'],\r\n ['MISSAGLIA', 'F248'],\r\n ['PESCATE', 'G485'],\r\n ['MOGGIO', 'F265'],\r\n ['ERVE', 'D428'],\r\n ['CRANDOLA VALSASSINA', 'D131'],\r\n ['LIERNA', 'E581'],\r\n ['COSTA MASNAGA', 'D112'],\r\n ['INTROZZO', 'E308'],\r\n ['INTROBIO', 'E305'],\r\n ['DOLZAGO', 'D327'],\r\n ['MARGNO', 'E947'],\r\n ['GARLATE', 'D926'],\r\n ['ROVAGNATE', 'H596'],\r\n ['CASARGO', 'B937'],\r\n ['MERATE', 'F133'],\r\n ['LOMAGNA', 'E656'],\r\n ['CASTELLO DI BRIANZA', 'C187'],\r\n ['MOLTENO', 'F304'],\r\n ['NIBIONNO', 'F887'],\r\n ['BULCIAGO', 'B261'],\r\n ['PADERNO D\\'ADDA', 'G218'],\r\n ['LECCO', 'E507'],\r\n ['CREMELLA', 'D143'],\r\n ['SUEGLIO', 'I994'],\r\n ['SUELLO', 'I996'],\r\n ['VENDROGNO', 'L731'],\r\n ['AIRUNO', 'A112'],\r\n ['GARBAGNATE MONASTERO', 'D913'],\r\n ['BALLABIO', 'A594'],\r\n ['ELLO', 'D398'],\r\n ['BOSISIO PARINI', 'B081'],\r\n ['ABBADIA LARIANA', 'A005'],\r\n ['OLGINATE', 'G030'],\r\n ['VERCURAGO', 'L751'],\r\n ['VERDERIO INFERIORE', 'L755'],\r\n ['VERDERIO SUPERIORE', 'L756'],\r\n ['MONTEVECCHIA', 'F657'],\r\n ['MONTICELLO BRIANZA', 'F674'],\r\n ['CORTENOVA', 'D065'],\r\n ['VALGREGHENTINO', 'L581'],\r\n ['BELLANO', 'A745'],\r\n ['ROGENO', 'H486'],\r\n ['VESTRENO', 'L813'],\r\n ['PERLEDO', 'G456'],\r\n ['SIRONE', 'I759'],\r\n ['IMBERSAGO', 'E287'],\r\n ['CASSINA VALSASSINA', 'C024'],\r\n ['MORTERONE', 'F758'],\r\n ['PASTURO', 'G368'],\r\n ['CREMENO', 'D145'],\r\n ['OSNAGO', 'G161'],\r\n ['CASATENOVO', 'B943'],\r\n ['CARENNO', 'B763'],\r\n ['ANNONE DI BRIANZA', 'A301'],\r\n ['ESINO LARIO', 'D436'],\r\n ['BARZAGO', 'A683'],\r\n ['BARZIO', 'A687'],\r\n ['BARZANO\\'', 'A686'],\r\n ['CESANA BRIANZA', 'C563'],\r\n ['VARENNA', 'L680'],\r\n ['GALBIATE', 'D865'],\r\n ['PAGNONA', 'G241'],\r\n ['SANTA MARIA HOE\\'', 'I243'],\r\n ['CERNUSCO LOMBARDONE', 'C521'],\r\n ['TORRE DE\\' BUSI', 'L257'],\r\n ['COLICO', 'C839'],\r\n ['PREMANA', 'H028'],\r\n ['DERVIO', 'D280'],\r\n ['CIVATE', 'C752'],\r\n ['CALOLZIOCORTE', 'B423'],\r\n ['OLIVETO LARIO', 'G040'],\r\n ['ROBBIATE', 'G223'],\r\n ['TREMENICO', 'L368'],\r\n ['PRIMALUNA', 'H063'],\r\n ['OLGIATE MOLGORA', 'G026'],\r\n ['CALCO', 'B396'],\r\n ['COLLE BRIANZA', 'C851']\r\n ],\r\n LE: [\r\n ['CANNOLE', 'B616'],\r\n ['MARTANO', 'E979'],\r\n ['MATINO', 'F054'],\r\n ['PALMARIGGI', 'G285'],\r\n ['MONTERONI DI LECCE', 'F604'],\r\n ['MONTESANO SALENTINO', 'F623'],\r\n ['SPECCHIA', 'I887'],\r\n ['TAURISANO', 'L064'],\r\n ['BAGNOLO DEL SALENTO', 'A572'],\r\n ['ANDRANO', 'A281'],\r\n ['LIZZANELLO', 'E629'],\r\n ['SUPERSANO', 'L008'],\r\n ['CAPRARICA DI LECCE', 'B690'],\r\n ['RACALE', 'H147'],\r\n ['MIGGIANO', 'F194'],\r\n ['MINERVINO DI LECCE', 'F221'],\r\n ['SALICE SALENTINO', 'H708'],\r\n ['CAMPI SALENTINA', 'B506'],\r\n ['MAGLIE', 'E815'],\r\n ['CAVALLINO', 'C377'],\r\n ['SALVE', 'H729'],\r\n ['STERNATIA', 'I950'],\r\n ['PATU\\'', 'G378'],\r\n ['SQUINZANO', 'I930'],\r\n ['SECLI\\'', 'I559'],\r\n ['DISO', 'D305'],\r\n ['TIGGIANO', 'L166'],\r\n ['GALLIPOLI', 'D883'],\r\n ['NOCIGLIA', 'F916'],\r\n ['MELPIGNANO', 'F117'],\r\n ['TUGLIE', 'L462'],\r\n ['ORTELLE', 'G136'],\r\n ['ZOLLINO', 'M187'],\r\n ['CASARANO', 'B936'],\r\n ['CARMIANO', 'B792'],\r\n ['SOGLIANO CAVOUR', 'I780'],\r\n ['ARADEO', 'A350'],\r\n ['UGENTO', 'L484'],\r\n ['UGGIANO LA CHIESA', 'L485'],\r\n ['ALESSANO', 'A184'],\r\n ['ALEZIO', 'A185'],\r\n ['NEVIANO', 'F881'],\r\n ['NOVOLI', 'F970'],\r\n ['MURO LECCESE', 'F816'],\r\n ['VEGLIE', 'L711'],\r\n ['LECCE', 'E506'],\r\n ['GIUGGIANELLO', 'E053'],\r\n ['CASTRIGNANO DEL CAPO', 'C336'],\r\n ['CASTRIGNANO DE\\' GRECI', 'C335'],\r\n ['CASTRI DI LECCE', 'C334'],\r\n ['BOTRUGNO', 'B086'],\r\n ['CALIMERA', 'B413'],\r\n ['SANARICA', 'H757'],\r\n ['COLLEPASSO', 'C865'],\r\n ['GUAGNANO', 'E227'],\r\n ['VERNOLE', 'L776'],\r\n ['CORSANO', 'D044'],\r\n ['SAN CESARIO DI LECCE', 'H793'],\r\n ['RUFFANO', 'H632'],\r\n ['CUTROFIANO', 'D237'],\r\n ['SANNICOLA', 'I059'],\r\n ['ACQUARICA DEL CAPO', 'A042'],\r\n ['CARPIGNANO SALENTINO', 'B822'],\r\n ['SAN PIETRO IN LAMA', 'I115'],\r\n ['CORIGLIANO D\\'OTRANTO', 'D006'],\r\n ['SAN DONATO DI LECCE', 'H826'],\r\n ['MARTIGNANO', 'E984'],\r\n ['OTRANTO', 'G188'],\r\n ['PARABITA', 'G325'],\r\n ['SURBO', 'L011'],\r\n ['SURANO', 'L010'],\r\n ['LEVERANO', 'E563'],\r\n ['TREPUZZI', 'L383'],\r\n ['SPONGANO', 'I923'],\r\n ['SANTA CESAREA TERME', 'I172'],\r\n ['SCORRANO', 'I549'],\r\n ['TRICASE', 'L419'],\r\n ['POGGIARDO', 'G751'],\r\n ['MORCIANO DI LEUCA', 'F716'],\r\n ['NARDO\\'', 'F842'],\r\n ['GAGLIANO DEL CAPO', 'D851'],\r\n ['MELISSANO', 'F109'],\r\n ['MELENDUGNO', 'F101'],\r\n ['GALATONE', 'D863'],\r\n ['COPERTINO', 'C978'],\r\n ['ARNESANO', 'A425'],\r\n ['LEQUILE', 'E538'],\r\n ['GALATINA', 'D862'],\r\n ['PRESICCE', 'H047'],\r\n ['TAVIANO', 'L074'],\r\n ['GIURDIGNANO', 'E061'],\r\n ['SOLETO', 'I800'],\r\n ['SAN CASSIANO', 'M264'],\r\n ['PORTO CESAREO', 'M263'],\r\n ['CASTRO', 'M261'],\r\n ['ALLISTE', 'A208'],\r\n ['CURSI', 'D223']\r\n ],\r\n LI: [\r\n ['PORTO AZZURRO', 'E680'],\r\n ['ROSIGNANO MARITTIMO', 'H570'],\r\n ['LIVORNO', 'E625'],\r\n ['CAMPIGLIA MARITTIMA', 'B509'],\r\n ['PORTOFERRAIO', 'G912'],\r\n ['RIO MARINA', 'H305'],\r\n ['CASTAGNETO CARDUCCI', 'C044'],\r\n ['CECINA', 'C415'],\r\n ['PIOMBINO', 'G687'],\r\n ['COLLESALVETTI', 'C869'],\r\n ['CAPOLIVERI', 'B669'],\r\n ['CAPRAIA ISOLA', 'B685'],\r\n ['SUVERETO', 'L019'],\r\n ['RIO NELL\\'ELBA', 'H297'],\r\n ['BIBBONA', 'A852'],\r\n ['CAMPO NELL\\'ELBA', 'B553'],\r\n ['SAN VINCENZO', 'I390'],\r\n ['SASSETTA', 'I454'],\r\n ['MARCIANA MARINA', 'E931'],\r\n ['MARCIANA', 'E930']\r\n ],\r\n LO: [\r\n ['BOFFALORA D\\'ADDA', 'A919'],\r\n ['SORDIO', 'I848'],\r\n ['MALEO', 'E852'],\r\n ['LIVRAGA', 'E627'],\r\n ['MARUDO', 'E994'],\r\n ['SALERANO SUL LAMBRO', 'H701'],\r\n ['CASELLE LURANI', 'B958'],\r\n ['LODI', 'E648'],\r\n ['OSSAGO LODIGIANO', 'G171'],\r\n ['CERVIGNANO D\\'ADDA', 'C555'],\r\n ['CASALPUSTERLENGO', 'B910'],\r\n ['CRESPIATICA', 'D159'],\r\n ['TURANO LODIGIANO', 'L469'],\r\n ['TERRANOVA DEI PASSERINI', 'L125'],\r\n ['GRAFFIGNANA', 'E127'],\r\n ['PIEVE FISSIRAGA', 'G096'],\r\n ['CAMAIRAGO', 'B456'],\r\n ['TAVAZZANO CON VILLAVESCO', 'F260'],\r\n ['CASALETTO LODIGIANO', 'B887'],\r\n ['ABBADIA CERRETO', 'A004'],\r\n ['MONTANASO LOMBARDO', 'F423'],\r\n ['SOMAGLIA', 'I815'],\r\n ['CORTE PALASIO', 'D068'],\r\n ['MASSALENGO', 'F028'],\r\n ['MACCASTORNA', 'E777'],\r\n ['FOMBIO', 'D660'],\r\n ['CORNEGLIANO LAUDENSE', 'D021'],\r\n ['CORNO GIOVINE', 'D028'],\r\n ['CORNOVECCHIO', 'D029'],\r\n ['ZELO BUON PERSICO', 'M158'],\r\n ['MAIRAGO', 'E840'],\r\n ['SAN FIORANO', 'H844'],\r\n ['BERTONICO', 'A811'],\r\n ['CASTELNUOVO BOCCA D\\'ADDA', 'C228'],\r\n ['SANTO STEFANO LODIGIANO', 'I362'],\r\n ['SECUGNAGO', 'I561'],\r\n ['CASTIGLIONE D\\'ADDA', 'C304'],\r\n ['VILLANOVA DEL SILLARO', 'L977'],\r\n ['LODI VECCHIO', 'E651'],\r\n ['COMAZZO', 'C917'],\r\n ['OSPEDALETTO LODIGIANO', 'G166'],\r\n ['ORIO LITTA', 'G107'],\r\n ['BREMBIO', 'B141'],\r\n ['CASELLE LANDI', 'B961'],\r\n ['MELETI', 'F102'],\r\n ['GALGAGNANO', 'D868'],\r\n ['BORGO SAN GIOVANNI', 'B017'],\r\n ['SAN ROCCO AL PORTO', 'I140'],\r\n ['CAVACURTA', 'C362'],\r\n ['MULAZZANO', 'F801'],\r\n ['BORGHETTO LODIGIANO', 'A995'],\r\n ['MERLINO', 'F149'],\r\n ['SAN MARTINO IN STRADA', 'I012'],\r\n ['SENNA LODIGIANA', 'I612'],\r\n ['CASTIRAGA VIDARDO', 'C329'],\r\n ['CODOGNO', 'C816'],\r\n ['CASALMAIOCCO', 'B899'],\r\n ['VALERA FRATTA', 'L572'],\r\n ['SANT\\'ANGELO LODIGIANO', 'I274'],\r\n ['GUARDAMIGLIO', 'E238'],\r\n ['CAVENAGO D\\'ADDA', 'C394']\r\n ],\r\n LT: [\r\n ['SABAUDIA', 'H647'],\r\n ['ROCCA MASSIMA', 'H421'],\r\n ['SAN FELICE CIRCEO', 'H836'],\r\n ['SANTI COSMA E DAMIANO', 'I339'],\r\n ['MINTURNO', 'F224'],\r\n ['CAMPODIMELE', 'B527'],\r\n ['SONNINO', 'I832'],\r\n ['NORMA', 'F937'],\r\n ['SPERLONGA', 'I892'],\r\n ['TERRACINA', 'L120'],\r\n ['FORMIA', 'D708'],\r\n ['PONZA', 'G871'],\r\n ['LENOLA', 'E527'],\r\n ['CISTERNA DI LATINA', 'C740'],\r\n ['ROCCASECCA DEI VOLSCI', 'H444'],\r\n ['PROSSEDI', 'H076'],\r\n ['CASTELFORTE', 'C104'],\r\n ['MONTE SAN BIAGIO', 'F616'],\r\n ['FONDI', 'D662'],\r\n ['CORI', 'D003'],\r\n ['LATINA', 'E472'],\r\n ['BASSIANO', 'A707'],\r\n ['GAETA', 'D843'],\r\n ['SEZZE', 'I712'],\r\n ['SPIGNO SATURNIA', 'I902'],\r\n ['ITRI', 'E375'],\r\n ['APRILIA', 'A341'],\r\n ['PONTINIA', 'G865'],\r\n ['SERMONETA', 'I634'],\r\n ['PRIVERNO', 'G698'],\r\n ['MAENZA', 'E798'],\r\n ['VENTOTENE', 'L742'],\r\n ['ROCCAGORGA', 'H413']\r\n ],\r\n LU: [\r\n ['VIAREGGIO', 'L833'],\r\n ['VERGEMOLI', 'L763'],\r\n ['SAN ROMANO IN GARFAGNANA', 'I142'],\r\n ['ALTOPASCIO', 'A241'],\r\n ['MASSAROSA', 'F035'],\r\n ['PORCARI', 'G882'],\r\n ['MINUCCIANO', 'F225'],\r\n ['PESCAGLIA', 'G480'],\r\n ['MOLAZZANA', 'F283'],\r\n ['FABBRICHE DI VALLICO', 'D449'],\r\n ['VILLA COLLEMANDINA', 'L926'],\r\n ['BARGA', 'A657'],\r\n ['GALLICANO', 'D874'],\r\n ['CAMAIORE', 'B455'],\r\n ['SERAVEZZA', 'I622'],\r\n ['GIUNCUGNANO', 'E059'],\r\n ['LUCCA', 'E715'],\r\n ['MONTECARLO', 'F452'],\r\n ['CAPANNORI', 'B648'],\r\n ['PIETRASANTA', 'G628'],\r\n ['PIEVE FOSCIANA', 'G648'],\r\n ['BAGNI DI LUCCA', 'A560'],\r\n ['STAZZEMA', 'I942'],\r\n ['CAMPORGIANO', 'B557'],\r\n ['CAREGGINE', 'B760'],\r\n ['SILLANO', 'I737'],\r\n ['BORGO A MOZZANO', 'B007'],\r\n ['CASTELNUOVO DI GARFAGNANA', 'C236'],\r\n ['VILLA BASILICA', 'L913'],\r\n ['FORTE DEI MARMI', 'D730'],\r\n ['FOSCIANDORA', 'D734'],\r\n ['COREGLIA ANTELMINELLI', 'C996'],\r\n ['VAGLI SOTTO', 'L533'],\r\n ['CASTIGLIONE DI GARFAGNANA', 'C303'],\r\n ['PIAZZA AL SERCHIO', 'G582']\r\n ],\r\n MB: [\r\n ['AGRATE BRIANZA', 'A087'],\r\n ['AICURZIO', 'A096'],\r\n ['ALBIATE', 'A159'],\r\n ['ARCORE', 'A376'],\r\n ['BARLASSINA', 'A668'],\r\n ['BELLUSCO', 'A759'],\r\n ['BERNAREGGIO', 'A802'],\r\n ['BESANA IN BRIANZA', 'A818'],\r\n ['BIASSONO', 'A849'],\r\n ['BOVISIO-MASCIAGO', 'B105'],\r\n ['BRIOSCO', 'B187'],\r\n ['BRUGHERIO', 'B212'],\r\n ['BURAGO DI MOLGORA', 'B272'],\r\n ['BUSNAGO', 'B289'],\r\n ['CAMPARADA', 'B501'],\r\n ['CAPONAGO', 'B671'],\r\n ['CARATE BRIANZA', 'B729'],\r\n ['CARNATE', 'B798'],\r\n ['CAVENAGO DI BRIANZA', 'C395'],\r\n ['CERIANO LAGHETTO', 'C512'],\r\n ['CESANO MADERNO', 'C566'],\r\n ['COGLIATE', 'C820'],\r\n ['CONCOREZZO', 'C952'],\r\n ['CORNATE D\\'ADDA', 'D019'],\r\n ['CORREZZANA', 'D038'],\r\n ['DESIO', 'D286'],\r\n ['GIUSSANO', 'E063'],\r\n ['LAZZATE', 'E504'],\r\n ['LENTATE SUL SEVESO', 'E530'],\r\n ['LESMO', 'E550'],\r\n ['LIMBIATE', 'E591'],\r\n ['LISSONE', 'E617'],\r\n ['MACHERIO', 'E786'],\r\n ['MEDA', 'F078'],\r\n ['MEZZAGO', 'F165'],\r\n ['MISINTO', 'F247'],\r\n ['MONZA', 'F704'],\r\n ['MUGGI“', 'F797'],\r\n ['NOVA MILANESE', 'F944'],\r\n ['ORNAGO', 'G116'],\r\n ['RENATE', 'H233'],\r\n ['RONCELLO', 'H529'],\r\n ['RONCO BRIANTINO', 'H537'],\r\n ['SEREGNO', 'I625'],\r\n ['SEVESO', 'I709'],\r\n ['SOVICO', 'I878'],\r\n ['SULBIATE', 'I998'],\r\n ['TRIUGGIO', 'L434'],\r\n ['USMATE VELATE', 'L511'],\r\n ['VAREDO', 'L677'],\r\n ['VEDANO AL LAMBRO', 'L704'],\r\n ['VEDUGGIO CON COLZANO', 'L709'],\r\n ['VERANO BRIANZA', 'L744'],\r\n ['VILLASANTA', 'M017'],\r\n ['VIMERCATE', 'M052']\r\n ],\r\n MC: [\r\n ['MATELICA', 'F051'],\r\n ['LORO PICENO', 'E694'],\r\n ['FIORDIMONTE', 'D609'],\r\n ['PIEVEBOVIGLIANA', 'G637'],\r\n ['MONTE SAN MARTINO', 'F622'],\r\n ['MONTE SAN GIUSTO', 'F621'],\r\n ['MONTECOSARO', 'F482'],\r\n ['PIEVE TORINA', 'G657'],\r\n ['POLLENZA', 'F567'],\r\n ['CASTELRAIMONDO', 'C251'],\r\n ['SAN GINESIO', 'H876'],\r\n ['MORROVALLE', 'F749'],\r\n ['MOGLIANO', 'F268'],\r\n ['BELFORTE DEL CHIENTI', 'A739'],\r\n ['ESANATOGLIA', 'D429'],\r\n ['PORTO RECANATI', 'G919'],\r\n ['RIPE SAN GINESIO', 'H323'],\r\n ['CAMPOROTONDO DI FIASTRONE', 'B562'],\r\n ['GAGLIOLE', 'D853'],\r\n ['APPIGNANO', 'A334'],\r\n ['SERRAVALLE DI CHIENTI', 'I661'],\r\n ['CASTELSANTANGELO SUL NERA', 'C267'],\r\n ['CAMERINO', 'B474'],\r\n ['PETRIOLO', 'G515'],\r\n ['SARNANO', 'I436'],\r\n ['BOLOGNOLA', 'A947'],\r\n ['URBISAGLIA', 'L501'],\r\n ['POGGIO SAN VICINO', 'D566'],\r\n ['FIASTRA', 'D564'],\r\n ['SAN SEVERINO MARCHE', 'I156'],\r\n ['TREIA', 'L366'],\r\n ['GUALDO', 'E228'],\r\n ['CORRIDONIA', 'D042'],\r\n ['PENNA SAN GIOVANNI', 'G436'],\r\n ['MONTECASSIANO', 'F454'],\r\n ['COLMURANO', 'C886'],\r\n ['MONTELUPONE', 'F552'],\r\n ['POTENZA PICENA', 'F632'],\r\n ['MONTEFANO', 'F496'],\r\n ['MUCCIA', 'F793'],\r\n ['FIUMINATA', 'D628'],\r\n ['SANT\\'ANGELO IN PONTANO', 'I286'],\r\n ['SEFRO', 'I569'],\r\n ['VISSO', 'M078'],\r\n ['TOLENTINO', 'L191'],\r\n ['APIRO', 'A329'],\r\n ['MACERATA', 'E783'],\r\n ['RECANATI', 'H211'],\r\n ['SERRAPETRONA', 'I651'],\r\n ['CINGOLI', 'C704'],\r\n ['CIVITANOVA MARCHE', 'C770'],\r\n ['PIORACO', 'G690'],\r\n ['USSITA', 'L517'],\r\n ['CESSAPALOMBO', 'C582'],\r\n ['ACQUACANINA', 'A031'],\r\n ['CALDAROLA', 'B398'],\r\n ['MONTE CAVALLO', 'F460']\r\n ],\r\n ME: [\r\n ['TAORMINA', 'L042'],\r\n ['SPADAFORA', 'I881'],\r\n ['SANTA TERESA DI RIVA', 'I311'],\r\n ['CASTELMOLA', 'C210'],\r\n ['TORREGROTTA', 'L271'],\r\n ['SAN PIERO PATTI', 'I086'],\r\n ['SAN PIER NICETO', 'I084'],\r\n ['MALFA', 'E855'],\r\n ['MILAZZO', 'F206'],\r\n ['SINAGRA', 'I747'],\r\n ['CAPRI LEONE', 'B695'],\r\n ['MANDANICI', 'E876'],\r\n ['BROLO', 'B198'],\r\n ['LIPARI', 'E606'],\r\n ['FURNARI', 'D825'],\r\n ['ROMETTA', 'H519'],\r\n ['MIRTO', 'F242'],\r\n ['SANTO STEFANO DI CAMASTRA', 'I370'],\r\n ['PATTI', 'G377'],\r\n ['BASICO\\'', 'A698'],\r\n ['CASTELL\\'UMBERTO', 'C051'],\r\n ['ANTILLO', 'A313'],\r\n ['REITANO', 'H228'],\r\n ['SANT\\'ALESSIO SICULO', 'I215'],\r\n ['ALI\\'', 'A194'],\r\n ['CASALVECCHIO SICULO', 'B918'],\r\n ['ROCCAVALDINA', 'H380'],\r\n ['SAVOCA', 'I477'],\r\n ['NOVARA DI SICILIA', 'F951'],\r\n ['UCRIA', 'L482'],\r\n ['BARCELLONA POZZO DI GOTTO', 'A638'],\r\n ['SANTA MARINA SALINA', 'I254'],\r\n ['CASTEL DI LUCIO', 'C094'],\r\n ['LENI', 'E523'],\r\n ['TORTORICI', 'L308'],\r\n ['MESSINA', 'F158'],\r\n ['MONGIUFFI MELIA', 'F368'],\r\n ['SCALETTA ZANCLEA', 'I492'],\r\n ['PAGLIARA', 'G234'],\r\n ['SANT\\'AGATA DI MILITELLO', 'I199'],\r\n ['VENETICO', 'L735'],\r\n ['FRANCAVILLA DI SICILIA', 'D765'],\r\n ['OLIVERI', 'G036'],\r\n ['GIARDINI-NAXOS', 'E014'],\r\n ['ROCCAFIORITA', 'H405'],\r\n ['MAZZARRA\\' SANT\\'ANDREA', 'F066'],\r\n ['FICARRA', 'D569'],\r\n ['VALDINA', 'L561'],\r\n ['GIOIOSA MAREA', 'E043'],\r\n ['CAPO D\\'ORLANDO', 'B666'],\r\n ['CAPIZZI', 'B660'],\r\n ['MONTAGNAREALE', 'F395'],\r\n ['FONDACHELLI-FANTINA', 'D661'],\r\n ['TERME VIGLIATORE', 'M210'],\r\n ['ACQUEDOLCI', 'M211'],\r\n ['CARONIA', 'B804'],\r\n ['SAN TEODORO', 'I328'],\r\n ['ALCARA LI FUSI', 'A177'],\r\n ['RACCUJA', 'H151'],\r\n ['FIUMEDINISI', 'D622'],\r\n ['MILITELLO ROSMARINO', 'F210'],\r\n ['SAN FILIPPO DEL MELA', 'H842'],\r\n ['MOTTA CAMASTRA', 'F772'],\r\n ['MOTTA D\\'AFFERMO', 'F773'],\r\n ['SANTA LUCIA DEL MELA', 'I220'],\r\n ['SANT\\'ANGELO DI BROLO', 'I283'],\r\n ['MALVAGNA', 'E869'],\r\n ['LIMINA', 'E594'],\r\n ['LONGI', 'E674'],\r\n ['GAGGI', 'D844'],\r\n ['MISTRETTA', 'F251'],\r\n ['GALLODORO', 'D885'],\r\n ['MOIO ALCANTARA', 'F277'],\r\n ['VILLAFRANCA TIRRENA', 'L950'],\r\n ['TRIPI', 'L431'],\r\n ['ITALA', 'E374'],\r\n ['NIZZA DI SICILIA', 'F901'],\r\n ['CONDRO\\'', 'C956'],\r\n ['NASO', 'F848'],\r\n ['CESARO\\'', 'C568'],\r\n ['LIBRIZZI', 'E571'],\r\n ['GRANITI', 'E142'],\r\n ['SAN SALVATORE DI FITALIA', 'I147'],\r\n ['FALCONE', 'D474'],\r\n ['TUSA', 'L478'],\r\n ['LETOJANNI', 'E555'],\r\n ['FORZA D\\'AGRO\\'', 'D733'],\r\n ['CASTROREALE', 'C347'],\r\n ['PIRAINO', 'G699'],\r\n ['PETTINEO', 'G522'],\r\n ['MERI\\'', 'F147'],\r\n ['FURCI SICULO', 'D824'],\r\n ['SANTA DOMENICA VITTORIA', 'I184'],\r\n ['PACE DEL MELA', 'G209'],\r\n ['MONFORTE SAN GIORGIO', 'F359'],\r\n ['ROCCELLA VALDEMONE', 'H455'],\r\n ['GALATI MAMERTINO', 'D861'],\r\n ['SAPONARA', 'I420'],\r\n ['MONTALBANO ELICONA', 'F400'],\r\n ['SAN MARCO D\\'ALUNZIO', 'H982'],\r\n ['TORRENOVA', 'M286'],\r\n ['FLORESTA', 'D635'],\r\n ['RODI\\' MILICI', 'H479'],\r\n ['FRAZZANO\\'', 'D793'],\r\n ['SAN FRATELLO', 'H850'],\r\n ['GUALTIERI SICAMINO\\'', 'E233'],\r\n ['ALI\\' TERME', 'A201'],\r\n ['ROCCALUMERA', 'H418']\r\n ],\r\n MI: [\r\n ['VERMEZZO', 'L768'],\r\n ['BERNAREGGIO', 'A802'],\r\n ['VIZZOLO PREDABISSI', 'M102'],\r\n ['SETTALA', 'I696'],\r\n ['SESTO SAN GIOVANNI', 'I690'],\r\n ['ZELO SURRIGONE', 'M160'],\r\n ['BRIOSCO', 'B187'],\r\n ['PIEVE EMANUELE', 'G634'],\r\n ['COLOGNO MONZESE', 'C895'],\r\n ['VAREDO', 'L677'],\r\n ['CORNATE D\\'ADDA', 'D019'],\r\n ['CORNAREDO', 'D018'],\r\n ['CORMANO', 'D013'],\r\n ['DAIRAGO', 'D244'],\r\n ['CAPONAGO', 'B671'],\r\n ['MILANO', 'F205'],\r\n ['MORIMONDO', 'D033'],\r\n ['CORREZZANA', 'D038'],\r\n ['BELLUSCO', 'A759'],\r\n ['BELLINZAGO LOMBARDO', 'A751'],\r\n ['MOTTA VISCONTI', 'F783'],\r\n ['LOCATE DI TRIULZI', 'E639'],\r\n ['RONCO BRIANTINO', 'H537'],\r\n ['BERNATE TICINO', 'A804'],\r\n ['CASSINETTA DI LUGAGNANO', 'C033'],\r\n ['CARUGATE', 'B850'],\r\n ['CAMPARADA', 'B501'],\r\n ['ALBAIRATE', 'A127'],\r\n ['PANTIGLIATE', 'G316'],\r\n ['MAGNAGO', 'E819'],\r\n ['MISINTO', 'F247'],\r\n ['POZZO D\\'ADDA', 'G955'],\r\n ['SEVESO', 'I709'],\r\n ['SETTIMO MILANESE', 'I700'],\r\n ['PERO', 'C013'],\r\n ['BESATE', 'A820'],\r\n ['COLTURANO', 'C908'],\r\n ['SEGRATE', 'I577'],\r\n ['TREZZANO ROSA', 'L408'],\r\n ['TREZZANO SUL NAVIGLIO', 'L409'],\r\n ['RENATE', 'H233'],\r\n ['PESCHIERA BORROMEO', 'G488'],\r\n ['DRESANO', 'D367'],\r\n ['CASSINA DE\\' PECCHI', 'C014'],\r\n ['BIASSONO', 'A849'],\r\n ['SAN GIULIANO MILANESE', 'H930'],\r\n ['BASIANO', 'A697'],\r\n ['BASIGLIO', 'A699'],\r\n ['ASSAGO', 'A473'],\r\n ['VIGNATE', 'L883'],\r\n ['BUSNAGO', 'B289'],\r\n ['BUSCATE', 'B286'],\r\n ['RHO', 'H264'],\r\n ['CASTANO PRIMO', 'C052'],\r\n ['NERVIANO', 'F874'],\r\n ['ARLUNO', 'A413'],\r\n ['ORNAGO', 'G116'],\r\n ['MELZO', 'F119'],\r\n ['CERNUSCO SUL NAVIGLIO', 'C523'],\r\n ['AGRATE BRIANZA', 'A087'],\r\n ['NOSATE', 'F939'],\r\n ['BAREGGIO', 'A652'],\r\n ['GORGONZOLA', 'E094'],\r\n ['CASARILE', 'B938'],\r\n ['BUCCINASCO', 'B240'],\r\n ['CARNATE', 'B798'],\r\n ['SOLARO', 'I786'],\r\n ['NOVATE MILANESE', 'F955'],\r\n ['CORBETTA', 'C986'],\r\n ['CERIANO LAGHETTO', 'C512'],\r\n ['MESERO', 'F155'],\r\n ['SAN ZENONE AL LAMBRO', 'I415'],\r\n ['OPERA', 'G078'],\r\n ['ARCONATE', 'A375'],\r\n ['ARCORE', 'A376'],\r\n ['SEREGNO', 'I625'],\r\n ['BARANZATE', 'A618'],\r\n ['PIOLTELLO', 'G686'],\r\n ['CERRO MAGGIORE', 'C537'],\r\n ['COGLIATE', 'C820'],\r\n ['CERRO AL LAMBRO', 'C536'],\r\n ['LAZZATE', 'E504'],\r\n ['SULBIATE', 'I998'],\r\n ['CUGGIONO', 'D198'],\r\n ['GESSATE', 'D995'],\r\n ['GARBAGNATE MILANESE', 'D912'],\r\n ['BOLLATE', 'A940'],\r\n ['MARCALLO CON CASONE', 'E921'],\r\n ['VANZAGHELLO', 'L664'],\r\n ['VANZAGO', 'L665'],\r\n ['BOFFALORA SOPRA TICINO', 'A920'],\r\n ['RESCALDINA', 'H240'],\r\n ['VERNATE', 'L773'],\r\n ['BRESSO', 'B162'],\r\n ['CORSICO', 'D045'],\r\n ['CUSANO MILANINO', 'D231'],\r\n ['CANEGRATE', 'B593'],\r\n ['BOVISIO-MASCIAGO', 'B105'],\r\n ['CARPIANO', 'B820'],\r\n ['LAINATE', 'E415'],\r\n ['VAPRIO D\\'ADDA', 'L667'],\r\n ['SAN COLOMBANO AL LAMBRO', 'H803'],\r\n ['ZIBIDO SAN GIACOMO', 'M176'],\r\n ['SOVICO', 'I878'],\r\n ['SENAGO', 'I602'],\r\n ['MASATE', 'F003'],\r\n ['ROSATE', 'H560'],\r\n ['SAN DONATO MILANESE', 'H827'],\r\n ['MUGGIO\\'', 'F797'],\r\n ['TRIUGGIO', 'L434'],\r\n ['OSSONA', 'G181'],\r\n ['BUSTO GAROLFO', 'B301'],\r\n ['GUDO VISCONTI', 'E258'],\r\n ['BESANA IN BRIANZA', 'A818'],\r\n ['LISSONE', 'E617'],\r\n ['VILLA CORTESE', 'L928'],\r\n ['VIMERCATE', 'M052'],\r\n ['VIMODRONE', 'M053'],\r\n ['ALBIATE', 'A159'],\r\n ['RONCELLO', 'H529'],\r\n ['LIMBIATE', 'E591'],\r\n ['CASOREZZO', 'B989'],\r\n ['CARATE BRIANZA', 'B729'],\r\n ['MONZA', 'F704'],\r\n ['SANTO STEFANO TICINO', 'I361'],\r\n ['SEDRIANO', 'I566'],\r\n ['MAGENTA', 'E801'],\r\n ['GAGGIANO', 'D845'],\r\n ['POZZUOLO MARTESANA', 'G965'],\r\n ['SAN GIORGIO SU LEGNANO', 'H884'],\r\n ['CASSANO D\\'ADDA', 'C003'],\r\n ['POGLIANO MILANESE', 'G772'],\r\n ['MEDIGLIA', 'F084'],\r\n ['LACCHIARELLA', 'E395'],\r\n ['VILLASANTA', 'M017'],\r\n ['TRIBIANO', 'L415'],\r\n ['TREZZO SULL\\'ADDA', 'L411'],\r\n ['BINASCO', 'A872'],\r\n ['BUBBIANO', 'B235'],\r\n ['BUSSERO', 'B292'],\r\n ['CISLIANO', 'C733'],\r\n ['AICURZIO', 'A096'],\r\n ['MACHERIO', 'E786'],\r\n ['CONCOREZZO', 'C952'],\r\n ['TRUCCAZZANO', 'L454'],\r\n ['BARLASSINA', 'A668'],\r\n ['PAULLO', 'G385'],\r\n ['CESANO MADERNO', 'C566'],\r\n ['CESANO BOSCONE', 'C565'],\r\n ['CESATE', 'C569'],\r\n ['INVERUNO', 'E313'],\r\n ['INZAGO', 'E317'],\r\n ['PARABIAGO', 'G324'],\r\n ['MELEGNANO', 'F100'],\r\n ['ROBECCO SUL NAVIGLIO', 'H373'],\r\n ['ROBECCHETTO CON INDUNO', 'H371'],\r\n ['CAMBIAGO', 'B461'],\r\n ['TURBIGO', 'L471'],\r\n ['LESMO', 'E550'],\r\n ['PESSANO CON BORNAGO', 'G502'],\r\n ['CINISELLO BALSAMO', 'C707'],\r\n ['NOVA MILANESE', 'F944'],\r\n ['GREZZAGO', 'E170'],\r\n ['VITTUONE', 'M091'],\r\n ['CALVIGNASCO', 'B448'],\r\n ['LENTATE SUL SEVESO', 'E530'],\r\n ['SAN VITTORE OLONA', 'I409'],\r\n ['PREGNANA MILANESE', 'H026'],\r\n ['BURAGO DI MOLGORA', 'B272'],\r\n ['ARESE', 'A389'],\r\n ['NOVIGLIO', 'F968'],\r\n ['ROZZANO', 'H623'],\r\n ['OZZERO', 'G206'],\r\n ['VEDUGGIO CON COLZANO', 'L709'],\r\n ['VEDANO AL LAMBRO', 'L704'],\r\n ['LEGNANO', 'E514'],\r\n ['LISCATE', 'E610'],\r\n ['MEZZAGO', 'F165'],\r\n ['BRUGHERIO', 'B212'],\r\n ['USMATE VELATE', 'L511'],\r\n ['ABBIATEGRASSO', 'A010'],\r\n ['PADERNO DUGNANO', 'G220'],\r\n ['GIUSSANO', 'E063'],\r\n ['RODANO', 'H470'],\r\n ['DESIO', 'D286'],\r\n ['CAVENAGO DI BRIANZA', 'C395'],\r\n ['VERANO BRIANZA', 'L744'],\r\n ['CUSAGO', 'D229'],\r\n ['MEDA', 'F078']\r\n ],\r\n MN: [\r\n ['CANNETO SULL\\'OGLIO', 'B612'],\r\n ['CASTEL GOFFREDO', 'C118'],\r\n ['BOZZOLO', 'B110'],\r\n ['GAZOLDO DEGLI IPPOLITI', 'D949'],\r\n ['QUINGENTOLE', 'H129'],\r\n ['VIRGILIO', 'H123'],\r\n ['PIEVE DI CORIANO', 'G633'],\r\n ['CERESARA', 'C502'],\r\n ['BAGNOLO SAN VITO', 'A575'],\r\n ['SCHIVENOGLIA', 'I532'],\r\n ['ROVERBELLA', 'H604'],\r\n ['QUISTELLO', 'H143'],\r\n ['SUZZARA', 'L020'],\r\n ['VILLIMPENTA', 'M044'],\r\n ['MAGNACAVALLO', 'E818'],\r\n ['SAN GIACOMO DELLE SEGNATE', 'H870'],\r\n ['VILLA POMA', 'F804'],\r\n ['MOGLIA', 'F267'],\r\n ['CASTEL D\\'ARIO', 'C076'],\r\n ['REVERE', 'H248'],\r\n ['ASOLA', 'A470'],\r\n ['PORTO MANTOVANO', 'G917'],\r\n ['BIGARELLO', 'A866'],\r\n ['MONZAMBANO', 'F705'],\r\n ['SAN GIOVANNI DEL DOSSO', 'H912'],\r\n ['CASALROMANO', 'B911'],\r\n ['RIVAROLO MANTOVANO', 'H342'],\r\n ['MANTOVA', 'E897'],\r\n ['SAN MARTINO DALL\\'ARGINE', 'I005'],\r\n ['FELONICA', 'D529'],\r\n ['GUIDIZZOLO', 'E261'],\r\n ['GOITO', 'E078'],\r\n ['MARCARIA', 'E922'],\r\n ['POMPONESCO', 'G816'],\r\n ['CASTIGLIONE DELLE STIVIERE', 'C312'],\r\n ['CAVRIANA', 'C406'],\r\n ['GAZZUOLO', 'D959'],\r\n ['MARMIROLO', 'E962'],\r\n ['SABBIONETA', 'H652'],\r\n ['MARIANA MANTOVANA', 'E949'],\r\n ['PEGOGNAGA', 'G417'],\r\n ['SAN BENEDETTO PO', 'H771'],\r\n ['RODIGO', 'H481'],\r\n ['OSTIGLIA', 'G186'],\r\n ['RONCOFERRARO', 'H541'],\r\n ['CASTELBELFORTE', 'C059'],\r\n ['SUSTINENTE', 'L015'],\r\n ['DOSOLO', 'D351'],\r\n ['SAN GIORGIO DI MANTOVA', 'H883'],\r\n ['MEDOLE', 'F086'],\r\n ['POGGIO RUSCO', 'G753'],\r\n ['COMMESSAGGIO', 'C930'],\r\n ['CASALMORO', 'B901'],\r\n ['CASALOLDO', 'B907'],\r\n ['BORGOFORTE', 'B011'],\r\n ['BORGOFRANCO SUL PO', 'B013'],\r\n ['REDONDESCO', 'H218'],\r\n ['GONZAGA', 'E089'],\r\n ['CURTATONE', 'D227'],\r\n ['CASTELLUCCHIO', 'C195'],\r\n ['PONTI SUL MINCIO', 'G862'],\r\n ['SERMIDE', 'I632'],\r\n ['VIADANA', 'L826'],\r\n ['MOTTEGGIANA', 'B012'],\r\n ['SERRAVALLE A PO', 'I662'],\r\n ['SOLFERINO', 'I801'],\r\n ['ACQUANEGRA SUL CHIESE', 'A038'],\r\n ['CARBONARA DI PO', 'B739'],\r\n ['VOLTA MANTOVANA', 'M125'],\r\n ['PIUBEGA', 'G717']\r\n ],\r\n MO: [\r\n ['SAN POSSIDONIO', 'I128'],\r\n ['FIORANO MODENESE', 'D607'],\r\n ['FANANO', 'D486'],\r\n ['MONTECRETO', 'F484'],\r\n ['CARPI', 'B819'],\r\n ['LAMA MOCOGNO', 'E426'],\r\n ['SAN FELICE SUL PANARO', 'H835'],\r\n ['SAN PROSPERO', 'I133'],\r\n ['ZOCCA', 'M183'],\r\n ['MONTEFIORINO', 'F503'],\r\n ['FIUMALBO', 'D617'],\r\n ['MIRANDOLA', 'F240'],\r\n ['BASTIGLIA', 'A713'],\r\n ['RIOLUNATO', 'H303'],\r\n ['VIGNOLA', 'L885'],\r\n ['CAMPOSANTO', 'B566'],\r\n ['NONANTOLA', 'F930'],\r\n ['PALAGANO', 'G250'],\r\n ['PAVULLO NEL FRIGNANO', 'G393'],\r\n ['CAVEZZO', 'C398'],\r\n ['SAVIGNANO SUL PANARO', 'I473'],\r\n ['GUIGLIA', 'E264'],\r\n ['POLINAGO', 'G789'],\r\n ['MARANELLO', 'E904'],\r\n ['MARANO SUL PANARO', 'E905'],\r\n ['FRASSINORO', 'D783'],\r\n ['CASTELFRANCO EMILIA', 'C107'],\r\n ['SAN CESARIO SUL PANARO', 'H794'],\r\n ['SESTOLA', 'I689'],\r\n ['PIEVEPELAGO', 'G649'],\r\n ['RAVARINO', 'H195'],\r\n ['CASTELNUOVO RANGONE', 'C242'],\r\n ['CAMPOGALLIANO', 'B539'],\r\n ['MODENA', 'F257'],\r\n ['MEDOLLA', 'F087'],\r\n ['CASTELVETRO DI MODENA', 'C287'],\r\n ['SPILAMBERTO', 'I903'],\r\n ['FINALE EMILIA', 'D599'],\r\n ['CONCORDIA SULLA SECCHIA', 'C951'],\r\n ['FORMIGINE', 'D711'],\r\n ['SASSUOLO', 'I462'],\r\n ['NOVI DI MODENA', 'F966'],\r\n ['SERRAMAZZONI', 'F357'],\r\n ['BOMPORTO', 'A959'],\r\n ['PRIGNANO SULLA SECCHIA', 'H061'],\r\n ['MONTESE', 'F642'],\r\n ['SOLIERA', 'I802']\r\n ],\r\n MS: [\r\n ['ZERI', 'M169'],\r\n ['CARRARA', 'B832'],\r\n ['BAGNONE', 'A576'],\r\n ['PODENZANA', 'G746'],\r\n ['CASOLA IN LUNIGIANA', 'B979'],\r\n ['VILLAFRANCA IN LUNIGIANA', 'L946'],\r\n ['PONTREMOLI', 'G870'],\r\n ['MONTIGNOSO', 'F679'],\r\n ['MASSA', 'F023'],\r\n ['AULLA', 'A496'],\r\n ['FIVIZZANO', 'D629'],\r\n ['TRESANA', 'L386'],\r\n ['FILATTIERA', 'D590'],\r\n ['COMANO', 'C914'],\r\n ['FOSDINOVO', 'D735'],\r\n ['MULAZZO', 'F802'],\r\n ['LICCIANA NARDI', 'E574']\r\n ],\r\n MT: [\r\n ['SAN MAURO FORTE', 'I029'],\r\n ['GROTTOLE', 'E213'],\r\n ['MATERA', 'F052'],\r\n ['GARAGUSO', 'D909'],\r\n ['MIGLIONICO', 'F201'],\r\n ['BERNALDA', 'A801'],\r\n ['FERRANDINA', 'D547'],\r\n ['STIGLIANO', 'I954'],\r\n ['ALIANO', 'A196'],\r\n ['ROTONDELLA', 'H591'],\r\n ['IRSINA', 'E326'],\r\n ['NOVA SIRI', 'A942'],\r\n ['OLIVETO LUCANO', 'G037'],\r\n ['POLICORO', 'G786'],\r\n ['SCANZANO JONICO', 'M256'],\r\n ['GORGOGLIONE', 'E093'],\r\n ['COLOBRARO', 'C888'],\r\n ['MONTESCAGLIOSO', 'F637'],\r\n ['CIRIGLIANO', 'C723'],\r\n ['SAN GIORGIO LUCANO', 'H888'],\r\n ['TRICARICO', 'L418'],\r\n ['CRACO', 'D128'],\r\n ['SALANDRA', 'H687'],\r\n ['GRASSANO', 'E147'],\r\n ['PISTICCI', 'G712'],\r\n ['TURSI', 'L477'],\r\n ['VALSINNI', 'D513'],\r\n ['ACCETTURA', 'A017'],\r\n ['CALCIANO', 'B391'],\r\n ['POMARICO', 'G806'],\r\n ['MONTALBANO JONICO', 'F399']\r\n ],\r\n NA: [\r\n ['CAIVANO', 'B371'],\r\n ['CARBONARA DI NOLA', 'B740'],\r\n ['ANACAPRI', 'A268'],\r\n ['ROCCARAINOLA', 'H433'],\r\n ['SOMMA VESUVIANA', 'I820'],\r\n ['VILLARICCA', 'G309'],\r\n ['PALMA CAMPANIA', 'G283'],\r\n ['MASSA LUBRENSE', 'F030'],\r\n ['QUALIANO', 'H101'],\r\n ['MONTE DI PROCIDA', 'F488'],\r\n ['PIMONTE', 'G670'],\r\n ['SAVIANO', 'I469'],\r\n ['CAPRI', 'B696'],\r\n ['OTTAVIANO', 'G190'],\r\n ['CASORIA', 'B990'],\r\n ['STRIANO', 'I978'],\r\n ['CRISPANO', 'D170'],\r\n ['POGGIOMARINO', 'G762'],\r\n ['ARZANO', 'A455'],\r\n ['SAN GIORGIO A CREMANO', 'H892'],\r\n ['COMIZIANO', 'C929'],\r\n ['ERCOLANO', 'H243'],\r\n ['SAN GIUSEPPE VESUVIANO', 'H931'],\r\n ['LIVERI', 'E620'],\r\n ['CARDITO', 'B759'],\r\n ['VICO EQUENSE', 'L845'],\r\n ['CAMPOSANO', 'B565'],\r\n ['TERZIGNO', 'L142'],\r\n ['MELITO DI NAPOLI', 'F111'],\r\n ['TUFINO', 'L460'],\r\n ['ISCHIA', 'E329'],\r\n ['FORIO', 'D702'],\r\n ['CASTELLO DI CISTERNA', 'C188'],\r\n ['NAPOLI', 'F839'],\r\n ['TORRE ANNUNZIATA', 'L245'],\r\n ['CIMITILE', 'C697'],\r\n ['BARANO D\\'ISCHIA', 'A617'],\r\n ['CALVIZZANO', 'B452'],\r\n ['MARIGLIANO', 'E955'],\r\n ['MARIGLIANELLA', 'E954'],\r\n ['GIUGLIANO IN CAMPANIA', 'E054'],\r\n ['BRUSCIANO', 'B227'],\r\n ['GRAGNANO', 'E131'],\r\n ['POMIGLIANO D\\'ARCO', 'G812'],\r\n ['POMPEI', 'G813'],\r\n ['MARANO DI NAPOLI', 'E906'],\r\n ['PROCIDA', 'H072'],\r\n ['FRATTAMAGGIORE', 'D789'],\r\n ['SAN SEBASTIANO AL VESUVIO', 'I151'],\r\n ['ACERRA', 'A024'],\r\n ['GRUMO NEVANO', 'E224'],\r\n ['CASTELLAMMARE DI STABIA', 'C129'],\r\n ['VOLLA', 'M115'],\r\n ['SAN PAOLO BEL SITO', 'I073'],\r\n ['AGEROLA', 'A068'],\r\n ['AFRAGOLA', 'A064'],\r\n ['QUARTO', 'H114'],\r\n ['SANT\\'ANTONIO ABATE', 'I300'],\r\n ['SORRENTO', 'I862'],\r\n ['MUGNANO DI NAPOLI', 'F799'],\r\n ['CASOLA DI NAPOLI', 'B980'],\r\n ['SANT\\'ANTIMO', 'I293'],\r\n ['SAN GENNARO VESUVIANO', 'H860'],\r\n ['VISCIANO', 'M072'],\r\n ['CERCOLA', 'C495'],\r\n ['SANTA MARIA LA CARITA\\'', 'M273'],\r\n ['POZZUOLI', 'G964'],\r\n ['SCISCIANO', 'I540'],\r\n ['CASAVATORE', 'B946'],\r\n ['PORTICI', 'G902'],\r\n ['SAN VITALIANO', 'I391'],\r\n ['SANT\\'AGNELLO', 'I208'],\r\n ['CASALNUOVO DI NAPOLI', 'B905'],\r\n ['NOLA', 'F924'],\r\n ['SERRARA FONTANA', 'I652'],\r\n ['SANT\\'ANASTASIA', 'I262'],\r\n ['LETTERE', 'E557'],\r\n ['CASAMARCIANO', 'B922'],\r\n ['CASANDRINO', 'B925'],\r\n ['CASAMICCIOLA TERME', 'B924'],\r\n ['BACOLI', 'A535'],\r\n ['BOSCOTRECASE', 'B077'],\r\n ['BOSCOREALE', 'B076'],\r\n ['TORRE DEL GRECO', 'L259'],\r\n ['META', 'F162'],\r\n ['TRECASE', 'M280'],\r\n ['MASSA DI SOMMA', 'M289'],\r\n ['LACCO AMENO', 'E396'],\r\n ['PIANO DI SORRENTO', 'G568'],\r\n ['FRATTAMINORE', 'D790'],\r\n ['POLLENA TROCCHIA', 'G795'],\r\n ['CICCIANO', 'C675']\r\n ],\r\n NO: [\r\n ['BOCA', 'A911'],\r\n ['AMENO', 'A264'],\r\n ['SAN MAURIZIO D\\'OPAGLIO', 'I025'],\r\n ['PELLA', 'G421'],\r\n ['SIZZANO', 'I767'],\r\n ['ARONA', 'A429'],\r\n ['VARALLO POMBIA', 'L670'],\r\n ['MANDELLO VITTA', 'E880'],\r\n ['BELLINZAGO NOVARESE', 'A752'],\r\n ['SUNO', 'L007'],\r\n ['MIASINO', 'F191'],\r\n ['ROMENTINO', 'H518'],\r\n ['GARGALLO', 'D921'],\r\n ['VINZAGLIO', 'M062'],\r\n ['CERANO', 'C483'],\r\n ['GATTICO', 'D937'],\r\n ['BIANDRATE', 'A844'],\r\n ['COMIGNAGO', 'C926'],\r\n ['MEINA', 'F093'],\r\n ['TORNACO', 'L223'],\r\n ['DIVIGNANO', 'D309'],\r\n ['VICOLUNGO', 'L847'],\r\n ['ARMENO', 'A414'],\r\n ['AGRATE CONTURBIA', 'A088'],\r\n ['NEBBIUNO', 'F859'],\r\n ['BARENGO', 'A653'],\r\n ['ORTA SAN GIULIO', 'G134'],\r\n ['GALLIATE', 'D872'],\r\n ['GOZZANO', 'E120'],\r\n ['NOVARA', 'F952'],\r\n ['CAMERI', 'B473'],\r\n ['TERDOBBIATE', 'L104'],\r\n ['BORGO TICINO', 'B043'],\r\n ['COLAZZA', 'C829'],\r\n ['CALTIGNAGA', 'B431'],\r\n ['VAPRIO D\\'AGOGNA', 'L668'],\r\n ['CASALEGGIO NOVARA', 'B883'],\r\n ['BOGOGNO', 'A929'],\r\n ['MARANO TICINO', 'E907'],\r\n ['OLEGGIO', 'G019'],\r\n ['MASSINO VISCONTI', 'F047'],\r\n ['SILLAVENGO', 'I736'],\r\n ['SAN NAZZARO SESIA', 'I052'],\r\n ['FONTANETO D\\'AGOGNA', 'D675'],\r\n ['SORISO', 'I857'],\r\n ['CARPIGNANO SESIA', 'B823'],\r\n ['CUREGGIO', 'D216'],\r\n ['SAN PIETRO MOSEZZO', 'I116'],\r\n ['CASTELLAZZO NOVARESE', 'C149'],\r\n ['LANDIONA', 'E436'],\r\n ['FARA NOVARESE', 'D492'],\r\n ['CASTELLETTO SOPRA TICINO', 'C166'],\r\n ['CASALBELTRAME', 'B864'],\r\n ['LESA', 'E544'],\r\n ['MEZZOMERICO', 'F188'],\r\n ['BRIONA', 'B183'],\r\n ['GARBAGNA NOVARESE', 'D911'],\r\n ['VESPOLATE', 'L808'],\r\n ['CRESSA', 'D162'],\r\n ['ROMAGNANO SESIA', 'H502'],\r\n ['MAGGIORA', 'E803'],\r\n ['POGNO', 'G775'],\r\n ['NIBBIOLA', 'F886'],\r\n ['PARUZZARO', 'G349'],\r\n ['VERUNO', 'L798'],\r\n ['SOZZAGO', 'I880'],\r\n ['INVORIO', 'E314'],\r\n ['BORGOMANERO', 'B019'],\r\n ['BORGOLAVEZZARO', 'B016'],\r\n ['GRANOZZO CON MONTICELLO', 'E143'],\r\n ['RECETTO', 'H213'],\r\n ['MOMO', 'F317'],\r\n ['DORMELLETTO', 'D347'],\r\n ['CAVAGLIETTO', 'C364'],\r\n ['CAVAGLIO D\\'AGOGNA', 'C365'],\r\n ['CASALVOLONE', 'B920'],\r\n ['PRATO SESIA', 'H001'],\r\n ['GRIGNASCO', 'E177'],\r\n ['PISANO', 'G703'],\r\n ['PETTENASCO', 'G520'],\r\n ['TRECATE', 'L356'],\r\n ['BOLZANO NOVARESE', 'A953'],\r\n ['CASALINO', 'B897'],\r\n ['OLEGGIO CASTELLO', 'G020'],\r\n ['BRIGA NOVARESE', 'B176'],\r\n ['POMBIA', 'G809'],\r\n ['GHEMME', 'E001'],\r\n ['CAVALLIRIO', 'C378']\r\n ],\r\n NU: [\r\n ['GAVOI', 'D947'],\r\n ['BORTIGALI', 'B062'],\r\n ['LACONI', 'E400'],\r\n ['SINDIA', 'I748'],\r\n ['LANUSEI', 'E441'],\r\n ['SUNI', 'L006'],\r\n ['OTTANA', 'G191'],\r\n ['PERDASDEFOGU', 'G445'],\r\n ['MAMOIADA', 'E874'],\r\n ['BELVI', 'A776'],\r\n ['SEUI', 'I706'],\r\n ['SEULO', 'I707'],\r\n ['GERGEI', 'D982'],\r\n ['ARZANA', 'A454'],\r\n ['OSINI', 'G158'],\r\n ['OSIDDA', 'G154'],\r\n ['MODOLO', 'F261'],\r\n ['LODINE', 'E649'],\r\n ['LOCERI', 'E644'],\r\n ['LODE\\'', 'E647'],\r\n ['LOCULI', 'E646'],\r\n ['TRIEI', 'L423'],\r\n ['TIANA', 'L160'],\r\n ['ESTERZILI', 'D443'],\r\n ['OROSEI', 'G119'],\r\n ['TONARA', 'L202'],\r\n ['TERTENIA', 'L140'],\r\n ['GAIRO', 'D859'],\r\n ['BIRORI', 'A880'],\r\n ['NORAGUGUME', 'F933'],\r\n ['SERRI', 'I668'],\r\n ['IRGOLI', 'E323'],\r\n ['BUDONI', 'B248'],\r\n ['BOSA', 'B068'],\r\n ['ORGOSOLO', 'G097'],\r\n ['TORTOLI\\'', 'A355'],\r\n ['BORORE', 'B056'],\r\n ['ONIFAI', 'G070'],\r\n ['ONIFERI', 'G071'],\r\n ['NUORO', 'F979'],\r\n ['OLZAI', 'G058'],\r\n ['MONTRESTA', 'F698'],\r\n ['BOLOTANA', 'A948'],\r\n ['JERZU', 'E387'],\r\n ['URZULEI', 'L506'],\r\n ['OLIENA', 'G031'],\r\n ['LULA', 'E736'],\r\n ['SADALI', 'H659'],\r\n ['SORGONO', 'I851'],\r\n ['AUSTIS', 'A503'],\r\n ['FONNI', 'D665'],\r\n ['FLUSSIO', 'D640'],\r\n ['ATZARA', 'A492'],\r\n ['SAN TEODORO', 'I329'],\r\n ['ELINI', 'D395'],\r\n ['SINISCOLA', 'I751'],\r\n ['ILBONO', 'E283'],\r\n ['TALANA', 'L036'],\r\n ['ORTUERI', 'G146'],\r\n ['ORUNE', 'G147'],\r\n ['DUALCHI', 'D376'],\r\n ['GALTELLI', 'D888'],\r\n ['BAUNEI', 'A722'],\r\n ['MAGOMADAS', 'E825'],\r\n ['TINNURA', 'L172'],\r\n ['SILANUS', 'I730'],\r\n ['BITTI', 'A895'],\r\n ['VILLAGRANDE STRISAILI', 'L953'],\r\n ['ESCOLCA', 'D431'],\r\n ['ESCALAPLANO', 'D430'],\r\n ['TORPE\\'', 'L231'],\r\n ['TETI', 'L153'],\r\n ['GADONI', 'D842'],\r\n ['POSADA', 'G929'],\r\n ['MACOMER', 'E788'],\r\n ['BARI SARDO', 'A663'],\r\n ['ARITZO', 'A407'],\r\n ['ORROLI', 'G122'],\r\n ['OROTELLI', 'G120'],\r\n ['SARULE', 'I448'],\r\n ['DORGALI', 'D345'],\r\n ['ISILI', 'E336'],\r\n ['ORANI', 'G084'],\r\n ['ULASSAI', 'L489'],\r\n ['ONANI', 'G064'],\r\n ['OVODDA', 'G201'],\r\n ['GIRASOLE', 'E049'],\r\n ['LEI', 'E517'],\r\n ['USSASSAI', 'L514'],\r\n ['OLLOLAI', 'G044'],\r\n ['NURRI', 'F986'],\r\n ['NURALLAO', 'F982'],\r\n ['NURAGUS', 'F981'],\r\n ['LOTZORAI', 'E700'],\r\n ['CARDEDU', 'M285'],\r\n ['SAGAMA', 'H661'],\r\n ['VILLANOVATULO', 'L992'],\r\n ['DESULO', 'D287'],\r\n ['GENONI', 'D968'],\r\n ['MEANA SARDO', 'F073']\r\n ],\r\n OR: [\r\n ['MARRUBIU', 'E972'],\r\n ['MASULLAS', 'F050'],\r\n ['CUGLIERI', 'D200'],\r\n ['PALMAS ARBOREA', 'G286'],\r\n ['ZERFALIU', 'M168'],\r\n ['ULA\\' TIRSO', 'L488'],\r\n ['CABRAS', 'B314'],\r\n ['MILIS', 'F208'],\r\n ['SIMALA', 'I742'],\r\n ['SIMAXIS', 'I743'],\r\n ['SINI', 'I749'],\r\n ['MORGONGIORI', 'F727'],\r\n ['TRESNURAGHES', 'L393'],\r\n ['VILLA SANT\\'ANTONIO', 'I298'],\r\n ['TADASUNI', 'L023'],\r\n ['ALBAGIARA', 'A126'],\r\n ['SANTU LUSSURGIU', 'I374'],\r\n ['PAU', 'G379'],\r\n ['SIAPICCIA', 'I721'],\r\n ['ASSOLO', 'A477'],\r\n ['BUSACHI', 'B281'],\r\n ['BARATILI SAN PIETRO', 'A621'],\r\n ['ORISTANO', 'G113'],\r\n ['GONNOSNO\\'', 'D585'],\r\n ['RIOLA SARDO', 'H301'],\r\n ['NORBELLO', 'F934'],\r\n ['BARESSA', 'A655'],\r\n ['FORDONGIANUS', 'D695'],\r\n ['TERRALBA', 'L122'],\r\n ['ARBOREA', 'A357'],\r\n ['ALES', 'A180'],\r\n ['NUGHEDU SANTA VITTORIA', 'F974'],\r\n ['BARADILI', 'A614'],\r\n ['BONARCADO', 'A960'],\r\n ['SENEGHE', 'I605'],\r\n ['SENIS', 'I609'],\r\n ['SAN VERO MILIS', 'I384'],\r\n ['USELLUS', 'L508'],\r\n ['ABBASANTA', 'A007'],\r\n ['POMPU', 'G817'],\r\n ['CURCURIS', 'D214'],\r\n ['TRAMATZA', 'L321'],\r\n ['SAMUGHEO', 'H756'],\r\n ['SORRADILE', 'I861'],\r\n ['ZEDDIANI', 'M153'],\r\n ['SIRIS', 'I757'],\r\n ['SCANO DI MONTIFERRO', 'I503'],\r\n ['SODDI\\'', 'I778'],\r\n ['SEDILO', 'I564'],\r\n ['SIAMANNA', 'I718'],\r\n ['SIAMAGGIORE', 'I717'],\r\n ['BAULADU', 'A721'],\r\n ['BIDONI\\'', 'A856'],\r\n ['RUINAS', 'F271'],\r\n ['MOGORELLA', 'F270'],\r\n ['MOGORO', 'F272'],\r\n ['NEONELI', 'F867'],\r\n ['VILLAURBANA', 'M030'],\r\n ['AIDOMAGGIORE', 'A097'],\r\n ['NARBOLIA', 'F840'],\r\n ['SANTA GIUSTA', 'I205'],\r\n ['PAULILATINO', 'G384'],\r\n ['VILLANOVA TRUSCHEDU', 'L991'],\r\n ['GONNOSTRAMATZA', 'E088'],\r\n ['GONNOSCODINA', 'E087'],\r\n ['SOLARUSSA', 'I791'],\r\n ['URAS', 'L496'],\r\n ['ARDAULI', 'A380'],\r\n ['SENNARIOLO', 'I613'],\r\n ['VILLA VERDE', 'A609'],\r\n ['BORONEDDU', 'B055'],\r\n ['OLLASTRA', 'G043'],\r\n ['NURECI', 'F985'],\r\n ['NURACHI', 'F980'],\r\n ['ASUNI', 'A480'],\r\n ['SAN NICOLO\\' D\\'ARCIDANO', 'A368'],\r\n ['GHILARZA', 'E004'],\r\n ['ALLAI', 'A204']\r\n ],\r\n PA: [\r\n ['SAN MAURO CASTELVERDE', 'I028'],\r\n ['VICARI', 'L837'],\r\n ['CASTELLANA SICULA', 'C135'],\r\n ['CEFALU\\'', 'C421'],\r\n ['CEFALA\\' DIANA', 'C420'],\r\n ['TRAPPETO', 'L332'],\r\n ['TRABIA', 'L317'],\r\n ['CACCAMO', 'B315'],\r\n ['SCILLATO', 'I538'],\r\n ['SCIARA', 'I534'],\r\n ['GANGI', 'D907'],\r\n ['MISILMERI', 'F246'],\r\n ['BAUCINA', 'A719'],\r\n ['CASTELDACCIA', 'C074'],\r\n ['BALESTRATE', 'A592'],\r\n ['SAN GIUSEPPE JATO', 'H933'],\r\n ['CINISI', 'C708'],\r\n ['BISACQUINO', 'A882'],\r\n ['CONTESSA ENTELLINA', 'C968'],\r\n ['PALERMO', 'G273'],\r\n ['PETRALIA SOTTANA', 'G511'],\r\n ['PETRALIA SOPRANA', 'G510'],\r\n ['CIMINNA', 'C696'],\r\n ['CASTELBUONO', 'C067'],\r\n ['MARINEO', 'E957'],\r\n ['ALIA', 'A195'],\r\n ['CALTAVUTURO', 'B430'],\r\n ['BOLOGNETTA', 'A946'],\r\n ['GODRANO', 'E074'],\r\n ['GIULIANA', 'E055'],\r\n ['ALTOFONTE', 'A239'],\r\n ['GERACI SICULO', 'D977'],\r\n ['GIARDINELLO', 'E013'],\r\n ['PRIZZI', 'H070'],\r\n ['FICARAZZI', 'D567'],\r\n ['SAN CIPIRELLO', 'H797'],\r\n ['ROCCAMENA', 'H422'],\r\n ['ROCCAPALUMBA', 'H428'],\r\n ['CAPACI', 'B645'],\r\n ['CORLEONE', 'D009'],\r\n ['MONTEMAGGIORE BELSITO', 'F553'],\r\n ['LASCARI', 'E459'],\r\n ['TORRETTA', 'L282'],\r\n ['MONTELEPRE', 'F544'],\r\n ['BELMONTE MEZZAGNO', 'A764'],\r\n ['BAGHERIA', 'A546'],\r\n ['MEZZOJUSO', 'F184'],\r\n ['VALLEDOLMO', 'L603'],\r\n ['CAMPOFELICE DI ROCCELLA', 'B532'],\r\n ['CAMPOFELICE DI FITALIA', 'B533'],\r\n ['CAMPOFIORITO', 'B535'],\r\n ['CERDA', 'C496'],\r\n ['SANTA CRISTINA GELA', 'I174'],\r\n ['SCLAFANI BAGNI', 'I541'],\r\n ['CAMPOREALE', 'B556'],\r\n ['PARTINICO', 'G348'],\r\n ['ISOLA DELLE FEMMINE', 'E350'],\r\n ['VILLAFRATI', 'L951'],\r\n ['TERRASINI', 'L131'],\r\n ['VILLABATE', 'L916'],\r\n ['GRATTERI', 'E149'],\r\n ['ISNELLO', 'E337'],\r\n ['TERMINI IMERESE', 'L112'],\r\n ['CARINI', 'B780'],\r\n ['PALAZZO ADRIANO', 'G263'],\r\n ['MONREALE', 'F377'],\r\n ['BORGETTO', 'A991'],\r\n ['CASTRONOVO DI SICILIA', 'C344'],\r\n ['SANTA FLAVIA', 'I188'],\r\n ['PIANA DEGLI ALBANESI', 'G543'],\r\n ['USTICA', 'L519'],\r\n ['BOMPIETRO', 'A958'],\r\n ['CHIUSA SCLAFANI', 'C654'],\r\n ['ALTAVILLA MILICIA', 'A229'],\r\n ['COLLESANO', 'C871'],\r\n ['POLIZZI GENEROSA', 'G792'],\r\n ['POLLINA', 'G797'],\r\n ['VENTIMIGLIA DI SICILIA', 'L740'],\r\n ['BLUFI', 'M268'],\r\n ['ALIMINUSA', 'A203'],\r\n ['ALIMENA', 'A202'],\r\n ['LERCARA FRIDDI', 'E541']\r\n ],\r\n PC: [\r\n ['CORTE BRUGNATELLA', 'D054'],\r\n ['ZIANO PIACENTINO', 'L848'],\r\n ['ZERBA', 'M165'],\r\n ['ALSENO', 'A223'],\r\n ['CADEO', 'B332'],\r\n ['CARPANETO PIACENTINO', 'B812'],\r\n ['OTTONE', 'G195'],\r\n ['FIORENZUOLA D\\'ARDA', 'D611'],\r\n ['BESENZONE', 'A823'],\r\n ['PODENZANO', 'G747'],\r\n ['MORFASSO', 'F724'],\r\n ['BORGONOVO VAL TIDONE', 'B025'],\r\n ['GOSSOLENGO', 'E114'],\r\n ['ROTTOFRENO', 'H593'],\r\n ['PECORARA', 'G399'],\r\n ['CAMINATA', 'B479'],\r\n ['CERIGNALE', 'C513'],\r\n ['PONTENURE', 'G852'],\r\n ['PIACENZA', 'G535'],\r\n ['PIANELLO VAL TIDONE', 'G557'],\r\n ['FARINI', 'D502'],\r\n ['GRAGNANO TREBBIENSE', 'E132'],\r\n ['SARMATO', 'I434'],\r\n ['SAN PIETRO IN CERRO', 'G788'],\r\n ['TRAVO', 'L348'],\r\n ['VILLANOVA SULL\\'ARDA', 'L980'],\r\n ['VERNASCA', 'L772'],\r\n ['GAZZOLA', 'D958'],\r\n ['BOBBIO', 'A909'],\r\n ['MONTICELLI D\\'ONGINA', 'F671'],\r\n ['CORTEMAGGIORE', 'D061'],\r\n ['CAORSO', 'B643'],\r\n ['AGAZZANO', 'A067'],\r\n ['CASTELL\\'ARQUATO', 'C145'],\r\n ['BETTOLA', 'A831'],\r\n ['SAN GIORGIO PIACENTINO', 'H887'],\r\n ['CASTEL SAN GIOVANNI', 'C261'],\r\n ['NIBBIANO', 'F885'],\r\n ['CASTELVETRO PIACENTINO', 'C288'],\r\n ['VIGOLZONE', 'L897'],\r\n ['RIVERGARO', 'H350'],\r\n ['GROPPARELLO', 'E196'],\r\n ['PIOZZANO', 'G696'],\r\n ['COLI', 'C838'],\r\n ['PONTE DELL\\'OLIO', 'G842'],\r\n ['CALENDASCO', 'B405'],\r\n ['LUGAGNANO VAL D\\'ARDA', 'E726'],\r\n ['FERRIERE', 'D555']\r\n ],\r\n PD: [\r\n ['SAN PIETRO VIMINARIO', 'I120'],\r\n ['VO', 'M103'],\r\n ['LOREGGIA', 'E684'],\r\n ['CANDIANA', 'B589'],\r\n ['SELVAZZANO DENTRO', 'I595'],\r\n ['SAN PIETRO IN GU', 'I107'],\r\n ['AGNA', 'A075'],\r\n ['MASSANZAGO', 'F033'],\r\n ['FONTANIVA', 'D679'],\r\n ['SANT\\'ELENA', 'I319'],\r\n ['TORREGLIA', 'L270'],\r\n ['MASERA\\' DI PADOVA', 'F011'],\r\n ['MASI', 'F013'],\r\n ['PERNUMIA', 'G461'],\r\n ['ALBIGNASEGO', 'A161'],\r\n ['VESCOVANA', 'L805'],\r\n ['CASALE DI SCODOSIA', 'B877'],\r\n ['SALETTO', 'H705'],\r\n ['VILLA DEL CONTE', 'L934'],\r\n ['BATTAGLIA TERME', 'A714'],\r\n ['SANT\\'URBANO', 'I375'],\r\n ['MONTEGROTTO TERME', 'F529'],\r\n ['CAMPODARSEGO', 'B524'],\r\n ['ARZERGRANDE', 'A458'],\r\n ['SAN GIORGIO IN BOSCO', 'H897'],\r\n ['SAN GIORGIO DELLE PERTICHE', 'H893'],\r\n ['STANGHELLA', 'I938'],\r\n ['MEGLIADINO SAN FIDENZIO', 'F091'],\r\n ['MEGLIADINO SAN VITALE', 'F092'],\r\n ['CASTELBALDO', 'C057'],\r\n ['VILLAFRANCA PADOVANA', 'L947'],\r\n ['CAMPOSAMPIERO', 'B563'],\r\n ['CAMPO SAN MARTINO', 'B564'],\r\n ['CASALSERUGO', 'B912'],\r\n ['CONSELVE', 'C964'],\r\n ['SANT\\'ANGELO DI PIOVE DI SACCO', 'I275'],\r\n ['ARQUA\\' PETRARCA', 'A434'],\r\n ['ARRE', 'A438'],\r\n ['CARMIGNANO DI BRENTA', 'B795'],\r\n ['GALLIERA VENETA', 'D879'],\r\n ['VIGONZA', 'L900'],\r\n ['BARBONA', 'A637'],\r\n ['TEOLO', 'L100'],\r\n ['SAONARA', 'I418'],\r\n ['CITTADELLA', 'C743'],\r\n ['BAONE', 'A613'],\r\n ['VEGGIANO', 'L710'],\r\n ['PONTELONGO', 'G850'],\r\n ['PONTE SAN NICOLO\\'', 'G855'],\r\n ['PIOMBINO DESE', 'G688'],\r\n ['PIACENZA D\\'ADIGE', 'G534'],\r\n ['RUBANO', 'H625'],\r\n ['ABANO TERME', 'A001'],\r\n ['TREBASELEGHE', 'L349'],\r\n ['GAZZO PADOVANO', 'D956'],\r\n ['MONSELICE', 'F382'],\r\n ['BOARA PISANI', 'A906'],\r\n ['CORREZZOLA', 'D040'],\r\n ['SACCOLONGO', 'H655'],\r\n ['BOVOLENTA', 'B106'],\r\n ['CADONEGHE', 'B345'],\r\n ['VIGHIZZOLO D\\'ESTE', 'L878'],\r\n ['BAGNOLI DI SOPRA', 'A568'],\r\n ['ANGUILLARA VENETA', 'A296'],\r\n ['CARTURA', 'B848'],\r\n ['SANTA MARGHERITA D\\'ADIGE', 'I226'],\r\n ['LIMENA', 'E592'],\r\n ['CAMPODORO', 'B531'],\r\n ['TOMBOLO', 'L199'],\r\n ['GALZIGNANO TERME', 'D889'],\r\n ['POZZONOVO', 'G963'],\r\n ['ESTE', 'D442'],\r\n ['VILLANOVA DI CAMPOSAMPIERO', 'L979'],\r\n ['TRIBANO', 'L414'],\r\n ['OSPEDALETTO EUGANEO', 'G167'],\r\n ['VIGODARZERE', 'L892'],\r\n ['CERVARESE SANTA CROCE', 'C544'],\r\n ['BORGORICCO', 'B031'],\r\n ['CARCERI', 'B749'],\r\n ['VILLA ESTENSE', 'L937'],\r\n ['SANTA GIUSTINA IN COLLE', 'I207'],\r\n ['TERRASSA PADOVANA', 'L132'],\r\n ['CINTO EUGANEO', 'C713'],\r\n ['GRANZE', 'E146'],\r\n ['GRANTORTO', 'E145'],\r\n ['SOLESINO', 'I799'],\r\n ['DUE CARRARE', 'M300'],\r\n ['URBANA', 'L497'],\r\n ['PIOVE DI SACCO', 'G693'],\r\n ['MERLARA', 'F148'],\r\n ['NOVENTA PADOVANA', 'F962'],\r\n ['ROVOLON', 'H622'],\r\n ['LEGNARO', 'E515'],\r\n ['CODEVIGO', 'C812'],\r\n ['MESTRINO', 'F161'],\r\n ['BRUGINE', 'B213'],\r\n ['PADOVA', 'G224'],\r\n ['LOZZO ATESTINO', 'E709'],\r\n ['PONSO', 'G823'],\r\n ['SAN MARTINO DI LUPARI', 'I008'],\r\n ['POLVERARA', 'G802'],\r\n ['MONTAGNANA', 'F394'],\r\n ['PIAZZOLA SUL BRENTA', 'G587'],\r\n ['CURTAROLO', 'D226']\r\n ],\r\n PE: [\r\n ['CUGNOLI', 'D201'],\r\n ['CORVARA', 'D078'],\r\n ['MONTEBELLO DI BERTONA', 'F441'],\r\n ['SANT\\'EUFEMIA A MAIELLA', 'I332'],\r\n ['BRITTOLI', 'B193'],\r\n ['MOSCUFO', 'F765'],\r\n ['ALANNO', 'A120'],\r\n ['SAN VALENTINO IN ABRUZZO CITERIORE', 'I376'],\r\n ['PESCARA', 'G482'],\r\n ['TOCCO DA CASAURIA', 'L186'],\r\n ['VICOLI', 'L846'],\r\n ['VILLA CELIERA', 'L922'],\r\n ['MANOPPELLO', 'E892'],\r\n ['TORRE DE\\' PASSERI', 'L263'],\r\n ['POPOLI', 'G878'],\r\n ['SERRAMONACESCA', 'I649'],\r\n ['CATIGNANO', 'C354'],\r\n ['BOLOGNANO', 'A945'],\r\n ['PIANELLA', 'G555'],\r\n ['FARINDOLA', 'D501'],\r\n ['ABBATEGGIO', 'A008'],\r\n ['CEPAGATTI', 'C474'],\r\n ['LORETO APRUTINO', 'E691'],\r\n ['ROCCAMORICE', 'H425'],\r\n ['PENNE', 'G438'],\r\n ['CARPINETO DELLA NORA', 'B827'],\r\n ['PIETRANICO', 'G621'],\r\n ['ROSCIANO', 'H562'],\r\n ['ELICE', 'D394'],\r\n ['CAPPELLE SUL TAVO', 'B681'],\r\n ['SALLE', 'H715'],\r\n ['CARAMANICO TERME', 'B722'],\r\n ['PESCOSANSONESCO', 'G499'],\r\n ['CASTIGLIONE A CASAURIA', 'C308'],\r\n ['SPOLTORE', 'I922'],\r\n ['SCAFA', 'I482'],\r\n ['BUSSI SUL TIRINO', 'B294'],\r\n ['NOCCIANO', 'F908'],\r\n ['TURRIVALIGNANI', 'L475'],\r\n ['LETTOMANOPPELLO', 'E558'],\r\n ['CIVITAQUANA', 'C771'],\r\n ['CIVITELLA CASANOVA', 'C779'],\r\n ['CITTA\\' SANT\\'ANGELO', 'C750'],\r\n ['MONTESILVANO', 'F646'],\r\n ['COLLECORVINO', 'C853'],\r\n ['PICCIANO', 'G589']\r\n ],\r\n PG: [\r\n ['PIETRALUNGA', 'G618'],\r\n ['MARSCIANO', 'E975'],\r\n ['MONTE SANTA MARIA TIBERINA', 'F629'],\r\n ['FOLIGNO', 'D653'],\r\n ['VALTOPINA', 'L653'],\r\n ['TREVI', 'L397'],\r\n ['CASTEL RITALDI', 'C252'],\r\n ['CAMPELLO SUL CLITUNNO', 'B504'],\r\n ['BASTIA UMBRA', 'A710'],\r\n ['TODI', 'L188'],\r\n ['SIGILLO', 'I727'],\r\n ['SAN GIUSTINO', 'H935'],\r\n ['ASSISI', 'A475'],\r\n ['PASSIGNANO SUL TRASIMENO', 'G359'],\r\n ['NOCERA UMBRA', 'F911'],\r\n ['NORCIA', 'F935'],\r\n ['TUORO SUL TRASIMENO', 'L466'],\r\n ['PRECI', 'H015'],\r\n ['CITTA\\' DELLA PIEVE', 'C744'],\r\n ['CITTA\\' DI CASTELLO', 'C745'],\r\n ['CITERNA', 'C742'],\r\n ['PACIANO', 'G212'],\r\n ['FOSSATO DI VICO', 'D745'],\r\n ['GIANO DELL\\'UMBRIA', 'E012'],\r\n ['FRATTA TODINA', 'D787'],\r\n ['UMBERTIDE', 'D786'],\r\n ['CANNARA', 'B609'],\r\n ['GUALDO CATTANEO', 'E229'],\r\n ['COLLAZZONE', 'C845'],\r\n ['SELLANO', 'I585'],\r\n ['MONTE CASTELLO DI VIBIO', 'F456'],\r\n ['PIEGARO', 'G601'],\r\n ['MASSA MARTANA', 'F024'],\r\n ['DERUTA', 'D279'],\r\n ['PERUGIA', 'G478'],\r\n ['MONTEFALCO', 'F492'],\r\n ['SCHEGGIA E PASCELUPO', 'I522'],\r\n ['SCHEGGINO', 'I523'],\r\n ['MONTELEONE DI SPOLETO', 'F540'],\r\n ['VALLO DI NERA', 'L627'],\r\n ['GUBBIO', 'E256'],\r\n ['PANICALE', 'G308'],\r\n ['BETTONA', 'A832'],\r\n ['BEVAGNA', 'A835'],\r\n ['CERRETO DI SPOLETO', 'C527'],\r\n ['MAGIONE', 'E805'],\r\n ['CASTIGLIONE DEL LAGO', 'C309'],\r\n ['SPOLETO', 'I921'],\r\n ['CASCIA', 'B948'],\r\n ['POGGIODOMO', 'G758'],\r\n ['COSTACCIARO', 'D108'],\r\n ['TORGIANO', 'L216'],\r\n ['SANT\\'ANATOLIA DI NARCO', 'I263'],\r\n ['SPELLO', 'I888'],\r\n ['GUALDO TADINO', 'E230'],\r\n ['CORCIANO', 'C990'],\r\n ['MONTONE', 'F685'],\r\n ['LISCIANO NICCONE', 'E613'],\r\n ['VALFABBRICA', 'L573']\r\n ],\r\n PI: [\r\n ['CASTELFRANCO DI SOTTO', 'C113'],\r\n ['MONTEVERDI MARITTIMO', 'F661'],\r\n ['CASCIANA TERME', 'A559'],\r\n ['LORENZANA', 'E688'],\r\n ['SAN MINIATO', 'I046'],\r\n ['CASTELLINA MARITTIMA', 'C174'],\r\n ['CASALE MARITTIMO', 'B878'],\r\n ['CASCINA', 'B950'],\r\n ['SANTA MARIA A MONTE', 'I232'],\r\n ['BIENTINA', 'A864'],\r\n ['SANTA LUCE', 'I217'],\r\n ['PALAIA', 'G254'],\r\n ['PECCIOLI', 'G395'],\r\n ['ORCIANO PISANO', 'G090'],\r\n ['VICOPISANO', 'L850'],\r\n ['MONTECATINI VAL DI CECINA', 'F458'],\r\n ['CHIANNI', 'C609'],\r\n ['LAJATICO', 'E413'],\r\n ['CAPANNOLI', 'B647'],\r\n ['LARI', 'E455'],\r\n ['BUTI', 'B303'],\r\n ['SAN GIULIANO TERME', 'A562'],\r\n ['CASTELNUOVO VAL DI CECINA', 'C244'],\r\n ['CRESPINA', 'D160'],\r\n ['SANTA CROCE SULL\\'ARNO', 'I177'],\r\n ['RIPARBELLA', 'H319'],\r\n ['TERRICCIOLA', 'L138'],\r\n ['PISA', 'G702'],\r\n ['MONTOPOLI IN VAL D\\'ARNO', 'F686'],\r\n ['VECCHIANO', 'L702'],\r\n ['PONTEDERA', 'G843'],\r\n ['VOLTERRA', 'M126'],\r\n ['FAUGLIA', 'D510'],\r\n ['GUARDISTALLO', 'E250'],\r\n ['PONSACCO', 'G822'],\r\n ['CALCINAIA', 'B392'],\r\n ['CALCI', 'B390'],\r\n ['MONTESCUDAIO', 'F640'],\r\n ['POMARANCE', 'G804']\r\n ],\r\n PN: [\r\n ['FANNA', 'D487'],\r\n ['FONTANAFREDDA', 'D670'],\r\n ['AVIANO', 'A516'],\r\n ['CASTELNOVO DEL FRIULI', 'C217'],\r\n ['PORDENONE', 'G888'],\r\n ['PORCIA', 'G886'],\r\n ['VALVASONE', 'L657'],\r\n ['ANDREIS', 'A283'],\r\n ['SAN QUIRINO', 'I136'],\r\n ['FRISANCO', 'D804'],\r\n ['ARZENE', 'A456'],\r\n ['SAN GIORGIO DELLA RICHINVELDA', 'H891'],\r\n ['PASIANO DI PORDENONE', 'G353'],\r\n ['BUDOIA', 'B247'],\r\n ['SAN VITO AL TAGLIAMENTO', 'I403'],\r\n ['ARBA', 'A354'],\r\n ['AZZANO DECIMO', 'A530'],\r\n ['PRAVISDOMINI', 'H010'],\r\n ['VITO D\\'ASIO', 'M085'],\r\n ['SEQUALS', 'I621'],\r\n ['PINZANO AL TAGLIAMENTO', 'G680'],\r\n ['PRATA DI PORDENONE', 'G994'],\r\n ['SAN MARTINO AL TAGLIAMENTO', 'H999'],\r\n ['POLCENIGO', 'G780'],\r\n ['TRAVESIO', 'L347'],\r\n ['CHIONS', 'C640'],\r\n ['ERTO E CASSO', 'D426'],\r\n ['CANEVA', 'B598'],\r\n ['SACILE', 'H657'],\r\n ['TRAMONTI DI SOTTO', 'L325'],\r\n ['TRAMONTI DI SOPRA', 'L324'],\r\n ['SESTO AL REGHENA', 'I686'],\r\n ['ZOPPOLA', 'M190'],\r\n ['CLAUZETTO', 'C791'],\r\n ['CLAUT', 'C790'],\r\n ['MORSANO AL TAGLIAMENTO', 'F750'],\r\n ['MEDUNO', 'F089'],\r\n ['CASARSA DELLA DELIZIA', 'B940'],\r\n ['SPILIMBERGO', 'I904'],\r\n ['MONTEREALE VALCELLINA', 'F596'],\r\n ['CAVASSO NUOVO', 'C385'],\r\n ['BARCIS', 'A640'],\r\n ['FIUME VENETO', 'D621'],\r\n ['MANIAGO', 'E889'],\r\n ['CORDOVADO', 'C993'],\r\n ['CORDENONS', 'C991'],\r\n ['VIVARO', 'M096'],\r\n ['CIMOLAIS', 'C699'],\r\n ['BRUGNERA', 'B215'],\r\n ['ROVEREDO IN PIANO', 'H609'],\r\n ['VAJONT', 'M265']\r\n ],\r\n PO: [\r\n ['CARMIGNANO', 'B794'],\r\n ['PRATO', 'G999'],\r\n ['VERNIO', 'L775'],\r\n ['CANTAGALLO', 'B626'],\r\n ['MONTEMURLO', 'F572'],\r\n ['POGGIO A CAIANO', 'G754'],\r\n ['VAIANO', 'L537']\r\n ],\r\n PR: [\r\n ['PELLEGRINO PARMENSE', 'G424'],\r\n ['SORAGNA', 'I840'],\r\n ['SORBOLO', 'I845'],\r\n ['FONTANELLATO', 'D673'],\r\n ['VARANO DE\\' MELEGARI', 'L672'],\r\n ['SISSA', 'I763'],\r\n ['BORE', 'A987'],\r\n ['SALSOMAGGIORE TERME', 'H720'],\r\n ['COLORNO', 'C904'],\r\n ['TIZZANO VAL PARMA', 'L183'],\r\n ['BEDONIA', 'A731'],\r\n ['NOCETO', 'F914'],\r\n ['TERENZO', 'E548'],\r\n ['LESIGNANO DE\\' BAGNI', 'E547'],\r\n ['BORGO VAL DI TARO', 'B042'],\r\n ['FORNOVO DI TARO', 'D728'],\r\n ['ROCCABIANCA', 'H384'],\r\n ['MEZZANI', 'F174'],\r\n ['MONCHIO DELLE CORTI', 'F340'],\r\n ['POLESINE PARMENSE', 'G783'],\r\n ['TRAVERSETOLO', 'L346'],\r\n ['TORNOLO', 'L229'],\r\n ['SAN SECONDO PARMENSE', 'I153'],\r\n ['MONTECHIARUGOLO', 'F473'],\r\n ['FONTEVIVO', 'D685'],\r\n ['BERCETO', 'A788'],\r\n ['PALANZANO', 'G255'],\r\n ['FELINO', 'D526'],\r\n ['ZIBELLO', 'M174'],\r\n ['LANGHIRANO', 'E438'],\r\n ['CORNIGLIO', 'D026'],\r\n ['VALMOZZOLA', 'L641'],\r\n ['ALBARETO', 'A138'],\r\n ['NEVIANO DEGLI ARDUINI', 'F882'],\r\n ['MEDESANO', 'F082'],\r\n ['SOLIGNANO', 'I803'],\r\n ['COMPIANO', 'C934'],\r\n ['SALA BAGANZA', 'H682'],\r\n ['BUSSETO', 'B293'],\r\n ['VARSI', 'L689'],\r\n ['BARDI', 'A646'],\r\n ['PARMA', 'G337'],\r\n ['FIDENZA', 'B034'],\r\n ['TRECASALI', 'L354'],\r\n ['CALESTANO', 'B408'],\r\n ['TORRILE', 'L299'],\r\n ['COLLECCHIO', 'C852']\r\n ],\r\n PT: [\r\n ['AGLIANA', 'A071'],\r\n ['CHIESINA UZZANESE', 'C631'],\r\n ['PIEVE A NIEVOLE', 'G636'],\r\n ['QUARRATA', 'H109'],\r\n ['SAMBUCA PISTOIESE', 'H744'],\r\n ['SERRAVALLE PISTOIESE', 'I660'],\r\n ['UZZANO', 'L522'],\r\n ['PONTE BUGGIANESE', 'G833'],\r\n ['MONTALE', 'F410'],\r\n ['MONSUMMANO TERME', 'F384'],\r\n ['MARLIANA', 'E960'],\r\n ['CUTIGLIANO', 'D235'],\r\n ['MASSA E COZZILE', 'F025'],\r\n ['LAMPORECCHIO', 'E432'],\r\n ['LARCIANO', 'E451'],\r\n ['MONTECATINI TERME', 'A561'],\r\n ['PESCIA', 'G491'],\r\n ['PISTOIA', 'G713'],\r\n ['PITEGLIO', 'G715'],\r\n ['BUGGIANO', 'B251'],\r\n ['ABETONE', 'A012'],\r\n ['SAN MARCELLO PISTOIESE', 'H980']\r\n ],\r\n PU: [\r\n ['LUNANO', 'E743'],\r\n ['SANT\\'ANGELO IN VADO', 'I287'],\r\n ['CANTIANO', 'B636'],\r\n ['CAGLI', 'B352'],\r\n ['FANO', 'D488'],\r\n ['CARPEGNA', 'B816'],\r\n ['SALTARA', 'H721'],\r\n ['FRONTINO', 'D807'],\r\n ['MONTE GRIMANO TERME', 'F524'],\r\n ['MAIOLO', 'E838'],\r\n ['URBANIA', 'L498'],\r\n ['BORGO PACE', 'B026'],\r\n ['MONTE PORZIO', 'F589'],\r\n ['MERCATINO CONCA', 'F136'],\r\n ['NOVAFELTRIA', 'F137'],\r\n ['MERCATELLO SUL METAURO', 'F135'],\r\n ['SAN LORENZO IN CAMPO', 'H958'],\r\n ['BARCHI', 'A639'],\r\n ['PETRIANO', 'G514'],\r\n ['PIOBBICO', 'G682'],\r\n ['PIAGGE', 'G537'],\r\n ['GABICCE MARE', 'D836'],\r\n ['FOSSOMBRONE', 'D749'],\r\n ['FERMIGNANO', 'D541'],\r\n ['MONDAVIO', 'F347'],\r\n ['MONDOLFO', 'F348'],\r\n ['PIANDIMELETO', 'G551'],\r\n ['MONTECOPIOLO', 'F478'],\r\n ['MONTECICCARDO', 'F474'],\r\n ['PENNABILLI', 'G433'],\r\n ['MONTECALVO IN FOGLIA', 'F450'],\r\n ['MONTEMAGGIORE AL METAURO', 'F555'],\r\n ['PEGLIO', 'G416'],\r\n ['SAN COSTANZO', 'H809'],\r\n ['CASTELDELCI', 'C080'],\r\n ['PIETRARUBBIA', 'G627'],\r\n ['PESARO', 'G479'],\r\n ['MONTEFELCINO', 'F497'],\r\n ['AUDITORE', 'A493'],\r\n ['BELFORTE ALL\\'ISAURO', 'A740'],\r\n ['TAVOLETO', 'L078'],\r\n ['PERGOLA', 'G453'],\r\n ['SANT\\'IPPOLITO', 'I344'],\r\n ['CARTOCETO', 'B846'],\r\n ['SANT\\'ANGELO IN LIZZOLA', 'I285'],\r\n ['TALAMELLO', 'L034'],\r\n ['MONTELABBATE', 'F533'],\r\n ['URBINO', 'L500'],\r\n ['SAN GIORGIO DI PESARO', 'H886'],\r\n ['GRADARA', 'E122'],\r\n ['ISOLA DEL PIANO', 'E351'],\r\n ['SASSOCORVARO', 'I459'],\r\n ['APECCHIO', 'A327'],\r\n ['MACERATA FELTRIA', 'E785'],\r\n ['SERRUNGARINA', 'I670'],\r\n ['SANT\\'AGATA FELTRIA', 'I201'],\r\n ['MOMBAROCCIO', 'F310'],\r\n ['SERRA SANT\\'ABBONDIO', 'I654'],\r\n ['SASSOFELTRIO', 'I460'],\r\n ['FRONTONE', 'D808'],\r\n ['ORCIANO DI PESARO', 'G089'],\r\n ['SAN LEO', 'H949'],\r\n ['COLBORDOLO', 'C830'],\r\n ['FRATTE ROSA', 'D791'],\r\n ['ACQUALAGNA', 'A035'],\r\n ['MONTE CERIGNONE', 'F467'],\r\n ['TAVULLIA', 'L081']\r\n ],\r\n PV: [\r\n ['CANNETO PAVESE', 'B613'],\r\n ['BRALLO DI PREGOLA', 'B117'],\r\n ['MONTEBELLO DELLA BATTAGLIA', 'F440'],\r\n ['CARBONARA AL TICINO', 'B741'],\r\n ['MONTECALVO VERSIGGIA', 'F449'],\r\n ['VOGHERA', 'M109'],\r\n ['PIETRA DE\\' GIORGI', 'G612'],\r\n ['SOMMO', 'I825'],\r\n ['CANDIA LOMELLINA', 'B587'],\r\n ['SEMIANA', 'I599'],\r\n ['SANNAZZARO DE\\' BURGONDI', 'I048'],\r\n ['CHIGNOLO PO', 'C637'],\r\n ['ZENEVREDO', 'M162'],\r\n ['ZERBO', 'M166'],\r\n ['BEREGUARDO', 'A792'],\r\n ['BADIA PAVESE', 'A538'],\r\n ['PIEVE DEL CAIRO', 'G639'],\r\n ['PIEVE ALBIGNOLA', 'G635'],\r\n ['VALLE LOMELLINA', 'L593'],\r\n ['ZERBOLO\\'', 'M167'],\r\n ['CASTELLETTO DI BRANDUZZO', 'C157'],\r\n ['CORNALE', 'D017'],\r\n ['SAN DAMIANO AL COLLE', 'H814'],\r\n ['PIEVE PORTO MORONE', 'G650'],\r\n ['CASTELNOVETTO', 'C213'],\r\n ['ROSASCO', 'H559'],\r\n ['VALVERDE', 'L659'],\r\n ['PINAROLO PO', 'G671'],\r\n ['ROGNANO', 'H491'],\r\n ['MARZANO', 'E999'],\r\n ['OTTOBIANO', 'G194'],\r\n ['GAMBOLO\\'', 'D901'],\r\n ['SAN GENESIO ED UNITI', 'H859'],\r\n ['ZINASCO', 'M180'],\r\n ['CASSOLNOVO', 'C038'],\r\n ['LINAROLO', 'E600'],\r\n ['LIRIO', 'E608'],\r\n ['DORNO', 'D348'],\r\n ['VALLE SALIMBENE', 'L617'],\r\n ['BASTIDA PANCARANA', 'A712'],\r\n ['BASTIDA DE\\' DOSSI', 'A711'],\r\n ['BATTUDA', 'A718'],\r\n ['LOMELLO', 'E662'],\r\n ['CERANOVA', 'C484'],\r\n ['CASEI GEROLA', 'B954'],\r\n ['GAMBARANA', 'D892'],\r\n ['NICORVO', 'F891'],\r\n ['BASCAPE\\'', 'A690'],\r\n ['TRAVACO\\' SICCOMARIO', 'I236'],\r\n ['SANTA MARGHERITA DI STAFFORA', 'I230'],\r\n ['BORGO PRIOLO', 'B028'],\r\n ['CASTEGGIO', 'C053'],\r\n ['CASTANA', 'C050'],\r\n ['PIZZALE', 'G720'],\r\n ['MONTU\\' BECCARIA', 'F701'],\r\n ['CAMPOSPINOSO', 'B567'],\r\n ['TROMELLO', 'L449'],\r\n ['TRIVOLZIO', 'L440'],\r\n ['CERVESINA', 'C551'],\r\n ['GARLASCO', 'D925'],\r\n ['SPESSA', 'I894'],\r\n ['TORRE DE\\' NEGRI', 'L262'],\r\n ['VARZI', 'L690'],\r\n ['GALLIAVOLA', 'D873'],\r\n ['GRAVELLONA LOMELLINA', 'E152'],\r\n ['ZEME', 'M161'],\r\n ['CASTELLO D\\'AGOGNA', 'C184'],\r\n ['PALESTRO', 'G275'],\r\n ['CORANA', 'C982'],\r\n ['ROBBIO', 'H369'],\r\n ['BARBIANELLO', 'A634'],\r\n ['BORGARELLO', 'A989'],\r\n ['CECIMA', 'C414'],\r\n ['SAN ZENONE AL PO', 'I416'],\r\n ['TORRE D\\'ISOLA', 'L269'],\r\n ['VIDIGULFO', 'L854'],\r\n ['VELEZZO LOMELLINA', 'L716'],\r\n ['PONTE NIZZA', 'G851'],\r\n ['CILAVEGNA', 'C686'],\r\n ['CIGOGNOLA', 'C684'],\r\n ['MEZZANINO', 'F175'],\r\n ['MEZZANA BIGLI', 'F170'],\r\n ['MEZZANA RABATTONE', 'F171'],\r\n ['SIZIANO', 'E265'],\r\n ['GODIASCO', 'E072'],\r\n ['TORREVECCHIA PIA', 'L285'],\r\n ['BOSNASCO', 'B082'],\r\n ['OLIVA GESSI', 'G032'],\r\n ['ROVESCALA', 'H614'],\r\n ['BRONI', 'B201'],\r\n ['BREME', 'B142'],\r\n ['GENZONE', 'D973'],\r\n ['MONTALTO PAVESE', 'F417'],\r\n ['VAL DI NIZZA', 'L562'],\r\n ['RETORBIDO', 'H246'],\r\n ['VILLANOVA D\\'ARDENGHI', 'L983'],\r\n ['LUNGAVILLA', 'B387'],\r\n ['SCALDASOLE', 'I487'],\r\n ['SAN CIPRIANO PO', 'H799'],\r\n ['RUINO', 'H637'],\r\n ['CANEVINO', 'B599'],\r\n ['MONTICELLI PAVESE', 'F670'],\r\n ['CORTEOLONA', 'D067'],\r\n ['VOLPARA', 'M119'],\r\n ['CURA CARPIGNANO', 'B824'],\r\n ['SANTA MARIA DELLA VERSA', 'I237'],\r\n ['RIVANAZZANO', 'H336'],\r\n ['LANDRIANO', 'E437'],\r\n ['LANGOSCO', 'E439'],\r\n ['VIGEVANO', 'L872'],\r\n ['MONTESCANO', 'F638'],\r\n ['PORTALBERA', 'G895'],\r\n ['ZAVATTARELLO', 'M150'],\r\n ['ZECCONE', 'M152'],\r\n ['BELGIOIOSO', 'A741'],\r\n ['VERRETTO', 'L784'],\r\n ['VERRUA PO', 'L788'],\r\n ['LARDIRAGO', 'E454'],\r\n ['ALBUZZANO', 'A175'],\r\n ['ALBONESE', 'A171'],\r\n ['STRADELLA', 'I968'],\r\n ['RONCARO', 'H527'],\r\n ['PANCARANA', 'G304'],\r\n ['CASORATE PRIMO', 'B988'],\r\n ['MIRADOLO TERME', 'F238'],\r\n ['MORTARA', 'F754'],\r\n ['VISTARINO', 'M079'],\r\n ['ALBAREDO ARNABOLDI', 'A134'],\r\n ['ROMAGNESE', 'H505'],\r\n ['MAGHERNO', 'E804'],\r\n ['FILIGHERA', 'D594'],\r\n ['SAN MARTINO SICCOMARIO', 'I014'],\r\n ['CORVINO SAN QUIRICO', 'D081'],\r\n ['SAN GIORGIO DI LOMELLINA', 'H885'],\r\n ['SANTA CRISTINA E BISSONE', 'I175'],\r\n ['MORNICO LOSANA', 'F739'],\r\n ['MEDE', 'F080'],\r\n ['ALAGNA', 'A118'],\r\n ['PARONA', 'G342'],\r\n ['CASATISMA', 'B945'],\r\n ['SILVANO PIETRA', 'I739'],\r\n ['SANT\\'ALESSIO CON VIALONE', 'I213'],\r\n ['COZZO', 'D127'],\r\n ['CERTOSA DI PAVIA', 'C541'],\r\n ['TORRAZZA COSTE', 'L237'],\r\n ['BORGORATTO MORMOROLO', 'B030'],\r\n ['BORGO SAN SIRO', 'B038'],\r\n ['CONFIENZA', 'C958'],\r\n ['COSTA DE\\' NOBILI', 'D109'],\r\n ['TROVO', 'L453'],\r\n ['SANTA GIULETTA', 'I203'],\r\n ['PAVIA', 'G388'],\r\n ['INVERNO E MONTELEONE', 'E310'],\r\n ['GROPELLO CAIROLI', 'E195'],\r\n ['SARTIRANA LOMELLINA', 'I447'],\r\n ['VILLA BISCOSSI', 'L917'],\r\n ['COPIANO', 'C979'],\r\n ['ROBECCO PAVESE', 'H375'],\r\n ['REDAVALLE', 'H216'],\r\n ['BAGNARIA', 'A550'],\r\n ['CAVA MANARA', 'C360'],\r\n ['CERETTO LOMELLINA', 'C508'],\r\n ['CERGNAGO', 'C509'],\r\n ['GOLFERENZO', 'E081'],\r\n ['CASANOVA LONATI', 'B929'],\r\n ['MENCONICO', 'F122'],\r\n ['FORTUNAGO', 'D732'],\r\n ['ROCCA DE\\' GIORGI', 'H396'],\r\n ['CALVIGNANO', 'B447'],\r\n ['TORRE BERETTI E CASTELLARO', 'L250'],\r\n ['TORRE D\\'ARESE', 'L256'],\r\n ['BORNASCO', 'B051'],\r\n ['ARENA PO', 'A387'],\r\n ['REA', 'H204'],\r\n ['VALEGGIO', 'L568'],\r\n ['CODEVILLA', 'C813'],\r\n ['ROCCA SUSELLA', 'H450'],\r\n ['SUARDI', 'B014'],\r\n ['FRASCAROLO', 'D771'],\r\n ['VELLEZZO BELLINI', 'L720'],\r\n ['GERENZAGO', 'D980'],\r\n ['BRESSANA BOTTARONE', 'B159'],\r\n ['GIUSSAGO', 'E062'],\r\n ['TORRICELLA VERZATE', 'L292'],\r\n ['MARCIGNAGO', 'E934'],\r\n ['OLEVANO DI LOMELLINA', 'G021'],\r\n ['VILLANTERIO', 'L994'],\r\n ['SANT\\'ANGELO LOMELLINA', 'I276'],\r\n ['MONTESEGALE', 'F644'],\r\n ['FERRERA ERBOGNONE', 'D552']\r\n ],\r\n PZ: [\r\n ['RUVO DEL MONTE', 'H646'],\r\n ['RUOTI', 'H641'],\r\n ['CARBONE', 'B743'],\r\n ['CHIAROMONTE', 'C619'],\r\n ['SATRIANO DI LUCANIA', 'G614'],\r\n ['PIETRAGALLA', 'G616'],\r\n ['SANT\\'ANGELO LE FRATTE', 'I288'],\r\n ['MARSICOVETERE', 'E977'],\r\n ['MARSICO NUOVO', 'E976'],\r\n ['CANCELLARA', 'B580'],\r\n ['LAGONEGRO', 'E409'],\r\n ['CORLETO PERTICARA', 'D010'],\r\n ['AVIGLIANO', 'A519'],\r\n ['SAN FELE', 'H831'],\r\n ['MONTEMILONE', 'F568'],\r\n ['MISSANELLO', 'F249'],\r\n ['LAURIA', 'E483'],\r\n ['LAURENZANA', 'E482'],\r\n ['TITO', 'L181'],\r\n ['CASTELSARACENO', 'C271'],\r\n ['CAMPOMAGGIORE', 'B549'],\r\n ['TOLVE', 'L197'],\r\n ['NOEPOLI', 'F917'],\r\n ['SPINOSO', 'I917'],\r\n ['ARMENTO', 'A415'],\r\n ['RIONERO IN VULTURE', 'H307'],\r\n ['SASSO DI CASTALDA', 'I457'],\r\n ['RIVELLO', 'H348'],\r\n ['FORENZA', 'D696'],\r\n ['ROTONDA', 'H590'],\r\n ['TERRANOVA DI POLLINO', 'L126'],\r\n ['GALLICCHIO', 'D876'],\r\n ['MURO LUCANO', 'F817'],\r\n ['BARAGIANO', 'A615'],\r\n ['BANZI', 'A612'],\r\n ['VENOSA', 'L738'],\r\n ['SAN MARTINO D\\'AGRI', 'H994'],\r\n ['FRANCAVILLA IN SINNI', 'D766'],\r\n ['GENZANO DI LUCANIA', 'D971'],\r\n ['SAN SEVERINO LUCANO', 'I157'],\r\n ['ACERENZA', 'A020'],\r\n ['GRUMENTO NOVA', 'E221'],\r\n ['GINESTRA', 'E033'],\r\n ['SAN CHIRICO NUOVO', 'H795'],\r\n ['SAN CHIRICO RAPARO', 'H796'],\r\n ['ROCCANOVA', 'H426'],\r\n ['PICERNO', 'G590'],\r\n ['CASTELGRANDE', 'C120'],\r\n ['TRAMUTOLA', 'L326'],\r\n ['VIETRI DI POTENZA', 'L859'],\r\n ['SAN COSTANTINO ALBANESE', 'H808'],\r\n ['PIETRAPERTOSA', 'G623'],\r\n ['SANT\\'ARCANGELO', 'I305'],\r\n ['MASCHITO', 'F006'],\r\n ['FARDELLA', 'D497'],\r\n ['VIGGIANO', 'L874'],\r\n ['VIGGIANELLO', 'L873'],\r\n ['BELLA', 'A743'],\r\n ['CASTELMEZZANO', 'C209'],\r\n ['MONTEMURRO', 'F573'],\r\n ['PIGNOLA', 'G663'],\r\n ['LATRONICO', 'E474'],\r\n ['BRINDISI MONTAGNA', 'B181'],\r\n ['POTENZA', 'G942'],\r\n ['RAPONE', 'H187'],\r\n ['RAPOLLA', 'H186'],\r\n ['SAVOIA DI LUCANIA', 'H730'],\r\n ['LAVELLO', 'E493'],\r\n ['ALBANO DI LUCANIA', 'A131'],\r\n ['PESCOPAGANO', 'G496'],\r\n ['FILIANO', 'D593'],\r\n ['CASTELLUCCIO SUPERIORE', 'C201'],\r\n ['CERSOSIMO', 'C539'],\r\n ['EPISCOPIA', 'D414'],\r\n ['GUARDIA PERTICARA', 'E246'],\r\n ['NEMOLI', 'F866'],\r\n ['TRIVIGNO', 'L439'],\r\n ['MOLITERNO', 'F295'],\r\n ['ANZI', 'A321'],\r\n ['BARILE', 'A666'],\r\n ['SAN PAOLO ALBANESE', 'B906'],\r\n ['MELFI', 'F104'],\r\n ['RIPACANDIDA', 'H312'],\r\n ['OPPIDO LUCANO', 'G081'],\r\n ['CASTELLUCCIO INFERIORE', 'C199'],\r\n ['PALAZZO SAN GERVASIO', 'G261'],\r\n ['CALVERA', 'B443'],\r\n ['CALVELLO', 'B440'],\r\n ['CASTRONUOVO DI SANT\\'ANDREA', 'C345'],\r\n ['VAGLIO BASILICATA', 'L532'],\r\n ['SENISE', 'I610'],\r\n ['BALVANO', 'A604'],\r\n ['SARCONI', 'I426'],\r\n ['ABRIOLA', 'A013'],\r\n ['TRECCHINA', 'L357'],\r\n ['ATELLA', 'A482'],\r\n ['BRIENZA', 'B173'],\r\n ['PATERNO', 'M269'],\r\n ['MARATEA', 'E919'],\r\n ['TEANA', 'L082']\r\n ],\r\n RA: [\r\n ['RUSSI', 'H642'],\r\n ['BAGNARA DI ROMAGNA', 'A551'],\r\n ['BRISIGHELLA', 'B188'],\r\n ['RIOLO TERME', 'H302'],\r\n ['CERVIA', 'C553'],\r\n ['CONSELICE', 'C963'],\r\n ['SOLAROLO', 'I787'],\r\n ['SANT\\'AGATA SUL SANTERNO', 'I196'],\r\n ['RAVENNA', 'H199'],\r\n ['LUGO', 'E730'],\r\n ['CASTEL BOLOGNESE', 'C065'],\r\n ['MASSA LOMBARDA', 'F029'],\r\n ['BAGNACAVALLO', 'A547'],\r\n ['CASOLA VALSENIO', 'B982'],\r\n ['COTIGNOLA', 'D121'],\r\n ['FAENZA', 'D458'],\r\n ['ALFONSINE', 'A191'],\r\n ['FUSIGNANO', 'D829']\r\n ],\r\n RC: [\r\n ['CANOLO', 'B617'],\r\n ['GROTTERIA', 'E212'],\r\n ['CALANNA', 'B379'],\r\n ['BRANCALEONE', 'B118'],\r\n ['GIFFONE', 'E025'],\r\n ['PALMI', 'G288'],\r\n ['SAN PIETRO DI CARIDA\\'', 'I102'],\r\n ['AGNANA CALABRA', 'A077'],\r\n ['LAGANADI', 'E402'],\r\n ['DELIANUOVA', 'D268'],\r\n ['VARAPODIO', 'L673'],\r\n ['FEROLETO DELLA CHIESA', 'D545'],\r\n ['TAURIANOVA', 'L063'],\r\n ['ROSARNO', 'H558'],\r\n ['SANT\\'EUFEMIA D\\'ASPROMONTE', 'I333'],\r\n ['MARTONE', 'E993'],\r\n ['SCILLA', 'I537'],\r\n ['SCIDO', 'I536'],\r\n ['SAN PROCOPIO', 'I132'],\r\n ['MAMMOLA', 'E873'],\r\n ['FIUMARA', 'D619'],\r\n ['CARAFFA DEL BIANCO', 'B718'],\r\n ['SANTO STEFANO IN ASPROMONTE', 'I371'],\r\n ['STIGNANO', 'I955'],\r\n ['STILO', 'I956'],\r\n ['SIDERNO', 'I725'],\r\n ['BIANCO', 'A843'],\r\n ['STAITI', 'I936'],\r\n ['RIACE', 'H265'],\r\n ['PLACANICA', 'G729'],\r\n ['ANTONIMINA', 'A314'],\r\n ['REGGIO DI CALABRIA', 'H224'],\r\n ['SANT\\'ALESSIO IN ASPROMONTE', 'I214'],\r\n ['SAN FERDINANDO', 'M277'],\r\n ['MELITO DI PORTO SALVO', 'F112'],\r\n ['MONASTERACE', 'F324'],\r\n ['SAN LUCA', 'H970'],\r\n ['PAZZANO', 'G394'],\r\n ['TERRANOVA SAPPO MINULIO', 'L127'],\r\n ['PALIZZI', 'G277'],\r\n ['MOLOCHIO', 'F301'],\r\n ['SAN LORENZO', 'H959'],\r\n ['SAMO', 'H013'],\r\n ['CITTANOVA', 'C747'],\r\n ['CIMINA\\'', 'C695'],\r\n ['MARINA DI GIOIOSA IONICA', 'E956'],\r\n ['MONTEBELLO IONICO', 'D746'],\r\n ['SANT\\'AGATA DEL BIANCO', 'I198'],\r\n ['SEMINARA', 'I600'],\r\n ['GERACE', 'D975'],\r\n ['LOCRI', 'D976'],\r\n ['ROCCAFORTE DEL GRECO', 'H408'],\r\n ['MAROPATI', 'E968'],\r\n ['GIOIOSA IONICA', 'E044'],\r\n ['GIOIA TAURO', 'E041'],\r\n ['CANDIDONI', 'B591'],\r\n ['SAN ROBERTO', 'I139'],\r\n ['ROCCELLA IONICA', 'H456'],\r\n ['CAMINI', 'B481'],\r\n ['BENESTARE', 'A780'],\r\n ['AFRICO', 'A065'],\r\n ['CARDETO', 'B756'],\r\n ['ROGHUDI', 'H489'],\r\n ['SINOPOLI', 'I753'],\r\n ['SANT\\'ILARIO DELLO IONIO', 'I341'],\r\n ['BAGALADI', 'A544'],\r\n ['LAUREANA DI BORRELLO', 'E479'],\r\n ['MOTTA SAN GIOVANNI', 'F779'],\r\n ['CAMPO CALABRO', 'B516'],\r\n ['COSOLETO', 'D089'],\r\n ['SAN GIORGIO MORGETO', 'H889'],\r\n ['SANTA CRISTINA D\\'ASPROMONTE', 'I176'],\r\n ['VILLA SAN GIOVANNI', 'M018'],\r\n ['CARERI', 'B766'],\r\n ['PORTIGLIOLA', 'G905'],\r\n ['BIVONGI', 'A897'],\r\n ['CAULONIA', 'C285'],\r\n ['ANOIA', 'A303'],\r\n ['BRUZZANO ZEFFIRIO', 'B234'],\r\n ['CASIGNANA', 'B966'],\r\n ['PLATI\\'', 'G735'],\r\n ['CONDOFURI', 'C954'],\r\n ['RIZZICONI', 'H359'],\r\n ['SAN GIOVANNI DI GERACE', 'H903'],\r\n ['MELICUCCO', 'F106'],\r\n ['MELICUCCA\\'', 'F105'],\r\n ['CINQUEFRONDI', 'C710'],\r\n ['BAGNARA CALABRA', 'A552'],\r\n ['SERRATA', 'I656'],\r\n ['OPPIDO MAMERTINA', 'G082'],\r\n ['ARDORE', 'A385'],\r\n ['GALATRO', 'D864'],\r\n ['BOVA', 'B097'],\r\n ['BOVA MARINA', 'B099'],\r\n ['BOVALINO', 'B098'],\r\n ['POLISTENA', 'G791'],\r\n ['FERRUZZANO', 'D557']\r\n ],\r\n RE: [\r\n ['SAN POLO D\\'ENZA', 'I123'],\r\n ['VIANO', 'L831'],\r\n ['QUATTRO CASTELLA', 'H122'],\r\n ['RAMISETO', 'G654'],\r\n ['CASTELNOVO DI SOTTO', 'C218'],\r\n ['CASTELNOVO NE\\' MONTI', 'C219'],\r\n ['ALBINEA', 'A162'],\r\n ['CORREGGIO', 'D037'],\r\n ['BAGNOLO IN PIANO', 'A573'],\r\n ['CAMPEGINE', 'B502'],\r\n ['GATTATICO', 'D934'],\r\n ['VILLA MINOZZO', 'L969'],\r\n ['LIGONCHIO', 'E585'],\r\n ['BUSANA', 'B283'],\r\n ['REGGIO NELL\\'EMILIA', 'H223'],\r\n ['REGGIOLO', 'H225'],\r\n ['BAISO', 'A586'],\r\n ['BORETTO', 'A988'],\r\n ['TOANO', 'L184'],\r\n ['SCANDIANO', 'I496'],\r\n ['RUBIERA', 'H628'],\r\n ['SAN MARTINO IN RIO', 'I011'],\r\n ['CANOSSA', 'C669'],\r\n ['COLLAGNA', 'C840'],\r\n ['CARPINETI', 'B825'],\r\n ['CASTELLARANO', 'C141'],\r\n ['LUZZARA', 'E772'],\r\n ['CADELBOSCO DI SOPRA', 'B328'],\r\n ['CAMPAGNOLA EMILIA', 'B499'],\r\n ['SANT\\'ILARIO D\\'ENZA', 'I342'],\r\n ['CAVRIAGO', 'C405'],\r\n ['POVIGLIO', 'G947'],\r\n ['RIO SALICETO', 'H298'],\r\n ['ROLO', 'H500'],\r\n ['BIBBIANO', 'A850'],\r\n ['CASINA', 'B967'],\r\n ['VETTO', 'L815'],\r\n ['FABBRICO', 'D450'],\r\n ['NOVELLARA', 'F960'],\r\n ['VEZZANO SUL CROSTOLO', 'L820'],\r\n ['GUASTALLA', 'E253'],\r\n ['BRESCELLO', 'B156'],\r\n ['CASALGRANDE', 'B893'],\r\n ['GUALTIERI', 'E232'],\r\n ['MONTECCHIO EMILIA', 'F463']\r\n ],\r\n RG: [\r\n ['CHIARAMONTE GULFI', 'C612'],\r\n ['RAGUSA', 'H163'],\r\n ['SCICLI', 'I535'],\r\n ['POZZALLO', 'G953'],\r\n ['COMISO', 'C927'],\r\n ['ISPICA', 'E366'],\r\n ['VITTORIA', 'M088'],\r\n ['GIARRATANA', 'E016'],\r\n ['MONTEROSSO ALMO', 'F610'],\r\n ['SANTA CROCE CAMERINA', 'I178'],\r\n ['ACATE', 'A014'],\r\n ['MODICA', 'F258']\r\n ],\r\n RI: [\r\n ['MONTEBUONO', 'F446'],\r\n ['LONGONE SABINO', 'E681'],\r\n ['CANTALUPO IN SABINA', 'B631'],\r\n ['CASTEL DI TORA', 'C098'],\r\n ['TARANO', 'L046'],\r\n ['VARCO SABINO', 'L676'],\r\n ['TURANIA', 'G507'],\r\n ['MICIGLIANO', 'F193'],\r\n ['RIETI', 'H282'],\r\n ['BORBONA', 'A981'],\r\n ['MAGLIANO SABINA', 'E812'],\r\n ['POZZAGLIA SABINA', 'G951'],\r\n ['POGGIO MOIANO', 'G764'],\r\n ['POGGIO NATIVO', 'G765'],\r\n ['POGGIO MIRTETO', 'G763'],\r\n ['STIMIGLIANO', 'I959'],\r\n ['MORRO REATINO', 'F746'],\r\n ['TOFFIA', 'L189'],\r\n ['SCANDRIGLIA', 'I499'],\r\n ['CASPERIA', 'A472'],\r\n ['ANTRODOCO', 'A315'],\r\n ['CONCERVIANO', 'C946'],\r\n ['NESPOLO', 'F876'],\r\n ['BORGOROSE', 'B008'],\r\n ['POSTA', 'G934'],\r\n ['CONTIGLIANO', 'C969'],\r\n ['CASAPROTA', 'B934'],\r\n ['PETRELLA SALTO', 'G513'],\r\n ['CITTAREALE', 'C749'],\r\n ['CITTADUCALE', 'C746'],\r\n ['ROCCA SINIBALDA', 'H446'],\r\n ['PAGANICO SABINO', 'G232'],\r\n ['MONTASOLA', 'F430'],\r\n ['MARCETELLI', 'E927'],\r\n ['FIAMIGNANO', 'D560'],\r\n ['VACONE', 'L525'],\r\n ['FRASSO SABINO', 'D785'],\r\n ['COLLALTO SABINO', 'C841'],\r\n ['ROCCANTICA', 'H427'],\r\n ['ORVINIO', 'B595'],\r\n ['CANTALICE', 'B627'],\r\n ['SELCI', 'I581'],\r\n ['FORANO', 'D689'],\r\n ['FARA IN SABINA', 'D493'],\r\n ['AMATRICE', 'A258'],\r\n ['MONTE SAN GIOVANNI IN SABINA', 'F619'],\r\n ['COLLI SUL VELINO', 'C880'],\r\n ['MONTENERO SABINO', 'F579'],\r\n ['TORRI IN SABINA', 'L286'],\r\n ['MONTELEONE SABINO', 'F541'],\r\n ['BELMONTE IN SABINA', 'A765'],\r\n ['CASTELNUOVO DI FARFA', 'C224'],\r\n ['PESCOROCCHIANO', 'G498'],\r\n ['POGGIO SAN LORENZO', 'G770'],\r\n ['LABRO', 'E393'],\r\n ['POGGIO CATINO', 'G757'],\r\n ['POGGIO BUSTONE', 'G756'],\r\n ['COTTANELLO', 'D124'],\r\n ['CASTEL SANT\\'ANGELO', 'C268'],\r\n ['ASCREA', 'A464'],\r\n ['RIVODUTRI', 'H354'],\r\n ['GRECCIO', 'E160'],\r\n ['CONFIGNI', 'C959'],\r\n ['MOMPEO', 'F319'],\r\n ['BORGO VELINO', 'A996'],\r\n ['LEONESSA', 'E535'],\r\n ['SALISANO', 'H713'],\r\n ['MONTOPOLI DI SABINA', 'F687'],\r\n ['ACCUMOLI', 'A019'],\r\n ['TORRICELLA IN SABINA', 'L293'],\r\n ['COLLEVECCHIO', 'C876'],\r\n ['COLLE DI TORA', 'C857'],\r\n ['COLLEGIOVE', 'C859']\r\n ],\r\n RM: [\r\n ['SAN POLO DEI CAVALIERI', 'I125'],\r\n ['CASTEL GANDOLFO', 'C116'],\r\n ['BRACCIANO', 'B114'],\r\n ['CIVITELLA SAN PAOLO', 'C784'],\r\n ['GAVIGNANO', 'D945'],\r\n ['ROCCA PRIORA', 'H432'],\r\n ['CANTERANO', 'B635'],\r\n ['MANDELA', 'B632'],\r\n ['MARINO', 'E958'],\r\n ['ZAGAROLO', 'M141'],\r\n ['LARIANO', 'M207'],\r\n ['SAMBUCI', 'H745'],\r\n ['GORGA', 'E091'],\r\n ['ROIATE', 'H494'],\r\n ['CASTELNUOVO DI PORTO', 'C237'],\r\n ['PERCILE', 'G444'],\r\n ['VALMONTONE', 'L639'],\r\n ['SANT\\'ORESTE', 'I352'],\r\n ['TORRITA TIBERINA', 'L302'],\r\n ['RIGNANO FLAMINIO', 'H288'],\r\n ['MONTEFLAVIO', 'F504'],\r\n ['MAGLIANO ROMANO', 'E813'],\r\n ['VALLEPIETRA', 'L611'],\r\n ['COLONNA', 'C900'],\r\n ['RIANO', 'H267'],\r\n ['SEGNI', 'I573'],\r\n ['TREVIGNANO ROMANO', 'L401'],\r\n ['TIVOLI', 'L182'],\r\n ['CERVETERI', 'C552'],\r\n ['AGOSTA', 'A084'],\r\n ['ROCCA CANTERANO', 'H387'],\r\n ['PISONIANO', 'G704'],\r\n ['NAZZANO', 'F857'],\r\n ['CASAPE', 'B932'],\r\n ['GALLICANO NEL LAZIO', 'D875'],\r\n ['CASTEL SAN PIETRO ROMANO', 'C266'],\r\n ['FORMELLO', 'D707'],\r\n ['LANUVIO', 'C767'],\r\n ['PALESTRINA', 'G274'],\r\n ['CAMERATA NUOVA', 'B472'],\r\n ['PONZANO ROMANO', 'G874'],\r\n ['SANTA MARINELLA', 'I255'],\r\n ['MORICONE', 'F730'],\r\n ['MORLUPO', 'F734'],\r\n ['CERRETO LAZIALE', 'C518'],\r\n ['VICOVARO', 'L851'],\r\n ['ARCINAZZO ROMANO', 'A370'],\r\n ['VELLETRI', 'L719'],\r\n ['ROCCA SANTO STEFANO', 'H441'],\r\n ['SUBIACO', 'I992'],\r\n ['GUIDONIA MONTECELIO', 'E263'],\r\n ['MONTORIO ROMANO', 'F692'],\r\n ['FIUMICINO', 'M297'],\r\n ['JENNE', 'E382'],\r\n ['MARCELLINA', 'E924'],\r\n ['ROVIANO', 'H618'],\r\n ['POLI', 'G784'],\r\n ['GENZANO DI ROMA', 'D972'],\r\n ['POMEZIA', 'G811'],\r\n ['RIOFREDDO', 'H300'],\r\n ['CIAMPINO', 'M272'],\r\n ['ALLUMIERE', 'A210'],\r\n ['ROCCA DI CAVE', 'H401'],\r\n ['ROCCA DI PAPA', 'H404'],\r\n ['MANZIANA', 'E900'],\r\n ['MARANO EQUO', 'E908'],\r\n ['MAZZANO ROMANO', 'F064'],\r\n ['FIANO ROMANO', 'D561'],\r\n ['MONTECOMPATRI', 'F477'],\r\n ['SACROFANO', 'H658'],\r\n ['PALOMBARA SABINA', 'G293'],\r\n ['GROTTAFERRATA', 'E204'],\r\n ['CARPINETO ROMANO', 'B828'],\r\n ['CAPENA', 'B649'],\r\n ['AFFILE', 'A062'],\r\n ['MONTEROTONDO', 'F611'],\r\n ['LADISPOLI', 'M212'],\r\n ['ARDEA', 'M213'],\r\n ['NEMI', 'F865'],\r\n ['BELLEGRA', 'A749'],\r\n ['ANGUILLARA SABAZIA', 'A297'],\r\n ['CASTEL MADAMA', 'C203'],\r\n ['SAN CESAREO', 'M295'],\r\n ['CAPRANICA PRENESTINA', 'B687'],\r\n ['MONTELIBRETTI', 'F545'],\r\n ['CAMPAGNANO DI ROMA', 'B496'],\r\n ['VALLINFREDA', 'L625'],\r\n ['SANT\\'ANGELO ROMANO', 'I284'],\r\n ['NEROLA', 'F871'],\r\n ['MONTELANICO', 'F534'],\r\n ['ALBANO LAZIALE', 'A132'],\r\n ['ROMA', 'H501'],\r\n ['TOLFA', 'L192'],\r\n ['NETTUNO', 'F880'],\r\n ['ARSOLI', 'A446'],\r\n ['ARTENA', 'A449'],\r\n ['CINETO ROMANO', 'C702'],\r\n ['ANTICOLI CORRADO', 'A309'],\r\n ['CANALE MONTERANO', 'B576'],\r\n ['GERANO', 'D978'],\r\n ['CERVARA DI ROMA', 'C543'],\r\n ['ANZIO', 'A323'],\r\n ['MONTE PORZIO CATONE', 'F590'],\r\n ['ARICCIA', 'A401'],\r\n ['LICENZA', 'E576'],\r\n ['FILACCIANO', 'D586'],\r\n ['MENTANA', 'F127'],\r\n ['CIVITAVECCHIA', 'C773'],\r\n ['FONTE NUOVA', 'M309'],\r\n ['VIVARO ROMANO', 'M095'],\r\n ['SAN GREGORIO DA SASSOLA', 'H942'],\r\n ['SAN VITO ROMANO', 'I400'],\r\n ['SARACINESCO', 'I424'],\r\n ['FRASCATI', 'D773'],\r\n ['LABICO', 'E392'],\r\n ['OLEVANO ROMANO', 'G022'],\r\n ['CAVE', 'C390'],\r\n ['GENAZZANO', 'D964'],\r\n ['CICILIANO', 'C677'],\r\n ['COLLEFERRO', 'C858'],\r\n ['ROCCAGIOVINE', 'H411']\r\n ],\r\n RN: [\r\n ['RIMINI', 'H294'],\r\n ['MONTEFIORE CONCA', 'F502'],\r\n ['MISANO ADRIATICO', 'F244'],\r\n ['SALUDECIO', 'H724'],\r\n ['MONTEGRIDOLFO', 'F523'],\r\n ['TORRIANA', 'I550'],\r\n ['RICCIONE', 'H274'],\r\n ['CATTOLICA', 'C357'],\r\n ['MONTE COLOMBO', 'F476'],\r\n ['VERUCCHIO', 'L797'],\r\n ['CORIANO', 'D004'],\r\n ['SAN CLEMENTE', 'H801'],\r\n ['MONDAINO', 'F346'],\r\n ['SANTARCANGELO DI ROMAGNA', 'I304'],\r\n ['BELLARIA-IGEA MARINA', 'A747'],\r\n ['POGGIO BERNI', 'G755'],\r\n ['SAN GIOVANNI IN MARIGNANO', 'H921'],\r\n ['MORCIANO DI ROMAGNA', 'F715'],\r\n ['MONTESCUDO', 'F641'],\r\n ['GEMMANO', 'D961']\r\n ],\r\n RO: [\r\n ['ADRIA', 'A059'],\r\n ['GAVELLO', 'D942'],\r\n ['LOREO', 'E689'],\r\n ['CANDA', 'B582'],\r\n ['LUSIA', 'E761'],\r\n ['BERGANTINO', 'A795'],\r\n ['BADIA POLESINE', 'A539'],\r\n ['ROSOLINA', 'H573'],\r\n ['CEREGNANO', 'C500'],\r\n ['CASTELNOVO BARIANO', 'C215'],\r\n ['BAGNOLO DI PO', 'A574'],\r\n ['PINCARA', 'G673'],\r\n ['TAGLIO DI PO', 'L026'],\r\n ['STIENTA', 'I953'],\r\n ['VILLAMARZANA', 'L967'],\r\n ['MELARA', 'F095'],\r\n ['ARQUA\\' POLESINE', 'A435'],\r\n ['BOSARO', 'B069'],\r\n ['CORBOLA', 'C987'],\r\n ['LENDINARA', 'E522'],\r\n ['OCCHIOBELLO', 'F994'],\r\n ['CALTO', 'B432'],\r\n ['PONTECCHIO POLESINE', 'G836'],\r\n ['SAN MARTINO DI VENEZZE', 'H996'],\r\n ['POLESELLA', 'G782'],\r\n ['FICAROLO', 'D568'],\r\n ['FRATTA POLESINE', 'D788'],\r\n ['CASTELGUGLIELMO', 'C122'],\r\n ['CASTELMASSA', 'C207'],\r\n ['PAPOZZE', 'G323'],\r\n ['GAIBA', 'D855'],\r\n ['CRESPINO', 'D161'],\r\n ['GUARDA VENETA', 'E240'],\r\n ['VILLADOSE', 'L939'],\r\n ['CANARO', 'B578'],\r\n ['PORTO VIRO', 'G926'],\r\n ['PORTO TOLLE', 'G923'],\r\n ['SAN BELLINO', 'H768'],\r\n ['SALARA', 'H689'],\r\n ['COSTA DI ROVIGO', 'D105'],\r\n ['ARIANO NEL POLESINE', 'A400'],\r\n ['PETTORAZZA GRIMANI', 'G525'],\r\n ['ROVIGO', 'H620'],\r\n ['FRASSINELLE POLESINE', 'D776'],\r\n ['VILLANOVA MARCHESANA', 'L988'],\r\n ['VILLANOVA DEL GHEBBO', 'L985'],\r\n ['TRECENTA', 'L359'],\r\n ['FIESSO UMBERTIANO', 'D577'],\r\n ['CENESELLI', 'C461'],\r\n ['GIACCIANO CON BARUCHELLA', 'E008']\r\n ],\r\n SA: [\r\n ['RUTINO', 'H644'],\r\n ['BRACIGLIANO', 'B115'],\r\n ['GIFFONI VALLE PIANA', 'E027'],\r\n ['GIFFONI SEI CASALI', 'E026'],\r\n ['ROCCAPIEMONTE', 'H431'],\r\n ['SAN RUFO', 'I143'],\r\n ['PELLEZZANO', 'G426'],\r\n ['LUSTRA', 'E767'],\r\n ['CAGGIANO', 'B351'],\r\n ['CELLE DI BULGHERIA', 'C444'],\r\n ['VIETRI SUL MARE', 'L860'],\r\n ['MONTESANO SULLA MARCELLANA', 'F625'],\r\n ['MONTECORVINO PUGLIANO', 'F480'],\r\n ['MONTECORVINO ROVELLA', 'F481'],\r\n ['CORLETO MONFORTE', 'D011'],\r\n ['SANT\\'EGIDIO DEL MONTE ALBINO', 'I317'],\r\n ['SAN PIETRO AL TANAGRO', 'I089'],\r\n ['STELLA CILENTO', 'G887'],\r\n ['VALVA', 'L656'],\r\n ['BELLOSGUARDO', 'A756'],\r\n ['CASTELNUOVO CILENTO', 'C231'],\r\n ['CASTELNUOVO DI CONZA', 'C235'],\r\n ['OTTATI', 'G192'],\r\n ['PERDIFUMO', 'G447'],\r\n ['MINORI', 'F223'],\r\n ['SALERNO', 'H703'],\r\n ['CASTEL SAN GIORGIO', 'C259'],\r\n ['MONTEFORTE CILENTO', 'F507'],\r\n ['ALBANELLA', 'A128'],\r\n ['MAGLIANO VETERE', 'E814'],\r\n ['FISCIANO', 'D615'],\r\n ['BATTIPAGLIA', 'A717'],\r\n ['SAN VALENTINO TORIO', 'I377'],\r\n ['ROCCADASPIDE', 'H394'],\r\n ['LAURITO', 'E486'],\r\n ['LAURINO', 'E485'],\r\n ['LAUREANA CILENTO', 'E480'],\r\n ['CERASO', 'C485'],\r\n ['CASELLE IN PITTARI', 'B959'],\r\n ['MAIORI', 'E839'],\r\n ['PRAIANO', 'G976'],\r\n ['SIANO', 'I720'],\r\n ['AMALFI', 'A251'],\r\n ['ISPANI', 'E365'],\r\n ['NOCERA INFERIORE', 'F912'],\r\n ['NOCERA SUPERIORE', 'F913'],\r\n ['CONCA DEI MARINI', 'C940'],\r\n ['BARONISSI', 'A674'],\r\n ['POSTIGLIONE', 'G939'],\r\n ['SASSANO', 'I451'],\r\n ['PISCIOTTA', 'G707'],\r\n ['SAN MANGO PIEMONTE', 'H977'],\r\n ['SANT\\'ANGELO A FASANELLA', 'I278'],\r\n ['BUCCINO', 'B242'],\r\n ['MERCATO SAN SEVERINO', 'F138'],\r\n ['CORBARA', 'C984'],\r\n ['CAMEROTA', 'B476'],\r\n ['SERRAMEZZANA', 'I648'],\r\n ['SANTA MARINA', 'I253'],\r\n ['ALFANO', 'A186'],\r\n ['BUONABITACOLO', 'B266'],\r\n ['SANZA', 'I410'],\r\n ['RICIGLIANO', 'H277'],\r\n ['PIAGGINE', 'G538'],\r\n ['FELITTO', 'D527'],\r\n ['PAGANI', 'G230'],\r\n ['CUCCARO VETERE', 'D195'],\r\n ['CALVANICO', 'B437'],\r\n ['PONTECAGNANO FAIANO', 'G834'],\r\n ['RAVELLO', 'H198'],\r\n ['ALTAVILLA SILENTINA', 'A230'],\r\n ['CASALETTO SPARTANO', 'B888'],\r\n ['SAN CIPRIANO PICENTINO', 'H800'],\r\n ['SARNO', 'I438'],\r\n ['OLIVETO CITRA', 'G039'],\r\n ['SAN MARZANO SUL SARNO', 'I019'],\r\n ['CENTOLA', 'C470'],\r\n ['TEGGIANO', 'D292'],\r\n ['FUTANI', 'D832'],\r\n ['CANNALONGA', 'B608'],\r\n ['SAN MAURO LA BRUCA', 'I032'],\r\n ['SAN MAURO CILENTO', 'I031'],\r\n ['OGLIASTRO CILENTO', 'G011'],\r\n ['ACERNO', 'A023'],\r\n ['MONTECORICE', 'F479'],\r\n ['GIOI', 'E037'],\r\n ['SICIGNANO DEGLI ALBURNI', 'M253'],\r\n ['SCAFATI', 'I483'],\r\n ['SCALA', 'I486'],\r\n ['SACCO', 'H654'],\r\n ['PALOMONTE', 'G292'],\r\n ['CASTELLABATE', 'C125'],\r\n ['TORTORELLA', 'L306'],\r\n ['CAPACCIO', 'B644'],\r\n ['TRAMONTI', 'L323'],\r\n ['MONTE SAN GIACOMO', 'F618'],\r\n ['SANT\\'ARSENIO', 'I307'],\r\n ['PERTOSA', 'G476'],\r\n ['ROSCIGNO', 'H564'],\r\n ['CAMPAGNA', 'B492'],\r\n ['AULETTA', 'A495'],\r\n ['ANGRI', 'A294'],\r\n ['ROFRANO', 'H485'],\r\n ['BELLIZZI', 'M294'],\r\n ['CASALBUONO', 'B868'],\r\n ['EBOLI', 'D390'],\r\n ['VALLO DELLA LUCANIA', 'L628'],\r\n ['STIO', 'I960'],\r\n ['VIBONATI', 'L835'],\r\n ['SALVITELLE', 'H732'],\r\n ['LAVIANO', 'E498'],\r\n ['ROMAGNANO AL MONTE', 'H503'],\r\n ['CASTIGLIONE DEL GENOVESI', 'C306'],\r\n ['CASTEL SAN LORENZO', 'C262'],\r\n ['MORIGERATI', 'F731'],\r\n ['CAMPORA', 'B555'],\r\n ['MOIO DELLA CIVITELLA', 'F278'],\r\n ['CASTELCIVITA', 'C069'],\r\n ['AGROPOLI', 'A091'],\r\n ['ASCEA', 'A460'],\r\n ['SALA CONSILINA', 'H683'],\r\n ['TORRACA', 'L233'],\r\n ['SALENTO', 'H686'],\r\n ['SAN GIOVANNI A PIRO', 'H907'],\r\n ['SESSA CILENTO', 'I677'],\r\n ['ORRIA', 'G121'],\r\n ['TORCHIARA', 'L212'],\r\n ['PERITO', 'G455'],\r\n ['POSITANO', 'G932'],\r\n ['AQUARA', 'A343'],\r\n ['CONTRONE', 'C973'],\r\n ['CONTURSI TERME', 'C974'],\r\n ['SANTOMENNA', 'I260'],\r\n ['CAVA DE\\' TIRRENI', 'C361'],\r\n ['PETINA', 'G509'],\r\n ['TORRE ORSAIA', 'L274'],\r\n ['SAN GREGORIO MAGNO', 'H943'],\r\n ['FURORE', 'D826'],\r\n ['OMIGNANO', 'G063'],\r\n ['NOVI VELIA', 'F967'],\r\n ['MONTANO ANTILIA', 'F426'],\r\n ['VALLE DELL\\'ANGELO', 'G540'],\r\n ['SAPRI', 'I422'],\r\n ['CETARA', 'C584'],\r\n ['PADULA', 'G226'],\r\n ['SERRE', 'I666'],\r\n ['ATRANI', 'A487'],\r\n ['ATENA LUCANA', 'A484'],\r\n ['GIUNGANO', 'E060'],\r\n ['COLLIANO', 'C879'],\r\n ['PRIGNANO CILENTO', 'H062'],\r\n ['CASAL VELINO', 'B895'],\r\n ['OLEVANO SUL TUSCIANO', 'G023'],\r\n ['POLLA', 'G793'],\r\n ['POLLICA', 'G796'],\r\n ['TRENTINARA', 'L377'],\r\n ['CICERALE', 'C676'],\r\n ['ROCCAGLORIOSA', 'H412']\r\n ],\r\n SI: [\r\n ['MONTERONI D\\'ARBIA', 'F605'],\r\n ['CASTELLINA IN CHIANTI', 'C172'],\r\n ['SAN QUIRICO D\\'ORCIA', 'I135'],\r\n ['SAN GIMIGNANO', 'H875'],\r\n ['SIENA', 'I726'],\r\n ['SAN GIOVANNI D\\'ASSO', 'H911'],\r\n ['BUONCONVENTO', 'B269'],\r\n ['TORRITA DI SIENA', 'L303'],\r\n ['MURLO', 'F815'],\r\n ['ABBADIA SAN SALVATORE', 'A006'],\r\n ['CASTIGLIONE D\\'ORCIA', 'C313'],\r\n ['SOVICILLE', 'I877'],\r\n ['CHIUSDINO', 'C661'],\r\n ['CHIUSI', 'C662'],\r\n ['SAN CASCIANO DEI BAGNI', 'H790'],\r\n ['COLLE DI VAL D\\'ELSA', 'C847'],\r\n ['MONTICIANO', 'F676'],\r\n ['CHIANCIANO TERME', 'C608'],\r\n ['PIENZA', 'G602'],\r\n ['RADICOFANI', 'H156'],\r\n ['RADICONDOLI', 'H157'],\r\n ['RADDA IN CHIANTI', 'H153'],\r\n ['CASTELNUOVO BERARDENGA', 'C227'],\r\n ['TREQUANDA', 'L384'],\r\n ['CETONA', 'C587'],\r\n ['CASOLE D\\'ELSA', 'B984'],\r\n ['POGGIBONSI', 'G752'],\r\n ['SINALUNGA', 'A468'],\r\n ['ASCIANO', 'A461'],\r\n ['MONTEPULCIANO', 'F592'],\r\n ['MONTERIGGIONI', 'F598'],\r\n ['GAIOLE IN CHIANTI', 'D858'],\r\n ['SARTEANO', 'I445'],\r\n ['PIANCASTAGNAIO', 'G547'],\r\n ['MONTALCINO', 'F402'],\r\n ['RAPOLANO TERME', 'H185']\r\n ],\r\n SO: [\r\n ['VALDIDENTRO', 'L557'],\r\n ['TOVO DI SANT\\'AGATA', 'L316'],\r\n ['SONDRIO', 'I829'],\r\n ['SONDALO', 'I828'],\r\n ['TRAONA', 'L330'],\r\n ['FORCOLA', 'D694'],\r\n ['DELEBIO', 'D266'],\r\n ['ROGOLO', 'H493'],\r\n ['LIVIGNO', 'E621'],\r\n ['LANZADA', 'E443'],\r\n ['TRESIVIO', 'L392'],\r\n ['CASPOGGIO', 'B993'],\r\n ['VAL MASINO', 'L638'],\r\n ['BEMA', 'A777'],\r\n ['CIVO', 'C785'],\r\n ['GROSIO', 'E200'],\r\n ['COLORINA', 'C903'],\r\n ['BIANZONE', 'A848'],\r\n ['VERVIO', 'L799'],\r\n ['DUBINO', 'D377'],\r\n ['MELLO', 'F115'],\r\n ['POSTALESIO', 'G937'],\r\n ['CINO', 'C709'],\r\n ['APRICA', 'A337'],\r\n ['GORDONA', 'E090'],\r\n ['MANTELLO', 'E896'],\r\n ['VILLA DI CHIAVENNA', 'L907'],\r\n ['VILLA DI TIRANO', 'L908'],\r\n ['CASTELLO DELL\\'ACQUA', 'C186'],\r\n ['NOVATE MEZZOLA', 'F956'],\r\n ['TORRE DI SANTA MARIA', 'L244'],\r\n ['MADESIMO', 'E342'],\r\n ['MESE', 'F153'],\r\n ['BORMIO', 'B049'],\r\n ['PRATA CAMPORTACCIO', 'G993'],\r\n ['FUSINE', 'D830'],\r\n ['GEROLA ALTA', 'D990'],\r\n ['PIANTEDO', 'G572'],\r\n ['PIATEDA', 'G576'],\r\n ['VALDISOTTO', 'L563'],\r\n ['ANDALO VALTELLINO', 'A273'],\r\n ['POGGIRIDENTI', 'G431'],\r\n ['GROSOTTO', 'E201'],\r\n ['CAIOLO', 'B366'],\r\n ['BERBENNO DI VALTELLINA', 'A787'],\r\n ['CEDRASCO', 'C418'],\r\n ['PEDESINA', 'G410'],\r\n ['CHIESA IN VALMALENCO', 'C628'],\r\n ['CHIAVENNA', 'C623'],\r\n ['SAMOLACO', 'H752'],\r\n ['TARTANO', 'L056'],\r\n ['RASURA', 'H192'],\r\n ['DAZIO', 'D258'],\r\n ['ALBOSAGGIA', 'A172'],\r\n ['SAN GIACOMO FILIPPO', 'H868'],\r\n ['TALAMONA', 'L035'],\r\n ['CAMPODOLCINO', 'B530'],\r\n ['CERCINO', 'C493'],\r\n ['ALBAREDO PER SAN MARCO', 'A135'],\r\n ['COSIO VALTELLINO', 'D088'],\r\n ['CHIURO', 'C651'],\r\n ['SPRIANA', 'I928'],\r\n ['TIRANO', 'L175'],\r\n ['MORBEGNO', 'F712'],\r\n ['FAEDO VALTELLINO', 'D456'],\r\n ['PIURO', 'G718'],\r\n ['BUGLIO IN MONTE', 'B255'],\r\n ['MENAROLA', 'F121'],\r\n ['SERNIO', 'I636'],\r\n ['ARDENNO', 'A382'],\r\n ['CASTIONE ANDEVENNO', 'C325'],\r\n ['LOVERO', 'E705'],\r\n ['PONTE IN VALTELLINA', 'G829'],\r\n ['VALFURVA', 'L576'],\r\n ['VERCEIA', 'L749'],\r\n ['MONTAGNA IN VALTELLINA', 'F393'],\r\n ['MAZZO DI VALTELLINA', 'F070'],\r\n ['TEGLIO', 'L084']\r\n ],\r\n SP: [\r\n ['AMEGLIA', 'A261'],\r\n ['MONTEROSSO AL MARE', 'F609'],\r\n ['CARRODANO', 'B839'],\r\n ['CARRO', 'B838'],\r\n ['DEIVA MARINA', 'D265'],\r\n ['FOLLO', 'D655'],\r\n ['LA SPEZIA', 'E463'],\r\n ['LEVANTO', 'E560'],\r\n ['RIOMAGGIORE', 'H304'],\r\n ['ARCOLA', 'A373'],\r\n ['BONASSOLA', 'A961'],\r\n ['SESTA GODANO', 'E070'],\r\n ['ROCCHETTA DI VARA', 'H461'],\r\n ['CALICE AL CORNOVIGLIO', 'B410'],\r\n ['VERNAZZA', 'L774'],\r\n ['ZIGNAGO', 'M177'],\r\n ['RICCO\\' DEL GOLFO DI SPEZIA', 'H275'],\r\n ['MAISSANA', 'E842'],\r\n ['PIGNONE', 'G664'],\r\n ['SANTO STEFANO DI MAGRA', 'I363'],\r\n ['BEVERINO', 'A836'],\r\n ['CASTELNUOVO MAGRA', 'C240'],\r\n ['ORTONOVO', 'G143'],\r\n ['PORTOVENERE', 'G925'],\r\n ['VEZZANO LIGURE', 'L819'],\r\n ['SARZANA', 'I449'],\r\n ['BORGHETTO DI VARA', 'A992'],\r\n ['FRAMURA', 'D758'],\r\n ['VARESE LIGURE', 'L681'],\r\n ['BRUGNATO', 'B214'],\r\n ['BOLANO', 'A932'],\r\n ['LERICI', 'E542']\r\n ],\r\n SR: [\r\n ['ROSOLINI', 'H574'],\r\n ['BUSCEMI', 'B287'],\r\n ['SOLARINO', 'I785'],\r\n ['PACHINO', 'G211'],\r\n ['FERLA', 'D540'],\r\n ['FRANCOFONTE', 'D768'],\r\n ['PRIOLO GARGALLO', 'M279'],\r\n ['PORTOPALO DI CAPO PASSERO', 'M257'],\r\n ['AVOLA', 'A522'],\r\n ['SORTINO', 'I864'],\r\n ['AUGUSTA', 'A494'],\r\n ['CASSARO', 'C006'],\r\n ['BUCCHERI', 'B237'],\r\n ['MELILLI', 'F107'],\r\n ['CARLENTINI', 'B787'],\r\n ['NOTO', 'F943'],\r\n ['PALAZZOLO ACREIDE', 'G267'],\r\n ['LENTINI', 'E532'],\r\n ['SIRACUSA', 'I754'],\r\n ['CANICATTINI BAGNI', 'B603'],\r\n ['FLORIDIA', 'D636']\r\n ],\r\n SS: [\r\n ['LUOGOSANTO', 'E747'],\r\n ['CALANGIANUS', 'B378'],\r\n ['MONTI', 'F667'],\r\n ['CHIARAMONTI', 'C613'],\r\n ['BORTIGIADAS', 'B063'],\r\n ['SEMESTENE', 'I598'],\r\n ['LAERRU', 'E401'],\r\n ['SANTA TERESA GALLURA', 'I312'],\r\n ['LA MADDALENA', 'E425'],\r\n ['MONTELEONE ROCCA DORIA', 'F542'],\r\n ['ANELA', 'A287'],\r\n ['MARTIS', 'E992'],\r\n ['BESSUDE', 'A827'],\r\n ['CASTELSARDO', 'C272'],\r\n ['ARZACHENA', 'A453'],\r\n ['OSILO', 'G156'],\r\n ['OSCHIRI', 'G153'],\r\n ['PATTADA', 'G376'],\r\n ['TISSI', 'L180'],\r\n ['PUTIFIGARI', 'H095'],\r\n ['PLOAGHE', 'G740'],\r\n ['TRINITA\\' D\\'AGULTU E VIGNOLA', 'L428'],\r\n ['OSSI', 'G178'],\r\n ['ALGHERO', 'A192'],\r\n ['SASSARI', 'I452'],\r\n ['MUROS', 'F818'],\r\n ['PALAU', 'G258'],\r\n ['TULA', 'L464'],\r\n ['BUDDUSO\\'', 'B246'],\r\n ['BULTEI', 'B264'],\r\n ['BULZI', 'B265'],\r\n ['BORUTTA', 'B064'],\r\n ['ARDARA', 'A379'],\r\n ['NULE', 'F976'],\r\n ['NULVI', 'F977'],\r\n ['NUGHEDU SAN NICOLO\\'', 'F975'],\r\n ['CARGEGHE', 'B772'],\r\n ['ALA\\' DEI SARDI', 'A115'],\r\n ['ERULA', 'M292'],\r\n ['STINTINO', 'M290'],\r\n ['USINI', 'L509'],\r\n ['URI', 'L503'],\r\n ['MORES', 'F721'],\r\n ['GIAVE', 'E019'],\r\n ['GOLFO ARANCI', 'M274'],\r\n ['LOIRI PORTO SAN PAOLO', 'M275'],\r\n ['SANT\\'ANTONIO DI GALLURA', 'M276'],\r\n ['MARA', 'E902'],\r\n ['OLBIA', 'G015'],\r\n ['BONO', 'A977'],\r\n ['BONNANARO', 'A976'],\r\n ['VIDDALBA', 'M259'],\r\n ['TEMPIO PAUSANIA', 'L093'],\r\n ['LURAS', 'E752'],\r\n ['CHEREMULE', 'C600'],\r\n ['BERCHIDDA', 'A789'],\r\n ['BENETUTTI', 'A781'],\r\n ['AGGIUS', 'A069'],\r\n ['BADESI', 'M214'],\r\n ['SORSO', 'I863'],\r\n ['PERFUGAS', 'G450'],\r\n ['AGLIENTU', 'H848'],\r\n ['ILLORAI', 'E285'],\r\n ['VALLEDORIA', 'L604'],\r\n ['SEDINI', 'I565'],\r\n ['ROMANA', 'H507'],\r\n ['POZZOMAGGIORE', 'G962'],\r\n ['ESPORLATU', 'D441'],\r\n ['TERGU', 'M282'],\r\n ['SILIGO', 'I732'],\r\n ['TORRALBA', 'L235'],\r\n ['ITTIRI', 'E377'],\r\n ['ITTIREDDU', 'E376'],\r\n ['THIESI', 'L158'],\r\n ['BOTTIDDA', 'B094'],\r\n ['PORTO TORRES', 'G924'],\r\n ['COSSOINE', 'D100'],\r\n ['PADRU', 'M301'],\r\n ['BURGOS', 'B276'],\r\n ['OZIERI', 'G203'],\r\n ['SENNORI', 'I614'],\r\n ['BONORVA', 'A978'],\r\n ['BANARI', 'A606'],\r\n ['CODRONGIANOS', 'C818'],\r\n ['OLMEDO', 'G046'],\r\n ['PADRIA', 'G225'],\r\n ['VILLANOVA MONTELEONE', 'L989'],\r\n ['SANTA MARIA COGHINAS', 'M284'],\r\n ['FLORINAS', 'D637'],\r\n ['TELTI', 'L088']\r\n ],\r\n SV: [\r\n ['TOVO SAN GIACOMO', 'L315'],\r\n ['PALLARE', 'G281'],\r\n ['QUILIANO', 'H126'],\r\n ['CELLE LIGURE', 'C443'],\r\n ['BERGEGGI', 'A796'],\r\n ['FINALE LIGURE', 'D600'],\r\n ['DEGO', 'D264'],\r\n ['ALBISSOLA MARINA', 'A165'],\r\n ['ALBISOLA SUPERIORE', 'A166'],\r\n ['VEZZI PORTIO', 'L823'],\r\n ['ALBENGA', 'A145'],\r\n ['MIOGLIA', 'F226'],\r\n ['ALASSIO', 'A122'],\r\n ['MAGLIOLO', 'E816'],\r\n ['GARLENDA', 'D927'],\r\n ['CASTELVECCHIO DI ROCCA BARBENA', 'C276'],\r\n ['RIALTO', 'H266'],\r\n ['OSIGLIA', 'G155'],\r\n ['COSSERIA', 'D095'],\r\n ['PLODIO', 'G741'],\r\n ['BORGIO VEREZZI', 'B005'],\r\n ['CERIALE', 'C510'],\r\n ['BORMIDA', 'B048'],\r\n ['ONZO', 'G076'],\r\n ['MURIALDO', 'F813'],\r\n ['ORCO FEGLINO', 'D522'],\r\n ['VENDONE', 'L730'],\r\n ['BALESTRINO', 'A593'],\r\n ['CALIZZANO', 'B416'],\r\n ['VADO LIGURE', 'L528'],\r\n ['SAVONA', 'I480'],\r\n ['ANDORA', 'A278'],\r\n ['ERLI', 'D424'],\r\n ['MASSIMINO', 'F046'],\r\n ['CAIRO MONTENOTTE', 'B369'],\r\n ['CASTELBIANCO', 'C063'],\r\n ['PIETRA LIGURE', 'G605'],\r\n ['VARAZZE', 'L675'],\r\n ['LAIGUEGLIA', 'E414'],\r\n ['URBE', 'L499'],\r\n ['MILLESIMO', 'F213'],\r\n ['CISANO SUL NEVA', 'C729'],\r\n ['MALLARE', 'E860'],\r\n ['ZUCCARELLO', 'M197'],\r\n ['STELLA', 'I946'],\r\n ['STELLANELLO', 'I947'],\r\n ['ORTOVERO', 'G144'],\r\n ['TOIRANO', 'L190'],\r\n ['LOANO', 'E632'],\r\n ['VILLANOVA D\\'ALBENGA', 'L975'],\r\n ['SPOTORNO', 'I926'],\r\n ['ALTARE', 'A226'],\r\n ['TESTICO', 'L152'],\r\n ['CARCARE', 'B748'],\r\n ['NASINO', 'F847'],\r\n ['SASSELLO', 'I453'],\r\n ['NOLI', 'F926'],\r\n ['BARDINETO', 'A647'],\r\n ['ARNASCO', 'A422'],\r\n ['CASANOVA LERRONE', 'B927'],\r\n ['PONTINVREA', 'G866'],\r\n ['BORGHETTO SANTO SPIRITO', 'A999'],\r\n ['PIANA CRIXIA', 'G542'],\r\n ['ROCCAVIGNALE', 'H452'],\r\n ['CALICE LIGURE', 'B409'],\r\n ['GIUSTENICE', 'E064'],\r\n ['GIUSVALLA', 'E066'],\r\n ['CENGIO', 'C463'],\r\n ['BOISSANO', 'A931']\r\n ],\r\n TA: [\r\n ['CASTELLANETA', 'C136'],\r\n ['TARANTO', 'L049'],\r\n ['AVETRANA', 'A514'],\r\n ['MANDURIA', 'E882'],\r\n ['SAVA', 'I467'],\r\n ['MARUGGIO', 'E995'],\r\n ['MOTTOLA', 'F784'],\r\n ['MONTEMESOLA', 'F563'],\r\n ['LATERZA', 'E469'],\r\n ['CRISPIANO', 'D171'],\r\n ['PALAGIANELLO', 'G251'],\r\n ['PALAGIANO', 'G252'],\r\n ['MONTEPARANO', 'F587'],\r\n ['FAGGIANO', 'D463'],\r\n ['PULSANO', 'H090'],\r\n ['SAN MARZANO DI SAN GIUSEPPE', 'I018'],\r\n ['ROCCAFORZATA', 'H409'],\r\n ['GINOSA', 'E036'],\r\n ['GROTTAGLIE', 'E205'],\r\n ['MASSAFRA', 'F027'],\r\n ['CAROSINO', 'B808'],\r\n ['LIZZANO', 'E630'],\r\n ['STATTE', 'M298'],\r\n ['MONTEIASI', 'F531'],\r\n ['SAN GIORGIO IONICO', 'H882'],\r\n ['MARTINA FRANCA', 'E986'],\r\n ['LEPORANO', 'E537'],\r\n ['FRAGAGNANO', 'D754'],\r\n ['TORRICELLA', 'L294']\r\n ],\r\n TE: [\r\n ['CELLINO ATTANASIO', 'C449'],\r\n ['TOSSICIA', 'L314'],\r\n ['CIVITELLA DEL TRONTO', 'C781'],\r\n ['CORTINO', 'D076'],\r\n ['VALLE CASTELLANA', 'L597'],\r\n ['FANO ADRIANO', 'D489'],\r\n ['SILVI', 'I741'],\r\n ['MOSCIANO SANT\\'ANGELO', 'F764'],\r\n ['MONTEFINO', 'F500'],\r\n ['CROGNALETO', 'D179'],\r\n ['ALBA ADRIATICA', 'A125'],\r\n ['COLONNELLA', 'C901'],\r\n ['MORRO D\\'ORO', 'F747'],\r\n ['ISOLA DEL GRAN SASSO D\\'ITALIA', 'E343'],\r\n ['BASCIANO', 'A692'],\r\n ['TORANO NUOVO', 'L207'],\r\n ['BISENTI', 'A885'],\r\n ['ROSETO DEGLI ABRUZZI', 'F585'],\r\n ['PINETO', 'F831'],\r\n ['CERMIGNANO', 'C517'],\r\n ['TERAMO', 'L103'],\r\n ['GIULIANOVA', 'E058'],\r\n ['ROCCA SANTA MARIA', 'H440'],\r\n ['MONTORIO AL VOMANO', 'F690'],\r\n ['COLLEDARA', 'C311'],\r\n ['CORROPOLI', 'D043'],\r\n ['ANCARANO', 'A270'],\r\n ['CASTELLALTO', 'C128'],\r\n ['PENNA SANT\\'ANDREA', 'G437'],\r\n ['TORTORETO', 'L307'],\r\n ['PIETRACAMELA', 'G608'],\r\n ['CANZANO', 'B640'],\r\n ['SANT\\'EGIDIO ALLA VIBRATA', 'I318'],\r\n ['CASTELLI', 'C169'],\r\n ['BELLANTE', 'A746'],\r\n ['MARTINSICURO', 'E989'],\r\n ['SANT\\'OMERO', 'I348'],\r\n ['CAMPLI', 'B515'],\r\n ['NERETO', 'F870'],\r\n ['ARSITA', 'A445'],\r\n ['CASTEL CASTAGNA', 'C040'],\r\n ['CASTIGLIONE MESSER RAIMONDO', 'C316'],\r\n ['CONTROGUERRA', 'C972'],\r\n ['NOTARESCO', 'F942'],\r\n ['CASTILENTI', 'C322'],\r\n ['ATRI', 'A488'],\r\n ['TORRICELLA SICURA', 'L295']\r\n ],\r\n TN: [\r\n ['VALDA', 'L550'],\r\n ['SANT\\'ORSOLA TERME', 'I354'],\r\n ['VERMIGLIO', 'L769'],\r\n ['BERSONE', 'A808'],\r\n ['BOCENAGO', 'A916'],\r\n ['AMBLAR', 'A260'],\r\n ['CUNEVO', 'D206'],\r\n ['SAN MICHELE ALL\\'ADIGE', 'I042'],\r\n ['PELUGO', 'G429'],\r\n ['PELLIZZANO', 'G428'],\r\n ['TERZOLAS', 'L145'],\r\n ['BREGUZZO', 'B135'],\r\n ['GARNIGA TERME', 'D928'],\r\n ['CADERZONE', 'B335'],\r\n ['ZAMBANA', 'M142'],\r\n ['PIEVE TESINO', 'G656'],\r\n ['CASTELNUOVO', 'C216'],\r\n ['DAONE', 'D248'],\r\n ['DAMBEL', 'D246'],\r\n ['DAIANO', 'D243'],\r\n ['TASSULLO', 'L060'],\r\n ['VERVO\\'', 'L800'],\r\n ['RONZONE', 'H552'],\r\n ['MALE\\'', 'E850'],\r\n ['RAGOLI', 'H162'],\r\n ['FOLGARIA', 'D651'],\r\n ['LIVO', 'E624'],\r\n ['CAPRIANA', 'B697'],\r\n ['RONCHI VALSUGANA', 'H532'],\r\n ['RABBI', 'H146'],\r\n ['SIROR', 'I760'],\r\n ['LUSERNA', 'E757'],\r\n ['STREMBO', 'I975'],\r\n ['STRIGNO', 'I979'],\r\n ['CARZANO', 'B856'],\r\n ['LASINO', 'E461'],\r\n ['ROMENO', 'H517'],\r\n ['CAVALESE', 'C372'],\r\n ['CASTELLO TESINO', 'C194'],\r\n ['DORSINO', 'D349'],\r\n ['POZZA DI FASSA', 'G950'],\r\n ['BESENELLO', 'A821'],\r\n ['SEGONZANO', 'I576'],\r\n ['CAMPODENNO', 'B525'],\r\n ['DRENA', 'D365'],\r\n ['MOENA', 'F263'],\r\n ['BEZZECCA', 'A839'],\r\n ['BEDOLLO', 'A730'],\r\n ['RONCEGNO', 'H528'],\r\n ['MORI', 'F728'],\r\n ['SCURELLE', 'I554'],\r\n ['VILLA RENDENA', 'M006'],\r\n ['BASELGA DI PINE\\'', 'A694'],\r\n ['OSSANA', 'G173'],\r\n ['AVIO', 'A520'],\r\n ['VIGNOLA FALESINA', 'L886'],\r\n ['DIMARO', 'D302'],\r\n ['TIARNO DI SOTTO', 'L163'],\r\n ['TIARNO DI SOPRA', 'L162'],\r\n ['MOLINA DI LEDRO', 'F286'],\r\n ['DRO', 'D371'],\r\n ['BIENO', 'A863'],\r\n ['CONCEI', 'C944'],\r\n ['CIMEGO', 'C694'],\r\n ['LEVICO TERME', 'E565'],\r\n ['TON', 'L200'],\r\n ['TONADICO', 'L201'],\r\n ['TESERO', 'L147'],\r\n ['BORGO VALSUGANA', 'B006'],\r\n ['GRIGNO', 'E178'],\r\n ['NAVE SAN ROCCO', 'F853'],\r\n ['FAI DELLA PAGANELLA', 'D468'],\r\n ['SPIAZZO', 'I899'],\r\n ['TERRAGNOLO', 'L121'],\r\n ['VATTARO', 'L697'],\r\n ['VIGO RENDENA', 'L903'],\r\n ['GRAUNO', 'E150'],\r\n ['CASTEL CONDINO', 'C183'],\r\n ['CASTELLO-MOLINA DI FIEMME', 'C189'],\r\n ['NANNO', 'F837'],\r\n ['NAGO-TORBOLE', 'F835'],\r\n ['MOLVENO', 'F307'],\r\n ['TERLAGO', 'L107'],\r\n ['SANZENO', 'I411'],\r\n ['PREDAZZO', 'H018'],\r\n ['ARCO', 'A372'],\r\n ['PADERGNONE', 'G214'],\r\n ['BONDONE', 'A968'],\r\n ['BONDO', 'A967'],\r\n ['PINZOLO', 'G681'],\r\n ['MEZZANO', 'F176'],\r\n ['PREORE', 'H039'],\r\n ['LAVIS', 'E500'],\r\n ['RUMO', 'H639'],\r\n ['MONCLASSICO', 'F341'],\r\n ['ALA', 'A116'],\r\n ['PREZZO', 'H057'],\r\n ['SARNONICO', 'I439'],\r\n ['ROVERETO', 'H612'],\r\n ['CAVIZZANA', 'C400'],\r\n ['MAZZIN', 'F068'],\r\n ['FIAVE\\'', 'D565'],\r\n ['CEMBRA', 'C452'],\r\n ['CASTELFONDO', 'C103'],\r\n ['GRUMES', 'E222'],\r\n ['CALAVINO', 'B386'],\r\n ['CALCERANICA AL LAGO', 'B389'],\r\n ['BLEGGIO SUPERIORE', 'A902'],\r\n ['BLEGGIO INFERIORE', 'A901'],\r\n ['ANDALO', 'A274'],\r\n ['SORAGA', 'I839'],\r\n ['RUFFRE\\'', 'H634'],\r\n ['MASSIMENO', 'F045'],\r\n ['TELVE DI SOPRA', 'L090'],\r\n ['TENNO', 'L097'],\r\n ['TENNA', 'L096'],\r\n ['PALU\\' DEL FERSINA', 'G296'],\r\n ['CAGNO\\'', 'B360'],\r\n ['CALLIANO', 'B419'],\r\n ['LONA LASES', 'E664'],\r\n ['VOLANO', 'M113'],\r\n ['VARENA', 'L678'],\r\n ['PEJO', 'G419'],\r\n ['TRAMBILENO', 'L322'],\r\n ['TRANSACQUA', 'L329'],\r\n ['FONDO', 'D663'],\r\n ['ZIANO DI FIEMME', 'M173'],\r\n ['SAMONE', 'H754'],\r\n ['SOVER', 'I871'],\r\n ['DENNO', 'D273'],\r\n ['VALLARSA', 'L588'],\r\n ['PIEVE DI BONO', 'G641'],\r\n ['PIEVE DI LEDRO', 'G644'],\r\n ['VEZZANO', 'L821'],\r\n ['ROVERE\\' DELLA LUNA', 'H607'],\r\n ['DARE\\'', 'D250'],\r\n ['ALDENO', 'A178'],\r\n ['RONCONE', 'H545'],\r\n ['PERGINE VALSUGANA', 'G452'],\r\n ['CIS', 'C727'],\r\n ['STORO', 'I964'],\r\n ['CAMPITELLO DI FASSA', 'B514'],\r\n ['VIGOLO VATTARO', 'L896'],\r\n ['TRES', 'L385'],\r\n ['IMER', 'E288'],\r\n ['ALBIANO', 'A158'],\r\n ['PANCHIA\\'', 'G305'],\r\n ['MALOSCO', 'E866'],\r\n ['BRENTONICO', 'B153'],\r\n ['MEZZOLOMBARDO', 'F187'],\r\n ['MEZZOCORONA', 'F183'],\r\n ['BRIONE', 'B185'],\r\n ['ZUCLO', 'M198'],\r\n ['CARANO', 'B723'],\r\n ['SMARANO', 'I772'],\r\n ['CLES', 'C794'],\r\n ['CLOZ', 'C797'],\r\n ['STENICO', 'I949'],\r\n ['LAVARONE', 'E492'],\r\n ['TAIO', 'L033'],\r\n ['ROMALLO', 'H506'],\r\n ['SFRUZ', 'I714'],\r\n ['LOMASO', 'E658'],\r\n ['SPORMAGGIORE', 'I924'],\r\n ['SPORMINORE', 'I925'],\r\n ['LARDARO', 'E452'],\r\n ['OSPEDALETTO', 'G168'],\r\n ['CIMONE', 'C700'],\r\n ['TIONE DI TRENTO', 'L174'],\r\n ['VILLA LAGARINA', 'L957'],\r\n ['COMMEZZADURA', 'C931'],\r\n ['RIVA DEL GARDA', 'H330'],\r\n ['REVO\\'', 'H254'],\r\n ['CANAZEI', 'B579'],\r\n ['CANAL SAN BOVO', 'B577'],\r\n ['VIGO DI FASSA', 'L893'],\r\n ['IVANO FRACENA', 'E378'],\r\n ['DON', 'D336'],\r\n ['FIERA DI PRIMIERO', 'D572'],\r\n ['CONDINO', 'C953'],\r\n ['TUENNO', 'L457'],\r\n ['CAVARENO', 'C380'],\r\n ['TORCEGNO', 'L211'],\r\n ['TERRES', 'L137'],\r\n ['FAEDO', 'D457'],\r\n ['FORNACE', 'D714'],\r\n ['CINTE TESINO', 'C712'],\r\n ['VILLA AGNEDO', 'L910'],\r\n ['NOMI', 'F929'],\r\n ['NOGAREDO', 'F920'],\r\n ['SAN LORENZO IN BANALE', 'H966'],\r\n ['SPERA', 'I889'],\r\n ['ISERA', 'E334'],\r\n ['BOSENTINO', 'B078'],\r\n ['CARISOLO', 'B783'],\r\n ['RONZO-CHIENIS', 'M303'],\r\n ['NOVALEDO', 'F947'],\r\n ['COREDO', 'C994'],\r\n ['PRASO', 'G989'],\r\n ['MONTAGNE', 'F396'],\r\n ['CIVEZZANO', 'C756'],\r\n ['GIOVO', 'E048'],\r\n ['MEZZANA', 'F168'],\r\n ['LISIGNAGO', 'E614'],\r\n ['FAVER', 'D516'],\r\n ['FRASSILONGO', 'D775'],\r\n ['CROVIANA', 'D188'],\r\n ['CALDONAZZO', 'B404'],\r\n ['CALDES', 'B400'],\r\n ['BRESIMO', 'B158'],\r\n ['GIUSTINO', 'E065'],\r\n ['FLAVON', 'D631'],\r\n ['FIEROZZO', 'D573'],\r\n ['VALFLORIANA', 'L575'],\r\n ['SAGRON MIS', 'H666'],\r\n ['CENTA SAN NICOLO\\'', 'C467'],\r\n ['TRENTO', 'L378'],\r\n ['CAVEDINE', 'C393'],\r\n ['CAVEDAGO', 'C392'],\r\n ['POMAROLO', 'G808'],\r\n ['BOLBENO', 'A933'],\r\n ['BREZ', 'B165'],\r\n ['TELVE', 'L089']\r\n ],\r\n TO: [\r\n ['VAL DELLA TORRE', 'L555'],\r\n ['SAN MAURIZIO CANAVESE', 'I024'],\r\n ['SAN PONSO', 'I126'],\r\n ['VIALFRE\\'', 'L830'],\r\n ['GRUGLIASCO', 'E216'],\r\n ['ALBIANO D\\'IVREA', 'A157'],\r\n ['BOBBIO PELLICE', 'A910'],\r\n ['CHIANOCCO', 'C610'],\r\n ['GIAVENO', 'E020'],\r\n ['SAN CARLO CANAVESE', 'H789'],\r\n ['LORANZE\\'', 'E683'],\r\n ['MATTIE', 'F058'],\r\n ['MATHI', 'F053'],\r\n ['CUORGNE\\'', 'D208'],\r\n ['CUMIANA', 'D202'],\r\n ['CANDIA CANAVESE', 'B588'],\r\n ['CANTOIRA', 'B637'],\r\n ['AGLIE\\'', 'A074'],\r\n ['CASTELLAMONTE', 'C133'],\r\n ['TRAUSELLA', 'L338'],\r\n ['LUSIGLIE\\'', 'E763'],\r\n ['CAFASSE', 'B350'],\r\n ['QUINCINETTO', 'H127'],\r\n ['QUASSOLO', 'H120'],\r\n ['SESTRIERE', 'I692'],\r\n ['FIORANO CANAVESE', 'D608'],\r\n ['ALPIGNANO', 'A222'],\r\n ['QUAGLIUZZO', 'H100'],\r\n ['MASSELLO', 'F041'],\r\n ['AVIGLIANA', 'A518'],\r\n ['CERESOLE REALE', 'C505'],\r\n ['SPARONE', 'I886'],\r\n ['ROBASSOMERO', 'H367'],\r\n ['LA LOGGIA', 'E423'],\r\n ['TAVAGNASCO', 'L066'],\r\n ['PEROSA ARGENTINA', 'G463'],\r\n ['PEROSA CANAVESE', 'G462'],\r\n ['PERRERO', 'G465'],\r\n ['RORA\\'', 'H554'],\r\n ['ROURE', 'H555'],\r\n ['PINO TORINESE', 'G678'],\r\n ['PINEROLO', 'G674'],\r\n ['PINASCA', 'G672'],\r\n ['ROLETTO', 'H498'],\r\n ['ANDRATE', 'A282'],\r\n ['GROSCAVALLO', 'E199'],\r\n ['LANZO TORINESE', 'E445'],\r\n ['SCIOLZE', 'I539'],\r\n ['SAN RAFFAELE CIMENA', 'I137'],\r\n ['OULX', 'G196'],\r\n ['RONCO CANAVESE', 'H539'],\r\n ['SANGANO', 'H855'],\r\n ['CARAVINO', 'B733'],\r\n ['STRAMBINO', 'I970'],\r\n ['SCARMAGNO', 'I511'],\r\n ['ROMANO CANAVESE', 'H511'],\r\n ['MAGLIONE', 'E817'],\r\n ['SAUZE D\\'OULX', 'I466'],\r\n ['SETTIMO ROTTARO', 'I701'],\r\n ['SETTIMO VITTONE', 'I702'],\r\n ['SETTIMO TORINESE', 'I703'],\r\n ['SAN GILLIO', 'H873'],\r\n ['GERMAGNANO', 'D983'],\r\n ['FRONT', 'D805'],\r\n ['LAURIANO', 'E484'],\r\n ['VIRLE PIEMONTE', 'M069'],\r\n ['VINOVO', 'M060'],\r\n ['CERCENASCO', 'C487'],\r\n ['GASSINO TORINESE', 'D933'],\r\n ['AIRASCA', 'A109'],\r\n ['OSASIO', 'G152'],\r\n ['OSASCO', 'G151'],\r\n ['CASELETTE', 'B955'],\r\n ['CASCINETTE D\\'IVREA', 'B953'],\r\n ['COSSANO CANAVESE', 'D092'],\r\n ['PRALORMO', 'G979'],\r\n ['PRALI', 'G978'],\r\n ['PRAGELATO', 'G973'],\r\n ['SAN GIORGIO CANAVESE', 'H890'],\r\n ['LOMBRIASCO', 'E661'],\r\n ['LOMBARDORE', 'E660'],\r\n ['BEINASCO', 'A734'],\r\n ['BALME', 'A599'],\r\n ['SAN GIUSTO CANAVESE', 'H936'],\r\n ['VILLARBASSE', 'M002'],\r\n ['VILLAR FOCCHIARDO', 'M007'],\r\n ['VILLAREGGIA', 'M004'],\r\n ['ISSIGLIO', 'E368'],\r\n ['BUSANO', 'B284'],\r\n ['BORGONE SUSA', 'B024'],\r\n ['BORGOMASINO', 'B021'],\r\n ['VILLAFRANCA PIEMONTE', 'L948'],\r\n ['VILLASTELLONE', 'M027'],\r\n ['TROFARELLO', 'L445'],\r\n ['BARONE CANAVESE', 'A673'],\r\n ['LEVONE', 'E566'],\r\n ['INGRIA', 'E301'],\r\n ['BORGIALLO', 'B003'],\r\n ['NONE', 'F931'],\r\n ['SALASSA', 'H691'],\r\n ['RIVAROLO CANAVESE', 'H340'],\r\n ['RIVAROSSA', 'H344'],\r\n ['REANO', 'H207'],\r\n ['MONASTERO DI LANZO', 'F327'],\r\n ['BARDONECCHIA', 'A651'],\r\n ['PECCO', 'G396'],\r\n ['PAVONE CANAVESE', 'G392'],\r\n ['PECETTO TORINESE', 'G398'],\r\n ['BALANGERO', 'A587'],\r\n ['BAIRO', 'A584'],\r\n ['VAUDA CANAVESE', 'L698'],\r\n ['CARMAGNOLA', 'B791'],\r\n ['CHIOMONTE', 'C639'],\r\n ['GRAVERE', 'E154'],\r\n ['SANT\\'AMBROGIO DI TORINO', 'I258'],\r\n ['MORIONDO TORINESE', 'F733'],\r\n ['LEMIE', 'E520'],\r\n ['TORRE CANAVESE', 'L247'],\r\n ['ISOLABELLA', 'E345'],\r\n ['FROSSASCO', 'D812'],\r\n ['VIDRACCO', 'L857'],\r\n ['VAIE', 'L538'],\r\n ['FORNO CANAVESE', 'D725'],\r\n ['ROCCA CANAVESE', 'H386'],\r\n ['VISTRORIO', 'M080'],\r\n ['PIOBESI TORINESE', 'G684'],\r\n ['SCALENGHE', 'I490'],\r\n ['PRATIGLIONE', 'G997'],\r\n ['BROSSO', 'B205'],\r\n ['BROZOLO', 'B209'],\r\n ['FELETTO', 'D524'],\r\n ['CUCEGLIO', 'D197'],\r\n ['CALUSO', 'B435'],\r\n ['ALA DI STURA', 'A117'],\r\n ['SAN MARTINO CANAVESE', 'H997'],\r\n ['BOLLENGO', 'A941'],\r\n ['BALDISSERO TORINESE', 'A591'],\r\n ['BALDISSERO CANAVESE', 'A590'],\r\n ['PIANEZZA', 'G559'],\r\n ['COASSOLO TORINESE', 'C801'],\r\n ['COAZZE', 'C803'],\r\n ['TRAVERSELLA', 'L345'],\r\n ['MONTALENGHE', 'F411'],\r\n ['MONTALTO DORA', 'F420'],\r\n ['FAVRIA', 'D520'],\r\n ['ALMESE', 'A218'],\r\n ['COLLERETTO GIACOSA', 'C868'],\r\n ['COLLEGNO', 'C860'],\r\n ['COLLERETTO CASTELNUOVO', 'C867'],\r\n ['MAZZE\\'', 'F067'],\r\n ['FIANO', 'D562'],\r\n ['FRASSINETTO', 'D781'],\r\n ['RIBORDONE', 'H270'],\r\n ['CANISCHIO', 'B605'],\r\n ['SAN MAURO TORINESE', 'I030'],\r\n ['OGLIANICO', 'G010'],\r\n ['SAN SECONDO DI PINEROLO', 'I154'],\r\n ['SAN SEBASTIANO DA PO', 'I152'],\r\n ['VILLANOVA CANAVESE', 'L982'],\r\n ['VEROLENGO', 'L779'],\r\n ['MONTEU DA PO', 'F651'],\r\n ['CHIVASSO', 'C665'],\r\n ['VOLVERA', 'M133'],\r\n ['ANDEZENO', 'A275'],\r\n ['RUEGLIO', 'H631'],\r\n ['CANDIOLO', 'B592'],\r\n ['VICO CANAVESE', 'L548'],\r\n ['CANTALUPA', 'B628'],\r\n ['GROSSO', 'E203'],\r\n ['LUSERNETTA', 'E759'],\r\n ['LUSERNA SAN GIOVANNI', 'E758'],\r\n ['GARZIGLIANA', 'D931'],\r\n ['CHIALAMBERTO', 'C604'],\r\n ['AZEGLIO', 'A525'],\r\n ['TRANA', 'L327'],\r\n ['BRANDIZZO', 'B121'],\r\n ['CORIO', 'D008'],\r\n ['SAN COLOMBANO BELMONTE', 'H804'],\r\n ['CHIESANUOVA', 'C629'],\r\n ['CHIAVERANO', 'C624'],\r\n ['CHIERI', 'C627'],\r\n ['RIVARA', 'H338'],\r\n ['SAMONE', 'H753'],\r\n ['SAN PIETRO VAL LEMINA', 'I090'],\r\n ['PERTUSIO', 'G477'],\r\n ['CARIGNANO', 'B777'],\r\n ['VALPERGA', 'L644'],\r\n ['SAN DIDERO', 'H820'],\r\n ['ANGROGNA', 'A295'],\r\n ['SAN BENIGNO CANAVESE', 'H775'],\r\n ['SANTENA', 'I327'],\r\n ['LOCANA', 'E635'],\r\n ['CASALBORGONE', 'B867'],\r\n ['VESTIGNE\\'', 'L811'],\r\n ['RONDISSONE', 'H547'],\r\n ['BUTTIGLIERA ALTA', 'B305'],\r\n ['FOGLIZZO', 'D646'],\r\n ['VALLO TORINESE', 'L629'],\r\n ['SAN FRANCESCO AL CAMPO', 'H847'],\r\n ['CIRIE\\'', 'C722'],\r\n ['STRAMBINELLO', 'I969'],\r\n ['SUSA', 'L013'],\r\n ['MARENTINO', 'E941'],\r\n ['VALPRATO SOANA', 'B510'],\r\n ['CAMPIGLIONE FENILE', 'B512'],\r\n ['VIGONE', 'L898'],\r\n ['BRUSASCO', 'B225'],\r\n ['PANCALIERI', 'G303'],\r\n ['MEZZENILE', 'F182'],\r\n ['SAN GERMANO CHISONE', 'H862'],\r\n ['SALZA DI PINEROLO', 'H734'],\r\n ['SANT\\'ANTONINO DI SUSA', 'I296'],\r\n ['CLAVIERE', 'C793'],\r\n ['CASTELNUOVO NIGRA', 'C241'],\r\n ['VISCHE', 'M071'],\r\n ['CERES', 'C497'],\r\n ['DRUENTO', 'D373'],\r\n ['CASTIGLIONE TORINESE', 'C307'],\r\n ['CAPRIE', 'B705'],\r\n ['BIBIANA', 'A853'],\r\n ['POIRINO', 'G777'],\r\n ['NICHELINO', 'F889'],\r\n ['LA CASSA', 'E394'],\r\n ['VILLAR PELLICE', 'M013'],\r\n ['VILLAR PEROSA', 'M014'],\r\n ['TRAVES', 'L340'],\r\n ['CAREMA', 'B762'],\r\n ['PORTE', 'G900'],\r\n ['CASTAGNETO PO', 'C045'],\r\n ['RIVALBA', 'H333'],\r\n ['RIVA PRESSO CHIERI', 'H337'],\r\n ['RIVALTA DI TORINO', 'H335'],\r\n ['EXILLES', 'D433'],\r\n ['VERRUA SAVOIA', 'L787'],\r\n ['ORIO CANAVESE', 'G109'],\r\n ['BRUZOLO', 'B232'],\r\n ['SALBERTRAND', 'H684'],\r\n ['CASELLE TORINESE', 'B960'],\r\n ['TORRAZZA PIEMONTE', 'L238'],\r\n ['IVREA', 'E379'],\r\n ['BUSSOLENO', 'B297'],\r\n ['CAVOUR', 'C404'],\r\n ['RIVOLI', 'H355'],\r\n ['CASTAGNOLE PIEMONTE', 'C048'],\r\n ['NOASCA', 'F906'],\r\n ['MACELLO', 'E782'],\r\n ['CONDOVE', 'C955'],\r\n ['MONCALIERI', 'F335'],\r\n ['SAN GIORIO DI SUSA', 'H900'],\r\n ['ARIGNANO', 'A405'],\r\n ['PAVAROLO', 'G387'],\r\n ['CESANA TORINESE', 'C564'],\r\n ['TORINO', 'L219'],\r\n ['INVERSO PINASCA', 'E311'],\r\n ['BORGOFRANCO D\\'IVREA', 'B015'],\r\n ['CINZANO', 'C715'],\r\n ['CINTANO', 'C711'],\r\n ['NOLE', 'F925'],\r\n ['NOMAGLIO', 'F927'],\r\n ['PIVERONE', 'G719'],\r\n ['MOMBELLO DI TORINO', 'F315'],\r\n ['MOMPANTERO', 'F318'],\r\n ['CAMBIANO', 'B462'],\r\n ['ROSTA', 'H583'],\r\n ['CAVAGNOLO', 'C369'],\r\n ['LESSOLO', 'E551'],\r\n ['PESSINETTO', 'G505'],\r\n ['TORRE PELLICE', 'L277'],\r\n ['SAUZE DI CESANA', 'I465'],\r\n ['BOSCONERO', 'B075'],\r\n ['ORBASSANO', 'G087'],\r\n ['NOVALESA', 'F948'],\r\n ['PALAZZO CANAVESE', 'G262'],\r\n ['VIU\\'', 'M094'],\r\n ['BORGARO TORINESE', 'A990'],\r\n ['BARBANIA', 'A625'],\r\n ['ALICE SUPERIORE', 'A199'],\r\n ['PIOSSASCO', 'G691'],\r\n ['PISCINA', 'G705'],\r\n ['MERCENASCO', 'F140'],\r\n ['PRAMOLLO', 'G982'],\r\n ['PRAROSTINO', 'G986'],\r\n ['PRASCORSANO', 'G988'],\r\n ['BUROLO', 'B279'],\r\n ['BURIASCO', 'B278'],\r\n ['FENESTRELLE', 'D532'],\r\n ['RUBIANA', 'H627'],\r\n ['OZEGNA', 'G202'],\r\n ['MONTANARO', 'F422'],\r\n ['VARISELLA', 'L685'],\r\n ['BANCHETTE', 'A607'],\r\n ['LEINI', 'E518'],\r\n ['PARELLA', 'G330'],\r\n ['MEUGLIANO', 'F164'],\r\n ['BRUINO', 'B216'],\r\n ['USSEGLIO', 'L516'],\r\n ['USSEAUX', 'L515'],\r\n ['VENARIA REALE', 'L727'],\r\n ['VENAUS', 'L726'],\r\n ['PONT CANAVESE', 'G826'],\r\n ['MONTALDO TORINESE', 'F407'],\r\n ['CHIUSA DI SAN MICHELE', 'C655'],\r\n ['GIVOLETTO', 'E067'],\r\n ['ALPETTE', 'A221'],\r\n ['VALGIOIE', 'L578'],\r\n ['VILLAR DORA', 'L999'],\r\n ['LUGNACCO', 'E727'],\r\n ['BRICHERASIO', 'B171'],\r\n ['POMARETTO', 'G805'],\r\n ['CICONIO', 'C679'],\r\n ['VOLPIANO', 'M122'],\r\n ['GIAGLIONE', 'E009'],\r\n ['SALERANO CANAVESE', 'H702'],\r\n ['MEANA DI SUSA', 'F074'],\r\n ['MONCENISIO', 'D553']\r\n ],\r\n TP: [\r\n ['GIBELLINA', 'E023'],\r\n ['MARSALA', 'E974'],\r\n ['CASTELLAMMARE DEL GOLFO', 'C130'],\r\n ['TRAPANI', 'L331'],\r\n ['VALDERICE', 'G319'],\r\n ['PANTELLERIA', 'G315'],\r\n ['POGGIOREALE', 'G767'],\r\n ['CAMPOBELLO DI MAZARA', 'B521'],\r\n ['BUSETO PALIZZOLO', 'B288'],\r\n ['VITA', 'M081'],\r\n ['MAZARA DEL VALLO', 'F061'],\r\n ['CALATAFIMI', 'B385'],\r\n ['ERICE', 'D423'],\r\n ['CUSTONACI', 'D234'],\r\n ['ALCAMO', 'A176'],\r\n ['SANTA NINFA', 'I291'],\r\n ['PARTANNA', 'G347'],\r\n ['CASTELVETRANO', 'C286'],\r\n ['SALAPARUTA', 'H688'],\r\n ['SAN VITO LO CAPO', 'I407'],\r\n ['PACECO', 'G208'],\r\n ['FAVIGNANA', 'D518'],\r\n ['PETROSINO', 'M281'],\r\n ['SALEMI', 'H700']\r\n ],\r\n TR: [\r\n ['CASTEL GIORGIO', 'C117'],\r\n ['AMELIA', 'A262'],\r\n ['PORANO', 'G881'],\r\n ['SAN GEMINI', 'H857'],\r\n ['BASCHI', 'A691'],\r\n ['ARRONE', 'A439'],\r\n ['ALVIANO', 'A242'],\r\n ['ATTIGLIANO', 'A490'],\r\n ['SAN VENANZO', 'I381'],\r\n ['AVIGLIANO UMBRO', 'M258'],\r\n ['ACQUASPARTA', 'A045'],\r\n ['PENNA IN TEVERINA', 'G432'],\r\n ['MONTECASTRILLI', 'F457'],\r\n ['OTRICOLI', 'G189'],\r\n ['MONTELEONE D\\'ORVIETO', 'F543'],\r\n ['MONTEFRANCO', 'F510'],\r\n ['MONTEGABBIONE', 'F513'],\r\n ['ORVIETO', 'G148'],\r\n ['PARRANO', 'G344'],\r\n ['GUARDEA', 'E241'],\r\n ['CASTEL VISCARDO', 'C289'],\r\n ['NARNI', 'F844'],\r\n ['FABRO', 'D454'],\r\n ['TERNI', 'L117'],\r\n ['CALVI DELL\\'UMBRIA', 'B446'],\r\n ['FERENTILLO', 'D538'],\r\n ['STRONCONE', 'I981'],\r\n ['GIOVE', 'E045'],\r\n ['FICULLE', 'D570'],\r\n ['POLINO', 'G790'],\r\n ['LUGNANO IN TEVERINA', 'E729'],\r\n ['MONTECCHIO', 'F462'],\r\n ['ALLERONA', 'A207']\r\n ],\r\n TS: [\r\n ['DUINO-AURISINA', 'D383'],\r\n ['TRIESTE', 'L424'],\r\n ['MUGGIA', 'F795'],\r\n ['SGONICO', 'I715'],\r\n ['SAN DORLIGO DELLA VALLE', 'D324'],\r\n ['MONRUPINO', 'F378']\r\n ],\r\n TV: [\r\n ['SAN POLO DI PIAVE', 'I124'],\r\n ['CASTELFRANCO VENETO', 'C111'],\r\n ['MONTEBELLUNA', 'F443'],\r\n ['CHIARANO', 'C614'],\r\n ['GIAVERA DEL MONTELLO', 'E021'],\r\n ['SAN BIAGIO DI CALLALTA', 'H781'],\r\n ['SAN PIETRO DI FELETTO', 'I103'],\r\n ['ZENSON DI PIAVE', 'M163'],\r\n ['LORIA', 'E692'],\r\n ['PEDEROBBA', 'G408'],\r\n ['FONTANELLE', 'D674'],\r\n ['MASERADA SUL PIAVE', 'F012'],\r\n ['CAPPELLA MAGGIORE', 'B678'],\r\n ['FOLLINA', 'D654'],\r\n ['CORNUDA', 'D030'],\r\n ['CASALE SUL SILE', 'B879'],\r\n ['MIANE', 'F190'],\r\n ['SALGAREDA', 'H706'],\r\n ['RIESE PIO X', 'H280'],\r\n ['VILLORBA', 'M048'],\r\n ['SEGUSINO', 'I578'],\r\n ['CRESPANO DEL GRAPPA', 'D157'],\r\n ['TREVISO', 'L407'],\r\n ['TREVIGNANO', 'L402'],\r\n ['VOLPAGO DEL MONTELLO', 'M118'],\r\n ['MOGLIANO VENETO', 'F269'],\r\n ['CASTELCUCCO', 'C073'],\r\n ['MORGANO', 'F725'],\r\n ['MORIAGO DELLA BATTAGLIA', 'F729'],\r\n ['ASOLO', 'A471'],\r\n ['NERVESA DELLA BATTAGLIA', 'F872'],\r\n ['REFRONTOLO', 'H220'],\r\n ['ORMELLE', 'G115'],\r\n ['SILEA', 'F116'],\r\n ['POSSAGNO', 'G933'],\r\n ['GORGO AL MONTICANO', 'E092'],\r\n ['BORSO DEL GRAPPA', 'B061'],\r\n ['PONZANO VENETO', 'G875'],\r\n ['SAN ZENONE DEGLI EZZELINI', 'I417'],\r\n ['MONFUMO', 'F360'],\r\n ['VITTORIO VENETO', 'M089'],\r\n ['CIMADOLMO', 'C689'],\r\n ['ODERZO', 'F999'],\r\n ['GODEGA DI SANT\\'URBANO', 'E071'],\r\n ['ALTIVOLE', 'A237'],\r\n ['SAN VENDEMIANO', 'I382'],\r\n ['FARRA DI SOLIGO', 'D505'],\r\n ['SARMEDE', 'I435'],\r\n ['VALDOBBIADENE', 'L565'],\r\n ['COLLE UMBERTO', 'C848'],\r\n ['QUINTO DI TREVISO', 'H131'],\r\n ['FONTE', 'D680'],\r\n ['MARENO DI PIAVE', 'E940'],\r\n ['VIDOR', 'L856'],\r\n ['CAERANO DI SAN MARCO', 'B349'],\r\n ['BREDA DI PIAVE', 'B128'],\r\n ['ZERO BRANCO', 'M171'],\r\n ['TARZO', 'L058'],\r\n ['MASER', 'F009'],\r\n ['PIEVE DI SOLIGO', 'G645'],\r\n ['SAN FIOR', 'H843'],\r\n ['SUSEGANA', 'L014'],\r\n ['MOTTA DI LIVENZA', 'F770'],\r\n ['GAIARINE', 'D854'],\r\n ['RONCADE', 'H523'],\r\n ['POVEGLIANO', 'G944'],\r\n ['SPRESIANO', 'I927'],\r\n ['MEDUNA DI LIVENZA', 'F088'],\r\n ['PORTOBUFFOLE\\'', 'G909'],\r\n ['REVINE LAGO', 'H253'],\r\n ['SANTA LUCIA DI PIAVE', 'I221'],\r\n ['CASIER', 'B965'],\r\n ['ISTRANA', 'E373'],\r\n ['CARBONERA', 'B744'],\r\n ['CISON DI VALMARINO', 'C735'],\r\n ['CONEGLIANO', 'C957'],\r\n ['RESANA', 'H238'],\r\n ['MONASTIER DI TREVISO', 'F332'],\r\n ['ORSAGO', 'G123'],\r\n ['CAVASO DEL TOMBA', 'C384'],\r\n ['ARCADE', 'A360'],\r\n ['CASTELLO DI GODEGO', 'C190'],\r\n ['CORDIGNANO', 'C992'],\r\n ['SERNAGLIA DELLA BATTAGLIA', 'I635'],\r\n ['PREGANZIOL', 'H022'],\r\n ['VEDELAGO', 'L706'],\r\n ['VAZZOLA', 'L700'],\r\n ['PONTE DI PIAVE', 'G846'],\r\n ['CODOGNE\\'', 'C815'],\r\n ['CESSALTO', 'C580'],\r\n ['PADERNO DEL GRAPPA', 'G221'],\r\n ['PAESE', 'G229'],\r\n ['FREGONA', 'D794'],\r\n ['CROCETTA DEL MONTELLO', 'C670'],\r\n ['MANSUE\\'', 'E893']\r\n ],\r\n UD: [\r\n ['AMPEZZO', 'A267'],\r\n ['STREGNA', 'I974'],\r\n ['PALMANOVA', 'G284'],\r\n ['TRASAGHIS', 'L335'],\r\n ['LUSEVERA', 'E760'],\r\n ['TERZO DI AQUILEIA', 'L144'],\r\n ['TAPOGLIANO', 'L044'],\r\n ['SAN DANIELE DEL FRIULI', 'H816'],\r\n ['ZUGLIO', 'M200'],\r\n ['TAVAGNACCO', 'L065'],\r\n ['VERZEGNIS', 'L801'],\r\n ['RAGOGNA', 'H161'],\r\n ['OVARO', 'G198'],\r\n ['RONCHIS', 'H533'],\r\n ['CASSACCO', 'B994'],\r\n ['MORUZZO', 'F760'],\r\n ['RIGOLATO', 'H289'],\r\n ['ENEMONZO', 'D408'],\r\n ['MAJANO', 'E833'],\r\n ['DRENCHIA', 'D366'],\r\n ['MOGGIO UDINESE', 'F266'],\r\n ['SAN GIORGIO DI NOGARO', 'H895'],\r\n ['POCENIA', 'G743'],\r\n ['NIMIS', 'F898'],\r\n ['CAMPOLONGO AL TORRE', 'B545'],\r\n ['TRICESIMO', 'L421'],\r\n ['AMARO', 'A254'],\r\n ['PASIAN DI PRATO', 'G352'],\r\n ['LIGOSULLO', 'E586'],\r\n ['LIGNANO SABBIADORO', 'E584'],\r\n ['DIGNANO', 'D300'],\r\n ['TOLMEZZO', 'L195'],\r\n ['REMANZACCO', 'H229'],\r\n ['CERVIGNANO DEL FRIULI', 'C556'],\r\n ['GRIMACCO', 'E179'],\r\n ['RIVE D\\'ARCANO', 'H347'],\r\n ['REANA DEL ROIALE', 'H206'],\r\n ['RAVEO', 'H200'],\r\n ['FAGAGNA', 'D461'],\r\n ['AIELLO DEL FRIULI', 'A103'],\r\n ['MANZANO', 'E899'],\r\n ['SAVOGNA', 'I478'],\r\n ['FORGARIA NEL FRIULI', 'D700'],\r\n ['SAN VITO DI FAGAGNA', 'I405'],\r\n ['SAN VITO AL TORRE', 'I404'],\r\n ['VILLA SANTINA', 'L909'],\r\n ['MUZZANA DEL TURGNANO', 'F832'],\r\n ['UDINE', 'L483'],\r\n ['SAN LEONARDO', 'H951'],\r\n ['TORREANO', 'L246'],\r\n ['TORVISCOSA', 'L309'],\r\n ['TEOR', 'L101'],\r\n ['PRECENICCO', 'H014'],\r\n ['FORNI DI SOTTO', 'D720'],\r\n ['BORDANO', 'A983'],\r\n ['RUDA', 'H629'],\r\n ['PREONE', 'H038'],\r\n ['PAGNACCO', 'G238'],\r\n ['PONTEBBA', 'G831'],\r\n ['CHIOPRIS VISCONE', 'C641'],\r\n ['RESIA', 'H242'],\r\n ['RESIUTTA', 'H244'],\r\n ['FIUMICELLO', 'D627'],\r\n ['CAMINO AL TAGLIAMENTO', 'B483'],\r\n ['RAVASCLETTO', 'H196'],\r\n ['COLLOREDO DI MONTE ALBANO', 'C885'],\r\n ['TARVISIO', 'L057'],\r\n ['TARCENTO', 'L050'],\r\n ['SAN PIETRO AL NATISONE', 'I092'],\r\n ['PORPETTO', 'G891'],\r\n ['ATTIMIS', 'A491'],\r\n ['CORNO DI ROSAZZO', 'D027'],\r\n ['MONTENARS', 'F574'],\r\n ['MALBORGHETTO-VALBRUNA', 'E847'],\r\n ['BUTTRIO', 'B309'],\r\n ['LAUCO', 'E476'],\r\n ['LATISANA', 'E473'],\r\n ['SUTRIO', 'L018'],\r\n ['TREPPO GRANDE', 'L382'],\r\n ['TREPPO CARNICO', 'L381'],\r\n ['PALUZZA', 'G300'],\r\n ['POVOLETTO', 'G949'],\r\n ['SOCCHIEVE', 'I777'],\r\n ['BASILIANO', 'A700'],\r\n ['TALMASSONS', 'L039'],\r\n ['MORTEGLIANO', 'F756'],\r\n ['CAMPOFORMIDO', 'B536'],\r\n ['SEDEGLIANO', 'I562'],\r\n ['VISCO', 'M073'],\r\n ['CERCIVENTO', 'C494'],\r\n ['COSEANO', 'D085'],\r\n ['POZZUOLO DEL FRIULI', 'G966'],\r\n ['PRADAMANO', 'G969'],\r\n ['PULFERO', 'H089'],\r\n ['BICINICCO', 'A855'],\r\n ['MARTIGNACCO', 'E982'],\r\n ['COMEGLIANS', 'C918'],\r\n ['ARTA TERME', 'A447'],\r\n ['ARTEGNA', 'A448'],\r\n ['OSOPPO', 'G163'],\r\n ['MAGNANO IN RIVIERA', 'E820'],\r\n ['DOGNA', 'D316'],\r\n ['MOIMACCO', 'F275'],\r\n ['VILLA VICENTINA', 'M034'],\r\n ['TRIVIGNANO UDINESE', 'L438'],\r\n ['RIVIGNANO', 'H352'],\r\n ['TAIPANA', 'G736'],\r\n ['SAN GIOVANNI AL NATISONE', 'H906'],\r\n ['PAVIA DI UDINE', 'G389'],\r\n ['PAULARO', 'G381'],\r\n ['CAVAZZO CARNICO', 'C389'],\r\n ['VARMO', 'L686'],\r\n ['FAEDIS', 'D455'],\r\n ['FORNI AVOLTRI', 'D718'],\r\n ['FORNI DI SOPRA', 'D719'],\r\n ['AQUILEIA', 'A346'],\r\n ['BAGNARIA ARSA', 'A553'],\r\n ['LESTIZZA', 'E553'],\r\n ['GONARS', 'E083'],\r\n ['BUJA', 'B259'],\r\n ['SAURIS', 'I464'],\r\n ['PRATO CARNICO', 'H002'],\r\n ['CARLINO', 'B788'],\r\n ['PALAZZOLO DELLO STELLA', 'G268'],\r\n ['SANTA MARIA LA LONGA', 'I248'],\r\n ['MERETO DI TOMBA', 'F144'],\r\n ['PREMARIACCO', 'H029'],\r\n ['CIVIDALE DEL FRIULI', 'C758'],\r\n ['BERTIOLO', 'A810'],\r\n ['CASTIONS DI STRADA', 'C327'],\r\n ['CODROIPO', 'C817'],\r\n ['PREPOTTO', 'H040'],\r\n ['CHIUSAFORTE', 'C656'],\r\n ['FLAIBANO', 'D630'],\r\n ['VENZONE', 'L743'],\r\n ['GEMONA DEL FRIULI', 'D962'],\r\n ['MARANO LAGUNARE', 'E910']\r\n ],\r\n VA: [\r\n ['OGGIONA CON SANTO STEFANO', 'G008'],\r\n ['VERGIATE', 'L765'],\r\n ['GAVIRATE', 'D946'],\r\n ['BODIO LOMNAGO', 'A918'],\r\n ['VIZZOLA TICINO', 'M101'],\r\n ['CUNARDO', 'D204'],\r\n ['CANTELLO', 'B634'],\r\n ['CASTELLANZA', 'C139'],\r\n ['LUVINATE', 'E769'],\r\n ['BREGANO', 'B131'],\r\n ['AZZATE', 'A531'],\r\n ['TRADATE', 'L319'],\r\n ['CAZZAGO BRABBIA', 'C409'],\r\n ['VARANO BORGHI', 'L671'],\r\n ['ALBIZZATE', 'A167'],\r\n ['MALGESSO', 'E856'],\r\n ['CASTELLO CABIAGLIO', 'B312'],\r\n ['CLIVIO', 'C796'],\r\n ['DUNO', 'D385'],\r\n ['DUMENZA', 'D384'],\r\n ['PINO SULLA SPONDA DEL LAGO MAGGIORE', 'G677'],\r\n ['CASALE LITTA', 'B875'],\r\n ['SUMIRAGO', 'L003'],\r\n ['INARZO', 'E292'],\r\n ['UBOLDO', 'L480'],\r\n ['CASSANO VALCUVIA', 'B999'],\r\n ['BRISSAGO-VALTRAVAGLIA', 'B191'],\r\n ['CARAVATE', 'B732'],\r\n ['SANGIANO', 'H872'],\r\n ['SALTRIO', 'H723'],\r\n ['BESNATE', 'A825'],\r\n ['BESOZZO', 'A826'],\r\n ['CASTELSEPRIO', 'C273'],\r\n ['GERMIGNAGA', 'D987'],\r\n ['MONTEGRINO VALTRAVAGLIA', 'F526'],\r\n ['LONATE POZZOLO', 'E666'],\r\n ['LONATE CEPPINO', 'E665'],\r\n ['BIANDRONNO', 'A845'],\r\n ['COMERIO', 'C922'],\r\n ['ISPRA', 'E367'],\r\n ['MONVALLE', 'F703'],\r\n ['CASTRONNO', 'C343'],\r\n ['AGRA', 'A085'],\r\n ['FAGNANO OLONA', 'D467'],\r\n ['MERCALLO', 'F134'],\r\n ['CARNAGO', 'B796'],\r\n ['GALLIATE LOMBARDO', 'D871'],\r\n ['CASTELVECCANA', 'C181'],\r\n ['OSMATE', 'E529'],\r\n ['MESENZANA', 'F154'],\r\n ['ARCISATE', 'A371'],\r\n ['BARASSO', 'A619'],\r\n ['CUGLIATE-FABIASCO', 'D199'],\r\n ['CUASSO AL MONTE', 'D192'],\r\n ['VENEGONO INFERIORE', 'L733'],\r\n ['VENEGONO SUPERIORE', 'L734'],\r\n ['FERNO', 'D543'],\r\n ['GOLASECCA', 'E079'],\r\n ['JERAGO CON ORAGO', 'E386'],\r\n ['MARCHIROLO', 'E929'],\r\n ['BRUSIMPIANO', 'B228'],\r\n ['TRAVEDONA-MONATE', 'L342'],\r\n ['LUINO', 'E734'],\r\n ['GAZZADA SCHIANNO', 'D951'],\r\n ['MARNATE', 'E965'],\r\n ['CUVIO', 'D239'],\r\n ['CUVEGLIO', 'D238'],\r\n ['CAIRATE', 'B368'],\r\n ['CURIGLIA CON MONTEVIASCO', 'D217'],\r\n ['GORLA MINORE', 'E102'],\r\n ['GORLA MAGGIORE', 'E101'],\r\n ['MACCAGNO', 'E775'],\r\n ['CADREZZATE', 'B347'],\r\n ['SESTO CALENDE', 'I688'],\r\n ['BREBBIA', 'B126'],\r\n ['CARONNO VARESINO', 'B807'],\r\n ['CARONNO PERTUSELLA', 'B805'],\r\n ['MASCIAGO PRIMO', 'F007'],\r\n ['MARZIO', 'F002'],\r\n ['VIGGIU\\'', 'L876'],\r\n ['CADEGLIANO-VICONAGO', 'B326'],\r\n ['CARDANO AL CAMPO', 'B754'],\r\n ['ANGERA', 'A290'],\r\n ['DAVERIO', 'D256'],\r\n ['RANCIO VALCUVIA', 'H173'],\r\n ['RANCO', 'H174'],\r\n ['BUSTO ARSIZIO', 'B300'],\r\n ['BESANO', 'A819'],\r\n ['MALNATE', 'E863'],\r\n ['BRENTA', 'B150'],\r\n ['CASORATE SEMPIONE', 'B987'],\r\n ['BRINZIO', 'B182'],\r\n ['SAMARATE', 'H736'],\r\n ['TRONZANO LAGO MAGGIORE', 'A705'],\r\n ['LAVENA PONTE TRESA', 'E494'],\r\n ['LAVENO-MOMBELLO', 'E496'],\r\n ['TAINO', 'L032'],\r\n ['CASTIGLIONE OLONA', 'C300'],\r\n ['BEDERO VALCUVIA', 'A728'],\r\n ['CASSANO MAGNAGO', 'C004'],\r\n ['COMABBIO', 'C911'],\r\n ['ARSAGO SEPRIO', 'A441'],\r\n ['CASCIAGO', 'B949'],\r\n ['PORTO CERESIO', 'G906'],\r\n ['PORTO VALTRAVAGLIA', 'G907'],\r\n ['BISUSCHIO', 'A891'],\r\n ['GORNATE-OLONA', 'E104'],\r\n ['MORAZZONE', 'F711'],\r\n ['ORIGGIO', 'G103'],\r\n ['ORINO', 'G105'],\r\n ['CISLAGO', 'C732'],\r\n ['CAVARIA CON PREMEZZO', 'C382'],\r\n ['VARESE', 'L682'],\r\n ['GALLARATE', 'D869'],\r\n ['SARONNO', 'I441'],\r\n ['GRANTOLA', 'E144'],\r\n ['BARDELLO', 'A645'],\r\n ['CASALZUIGNO', 'B921'],\r\n ['TERNATE', 'L115'],\r\n ['BUGUGGIATE', 'B258'],\r\n ['AZZIO', 'A532'],\r\n ['SOMMA LOMBARDO', 'I819'],\r\n ['SOLBIATE ARNO', 'I793'],\r\n ['SOLBIATE OLONA', 'I794'],\r\n ['CITTIGLIO', 'C751'],\r\n ['INDUNO OLONA', 'E299'],\r\n ['VEDDASCA', 'L705'],\r\n ['VEDANO OLONA', 'L703'],\r\n ['LEGGIUNO', 'E510'],\r\n ['COCQUIO-TREVISAGO', 'C810'],\r\n ['BRUNELLO', 'B219'],\r\n ['LOZZA', 'E707'],\r\n ['CROSIO DELLA VALLE', 'D185'],\r\n ['GERENZANO', 'D981'],\r\n ['CREMENAGA', 'D144'],\r\n ['VALGANNA', 'L577'],\r\n ['OLGIATE OLONA', 'G028'],\r\n ['MORNAGO', 'F736'],\r\n ['GEMONIO', 'D963'],\r\n ['BREZZO DI BEDERO', 'B166'],\r\n ['FERRERA DI VARESE', 'D551']\r\n ],\r\n VB: [\r\n ['CANNOBIO', 'B615'],\r\n ['CANNERO RIVIERA', 'B610'],\r\n ['OGGEBBIO', 'G007'],\r\n ['GIGNESE', 'E028'],\r\n ['LOREGLIA', 'E685'],\r\n ['PALLANZENO', 'G280'],\r\n ['TRASQUERA', 'L336'],\r\n ['TRAREGO VIGGIONA', 'L333'],\r\n ['FORMAZZA', 'D706'],\r\n ['FALMENTA', 'D481'],\r\n ['VIGANELLA', 'L864'],\r\n ['QUARNA SOTTO', 'H107'],\r\n ['QUARNA SOPRA', 'H106'],\r\n ['MONTECRESTESE', 'F483'],\r\n ['PIEVE VERGONTE', 'G658'],\r\n ['MALESCO', 'E853'],\r\n ['VALSTRONA', 'L651'],\r\n ['CASALE CORTE CERRO', 'B876'],\r\n ['CAPREZZO', 'B694'],\r\n ['MIAZZINA', 'F192'],\r\n ['STRESA', 'I976'],\r\n ['CRODO', 'D177'],\r\n ['VILLETTE', 'M042'],\r\n ['TOCENO', 'L187'],\r\n ['COSSOGNO', 'D099'],\r\n ['BEE', 'A733'],\r\n ['CRAVEGGIA', 'D134'],\r\n ['ANTRONA SCHIERANCO', 'A317'],\r\n ['ORNAVASSO', 'G117'],\r\n ['INTRAGNA', 'E304'],\r\n ['NONIO', 'F932'],\r\n ['MACUGNAGA', 'E790'],\r\n ['RE', 'H203'],\r\n ['VARZO', 'L691'],\r\n ['VILLADOSSOLA', 'L906'],\r\n ['GRAVELLONA TOCE', 'E153'],\r\n ['BANNIO ANZINO', 'A610'],\r\n ['PREMOSELLO-CHIOVENDA', 'H037'],\r\n ['PREMENO', 'H030'],\r\n ['PREMIA', 'H033'],\r\n ['GURRO', 'E269'],\r\n ['VIGNONE', 'L889'],\r\n ['CEPPO MORELLI', 'C478'],\r\n ['BROVELLO-CARPUGNINO', 'B207'],\r\n ['BOGNANCO', 'A925'],\r\n ['CALASCA-CASTIGLIONE', 'B380'],\r\n ['MASSIOLA', 'F048'],\r\n ['VOGOGNA', 'M111'],\r\n ['PIEDIMULERA', 'G600'],\r\n ['VANZONE CON SAN CARLO', 'L666'],\r\n ['MONTESCHENO', 'F639'],\r\n ['AURANO', 'A497'],\r\n ['BELGIRATE', 'A742'],\r\n ['SAN BERNARDINO VERBANO', 'H777'],\r\n ['MASERA', 'F010'],\r\n ['BEURA-CARDEZZA', 'A834'],\r\n ['CREVOLADOSSOLA', 'D168'],\r\n ['DRUOGNO', 'D374'],\r\n ['BAVENO', 'A725'],\r\n ['DOMODOSSOLA', 'D332'],\r\n ['ANZOLA D\\'OSSOLA', 'A325'],\r\n ['TRONTANO', 'L450'],\r\n ['ARIZZANO', 'A409'],\r\n ['CESARA', 'C567'],\r\n ['CAMBIASCA', 'B463'],\r\n ['AROLA', 'A427'],\r\n ['CAVAGLIO-SPOCCIA', 'C367'],\r\n ['BACENO', 'A534'],\r\n ['SANTA MARIA MAGGIORE', 'I249'],\r\n ['MADONNA DEL SASSO', 'E795'],\r\n ['MERGOZZO', 'F146'],\r\n ['OMEGNA', 'G062'],\r\n ['SEPPIANA', 'I619'],\r\n ['GERMAGNO', 'D984'],\r\n ['VERBANIA', 'L746'],\r\n ['GHIFFA', 'E003'],\r\n ['CURSOLO-ORASSO', 'D225']\r\n ],\r\n VC: [\r\n ['SABBIA', 'H648'],\r\n ['BOCCIOLETO', 'A914'],\r\n ['VOCCA', 'M106'],\r\n ['BREIA', 'B136'],\r\n ['ROSSA', 'H577'],\r\n ['QUARONA', 'H108'],\r\n ['FONTANETTO PO', 'D676'],\r\n ['SAN GERMANO VERCELLESE', 'H861'],\r\n ['ROASIO', 'H365'],\r\n ['ROVASENDA', 'H364'],\r\n ['SANTHIA\\'', 'I337'],\r\n ['LIVORNO FERRARIS', 'E626'],\r\n ['RIMA SAN GIUSEPPE', 'H291'],\r\n ['SALI VERCELLESE', 'H707'],\r\n ['RIMELLA', 'H293'],\r\n ['RIMASCO', 'H292'],\r\n ['CAMPERTOGNO', 'B505'],\r\n ['SALUGGIA', 'H725'],\r\n ['QUINTO VERCELLESE', 'H132'],\r\n ['CRESCENTINO', 'D154'],\r\n ['SAN GIACOMO VERCELLESE', 'B952'],\r\n ['BIANZE\\'', 'A847'],\r\n ['CRAVAGLIANA', 'D132'],\r\n ['VILLARBOIT', 'M003'],\r\n ['TRICERRO', 'L420'],\r\n ['TRINO VERCELLESE', 'L429'],\r\n ['BORGO VERCELLI', 'B046'],\r\n ['BORGOSESIA', 'B041'],\r\n ['LIGNANA', 'E583'],\r\n ['BURONZO', 'B280'],\r\n ['RIVA VALDOBBIA', 'H329'],\r\n ['COSTANZANA', 'D113'],\r\n ['VILLATA', 'M028'],\r\n ['ALICE CASTELLO', 'A198'],\r\n ['BORGO D\\'ALE', 'B009'],\r\n ['SALASCO', 'H690'],\r\n ['RIVE', 'H346'],\r\n ['SERRAVALLE SESIA', 'I663'],\r\n ['ARBORIO', 'A358'],\r\n ['LENTA', 'E528'],\r\n ['CIGLIANO', 'C680'],\r\n ['PIODE', 'G685'],\r\n ['MONCRIVELLO', 'F342'],\r\n ['VARALLO', 'L669'],\r\n ['LOZZOLO', 'E711'],\r\n ['VERCELLI', 'L750'],\r\n ['OLDENICO', 'G018'],\r\n ['OLCENENGO', 'G016'],\r\n ['CELLIO', 'C450'],\r\n ['GATTINARA', 'D938'],\r\n ['COLLOBIANO', 'C884'],\r\n ['LAMPORO', 'E433'],\r\n ['PERTENGO', 'G471'],\r\n ['CARCOFORO', 'B752'],\r\n ['RONSECCO', 'H549'],\r\n ['FOBELLO', 'D641'],\r\n ['PILA', 'G666'],\r\n ['MOTTA DE\\' CONTI', 'F774'],\r\n ['POSTUA', 'G940'],\r\n ['RASSA', 'H188'],\r\n ['ALBANO VERCELLESE', 'A130'],\r\n ['SCOPA', 'I544'],\r\n ['SCOPELLO', 'I545'],\r\n ['ALAGNA VALSESIA', 'A119'],\r\n ['CARESANABLOT', 'B768'],\r\n ['CARESANA', 'B767'],\r\n ['GREGGIO', 'E163'],\r\n ['ASIGLIANO VERCELLESE', 'A466'],\r\n ['CERVATTO', 'C548'],\r\n ['MOLLIA', 'F297'],\r\n ['TRONZANO VERCELLESE', 'L451'],\r\n ['FORMIGLIANA', 'D712'],\r\n ['CASANOVA ELVO', 'B928'],\r\n ['CARISIO', 'B782'],\r\n ['PALAZZOLO VERCELLESE', 'G266'],\r\n ['PEZZANA', 'G528'],\r\n ['PRAROLO', 'G985'],\r\n ['DESANA', 'D281'],\r\n ['CIVIASCO', 'C757'],\r\n ['STROPPIANA', 'I984'],\r\n ['VALDUGGIA', 'L566'],\r\n ['BALOCCO', 'A601'],\r\n ['BALMUCCIA', 'A600'],\r\n ['CROVA', 'D187'],\r\n ['GUARDABOSONE', 'E237'],\r\n ['GHISLARENGO', 'E007']\r\n ],\r\n VE: [\r\n ['TORRE DI MOSTO', 'L267'],\r\n ['SAN MICHELE AL TAGLIAMENTO', 'I040'],\r\n ['CEGGIA', 'C422'],\r\n ['CHIOGGIA', 'C638'],\r\n ['GRUARO', 'E215'],\r\n ['MIRA', 'F229'],\r\n ['MIRANO', 'F241'],\r\n ['SANTO STINO DI LIVENZA', 'I373'],\r\n ['SCORZE\\'', 'I551'],\r\n ['CAMPOLONGO MAGGIORE', 'B546'],\r\n ['PORTOGRUARO', 'G914'],\r\n ['DOLO', 'D325'],\r\n ['MEOLO', 'F130'],\r\n ['FOSSO\\'', 'D748'],\r\n ['FOSSALTA DI PORTOGRUARO', 'D741'],\r\n ['FOSSALTA DI PIAVE', 'D740'],\r\n ['VENEZIA', 'L736'],\r\n ['CAORLE', 'B642'],\r\n ['QUARTO D\\'ALTINO', 'H117'],\r\n ['SAN DONA\\' DI PIAVE', 'H823'],\r\n ['MARTELLAGO', 'E980'],\r\n ['CAMPAGNA LUPIA', 'B493'],\r\n ['STRA', 'I965'],\r\n ['SALZANO', 'H735'],\r\n ['CAMPONOGARA', 'B554'],\r\n ['ERACLEA', 'D415'],\r\n ['ANNONE VENETO', 'A302'],\r\n ['CONA', 'C938'],\r\n ['SPINEA', 'I908'],\r\n ['VIGONOVO', 'L899'],\r\n ['NOALE', 'F904'],\r\n ['CONCORDIA SAGITTARIA', 'C950'],\r\n ['CAVARZERE', 'C383'],\r\n ['JESOLO', 'C388'],\r\n ['CINTO CAOMAGGIORE', 'C714'],\r\n ['MUSILE DI PIAVE', 'F826'],\r\n ['CAVALLINO-TREPORTI', 'M308'],\r\n ['SANTA MARIA DI SALA', 'I242'],\r\n ['PRAMAGGIORE', 'G981'],\r\n ['NOVENTA DI PIAVE', 'F963'],\r\n ['PIANIGA', 'G565'],\r\n ['MARCON', 'E936'],\r\n ['FIESSO D\\'ARTICO', 'D578'],\r\n ['TEGLIO VENETO', 'L085']\r\n ],\r\n VI: [\r\n ['VALDASTICO', 'L554'],\r\n ['VALDAGNO', 'L551'],\r\n ['CASTELGOMBERTO', 'C119'],\r\n ['ALBETTONE', 'A154'],\r\n ['MONTEVIALE', 'F662'],\r\n ['MONTEBELLO VICENTINO', 'F442'],\r\n ['LONIGO', 'E682'],\r\n ['MAROSTICA', 'E970'],\r\n ['SAN NAZARIO', 'I047'],\r\n ['LUSIANA', 'E762'],\r\n ['BREGANZE', 'B132'],\r\n ['CARRE\\'', 'B835'],\r\n ['LAGHI', 'E403'],\r\n ['PEDEMONTE', 'G406'],\r\n ['MONTE DI MALO', 'F486'],\r\n ['ZANE\\'', 'M145'],\r\n ['ROANA', 'H361'],\r\n ['MASON VICENTINO', 'F019'],\r\n ['ROSA\\'', 'H556'],\r\n ['VALSTAGNA', 'L650'],\r\n ['SCHIO', 'I531'],\r\n ['BROGLIANO', 'B196'],\r\n ['GAMBUGLIANO', 'D902'],\r\n ['SANTORSO', 'I353'],\r\n ['CASSOLA', 'C037'],\r\n ['LASTEBASSE', 'E465'],\r\n ['MOSSANO', 'F768'],\r\n ['ROMANO D\\'EZZELINO', 'H512'],\r\n ['POZZOLEONE', 'G957'],\r\n ['ENEGO', 'D407'],\r\n ['ARZIGNANO', 'A459'],\r\n ['GAMBELLARA', 'D897'],\r\n ['GRANCONA', 'E138'],\r\n ['CAMPOLONGO SUL BRENTA', 'B547'],\r\n ['CREAZZO', 'D136'],\r\n ['VICENZA', 'L840'],\r\n ['CASTEGNERO', 'C056'],\r\n ['CONCO', 'C949'],\r\n ['BARBARANO VICENTINO', 'A627'],\r\n ['POSINA', 'G931'],\r\n ['SALCEDO', 'F810'],\r\n ['ROTZO', 'H594'],\r\n ['SOLAGNA', 'I783'],\r\n ['SAN VITO DI LEGUZZANO', 'I401'],\r\n ['ORGIANO', 'G095'],\r\n ['NOVE', 'F957'],\r\n ['NANTO', 'F838'],\r\n ['MOLVENA', 'F306'],\r\n ['TORREBELVICINO', 'L248'],\r\n ['ARCUGNANO', 'A377'],\r\n ['COGOLLO DEL CENGIO', 'C824'],\r\n ['SAREGO', 'I430'],\r\n ['MONTORSO VICENTINO', 'F696'],\r\n ['CALTRANO', 'B433'],\r\n ['BRENDOLA', 'B143'],\r\n ['ALTAVILLA VICENTINA', 'A231'],\r\n ['CRESPADORO', 'D156'],\r\n ['LUGO DI VICENZA', 'E731'],\r\n ['GRUMOLO DELLE ABBADESSE', 'E226'],\r\n ['MONTICELLO CONTE OTTO', 'F675'],\r\n ['QUINTO VICENTINO', 'H134'],\r\n ['CAMISANO VICENTINO', 'B485'],\r\n ['CHIAMPO', 'C605'],\r\n ['SAN PIETRO MUSSOLINO', 'I117'],\r\n ['ZERMEGHEDO', 'M170'],\r\n ['SOVIZZO', 'I879'],\r\n ['FARA VICENTINO', 'D496'],\r\n ['SOSSANO', 'I867'],\r\n ['CORNEDO VICENTINO', 'D020'],\r\n ['SANDRIGO', 'H829'],\r\n ['GRISIGNANO DI ZOCCO', 'E184'],\r\n ['SCHIAVON', 'I527'],\r\n ['ALTISSIMO', 'A236'],\r\n ['VALLI DEL PASUBIO', 'L624'],\r\n ['CARTIGLIANO', 'B844'],\r\n ['CAMPIGLIA DEI BERICI', 'B511'],\r\n ['MONTEGALDA', 'F514'],\r\n ['MONTEGALDELLA', 'F515'],\r\n ['MALO', 'E864'],\r\n ['CALDOGNO', 'B403'],\r\n ['ZOVENCEDO', 'M194'],\r\n ['ZUGLIANO', 'M199'],\r\n ['POVE DEL GRAPPA', 'G943'],\r\n ['SAN GERMANO DEI BERICI', 'H863'],\r\n ['BASSANO DEL GRAPPA', 'A703'],\r\n ['LONGARE', 'E671'],\r\n ['DUEVILLE', 'D379'],\r\n ['CHIUPPANO', 'C650'],\r\n ['GALLIO', 'D882'],\r\n ['POIANA MAGGIORE', 'G776'],\r\n ['ARSIERO', 'A444'],\r\n ['ISOLA VICENTINA', 'E354'],\r\n ['VILLAGA', 'L952'],\r\n ['AGUGLIARO', 'A093'],\r\n ['VILLAVERLA', 'M032'],\r\n ['TRISSINO', 'L433'],\r\n ['ASIAGO', 'A465'],\r\n ['ASIGLIANO VENETO', 'A467'],\r\n ['TEZZE SUL BRENTA', 'L156'],\r\n ['THIENE', 'L157'],\r\n ['CISMON DEL GRAPPA', 'C734'],\r\n ['COSTABISSARA', 'D107'],\r\n ['TONEZZA DEL CIMONE', 'D717'],\r\n ['NOGAROLE VICENTINO', 'F922'],\r\n ['MUSSOLENTE', 'F829'],\r\n ['RECOARO TERME', 'H214'],\r\n ['ROSSANO VENETO', 'H580'],\r\n ['CALVENE', 'B441'],\r\n ['PIOVENE ROCCHETTE', 'G694'],\r\n ['FOZA', 'D750'],\r\n ['NOVENTA VICENTINA', 'F964'],\r\n ['SARCEDO', 'I425'],\r\n ['VELO D\\'ASTICO', 'L723'],\r\n ['BOLZANO VICENTINO', 'A954'],\r\n ['TORRI DI QUARTESOLO', 'L297'],\r\n ['ALONTE', 'A220'],\r\n ['PIANEZZE', 'G560'],\r\n ['MONTECCHIO MAGGIORE', 'F464'],\r\n ['MONTECCHIO PRECALCINO', 'F465'],\r\n ['BRESSANVIDO', 'B161'],\r\n ['MARANO VICENTINO', 'E912']\r\n ],\r\n VR: [\r\n ['SAN BONIFACIO', 'H783'],\r\n ['SONA', 'I826'],\r\n ['SOMMACAMPAGNA', 'I821'],\r\n ['SELVA DI PROGNO', 'I594'],\r\n ['COLOGNA VENETA', 'C890'],\r\n ['COLOGNOLA AI COLLI', 'C897'],\r\n ['VIGASIO', 'L869'],\r\n ['MOZZECANE', 'F789'],\r\n ['TREVENZUOLO', 'L396'],\r\n ['MONTEFORTE D\\'ALPONE', 'F508'],\r\n ['CAVAION VERONESE', 'C370'],\r\n ['LAVAGNO', 'E489'],\r\n ['PESCANTINA', 'G481'],\r\n ['PESCHIERA DEL GARDA', 'G489'],\r\n ['ISOLA DELLA SCALA', 'E349'],\r\n ['BELFIORE', 'A737'],\r\n ['CASTEL D\\'AZZANO', 'C078'],\r\n ['SAN PIETRO IN CARIANO', 'I109'],\r\n ['SAN PIETRO DI MORUBIO', 'I105'],\r\n ['NOGARA', 'F918'],\r\n ['CONCAMARISE', 'C943'],\r\n ['COSTERMANO', 'D118'],\r\n ['SAN GIOVANNI ILARIONE', 'H916'],\r\n ['BARDOLINO', 'A650'],\r\n ['SANT\\'AMBROGIO DI VALPOLICELLA', 'I259'],\r\n ['SAN ZENO DI MONTAGNA', 'I414'],\r\n ['FUMANE', 'D818'],\r\n ['ARCOLE', 'A374'],\r\n ['BONAVIGO', 'A964'],\r\n ['MEZZANE DI SOTTO', 'F172'],\r\n ['CERRO VERONESE', 'C538'],\r\n ['LAZISE', 'E502'],\r\n ['VERONELLA', 'D193'],\r\n ['GARDA', 'D915'],\r\n ['CASALEONE', 'B886'],\r\n ['ROVEREDO DI GUA\\'', 'H610'],\r\n ['VALEGGIO SUL MINCIO', 'L567'],\r\n ['GAZZO VERONESE', 'D957'],\r\n ['ERBEZZO', 'D420'],\r\n ['FERRARA DI MONTE BALDO', 'D549'],\r\n ['PALU\\'', 'G297'],\r\n ['BOVOLONE', 'B107'],\r\n ['SORGA\\'', 'I850'],\r\n ['AFFI', 'A061'],\r\n ['CAZZANO DI TRAMIGNA', 'C412'],\r\n ['ZIMELLA', 'M178'],\r\n ['ZEVIO', 'M172'],\r\n ['ANGIARI', 'A292'],\r\n ['ROVERCHIARA', 'H606'],\r\n ['TORRI DEL BENACO', 'L287'],\r\n ['VESTENANOVA', 'L810'],\r\n ['RONCO ALL\\'ADIGE', 'H540'],\r\n ['MALCESINE', 'E848'],\r\n ['BUTTAPIETRA', 'B304'],\r\n ['MINERBE', 'F218'],\r\n ['SAN MAURO DI SALINE', 'H712'],\r\n ['SALIZZOLE', 'H714'],\r\n ['BADIA CALAVENA', 'A540'],\r\n ['CASTELNUOVO DEL GARDA', 'C225'],\r\n ['VILLAFRANCA DI VERONA', 'L949'],\r\n ['ILLASI', 'E284'],\r\n ['RONCA\\'', 'H522'],\r\n ['BRENTINO BELLUNO', 'B152'],\r\n ['POVEGLIANO VERONESE', 'G945'],\r\n ['SANT\\'ANNA D\\'ALFAEDO', 'I292'],\r\n ['SOAVE', 'I775'],\r\n ['BEVILACQUA', 'A837'],\r\n ['CEREA', 'C498'],\r\n ['ALBAREDO D\\'ADIGE', 'A137'],\r\n ['CAPRINO VERONESE', 'B709'],\r\n ['ERBE\\'', 'D419'],\r\n ['ISOLA RIZZA', 'E358'],\r\n ['DOLCE\\'', 'D317'],\r\n ['VERONA', 'L781'],\r\n ['SAN GIOVANNI LUPATOTO', 'H924'],\r\n ['BUSSOLENGO', 'B296'],\r\n ['RIVOLI VERONESE', 'H356'],\r\n ['CASTAGNARO', 'C041'],\r\n ['TERRAZZO', 'L136'],\r\n ['VILLA BARTOLOMEA', 'L912'],\r\n ['NOGAROLE ROCCA', 'F921'],\r\n ['NEGRAR', 'F861'],\r\n ['BOSCO CHIESANUOVA', 'B073'],\r\n ['BOSCHI SANT\\'ANNA', 'B070'],\r\n ['OPPEANO', 'G080'],\r\n ['GREZZANA', 'E171'],\r\n ['SANGUINETTO', 'H944'],\r\n ['MONTECCHIA DI CROSARA', 'F461'],\r\n ['LEGNAGO', 'E512'],\r\n ['PRESSANA', 'H048'],\r\n ['ROVERE\\' VERONESE', 'H608'],\r\n ['VELO VERONESE', 'L722'],\r\n ['CALDIERO', 'B402'],\r\n ['BRENZONE', 'B154'],\r\n ['TREGNAGO', 'L364'],\r\n ['SAN MARTINO BUON ALBERGO', 'I003'],\r\n ['PASTRENGO', 'G365'],\r\n ['MARANO DI VALPOLICELLA', 'E911']\r\n ],\r\n VT: [\r\n ['GROTTE DI CASTRO', 'E210'],\r\n ['CIVITELLA D\\'AGLIANO', 'C780'],\r\n ['MONTE ROMANO', 'F603'],\r\n ['MONTEROSI', 'F606'],\r\n ['CELLERE', 'C447'],\r\n ['CELLENO', 'C446'],\r\n ['TUSCANIA', 'L310'],\r\n ['VASANELLO', 'A701'],\r\n ['BAGNOREGIO', 'A577'],\r\n ['CAPRAROLA', 'B691'],\r\n ['RONCIGLIONE', 'H534'],\r\n ['LATERA', 'E467'],\r\n ['MARTA', 'E978'],\r\n ['VALLERANO', 'L612'],\r\n ['VIGNANELLO', 'L882'],\r\n ['VILLA SAN GIOVANNI IN TUSCIA', 'H913'],\r\n ['ARLENA DI CASTRO', 'A412'],\r\n ['ORIOLO ROMANO', 'G111'],\r\n ['ORTE', 'G135'],\r\n ['GALLESE', 'D870'],\r\n ['GRADOLI', 'E126'],\r\n ['CIVITA CASTELLANA', 'C765'],\r\n ['CORCHIANO', 'C988'],\r\n ['VEJANO', 'L713'],\r\n ['VITERBO', 'M082'],\r\n ['VITORCHIANO', 'M086'],\r\n ['BOLSENA', 'A949'],\r\n ['FARNESE', 'D503'],\r\n ['LUBRIANO', 'E713'],\r\n ['MONTALTO DI CASTRO', 'F419'],\r\n ['CASTIGLIONE IN TEVERINA', 'C315'],\r\n ['PIANSANO', 'G571'],\r\n ['PROCENO', 'H071'],\r\n ['VALENTANO', 'L569'],\r\n ['CANINO', 'B604'],\r\n ['CALCATA', 'B388'],\r\n ['CANEPINA', 'B597'],\r\n ['ACQUAPENDENTE', 'A040'],\r\n ['CAPODIMONTE', 'B663'],\r\n ['SORIANO NEL CIMINO', 'I855'],\r\n ['MONTEFIASCONE', 'F499'],\r\n ['TARQUINIA', 'D024'],\r\n ['CAPRANICA', 'B688'],\r\n ['SUTRI', 'L017'],\r\n ['BASSANO ROMANO', 'A704'],\r\n ['BASSANO IN TEVERINA', 'A706'],\r\n ['BLERA', 'A857'],\r\n ['GRAFFIGNANO', 'E128'],\r\n ['NEPI', 'F868'],\r\n ['CASTEL SANT\\'ELIA', 'C269'],\r\n ['TESSENNANO', 'L150'],\r\n ['VETRALLA', 'L814'],\r\n ['FABRICA DI ROMA', 'D452'],\r\n ['FALERIA', 'D475'],\r\n ['SAN LORENZO NUOVO', 'H969'],\r\n ['ISCHIA DI CASTRO', 'E330'],\r\n ['BARBARANO ROMANO', 'A628'],\r\n ['ONANO', 'G065'],\r\n ['BOMARZO', 'A955'],\r\n ['CARBOGNANO', 'B735']\r\n ],\r\n VV: [\r\n ['SAN CALOGERO', 'H785'],\r\n ['MONTEROSSO CALABRO', 'F607'],\r\n ['CAPISTRANO', 'B655'],\r\n ['ZAMBRONE', 'M143'],\r\n ['ZUNGRI', 'M204'],\r\n ['MILETO', 'F207'],\r\n ['SIMBARIO', 'I744'],\r\n ['BROGNATURO', 'B197'],\r\n ['SANT\\'ONOFRIO', 'I350'],\r\n ['ROMBIOLO', 'H516'],\r\n ['MAIERATO', 'E836'],\r\n ['DRAPIA', 'D364'],\r\n ['NICOTERA', 'F893'],\r\n ['DINAMI', 'D303'],\r\n ['PIZZONI', 'G728'],\r\n ['PIZZO', 'G722'],\r\n ['VAZZANO', 'L699'],\r\n ['VIBO VALENTIA', 'F537'],\r\n ['RICADI', 'H271'],\r\n ['MONGIANA', 'F364'],\r\n ['JOPPOLO', 'E389'],\r\n ['FRANCAVILLA ANGITOLA', 'D762'],\r\n ['FRANCICA', 'D767'],\r\n ['POLIA', 'G785'],\r\n ['BRIATICO', 'B169'],\r\n ['ZACCANOPOLI', 'M138'],\r\n ['SAN NICOLA DA CRISSA', 'I058'],\r\n ['ACQUARO', 'A043'],\r\n ['SORIANELLO', 'I853'],\r\n ['SORIANO CALABRO', 'I854'],\r\n ['SAN COSTANTINO CALABRO', 'H807'],\r\n ['DASA\\'', 'D253'],\r\n ['LIMBADI', 'E590'],\r\n ['VALLELONGA', 'L607'],\r\n ['STEFANACONI', 'I945'],\r\n ['FILOGASO', 'D596'],\r\n ['SPILINGA', 'I905'],\r\n ['NARDODIPACE', 'F843'],\r\n ['TROPEA', 'L452'],\r\n ['FILANDARI', 'D589'],\r\n ['FILADELFIA', 'D587'],\r\n ['FABRIZIA', 'D453'],\r\n ['SPADOLA', 'I884'],\r\n ['SERRA SAN BRUNO', 'I639'],\r\n ['SAN GREGORIO D\\'IPPONA', 'H941'],\r\n ['ARENA', 'A386'],\r\n ['PARGHELIA', 'G335'],\r\n ['GEROCARNE', 'D988'],\r\n ['CESSANITI', 'C581'],\r\n ['IONADI', 'E321']\r\n ]\r\n };\r\n ","import * as consts from '../constants';\r\n\r\nimport commonFunctions from '../commonFunctions';\r\n\r\nclass reportingApi {\r\n static loadDashboard(token) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/dashboard', 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadRendicontazione(token, filers) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/rendicontazione', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filers));\r\n });\r\n }\r\n\r\n static exportRendicontazione(token, filers) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/exportRendicontazione';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filers));\r\n });\r\n }\r\n\r\n static loadEstrattoConto(token, filters, pagingModel) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/loadEstrattoConto', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n ret.sortName = pagingModel.sortName;\r\n ret.sortOrder = pagingModel.sortOrder;\r\n resolve(ret);\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(Object.assign(filters, pagingModel)));\r\n });\r\n }\r\n\r\n static estrattoContoExport(token, filers) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/exportEstrattoConto';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filers));\r\n });\r\n }\r\n\r\n static marcaPagatoAllaCompagnia(token, ids, targetDate, amount, note) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/marcaPagatoAllaCompagnia', 'PUT');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ ids, targetDate, amount, note }));\r\n });\r\n }\r\n\r\n static loadEstrattoContoSociSostenitori(token, filters, pagingModel) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/loadEstrattoContoSocioSostenitore', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n ret.sortName = pagingModel.sortName;\r\n ret.sortOrder = pagingModel.sortOrder;\r\n resolve(ret);\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(Object.assign(filters, pagingModel)));\r\n });\r\n }\r\n\r\n \r\n static estrattoContoSociSostenitoriExport(token, filers) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/estrattoContosociSostenitoriExport';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filers));\r\n });\r\n }\r\n\r\n static loadEstrattoContoReferenti(token, filters, pagingModel) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/loadEstrattoContoReferenti', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n ret.sortName = pagingModel.sortName;\r\n ret.sortOrder = pagingModel.sortOrder;\r\n resolve(ret);\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(Object.assign(filters, pagingModel)));\r\n });\r\n }\r\n\r\n static estrattoContosociReferentiExport(token, filers) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/estrattoContosociReferentiExport';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filers));\r\n });\r\n }\r\n\r\n static loadEstrattoContoQuoteSociSostenitori(token, filters, pagingModel) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/loadEstrattoContoQuoteSociSostenitori', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n ret.sortName = pagingModel.sortName;\r\n ret.sortOrder = pagingModel.sortOrder;\r\n resolve(ret);\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(Object.assign(filters, pagingModel)));\r\n });\r\n }\r\n\r\n static estrattoContoQuoteSociSostenitoriExport(token, filers) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/estrattoContoQuoteSociSostenitoriExport';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filers));\r\n });\r\n }\r\n\r\n static marcaPagatoAlSocioSostenitore(token, ids, targetDate, networkRights, note) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/marcaPagatoAlSocioSostenitore', 'PUT');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject(JSON.parse(req.response).message);\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ ids, targetDate, amount: networkRights, note }));\r\n });\r\n }\r\n\r\n static marcaPagatoAlReferente(token, ids, targetDate, referenteRights) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/marcaPagatoAlReferente', 'PUT');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ ids, targetDate, amount: parseFloat(referenteRights.replace(',', '.')) }));\r\n });\r\n }\r\n\r\n static loadEstrattoContoXSocioSostenitore(token, filters, pagingModel) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/loadEstrattoContoXSocioSostenitore', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n ret.sortName = pagingModel.sortName;\r\n ret.sortOrder = pagingModel.sortOrder;\r\n resolve(ret);\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(Object.assign(filters, pagingModel)));\r\n });\r\n }\r\n\r\n static estrattoContoXSocioSostenitoreExport(token, filers) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/estrattoContoXSocioSostenitoreExport';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filers));\r\n });\r\n }\r\n\r\n static loadEstrattoContoIncassi(token, filters, pagingModel) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/loadEstrattoContoIncassi', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n ret.sortName = pagingModel.sortName;\r\n ret.sortOrder = pagingModel.sortOrder;\r\n resolve(ret);\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(Object.assign(filters, pagingModel)));\r\n });\r\n }\r\n\r\n static estrattoContoIncassiExport(token, filers) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/estrattoContoIncassiExport';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filers));\r\n });\r\n }\r\n\r\n static notificaScadenzaPagamentoQuietanza(token, accountPeriodId) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/notificaScadenzaPagamentoQuietanza/' + accountPeriodId;\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify());\r\n });\r\n }\r\n\r\n static loadCertificazioneIncassi(token, filters, pagingModel) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/loadCertificazioneIncassi', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n ret.sortName = pagingModel.sortName;\r\n ret.sortOrder = pagingModel.sortOrder;\r\n resolve(ret);\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(Object.assign(filters, pagingModel)));\r\n });\r\n }\r\n\r\n static printCertificazioneIncassi(token, contractId, year) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/printCertificazioneIncassi?contractId=' + contractId + '&year=' + year;\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n if (req.status === 204) {\r\n reject('Attenzione l\\'ammontare è pari a € 0,00 e quindi il certificato non viene generato.');\r\n } else {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n }\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static confirmAndSaveCertificazioneIncassi(token, contractId, year) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/confirmAndSaveCertificazioneIncassi?contractId=' + contractId + '&year=' + year;\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n if (req.status === 204) {\r\n reject('Attenzione l\\'ammontare è pari a € 0,00 e quindi il certificato non viene generato.');\r\n } else {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n }\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static confirmAndSaveAllCertificazioneIncassi(token, filters) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/confirmAndSaveAllCertificazioneIncassi?year=' + filters.year\r\n + '&aderente=' + encodeURI(filters.aderente)\r\n + '&network=' + encodeURI(filters.network)\r\n + '&tariffGroupId=' + encodeURI(filters.tariffGroupId);\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve('Certificazioni Generate, si ricorda che non vengono generate certificazioni con € 0,00 di importo.');\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static confirmAndSendCertificazioneIncassi(token, contractId, year) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/confirmAndSendCertificazioneIncassi?contractId=' + contractId + '&year=' + year;\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n if (req.status === 204)\r\n reject('Attenzione l\\'ammontare è pari a € 0,00 e quindi il certificato non viene inviato.');\r\n else\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static downloadCertificazioneIncassi(token, contractId, year) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/downloadCertificazioneIncassi?contractId=' + contractId + '&year=' + year;\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n if (req.status === 204) {\r\n reject('Attenzione l\\'ammontare è pari a € 0,00 e quindi il certificato non viene generato.');\r\n } else {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n }\r\n } else {\r\n reject('Problemi durante il tentativo di download!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static certificazioneIncassiExport(token, filters) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/certificazioneIncassiExport?year=' + filters.year\r\n + '&aderente=' + filters.aderente + '&network=' + filters.network + '&tariffGroupId=' + filters.tariffGroupId;\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filters));\r\n });\r\n }\r\n\r\n static loadEstrazioneAnagrafiche(token, filters) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/reporting/loadEstrazioneAnagrafiche', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n resolve(ret);\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(Object.assign(filters)));\r\n });\r\n }\r\n\r\n static estrazioneAnagraficheExport(token, filters) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/reporting/estrazioneAnagraficheExport';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filters));\r\n });\r\n }\r\n}\r\n\r\nexport default reportingApi;\r\n","import * as commonActions from './commonActions';\r\n\r\nimport reportingApi from '../api/reportingApi';\r\n\r\nexport function loadDashboard() {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.loadDashboard(getState().authenticationState.token).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadRendicontazione(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.loadRendicontazione(getState().authenticationState.token, filters).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function exportRendicontazione(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.exportRendicontazione(getState().authenticationState.token, filters).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadEstrattoConto(filters, pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.loadEstrattoConto(getState().authenticationState.token, filters, pagingModel).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function estrattoContoExport(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.estrattoContoExport(getState().authenticationState.token, filters).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function marcaPagatoAllaCompagnia(ids, targetDate, amount, note) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.marcaPagatoAllaCompagnia(getState().authenticationState.token, ids, targetDate, amount, note).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadEstrattoContoSociSostenitori(filters, pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.loadEstrattoContoSociSostenitori(getState().authenticationState.token, filters, pagingModel).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function estrattoContoSociSostenitoriExport(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.estrattoContoSociSostenitoriExport(getState().authenticationState.token, filters).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadEstrattoContoReferenti(filters, pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.loadEstrattoContoReferenti(getState().authenticationState.token, filters, pagingModel).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function estrattoContosociReferentiExport(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.estrattoContosociReferentiExport(getState().authenticationState.token, filters).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadEstrattoContoQuoteSociSostenitori(filters, pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.loadEstrattoContoQuoteSociSostenitori(getState().authenticationState.token, filters, pagingModel).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function estrattoContoQuoteSociSostenitoriExport(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.estrattoContoQuoteSociSostenitoriExport(getState().authenticationState.token, filters).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function marcaPagatoAlSocioSostenitore(ids, targetDate, networkRights, rimessoNetworkNote) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.marcaPagatoAlSocioSostenitore(getState().authenticationState.token, ids, targetDate, networkRights, rimessoNetworkNote).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function marcaPagatoAlReferente(ids, targetDate, referenteRights) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.marcaPagatoAlReferente(getState().authenticationState.token, ids, targetDate, referenteRights).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadEstrattoContoXSocioSostenitore(filters, pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.loadEstrattoContoXSocioSostenitore(getState().authenticationState.token, filters, pagingModel).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function estrattoContoXSocioSostenitoreExport(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.estrattoContoXSocioSostenitoreExport(getState().authenticationState.token, filters).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadEstrattoContoIncassi(filters, pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.loadEstrattoContoIncassi(getState().authenticationState.token, filters, pagingModel).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function estrattoContoIncassiExport(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.estrattoContoIncassiExport(getState().authenticationState.token, filters).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function notificaScadenzaPagamentoQuietanza(accountPeriodId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.notificaScadenzaPagamentoQuietanza(getState().authenticationState.token, accountPeriodId).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadCertificazioneIncassi(filters, pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.loadCertificazioneIncassi(getState().authenticationState.token, filters, pagingModel).then((res) => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function printCertificazioneIncassi(contractId, year) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.printCertificazioneIncassi(getState().authenticationState.token, contractId, year).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function confirmAndSaveCertificazioneIncassi(contractId, year) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.confirmAndSaveCertificazioneIncassi(getState().authenticationState.token, contractId, year).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function confirmAndSaveAllCertificazioneIncassi(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.confirmAndSaveAllCertificazioneIncassi(getState().authenticationState.token, filters).then((message) => {\r\n dispatch(commonActions.unlockScreen());\r\n return message;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n} \r\n\r\nexport function confirmAndSendCertificazioneIncassi(contractId, year) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.confirmAndSendCertificazioneIncassi(getState().authenticationState.token, contractId, year).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function downloadCertificazioneIncassi(contractId, year) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.downloadCertificazioneIncassi(getState().authenticationState.token, contractId, year).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function certificazioneIncassiExport(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.certificazioneIncassiExport(getState().authenticationState.token, filters).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadEstrazioneAnagrafiche(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.loadEstrazioneAnagrafiche(getState().authenticationState.token, filters).then((res) => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function estrazioneAnagraficheExport(filters) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return reportingApi.estrazioneAnagraficheExport(getState().authenticationState.token, filters).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n","import * as consts from '../constants';\r\nimport commonFunctions from '../commonFunctions';\r\n\r\nclass warrantyApi {\r\n static loadAllWarranties(token) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/warranty/all';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento delle Prestazioni!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadWarranties(token, searchModel) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/warranty/filtered', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento delle Prestazioni!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(searchModel));\r\n });\r\n }\r\n\r\n static loadWarranty(token, id) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/warranty/get/' + id, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento della Garanzia!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static saveWarranty(token, warranty) {\r\n return new Promise((resolve, reject) => {\r\n let method = 'POST';\r\n if (warranty.id > -1)\r\n method = 'PUT';\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/warranty/save', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(warranty));\r\n });\r\n }\r\n\r\n static deleteWarranty(token, warrantyId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/warranty/delete/' + warrantyId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static cloneWarranty(token, warrantyId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/warranty/clone/' + warrantyId, 'PUT');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n}\r\n\r\nexport default warrantyApi;\r\n","import * as consts from '../constants';\r\nimport * as commonActions from './commonActions';\r\n\r\nimport warrantyApi from '../api/warrantyApi';\r\n\r\nexport function loadWarrantiesSuccess(pagingModel) {\r\n return { type: consts.ACTONS.LOAD_WARRANTIES_SUCCESS, pagingModel };\r\n}\r\n\r\nexport function loadWarrantiesFailed() {\r\n return { type: consts.ACTONS.LOAD_WARRANTIES_FAILED };\r\n}\r\n\r\nexport function loadWarranties(pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return warrantyApi.loadWarranties(getState().authenticationState.token, pagingModel).then(res => {\r\n res.sortName = pagingModel.sortName;\r\n res.sortOrder = pagingModel.sortOrder;\r\n res.companyName = pagingModel.companyName;\r\n res.warrantyName = pagingModel.warrantyName;\r\n\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadWarrantiesSuccess(res));\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadWarrantiesFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadAllWarranties() {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return warrantyApi.loadAllWarranties(getState().authenticationState.token).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadWarranty(id) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return warrantyApi.loadWarranty(getState().authenticationState.token, id).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveWarranty(warranty) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return warrantyApi.saveWarranty(getState().authenticationState.token, warranty).then(savedWarranty => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadWarranties(getState().warrantyState));\r\n return savedWarranty;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function deleteWarranty(warrantyId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return warrantyApi.deleteWarranty(getState().authenticationState.token, warrantyId).then(() => {\r\n dispatch(loadWarranties(getState().warrantyState));\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function cloneWarranty(warrantyId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return warrantyApi.cloneWarranty(getState().authenticationState.token, warrantyId).then((clonedWarrantyId) => {\r\n dispatch(commonActions.unlockScreen());\r\n return clonedWarrantyId;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n","import _ from 'lodash';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport checkFunctions from '../../CheckFunction';\r\nimport Iban from '../../utils/Iban';\r\n\r\nconst TextInput = ({ disabled, errorMessage, errorRequiredMessage, errorMinCharactersMessage, isIban = false, isCF = false, isPIVA = false, label, minCharacters, name, onChange, required, text, type = 'text', validate, value, onClick }) => {\r\n\r\n function validation(value) {\r\n // First we Check Custom Validation\r\n if (validate && !validate(value)) {\r\n if (errorMessage)\r\n return errorMessage;\r\n return 'Validazione non rispettata';\r\n }\r\n else if (required && _.isEmpty(value)) {\r\n if (errorRequiredMessage)\r\n return errorRequiredMessage;\r\n return 'Campo obbligatorio';\r\n }\r\n else if (required && minCharacters && value.length < minCharacters) {\r\n if (errorMinCharactersMessage)\r\n return errorMinCharactersMessage;\r\n return 'Numero minimo di caratteri: ' + minCharacters;\r\n } else if (type === 'email' && !checkFunctions.checkEmail(value) && !_.isUndefined(value) && !_.isEmpty(value)) {\r\n if (errorMessage)\r\n return errorMessage;\r\n return 'Email non corretta';\r\n } else if (required && isCF && !checkFunctions.checkCF(value)) {\r\n if (errorMessage)\r\n return errorMessage;\r\n return 'Codice Fiscale non corretto';\r\n } else if (required && isPIVA && !checkFunctions.checkPIVA(value)) {\r\n if (errorMessage)\r\n return errorMessage;\r\n return 'Partita IVA non corretta';\r\n } else if ((required || (!_.isNil(value) && !_.isEmpty(value))) && isIban) {\r\n const ib = new Iban();\r\n if (!ib.isValid(value)) {\r\n if (errorMessage)\r\n return errorMessage;\r\n return 'IBAN non corretto';\r\n }\r\n }\r\n\r\n return '';\r\n }\r\n\r\n /**\r\n * For us is import to return this\r\n * errorMessage and Target: { name: '', value: '' }\r\n * @param {Coming from the input HTML} event \r\n */\r\n function onChangeLocal(event) {\r\n if (onChange) {\r\n onChange({\r\n target: {\r\n name: event.target.name,\r\n value: event.target.value,\r\n errorMessage: validation(event.target.value)\r\n }\r\n });\r\n }\r\n }\r\n\r\n const resultErrorMessage = validation(value);\r\n\r\n return (\r\n
\r\n
\r\n {label ? : ''}\r\n \r\n
\r\n {resultErrorMessage !== '' &&
{resultErrorMessage}
}\r\n
\r\n );\r\n};\r\n\r\nTextInput.propTypes = {\r\n disabled: PropTypes.string, // Set 'disabled' to disabled the input\r\n errorMessage: PropTypes.string, // Used for custom validation\r\n errorRequiredMessage: PropTypes.string, // Used with required\r\n errorMinCharactersMessage: PropTypes.string, // Used with min number of chars\r\n isIban: PropTypes.bool,\r\n isCF: PropTypes.bool, // True if this is a CF Field\r\n isPIVA: PropTypes.bool, // True if this is a PIVA Field\r\n label: PropTypes.string, // Label\r\n minCharacters: PropTypes.number, // Minimum Number of chars required\r\n name: PropTypes.string.isRequired,\r\n onChange: PropTypes.func,\r\n onClick: PropTypes.func,\r\n onError: PropTypes.func,\r\n required: PropTypes.bool, // If this field is required\r\n text: PropTypes.string,\r\n type: PropTypes.string, // This define the Input Type cos it could be password, email or more\r\n validate: PropTypes.func,\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\r\n};\r\n\r\nexport default TextInput;\r\n","export const ACTONS = {\r\n INIT_APP: \"INIT_APP\",\r\n\r\n LOGIN_SUCCESS: \"LOGIN_SUCCESS\",\r\n LOGOUT_SUCCESS: \"LOGOUT_SUCCESS\",\r\n\r\n SCREEN_LOCK_REQUEST: \"SCREEN_LOCK_REQUEST\",\r\n SCREEN_UNLOCK_REQUEST: \"SCREEN_UNLOCK_REQUEST\",\r\n LOAD_CONFIGURATION_SUCCESS: \"LOAD_CONFIGURATION_SUCCESS\",\r\n LOAD_NETWORKS_SUCCESS: \"LOAD_NETWORKS_SUCCESS\",\r\n LOAD_NETWORKS_FAILED: \"LOAD_NETWORKS_FAILED\",\r\n LOAD_NETWORK_PRODUCTS_SUCCESS: \"LOAD_NETWORK_PRODUCTS_SUCCESS\",\r\n LOAD_NETWORK_PRODUCTS_FAILED: \"LOAD_NETWORK_PRODUCTS_FAILED\",\r\n LOAD_WARRANTIES_SUCCESS: \"LOAD_WARRANTIES_SUCCESS\",\r\n LOAD_WARRANTIES_FAILED: \"LOAD_WARRANTIES_FAILED\",\r\n LOAD_TARIFFS_SUCCESS: \"LOAD_TARIFFS_SUCCESS\",\r\n LOAD_TARIFFS_FAILED: \"LOAD_TARIFFS_FAILED\",\r\n LOAD_TARIFF_GROUPS_SUCCESS: \"LOAD_TARIFF_GROUPS_SUCCESS\",\r\n LOAD_TARIFF_GROUPS_FAILED: \"LOAD_TARIFF_GROUPS_FAILED\",\r\n LOAD_AGENTS_SUCCESS: \"LOAD_AGENTS_SUCCESS\",\r\n LOAD_AGENTS_FAILED: \"LOAD_AGENTS_FAILED\",\r\n LOAD_CUSTOMERS_SUCCESS: \"LOAD_CUSTOMERS_SUCCESS\",\r\n LOAD_CUSTOMERS_FAILED: \"LOAD_CUSTOMERS_FAILED\",\r\n LOAD_USERS_SUCCESS: \"LOAD_USERS_SUCCESS\",\r\n LOAD_USERS_FAILED: \"LOAD_USERS_FAILED\",\r\n LOAD_COMPANIES_SUCCESS: \"LOAD_COMPANIES_SUCCESS\",\r\n LOAD_COMPANIES_FAILED: \"LOAD_COMPANIES_FAILED\",\r\n\r\n LOAD_RENDICONTAZIONE_SUCCESS: \"LOAD_RENDICONTAZIONE_SUCCESS\",\r\n LOAD_RENDICONTAZIONE_FAILED: \"LOAD_RENDICONTAZIONE_FAILED\",\r\n\r\n UPDATE_CONTRAENTE: \"UPDATE_CONTRAENTE\",\r\n SAVE_CONTRACT_SUCCESS: \"SAVE_CONTRACT_SUCCESS\",\r\n LOAD_CONTRACTS_SUCCESS: \"LOAD_CONTRACTS_SUCCESS\",\r\n LOAD_CONTRACTS_FAILED: \"LOAD_CONTRACTS_FAILED\",\r\n};\r\n\r\nexport const AUTHENTICATION = {\r\n ReCaptcha: \"6LfgGX0UAAAAAIv_RQ7l1ekQaaD3SnP_Hw8wKbNf\",\r\n COOKIE_NAME: \"gefItAuth\",\r\n USER_ROLE: {\r\n Admin: 1,\r\n Fab: 2,\r\n Seb: 3,\r\n NetworkOwner: 4,\r\n NetworkReferent: 5,\r\n NetworkAgent: 6,\r\n CentraleOperativa: 7,\r\n NetworkMaster: 8,\r\n },\r\n\r\n XXXMLHttpRequest: function (\r\n token,\r\n url,\r\n method = \"GET\",\r\n contentType = \"application/json\"\r\n ) {\r\n var req = new XMLHttpRequest();\r\n req.open(method, url, true);\r\n req.setRequestHeader(\"Content-Type\", contentType);\r\n req.setRequestHeader(\"X-Token\", token);\r\n req.addEventListener(\r\n \"readystatechange\",\r\n function () {\r\n if (\r\n this.readyState === 4 &&\r\n (this.status === 401 || this.status === 403)\r\n ) {\r\n window.location.href = \"#/logoff\";\r\n }\r\n },\r\n false\r\n );\r\n\r\n return req;\r\n },\r\n};\r\n\r\nexport const AGE_LIMITS = {\r\n THRESHOLD_AGE: 65,\r\n TYPES: {\r\n NO_LIMITS: 0,\r\n NO_UNDER_65: 1,\r\n NO_65_AND_OVER_65: 2,\r\n JUST_ONE_OVER_65: 3,\r\n NO_35_AND_OVER_35: 4,\r\n NO_UNDER_35_NO_65_AND_OVER_65: 5,\r\n },\r\n};\r\n\r\nexport const GENERIC_ENUM = {\r\n contractPeriodModeTypes: [\r\n { value: 0, text: \"Durata Annuale\" },\r\n { value: 1, text: \"Durata Anno Solare\" },\r\n { value: 2, text: \"Annuale Collettiva\" },\r\n { value: 3, text: \"Forfait\" },\r\n { value: 4, text: \"Covid-19\" },\r\n ],\r\n fractionationType: [\r\n { value: \"1\", text: \"Annuo\" },\r\n { value: \"2\", text: \"Mensile\" },\r\n { value: \"3\", text: \"Trimestrale\" },\r\n { value: \"4\", text: \"Semestrale\" },\r\n ],\r\n personType: [\r\n { value: 0, text: \"Persona Fisica\" },\r\n { value: 1, text: \"Persona Giuridica NON DISPONIBILE\", disabled: \"true\" },\r\n ],\r\n paymentType: [\r\n { value: \"1\", text: \"SEPA SDD\" },\r\n { value: \"2\", text: \"BB\" },\r\n { value: \"3\", text: \"AB\" },\r\n { value: \"4\", text: \"CC\" },\r\n { value: \"5\", text: \"CONSEL\" },\r\n ],\r\n familyTreeTypes: [\r\n { value: 1, text: \"Moglie\" },\r\n { value: 2, text: \"Marito\" },\r\n { value: 3, text: \"Figlio\" },\r\n { value: 4, text: \"Figlia\" },\r\n { value: 5, text: \"Padre\" },\r\n { value: 6, text: \"Madre\" },\r\n { value: 8, text: \"Convivente More Uxorio\" },\r\n { value: 9, text: \"Fratello\" },\r\n { value: 10, text: \"Sorella\" },\r\n ],\r\n businessRoleTypes: [\r\n { value: 0, text: \"Nessuno\" },\r\n { value: 1, text: \"Dirigente\" },\r\n { value: 2, text: \"Amministratore\" },\r\n { value: 3, text: \"Quadro\" },\r\n { value: 4, text: \"Impiegato\" },\r\n { value: 5, text: \"Operaio\" },\r\n { value: 6, text: \"Familiare non a Carico\" },\r\n ],\r\n networkCategory: {\r\n networkMaster: [{ value: 1, text: \"Grifo\" }],\r\n networkType: [\r\n { value: 1, text: \"Direct\" },\r\n { value: 2, text: \"Non Direct\" },\r\n { value: 3, text: \"Mixed\" },\r\n ],\r\n networkGiuridicForm: [\r\n { value: 1, text: \"Casse\" },\r\n { value: 2, text: \"Fondi\" },\r\n { value: 3, text: \"Sms\" },\r\n { value: 4, text: \"Società di Capitali\" },\r\n { value: 5, text: \"Società di Persone\" },\r\n { value: 6, text: \"Ditta Individuale\" },\r\n { value: 8, text: \"S.r.l. a Socio Unico\" },\r\n { value: 7, text: \"Altro\" },\r\n ],\r\n networkSize: [\r\n { value: 1, text: \"Small\" },\r\n { value: 2, text: \"Medium\" },\r\n { value: 3, text: \"Large\" },\r\n ],\r\n },\r\n sex: [\r\n { value: 1, text: \"Uomo\" },\r\n { value: 2, text: \"Donna\" },\r\n ],\r\n FRAZIONAMENTO_TYPES: {\r\n ANNUO: 1,\r\n MENSILE: 2,\r\n TRIMESTRALE: 3,\r\n SEMSTRALE: 4,\r\n },\r\n DOCUMENT_TYPES: {\r\n GENRICO: 0,\r\n PREVENTIVO: 1,\r\n CONTRATTO: 2,\r\n MODULO_ADESIONE_FIRMATO: 3,\r\n CI: 4,\r\n CF: 5,\r\n Quietanzamento: 6,\r\n SEPA_SDD: 7,\r\n AGGIUNTA_FAMILIARE: 8,\r\n PROPOSTA_DIPENDENTI: 9,\r\n DOCUMENTO_IDENTITA: 10,\r\n MODULO_ADESIONE_AZIENDA_FIRMATO: 11,\r\n LETTERA_BENVENUTO_SEB: 12,\r\n },\r\n CONTRACT_STATUS: {\r\n CREAZIONE: -1,\r\n PREVENTIVO: 1,\r\n PREVENTIVO_COFERMATO: 2,\r\n POLIZZA: 3,\r\n ANNULLO: 4,\r\n CHIUSA: 5,\r\n },\r\n CONTRACT_PERIOD_MODE: {\r\n EXPIRATION_LAST_DAY_OF_YEAR: 0,\r\n EXPIRATION_NEXT_YEAR: 1,\r\n COLLETTIVA_LAST_DAY_OF_YEAR: 2,\r\n FORFAIT_LAST_DAY_OF_YEAR: 3,\r\n COVID_19: 4,\r\n },\r\n ACCOUNT_PERIOD_STATUS: {\r\n PAGAMENTO: 1,\r\n ESITO_PAGAMENTO_OK: 2,\r\n ESITO_PAGAMENTO_KO: 3,\r\n ANNULLATO: 4,\r\n },\r\n ACCOUNT_PERIOD_ACTIVITY: {\r\n EMISSIONE: 1,\r\n QUIETANZIAMENTO: 2,\r\n RIMBORSO: 3,\r\n RINNOVO: 4,\r\n AGGIUNTA_FAMILIARE: 5,\r\n },\r\n FAMILY_TREE_TYPES: {\r\n CAPO_NUCLEO: 0,\r\n MOGLIE: 1,\r\n MARITO: 2,\r\n FIGLIO: 3,\r\n FIGLIA: 4,\r\n PADRE: 5,\r\n MADRE: 6,\r\n LEGALE_RAPPRESENTANTE: 7,\r\n CONVIVENTE_MORE_UXORIO: 8,\r\n FRATELLO: 9,\r\n SORELLA: 10,\r\n },\r\n BUSINESS_ROLE_TYPES: {\r\n NESSUNO: 0,\r\n DIRIGENTE: 1,\r\n AMMINISTRATORE: 2,\r\n QUADRO: 3,\r\n IMPIEGATO: 4,\r\n OPERAIO: 5,\r\n FAMILIARE_NON_A_CARICO: 6,\r\n },\r\n PIANO_FLEX: {\r\n COMPANY_FIRST_WARRANTY: 26, // SALUTE E BENESSERE SMS\r\n },\r\n ERROR_MESSAGE: {\r\n BE: [\r\n { code: 0, message: \"Errore generico sul server\" },\r\n { code: 1, message: \"Username già in uso\" },\r\n { code: 2, message: \"Compagnia già in Database\" },\r\n { code: 3, message: \"Compagnia utiizzata e non Cancellabile\" },\r\n { code: 4, message: \"Prestazione utiizzata e non Cancellabile\" },\r\n { code: 5, message: \"Password errata o mancante\" },\r\n { code: 6, message: \"Codice Fiscale errato o mancante\" },\r\n { code: 7, message: \"Dati utente mancanti\" },\r\n { code: 8, message: \"Username errato o mancante\" },\r\n { code: 9, message: \"Piano in uso e non Cancellabile\" },\r\n { code: 10, message: \"Date di inizio e fine piano errate\" },\r\n { code: 11, message: \"Date di inizio e fine piano errate\" },\r\n {\r\n code: 12,\r\n message:\r\n \"Alcuni Pagamenti non risultano effettuati, non è quindi possibile Rinnovare il Contratto\",\r\n },\r\n {\r\n code: 13,\r\n message: \"Attenzione, i pagamenti devono essere fatti in ordine\",\r\n },\r\n {\r\n code: 14,\r\n message:\r\n \"La data di rinnovo è sbagliata, deve essere maggiore della scandeza del contratto in scadenza\",\r\n },\r\n { code: 15, message: \"Piano in uso e non Cancellabile\" },\r\n {\r\n code: 16,\r\n message:\r\n \"Attenzione il cliente che si sta utilizzando è già censito, tornare nella maschera di anagrfica, cercarlo e selezionare quello proposto o chiedere agli amministratori di sistema di modificarlo nel caso si vogliano cambiare i dati anagrafici.\",\r\n },\r\n {\r\n code: 17,\r\n message:\r\n \"La data di chiusura deve essere maggiore della data di partenza della Adesione\",\r\n },\r\n { code: 18, message: \"Codice Fiscale Aderente errato\" },\r\n { code: 19, message: \"Codice Fiscale Familiare errato\" },\r\n { code: 20, message: \"Codice Fiscale Legale Rappresentante errato\" },\r\n { code: 21, message: \"Codice Fiscale Dipendente o Familiare errato\" },\r\n { code: 22, message: \"Gruppo in uso e quindi non eliminabile\" },\r\n {\r\n code: 23,\r\n message:\r\n \"Le date di inizio e fine non corrispondono ai Valori del Piano Mutualistico base\",\r\n },\r\n {\r\n code: 24,\r\n message:\r\n \"Username non corretto, utilizzare solo caratteri alfanumerici e almeno 3 caratteri\",\r\n },\r\n ],\r\n },\r\n MONTHS: [\r\n \"Gennaio\",\r\n \"Febbraio\",\r\n \"Marzo\",\r\n \"Aprile\",\r\n \"Maggio\",\r\n \"Giugno\",\r\n \"Luglio\",\r\n \"Agosto\",\r\n \"Settembre\",\r\n \"Ottobre\",\r\n \"Novembre\",\r\n \"Dicembre\",\r\n ],\r\n WEEKSDAY_LONG: [\r\n \"Domenica\",\r\n \"Lunedì\",\r\n \"Martedì\",\r\n \"Mercoledì\",\r\n \"Giovedì\",\r\n \"Venerdì\",\r\n \"Sabato\",\r\n ],\r\n WEEKSDAY_SHORT: [\"Do\", \"Lu\", \"Ma\", \"Me\", \"Gi\", \"Ve\", \"Sa\"],\r\n};\r\n\r\nexport const TEST = {\r\n DELAY: 1000,\r\n};\r\n","class AuthenticationApi {\r\n\r\n static loginWithToken(sanityToken) {\r\n return new Promise((resolve, reject) => {\r\n var req = new XMLHttpRequest();\r\n req.open('POST', process.env.REACT_APP_BASE_URL + '/api/Authentication/authenticatetoken?sanityToken=' + sanityToken, true);\r\n req.setRequestHeader('Content-Type', 'application/json');\r\n\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Token non corretto');\r\n } else {\r\n reject('Errore sul server durante il tentativo di effettuare un login!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loginSso(isakToken) {\r\n return new Promise((resolve, reject) => {\r\n var req = new XMLHttpRequest();\r\n req.open('POST', process.env.REACT_APP_BASE_URL + '/api/Authentication/authenticateSso?isakToken=' + isakToken, true);\r\n req.setRequestHeader('Content-Type', 'application/json');\r\n\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Token non corretto');\r\n } else {\r\n reject('Errore sul server durante il tentativo di effettuare un login!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static login(loginModel) {\r\n return new Promise((resolve, reject) => {\r\n var req = new XMLHttpRequest();\r\n req.open('POST', process.env.REACT_APP_BASE_URL + '/api/Authentication/authenticateuser', true);\r\n req.setRequestHeader('Content-Type', 'application/json');\r\n\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Username, password o ReCaptcha non corretti');\r\n } else {\r\n reject('Errore sul server durante il tentativo di effettuare un login!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(loginModel));\r\n });\r\n }\r\n\r\n static logout(token) {\r\n return new Promise((resolve, reject) => {\r\n // DO Nothing maybe in the future call server\r\n resolve();\r\n });\r\n }\r\n\r\n static generateResetLink(model) {\r\n return new Promise((resolve, reject) => {\r\n var req = new XMLHttpRequest();\r\n req.open('POST', process.env.REACT_APP_BASE_URL + '/api/Authentication/generateResetLink', true);\r\n req.setRequestHeader('Content-Type', 'application/json');\r\n\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('La tua richiesta non è corretta e non possiamo aiutarti per ragioni di sicurezza, contatta l\\'Amministratore');\r\n } else {\r\n reject('Errore sul server durante il tentativo di effettuare un reset password!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(model));\r\n });\r\n }\r\n\r\n static resetPassword(model) {\r\n return new Promise((resolve, reject) => {\r\n var req = new XMLHttpRequest();\r\n req.open('POST', process.env.REACT_APP_BASE_URL + '/api/Authentication/resetPassword', true);\r\n req.setRequestHeader('Content-Type', 'application/json');\r\n\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n try {\r\n const app = JSON.parse(req.response);\r\n if (app.message)\r\n reject(app.message);\r\n else\r\n reject('La tua richiesta non è corretta e non possiamo aiutarti per ragioni di sicurezza, contatta l\\'Amministratore');\r\n } catch (err) {\r\n reject('La tua richiesta non è corretta e non possiamo aiutarti per ragioni di sicurezza, contatta l\\'Amministratore');\r\n }\r\n } else {\r\n reject('Errore sul server durante il tentativo di effettuare un reset password!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(model));\r\n });\r\n }\r\n}\r\n\r\nexport default AuthenticationApi;\r\n","import _ from 'lodash';\r\nimport Cookies from 'universal-cookie';\r\n\r\nimport * as consts from '../constants';\r\nimport * as commonActions from './commonActions';\r\n\r\n// import authenticationApi from '../api/mocks/mockAuthenticationApi'\r\nimport authenticationApi from '../api/authenticationApi';\r\n\r\nconst cookies = new Cookies();\r\n\r\nexport function loginSuccess(authenticationState) {\r\n // Store or Cookie\r\n if (typeof (Storage) !== 'undefined')\r\n localStorage.setItem(consts.AUTHENTICATION.STORAGE_NAME, JSON.stringify(authenticationState));\r\n else\r\n cookies.set(consts.AUTHENTICATION.COOKIE_NAME, authenticationState, { path: '/' });\r\n\r\n return { type: consts.ACTONS.LOGIN_SUCCESS, authenticationState };\r\n}\r\n\r\nexport function logOutSuccess() {\r\n // Store or Cookie\r\n if (typeof (Storage) !== 'undefined')\r\n localStorage.setItem(consts.AUTHENTICATION.STORAGE_NAME, null);\r\n else\r\n cookies.remove(consts.AUTHENTICATION.STORAGE_NAME, { path: '/' });\r\n\r\n return { type: consts.ACTONS.LOGOUT_SUCCESS };\r\n}\r\n\r\nexport function loginWithToken(sanityToken) {\r\n return async function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n try {\r\n const authenticationState = await authenticationApi.loginWithToken(sanityToken);\r\n dispatch(loginSuccess(authenticationState));\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(commonActions.loadConfiguration());\r\n }\r\n catch (error) {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n }\r\n };\r\n}\r\n\r\nexport function loginSso(isakToken) {\r\n return async function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n try {\r\n const authenticationState = await authenticationApi.loginSso(isakToken);\r\n dispatch(loginSuccess(authenticationState));\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(commonActions.loadConfiguration());\r\n }\r\n catch (error) {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n }\r\n };\r\n}\r\n\r\nexport function login(loginModel) {\r\n return async function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n try {\r\n const authenticationState = await authenticationApi.login(loginModel);\r\n dispatch(loginSuccess(authenticationState));\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(commonActions.loadConfiguration());\r\n }\r\n catch (error) {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n }\r\n };\r\n}\r\n\r\nexport function logout() {\r\n return async function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n try {\r\n await authenticationApi.logout(getState().authenticationState.token);\r\n dispatch(logOutSuccess());\r\n dispatch(commonActions.unlockScreen());\r\n }\r\n catch (error) {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n }\r\n };\r\n}\r\n\r\nexport function generateResetLink(model) {\r\n return async function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n try {\r\n await authenticationApi.generateResetLink(model);\r\n dispatch(commonActions.unlockScreen());\r\n }\r\n catch (error) {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n }\r\n };\r\n}\r\n\r\nexport function resetPassword(model) {\r\n return async function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n try {\r\n await authenticationApi.resetPassword(model);\r\n dispatch(commonActions.unlockScreen());\r\n }\r\n catch (error) {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n }\r\n };\r\n}\r\n\r\nexport function verifyAuthentication(authenticationState, history) {\r\n if (!authenticationState || !authenticationState.token || authenticationState.token === '') {\r\n history.push('/login');\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nexport function lookForCookie() {\r\n var authenticationState = undefined;\r\n\r\n try {\r\n // Store or Cookie\r\n if (typeof (Storage) !== 'undefined')\r\n authenticationState = JSON.parse(localStorage.getItem(consts.AUTHENTICATION.STORAGE_NAME));\r\n else\r\n authenticationState = cookies.get(consts.AUTHENTICATION.STORAGE_NAME);\r\n } catch (err) {\r\n // This cos we can have a bad value in storage.\r\n }\r\n\r\n return { type: consts.ACTONS.INIT_APP, authenticationState };\r\n}\r\n\r\nexport function alreadyLoggedIn(history) {\r\n var authenticationState = undefined;\r\n\r\n try {\r\n // Store or Cookie\r\n if (typeof (Storage) !== 'undefined')\r\n authenticationState = JSON.parse(localStorage.getItem(consts.AUTHENTICATION.STORAGE_NAME));\r\n else\r\n authenticationState = cookies.get(consts.AUTHENTICATION.STORAGE_NAME);\r\n } catch (err) {\r\n // This cos we can have a bad value in storage.\r\n }\r\n\r\n if (authenticationState && authenticationState.token)\r\n history.push('/');\r\n}\r\n\r\nexport function isAdmin(authenticationState) {\r\n return authenticationState.roleId === consts.AUTHENTICATION.USER_ROLE.Admin;\r\n}\r\n\r\nexport function canISeeQuotationPage(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canIEditTariff(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canISeeSociSostenitori(authenticationState) {\r\n return authenticationState.roleId < consts.AUTHENTICATION.USER_ROLE.NetworkOwner || authenticationState.roleId === consts.AUTHENTICATION.USER_ROLE.NetworkReferent || authenticationState.roleId === consts.AUTHENTICATION.USER_ROLE.NetworkMaster;\r\n}\r\n\r\nexport function canISeeNetworkProductTariff(authenticationState) {\r\n return authenticationState.roleId > consts.AUTHENTICATION.USER_ROLE.Seb && authenticationState.roleId !== consts.AUTHENTICATION.USER_ROLE.NetworkMaster;\r\n}\r\n\r\nexport function canISeeAmministrazione(authenticationState) {\r\n return authenticationState.roleId !== consts.AUTHENTICATION.USER_ROLE.CentraleOperativa && authenticationState.roleId !== consts.AUTHENTICATION.USER_ROLE.NetworkMaster;\r\n}\r\n\r\nexport function canIAddNetwork(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canIEditNetwork(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.NetworkOwner;\r\n}\r\n\r\nexport function canISeeQuotes(authenticationState, network) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb && network.id > 0;\r\n}\r\n\r\nexport function canISeeNetworkDocuments(authenticationState, network) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb && network.id > 0;\r\n}\r\n\r\nexport function canISeeNetworkNotes(authenticationState, network) {\r\n return network.id > 0 && (authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb ||\r\n authenticationState.roleId === consts.AUTHENTICATION.USER_ROLE.NetworkReferent);\r\n}\r\n\r\nexport function canISeeNetworkMasters(authenticationState, network) {\r\n return network.id > 0 && (authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb);\r\n}\r\n\r\nexport function canISeeNetworkPianoFlexSection(authenticationState, network) {\r\n return network.id > 0 && (authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb);\r\n}\r\n\r\nexport function canISeeUserDocuments(authenticationState, user) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb && user.id > 0;\r\n}\r\n\r\nexport function canIEditAgenti(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.NetworkOwner;\r\n}\r\n\r\nexport function canIAddProduct(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canIDeleteProduct(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canICloneProducts(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canICloneWarranty(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canICloneTariff(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canISeeReports(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canIManageTariffGroups(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canIManageUsers(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canIAddUser(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.NetworkOwner;\r\n}\r\n\r\nexport function canICreateAdesione(authenticationState) {\r\n return authenticationState.roleId !== consts.AUTHENTICATION.USER_ROLE.NetworkReferent &&\r\n authenticationState.roleId !== consts.AUTHENTICATION.USER_ROLE.NetworkMaster &&\r\n authenticationState.roleId !== consts.AUTHENTICATION.USER_ROLE.CentraleOperativa;\r\n}\r\n\r\nexport function canIManageCompanies(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canISeeWarrantiesQuotations(authenticationState) {\r\n return authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canIUploadDocumentiPersonali(authenticationState, contract) {\r\n return authenticationState.roleId !== consts.AUTHENTICATION.USER_ROLE.NetworkMaster;\r\n}\r\n\r\nexport function canIUpdateDatiPreventivo(authenticationState, contract) {\r\n if (contract.status > consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA)\r\n return false;\r\n\r\n return (authenticationState.roleId === consts.AUTHENTICATION.USER_ROLE.Seb ||\r\n (\r\n authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.NetworkAgent &&\r\n contract.status === consts.GENERIC_ENUM.CONTRACT_STATUS.PREVENTIVO &&\r\n contract.accountPeriodEMIStatus === consts.GENERIC_ENUM.ACCOUNT_PERIOD_STATUS.PAGAMENTO\r\n )\r\n );\r\n}\r\n\r\nexport function canIViewNoteAgguntive(authenticationState, contract) {\r\n if (authenticationState.roleId > consts.AUTHENTICATION.USER_ROLE.Admin)\r\n return false;\r\n\r\n return authenticationState.network.extraNoteEnabled;\r\n}\r\n\r\nexport function canIViewNoteNonStampate(authenticationState, contract) {\r\n if (authenticationState.roleId > consts.AUTHENTICATION.USER_ROLE.CentraleOperativa)\r\n return false;\r\n\r\n return authenticationState.network.extraNoteEnabled;\r\n}\r\n\r\nexport function canIUpdateNoteNonStampate(authenticationState, contract) {\r\n if (authenticationState.roleId > consts.AUTHENTICATION.USER_ROLE.NetworkAgent)\r\n return false;\r\n\r\n return authenticationState.network.extraNoteEnabled;\r\n}\r\n\r\nexport function canIUpdateNoteAgguntive(authenticationState, contract) {\r\n if (authenticationState.roleId > consts.AUTHENTICATION.USER_ROLE.NetworkAgent)\r\n return false;\r\n\r\n if (contract.status > consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA)\r\n return false;\r\n\r\n return authenticationState.network.extraNoteEnabled;\r\n}\r\n\r\nexport function canIAddContractMember(authenticationState, contract, employee) {\r\n if (contract.isPianoFlex || authenticationState.roleId === consts.AUTHENTICATION.USER_ROLE.NetworkMaster)\r\n return false;\r\n\r\n if (authenticationState.roleId > consts.AUTHENTICATION.USER_ROLE.Seb)\r\n return contract.status < consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && (_.isNil(employee) || _.isNil(employee.fineCopertura));\r\n\r\n return contract.status <= consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && (_.isNil(employee) || _.isNil(employee.fineCopertura));\r\n}\r\n\r\nexport function pianoFlexCanIAddContractMember(authenticationState, contract, employee) {\r\n if (!contract.isPianoFlex)\r\n return false;\r\n\r\n if (authenticationState.roleId > consts.AUTHENTICATION.USER_ROLE.Seb)\r\n return contract.status < consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && (_.isNil(employee) || _.isNil(employee.fineCopertura));\r\n\r\n return contract.status <= consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && (_.isNil(employee) || _.isNil(employee.fineCopertura));\r\n}\r\n\r\nexport function canIDeleteContractMember(authenticationState, contract, member) {\r\n if (contract.isPianoFlex)\r\n return false;\r\n\r\n if (authenticationState.roleId > consts.AUTHENTICATION.USER_ROLE.Seb)\r\n return contract.status < consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && _.isNil(member.fineCopertura);\r\n\r\n return contract.status <= consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && _.isNil(member.fineCopertura);\r\n}\r\n\r\nexport function pianoFlexCanIDeleteContractMember(authenticationState, contract, member) {\r\n if (!contract.isPianoFlex)\r\n return false;\r\n\r\n if (authenticationState.roleId > consts.AUTHENTICATION.USER_ROLE.Seb)\r\n return contract.status < consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && _.isNil(member.fineCopertura);\r\n\r\n return contract.status <= consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && _.isNil(member.fineCopertura);\r\n}\r\n\r\nexport function canIRenewals(authenticationState, contract) {\r\n if (contract.isPianoFlex)\r\n return false;\r\n\r\n // All accountPeriod are paid and status is polizza and role i seb or above\r\n for (var i = 0; i < contract.accountperiods.length; i++) {\r\n if (contract.accountperiods[i].status === consts.GENERIC_ENUM.ACCOUNT_PERIOD_STATUS.ESITO_PAGAMENTO_KO || contract.accountperiods[i].status === consts.GENERIC_ENUM.ACCOUNT_PERIOD_STATUS.PAGAMENTO)\r\n return false;\r\n }\r\n return contract.status === consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function pianoFlexCanIRenewals(authenticationState, contract) {\r\n if (!contract.isPianoFlex || authenticationState.roleId === consts.AUTHENTICATION.USER_ROLE.NetworkMaster)\r\n return false;\r\n\r\n // All accountPeriod are paid and status is polizza and role i seb or above\r\n for (var i = 0; i < contract.accountperiods.length; i++) {\r\n if (contract.accountperiods[i].status === consts.GENERIC_ENUM.ACCOUNT_PERIOD_STATUS.ESITO_PAGAMENTO_KO || contract.accountperiods[i].status === consts.GENERIC_ENUM.ACCOUNT_PERIOD_STATUS.PAGAMENTO)\r\n return false;\r\n }\r\n return contract.status === consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function canICancelRenewals(authenticationState, contract) {\r\n if (authenticationState.roleId === consts.AUTHENTICATION.USER_ROLE.NetworkMaster)\r\n return false;\r\n\r\n // Ci deve essere un rinnovo in atto.\r\n var renewAP = contract.accountperiods.filter(x => x.accountActivityId === consts.GENERIC_ENUM.ACCOUNT_PERIOD_ACTIVITY.RINNOVO &&\r\n x.status === consts.GENERIC_ENUM.ACCOUNT_PERIOD_STATUS.PAGAMENTO)[0];\r\n if (_.isNil(renewAP))\r\n return false;\r\n\r\n return contract.status === consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA && authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb;\r\n}\r\n\r\nexport function closeContractEnabled(authenticationState, contract) {\r\n return (authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb &&\r\n contract.status === consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA);\r\n}\r\n\r\nexport function canIDeleteDocument(authenticationState, contract) {\r\n return (authenticationState.roleId <= consts.AUTHENTICATION.USER_ROLE.Seb);\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nconst TextViewer = ({ label, value }) => {\r\n return (\r\n
\r\n
\r\n {label ? : ''}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nTextViewer.propTypes = {\r\n label: PropTypes.string, // Label\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\r\n};\r\n\r\nexport default TextViewer;","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { ButtonGroup, Button } from 'react-bootstrap';\r\n\r\n\r\nconst NextPrevButtonToolbar = ({ backtext, nextText, activeBackButton, activeNextButton, onClickBack, onClickNext }) => {\r\n const enabledbuttonStyle = { backgroundColor: '#60A917', color: 'white', borderRadius: 0 };\r\n const disabledbuttonStyle = { backgroundColor: 'white', color: 'black', borderRadius: 0 };\r\n\r\n\r\n var backStyle = enabledbuttonStyle;\r\n var nextStyle = enabledbuttonStyle;\r\n\r\n if (!activeBackButton) {\r\n activeBackButton = false;\r\n backStyle = disabledbuttonStyle;\r\n }\r\n if (!activeNextButton) {\r\n activeNextButton = false;\r\n nextStyle = disabledbuttonStyle;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nNextPrevButtonToolbar.propTypes = {\r\n activeBackButton: PropTypes.bool,\r\n activeNextButton: PropTypes.bool,\r\n onClickBack: PropTypes.func,\r\n onClickNext: PropTypes.func\r\n};\r\n\r\nexport default NextPrevButtonToolbar;\r\n","\r\nimport * as consts from '../constants';\r\nimport commonFunctions from '../commonFunctions';\r\n\r\nclass companyApi {\r\n static loadCompanies(token) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/configuration/companies';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadCompany(token, id) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/configuration/company/' + id, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static saveCompany(token, company) {\r\n return new Promise((resolve, reject) => {\r\n let method = 'POST';\r\n if (company.id > -1)\r\n method = 'PUT';\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/configuration/company', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(company));\r\n });\r\n }\r\n\r\n static deleteCompany(token, companyId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/configuration/company/' + companyId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n}\r\n\r\nexport default companyApi;\r\n","import * as commonActions from './commonActions';\r\nimport companyApi from '../api/companyApi';\r\n\r\n\r\nexport function loadCompanies() {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return companyApi.loadCompanies(getState().authenticationState.token).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadCompany(id) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return companyApi.loadCompany(getState().authenticationState.token, id).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveCompany(company) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return companyApi.saveCompany(getState().authenticationState.token, company).then(savedCompany => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(commonActions.loadConfiguration());\r\n return savedCompany;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function deleteCompany(companyId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return companyApi.deleteCompany(getState().authenticationState.token, companyId).then(() => {\r\n dispatch(commonActions.loadConfiguration());\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n","import _ from 'lodash';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nimport * as commonActions from '../../actions/commonActions';\r\n\r\nconst SimpleFileInput = ({ name, label, onLoaded }) => {\r\n function onChangeLocal(e) {\r\n commonActions.lockScreen();\r\n const reader = new FileReader();\r\n const beneficiariFile = e.target.files[0];\r\n reader.onloadend = () => {\r\n commonActions.unlockScreen();\r\n onLoaded(beneficiariFile, reader.result);\r\n };\r\n\r\n if (!_.isNil(beneficiariFile))\r\n reader.readAsDataURL(beneficiariFile);\r\n else\r\n onLoaded({}, null);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n {label}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nSimpleFileInput.propTypes = {\r\n label: PropTypes.string.isRequired, // Label\r\n name: PropTypes.string.isRequired,\r\n onLoaded: PropTypes.func.isRequired, // When the file is fully loaded\r\n};\r\n\r\nexport default SimpleFileInput;","import _ from 'lodash';\r\nimport * as consts from '../constants';\r\nimport commonFunctions from '../commonFunctions';\r\n\r\nclass emissionApi {\r\n\r\n static loadContracts(token, searchModel) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/contract/filtered';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento dello Storico Adesioni!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(searchModel));\r\n });\r\n }\r\n\r\n static contractsExport(token, filers) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/contract/exportFiltered';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(filers));\r\n });\r\n }\r\n\r\n static createProposal(token, contract) {\r\n return new Promise((resolve, reject) => {\r\n if (_.toNumber(contract.personType) === consts.GENERIC_ENUM.personType[0].value) {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/createProposal', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n try {\r\n if (parseInt(JSON.parse(req.response).message, 10) >= 0)\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n else\r\n reject(JSON.parse(req.response).message);\r\n } catch (err) {\r\n reject(JSON.parse(req.response).message);\r\n }\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(contract));\r\n } else {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('POST', process.env.REACT_APP_BASE_URL + '/api/contract/createProposalPG/', true);\r\n xhr.setRequestHeader('Content-Length', contract.personaGiuridica.fileBenificiari.size);\r\n xhr.setRequestHeader('X-Token', token);\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status >= 200 && xhr.status < 400) {\r\n resolve(JSON.parse(xhr.response));\r\n } else if (xhr.status === 400) {\r\n try {\r\n if (parseInt(JSON.parse(xhr.response).message, 10) >= 0)\r\n reject(commonFunctions.errorMessage(JSON.parse(xhr.response).message));\r\n else\r\n reject(JSON.parse(xhr.response).message);\r\n } catch (err) {\r\n reject(JSON.parse(xhr.response).message);\r\n }\r\n } else if (xhr.status === 401 || xhr.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento del Contratto!');\r\n }\r\n }\r\n };\r\n var formData = new FormData();\r\n formData.append('model', JSON.stringify(contract));\r\n formData.append('pgFile', contract.personaGiuridica.fileBenificiari);\r\n xhr.send(formData);\r\n }\r\n });\r\n }\r\n\r\n static newDatiPagamentoForProposta(token, contract) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/newDatiPagamentoForProposta', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n try {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } catch (err) {\r\n reject(JSON.parse(req.response).message);\r\n }\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(contract));\r\n });\r\n }\r\n\r\n static newNoteAggiuntiveForProposta(token, contract) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/newNoteAggiuntiveForProposta', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(contract));\r\n });\r\n }\r\n\r\n static saveNoteNonStampate(token, contract) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/saveNoteNonStampate', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(contract));\r\n });\r\n }\r\n\r\n static deleteContract(token, contractId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/deleteContract/' + contractId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static cofermaPreventivo(token, contract) {\r\n return new Promise((resolve, reject) => {\r\n let method = 'POST';\r\n if (contract.id > -1)\r\n method = 'PUT';\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/cofermaPreventivo', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(contract));\r\n });\r\n }\r\n\r\n static createAdesione(token, contract, targetDate) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/createAdesione', 'PUT');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ contract: contract, targetDate: targetDate }));\r\n });\r\n }\r\n\r\n static payAccountPeriod(token, accountperiodId, targetDate) {\r\n return new Promise((resolve, reject) => {\r\n const method = 'PUT';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/payAccountPeriod/', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ accountperiodId, targetDate }));\r\n });\r\n }\r\n\r\n static cancelAccountPeriod(token, accountperiodId) {\r\n return new Promise((resolve, reject) => {\r\n const method = 'PUT';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/cancelAccountPeriod/', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ accountperiodId }));\r\n });\r\n }\r\n\r\n static renewContract(token, contractId, targetDate, productId, instalmentMode) {\r\n return new Promise((resolve, reject) => {\r\n const method = 'PUT';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/renew/', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 406) {\r\n reject('Il prodotto scelto non è compatibile');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ contractId, targetDate, productId, instalmentMode }));\r\n });\r\n }\r\n\r\n static cancelRenewContract(token, contractId) {\r\n return new Promise((resolve, reject) => {\r\n const method = 'DELETE';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/renew/' + contractId, method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 406) {\r\n reject('Il prodotto scelto non è compatibile');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static closeContract(token, contractId, targetDate, closeAtTheEnd) {\r\n return new Promise((resolve, reject) => {\r\n const method = 'PUT';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/close/', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ contractId, targetDate, closeAtTheEnd }));\r\n });\r\n }\r\n\r\n static productsForRenew(token, contractId) {\r\n return new Promise((resolve, reject) => {\r\n const method = 'GET';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/productsForRenew/' + contractId, method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadContract(token, id) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/get/' + id, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento del Contratto!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static stampaCertificatoAdesioneDipendente(token, id) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/stampaCertificatoAdesioneDipendente/' + id, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static inviaLetteraDiBenvutoDipendente(token, id) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/inviaLetteraDiBenvutoDipendente/' + id, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n const resJ = JSON.parse(req.response)\r\n reject(resJ.message);\r\n } else {\r\n reject('Problemi nell\\'invio della Lettera di Benvenuto del Dipendente');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static generaModuliPropostaDipendenti(token, printPrice, contractId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/generaModuliPropostaDipendenti/', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nella generazione dei Moduli!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ contractId, printPrice }));\r\n });\r\n }\r\n\r\n static generaCertificatiAdesioneDipendenti(token, contractId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/generaCertificatiAdesioneDipendenti/', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nella generazione dei Certificati di Adesione!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ contractId }));\r\n });\r\n }\r\n\r\n static loadPGUsers(token, id, file, startDate) {\r\n return new Promise((resolve, reject) => {\r\n var xhr = new XMLHttpRequest();\r\n\r\n var url = process.env.REACT_APP_BASE_URL + '/api/contract/loadPgUsers/' + id;\r\n if (!_.isNil(startDate))\r\n url = url + '?startDate=' + startDate;\r\n\r\n xhr.open('POST', url, true);\r\n xhr.setRequestHeader('Content-Length', file.size);\r\n xhr.setRequestHeader('X-Token', token);\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status >= 200 && xhr.status < 400) {\r\n resolve(JSON.parse(xhr.response));\r\n } else if (xhr.status === 400) {\r\n reject(JSON.parse(xhr.response).message);\r\n } else if (xhr.status === 401 || xhr.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento del Contratto!');\r\n }\r\n }\r\n };\r\n var formData = new FormData();\r\n formData.append('pgFile', file);\r\n xhr.send(formData);\r\n });\r\n }\r\n\r\n static filePersonaleLoad(token, id, file, documentPersonaleType) {\r\n return new Promise((resolve, reject) => {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('POST', process.env.REACT_APP_BASE_URL + '/api/contract/filePersonaleLoad/' + id + '?documentType=' + documentPersonaleType, true);\r\n xhr.setRequestHeader('Content-Length', file.size);\r\n xhr.setRequestHeader('X-Token', token);\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status >= 200 && xhr.status < 400) {\r\n resolve(JSON.parse(xhr.response));\r\n } else if (xhr.status === 400) {\r\n reject('Attenzione stai cercando di caricare un file di un formato non consentito, o di dimensione troppo elevata (MAX 130MB)');\r\n } else if (xhr.status === 401 || xhr.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento del Contratto!');\r\n }\r\n }\r\n };\r\n var formData = new FormData();\r\n formData.append('pgFile', file);\r\n xhr.send(formData);\r\n });\r\n }\r\n\r\n static filePersonaleDelete(token, documentId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/filePersonaleDelete/' + documentId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(JSON.parse(req.response).message);\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static chiudiCoperturaMembro(token, contractMemberId, targetDate, familiare) {\r\n if (_.isNil(familiare))\r\n familiare = {};\r\n\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/chiudiCoperturaMembro', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nella chiusura della Copertura!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({\r\n targetDate,\r\n contractMemberId,\r\n familiare\r\n }));\r\n });\r\n }\r\n\r\n static addFamiliare(token, contractId, familiare) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/addFamiliare/', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n try {\r\n var appRes = JSON.parse(req.response);\r\n if (appRes.message)\r\n reject(appRes.message);\r\n else\r\n reject('Attenzione la richiesta formulata è errata');\r\n } catch (err) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n }\r\n\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nella aggiunta del Familiare!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ contractId, familiare }));\r\n });\r\n }\r\n\r\n static notificaProssimaScadenza(token, contractId) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/contract/notificaProssimaScadenza/' + contractId;\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify());\r\n });\r\n }\r\n\r\n static exportBeneficiari(token, contractId) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/contract/exportBeneficiari/' + contractId;\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static getCertificazioniIncassi(token, contractId) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/contract/getCertificazioniIncassi?contractId=' + contractId;\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento dello Storico Adesioni!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n // ********************************************************************************************************************************************\r\n // Piano Flex\r\n // ********************************************************************************************************************************************\r\n static pianoFlexRenewContract(token, contractId, targetDate, instalmentMode, pianoFlex) {\r\n return new Promise((resolve, reject) => {\r\n const method = 'PUT';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/contract/pianoFlexRenew/', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 406) {\r\n reject('Il prodotto scelto non è compatibile');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ contractId, targetDate, instalmentMode, pianoFlex }));\r\n });\r\n }\r\n}\r\n\r\nexport default emissionApi;\r\n","import * as consts from '../constants';\r\n\r\nimport * as commonActions from './commonActions';\r\nimport emissionApi from '../api/emissionApi';\r\n\r\nexport function updateEmissionInvokeReducer(emissionState) {\r\n return { type: consts.ACTONS.UPDATE_CONTRAENTE, emissionState };\r\n}\r\n\r\nexport function updateEmission(emissionState) {\r\n return function (dispatch, getState) {\r\n dispatch(updateEmissionInvokeReducer(emissionState));\r\n };\r\n}\r\n\r\nexport function saveContractSuccess(contract) {\r\n return { type: consts.ACTONS.SAVE_CONTRACT_SUCCESS, contract };\r\n}\r\n\r\nexport function createProposal(contract) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.createProposal(getState().authenticationState.token, contract).then(newContract => {\r\n dispatch(saveContractSuccess(newContract));\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function newDatiPagamentoForProposta(contract) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.newDatiPagamentoForProposta(getState().authenticationState.token, contract).then(newContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return newContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function newNoteAggiuntiveForProposta(contract) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.newNoteAggiuntiveForProposta(getState().authenticationState.token, contract).then(newContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return newContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveNoteNonStampate(contract) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.saveNoteNonStampate(getState().authenticationState.token, contract).then(newContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return newContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function deleteContract(contractId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.deleteContract(getState().authenticationState.token, contractId).then(() => {\r\n dispatch(loadContracts(getState().contractState));\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function cofermaPreventivo(contract) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.cofermaPreventivo(getState().authenticationState.token, contract).then(newContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return newContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function createAdesione(contract, targetDate) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.createAdesione(getState().authenticationState.token, contract, targetDate).then(updatedContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return updatedContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function payAccountPeriod(accountperiodId, targetDate) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.payAccountPeriod(getState().authenticationState.token, accountperiodId, targetDate).then(updatedContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return updatedContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function cancelAccountPeriod(accountperiodId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.cancelAccountPeriod(getState().authenticationState.token, accountperiodId).then(updatedContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return updatedContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function renewContract(contractId, targetDate, productId, instalmentMode) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.renewContract(getState().authenticationState.token, contractId, targetDate, productId, instalmentMode).then(updatedContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return updatedContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function cancelRenewContract(contractId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.cancelRenewContract(getState().authenticationState.token, contractId).then(updatedContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return updatedContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function closeContract(contractId, targetDate, closeAtTheEnd) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.closeContract(getState().authenticationState.token, contractId, targetDate, closeAtTheEnd).then(updatedContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return updatedContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function productsForRenew(contractId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.productsForRenew(getState().authenticationState.token, contractId).then((products) => {\r\n dispatch(commonActions.unlockScreen());\r\n return products;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadContractsSuccess(pagingModel) {\r\n return { type: consts.ACTONS.LOAD_CONTRACTS_SUCCESS, pagingModel };\r\n}\r\n\r\nexport function loadContractsFailed() {\r\n return { type: consts.ACTONS.LOAD_CONTRACTS_FAILED };\r\n}\r\n\r\nexport function loadContracts(pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.loadContracts(getState().authenticationState.token, pagingModel).then(res => {\r\n\r\n // Add custom properties\r\n res.agentId = pagingModel.agentId;\r\n res.clientName = pagingModel.clientName;\r\n res.contractStatus = pagingModel.contractStatus;\r\n res.expireDateDa = pagingModel.expireDateDa;\r\n res.expireDateA = pagingModel.expireDateA;\r\n res.inScadenza = pagingModel.inScadenza;\r\n res.networkId = pagingModel.networkId;\r\n res.productId = pagingModel.productId;\r\n res.proposalSequence = pagingModel.proposalSequence;\r\n res.sequence = pagingModel.sequence;\r\n res.startDateDa = pagingModel.startDateDa;\r\n res.startDateA = pagingModel.startDateA;\r\n\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadContractsSuccess(res));\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadContractsFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function contractsExport(pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.contractsExport(getState().authenticationState.token, pagingModel).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function stampaCertificatoAdesioneDipendente(id) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.stampaCertificatoAdesioneDipendente(getState().authenticationState.token, id).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function generaModuliPropostaDipendenti(printPrice, contractId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.generaModuliPropostaDipendenti(getState().authenticationState.token, printPrice, contractId).then((contract) => {\r\n dispatch(commonActions.unlockScreen());\r\n return contract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function generaCertificatiAdesioneDipendenti(contractId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.generaCertificatiAdesioneDipendenti(getState().authenticationState.token, contractId).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function inviaLetteraDiBenvutoDipendente(id) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.inviaLetteraDiBenvutoDipendente(getState().authenticationState.token, id).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function exportCSVContracts(pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.exportCSVContracts(getState().authenticationState.token, pagingModel).then(file => {\r\n dispatch(commonActions.unlockScreen());\r\n return file;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadContract(id) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.loadContract(getState().authenticationState.token, id).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadPGUsers(id, file, startDate) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.loadPGUsers(getState().authenticationState.token, id, file, startDate).then(contract => {\r\n dispatch(commonActions.unlockScreen());\r\n return contract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function filePersonaleLoad(id, file, documentPersonaleType) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.filePersonaleLoad(getState().authenticationState.token, id, file, documentPersonaleType).then(contract => {\r\n dispatch(commonActions.unlockScreen());\r\n return contract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function filePersonaleDelete(documentId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.filePersonaleDelete(getState().authenticationState.token, documentId).then(contract => {\r\n dispatch(commonActions.unlockScreen());\r\n return contract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function chiudiCoperturaMembro(contractMemberId, targetDate, familiare) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.chiudiCoperturaMembro(getState().authenticationState.token, contractMemberId, targetDate, familiare).then(contract => {\r\n dispatch(commonActions.unlockScreen());\r\n return contract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function addFamiliare(contractId, familiare) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.addFamiliare(getState().authenticationState.token, contractId, familiare).then(contract => {\r\n dispatch(commonActions.unlockScreen());\r\n return contract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function notificaProssimaScadenza(contractId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.notificaProssimaScadenza(getState().authenticationState.token, contractId).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function exportBeneficiari(contractId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.exportBeneficiari(getState().authenticationState.token, contractId).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function getCertificazioniIncassi(contractId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.getCertificazioniIncassi(getState().authenticationState.token, contractId).then((certificazioniIncassi) => {\r\n dispatch(commonActions.unlockScreen());\r\n return certificazioniIncassi;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\n\r\n// ********************************************************************************************************************************************\r\n// Piano Flex\r\n// ********************************************************************************************************************************************\r\n\r\nexport function pianoFlexRenewContract(contractId, targetDate, instalmentMode, pianoFlex) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return emissionApi.pianoFlexRenewContract(getState().authenticationState.token, contractId, targetDate, instalmentMode, pianoFlex).then(updatedContract => {\r\n dispatch(commonActions.unlockScreen());\r\n return updatedContract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nconst TextAreaInput = ({ disabled, error, label, name, onChange, placeholder, rows = 3, value }) => {\r\n let wrapperClass = 'form-group';\r\n if (error && error.length > 0) {\r\n wrapperClass += ' has-error';\r\n }\r\n\r\n return (\r\n
\r\n {label ?
{label}
: ''}\r\n
\r\n \r\n {error &&
{error}
}\r\n
\r\n
\r\n );\r\n};\r\n\r\nTextAreaInput.propTypes = {\r\n disabled: PropTypes.string,\r\n rows: PropTypes.number,\r\n name: PropTypes.string.isRequired,\r\n label: PropTypes.string,\r\n onChange: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n value: PropTypes.string,\r\n error: PropTypes.string\r\n};\r\n\r\nexport default TextAreaInput;\r\n","module.exports = __webpack_public_path__ + \"static/media/documentIcon.b0c584f3.svg\";","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nimport * as consts from '../../../constants';\r\nimport commonFunctions from '../../../commonFunctions';\r\n\r\nimport AirBnbDateTimePicker from '../../common/airBnbDatepicker/AirBnbDateTimePicker';\r\nimport SelectInput from '../../common/SelectInput';\r\nimport TextInput from '../../common/TextInput';\r\n\r\nconst UserSection = ({ authenticationState, isAgent, title, userData, onChange, showAllProps = false }) => {\r\n const roles = commonFunctions.allRoles();\r\n roles.unshift({ value: -1, text: '---' });\r\n\r\n const showCompanyForMaster = userData != null && userData.role === consts.AUTHENTICATION.USER_ROLE.NetworkMaster;\r\n\r\n return (\r\n
\r\n
{title}
\r\n
\r\n consts.AUTHENTICATION.USER_ROLE.Seb && !isAgent ? 'disabled' : ''}\r\n name=\"userData_firstName\"\r\n label=\"Nome\"\r\n required={true}\r\n value={userData.firstName}\r\n onChange={onChange} />\r\n consts.AUTHENTICATION.USER_ROLE.Seb && !isAgent ? 'disabled' : ''}\r\n name=\"userData_lastName\"\r\n label=\"Cognome\"\r\n required={true}\r\n value={userData.lastName}\r\n onChange={onChange} />\r\n consts.AUTHENTICATION.USER_ROLE.Seb && !isAgent ? 'disabled' : ''}\r\n name=\"userData_username\"\r\n label=\"Username\"\r\n required={true}\r\n value={userData.username}\r\n onChange={onChange} />\r\n \r\n {isAgent ? '' : consts.AUTHENTICATION.USER_ROLE.Seb && !isAgent ? 'disabled' : ''}\r\n name=\"userData_ateco\"\r\n label=\"Ateco\"\r\n required={false}\r\n value={userData.ateco}\r\n onChange={onChange} />}\r\n {isAgent ? '' : consts.AUTHENTICATION.USER_ROLE.Seb && !isAgent ? 'disabled' : ''}\r\n name=\"userData_sae\"\r\n label=\"SAE\"\r\n required={false}\r\n value={userData.sae}\r\n onChange={onChange} />}\r\n {showCompanyForMaster ? consts.AUTHENTICATION.USER_ROLE.Seb ? 'disabled' : ''}\r\n name=\"userData_companyForMaster\"\r\n label=\"Azienda di Riferimento\"\r\n value={userData.companyForMaster}\r\n onChange={onChange} /> : ''}\r\n {showAllProps ? : ''}\r\n consts.AUTHENTICATION.USER_ROLE.Seb && !isAgent ? 'disabled' : ''}\r\n name=\"userData_taxCode\"\r\n label=\"C.F.\"\r\n isCF={true}\r\n required={true}\r\n value={userData.taxCode}\r\n onChange={onChange} />\r\n consts.AUTHENTICATION.USER_ROLE.Seb && !isAgent}\r\n name='userData_birthDate'\r\n label=\"Data Nascita\"\r\n required={true}\r\n value={userData.birthDate}\r\n onChange={onChange} />\r\n

Contatti

\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nUserSection.propTypes = {\r\n title: PropTypes.string.isRequired,\r\n userData: PropTypes.object.isRequired,\r\n onChange: PropTypes.func,\r\n isAgent: PropTypes.bool.isRequired,\r\n authenticationState: PropTypes.object.isRequired\r\n};\r\n\r\nexport default UserSection;\r\n","import _ from 'lodash';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nconst SelectInput = ({ name, label, labelStyle, onChange, defaultOptionText, defaultOptionValue, disabled, value, options, validate, errorMessage, required, errorRequiredMessage, requiredOverZero}) => {\r\n const wrapperClass = 'input-group input-group-inline';\r\n\r\n if (!options || !Array.isArray(options))\r\n options = [];\r\n\r\n if (!disabled)\r\n disabled = false;\r\n\r\n function validation(value) {\r\n if (validate && !validate(value)) {\r\n if (errorMessage)\r\n return errorMessage;\r\n return 'Validazione non rispettata';\r\n }\r\n else if (required && ( (_.isEmpty(value) && !_.isNumber(value) && !_.isBoolean(value)) || (requiredOverZero && _.toInteger(value) < 1) )) {\r\n if (errorRequiredMessage)\r\n return errorRequiredMessage;\r\n return 'Campo obbligatorio';\r\n }\r\n }\r\n\r\n const resultErrorMessage = validation(value);\r\n\r\n return (\r\n
\r\n
\r\n {label ? : ''}\r\n \r\n {(defaultOptionText || defaultOptionText === '') ? : ''}\r\n {options.map((option) => {\r\n return (\r\n \r\n {option.text}\r\n \r\n );\r\n })\r\n }\r\n \r\n
\r\n {resultErrorMessage !== '' &&
{resultErrorMessage}
}\r\n
\r\n );\r\n};\r\n\r\nSelectInput.propTypes = {\r\n defaultOption: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n errorMessage: PropTypes.string, // Used for custom validation\r\n errorRequiredMessage: PropTypes.string, // Used with required\r\n label: PropTypes.string,\r\n labelStyle: PropTypes.object,\r\n name: PropTypes.string.isRequired,\r\n onChange: PropTypes.func,\r\n options: PropTypes.arrayOf(PropTypes.object),\r\n required: PropTypes.bool, // If this field is required\r\n requiredOverZero: PropTypes.bool, // If this field is required and must be integer over 0\r\n validate: PropTypes.func\r\n};\r\n\r\nexport default SelectInput;\r\n","import _ from 'lodash';\r\n\r\n/**\r\n * Porting to ES6 from this https://github.com/arhs/iban.js/blob/master/iban.js\r\n */\r\nclass Iban {\r\n\r\n countries = {};\r\n static A = 'A'.charCodeAt(0);\r\n static Z = 'Z'.charCodeAt(0);\r\n static NON_ALPHANUM = /[^a-zA-Z0-9]/g;\r\n static EVERY_FOUR_CHARS = /(.{4})(?!$)/g;\r\n\r\n constructor() {\r\n this.addSpecification(new Specification('AD', 24, 'F04F04A12', 'AD1200012030200359100100'));\r\n this.addSpecification(new Specification('AE', 23, 'F03F16', 'AE070331234567890123456'));\r\n this.addSpecification(new Specification('AL', 28, 'F08A16', 'AL47212110090000000235698741'));\r\n this.addSpecification(new Specification('AT', 20, 'F05F11', 'AT611904300234573201'));\r\n this.addSpecification(new Specification('AZ', 28, 'U04A20', 'AZ21NABZ00000000137010001944'));\r\n this.addSpecification(new Specification('BA', 20, 'F03F03F08F02', 'BA391290079401028494'));\r\n this.addSpecification(new Specification('BE', 16, 'F03F07F02', 'BE68539007547034'));\r\n this.addSpecification(new Specification('BG', 22, 'U04F04F02A08', 'BG80BNBG96611020345678'));\r\n this.addSpecification(new Specification('BH', 22, 'U04A14', 'BH67BMAG00001299123456'));\r\n this.addSpecification(new Specification('BR', 29, 'F08F05F10U01A01', 'BR9700360305000010009795493P1'));\r\n this.addSpecification(new Specification('BY', 28, 'A04F04A16', 'BY13NBRB3600900000002Z00AB00'));\r\n this.addSpecification(new Specification('CH', 21, 'F05A12', 'CH9300762011623852957'));\r\n this.addSpecification(new Specification('CR', 22, 'F04F14', 'CR72012300000171549015'));\r\n this.addSpecification(new Specification('CY', 28, 'F03F05A16', 'CY17002001280000001200527600'));\r\n this.addSpecification(new Specification('CZ', 24, 'F04F06F10', 'CZ6508000000192000145399'));\r\n this.addSpecification(new Specification('DE', 22, 'F08F10', 'DE89370400440532013000'));\r\n this.addSpecification(new Specification('DK', 18, 'F04F09F01', 'DK5000400440116243'));\r\n this.addSpecification(new Specification('DO', 28, 'U04F20', 'DO28BAGR00000001212453611324'));\r\n this.addSpecification(new Specification('EE', 20, 'F02F02F11F01', 'EE382200221020145685'));\r\n this.addSpecification(new Specification('ES', 24, 'F04F04F01F01F10', 'ES9121000418450200051332'));\r\n this.addSpecification(new Specification('FI', 18, 'F06F07F01', 'FI2112345600000785'));\r\n this.addSpecification(new Specification('FO', 18, 'F04F09F01', 'FO6264600001631634'));\r\n this.addSpecification(new Specification('FR', 27, 'F05F05A11F02', 'FR1420041010050500013M02606'));\r\n this.addSpecification(new Specification('GB', 22, 'U04F06F08', 'GB29NWBK60161331926819'));\r\n this.addSpecification(new Specification('GE', 22, 'U02F16', 'GE29NB0000000101904917'));\r\n this.addSpecification(new Specification('GI', 23, 'U04A15', 'GI75NWBK000000007099453'));\r\n this.addSpecification(new Specification('GL', 18, 'F04F09F01', 'GL8964710001000206'));\r\n this.addSpecification(new Specification('GR', 27, 'F03F04A16', 'GR1601101250000000012300695'));\r\n this.addSpecification(new Specification('GT', 28, 'A04A20', 'GT82TRAJ01020000001210029690'));\r\n this.addSpecification(new Specification('HR', 21, 'F07F10', 'HR1210010051863000160'));\r\n this.addSpecification(new Specification('HU', 28, 'F03F04F01F15F01', 'HU42117730161111101800000000'));\r\n this.addSpecification(new Specification('IE', 22, 'U04F06F08', 'IE29AIBK93115212345678'));\r\n this.addSpecification(new Specification('IL', 23, 'F03F03F13', 'IL620108000000099999999'));\r\n this.addSpecification(new Specification('IS', 26, 'F04F02F06F10', 'IS140159260076545510730339'));\r\n this.addSpecification(new Specification('IT', 27, 'U01F05F05A12', 'IT60X0542811101000000123456'));\r\n this.addSpecification(new Specification('IQ', 23, 'U04F03A12', 'IQ98NBIQ850123456789012'));\r\n this.addSpecification(new Specification('JO', 30, 'A04F22', 'JO15AAAA1234567890123456789012'));\r\n this.addSpecification(new Specification('KW', 30, 'U04A22', 'KW81CBKU0000000000001234560101'));\r\n this.addSpecification(new Specification('KZ', 20, 'F03A13', 'KZ86125KZT5004100100'));\r\n this.addSpecification(new Specification('LB', 28, 'F04A20', 'LB62099900000001001901229114'));\r\n this.addSpecification(new Specification('LC', 32, 'U04F24', 'LC07HEMM000100010012001200013015'));\r\n this.addSpecification(new Specification('LI', 21, 'F05A12', 'LI21088100002324013AA'));\r\n this.addSpecification(new Specification('LT', 20, 'F05F11', 'LT121000011101001000'));\r\n this.addSpecification(new Specification('LU', 20, 'F03A13', 'LU280019400644750000'));\r\n this.addSpecification(new Specification('LV', 21, 'U04A13', 'LV80BANK0000435195001'));\r\n this.addSpecification(new Specification('MC', 27, 'F05F05A11F02', 'MC5811222000010123456789030'));\r\n this.addSpecification(new Specification('MD', 24, 'U02A18', 'MD24AG000225100013104168'));\r\n this.addSpecification(new Specification('ME', 22, 'F03F13F02', 'ME25505000012345678951'));\r\n this.addSpecification(new Specification('MK', 19, 'F03A10F02', 'MK07250120000058984'));\r\n this.addSpecification(new Specification('MR', 27, 'F05F05F11F02', 'MR1300020001010000123456753'));\r\n this.addSpecification(new Specification('MT', 31, 'U04F05A18', 'MT84MALT011000012345MTLCAST001S'));\r\n this.addSpecification(new Specification('MU', 30, 'U04F02F02F12F03U03', 'MU17BOMM0101101030300200000MUR'));\r\n this.addSpecification(new Specification('NL', 18, 'U04F10', 'NL91ABNA0417164300'));\r\n this.addSpecification(new Specification('NO', 15, 'F04F06F01', 'NO9386011117947'));\r\n this.addSpecification(new Specification('PK', 24, 'U04A16', 'PK36SCBL0000001123456702'));\r\n this.addSpecification(new Specification('PL', 28, 'F08F16', 'PL61109010140000071219812874'));\r\n this.addSpecification(new Specification('PS', 29, 'U04A21', 'PS92PALS000000000400123456702'));\r\n this.addSpecification(new Specification('PT', 25, 'F04F04F11F02', 'PT50000201231234567890154'));\r\n this.addSpecification(new Specification('QA', 29, 'U04A21', 'QA30AAAA123456789012345678901'));\r\n this.addSpecification(new Specification('RO', 24, 'U04A16', 'RO49AAAA1B31007593840000'));\r\n this.addSpecification(new Specification('RS', 22, 'F03F13F02', 'RS35260005601001611379'));\r\n this.addSpecification(new Specification('SA', 24, 'F02A18', 'SA0380000000608010167519'));\r\n this.addSpecification(new Specification('SC', 31, 'U04F04F16U03', 'SC18SSCB11010000000000001497USD'));\r\n this.addSpecification(new Specification('SE', 24, 'F03F16F01', 'SE4550000000058398257466'));\r\n this.addSpecification(new Specification('SI', 19, 'F05F08F02', 'SI56263300012039086'));\r\n this.addSpecification(new Specification('SK', 24, 'F04F06F10', 'SK3112000000198742637541'));\r\n this.addSpecification(new Specification('SM', 27, 'U01F05F05A12', 'SM86U0322509800000000270100'));\r\n this.addSpecification(new Specification('ST', 25, 'F08F11F02', 'ST68000100010051845310112'));\r\n this.addSpecification(new Specification('SV', 28, 'U04F20', 'SV62CENR00000000000000700025'));\r\n this.addSpecification(new Specification('TL', 23, 'F03F14F02', 'TL380080012345678910157'));\r\n this.addSpecification(new Specification('TN', 24, 'F02F03F13F02', 'TN5910006035183598478831'));\r\n this.addSpecification(new Specification('TR', 26, 'F05F01A16', 'TR330006100519786457841326'));\r\n this.addSpecification(new Specification('UA', 29, 'F25', 'UA511234567890123456789012345'));\r\n this.addSpecification(new Specification('VG', 24, 'U04F16', 'VG96VPVG0000012345678901'));\r\n this.addSpecification(new Specification('XK', 20, 'F04F10F02', 'XK051212012345678906'));\r\n\r\n // The following countries are not included in the official IBAN registry but use the IBAN specification\r\n\r\n // Angola\r\n this.addSpecification(new Specification('AO', 25, 'F21', 'AO69123456789012345678901'));\r\n // Burkina\r\n this.addSpecification(new Specification('BF', 27, 'F23', 'BF2312345678901234567890123'));\r\n // Burundi\r\n this.addSpecification(new Specification('BI', 16, 'F12', 'BI41123456789012'));\r\n // Benin\r\n this.addSpecification(new Specification('BJ', 28, 'F24', 'BJ39123456789012345678901234'));\r\n // Ivory\r\n this.addSpecification(new Specification('CI', 28, 'U02F22', 'CI70CI1234567890123456789012'));\r\n // Cameron\r\n this.addSpecification(new Specification('CM', 27, 'F23', 'CM9012345678901234567890123'));\r\n // Cape Verde\r\n this.addSpecification(new Specification('CV', 25, 'F21', 'CV30123456789012345678901'));\r\n // Algeria\r\n this.addSpecification(new Specification('DZ', 24, 'F20', 'DZ8612345678901234567890'));\r\n // Iran\r\n this.addSpecification(new Specification('IR', 26, 'F22', 'IR861234568790123456789012'));\r\n // Madagascar\r\n this.addSpecification(new Specification('MG', 27, 'F23', 'MG1812345678901234567890123'));\r\n // Mali\r\n this.addSpecification(new Specification('ML', 28, 'U01F23', 'ML15A12345678901234567890123'));\r\n // Mozambique\r\n this.addSpecification(new Specification('MZ', 25, 'F21', 'MZ25123456789012345678901'));\r\n // Senegal\r\n this.addSpecification(new Specification('SN', 28, 'U01F23', 'SN52A12345678901234567890123'));\r\n }\r\n \r\n addSpecification(specification) {\r\n this.countries[specification.iban.countryCode] = specification;\r\n }\r\n\r\n /**\r\n * Prepare an IBAN for mod 97 computation by moving the first 4 chars to the end and transforming the letters to\r\n * numbers (A = 10, B = 11, ..., Z = 35), as specified in ISO13616.\r\n *\r\n * @param {string} iban the IBAN\r\n * @returns {string} the prepared IBAN\r\n */\r\n static iso13616Prepare(iban) {\r\n iban = iban.toUpperCase();\r\n iban = iban.substr(4) + iban.substr(0, 4);\r\n\r\n return iban.split('').map(function (n) {\r\n var code = n.charCodeAt(0);\r\n if (code >= Iban.A && code <= Iban.Z) {\r\n // A = 10, B = 11, ... Z = 35\r\n return code - Iban.A + 10;\r\n } else {\r\n return n;\r\n }\r\n }).join('');\r\n }\r\n\r\n /**\r\n * Calculates the MOD 97 10 of the passed IBAN as specified in ISO7064.\r\n *\r\n * @param iban\r\n * @returns {number}\r\n */\r\n static iso7064Mod97_10(iban) {\r\n var remainder = iban,\r\n block;\r\n\r\n while (remainder.length > 2) {\r\n block = remainder.slice(0, 9);\r\n remainder = parseInt(block, 10) % 97 + remainder.slice(block.length);\r\n }\r\n\r\n return parseInt(remainder, 10) % 97;\r\n }\r\n\r\n /**\r\n * Parse the BBAN structure used to configure each IBAN Specification and returns a matching regular expression.\r\n * A structure is composed of blocks of 3 characters (one letter and 2 digits). Each block represents\r\n * a logical group in the typical representation of the BBAN. For each group, the letter indicates which characters\r\n * are allowed in this group and the following 2-digits number tells the length of the group.\r\n *\r\n * @param {string} structure the structure to parse\r\n * @returns {RegExp}\r\n */\r\n static parseStructure(structure) {\r\n // split in blocks of 3 chars\r\n var regex = structure.match(/(.{3})/g).map(function (block) {\r\n\r\n // parse each structure block (1-char + 2-digits)\r\n var format,\r\n pattern = block.slice(0, 1),\r\n repeats = parseInt(block.slice(1), 10);\r\n\r\n switch (pattern) {\r\n case 'A': format = '0-9A-Za-z'; break;\r\n case 'B': format = '0-9A-Z'; break;\r\n case 'C': format = 'A-Za-z'; break;\r\n case 'F': format = '0-9'; break;\r\n case 'L': format = 'a-z'; break;\r\n case 'U': format = 'A-Z'; break;\r\n default:\r\n case 'W': format = '0-9a-z'; break;\r\n }\r\n\r\n return '([' + format + ']{' + repeats + '})';\r\n });\r\n\r\n return new RegExp('^' + regex.join('') + '$');\r\n }\r\n\r\n /**\r\n *\r\n * @param iban\r\n * @returns {string}\r\n */\r\n static electronicFormat(iban) {\r\n return iban.replace(Iban.NON_ALPHANUM, '').toUpperCase();\r\n }\r\n\r\n /**\r\n * Check if an IBAN is valid.\r\n *\r\n * @param {String} iban the IBAN to validate.\r\n * @returns {boolean} true if the passed IBAN is valid, false otherwise\r\n */\r\n isValid(iban) {\r\n if (!_.isString(iban)) {\r\n return false;\r\n }\r\n iban = Iban.electronicFormat(iban);\r\n var countryStructure = this.countries[iban.slice(0, 2)];\r\n return !_.isNil(countryStructure) && countryStructure.isValid(iban);\r\n };\r\n\r\n /**\r\n * Convert an IBAN to a BBAN.\r\n *\r\n * @param iban\r\n * @param {String} [separator] the separator to use between the blocks of the BBAN, defaults to ' '\r\n * @returns {string|*}\r\n */\r\n toBBAN(iban, separator) {\r\n if (typeof separator === 'undefined') {\r\n separator = ' ';\r\n }\r\n iban = Iban.electronicFormat(iban);\r\n var countryStructure = this.countries[iban.slice(0, 2)];\r\n if (!countryStructure) {\r\n throw new Error('No country with code ' + iban.slice(0, 2));\r\n }\r\n return countryStructure.toBBAN(iban, separator);\r\n };\r\n\r\n /**\r\n * Convert the passed BBAN to an IBAN for this country specification.\r\n * Please note that \"generation of the IBAN shall be the exclusive responsibility of the bank/branch servicing the account\".\r\n * This method implements the preferred algorithm described in http://en.wikipedia.org/wiki/International_Bank_Account_Number#Generating_IBAN_check_digits\r\n *\r\n * @param countryCode the country of the BBAN\r\n * @param bban the BBAN to convert to IBAN\r\n * @returns {string} the IBAN\r\n */\r\n fromBBAN(countryCode, bban) {\r\n var countryStructure = this.countries[countryCode];\r\n if (!countryStructure) {\r\n throw new Error('No country with code ' + countryCode);\r\n }\r\n return countryStructure.fromBBAN(Iban.electronicFormat(bban));\r\n };\r\n\r\n /**\r\n * Check the validity of the passed BBAN.\r\n *\r\n * @param countryCode the country of the BBAN\r\n * @param bban the BBAN to check the validity of\r\n */\r\n isValidBBAN(countryCode, bban) {\r\n if (!_.isString(bban)) {\r\n return false;\r\n }\r\n var countryStructure = this.countries[countryCode];\r\n return countryStructure && countryStructure.isValidBBAN(Iban.electronicFormat(bban));\r\n };\r\n\r\n /**\r\n *\r\n * @param iban\r\n * @param separator\r\n * @returns {string}\r\n */\r\n printFormat(iban, separator) {\r\n if (typeof separator === 'undefined') {\r\n separator = ' ';\r\n }\r\n return Iban.electronicFormat(iban).replace(Iban.EVERY_FOUR_CHARS, '$1' + separator);\r\n };\r\n\r\n}\r\n\r\nclass Specification {\r\n iban = {}\r\n\r\n /**\r\n * Create a new Specification for a valid IBAN number.\r\n *\r\n * @param countryCode the code of the country\r\n * @param length the length of the IBAN\r\n * @param structure the structure of the underlying BBAN (for validation and formatting)\r\n * @param example an example valid IBAN\r\n * @constructor\r\n */\r\n constructor(countryCode, length, structure, example) {\r\n this.iban = {\r\n countryCode,\r\n length,\r\n structure,\r\n example\r\n };\r\n }\r\n\r\n /**\r\n * Lazy-loaded regex (parse the structure and construct the regular expression the first time we need it for validation)\r\n */\r\n _regex() {\r\n return Iban._cachedRegex || (Iban._cachedRegex = Iban.parseStructure(this.iban.structure));\r\n };\r\n\r\n /**\r\n * Check if the passed iban is valid according to this specification.\r\n *\r\n * @param {String} iban the iban to validate\r\n * @returns {boolean} true if valid, false otherwise\r\n */\r\n isValid(iban) {\r\n return this.iban.length === iban.length\r\n && this.iban.countryCode === iban.slice(0, 2)\r\n && this._regex().test(iban.slice(4))\r\n && Iban.iso7064Mod97_10(Iban.iso13616Prepare(iban)) === 1;\r\n };\r\n\r\n /**\r\n * Convert the passed IBAN to a country-specific BBAN.\r\n *\r\n * @param iban the IBAN to convert\r\n * @param separator the separator to use between BBAN blocks\r\n * @returns {string} the BBAN\r\n */\r\n toBBAN(iban, separator) {\r\n return this._regex().exec(iban.slice(4)).slice(1).join(separator);\r\n };\r\n\r\n /**\r\n * Convert the passed BBAN to an IBAN for this country specification.\r\n * Please note that \"generation of the IBAN shall be the exclusive responsibility of the bank/branch servicing the account\".\r\n * This method implements the preferred algorithm described in http://en.wikipedia.org/wiki/International_Bank_Account_Number#Generating_IBAN_check_digits\r\n *\r\n * @param bban the BBAN to convert to IBAN\r\n * @returns {string} the IBAN\r\n */\r\n fromBBAN(bban) {\r\n if (!this.isValidBBAN(bban)) {\r\n throw new Error('Invalid BBAN');\r\n }\r\n\r\n var remainder = Iban.iso7064Mod97_10(Iban.iso13616Prepare(this.iban.countryCode + '00' + bban)),\r\n checkDigit = ('0' + (98 - remainder)).slice(-2);\r\n\r\n return this.iban.countryCode + checkDigit + bban;\r\n };\r\n\r\n /**\r\n * Check of the passed BBAN is valid.\r\n * This function only checks the format of the BBAN (length and matching the letetr/number specs) but does not\r\n * verify the check digit.\r\n *\r\n * @param bban the BBAN to validate\r\n * @returns {boolean} true if the passed bban is a valid BBAN according to this specification, false otherwise\r\n */\r\n isValidBBAN(bban) {\r\n return this.iban.length - 4 === bban.length\r\n && this._regex().test(bban);\r\n };\r\n}\r\n\r\nexport default Iban;","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAI4klEQVRoge2ZXYxURRbHf1W3b/d09/TMwCCsqCwxkOjKRyCsRkY3wY+YSABNfJEXlSH4FUWUREPEj8TExAc/9oEEIYYXExNF42YlPqi8GMQYIAFdvlYGic4wzADD9Ew3TXdV7UP17b739r3dPWyy+rAnubl1a7pO/f/nnDqnqgb+L39gMcaI3xtDKwkA3Lt3b8JxnJUzZszYnMlkbpRSCq01UkoDIIT9uRAi0AaQUk5pYq01AMYYjDG1dlSf1loVi8WfR0ZG/n78+PF/Pv7442VPT8KvtFgs/m3evHnbZ86cOct13Ro4T6SUCCHqbyFgaAhx6BBccw0sWwaO0zYJD6jWOtD2vv3vXC53QyKR+EuxWFwLfB1JIJFIPJxOp2c5joOUEillTUFYhBBw/jzi+edtx+nT8NJL8OCDbRMQQmCMqb09q3vk/CSFECSTyZlSyof9BAJ+11rP8MLDI+F9R4bP+fMgJbz/Prz1FnzyCVy61DYBqIee59mGOXzzSylRSs0IjA8RCLQ9F/otFiCUSFgCSsFNN4HWcOHClAhEAQ73+cWPp4GAPwaVUgECYWVCCOjuroPu7IRM5qoJ+EFHAY+TyNThJ+D3SsME06fDLbfAZ59BKgW9vfDrr1Mm4CcR/o7yTiyBcGqLWrwBcRxYtQo+/tgCz2bh4sX/GnxUv9cOY5pa8o6abOFCuOsueOUVcF0oFKaqMl53G9KwBqasXEp4+WU4dgz27oUrV6YMIjxPMyJNF3FYUdvS2QlbtsChQ1CptD+uTWmGJTaNNvNGpNx7r10PV7EGWokfS9M1MGXQfslmbS3Ytg0OHrx6PS2k7RCKGxhLUmvI560XnnsODh++KnDhLUUraUpgSspKJRgdhWefhcceswt7eLhtIHHzt5KGNRAFOrzJilQ8OWlJ9PbC2rVw662wfr2tDy2ANJszvKlruw5EKWxqkbExC7Sry1blTZtgxQro74evvrL7pRYSF0LN5g1sp+NY+7e8Xn/1oFMfvG8fXH899PTY72zWhtPixfD667ZOPPNMU+BRc0f9NpaAf/PmgfYr85Pw7+Upl+Gjj+zi9Q40SsHly7BoEWzdCk8+CV9/betFJgPFon1KJdAaUdUrOzvRuRwik4Hp0zGJRMCQTQnEWSFMJEyQzz+3BWzpUjhyBH78EY4etfHvhc7SpRbshg3279ddB319mN5eaxBjQGucYhGnUMCUSuibb+byhg11r9JYBxoIhAGGmTecoIaGEG+8ATfeCA88ABMTdgH39cFDD0EuBx0dkExa7+Tz8OWXsGuXTbX33YdZvRq1aBHacTCVCqZYxFy6RMe6dThLl1K5++7YdZCI7KUxbALtSgUxNoY5eRL53nv2FOa6NjzuuceCjZOeHsz69ZhHHoH9+xEffoh84gl7fJ0/Hz13rg2h06dBKSrz59fAhw9YDQT8h2jHcaJJnDqF/OILnB9+QBw+DN3d6N27EUuW2FBosYeqedRxMMuXY26/HTMxgTl5EjEwgBkehlIJ1ddH+YUXUHPmgC8CphRCgT6lSOzcifvBB6j776fS34+7aRNq82bMwoXI0NEzDniAhJfb02nMwoWYBQsCRtRa18C3tYjDBxq/5d09e0js2kVp507M7NmknnoKtXIlas0aRHVsOEuFCYTBe3P6i1QYbKv607AGogYaY9CpFKanB2fPHuTRo+gFC6hs2QLG1KwfzlhREgfQb7xwOvePaxpCSqmGbYP3Lt95J6TTuN9/z5X+fsxttyFSqYD1A7UhBnwUibhbuiiPqFBFj8xC4UprjAHXpbx8OeqOO+qH+wjg/jBqRQCCmSUMOEw2SgIELg8MMLl4ce1Wzn+NGG43vfCaogdarQdvQU9MTHD5zJl4An/asYPMvn0kr70W4d2NSomQ0p59pcRU+xAC47tJw9sXtTqKGlNPi/621rUthdAaUf02xmC0thV9ZITZR47EE0ifO8fMc+fIJhLgOBa449in2vaTqT2e9cMkvLcH1mt7YeMD7j1Gqfq3UqCU7VOKglJ0hAzUuAY8pZ6ELeoHYgzjqRSFVAqAjlKJHqXQUjKayaCFAKXIlUp0VkFPJpPkXReqlp4xMYGjlNUXBd5P0BgbAXEEVIiA8V9xeOmR6j8VpATXJbVuHXLNGgDyIyPk332X64eGyLzzjq3SWjM6MMDotm38+aefcFevpvPRR63X8nnk00/DmTNBoFUiYfDe/H6JPtR7JDz3+Szi9ZmqdZzp0+kYHSW3bh0zx8bIbt2KkJLUnDl0vv023a++yg3JJLnt2xmfNo1EVxepadPIbdhAduNGxOBgLURqjx+8552q6FA2Ch4pQ+xq8eonEXIxxlAqlzk7MsL48DBdyWTd3WfOYL77DrFjBzkpcVaswGiNAn7t7uZcOo2K0Gv8ff71E+GB2N1obZAXTmAzktfnOLUJ5KJFpD/9lJTjkHjzTUsYLIhKhfKFC5hymY5czv4+k6HnxReRp08jXnvNXkd6izhs+ZDFw0YObuaiSIQeY4zNRB5ArXFPnCC9cSMMD2MmJ2HuXAAuOw4mnaawZAmdySRy3z50Xx8inyezalU9VL1UGY75iOLV1ANa62DWEaKuyL+Qqn1Ca+uRQgFz4kR9bLV/bP16KuUyXXPnktq2DQ4cgOXLbWLwWdh4uj3Le8bzY/BjjCNQkTK4SKLaStWVFovI7dvt3ag3sRCIwUES/f1c67pQKmHOnkX89humUkHu3g3799fDxTNQTMgEwAuB8shHEHCHstlf8kKQLRQC+/tIhV4xOnYsWMCEsGH07behYdVxAwNw6lQwNH3ejavkWgjGMxnOGvML4+MuUPYTkEDXPyqVb3pnz165TMp5neUyLTYF9QnjKnAU8XCqbkMMMOm65oDWP382OPgN0AWMAcqbKQHMAubdnMncsqyn56/dUmaNEM2v1OLAtitxXo6Qi1eujB/K5w8eLRT+BfwbGAYq3uwOMA2YDXTTLL3+vqKwlh8ELuLzAEASyFbfU/7X0/9INHAFKAAloCHMRUTfH00MvnLwH7OH71X2Ce68AAAAAElFTkSuQmCC\"","const calendarLabel = 'Calendario';\r\nconst closeDatePicker = 'Chudi';\r\nconst clearDate = 'Pulisci Date';\r\nconst jumpToPrevMonth = 'Vai indietro per andare al mese precedente.';\r\nconst jumpToNextMonth = 'Vai avanti per andare al mese successivo';\r\nconst keyboardShortcuts = 'Scorciatoie da tastiera';\r\nconst showKeyboardShortcutsPanel = 'Apri il pannello delle scorciatoie.';\r\nconst hideKeyboardShortcutsPanel = 'Close the shortcuts panel.';\r\nconst openThisPanel = 'Apri il Pannello.';\r\nconst enterKey = 'Clicca un tasto';\r\nconst leftArrowRightArrow = 'Frecce Destra e Sinistra';\r\nconst upArrowDownArrow = 'Freccia sopra e dotto';\r\nconst pageUpPageDown = 'Tasti Pagina successiva e Pagina precedente';\r\nconst homeEnd = 'Tasti Inizio e Fine';\r\nconst escape = 'Tasto Esc';\r\nconst questionMark = 'Punto interrogativo';\r\nconst selectFocusedDate = 'Seleziona la data selezionata.';\r\nconst moveFocusByOneDay = 'Vai indietro (sinistra) e avanti (destra) di un giorno.';\r\nconst moveFocusByOneWeek = 'Vai indietro (sopra) e avanti (sotto) di una settimana.';\r\nconst moveFocusByOneMonth = 'Cambia Mese.';\r\nconst moveFocustoStartAndEndOfWeek = 'Vai al primo o all\\'ultimo giorno della settimana.';\r\nconst returnFocusToInput = 'Ritorna alla data inserita.';\r\nconst keyboardNavigationInstructions = 'Clicca la freccia giù per interagire con il calendario e selezionare una data. Clicca \"?\" per vedere le scorciatoie da tastiera.';\r\nconst chooseAvailableDate = ({ date }) => date;\r\nconst dateIsUnavailable = ({ date }) => `Non disponibile. ${date}`;\r\n\r\nexport const SingleDatePickerPhrases = {\r\n calendarLabel,\r\n closeDatePicker,\r\n clearDate,\r\n jumpToPrevMonth,\r\n jumpToNextMonth,\r\n keyboardShortcuts,\r\n showKeyboardShortcutsPanel,\r\n hideKeyboardShortcutsPanel,\r\n openThisPanel,\r\n enterKey,\r\n leftArrowRightArrow,\r\n upArrowDownArrow,\r\n pageUpPageDown,\r\n homeEnd,\r\n escape,\r\n questionMark,\r\n selectFocusedDate,\r\n moveFocusByOneDay,\r\n moveFocusByOneWeek,\r\n moveFocusByOneMonth,\r\n moveFocustoStartAndEndOfWeek,\r\n returnFocusToInput,\r\n keyboardNavigationInstructions,\r\n chooseAvailableDate,\r\n dateIsUnavailable,\r\n };","import _ from 'lodash';\r\nimport moment from 'moment';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\n\r\nimport 'react-dates/initialize';\r\nimport { SingleDatePicker } from 'react-dates';\r\nimport 'react-dates/lib/css/_datepicker.css';\r\nimport './style.css';\r\n\r\nimport commonFunctions from '../../../commonFunctions';\r\nimport * as ariBnbConsts from './const';\r\n\r\n/**\r\n * https://github.com/airbnb/react-dates\r\n */\r\nclass AirBnbDateTimePicker extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n focused: false,\r\n value: this.props.value,\r\n displayFormat: 'DD-MM-YYYY'\r\n };\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.value !== prevState.value)\r\n return Object.assign({}, prevState, { value: nextProps.value });\r\n return null;\r\n }\r\n\r\n isDayBlocked = (day) => {\r\n if (this.props.isDayBlocked)\r\n return this.props.isDayBlocked(day);\r\n\r\n return false;\r\n }\r\n\r\n onDateChange = (date) => {\r\n if (!_.isNil(date) && commonFunctions.isValidDate(date.toDate()))\r\n this.props.onChange({\r\n target: {\r\n name: this.props.name,\r\n value: date.toISOString()\r\n }\r\n });\r\n else\r\n this.props.onChange({\r\n target: {\r\n name: this.props.name,\r\n value: null\r\n }\r\n });\r\n }\r\n\r\n onFocusChange = (param) => {\r\n this.setState({ focused: param.focused });\r\n }\r\n\r\n isDayHighlighted = (a, b) => {\r\n return a.toISOString() === a._i;\r\n }\r\n\r\n validation = (value) => {\r\n if (this.props.validate && !this.props.validate(value)) {\r\n if (!_.isNil(this.props.errorMessage) && !_.isEmpty(this.props.errorMessage))\r\n return this.props.errorMessage;\r\n return 'Validazione non rispettata';\r\n }\r\n else if (this.props.required && _.isEmpty(value)) {\r\n if (!_.isNil(this.props.errorMessage) && !_.isEmpty(this.props.errorMessage))\r\n return this.props.errorMessage;\r\n return 'Campo obbligatorio';\r\n }\r\n }\r\n\r\n render() {\r\n var date = new Date(this.state.value);\r\n if (!_.isNil(this.state.value) && commonFunctions.isValidDate(date))\r\n date = moment(this.state.value);\r\n else\r\n date = null;\r\n\r\n const resultErrorMessage = this.validation(this.state.value);\r\n\r\n return (\r\n
\r\n
\r\n {this.props.label ? : ''}\r\n this.props.isOutsideRange : () => false}\r\n showClearDate\r\n small\r\n />\r\n
\r\n {resultErrorMessage !== '' &&
{resultErrorMessage}
}\r\n
\r\n );\r\n }\r\n}\r\n\r\nAirBnbDateTimePicker.propTypes = {\r\n disabled: PropTypes.bool,\r\n errorMessage: PropTypes.string,\r\n isOutsideRange: PropTypes.func,\r\n label: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n numberOfMonths: PropTypes.number,\r\n onChange: PropTypes.func,\r\n placeholder: PropTypes.string,\r\n required: PropTypes.bool,\r\n validate: PropTypes.func,\r\n value: PropTypes.string\r\n};\r\n\r\nexport default AirBnbDateTimePicker;\r\n","import _ from 'lodash';\r\nimport { saveAs } from 'file-saver';\r\n\r\nimport * as consts from './constants';\r\nimport * as codiceFiscaleConstants from './utils/codiceFiscale/constants';\r\n\r\nclass CommonFunctions {\r\n\r\n /**\r\n * @param {is Date type or a ISO String} birthday \r\n * @param {The where to measure the AGE} targetDate \r\n */\r\n static calculateAgeInYear(birthday, targetDate) {\r\n if (!_.isDate(birthday))\r\n birthday = new Date(birthday);\r\n\r\n var years = (targetDate.getFullYear() - birthday.getFullYear());\r\n\r\n if (targetDate.getMonth() < birthday.getMonth() || (targetDate.getMonth() === birthday.getMonth() && targetDate.getDate() < birthday.getDate()))\r\n years--;\r\n\r\n return years;\r\n }\r\n\r\n static citiesbyCounty(cities, idCounty) {\r\n if (idCounty) {\r\n return cities.map(\r\n (value) => {\r\n return { value: value.id, text: value.name, county: value.county };\r\n }\r\n ).filter(function (val) {\r\n return idCounty === val.county;\r\n }).sort(function (a, b) {\r\n if (a.text < b.text) return -1;\r\n if (a.text > b.text) return 1;\r\n return 0;\r\n });\r\n }\r\n\r\n return [];\r\n }\r\n\r\n static cityById(cities, cityId) {\r\n if (cityId) {\r\n var found = cities.filter(function (val) {\r\n return cityId === val.id;\r\n });\r\n\r\n if (found.length > 0)\r\n return found[0];\r\n }\r\n return {};\r\n }\r\n\r\n static sexById(sexId) {\r\n var found = consts.GENERIC_ENUM.sex.filter(function (val) {\r\n return sexId === val.value;\r\n });\r\n\r\n if (found.length > 0)\r\n return found[0];\r\n\r\n return '';\r\n }\r\n\r\n static instalmentById(id) {\r\n var found = consts.GENERIC_ENUM.fractionationType.filter(function (val) {\r\n return '' + id === val.value;\r\n });\r\n\r\n if (found.length > 0)\r\n return found[0];\r\n\r\n return '---';\r\n }\r\n\r\n static payModeById(id) {\r\n var found = consts.GENERIC_ENUM.paymentType.filter(function (val) {\r\n return '' + id === val.value;\r\n });\r\n\r\n if (found.length > 0)\r\n return found[0];\r\n\r\n return '---';\r\n }\r\n\r\n /**\r\n * @return dd-MM-YYYY\r\n * @param {Date} date \r\n */\r\n static dateToString(date) {\r\n try {\r\n if (date && !_.isDate(date))\r\n date = new Date(date);\r\n return _.padStart(date.getDate(), 2, '0') + '-' + _.padStart((date.getMonth() + 1), 2, '0') + '-' + date.getFullYear();\r\n } catch (err) { }\r\n return '';\r\n }\r\n\r\n static isValidDate(value) {\r\n return value instanceof Date && !isNaN(value.valueOf());\r\n }\r\n\r\n /**\r\n * @param {'dd-MM-YYYY'} dateInString \r\n * @return Date Object\r\n */\r\n static StringToDate(dateInString) {\r\n try {\r\n return new Date(_.toNumber(dateInString.substring(6)), _.toNumber(dateInString.substring(3, 5)) - 1, _.toNumber(dateInString.substring(0, 2)));\r\n } catch (err) { }\r\n return undefined;\r\n }\r\n\r\n static formatMoney(value, places, symbol, thousand, decimal) {\r\n places = !isNaN(places) ? Math.abs(places) : 2;\r\n symbol = symbol !== undefined ? symbol : '$';\r\n thousand = thousand || ',';\r\n decimal = decimal || '.';\r\n var number = value;\r\n var negative = number < 0 ? '-' : '';\r\n var i = parseInt(number = Math.abs(+number || 0).toFixed(places), 10) + '';\r\n var j = i.length;\r\n j = j > 3 ? j % 3 : 0;\r\n return symbol + ' ' + negative + (j ? i.substr(0, j) + thousand : '') + i.substr(j).replace(/(\\d{3})(?=\\d)/g, '$1' + thousand) + (places ? decimal + Math.abs(number - i).toFixed(places).slice(2) : '');\r\n }\r\n\r\n static numberToItalianEuroFormat(value) {\r\n return CommonFunctions.formatMoney(_.toNumber(value), 2, '€', '.', ',');\r\n }\r\n\r\n static numberStringItalianToUsNumber(value) {\r\n return _.toNumber(value.replace(',', '.')).toFixed(2);\r\n }\r\n\r\n static reverseString(str) {\r\n var splitString = str.split('');\r\n var reverseArray = splitString.reverse();\r\n return reverseArray.join('');\r\n }\r\n\r\n static errorMessage(code) {\r\n var codeIn = _.toInteger(code);\r\n var error = consts.GENERIC_ENUM.ERROR_MESSAGE.BE.filter(function (val) {\r\n return codeIn === val.code;\r\n });\r\n if (error && error.length > 0)\r\n return error[0].message;\r\n\r\n return 'Error Generico non definito: ' + codeIn;\r\n }\r\n\r\n static expirationLastDayOfYear(decorrenza, product) {\r\n if (_.isNil(decorrenza) || !_.isDate(decorrenza))\r\n decorrenza = new Date();\r\n\r\n if (product){\r\n decorrenza = new Date(\r\n decorrenza.getFullYear(),\r\n decorrenza.getMonth() + 1,\r\n product.contractStartingDay,\r\n 12,\r\n 0,\r\n 0\r\n );\r\n\r\n if (\r\n product.contractStartingDay != null &&\r\n product.contractStartingDay === 100\r\n ) {\r\n decorrenza = new Date(\r\n decorrenza.getFullYear(),\r\n decorrenza.getMonth() + 1,\r\n 1,\r\n 12,\r\n 0,\r\n 0\r\n );\r\n }\r\n }else\r\n decorrenza = new Date(\r\n decorrenza.getFullYear(),\r\n decorrenza.getMonth() + 1,\r\n 1,\r\n 12,\r\n 0,\r\n 0\r\n );\r\n\r\n var scadenza = new Date(decorrenza.getFullYear(), 11, 31, 12, 0, 0);\r\n\r\n return {\r\n decorrenza: decorrenza,\r\n scadenza: scadenza\r\n };\r\n }\r\n\r\n static expirationNextYear(decorrenza) {\r\n if (_.isNil(decorrenza) || !_.isDate(decorrenza)) {\r\n decorrenza = new Date();\r\n }\r\n\r\n decorrenza.setHours(12, 0, 0, 0);\r\n var scadenza = new Date(decorrenza);\r\n scadenza.setFullYear(decorrenza.getFullYear() + 1);\r\n\r\n return {\r\n decorrenza: decorrenza,\r\n scadenza: scadenza\r\n };\r\n }\r\n\r\n static expirationContractDates(product, decorrenza) {\r\n if (product.contractPeriodMode === consts.GENERIC_ENUM.CONTRACT_PERIOD_MODE.EXPIRATION_LAST_DAY_OF_YEAR ||\r\n product.contractPeriodMode === consts.GENERIC_ENUM.CONTRACT_PERIOD_MODE.COLLETTIVA_LAST_DAY_OF_YEAR ||\r\n product.contractPeriodMode === consts.GENERIC_ENUM.CONTRACT_PERIOD_MODE.FORFAIT_LAST_DAY_OF_YEAR) {\r\n return CommonFunctions.expirationLastDayOfYear(decorrenza, product);\r\n }\r\n else if (product.contractPeriodMode === consts.GENERIC_ENUM.CONTRACT_PERIOD_MODE.COVID_19) {\r\n return CommonFunctions.expirationLastDayOfYear(decorrenza, product);\r\n }\r\n else {\r\n\r\n if (_.isNil(decorrenza) || !_.isDate(decorrenza)) {\r\n decorrenza = new Date();\r\n }\r\n if (\r\n product.contractStartingDay != null &&\r\n product.contractStartingDay === 100\r\n ) {\r\n decorrenza = new Date(\r\n decorrenza.getFullYear(),\r\n decorrenza.getMonth() + 1,\r\n 1,\r\n 12,\r\n 0,\r\n 0\r\n );\r\n }\r\n return CommonFunctions.expirationNextYear(decorrenza);\r\n }\r\n\r\n }\r\n\r\n static dateDiffInDays(startDate, endDate) {\r\n var oneDay = 1000 * 60 * 60 * 24;\r\n return Math.ceil((endDate.getTime() - startDate.getTime()) / (oneDay));\r\n }\r\n\r\n static allContractsStatus() {\r\n return [{ value: consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA, text: 'Adesione' },\r\n { value: consts.GENERIC_ENUM.CONTRACT_STATUS.ANNULLO, text: 'Annullo' },\r\n { value: consts.GENERIC_ENUM.CONTRACT_STATUS.PREVENTIVO, text: 'Preventivo' },\r\n { value: consts.GENERIC_ENUM.CONTRACT_STATUS.PREVENTIVO_COFERMATO, text: 'Preventivo Confermato' },\r\n { value: consts.GENERIC_ENUM.CONTRACT_STATUS.CHIUSA, text: 'Adesione Chiusa' }];\r\n }\r\n\r\n static allRoles() {\r\n return [{ value: consts.AUTHENTICATION.USER_ROLE.Admin, text: CommonFunctions.roleInString(consts.AUTHENTICATION.USER_ROLE.Admin) },\r\n { value: consts.AUTHENTICATION.USER_ROLE.CentraleOperativa, text: CommonFunctions.roleInString(consts.AUTHENTICATION.USER_ROLE.CentraleOperativa) },\r\n { value: consts.AUTHENTICATION.USER_ROLE.Fab, text: CommonFunctions.roleInString(consts.AUTHENTICATION.USER_ROLE.Fab) },\r\n { value: consts.AUTHENTICATION.USER_ROLE.NetworkMaster, text: CommonFunctions.roleInString(consts.AUTHENTICATION.USER_ROLE.NetworkMaster) },\r\n { value: consts.AUTHENTICATION.USER_ROLE.NetworkAgent, text: CommonFunctions.roleInString(consts.AUTHENTICATION.USER_ROLE.NetworkAgent) },\r\n { value: consts.AUTHENTICATION.USER_ROLE.NetworkReferent, text: CommonFunctions.roleInString(consts.AUTHENTICATION.USER_ROLE.NetworkReferent) },\r\n { value: consts.AUTHENTICATION.USER_ROLE.Seb, text: CommonFunctions.roleInString(consts.AUTHENTICATION.USER_ROLE.Seb) },\r\n { value: consts.AUTHENTICATION.USER_ROLE.NetworkOwner, text: CommonFunctions.roleInString(consts.AUTHENTICATION.USER_ROLE.NetworkOwner) }];\r\n }\r\n\r\n static ageLimtsForCombo() {\r\n return [{ value: consts.AGE_LIMITS.TYPES.NO_LIMITS, text: 'Nessun Limite.' },\r\n { value: consts.AGE_LIMITS.TYPES.NO_65_AND_OVER_65, text: 'Solo sotto i 65 anni.' },\r\n { value: consts.AGE_LIMITS.TYPES.NO_UNDER_65, text: 'Solo sopra i 65 anni compresi.' },\r\n { value: consts.AGE_LIMITS.TYPES.JUST_ONE_OVER_65, text: 'Solo una persona sopra i 65 anni compresi.' },\r\n { value: consts.AGE_LIMITS.TYPES.NO_35_AND_OVER_35, text: 'Solo sotto i 35 anni non compresi.' },\r\n { value: consts.AGE_LIMITS.TYPES.NO_UNDER_35_NO_65_AND_OVER_65, text: 'Solo sopra i 35 anni compresi e sotto i 65 anni non compresi.' }];\r\n }\r\n\r\n static createNetwork() {\r\n return {\r\n id: -1,\r\n businessName: '',\r\n code: '',\r\n dataFineAttivita: null,\r\n dataInizioAttivita: null,\r\n documents: [],\r\n extraNoteEnabled: false,\r\n heading: '',\r\n iban: '',\r\n ibanNote: '',\r\n iban2: '',\r\n iban2Note: '',\r\n idCounty: '',\r\n idCity: -1,\r\n networkTariff: { warranties: [] },\r\n nofEmployees: 0,\r\n noteAggiuntive: '',\r\n onContractNotification: { owner: false, agent: false, client: false },\r\n password: '',\r\n referents: [],\r\n site: '',\r\n street: '',\r\n userData: {\r\n ateco: '',\r\n emailAddress: '',\r\n emailAddress2: '',\r\n firstName: '',\r\n lastName: '',\r\n password: '',\r\n sae: '',\r\n taxCode: '',\r\n username: '',\r\n workPhone: '',\r\n workPhone2: ''\r\n },\r\n vatCode: ''\r\n };\r\n }\r\n\r\n static createContract() {\r\n // By default we set this dates ì. They will be changed based on the product type\r\n var dates = CommonFunctions.expirationLastDayOfYear();\r\n return {\r\n customrSearch: {\r\n taxCode: '',\r\n surname: '',\r\n vatCode: '',\r\n businessName: '',\r\n result: [],\r\n selectedCustomerId: -1\r\n },\r\n status: consts.GENERIC_ENUM.CONTRACT_STATUS.CREAZIONE,\r\n datiContrattoContraente: {\r\n email: '',\r\n mobile: '',\r\n phone: ''\r\n },\r\n datiPagamento: {\r\n startDate: dates.decorrenza,\r\n endDate: dates.scadenza\r\n },\r\n documents: [],\r\n members: [],\r\n accountperiods: [],\r\n personType: -1,\r\n payMode: -1,\r\n instalmentMode: -1,\r\n personaFisica: {\r\n id: -1,\r\n name: '',\r\n surname: '',\r\n birthDate: null,\r\n bornCounty: '',\r\n bornCity: -1,\r\n sex: 1,\r\n taxCode: '',\r\n county: '',\r\n city: -1,\r\n street: '',\r\n familyMembers: []\r\n },\r\n personaGiuridica: {\r\n id: -1,\r\n businessName: '',\r\n county: '',\r\n fileBenificiari: { name: '' },\r\n numeroDipendenti: 0,\r\n street: '',\r\n vatCode: '',\r\n legaleRappresentante: {\r\n familyTree: consts.GENERIC_ENUM.FAMILY_TREE_TYPES.LEGALE_RAPPRESENTANTE,\r\n name: '',\r\n surname: '',\r\n birthDate: null,\r\n bornCounty: '',\r\n bornCity: -1,\r\n sex: 1,\r\n taxCode: '',\r\n county: '',\r\n city: -1,\r\n street: '',\r\n }\r\n },\r\n pianoFlex: CommonFunctions.pianoFlexCreate(),\r\n productId: -1\r\n };\r\n }\r\n\r\n static pianoFlexCreateFamiliareEmpty(contract) {\r\n return {\r\n idParentMember: -1,\r\n iban: '', // Used\r\n pianoFlex: CommonFunctions.pianoFlexCreate(contract)\r\n };\r\n }\r\n\r\n static pianoFlexCreateDeleteFamiliare(contract) {\r\n return {\r\n endDate: null,\r\n iban: '',\r\n pianoFlex: CommonFunctions.pianoFlexCreate(contract)\r\n };\r\n }\r\n\r\n static pianoFlexCreate(contract) {\r\n return {\r\n name: '',\r\n note: '',\r\n pgFactoryFee: 0,\r\n pgEmployeeFee: 0,\r\n pgRelativeFee: 0,\r\n pfSubscriberFee: 0,\r\n pfRelative: 0,\r\n pianoFlexWarranty: CommonFunctions.pianoFlexCreateBasewarranties(contract),\r\n netAmount: 0,\r\n quotaIscrizione: 0,\r\n grossAmount: 0\r\n };\r\n }\r\n\r\n static pianoFlexCreateBasewarranties(contract) {\r\n if (!_.isNil(contract) && contract.isPianoFlex && contract.pianoFlex.pianoFlexWarranty && contract.pianoFlex.pianoFlexWarranty.length > 0) {\r\n const appArray = _.cloneDeep(contract.pianoFlex.pianoFlexWarranty.filter(x => {\r\n return contract.pianoFlex.pianoFlexWarranty[0].periodIdentifier === x.periodIdentifier;\r\n }));\r\n let index = 0;\r\n appArray.forEach(element => {\r\n element.id = index--;\r\n element.amount = 0;\r\n });\r\n\r\n return appArray;\r\n }\r\n return [{\r\n amount: 0,\r\n id: 0,\r\n idInsuranceCompany: consts.GENERIC_ENUM.PIANO_FLEX.COMPANY_FIRST_WARRANTY,\r\n name: 'Prestazioni Sanitarie Integrative',\r\n printedNote: ''\r\n }];\r\n }\r\n\r\n static getValuesForQuotaIscrizioneAndQuota(contract, commonstate, product) {\r\n const role = _.toNumber(contract.personType) === consts.GENERIC_ENUM.personType[1].value ? 'Pg' : 'Pf';\r\n const subscriptions = commonstate.configuration.subscriptions.filter(x => x.role === role);\r\n let totalAmount = 0;\r\n\r\n // If Persona Fisica\r\n if (role === 'Pf') {\r\n let appV = 0;\r\n if (product && product.forzaQuote) {\r\n appV = product.pfSubscriberFee + (product.pfRelative * contract.personaFisica.familyMembers.length);\r\n } else if (!_.isNil(subscriptions.filter(x => x.type === 'Subscriber')[0])) {\r\n appV = subscriptions.filter(x => x.type === 'Subscriber')[0].cost +\r\n (subscriptions.filter(x => x.type === 'Relative')[0].cost * contract.personaFisica.familyMembers.length);\r\n }\r\n totalAmount = appV;\r\n } else {\r\n // TODO: if PG we have a problem cos in a contract you do not have number of people\r\n }\r\n\r\n const compObject = {\r\n subscriptions: subscriptions,\r\n totalAmount: totalAmount\r\n };\r\n\r\n return compObject;\r\n }\r\n\r\n static getValuesForQuotaIscrizioneAndQuotaPianoFlex(contract, commonstate) {\r\n const role = _.toNumber(contract.personType) === consts.GENERIC_ENUM.personType[1].value ? 'Pg' : 'Pf';\r\n let totalAmount = 0;\r\n let quotaIscrizione = 0;\r\n\r\n // If Persona Fisica\r\n if (role === 'Pf') {\r\n quotaIscrizione = contract.pianoFlex.pfSubscriberFee + contract.pianoFlex.pfRelative * contract.personaFisica.familyMembers.length;\r\n totalAmount += quotaIscrizione;\r\n } else {\r\n // TODO: if PG we have a problem cos in a contract you do not have number of people\r\n }\r\n\r\n const compObject = {\r\n quotaIscrizione: quotaIscrizione,\r\n totalAmount: totalAmount\r\n };\r\n\r\n return compObject;\r\n }\r\n\r\n static codiceFiscaleErrorInString(code, cf) {\r\n if (codiceFiscaleConstants.ERROR_CODES.SYNTAX_ERROR === code)\r\n return 'Errore di Sintassi nel codice Fiscale: ' + cf;\r\n if (codiceFiscaleConstants.ERROR_CODES.NAME_ERROR === code)\r\n return 'Nome non corretto nel codice Fiscale: ' + cf;\r\n if (codiceFiscaleConstants.ERROR_CODES.SURNAME_ERROR === code)\r\n return 'Cognome non corretto nel codice Fiscale: ' + cf;\r\n if (codiceFiscaleConstants.ERROR_CODES.BDAY_ERROR === code)\r\n return 'Data non corretta nel codice Fiscale: ' + cf;\r\n\r\n return '---';\r\n }\r\n\r\n static contractStatusInString(statusId) {\r\n if (consts.GENERIC_ENUM.CONTRACT_STATUS.ANNULLO === statusId)\r\n return 'Annullo Tecnico';\r\n if (consts.GENERIC_ENUM.CONTRACT_STATUS.CHIUSA === statusId)\r\n return 'Adesione Cessata';\r\n if (consts.GENERIC_ENUM.CONTRACT_STATUS.CREAZIONE === statusId)\r\n return 'In Creazione';\r\n if (consts.GENERIC_ENUM.CONTRACT_STATUS.PREVENTIVO === statusId)\r\n return 'Inserito';\r\n if (consts.GENERIC_ENUM.CONTRACT_STATUS.PREVENTIVO_COFERMATO === statusId)\r\n return 'Confermato';\r\n if (consts.GENERIC_ENUM.CONTRACT_STATUS.POLIZZA === statusId)\r\n return 'Adesione';\r\n\r\n return '---';\r\n }\r\n\r\n static accountPeriodActivityInString(accountPeriodActivityIn) {\r\n if (consts.GENERIC_ENUM.ACCOUNT_PERIOD_ACTIVITY.AGGIUNTA_FAMILIARE === accountPeriodActivityIn)\r\n return 'Aggiunta familiare';\r\n if (consts.GENERIC_ENUM.ACCOUNT_PERIOD_ACTIVITY.EMISSIONE === accountPeriodActivityIn)\r\n return 'Emissione';\r\n if (consts.GENERIC_ENUM.ACCOUNT_PERIOD_ACTIVITY.QUIETANZIAMENTO === accountPeriodActivityIn)\r\n return 'Quietanziamento';\r\n if (consts.GENERIC_ENUM.ACCOUNT_PERIOD_ACTIVITY.RIMBORSO === accountPeriodActivityIn)\r\n return 'Rimborso';\r\n if (consts.GENERIC_ENUM.ACCOUNT_PERIOD_ACTIVITY.RINNOVO === accountPeriodActivityIn)\r\n return 'Rinnovo';\r\n\r\n return '---';\r\n }\r\n\r\n static roleInString(roleId) {\r\n if (consts.AUTHENTICATION.USER_ROLE.Admin === roleId)\r\n return 'Amministratore';\r\n if (consts.AUTHENTICATION.USER_ROLE.CentraleOperativa === roleId)\r\n return 'Centrale Operativa';\r\n if (consts.AUTHENTICATION.USER_ROLE.Fab === roleId)\r\n return 'Fab';\r\n if (consts.AUTHENTICATION.USER_ROLE.NetworkMaster === roleId)\r\n return 'Master';\r\n if (consts.AUTHENTICATION.USER_ROLE.NetworkAgent === roleId)\r\n return 'Operatore';\r\n if (consts.AUTHENTICATION.USER_ROLE.NetworkReferent === roleId)\r\n return 'Referente';\r\n if (consts.AUTHENTICATION.USER_ROLE.NetworkOwner === roleId)\r\n return 'Socio Sostenitore';\r\n if (consts.AUTHENTICATION.USER_ROLE.Seb === roleId)\r\n return 'Grifo';\r\n\r\n return '---';\r\n }\r\n\r\n static familyTreeInString(familyTree) {\r\n if (consts.GENERIC_ENUM.FAMILY_TREE_TYPES.CONVIVENTE_MORE_UXORIO === familyTree)\r\n return 'Convivente More Uxorio';\r\n if (consts.GENERIC_ENUM.FAMILY_TREE_TYPES.CAPO_NUCLEO === familyTree)\r\n return 'Caponucleo';\r\n if (consts.GENERIC_ENUM.FAMILY_TREE_TYPES.FIGLIA === familyTree)\r\n return 'Figlia';\r\n if (consts.GENERIC_ENUM.FAMILY_TREE_TYPES.FIGLIO === familyTree)\r\n return 'Figlio';\r\n if (consts.GENERIC_ENUM.FAMILY_TREE_TYPES.MADRE === familyTree)\r\n return 'Madre';\r\n if (consts.GENERIC_ENUM.FAMILY_TREE_TYPES.MARITO === familyTree)\r\n return 'Marito';\r\n if (consts.GENERIC_ENUM.FAMILY_TREE_TYPES.MOGLIE === familyTree)\r\n return 'Moglie';\r\n if (consts.GENERIC_ENUM.FAMILY_TREE_TYPES.PADRE === familyTree)\r\n return 'Padre';\r\n if (consts.GENERIC_ENUM.FAMILY_TREE_TYPES.FRATELLO === familyTree)\r\n return 'Fratello';\r\n if (consts.GENERIC_ENUM.FAMILY_TREE_TYPES.SORELLA === familyTree)\r\n return 'Sorella';\r\n\r\n return '---';\r\n }\r\n\r\n static businessRoleInString(businessRole) {\r\n if (consts.GENERIC_ENUM.BUSINESS_ROLE_TYPES.AMMINISTRATORE === businessRole)\r\n return 'Amministratore';\r\n if (consts.GENERIC_ENUM.BUSINESS_ROLE_TYPES.DIRIGENTE === businessRole)\r\n return 'Dirigente';\r\n if (consts.GENERIC_ENUM.BUSINESS_ROLE_TYPES.IMPIEGATO === businessRole)\r\n return 'Impiegato';\r\n if (consts.GENERIC_ENUM.BUSINESS_ROLE_TYPES.OPERAIO === businessRole)\r\n return 'Operaio';\r\n if (consts.GENERIC_ENUM.BUSINESS_ROLE_TYPES.QUADRO === businessRole)\r\n return 'Quadro';\r\n if (consts.GENERIC_ENUM.BUSINESS_ROLE_TYPES.FAMILIARE_NON_A_CARICO === businessRole)\r\n return 'Familiare non a Carico';\r\n\r\n return '---';\r\n }\r\n\r\n static accountPeriodStatusInString(code) {\r\n if (consts.GENERIC_ENUM.ACCOUNT_PERIOD_STATUS.ANNULLATO === code)\r\n return 'ANNULLATO';\r\n if (consts.GENERIC_ENUM.ACCOUNT_PERIOD_STATUS.ESITO_PAGAMENTO_KO === code)\r\n return 'NON PAGATO';\r\n if (consts.GENERIC_ENUM.ACCOUNT_PERIOD_STATUS.ESITO_PAGAMENTO_OK === code)\r\n return 'PAGATO';\r\n if (consts.GENERIC_ENUM.ACCOUNT_PERIOD_STATUS.PAGAMENTO === code)\r\n return 'IN ATTESA DI PAGAMENTO';\r\n\r\n return '---';\r\n }\r\n\r\n static frazionamentoInString(instalment) {\r\n if (consts.GENERIC_ENUM.FRAZIONAMENTO_TYPES.ANNUO === instalment)\r\n return 'Annuo';\r\n if (consts.GENERIC_ENUM.FRAZIONAMENTO_TYPES.MENSILE === instalment)\r\n return 'Mensile';\r\n if (consts.GENERIC_ENUM.FRAZIONAMENTO_TYPES.SEMSTRALE === instalment)\r\n return 'Semestrale';\r\n if (consts.GENERIC_ENUM.FRAZIONAMENTO_TYPES.TRIMESTRALE === instalment)\r\n return 'Trimestrale';\r\n\r\n return '---';\r\n }\r\n\r\n /**\r\n * This function can convert a text file to blob and save it, but not another type of file.\r\n * \r\n * @param {*} file \r\n * @param {*} fileName \r\n */\r\n static saveInCSV(file, fileName) {\r\n if (_.isUndefined(fileName))\r\n fileName = 'export.csv';\r\n\r\n var byteNumbers = new Array(file.length);\r\n for (var i = 0; i < file.length; i++)\r\n byteNumbers[i] = file.charCodeAt(i);\r\n\r\n var byteArray = new Uint8Array(byteNumbers);\r\n var blob = new Blob([byteArray], { type: 'application/csv' });\r\n saveAs(blob, fileName);\r\n }\r\n\r\n static saveExcel(base64Value, fileName) {\r\n CommonFunctions.saveFile(base64Value, fileName, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');\r\n }\r\n\r\n /**\r\n * This function can receive a base64 string in input and save it as a file.\r\n * \r\n * The C# controller should be like this return Convert.ToBase64String(byte[]....);\r\n * \r\n * @param {*} base64Value: 'base64Value' in XMLHttpRequest this.response\r\n * @param {*} fileName: 'export.xlsx'\r\n * @param {*} fileType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\r\n */\r\n static saveFile(base64Value, fileName, fileType) {\r\n var byteCharacters = atob(base64Value);\r\n var byteNumbers = new Array(byteCharacters.length);\r\n for (var i = 0; i < byteCharacters.length; i++) {\r\n byteNumbers[i] = byteCharacters.charCodeAt(i);\r\n }\r\n var byteArray = new Uint8Array(byteNumbers);\r\n var blob = new Blob([byteArray], { type: fileType });\r\n saveAs(blob, fileName);\r\n }\r\n\r\n static dynamicLogoUrlComposer(authenticationState, networkId) {\r\n return process.env.REACT_APP_LOGO_URL + encodeURIComponent(networkId) + '&token=' + encodeURIComponent(authenticationState.token);\r\n }\r\n\r\n static dynamicLogoUrlComposerNoCache(authenticationState, networkId) {\r\n return CommonFunctions.dynamicLogoUrlComposer(authenticationState, networkId) + '&t=' + new Date().getTime();\r\n }\r\n}\r\n\r\nexport default CommonFunctions;\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport { Spin } from 'antd';\r\n\r\nconst ConfirmationModal = ({ title, message, show, commonState, showHide, action }) => {\r\n return (\r\n \r\n \r\n {title}\r\n \r\n \r\n {message}\r\n \r\n \r\n 0} size=\"large\" >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nConfirmationModal.propTypes = {\r\n title: PropTypes.string.isRequired, // title\r\n message: PropTypes.string.isRequired, // message\r\n show: PropTypes.bool.isRequired, // show\r\n showHide: PropTypes.func.isRequired, // anction on hide\r\n action: PropTypes.func.isRequired, // anction on click\r\n commonState: PropTypes.object.isRequired // the Redux common state\r\n};\r\n\r\nexport default ConfirmationModal;\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport './style.css';\r\n\r\nconst CheckboxInput = ({ name, label, labelStyle, overrideCheckboxLabel, onChange, value, disabled, error }) => {\r\n var checkStyle = {\r\n color: '#222',\r\n padding: '10px'\r\n };\r\n\r\n var localV = '';\r\n if (value === true || value === 'true')\r\n localV = 'on';\r\n\r\n function customRet(evt) {\r\n var app = !(localV === 'on');\r\n evt.target.value = app;\r\n onChange(evt);\r\n }\r\n\r\n if (!disabled)\r\n disabled = false;\r\n\r\n let cssLabel = 'checkboxLabel';\r\n if (overrideCheckboxLabel)\r\n cssLabel = 'checkboxLabel overrideCheckboxLabel';\r\n\r\n return (\r\n
\r\n customRet(evt)} />\r\n \r\n
\r\n );\r\n};\r\n\r\nCheckboxInput.propTypes = {\r\n disabled: PropTypes.bool,\r\n error: PropTypes.string,\r\n label: PropTypes.string,\r\n name: PropTypes.string.isRequired,\r\n onChange: PropTypes.func,\r\n labelStyle: PropTypes.object,\r\n overrideCheckboxLabel: PropTypes.bool,\r\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.bool])\r\n};\r\n\r\nexport default CheckboxInput;","import _ from 'lodash';\r\nimport * as consts from '../constants';\r\nimport commonFunctions from '../commonFunctions';\r\n\r\nclass userApi {\r\n static loadAgents(token, searchModel) {\r\n return userApi.loadUsers(token, searchModel);\r\n }\r\n\r\n static loadAgentsByNetowrk(token, networkId) {\r\n return;\r\n }\r\n\r\n static loadUsers(token, searchModel) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/user/filtered';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento degli Operatori!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(searchModel));\r\n });\r\n }\r\n\r\n static loadUsersByNetowrk(token, networkId, roleId) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/user/byNetwork?';\r\n if (!_.isUndefined(networkId))\r\n url = url + '&networkId=' + networkId;\r\n\r\n if (!_.isUndefined(roleId))\r\n url = url + '&roleId=' + consts.AUTHENTICATION.USER_ROLE.NetworkAgent;\r\n else\r\n url = url + '&roleId=' + roleId;\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento degli Operatori!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadUser(token, id) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/user/get/' + id, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento della Garanzia!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadBasicUser(token, id) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/user/getBasicUser/' + id, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento della Garanzia!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static saveUser(token, user) {\r\n return new Promise((resolve, reject) => {\r\n let method = 'POST';\r\n if (user.id > -1)\r\n method = 'PUT';\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/user/save', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 409) {\r\n reject(req.response);\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(user));\r\n });\r\n }\r\n\r\n static saveBasicUser(token, user) {\r\n return new Promise((resolve, reject) => {\r\n let method = 'POST';\r\n if (user.id > -1)\r\n method = 'PUT';\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/user/saveBasicUser', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 409) {\r\n reject(req.response);\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(user));\r\n });\r\n }\r\n\r\n // *******************************************************************************************************************\r\n // Documents \r\n // *******************************************************************************************************************\r\n static eliminaDocumento(token, documentId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/user/document/'+ documentId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static caricaDocumento(token, networkId, file) {\r\n return new Promise((resolve, reject) => {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('POST', process.env.REACT_APP_BASE_URL + '/api/user/document/' + networkId, true);\r\n xhr.setRequestHeader('Content-Length', file.size);\r\n xhr.setRequestHeader('X-Token', token);\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status >= 200 && xhr.status < 400) {\r\n resolve(JSON.parse(xhr.response));\r\n } else if (xhr.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (xhr.status === 401 || xhr.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento del Contratto!');\r\n }\r\n }\r\n };\r\n var formData = new FormData();\r\n formData.append('configurationFile', file);\r\n xhr.send(formData);\r\n });\r\n }\r\n}\r\n\r\nexport default userApi;\r\n","import _ from 'lodash';\r\nimport * as consts from '../constants';\r\nimport commonFunctions from '../commonFunctions';\r\n\r\nclass networkApi {\r\n static loadNetworks(token, searchModel) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/network/filtered';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(searchModel));\r\n });\r\n }\r\n\r\n static networksExport(token, searchModel) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/network/exportNetworks';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(searchModel));\r\n });\r\n }\r\n\r\n static loadAllNetworks(token) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/network/all';\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadAllWithProducts(token) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/network/allWithProducts';\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadNetwork(token, id) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/get/' + id, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static exportNetwork(token, networkId) {\r\n return new Promise((resolve, reject) => {\r\n var url = process.env.REACT_APP_BASE_URL + '/api/network/exportNetwork/' + networkId;\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, url, 'GET');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n var ret = JSON.parse(req.response);\r\n commonFunctions.saveFile(ret.base64, ret.fileName, ret.contentType);\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify());\r\n });\r\n }\r\n\r\n static saveNetwork(token, network) {\r\n return new Promise((resolve, reject) => {\r\n let method = 'POST';\r\n if (network.id > -1)\r\n method = 'PUT';\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/registernetwork', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(network));\r\n });\r\n }\r\n\r\n static saveQuote(token, quote) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/saveQuote', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(quote));\r\n });\r\n }\r\n\r\n static loadLogo(token, networkId, file) {\r\n return new Promise((resolve, reject) => {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('POST', process.env.REACT_APP_BASE_URL + '/api/network/logo?networkId=' + networkId, true);\r\n xhr.setRequestHeader('Content-Length', file.size);\r\n xhr.setRequestHeader('X-Token', token);\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status >= 200 && xhr.status < 400) {\r\n resolve(JSON.parse(xhr.response));\r\n } else if (xhr.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (xhr.status === 401 || xhr.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento del Contratto!');\r\n }\r\n }\r\n };\r\n var formData = new FormData();\r\n formData.append('pgFile', file);\r\n xhr.send(formData);\r\n });\r\n }\r\n\r\n static configurationFileUpLoad(token, networkId, file) {\r\n return new Promise((resolve, reject) => {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('POST', process.env.REACT_APP_BASE_URL + '/api/network/configurationFileUpLoad?networkId=' + networkId, true);\r\n xhr.setRequestHeader('Content-Length', file.size);\r\n xhr.setRequestHeader('X-Token', token);\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status >= 200 && xhr.status < 400) {\r\n resolve(JSON.parse(xhr.response));\r\n } else if (xhr.status === 400) {\r\n reject('Attenzione il file caricato non è corretto');\r\n } else if (xhr.status === 401 || xhr.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento del Contratto!');\r\n }\r\n }\r\n };\r\n var formData = new FormData();\r\n formData.append('configurationFile', file);\r\n xhr.send(formData);\r\n });\r\n }\r\n\r\n // *******************************************************************************************************************\r\n // Notes \r\n // *******************************************************************************************************************\r\n static loadNotes(token, networkId) {\r\n return new Promise((resolve, reject) => {\r\n if (_.isUndefined(networkId))\r\n networkId = -1;\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/notes/' + networkId);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static deleteNote(token, noteId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/notes/' + noteId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static saveNote(token, note) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/notes', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(note));\r\n });\r\n }\r\n\r\n // *******************************************************************************************************************\r\n // Network Referent \r\n // *******************************************************************************************************************\r\n static loadReferentNetworks(token, userId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/networkReferentByUserId/' + userId);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static saveNetworkReferent(token, networkReferent) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/networkReferent', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n if (parseInt(JSON.parse(req.response).message, 10) >= 0)\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n else\r\n reject(JSON.parse(req.response).message);\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(networkReferent));\r\n });\r\n }\r\n\r\n static deleteNetworkReferent(token, networkReferentId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/networkReferent/' + networkReferentId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n // *******************************************************************************************************************\r\n // Network Master \r\n // *******************************************************************************************************************\r\n \r\n static loadNetworkMastersByNetwork(token, networkId) { \r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/networkMastersByNetworkId/' + networkId);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadNetworkMastersByUser(token, userId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/networkMastersByUserId/' + userId);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static saveNetworkMaster(token, networkMaster) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/networkMaster', 'POST');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n if (parseInt(JSON.parse(req.response).message, 10) >= 0)\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n else\r\n reject(JSON.parse(req.response).message);\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(networkMaster));\r\n });\r\n }\r\n\r\n static deleteNetworkMaster(token, networkMasterId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/networkMaster/' + networkMasterId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n // *******************************************************************************************************************\r\n // Products \r\n // *******************************************************************************************************************\r\n static loadNetworkProducts(token, networkId, showClosed) {\r\n return new Promise((resolve, reject) => {\r\n if (_.isUndefined(networkId))\r\n networkId = -1;\r\n\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/product/networkProducts/' + networkId + '?showClosed=' + showClosed);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadNetworkProduct(token, productId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/product/networkProduct/' + productId);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadNetworkProductsReady(token, networkId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/product/networkProductsReady/' + networkId);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static loadActiveNetworkProducts(token, networkId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/product/activeNetworkProducts/' + networkId);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static saveProduct(token, product) {\r\n return new Promise((resolve, reject) => {\r\n let method = 'POST';\r\n if (product.id > -1)\r\n method = 'PUT';\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/product/save', method);\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify(product));\r\n });\r\n }\r\n\r\n static deleteProduct(token, productId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/product/delete/' + productId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve();\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static cloneProducts(token, networkFromId, networkToId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/product/cloneProducts/', 'PUT');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ networkFromId, networkToId }));\r\n });\r\n }\r\n\r\n static cloneProduct(token, productId, networkId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/product/cloneProduct/', 'PUT');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ productId, networkId }));\r\n });\r\n }\r\n\r\n static cloneSomeProducts(token, productsIds, networkId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/product/cloneSomeProducts/', 'PUT');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send(JSON.stringify({ productsIds, networkId }));\r\n });\r\n }\r\n\r\n // *******************************************************************************************************************\r\n // Documents \r\n // *******************************************************************************************************************\r\n static eliminaDocumento(token, documentId) {\r\n return new Promise((resolve, reject) => {\r\n var req = new consts.AUTHENTICATION.XXXMLHttpRequest(token, process.env.REACT_APP_BASE_URL + '/api/network/document/' + documentId, 'DELETE');\r\n req.onreadystatechange = function () {\r\n if (req.readyState === 4) {\r\n if (req.status >= 200 && req.status < 400) {\r\n resolve(JSON.parse(req.response));\r\n } else if (req.status === 400) {\r\n reject(commonFunctions.errorMessage(JSON.parse(req.response).message));\r\n } else if (req.status === 401 || req.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server!');\r\n }\r\n }\r\n };\r\n req.send();\r\n });\r\n }\r\n\r\n static caricaDocumento(token, networkId, file) {\r\n return new Promise((resolve, reject) => {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open('POST', process.env.REACT_APP_BASE_URL + '/api/network/document/' + networkId, true);\r\n xhr.setRequestHeader('Content-Length', file.size);\r\n xhr.setRequestHeader('X-Token', token);\r\n\r\n xhr.onreadystatechange = function () {\r\n if (xhr.readyState === 4) {\r\n if (xhr.status >= 200 && xhr.status < 400) {\r\n resolve(JSON.parse(xhr.response));\r\n } else if (xhr.status === 400) {\r\n reject('Attenzione la richiesta formulata è errata');\r\n } else if (xhr.status === 401 || xhr.status === 403) {\r\n reject('Non sei autorizzato o la sessione è scaduta');\r\n } else {\r\n reject('Errore sul server nel caricamento del Contratto!');\r\n }\r\n }\r\n };\r\n var formData = new FormData();\r\n formData.append('configurationFile', file);\r\n xhr.send(formData);\r\n });\r\n }\r\n}\r\n\r\nexport default networkApi;\r\n","import * as consts from '../constants';\r\nimport * as commonActions from './commonActions';\r\n\r\n// import networkApi from '../api/mocks/mockNetworkApi'\r\nimport networkApi from '../api/networkApi';\r\nimport userApi from '../api/userApi';\r\n\r\nexport function loadNetworksSuccess(pagingModel) {\r\n return { type: consts.ACTONS.LOAD_NETWORKS_SUCCESS, pagingModel };\r\n}\r\n\r\nexport function loadNetworksFailed() {\r\n return { type: consts.ACTONS.LOAD_NETWORKS_FAILED };\r\n}\r\n\r\nexport function loadNetworks(pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadNetworks(getState().authenticationState.token, pagingModel).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n res.name = pagingModel.name;\r\n res.vatCode = pagingModel.vatCode;\r\n res.dataInizioAttivita = pagingModel.dataInizioAttivita;\r\n res.dataFineAttivita = pagingModel.dataFineAttivita;\r\n dispatch(loadNetworksSuccess(res));\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadNetworksFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function networksExport(pagingModel) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.networksExport(getState().authenticationState.token, pagingModel).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadAllNetworks() {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadAllNetworks(getState().authenticationState.token).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadNetworksFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadAllWithProducts() {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadAllWithProducts(getState().authenticationState.token).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadNetworksFailed());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadNetwork(id) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadNetwork(getState().authenticationState.token, id).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function exportNetwork(nwetworkId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.exportNetwork(getState().authenticationState.token, nwetworkId).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveNetwork(network) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.saveNetwork(getState().authenticationState.token, network).then(savedNetwork => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadNetworks(getState().networkState));\r\n return savedNetwork;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveQuote(quote) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.saveQuote(getState().authenticationState.token, quote).then(savedNetwork => {\r\n dispatch(commonActions.unlockScreen());\r\n dispatch(loadNetworks(getState().networkState));\r\n return savedNetwork;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadLogo(networkId, file) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadLogo(getState().authenticationState.token, networkId, file).then(contract => {\r\n dispatch(commonActions.unlockScreen());\r\n return contract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function configurationFileUpLoad(networkId, file) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.configurationFileUpLoad(getState().authenticationState.token, networkId, file).then(contract => {\r\n dispatch(commonActions.unlockScreen());\r\n return contract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\n// *******************************************************************************************************************\r\n// Notes \r\n// *******************************************************************************************************************\r\nexport function loadNotes(networkId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadNotes(getState().authenticationState.token, networkId).then(notes => {\r\n dispatch(commonActions.unlockScreen());\r\n return notes;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveNote(note) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.saveNote(getState().authenticationState.token, note).then(note => {\r\n dispatch(commonActions.unlockScreen());\r\n return note;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function deleteNote(noteId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.deleteNote(getState().authenticationState.token, noteId).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\n// *******************************************************************************************************************\r\n// Referents \r\n// *******************************************************************************************************************\r\nexport function loadReferentNetworks(userId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadReferentNetworks(getState().authenticationState.token, userId).then(networkReferents => {\r\n dispatch(commonActions.unlockScreen());\r\n return networkReferents;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveNetworkReferent(networkReferent) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.saveNetworkReferent(getState().authenticationState.token, networkReferent).then(note => {\r\n dispatch(commonActions.unlockScreen());\r\n return networkReferent;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function deleteNetworkReferent(networkReferentId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.deleteNetworkReferent(getState().authenticationState.token, networkReferentId).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\n// *******************************************************************************************************************\r\n// Masters \r\n// *******************************************************************************************************************\r\nexport function loadNetworkMasterUsers() {\r\n\r\n const pagingModel = {\r\n itemsPerPage: 1000,\r\n page: 1,\r\n roleId: consts.AUTHENTICATION.USER_ROLE.NetworkMaster,\r\n sortName: 'lastName',\r\n sortOrder: 'asc'\r\n };\r\n\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return userApi.loadUsers(getState().authenticationState.token, pagingModel).then(res => {\r\n dispatch(commonActions.unlockScreen());\r\n return res;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadNetworkMastersByNetwork(networkId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadNetworkMastersByNetwork(getState().authenticationState.token, networkId).then(networkMasters => {\r\n dispatch(commonActions.unlockScreen());\r\n return networkMasters;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadNetworkMastersByUser(userId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadNetworkMasters(getState().authenticationState.token, userId).then(networkMasters => {\r\n dispatch(commonActions.unlockScreen());\r\n return networkMasters;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveNetworkMaster(networkMaster) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.saveNetworkMaster(getState().authenticationState.token, networkMaster).then(note => {\r\n dispatch(commonActions.unlockScreen());\r\n return networkMaster;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function deleteNetworkMaster(networkMasterId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.deleteNetworkMaster(getState().authenticationState.token, networkMasterId).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\n// *******************************************************************************************************************\r\n// Products \r\n// *******************************************************************************************************************\r\nexport function loadNetworkProducts(networkId, showClosed = true) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadNetworkProducts(getState().authenticationState.token, networkId, showClosed).then(products => {\r\n dispatch(commonActions.unlockScreen());\r\n return products;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadNetworkProduct(productId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadNetworkProduct(getState().authenticationState.token, productId).then(products => {\r\n dispatch(commonActions.unlockScreen());\r\n return products;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadNetworkProductsReady(networkId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadNetworkProductsReady(getState().authenticationState.token, networkId).then(products => {\r\n dispatch(commonActions.unlockScreen());\r\n return products;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function loadActiveNetworkProducts(networkId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.loadActiveNetworkProducts(getState().authenticationState.token, networkId).then(products => {\r\n dispatch(commonActions.unlockScreen());\r\n return products;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function saveProduct(product) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.saveProduct(getState().authenticationState.token, product).then(product => {\r\n dispatch(commonActions.unlockScreen());\r\n return product;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function deleteProduct(productId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.deleteProduct(getState().authenticationState.token, productId).then(() => {\r\n dispatch(commonActions.unlockScreen());\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function cloneProducts(networkFromId, networkToId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.cloneProducts(getState().authenticationState.token, networkFromId, networkToId).then((products) => {\r\n dispatch(commonActions.unlockScreen());\r\n return products;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function cloneProduct(productId, networkId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.cloneProduct(getState().authenticationState.token, productId, networkId).then((products) => {\r\n dispatch(commonActions.unlockScreen());\r\n return products;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function cloneSomeProducts(productsIds, networkId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.cloneSomeProducts(getState().authenticationState.token, productsIds, networkId).then((products) => {\r\n dispatch(commonActions.unlockScreen());\r\n return products;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\n// *******************************************************************************************************************\r\n// Documents \r\n// *******************************************************************************************************************\r\nexport function eliminaDocumento(documentId) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.eliminaDocumento(getState().authenticationState.token, documentId).then((network) => {\r\n dispatch(commonActions.unlockScreen());\r\n return network;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}\r\n\r\nexport function caricaDocumento(networkId, file) {\r\n return function (dispatch, getState) {\r\n dispatch(commonActions.lockScreen());\r\n return networkApi.caricaDocumento(getState().authenticationState.token, networkId, file).then(contract => {\r\n dispatch(commonActions.unlockScreen());\r\n return contract;\r\n }).catch(error => {\r\n dispatch(commonActions.unlockScreen());\r\n throw (error);\r\n });\r\n };\r\n}","import _ from 'lodash';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { OverlayTrigger, Tooltip } from 'react-bootstrap';\r\n\r\nconst TooltipFormatter = ({ text, tooltip, placement }) => {\r\n const tooltipOverlay = (\r\n {tooltip}\r\n );\r\n\r\n const tooltipPlacement = _.isNil(placement) || _.isEmpty(placement) ? 'top' : placement;\r\n\r\n return (\r\n
\r\n {text}\r\n
\r\n );\r\n};\r\n\r\nTooltipFormatter.propTypes = {\r\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\r\n tooltip: PropTypes.string.isRequired,\r\n tooltipPlacement: PropTypes.string // Tooltip position: right, top, left, bottom\r\n};\r\n\r\nexport default TooltipFormatter;\r\n","import React, { Component } from 'react';\r\n\r\n/**\r\n * This function is used to Lazy Load a component.\r\n * \r\n * https://scotch.io/tutorials/lazy-loading-routes-in-react\r\n * \r\n * const CreateMyQuotationPage = asyncComponent(() =>\r\n * import('./quotation/CreateMyQuotationPage').then(module => module.default)\r\n * )\r\n * \r\n * @param {used to load the component} getComponent \r\n */\r\nexport default function asyncComponent(getComponent) {\r\n class AsyncComponent extends Component {\r\n static Component = null\r\n state = { Component: AsyncComponent.Component }\r\n\r\n componentDidMount() {\r\n if (!this.state.Component) {\r\n getComponent().then(Component => {\r\n AsyncComponent.Component = Component;\r\n this.setState({ Component });\r\n });\r\n }\r\n }\r\n render() {\r\n const { Component } = this.state;\r\n if (Component) {\r\n return ;\r\n }\r\n return null;\r\n }\r\n }\r\n return AsyncComponent;\r\n}\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../../NotificationPopUp';\r\n\r\nimport * as authenticationActions from '../../../actions/authenticationActions';\r\nimport * as networkActions from '../../../actions/networkActions';\r\n\r\nimport commonFunctions from '../../../commonFunctions';\r\n\r\nclass ProductsPage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n authenticationState: this.props.authenticationState,\r\n commonState: this.props.commonState,\r\n products: []\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.state.authenticationState, this.props.history)) {\r\n return;\r\n }\r\n\r\n this.lockedOutFormat = this.lockedOutFormat.bind(this);\r\n this.toMoney = this.toMoney.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.networkActions.loadActiveNetworkProducts(this.state.authenticationState.network.id).then((products) => {\r\n this.setState(Object.assign({}, this.state, { products }));\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento dei Piani Mutualistici');\r\n });\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.authenticationState !== prevState.authenticationState || nextProps.commonState !== prevState.commonState)\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState, commonState: nextProps.commonState });\r\n return null;\r\n }\r\n\r\n lockedOutFormat(cell, row) {\r\n if (cell)\r\n return 'IN USO';\r\n return 'NON IN USO';\r\n }\r\n\r\n toMoney(cell, row) {\r\n return (\r\n
{commonFunctions.numberToItalianEuroFormat(cell)}
\r\n );\r\n }\r\n\r\n render() {\r\n const gridOptions = {\r\n sizePerPageList: [5, 10, 20, 50]\r\n };\r\n\r\n return (\r\n
\r\n

Piani Mutualistici

\r\n
\r\n \r\n \r\n Denominazione\r\n Codice\r\n Contributo Annuale\r\n Modificabile\r\n \r\n
\r\n
Piani Mutualistici - Altre Convenzioni
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n authenticationState: state.authenticationState,\r\n commonState: state.commonState\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n networkActions: bindActionCreators(networkActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ProductsPage);\r\n","import _ from \"lodash\";\r\nimport PropTypes from \"prop-types\";\r\nimport React from \"react\";\r\nimport { Button, Col, Panel, Row } from \"react-bootstrap\";\r\n\r\nimport CommonFunctions from \"../../commonFunctions\";\r\nimport * as consts from \"../../constants\";\r\n\r\nimport CurrencyInput from \"../common/CurrencyInput\";\r\nimport TextAreaInput from \"../common/TextAreaInput\";\r\nimport TextInput from \"../common/TextInput\";\r\nimport TextViewer from \"../common/TextViewer\";\r\n\r\nconst PianoFlexSection = ({\r\n commonState,\r\n contract,\r\n addWarranty,\r\n deleteWarranty,\r\n onChange,\r\n productSelected,\r\n}) => {\r\n const isPersonaGiuridica =\r\n _.toNumber(contract.personType) === consts.GENERIC_ENUM.personType[1].value;\r\n\r\n var disabledFlag = false;\r\n var hidden = \"\";\r\n\r\n contract.pianoFlex.netAmount = 0;\r\n contract.pianoFlex.quotaIscrizione = 0;\r\n contract.pianoFlex.grossAmount = 0;\r\n\r\n //Modificare gli ID in base al prodotto FLEX per cui bloccare i campi\r\n\r\n if (contract.productId === \"9\" || contract.productId === \"10\") {\r\n contract.pianoFlex.name = productSelected.name;\r\n disabledFlag = true;\r\n hidden = \"hidden\";\r\n } else {\r\n contract.pianoFlex.name = contract.pianoFlex.name;\r\n disabledFlag = false;\r\n hidden = \"\";\r\n }\r\n\r\n if (contract.productId === \"10\") {\r\n contract.pianoFlex.pfSubscriberFee = 45;\r\n }\r\n\r\n if (contract.productId === \"9\") {\r\n contract.pianoFlex.pfSubscriberFee = 45;\r\n }\r\n\r\n if (isPersonaGiuridica) {\r\n contract.pianoFlex.pfSubscriberFee = 100;\r\n }\r\n\r\n if (\r\n contract &&\r\n contract.pianoFlex &&\r\n contract.pianoFlex.pianoFlexWarranty &&\r\n contract.pianoFlex.pianoFlexWarranty\r\n ) {\r\n // Calculate Net\r\n for (\r\n var i = 0, _len = contract.pianoFlex.pianoFlexWarranty.length;\r\n i < _len;\r\n i++\r\n )\r\n contract.pianoFlex.netAmount +=\r\n contract.pianoFlex.pianoFlexWarranty[i].amount;\r\n\r\n // Calculate Quote\r\n const quotaIscrizioneAndQuota =\r\n CommonFunctions.getValuesForQuotaIscrizioneAndQuotaPianoFlex(\r\n contract,\r\n commonState\r\n );\r\n \r\n contract.pianoFlex.quotaIscrizione =\r\n quotaIscrizioneAndQuota.quotaIscrizione;\r\n\r\n // Calculate Total\r\n contract.pianoFlex.grossAmount =\r\n contract.pianoFlex.netAmount + contract.pianoFlex.quotaIscrizione;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n Dettaglio Piano {productSelected.name}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Quote\r\n \r\n {isPersonaGiuridica ? (\r\n \r\n \r\n

Quote Aziendali

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n ) : (\r\n \r\n \r\n

Quote Famiglia

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n Prestazioni\r\n \r\n \r\n {contract.pianoFlex.pianoFlexWarranty.map((warranty) => (\r\n \r\n \r\n {warranty.name}\r\n \r\n \r\n \r\n -1 ? \"disabled\" : \"\"}\r\n label=\"Nome\"\r\n name={\r\n \"pianoFlex.warranty.\" + warranty.id + \".name\"\r\n }\r\n onChange={onChange}\r\n required={true}\r\n value={warranty.name}\r\n />\r\n \r\n \r\n 0 || disabledFlag}\r\n label=\"Note Stampate\"\r\n name={\r\n \"pianoFlex.warranty.\" +\r\n warranty.id +\r\n \".printedNote\"\r\n }\r\n onChange={onChange}\r\n className={hidden}\r\n value={warranty.printedNote}\r\n />\r\n \r\n \r\n 0}\r\n label=\"Importo Totale\"\r\n name={\r\n \"pianoFlex.warranty.\" +\r\n warranty.id +\r\n \".amount\"\r\n }\r\n onChange={onChange}\r\n value={warranty.amount}\r\n />\r\n \r\n {warranty.id < 0 ? (\r\n \r\n deleteWarranty(warranty.id)}\r\n style={{ marginBottom: 30 }}\r\n >\r\n Rimuovi Prestazione\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n Aggiungi Prestazione\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n Contributi\r\n \r\n \r\n \r\n \r\n *Nota: nel caso di persona giuridica si ha un importo al netto\r\n della quota associativa\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nPianoFlexSection.propTypes = {\r\n addWarranty: PropTypes.func.isRequired,\r\n commonState: PropTypes.object.isRequired,\r\n contract: PropTypes.object.isRequired,\r\n deleteWarranty: PropTypes.func.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default PianoFlexSection;\r\n","import _ from \"lodash\";\r\nimport React from \"react\";\r\nimport { Col, Media, Row } from \"react-bootstrap\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport notificationPopUp from \"../../NotificationPopUp\";\r\n\r\nimport CommonFunctions from \"../../commonFunctions\";\r\nimport * as consts from \"../../constants\";\r\n\r\nimport * as authenticationActions from \"../../actions/authenticationActions\";\r\nimport * as commonActions from \"../../actions/commonActions\";\r\nimport * as networkActions from \"../../actions/networkActions\";\r\nimport * as emissionActions from \"../../actions/emissionActions\";\r\n\r\nimport AirBnbDateTimePicker from \"../common/airBnbDatepicker/AirBnbDateTimePicker\";\r\nimport NextPrevButtonToolbar from \"../common/NextPrevButtonToolbar\";\r\nimport PianoFlexSection from \"./PianoFlexSection\";\r\nimport SelectInput from \"../common/SelectInput\";\r\n\r\nimport pdfLogo from \"../../styles/images/pdfIco_48x48.png\";\r\n\r\nclass QuotationPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n authenticationState: this.props.authenticationState,\r\n commonState: this.props.commonState,\r\n emissionState: this.props.emissionState,\r\n products: [],\r\n flagDisableFieldByProductCode: false,\r\n productSelected: null,\r\n };\r\n\r\n if (\r\n !authenticationActions.verifyAuthentication(\r\n this.props.authenticationState,\r\n this.props.history\r\n )\r\n )\r\n return;\r\n }\r\n\r\n componentDidCatch(error, info) {\r\n console.log(error);\r\n console.log(info);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.authenticationState.network.id > -1) {\r\n this.loadProducts(this.state.authenticationState.network.id);\r\n }\r\n if (\r\n !this.state.commonState.configuration ||\r\n this.state.commonState.configuration.conventions === null ||\r\n this.state.commonState.configuration.conventions.length === 0\r\n ) {\r\n this.props.commonActions\r\n .loadConfiguration()\r\n .then(() => {})\r\n .catch((error) => {\r\n notificationPopUp.error(\r\n \"Problemi nel caricamento della Configurazione\"\r\n );\r\n });\r\n }\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n return Object.assign({}, prevState, {\r\n emissionState: nextProps.emissionState,\r\n commonState: nextProps.commonState,\r\n });\r\n }\r\n\r\n addWarranty = () => {\r\n const emissionState = Object.assign({}, this.state.emissionState);\r\n\r\n var sortArray = _.clone(emissionState.pianoFlex.pianoFlexWarranty).sort(\r\n function (a, b) {\r\n if (a.id < b.id) return -1;\r\n if (a.id > b.id) return 1;\r\n return 0;\r\n }\r\n );\r\n\r\n var newId = -1;\r\n if (sortArray.length > 0) {\r\n if (sortArray[0].id < 1) newId = sortArray[0].id - 1;\r\n }\r\n\r\n if (\r\n _.isNil(\r\n this.state.authenticationState.network.pianoFlexIdInsuranceCompany\r\n )\r\n ) {\r\n notificationPopUp.warning(\r\n \"Attenzione: la abilitazione all'utilizzo del Piano Flex non è completa per il tuo profilo del Socio Sostenitore a cui appartiene il tuo utente, chiedi all'amministratore di abilitarlo.\"\r\n );\r\n return;\r\n }\r\n\r\n emissionState.pianoFlex.pianoFlexWarranty.push({\r\n amount: 0,\r\n id: newId,\r\n idInsuranceCompany:\r\n this.state.authenticationState.network.pianoFlexIdInsuranceCompany,\r\n name: \"\",\r\n printedNote: \"\",\r\n });\r\n\r\n this.props.emissionActions.updateEmission(emissionState);\r\n };\r\n\r\n deleteWarranty = (warrantyId) => {\r\n const emissionState = Object.assign({}, this.state.emissionState);\r\n emissionState.pianoFlex.pianoFlexWarranty =\r\n emissionState.pianoFlex.pianoFlexWarranty.filter(\r\n (x) => x.id !== warrantyId\r\n );\r\n this.props.emissionActions.updateEmission(emissionState);\r\n };\r\n\r\n isDayBlocked = (day) => {\r\n var actualProd = this.state.products.filter(\r\n (x) => x.id === parseInt(this.state.emissionState.productId, 10)\r\n )[0];\r\n if (\r\n !_.isNil(actualProd) &&\r\n (actualProd.contractPeriodMode ===\r\n consts.GENERIC_ENUM.CONTRACT_PERIOD_MODE.EXPIRATION_LAST_DAY_OF_YEAR ||\r\n actualProd.contractPeriodMode ===\r\n consts.GENERIC_ENUM.CONTRACT_PERIOD_MODE\r\n .COLLETTIVA_LAST_DAY_OF_YEAR ||\r\n actualProd.contractPeriodMode ===\r\n consts.GENERIC_ENUM.CONTRACT_PERIOD_MODE.FORFAIT_LAST_DAY_OF_YEAR)\r\n ) {\r\n return actualProd.contractStartingDay !== day.date();\r\n }\r\n return false;\r\n };\r\n\r\n nomeContraente = () => {\r\n // Persona Fisica\r\n if (\r\n this.state.emissionState.personType ===\r\n consts.GENERIC_ENUM.personType[0].value.toString()\r\n ) {\r\n return (\r\n this.state.emissionState.personaFisica.name +\r\n \" \" +\r\n this.state.emissionState.personaFisica.surname\r\n );\r\n } else {\r\n return this.state.emissionState.personaGiuridica.businessName;\r\n }\r\n };\r\n\r\n loadProducts = (id) => {\r\n this.props.networkActions\r\n .loadActiveNetworkProducts(id)\r\n .then((products) => {\r\n // extends products with the Instalment Array and PayMode Array\r\n for (var i = 0; i < products.length; i++) {\r\n const appInst = products[i].instalmentMode.split(\"|\");\r\n products[i].instalmentModeArray =\r\n consts.GENERIC_ENUM.fractionationType.filter(\r\n (x) => appInst.indexOf(x.value) > -1\r\n );\r\n\r\n const appPayMode = products[i].payMode.split(\"|\");\r\n products[i].payModeArray = consts.GENERIC_ENUM.paymentType.filter(\r\n (x) => appPayMode.indexOf(x.value) > -1\r\n );\r\n }\r\n this.setState(Object.assign({}, this.state, { products: products }));\r\n })\r\n .catch((error) => {\r\n notificationPopUp.error(error);\r\n });\r\n };\r\n\r\n updateContraente = (event) => {\r\n console.log(\"\");\r\n const emissionState = Object.assign({}, this.state.emissionState);\r\n\r\n if (event.target.name.startsWith(\"pianoFlex\")) {\r\n var splits = event.target.name.split(\".\");\r\n var propertyName = splits[1];\r\n\r\n if (propertyName === \"warranty\") {\r\n var referenceObj = emissionState.pianoFlex.pianoFlexWarranty.filter(\r\n (x) => x.id === _.toNumber(splits[2])\r\n )[0];\r\n referenceObj[splits[3]] = event.target.value;\r\n if (splits[3] === \"name\")\r\n this.productSelected = { name: event.target.value };\r\n } else {\r\n emissionState.pianoFlex[propertyName] = event.target.value;\r\n }\r\n\r\n this.props.emissionActions.updateEmission(emissionState);\r\n } else {\r\n if (event.target.name === \"productId\") {\r\n emissionState[event.target.name] = event.target.value;\r\n this.productSelected = this.state.products.filter(\r\n (x) => x.id === parseInt(event.target.value, 10)\r\n )[0];\r\n try {\r\n var dates = CommonFunctions.expirationContractDates(\r\n this.state.products.filter(\r\n (x) => x.id === parseInt(event.target.value, 10)\r\n )[0],\r\n null\r\n );\r\n emissionState.datiPagamento.startDate = dates.decorrenza;\r\n emissionState.datiPagamento.endDate = dates.scadenza;\r\n // Reset Fields\r\n emissionState.instalmentMode = -1;\r\n emissionState.payMode = -1;\r\n } catch (err) {\r\n console.log(\"Product not found in product list\" + err);\r\n }\r\n } else if (event.target.name === \"datiPagamento_startDate\") {\r\n try {\r\n if (_.isNil(event.target.value)) event.target.value = new Date();\r\n\r\n emissionState.datiPagamento.startDate = new Date(event.target.value);\r\n\r\n var actualProd = this.state.products.filter(\r\n (x) => x.id === parseInt(this.state.emissionState.productId, 10)\r\n )[0];\r\n if (!_.isNil(actualProd)) {\r\n var dates02 = CommonFunctions.expirationContractDates(\r\n actualProd,\r\n emissionState.datiPagamento.startDate\r\n );\r\n emissionState.datiPagamento.endDate = dates02.scadenza;\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n } else if (event.target.name === \"datiPagamento_endDate\") {\r\n try {\r\n if (_.isNil(event.target.value)) event.target.value = new Date();\r\n emissionState.datiPagamento.endDate = new Date(event.target.value);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n } else {\r\n emissionState[event.target.name] = event.target.value;\r\n }\r\n }\r\n\r\n this.props.emissionActions.updateEmission(emissionState);\r\n };\r\n\r\n confermaPreventivo = () => {\r\n var actualProd = this.state.products.filter(\r\n (x) => x.id === parseInt(this.state.emissionState.productId, 10)\r\n )[0];\r\n\r\n if (\r\n this.state.emissionState.datiPagamento.startDate.getDate() !==\r\n actualProd.contractStartingDay &&\r\n actualProd.contractPeriodMode === 0\r\n ) {\r\n notificationPopUp.warning(\r\n \"Attenzione: il giorno di partenza deve essere il \" +\r\n actualProd.contractStartingDay +\r\n \"° del Mese per questo Prodotto.\"\r\n );\r\n return;\r\n }\r\n\r\n // Piano Flex Validation\r\n if (\r\n this.state.emissionState.pianoFlex &&\r\n this.state.emissionState.pianoFlex &&\r\n actualProd.tariff.isPianoFlex\r\n ) {\r\n if (\r\n _.isNil(this.state.emissionState.pianoFlex.name) ||\r\n _.isEmpty(this.state.emissionState.pianoFlex.name)\r\n ) {\r\n notificationPopUp.warning(\r\n \"Attenzione: il nome del piano è obbligatorio.\"\r\n );\r\n return;\r\n }\r\n\r\n if (\r\n _.isNil(this.state.emissionState.pianoFlex.pgFactoryFee) ||\r\n _.toNumber(this.state.emissionState.pianoFlex.pgFactoryFee) < 0 ||\r\n _.isNil(this.state.emissionState.pianoFlex.pgEmployeeFee) ||\r\n _.toNumber(this.state.emissionState.pianoFlex.pgEmployeeFee) < 0 ||\r\n _.isNil(this.state.emissionState.pianoFlex.pgRelativeFee) ||\r\n _.toNumber(this.state.emissionState.pianoFlex.pgRelativeFee) < 0 ||\r\n _.isNil(this.state.emissionState.pianoFlex.pfSubscriberFee) ||\r\n _.toNumber(this.state.emissionState.pianoFlex.pfSubscriberFee) < 0 ||\r\n _.isNil(this.state.emissionState.pianoFlex.pfRelative) ||\r\n _.toNumber(this.state.emissionState.pianoFlex.pfRelative) < 0\r\n ) {\r\n notificationPopUp.warning(\r\n \"Attenzione: i valori delle quote non sono corretti.\"\r\n );\r\n return;\r\n }\r\n\r\n for (\r\n let index = 0;\r\n index < this.state.emissionState.pianoFlex.pianoFlexWarranty.length;\r\n index++\r\n ) {\r\n const actualWar =\r\n this.state.emissionState.pianoFlex.pianoFlexWarranty[index];\r\n\r\n if (_.isNil(actualWar.name) || _.isEmpty(actualWar.name)) {\r\n notificationPopUp.warning(\r\n \"Attenzione: il nome della Prestazione non è corretto.\"\r\n );\r\n return;\r\n }\r\n\r\n if (\r\n _.toNumber(actualWar.amount) <= 0 &&\r\n actualWar.idInsuranceCompany !==\r\n consts.GENERIC_ENUM.PIANO_FLEX.COMPANY_FIRST_WARRANTY\r\n ) {\r\n notificationPopUp.warning(\r\n 'Attenzione: il valore della Prestazione \"' +\r\n actualWar.name +\r\n '\" non è corretto.'\r\n );\r\n return;\r\n }\r\n }\r\n }\r\n\r\n this.props.emissionActions\r\n .createProposal(this.state.emissionState)\r\n .then(() => {\r\n notificationPopUp.info(\"Preventivo salvato con successo\");\r\n })\r\n .catch((error) => {\r\n notificationPopUp.error(error);\r\n });\r\n };\r\n\r\n esci = () => {\r\n this.props.emissionActions.updateEmission(CommonFunctions.createContract());\r\n this.props.history.push(\"contracts\");\r\n };\r\n\r\n amountWithFranchigia = (x) => {\r\n var totalAmountApp =\r\n x.activeCoverageCap.activeWarrantyAllowance.warrantyWithDiscount +\r\n (x.activeCoverageCap.activeWarrantyAllowance.warrantyWithDiscount *\r\n x.activeCoverageCap.taxPercentage) /\r\n 100 +\r\n (x.activeCoverageCap.activeWarrantyAllowance.warrantyWithDiscount *\r\n x.activeCoverageCap.forwelfareRights) /\r\n 100 +\r\n x.activeCoverageCap.rights;\r\n return (totalAmountApp / (100 - x.activeCoverageCap.sebRights)) * 100;\r\n };\r\n\r\n render() {\r\n var productsForSelect = this.state.products.map((value) => {\r\n return { value: value.id, text: value.name };\r\n });\r\n\r\n var selectedProduct = undefined;\r\n if (\r\n !_.isNil(this.state.emissionState.productId) &&\r\n this.state.emissionState.productId > -1 &&\r\n this.state.products &&\r\n this.state.products.length > 0\r\n ) {\r\n selectedProduct = Object.assign(\r\n {},\r\n this.state.products.filter(\r\n (x) => x.id === parseInt(this.state.emissionState.productId, 10)\r\n )[0]\r\n );\r\n }\r\n\r\n // Amonut Calculation Based on selected Product\r\n var totalAmount = _.isNil(selectedProduct) ? 0 : selectedProduct.costoLordo;\r\n\r\n // Se persona Giuridica devo moltiplicare il valore per il totale dei dipendenti aderenti\r\n // if (this.state.emissionState.personType === consts.GENERIC_ENUM.personType[1].value && this.state.emissionState.personaGiuridica.employees.length > 0) {\r\n // totalAmount = totalAmount * this.state.emissionState.personaGiuridica.employees.length\r\n // totalNetAmount = totalNetAmount * this.state.emissionState.personaGiuridica.employees.length\r\n // }\r\n\r\n var quotaIscrizionePG = 0;\r\n // Se persona Giuridica quota iscrizione è 100\r\n if (\r\n this.state.emissionState.personType ===\r\n consts.GENERIC_ENUM.personType[1].value\r\n ) {\r\n quotaIscrizionePG = 100;\r\n }\r\n\r\n // To Be Added Quota Iscrizione this is 0 for PG\r\n const quotaIscrizioneAndQuota =\r\n CommonFunctions.getValuesForQuotaIscrizioneAndQuota(\r\n this.state.emissionState,\r\n this.state.commonState,\r\n selectedProduct\r\n );\r\n\r\n let startDate = null;\r\n if (\r\n this.state.emissionState.datiPagamento.startDate &&\r\n CommonFunctions.isValidDate(\r\n this.state.emissionState.datiPagamento.startDate\r\n )\r\n )\r\n startDate =\r\n this.state.emissionState.datiPagamento.startDate.toISOString();\r\n else startDate = this.state.emissionState.datiPagamento.startDate;\r\n\r\n let endDate = null;\r\n if (\r\n this.state.emissionState.datiPagamento.endDate &&\r\n CommonFunctions.isValidDate(\r\n this.state.emissionState.datiPagamento.endDate\r\n )\r\n )\r\n endDate = this.state.emissionState.datiPagamento.endDate.toISOString();\r\n else endDate = this.state.emissionState.datiPagamento.endDate;\r\n return (\r\n
\r\n

Inserisci Nuova Adesione

\r\n \r\n \r\n \r\n
\r\n
\r\n {\" \"}\r\n Scelta Piano Mutualistico\r\n
\r\n
\r\n \r\n\r\n {_.isUndefined(selectedProduct) ? (\r\n \"\"\r\n ) : (\r\n \r\n )}\r\n\r\n {_.isUndefined(selectedProduct) ? (\r\n \"\"\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n
Riepilogo
\r\n
\r\n \r\n \r\n Contraente: {this.nomeContraente()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {selectedProduct &&\r\n selectedProduct.contractPeriodMode ===\r\n consts.GENERIC_ENUM.CONTRACT_PERIOD_MODE.COVID_19 &&\r\n _.toInteger(this.state.emissionState.personType) ===\r\n consts.GENERIC_ENUM.personType[1].value ? (\r\n \r\n ) : (\r\n \r\n {\" \"}\r\n Scadenza:{\" \"}\r\n {CommonFunctions.dateToString(\r\n this.state.emissionState.datiPagamento.endDate\r\n )}\r\n

\r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n {!_.isNil(selectedProduct) && selectedProduct.tariff.isPianoFlex ? (\r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {_.isUndefined(selectedProduct) ||\r\n selectedProduct.tariff.isPianoFlex ? (\r\n \"\"\r\n ) : (\r\n \r\n
\r\n
\r\n {\" \"}\r\n Prestazioni\r\n
\r\n
\r\n {authenticationActions.canISeeWarrantiesQuotations(\r\n this.state.authenticationState\r\n ) ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {selectedProduct.tariff.warranties.map((warranty) =>\r\n warranty.activeCoverageCap != null ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \"\"\r\n )\r\n )}\r\n \r\n
GaranziaCoperturaFranchigiaCosto Netto AnnualeCosto Lordo Annuale
{warranty.warrantyName}\r\n {CommonFunctions.numberToItalianEuroFormat(\r\n warranty.activeCoverageCap.coverageCap\r\n )}\r\n \r\n {CommonFunctions.numberToItalianEuroFormat(\r\n warranty.activeCoverageCap\r\n .activeWarrantyAllowance != null\r\n ? warranty.activeCoverageCap\r\n .activeWarrantyAllowance.allowance\r\n : 0\r\n )}\r\n \r\n {CommonFunctions.numberToItalianEuroFormat(\r\n warranty.activeCoverageCap\r\n .activeWarrantyAllowance != null\r\n ? warranty.activeCoverageCap\r\n .activeWarrantyAllowance\r\n .warrantyWithDiscount\r\n : warranty.activeCoverageCap\r\n .annualNetValue\r\n )}\r\n \r\n {CommonFunctions.numberToItalianEuroFormat(\r\n warranty.activeCoverageCap\r\n .activeWarrantyAllowance != null\r\n ? this.amountWithFranchigia(warranty)\r\n : warranty.activeCoverageCap.annualValue\r\n )}\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n {/* {quotaIscrizioneAndQuota.subscriptions.map((val) => )} */}\r\n \r\n \r\n Totale contributo annuale:{\" \"}\r\n \r\n {CommonFunctions.numberToItalianEuroFormat(\r\n totalAmount\r\n )}\r\n \r\n \r\n \r\n {!_.isNil(this.state.emissionState.personaFisica.name) &&\r\n !_.isEmpty(\r\n this.state.emissionState.personaFisica.name\r\n ) ? (\r\n (l'importo comprende la quota associativa)\r\n ) : (\r\n \r\n (importo per singola adesione al netto della quota\r\n associativa)\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {_.isArray(this.state.emissionState.documents) &&\r\n this.state.emissionState.documents.length > 0 ? (\r\n \r\n
\r\n
\r\n {\" \"}\r\n Documenti\r\n
\r\n
\r\n {this.state.emissionState.documents.map((doc) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n {doc.fileName}{\" \"}\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n
\r\n
{\" \"}\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {this.state.emissionState.status ===\r\n consts.GENERIC_ENUM.CONTRACT_STATUS.CREAZIONE ? (\r\n 0 &&\r\n _.toNumber(this.state.emissionState.payMode) > 0\r\n }\r\n onClickBack={() => {\r\n this.props.history.push(\"emission\");\r\n }}\r\n />\r\n ) : (\r\n \"\"\r\n )}\r\n {this.state.emissionState.status ===\r\n consts.GENERIC_ENUM.CONTRACT_STATUS.PREVENTIVO ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n authenticationState: state.authenticationState,\r\n commonState: state.commonState,\r\n emissionState: state.emissionState,\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch),\r\n networkActions: bindActionCreators(networkActions, dispatch),\r\n emissionActions: bindActionCreators(emissionActions, dispatch),\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(QuotationPage);\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Button, ButtonGroup, ButtonToolbar, Col, Row } from 'react-bootstrap';\r\nimport { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../NotificationPopUp';\r\n\r\nimport commonFunctions from '../../commonFunctions';\r\n\r\nimport * as authenticationActions from '../../actions/authenticationActions';\r\nimport * as commonActions from '../../actions/commonActions';\r\nimport * as networkActions from '../../actions/networkActions';\r\nimport * as reportingActions from '../../actions/reportingActions';\r\n\r\nimport AirBnbDateTimePicker from '../common/airBnbDatepicker/AirBnbDateTimePicker';\r\nimport SelectInput from '../common/SelectInput';\r\n\r\nclass RendicontazionePage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n var today = new Date();\r\n today.setHours(12, 0, 0, 0);\r\n var startDate = new Date(today);\r\n startDate.setMonth(startDate.getMonth() - 1);\r\n this.state = {\r\n commonState: this.props.commonState,\r\n authenticationState: this.props.authenticationState,\r\n networks: [],\r\n seletedNetworkProducts: [],\r\n filters: {\r\n startDate: startDate.toISOString(),\r\n endDate: today.toISOString(),\r\n networkId: null,\r\n productId: null\r\n },\r\n result: {\r\n operations: [],\r\n perProductOperations: []\r\n }\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.props.authenticationState, this.props.history)) {\r\n return;\r\n }\r\n\r\n this.updateState = this.updateState.bind(this);\r\n this.loadProducts = this.loadProducts.bind(this);\r\n this.search = this.search.bind(this);\r\n this.rendicontazioneExport = this.rendicontazioneExport.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.networks === null || this.state.networks.length === 0) {\r\n this.props.networkActions.loadAllNetworks(this.props.pagingModel).then((networksFromServer) => {\r\n\r\n const networks = networksFromServer.map(\r\n (value) => {\r\n return { value: value.id, text: value.businessName };\r\n });\r\n\r\n this.setState(Object.assign({}, this.state, { networks }));\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento dei Networks');\r\n });\r\n }\r\n\r\n if (!this.state.commonState.configuration || this.state.commonState.configuration.cities === null || this.state.commonState.configuration.cities.length === 0) {\r\n this.props.commonActions.loadConfiguration().then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento della configurazione base');\r\n });\r\n }\r\n }\r\n\r\n updateState(event) {\r\n var names = event.target.name.split('_');\r\n\r\n if (names[0] === 'filters') {\r\n const filters = Object.assign({}, this.state.filters);\r\n filters[names[1]] = event.target.value;\r\n this.setState(Object.assign({}, this.state, { filters }));\r\n\r\n if (names[1] === 'networkId') {\r\n this.loadProducts(event.target.value);\r\n }\r\n }\r\n }\r\n\r\n loadProducts(id) {\r\n this.props.networkActions.loadNetworkProducts(id).then((products) => {\r\n this.setState(Object.assign({}, this.state, {\r\n seletedNetworkProducts: products.map(\r\n (value) => {\r\n return { value: value.id, text: value.name };\r\n })\r\n }));\r\n }).catch(error => {\r\n this.setState(Object.assign({}, this.state, { seletedNetworkProducts: [] }));\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n search() {\r\n console.log('Search');\r\n this.props.reportingActions.loadRendicontazione(this.state.filters).then((result) => {\r\n this.setState((state) => { return { result } });\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n gridPrintMoney(cell, row) {\r\n return commonFunctions.numberToItalianEuroFormat(cell);\r\n }\r\n\r\n rendicontazioneExport() {\r\n this.props.reportingActions.exportRendicontazione(this.state.filters).catch(error => {\r\n notificationPopUp.error('Problemi nell\\'export ');\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

Rendicontazione Generica

\r\n
\r\n
Filtri
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
Operazioni Estratte
\r\n
\r\n \r\n \r\n Tipo\r\n Numero Operazioni\r\n Totale\r\n Provvigioni Forwelfare\r\n Provvigioni Seb\r\n Provvigioni Netowrk\r\n Provvigioni Segnalatore\r\n Provvigioni Operatori\r\n \r\n
\r\n
\r\n\r\n
\r\n
Operazioni per Piano Mutualistico
\r\n
\r\n \r\n \r\n Network\r\n Piano Mutualistico\r\n Numero Operazioni\r\n Totale\r\n Provvigioni Forwelfare\r\n Provvigioni Seb\r\n Provvigioni Netowrk\r\n Provvigioni Segnalatore\r\n Provvigioni Operatori\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nRendicontazionePage.propTypes = {\r\n authenticationState: PropTypes.object.isRequired,\r\n commonState: PropTypes.object.isRequired\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n commonState: state.commonState,\r\n authenticationState: state.authenticationState\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch),\r\n networkActions: bindActionCreators(networkActions, dispatch),\r\n reportingActions: bindActionCreators(reportingActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RendicontazionePage);\r\n","import _ from 'lodash';\r\nimport propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Button, ButtonGroup, ButtonToolbar, Col, Row } from 'react-bootstrap';\r\nimport { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../NotificationPopUp';\r\n\r\nimport commonFunctions from '../../commonFunctions';\r\n\r\nimport * as authenticationActions from '../../actions/authenticationActions';\r\nimport * as commonActions from '../../actions/commonActions';\r\nimport * as companyActions from '../../actions/companyActions';\r\nimport * as networkActions from '../../actions/networkActions';\r\nimport * as reportingActions from '../../actions/reportingActions';\r\nimport * as tariffActions from '../../actions/tariffActions';\r\n\r\nimport AirBnbDateTimePicker from '../common/airBnbDatepicker/AirBnbDateTimePicker';\r\nimport SelectInput from '../common/SelectInput';\r\nimport TextInput from '../common/TextInput';\r\nimport TooltipFormatter from '../common/TooltipFormatter';\r\n\r\nclass RendicontazioneXSocioSostenitorePage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n commonState: this.props.commonState,\r\n authenticationState: this.props.authenticationState,\r\n filters: {\r\n tariffGroupId: -1,\r\n avvenutoPagamento: -1,\r\n startDate: '',\r\n endDate: ''\r\n },\r\n pagingModel: {\r\n items: [],\r\n page: 1,\r\n itemsPerPage: 10,\r\n total: 0,\r\n sortName: 'id',\r\n sortOrder: 'asc'\r\n },\r\n gruppi: [],\r\n tariffs: [], // legate al socio sostnitore\r\n avvenutoPagamentoValues: [{ value: -1, text: '---' }, { value: 0, text: 'Da Incassare' }, { value: 1, text: 'Incassata' }]\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.props.authenticationState, this.props.history)) {\r\n return;\r\n }\r\n\r\n this.contractLinkFormat = this.contractLinkFormat.bind(this);\r\n this.estrattoContoExport = this.estrattoContoExport.bind(this);\r\n this.frazionamentoDataFormat = this.frazionamentoDataFormat.bind(this);\r\n this.gridPrintDate = this.gridPrintDate.bind(this);\r\n this.gridPrintMoney = this.gridPrintMoney.bind(this);\r\n this.loadTariffGroupsForSocio = this.loadTariffGroupsForSocio.bind(this);\r\n this.onChange = this.onChange.bind(this);\r\n this.onPageChange = this.onPageChange.bind(this);\r\n this.onSortChange = this.onSortChange.bind(this);\r\n this.search = this.search.bind(this);\r\n this.tooltipFormatter = this.tooltipFormatter.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.loadTariffGroupsForSocio();\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.commonState !== prevState.commonState || nextProps.authenticationState !== prevState.authenticationState)\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState, commonState: nextProps.commonState });\r\n return null;\r\n }\r\n\r\n contractLinkFormat(cell, row) {\r\n return {cell};\r\n }\r\n\r\n estrattoContoExport() {\r\n if (this.state.filters.avvenutoPagamento === '1' && (_.isNil(this.state.filters.startDate) || _.isEmpty(this.state.filters.startDate))) {\r\n notificationPopUp.warning('Seleziona la data di inizio');\r\n return;\r\n }\r\n\r\n if (this.state.filters.avvenutoPagamento === '1' && (_.isNil(this.state.filters.endDate) || _.isEmpty(this.state.filters.endDate))) {\r\n notificationPopUp.warning('Seleziona la data di fine');\r\n return;\r\n }\r\n\r\n this.props.reportingActions.estrattoContoXSocioSostenitoreExport(this.state.filters).catch(error => {\r\n notificationPopUp.error('Problemi nell\\'export ');\r\n });\r\n }\r\n\r\n frazionamentoDataFormat(cell, row) {\r\n return commonFunctions.instalmentById(cell).text;\r\n }\r\n\r\n gridPrintMoney(cell, row) {\r\n return commonFunctions.numberToItalianEuroFormat(cell);\r\n }\r\n\r\n gridPrintDate(cell, row) {\r\n try {\r\n if (!_.isNil(cell)) {\r\n var nDate = new Date(cell);\r\n return commonFunctions.dateToString(nDate);\r\n }\r\n }\r\n catch (err) { }\r\n\r\n return '---';\r\n }\r\n\r\n loadTariffGroupsForSocio() {\r\n this.props.tariffActions.loadTariffGroupsForSocio(this.state.authenticationState.network.id).then((res) => {\r\n const gruppi = res.items.map((value) => { return { value: value.id, text: value.name }; });\r\n this.setState(Object.assign({}, this.state, { gruppi }));\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento dei Gruppi dei Piani Mutualistici');\r\n });\r\n }\r\n\r\n onChange(event) {\r\n const state = Object.assign({}, this.state);\r\n state.filters[event.target.name] = event.target.value;\r\n this.setState(state);\r\n }\r\n\r\n onPageChange(page, sizePerPage) {\r\n var pagingModel = Object.assign({}, this.state.pagingModel, { page: page, itemsPerPage: sizePerPage });\r\n this.search(pagingModel);\r\n }\r\n\r\n onSortChange(sortName, sortOrder) {\r\n var pagingModel = Object.assign({}, this.state.pagingModel, { sortName: sortName, sortOrder: sortOrder });\r\n this.search(pagingModel);\r\n }\r\n\r\n search(toBeUsedPagingModel) {\r\n if (_.isNil(toBeUsedPagingModel)) {\r\n toBeUsedPagingModel = this.state.pagingModel;\r\n toBeUsedPagingModel.page = 1;\r\n }\r\n\r\n this.props.reportingActions.loadEstrattoContoXSocioSostenitore(this.state.filters, toBeUsedPagingModel).then((pagingModel) => {\r\n this.setState((state) => { return { pagingModel } });\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento degli Incassi');\r\n });\r\n }\r\n\r\n tooltipFormatter(cell, row) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const resultGridOptions = {\r\n sizePerPage: this.state.pagingModel.itemsPerPage,\r\n page: this.state.pagingModel.page,\r\n sizePerPageList: [5, 10, 20, 50],\r\n onPageChange: this.onPageChange,\r\n onSortChange: this.onSortChange\r\n };\r\n\r\n return (\r\n
\r\n

Estratto Conto Socio Sostenitore

\r\n
\r\n
Filtri
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.filters.avvenutoPagamento === '1' ? \r\n \r\n : ''}\r\n {this.state.filters.avvenutoPagamento === '1' ? \r\n \r\n : ''}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Dettaglio
\r\n
\r\n \r\n \r\n Adesione\r\n Piano Mutualistico\r\n Socio\r\n Frazionamento\r\n Tipo\r\n Decorrenza\r\n \r\n Data Incasso\r\n Contributo\r\n Quota\r\n Rimborso\r\n Rimessa Rimborso\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nRendicontazioneXSocioSostenitorePage.propTypes = {\r\n authenticationState: propTypes.object.isRequired,\r\n commonState: propTypes.object.isRequired\r\n};\r\n\r\nRendicontazioneXSocioSostenitorePage.contextTypes = {\r\n router: propTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n commonState: state.commonState,\r\n authenticationState: state.authenticationState\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n companyActions: bindActionCreators(companyActions, dispatch),\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch),\r\n networkActions: bindActionCreators(networkActions, dispatch),\r\n reportingActions: bindActionCreators(reportingActions, dispatch),\r\n tariffActions: bindActionCreators(tariffActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(RendicontazioneXSocioSostenitorePage);\r\n","import React from 'react';\r\nimport CheckboxInput from './CheckboxInput';\r\n\r\n/**\r\n * Used to manage this component in the BootstrapTable\r\n */\r\nclass ActiveEditor extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n warrantyId: props.row.warrantyId,\r\n selected: props.row.isActive\r\n };\r\n }\r\n\r\n focus = () => {\r\n }\r\n\r\n onToggleRegion = (event) => {\r\n this.setState(Object.assign({}, this.state, { selected: event.target.value }));\r\n }\r\n\r\n updateData = () => {\r\n this.props.onUpdate(this.state.selected);\r\n }\r\n\r\n render() {\r\n return (\r\n
< CheckboxInput name={'garanzia_' + this.state.warrantyId + '_isActive'} label='' value={this.state.selected} onChange={this.onToggleRegion} />\r\n \r\n Aggiorna \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ActiveEditor;\r\n","import _ from 'lodash';\r\nimport React from 'react';\r\n\r\nimport commonFunctions from '../../../../commonFunctions';\r\n\r\nimport SelectInput from '../../../common/SelectInput';\r\n\r\n/**\r\n * Used to manage this component in the BootstrapTable\r\n */\r\nclass WarrantyAllowanceEditor extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n warrantyAllowanceId: props.row.warrantyAllowanceId\r\n };\r\n\r\n this.updateData = this.updateData.bind(this);\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n focus() {\r\n }\r\n\r\n onChange(event) {\r\n this.setState(Object.assign({}, this.state, { warrantyAllowanceId: event.target.value }));\r\n }\r\n\r\n updateData() {\r\n this.props.onUpdate(this.state.warrantyAllowanceId);\r\n }\r\n\r\n render() {\r\n let options = [];\r\n if (this.props.row.coverageCaps != null) {\r\n const app = this.props.row.coverageCaps.filter(x => x.id === _.toNumber(this.props.row.warrantyCoverageCapId));\r\n if (!_.isUndefined(app) && !_.isEmpty(app)) {\r\n options = app[0].warrantyAllowances.map((value) => {\r\n return { value: value.id, text: commonFunctions.numberToItalianEuroFormat(value.allowance) };\r\n });\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Aggiorna \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default WarrantyAllowanceEditor;","import React from 'react';\r\n\r\nimport commonFunctions from '../../../../commonFunctions';\r\n\r\nimport SelectInput from '../../../common/SelectInput';\r\n\r\n/**\r\n * Used to manage this component in the BootstrapTable\r\n */\r\nclass WarrantyCoverageEditor extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n warrantyCoverageCapId: props.row.warrantyCoverageCapId\r\n };\r\n\r\n this.updateData = this.updateData.bind(this);\r\n this.onChange = this.onChange.bind(this);\r\n }\r\n\r\n focus() {\r\n }\r\n\r\n onChange(event) {\r\n this.setState(Object.assign({}, this.state, { warrantyCoverageCapId: event.target.value }));\r\n }\r\n\r\n updateData() {\r\n this.props.onUpdate(this.state.warrantyCoverageCapId);\r\n }\r\n\r\n render() {\r\n let options = [];\r\n if (this.props.row.coverageCaps != null) {\r\n options = this.props.row.coverageCaps.map((value) => {\r\n return { value: value.id, text: commonFunctions.numberToItalianEuroFormat(value.coverageCap) };\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n Aggiorna \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default WarrantyCoverageEditor;","import _ from 'lodash';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Button, ButtonGroup, ButtonToolbar, Row, Col } from 'react-bootstrap';\r\nimport { BootstrapTable, SearchField, TableHeaderColumn } from 'react-bootstrap-table';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../../../NotificationPopUp';\r\n\r\nimport commonFunctions from '../../../../commonFunctions';\r\nimport * as consts from '../../../../constants';\r\n\r\nimport ActiveEditor from '../../../common/checkBox/ActiveEditor';\r\nimport AirBnbDateTimePicker from '../../../common/airBnbDatepicker/AirBnbDateTimePicker';\r\nimport CheckboxInput from '../../../common/checkBox/CheckboxInput';\r\nimport ConfirmationModal from '../../../common/ConfirmationModal';\r\nimport SelectInput from '../../../common/SelectInput';\r\nimport TextInput from '../../../common/TextInput';\r\nimport TooltipFormatter from '../../../common/TooltipFormatter';\r\nimport WarrantyAllowanceEditor from './WarrantyAllowanceEditor';\r\nimport WarrantyCoverageEditor from './WarrantyCoverageEditor';\r\n\r\nimport * as authenticationActions from '../../../../actions/authenticationActions';\r\nimport * as commonActions from '../../../../actions/commonActions';\r\nimport * as tariffActions from '../../../../actions/tariffActions';\r\n\r\nconst createActiveEditor = (onUpdate, props) => ();\r\nconst warrantyAllowanceEditor = (onUpdate, props) => ();\r\nconst warrantyCoverageEditor = (onUpdate, props) => ();\r\nconst createCustomSearchField = (props) => { return (); };\r\n\r\n\r\nclass TariffPage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n ageLimts: commonFunctions.ageLimtsForCombo(),\r\n commonState: this.props.commonState,\r\n authenticationState: this.props.authenticationState,\r\n tariff: props.tariff,\r\n gruppi: [],\r\n clonePianoMutualisticoModal: {\r\n show: false\r\n }\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.state.authenticationState, this.props.history)) {\r\n return;\r\n }\r\n\r\n this.clonePianoMutualistico = this.clonePianoMutualistico.bind(this);\r\n this.gridActive = this.gridActive.bind(this);\r\n this.gridPayProselitismo = this.gridPayProselitismo.bind(this);\r\n this.gridAfterSaveCell = this.gridAfterSaveCell.bind(this);\r\n this.gridWarrantyCoverageCap = this.gridWarrantyCoverageCap.bind(this);\r\n this.gridWarrantyAnnualNetValue = this.gridWarrantyAnnualNetValue.bind(this);\r\n this.gridWarrantyAllowance = this.gridWarrantyAllowance.bind(this);\r\n this.saveTariff = this.saveTariff.bind(this);\r\n this.showHideClonePianoMutualisticoModal = this.showHideClonePianoMutualisticoModal.bind(this);\r\n this.tooltipFormatter = this.tooltipFormatter.bind(this);\r\n this.updateTariffState = this.updateTariffState.bind(this);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.commonState !== prevState.commonState || nextProps.authenticationState !== prevState.authenticationState)\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState, commonState: nextProps.commonState });\r\n return null;\r\n }\r\n\r\n componentDidMount() {\r\n this.props.actions.loadAllTariffGroups().then((res) => {\r\n const gruppi = res.items.map((value) => { return { value: value.id, text: value.name }; });\r\n this.setState(Object.assign({}, this.state, { gruppi }));\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento dei Gruppi dei Piani Mutualistici');\r\n });\r\n this.props.actions.loadTariff(this.state.tariff.id).then((tariff) => {\r\n this.setState(Object.assign({}, this.state, { tariff }));\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n if (!this.state.commonState.configuration || this.state.commonState.configuration.cities === null || this.state.commonState.configuration.cities.length === 0) {\r\n this.props.commonActions.loadConfiguration().then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento della configurazione base');\r\n });\r\n }\r\n }\r\n\r\n clonePianoMutualistico() {\r\n this.props.actions.cloneTariff(this.state.tariff.id).then((clonedTariffId) => {\r\n notificationPopUp.success('Piano Mutualistico Clonato');\r\n this.showHideClonePianoMutualisticoModal();\r\n this.props.history.goBack();\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n updateTariffState(event) {\r\n const tariff = Object.assign({}, this.state.tariff);\r\n tariff[event.target.name] = event.target.value;\r\n var app = Object.assign({}, this.state, { tariff: tariff });\r\n this.setState(app);\r\n }\r\n\r\n saveTariff() {\r\n if (!_.isNil(this.state.tariff.warranties) && this.state.tariff.warranties.length > 0) {\r\n const wars = this.state.tariff.warranties.filter(x => x.isActive === 'true' || x.isActive === true);\r\n if (wars.length === 0) {\r\n notificationPopUp.warning('Attenzione selezionare almeno una Prestazione');\r\n return;\r\n }\r\n\r\n for (var i = 0; i < wars.length; i++) {\r\n if (_.toNumber(wars[i].warrantyCoverageCapId) < 0) {\r\n notificationPopUp.warning('Attenzione selezionare il Massimale della prestazione: ' + wars[i].warrantyName);\r\n return;\r\n }\r\n }\r\n\r\n } else {\r\n notificationPopUp.warning('Attenzione per poter salvare il Piano Mutualistico ci devono essere delle Prestazioni');\r\n return;\r\n }\r\n\r\n if (_.isNil(this.state.tariff.tariffGroupId) || _.toNumber(this.state.tariff.tariffGroupId) < 0) {\r\n notificationPopUp.warning('Attenzione assegnare un gruppo al Piano Mutualistico');\r\n return;\r\n }\r\n\r\n this.props.actions.saveTariff(this.state.tariff).then((newTariff) => {\r\n this.setState(Object.assign({}, this.state, { tariff: newTariff }));\r\n notificationPopUp.success('Piano Mutualistico ' + newTariff.code + ' Salvato');\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n showHideClonePianoMutualisticoModal() {\r\n const clonePianoMutualisticoModal = Object.assign({}, this.state.clonePianoMutualisticoModal);\r\n clonePianoMutualisticoModal.show = !clonePianoMutualisticoModal.show;\r\n this.setState(Object.assign({}, this.state, { clonePianoMutualisticoModal }));\r\n }\r\n\r\n gridActive(cell, row) {\r\n return (\r\n
< CheckboxInput name='isActive' label='' disabled value={cell} />
\r\n );\r\n }\r\n\r\n gridPayProselitismo(cell, row) {\r\n return (\r\n
< CheckboxInput name='payProselitismo' label='' disabled value={cell} />
\r\n );\r\n }\r\n\r\n gridAfterSaveCell(row, cellName, cellValue) {\r\n const tariff = Object.assign({}, this.state.tariff);\r\n tariff.warranties.filter(item => item.warrantyId === row.warrantyId)[0][cellName] = cellValue;\r\n if (cellName === 'warrantyCoverageCapId') {\r\n tariff.warranties.filter(item => item.warrantyId === row.warrantyId)[0].warrantyAllowanceId = -1;\r\n }\r\n\r\n var app = Object.assign({}, this.state, { tariff });\r\n this.setState(app);\r\n }\r\n\r\n gridWarrantyAnnualNetValue(cell, row) {\r\n let value = '';\r\n const app = row.coverageCaps.filter(x => x.id === _.toNumber(cell));\r\n if (!_.isUndefined(app) && !_.isEmpty(app))\r\n value = app[0].annualNetValue;\r\n return (\r\n
{commonFunctions.numberToItalianEuroFormat(value)}
\r\n );\r\n }\r\n\r\n gridWarrantyCoverageCap(cell, row) {\r\n let value = '';\r\n const app = row.coverageCaps.filter(x => x.id === _.toNumber(cell));\r\n if (!_.isUndefined(app) && !_.isEmpty(app))\r\n value = app[0].coverageCap;\r\n return (\r\n
{commonFunctions.numberToItalianEuroFormat(value)}
\r\n );\r\n }\r\n\r\n gridWarrantyAllowance(cell, row) {\r\n let value = 0;\r\n const app = row.coverageCaps.filter(x => x.id === _.toNumber(row.warrantyCoverageCapId));\r\n if (!_.isUndefined(app) && !_.isEmpty(app)) {\r\n const appDue = app[0].warrantyAllowances.filter(x => x.id === _.toNumber(cell));\r\n if (!_.isUndefined(appDue) && !_.isEmpty(appDue))\r\n value = appDue[0].allowance;\r\n }\r\n return (\r\n
{commonFunctions.numberToItalianEuroFormat(value)}
\r\n );\r\n }\r\n\r\n tooltipFormatter(cell, row) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const gridCellEditProp = {\r\n mode: 'click',\r\n blurToSave: true,\r\n afterSaveCell: this.gridAfterSaveCell\r\n };\r\n\r\n const gridOptions = {\r\n searchField: createCustomSearchField,\r\n sizePerPageList: [5, 10, 20, 50]\r\n };\r\n\r\n const tariffTypes = [{ value: -1, text: '---' }, { value: 1, text: 'Single' }, { value: 2, text: 'Nucleo' }];\r\n\r\n return (\r\n
\r\n

{this.state.tariff.label}

\r\n \r\n \r\n \r\n
\r\n
Piano Mutualistico
\r\n
\r\n \r\n {!_.isEmpty(this.state.tariff.code) ? \r\n \r\n : ''}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Prestazioni

\r\n \r\n \r\n Nome Compagnia\r\n \r\n Nome Prestazione\r\n Valore Netto\r\n Massimale\r\n Franchigia\r\n Rimborso\r\n Selezionata\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {authenticationActions.canICloneTariff(this.state.authenticationState) ?\r\n : ''}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nTariffPage.propTypes = {\r\n authenticationState: PropTypes.object.isRequired,\r\n commonState: PropTypes.object.isRequired,\r\n tariff: PropTypes.object.isRequired\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n const tariff = {\r\n ageLimit: consts.AGE_LIMITS.TYPES.NO_LIMITS,\r\n code: '',\r\n id: _.isUndefined(ownProps.match.params.id) ? -1 : ownProps.match.params.id,\r\n isPianoFlex: false,\r\n label: '',\r\n riassicuratoreCode: '',\r\n riassicuratoreDescription: '',\r\n warranties: []\r\n };\r\n\r\n return {\r\n commonState: state.commonState,\r\n authenticationState: state.authenticationState,\r\n tariff: tariff\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(tariffActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(TariffPage);\r\n","\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Spin } from 'antd';\r\nimport { Button, Modal } from 'react-bootstrap';\r\n\r\nimport TextInput from '../../common/TextInput';\r\n\r\nconst TariffGroupModal = ({ authenticationState, commonState, onChange, saveTariffGroup, tariffGroupModalObj, toggle }) => {\r\n return (\r\n \r\n \r\n Gruppo\r\n \r\n \r\n \r\n \r\n \r\n \r\n 0} size=\"large\" >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nTariffGroupModal.propTypes = {\r\n authenticationState: PropTypes.object.isRequired,\r\n commonState: PropTypes.object.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n tariffGroupModalObj: PropTypes.object.isRequired,\r\n saveTariffGroup: PropTypes.func.isRequired,\r\n toggle: PropTypes.func.isRequired\r\n};\r\n\r\nexport default TariffGroupModal;\r\n","import _ from 'lodash';\r\nimport React from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport { bindActionCreators } from 'redux';\r\nimport { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';\r\nimport { connect } from 'react-redux';\r\nimport notificationPopUp from '../../../NotificationPopUp';\r\n\r\nimport ConfirmationModal from '../../common/ConfirmationModal';\r\nimport TariffGroupModal from './TariffGroupModal';\r\nimport TextInput from '../../common/TextInput';\r\n\r\nimport * as authenticationActions from '../../../actions/authenticationActions';\r\nimport * as tariffActions from '../../../actions/tariffActions';\r\n\r\nclass TariffGroupsPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n authenticationState: this.props.authenticationState,\r\n commonState: this.props.commonState,\r\n pagingModel: this.props.pagingModel,\r\n tariffGroupDeleteModal: {\r\n show: false,\r\n dropRowKeysp: []\r\n },\r\n updateTariffGroupModal: {\r\n show: false,\r\n tariffGroup: { id: '', name: '', code: '' }\r\n }\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.state.authenticationState, this.props.history)) {\r\n return;\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.search(this.state.pagingModel);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.authenticationState !== prevState.authenticationState || nextProps.commonState !== prevState.commonState ||\r\n nextProps.pagingModel !== prevState.pagingModel) {\r\n const appPaginModel = Object.assign({}, prevState.pagingModel,\r\n {\r\n items: nextProps.pagingModel.items,\r\n page: nextProps.pagingModel.page,\r\n itemsPerPage: nextProps.pagingModel.itemsPerPage,\r\n total: nextProps.pagingModel.total\r\n });\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState, commonState: nextProps.commonState, pagingModel: appPaginModel });\r\n }\r\n return null;\r\n }\r\n\r\n gridOnRowClick = (row) => {\r\n this.updateTariffGroupToggle(row);\r\n }\r\n\r\n onPageChange = (page, sizePerPage) => {\r\n var nPaging = Object.assign({}, this.state.pagingModel, { page: page, itemsPerPage: sizePerPage });\r\n this.search(nPaging);\r\n }\r\n\r\n onSortChange = (sortName, sortOrder) => {\r\n var nPaging = Object.assign({}, this.state.pagingModel, { sortName: sortName, sortOrder: sortOrder });\r\n this.search(nPaging);\r\n }\r\n\r\n saveTariffGroup = () => {\r\n if (_.isNil(this.state.updateTariffGroupModal.tariffGroup.name) || _.isEmpty(this.state.updateTariffGroupModal.tariffGroup.name) ||\r\n this.state.updateTariffGroupModal.tariffGroup.name.length < 5) {\r\n notificationPopUp.warning('Nome Gruppo non valido: deve avere una lunghezza maggiore d 4 caratteri');\r\n return;\r\n }\r\n\r\n if (_.isNil(this.state.updateTariffGroupModal.tariffGroup.code) || _.isEmpty(this.state.updateTariffGroupModal.tariffGroup.code) ||\r\n this.state.updateTariffGroupModal.tariffGroup.code.length < 5) {\r\n notificationPopUp.warning('Codice Gruppo non valido: deve avere una lunghezza maggiore d 4 caratteri');\r\n return;\r\n }\r\n\r\n this.props.actions.saveTariffGroup(this.state.updateTariffGroupModal.tariffGroup).then(() => {\r\n notificationPopUp.success('Gruppo Salvato');\r\n this.updateTariffGroupToggle({ id: '', name: '' });\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n search = (pagingModel) => {\r\n if (_.isNil(pagingModel))\r\n pagingModel = this.state.pagingModel;\r\n\r\n this.props.actions.loadTariffGroups(pagingModel).then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento dei Gruppi dei Piani Mutualistici');\r\n });\r\n }\r\n\r\n showHideTariffGroupDeleteModal = (dropRowKeys) => {\r\n const tariffGroupDeleteModal = Object.assign({}, this.state.tariffGroupDeleteModal);\r\n tariffGroupDeleteModal.show = !tariffGroupDeleteModal.show;\r\n tariffGroupDeleteModal.dropRowKeysp = dropRowKeys;\r\n this.setState(Object.assign({}, this.state, { tariffGroupDeleteModal }));\r\n }\r\n\r\n tariffGroupConfirmDelete = (next, dropRowKeys) => {\r\n this.showHideTariffGroupDeleteModal(dropRowKeys);\r\n }\r\n\r\n tariffGroupDelete = (ids) => {\r\n this.props.actions.deleteTariffGroup(ids[0]).then(() => {\r\n notificationPopUp.success('Gruppo Eliminato');\r\n this.showHideTariffGroupDeleteModal([]);\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n tariffGroupInsertButton = () => {\r\n return ();\r\n }\r\n\r\n updateFilters = (event) => {\r\n const pagingModel = Object.assign({}, this.state.pagingModel);\r\n pagingModel[event.target.name] = event.target.value;\r\n this.setState(Object.assign({}, this.state, { pagingModel }));\r\n }\r\n\r\n updateTariffGroup = (event) => {\r\n const state = Object.assign({}, this.state);\r\n state.updateTariffGroupModal.tariffGroup[event.target.name] = event.target.value;\r\n this.setState(state);\r\n }\r\n\r\n updateTariffGroupToggle = (obj) => {\r\n if (_.isNil(obj))\r\n obj = { id: '', name: '' };\r\n\r\n const updateTariffGroupModal = Object.assign({}, this.state.updateTariffGroupModal);\r\n updateTariffGroupModal.show = !updateTariffGroupModal.show;\r\n updateTariffGroupModal.tariffGroup = obj;\r\n this.setState(Object.assign({}, this.state, { updateTariffGroupModal }));\r\n }\r\n\r\n render() {\r\n const gridOptions = {\r\n insertBtn: this.tariffGroupInsertButton,\r\n sizePerPage: this.state.pagingModel.itemsPerPage,\r\n page: this.state.pagingModel.page,\r\n sizePerPageList: [5, 10, 20, 50],\r\n onRowClick: this.gridOnRowClick,\r\n onPageChange: this.onPageChange,\r\n onSortChange: this.onSortChange,\r\n deleteText: 'Elimina',\r\n handleConfirmDeleteRow: this.tariffGroupConfirmDelete\r\n };\r\n\r\n return (\r\n
\r\n

Gestione Gruppi Piani Mutualistici

\r\n
\r\n
Filtri
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Codice\r\n Denominazione\r\n \r\n
\r\n this.tariffGroupDelete(this.state.tariffGroupDeleteModal.dropRowKeysp)}\r\n commonState={this.state.commonState} />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n authenticationState: state.authenticationState,\r\n commonState: state.commonState,\r\n pagingModel: state.tariffGroupState\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(tariffActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(TariffGroupsPage);\r\n","import React from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport { bindActionCreators } from 'redux';\r\nimport { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';\r\nimport { connect } from 'react-redux';\r\nimport notificationPopUp from '../../../NotificationPopUp';\r\n\r\nimport commonFunctions from '../../../commonFunctions';\r\n\r\nimport CheckboxInput from '../../common/checkBox/CheckboxInput';\r\nimport ConfirmationModal from '../../common/ConfirmationModal';\r\nimport TextInput from '../../common/TextInput';\r\nimport TooltipFormatter from '../../common/TooltipFormatter';\r\n\r\nimport * as authenticationActions from '../../../actions/authenticationActions';\r\nimport * as tariffActions from '../../../actions/tariffActions';\r\n\r\nclass TariffsPage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n authenticationState: this.props.authenticationState,\r\n commonState: this.props.commonState,\r\n pagingModel: this.props.pagingModel,\r\n tariffDeleteModal: {\r\n show: false,\r\n dropRowKeysp: []\r\n }\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.state.authenticationState, this.props.history)) {\r\n return;\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.search();\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.authenticationState !== prevState.authenticationState || nextProps.commonState !== prevState.commonState ||\r\n nextProps.pagingModel !== prevState.pagingModel) {\r\n const appPaginModel = Object.assign({}, prevState.pagingModel,\r\n {\r\n items: nextProps.pagingModel.items,\r\n page: nextProps.pagingModel.page,\r\n itemsPerPage: nextProps.pagingModel.itemsPerPage,\r\n total: nextProps.pagingModel.total\r\n });\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState, commonState: nextProps.commonState, pagingModel: appPaginModel });\r\n }\r\n return null;\r\n }\r\n\r\n gridAnnualNetValue = (cell, row) => {\r\n return (\r\n
{commonFunctions.numberToItalianEuroFormat(cell)}
\r\n );\r\n }\r\n\r\n gridOnRowClick = (row) => {\r\n this.props.history.push('tariff/' + row.id);\r\n }\r\n\r\n closedFormat = (cell, row) => {\r\n if (cell)\r\n return 'CHIUSO';\r\n return 'APERTO';\r\n }\r\n\r\n lockedOutFormat = (cell, row) => {\r\n if (cell)\r\n return 'NON MODIFICABILE';\r\n return 'MODIFICABILE';\r\n }\r\n\r\n onPageChange = (page, sizePerPage) => {\r\n var nPaging = Object.assign({}, this.state.pagingModel, { page: page, itemsPerPage: sizePerPage });\r\n this.search(nPaging);\r\n }\r\n\r\n onSortChange = (sortName, sortOrder) => {\r\n var nPaging = Object.assign({}, this.state.pagingModel, { sortName: sortName, sortOrder: sortOrder });\r\n this.search(nPaging);\r\n }\r\n\r\n redirectToTariffPage = () => {\r\n this.props.history.push('tariff');\r\n }\r\n\r\n rowClassNameFormat = (row, rowIdx) => {\r\n if (row.closed)\r\n return 'redRow';\r\n\r\n return rowIdx % 2 === 0 ? 'grayRow' : 'whiteRow';\r\n }\r\n\r\n search = (nPaging) => {\r\n if (!nPaging)\r\n nPaging = this.state.pagingModel;\r\n\r\n this.props.actions.loadTariffs(nPaging).then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento dei dati');\r\n });\r\n }\r\n\r\n showHideTariffDeleteModal = (dropRowKeys) => {\r\n const tariffDeleteModal = Object.assign({}, this.state.tariffDeleteModal);\r\n tariffDeleteModal.show = !tariffDeleteModal.show;\r\n tariffDeleteModal.dropRowKeysp = dropRowKeys;\r\n this.setState(Object.assign({}, this.state, { tariffDeleteModal }));\r\n }\r\n\r\n tariffInsertButton = () => {\r\n return ();\r\n }\r\n\r\n tariffDelete = (ids) => {\r\n this.props.actions.deleteTariff(ids[0]).then(() => {\r\n notificationPopUp.success('Piano Mutualistico Eliminato');\r\n this.showHideTariffDeleteModal([]);\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n tariffConfirmDelete = (next, dropRowKeys) => {\r\n this.showHideTariffDeleteModal(dropRowKeys);\r\n }\r\n\r\n tooltipFormatter = (cell, row) => {\r\n return (\r\n \r\n );\r\n }\r\n\r\n updateFilters = (event) => {\r\n const pagingModel = Object.assign({}, this.state.pagingModel);\r\n pagingModel[event.target.name] = event.target.value;\r\n this.setState(Object.assign({}, this.state, { pagingModel }));\r\n }\r\n\r\n render() {\r\n const gridOptions = {\r\n sizePerPage: this.state.pagingModel.itemsPerPage,\r\n page: this.state.pagingModel.page,\r\n sizePerPageList: [5, 10, 20, 50],\r\n onRowClick: this.gridOnRowClick,\r\n onPageChange: this.onPageChange,\r\n onSortChange: this.onSortChange,\r\n insertBtn: this.tariffInsertButton,\r\n deleteText: 'Elimina',\r\n handleConfirmDeleteRow: this.tariffConfirmDelete\r\n };\r\n\r\n return (\r\n
\r\n

Gestione Piani Mutualistici

\r\n
\r\n
Filtri
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Denominazione\r\n Codice\r\n Valore Netto\r\n Modificabile\r\n Stato\r\n \r\n
\r\n this.tariffDelete(this.state.tariffDeleteModal.dropRowKeysp)}\r\n commonState={this.state.commonState} />\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n authenticationState: state.authenticationState,\r\n commonState: state.commonState,\r\n pagingModel: state.tariffState\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(tariffActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(TariffsPage);\r\n","import _ from 'lodash';\r\nimport React from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../../NotificationPopUp';\r\n\r\nimport commonFunctions from '../../../commonFunctions';\r\n\r\nimport SelectInput from '../../common/SelectInput';\r\nimport TextInput from '../../common/TextInput';\r\n\r\nimport * as authenticationActions from '../../../actions/authenticationActions';\r\nimport * as userActions from '../../../actions/userActions';\r\n\r\nclass UsersPage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n const appR = commonFunctions.allRoles();\r\n appR.unshift({ value: -1, text: '---' });\r\n\r\n this.state = {\r\n authenticationState: this.props.authenticationState,\r\n commonState: this.props.commonState,\r\n pagingModel: this.props.pagingModel,\r\n roles: appR\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.state.authenticationState, this.props.history))\r\n return;\r\n\r\n this.redirectToUserPage = this.redirectToUserPage.bind(this);\r\n this.gridOnRowClick = this.gridOnRowClick.bind(this);\r\n this.onPageChange = this.onPageChange.bind(this);\r\n this.onSortChange = this.onSortChange.bind(this);\r\n this.search = this.search.bind(this);\r\n this.userInsertButton = this.userInsertButton.bind(this);\r\n this.updateFilters = this.updateFilters.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.pagingModel.items === null || this.state.pagingModel.items.length === 0) {\r\n this.search();\r\n }\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.authenticationState !== prevState.authenticationState || nextProps.commonState !== prevState.commonState ||\r\n nextProps.pagingModel !== prevState.pagingModel) {\r\n const appPaginModel = Object.assign({}, prevState.pagingModel,\r\n {\r\n items: nextProps.pagingModel.items,\r\n page: nextProps.pagingModel.page,\r\n itemsPerPage: nextProps.pagingModel.itemsPerPage,\r\n total: nextProps.pagingModel.total\r\n });\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState, commonState: nextProps.commonState, pagingModel: appPaginModel });\r\n }\r\n return null;\r\n }\r\n\r\n redirectToUserPage() {\r\n this.props.history.push('/user');\r\n }\r\n\r\n onPageChange(page, sizePerPage) {\r\n var nPaging = Object.assign({}, this.state.pagingModel, { page: page, itemsPerPage: sizePerPage });\r\n this.search(nPaging);\r\n }\r\n\r\n onSortChange(sortName, sortOrder) {\r\n var nPaging = Object.assign({}, this.state.pagingModel, { sortName: sortName, sortOrder: sortOrder });\r\n this.search(nPaging);\r\n }\r\n\r\n search(pagingModel) {\r\n if (_.isNil(pagingModel))\r\n pagingModel = this.state.pagingModel;\r\n\r\n this.props.userActions.loadUsers(pagingModel).then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento degli Utenti');\r\n });\r\n }\r\n\r\n gridOnRowClick(row) {\r\n this.props.history.push('/user/' + row.id);\r\n }\r\n\r\n roleInString(cell, row) {\r\n return commonFunctions.roleInString(cell);\r\n }\r\n\r\n userInsertButton() {\r\n return ();\r\n }\r\n\r\n updateFilters(event) {\r\n const pagingModel = Object.assign({}, this.state.pagingModel);\r\n if (event.target.name === 'roleId')\r\n pagingModel[event.target.name] = parseInt(event.target.value, 10);\r\n else\r\n pagingModel[event.target.name] = event.target.value;\r\n this.setState(Object.assign({}, this.state, { pagingModel }));\r\n }\r\n\r\n render() {\r\n const gridOptions = {\r\n sizePerPage: this.state.pagingModel.itemsPerPage,\r\n page: this.state.pagingModel.page,\r\n sizePerPageList: [5, 10, 20, 50],\r\n onRowClick: this.gridOnRowClick,\r\n onPageChange: this.onPageChange,\r\n onSortChange: this.onSortChange,\r\n insertBtn: this.userInsertButton\r\n };\r\n\r\n return (\r\n
\r\n

Gestione Utenti

\r\n
\r\n
Filtri
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Nome\r\n Cognome\r\n C.F.\r\n Username\r\n Ruolo\r\n Socio Sostenitore\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n authenticationState: state.authenticationState,\r\n commonState: state.commonState,\r\n pagingModel: state.userState\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch),\r\n userActions: bindActionCreators(userActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UsersPage);\r\n","import _ from 'lodash';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Col, Media, Row } from 'react-bootstrap';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../../../NotificationPopUp';\r\n\r\nimport documentLogo from '../../../../styles/images/documentIcon.svg';\r\n\r\nimport * as authenticationActions from '../../../../actions/authenticationActions';\r\nimport * as commonActions from '../../../../actions/commonActions';\r\n\r\nimport ConfirmationModal from '../../../common/ConfirmationModal';\r\nimport SimpleFileInput from '../../../common/SimpleFileInput';\r\n\r\nclass DocumentsSection extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n authenticationState: this.props.authenticationState,\r\n commonState: this.props.commonState,\r\n documentToBeAdded: {},\r\n eliminaDocumentoModal: {\r\n documentId: -1,\r\n show: false\r\n }\r\n };\r\n\r\n this.documentLoad = this.documentLoad.bind(this);\r\n this.eliminaDocumento = this.eliminaDocumento.bind(this);\r\n this.showEliminaDocumentoModal = this.showEliminaDocumentoModal.bind(this);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.commonState !== prevState.commonState)\r\n return Object.assign({}, prevState, { commonState: nextProps.commonState });\r\n return null;\r\n }\r\n\r\n documentLoad(documentToBeAdded, configurationFilePreviewUrl) {\r\n this.props.caricaDocumento(this.props.user.id, documentToBeAdded).then(() => {\r\n notificationPopUp.success('Documento Caricato.');\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n eliminaDocumento() {\r\n this.props.eliminaDocumento(this.state.eliminaDocumentoModal.documentId).then(() => {\r\n notificationPopUp.success('Documento Eliminato');\r\n this.showEliminaDocumentoModal(null);\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n showEliminaDocumentoModal(doc) {\r\n const eliminaDocumentoModal = Object.assign({}, this.state.eliminaDocumentoModal);\r\n eliminaDocumentoModal.show = !eliminaDocumentoModal.show;\r\n\r\n if (!_.isNil(doc) && !_.isNil(doc.id))\r\n eliminaDocumentoModal.documentId = doc.id;\r\n else\r\n eliminaDocumentoModal.documentId = -1;\r\n\r\n this.setState(Object.assign({}, this.state, { eliminaDocumentoModal }));\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
Documenti Privati
\r\n
\r\n \r\n {this.props.user.documents.map(doc => {\r\n return (\r\n \r\n Documento\r\n \r\n \r\n \r\n this.showEliminaDocumentoModal(doc)} style={{ cursor: 'pointer' }}>\r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nDocumentsSection.propTypes = {\r\n authenticationState: PropTypes.object.isRequired,\r\n caricaDocumento: PropTypes.func.isRequired,\r\n commonState: PropTypes.object.isRequired,\r\n eliminaDocumento: PropTypes.func.isRequired,\r\n user: PropTypes.object.isRequired\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n commonState: state.commonState,\r\n authenticationState: state.authenticationState\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DocumentsSection);\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Spin } from 'antd';\r\nimport { Button, Modal } from 'react-bootstrap';\r\n\r\nimport AirBnbDateTimePicker from '../../../common/airBnbDatepicker/AirBnbDateTimePicker';\r\nimport SelectInput from '../../../common/SelectInput';\r\n\r\nconst AddNetworkReferentModal = ({ commonState, onChange, networkReferentInModalModel, networks, saveNetworkReferent, toggle }) => {\r\n return (\r\n \r\n \r\n Referenza\r\n \r\n \r\n \r\n \r\n 0}\r\n label=\"Socio Sostenitore\"\r\n name='networkId'\r\n onChange={onChange}\r\n defaultOptionText=\"\"\r\n defaultOptionValue={-1}\r\n options={networks}\r\n value={networkReferentInModalModel.networkReferent.networkId} />\r\n \r\n \r\n 0} size=\"large\" >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nAddNetworkReferentModal.propTypes = {\r\n commonState: PropTypes.object.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n networkReferentInModalModel: PropTypes.object.isRequired,\r\n networks: PropTypes.array,\r\n saveNetworkReferent: PropTypes.func.isRequired,\r\n toggle: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default AddNetworkReferentModal;\r\n","import _ from 'lodash';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { BootstrapTable, SearchField, TableHeaderColumn } from 'react-bootstrap-table';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../../../NotificationPopUp';\r\n\r\nimport commonFunctions from '../../../../commonFunctions';\r\n\r\nimport * as authenticationActions from '../../../../actions/authenticationActions';\r\nimport * as commonActions from '../../../../actions/commonActions';\r\nimport * as networkActions from '../../../../actions/networkActions';\r\n\r\nimport AddNetworkReferentModal from './AddNetworkReferentModal';\r\nimport ConfirmationModal from '../../../common/ConfirmationModal';\r\nimport TooltipFormatter from '../../../common/TooltipFormatter';\r\n\r\nconst createCustomSearchField = (props) => { return (); };\r\n\r\n\r\nclass ReferentSection extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n authenticationState: this.props.authenticationState,\r\n commonState: this.props.commonState,\r\n networkReferents: [],\r\n addNetworkReferentModal: {\r\n networkReferent: {},\r\n show: false\r\n },\r\n deleteNetworkReferentModal: {\r\n networkReferentId: -1,\r\n show: false\r\n }\r\n };\r\n\r\n this.deleteNetworkReferent = this.deleteNetworkReferent.bind(this);\r\n this.loadReferentNetworks = this.loadReferentNetworks.bind(this);\r\n this.networkReferentConfirmDelete = this.networkReferentConfirmDelete.bind(this);\r\n this.networkReferentInsertButton = this.networkReferentInsertButton.bind(this);\r\n this.onNetworkReferentInModalChange = this.onNetworkReferentInModalChange.bind(this);\r\n this.onNetworkReferentGridOnRowClick = this.onNetworkReferentGridOnRowClick.bind(this);\r\n this.saveNetworkReferent = this.saveNetworkReferent.bind(this);\r\n this.showAddNetworkReferentModal = this.showAddNetworkReferentModal.bind(this);\r\n this.showDeleteNetworkReferentModal = this.showDeleteNetworkReferentModal.bind(this);\r\n this.tooltipFormatter = this.tooltipFormatter.bind(this);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.commonState !== prevState.commonState)\r\n return Object.assign({}, prevState, { commonState: nextProps.commonState });\r\n return null;\r\n }\r\n\r\n componentDidMount() {\r\n this.loadReferentNetworks();\r\n }\r\n\r\n deleteNetworkReferent() {\r\n this.props.networkActions.deleteNetworkReferent(this.state.deleteNetworkReferentModal.networkReferentId).then(() => {\r\n notificationPopUp.success('Referenza Eliminata');\r\n this.showDeleteNetworkReferentModal();\r\n this.loadReferentNetworks();\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n loadReferentNetworks() {\r\n this.props.networkActions.loadReferentNetworks(this.props.userId).then((networkReferents) => {\r\n this.setState(Object.assign({}, this.state, { networkReferents }));\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n networkReferentConfirmDelete(next, dropRowKeys) {\r\n this.showDeleteNetworkReferentModal(dropRowKeys);\r\n }\r\n\r\n networkReferentInsertButton() {\r\n return ();\r\n }\r\n\r\n onNetworkReferentInModalChange(event) {\r\n const state = Object.assign({}, this.state);\r\n state.addNetworkReferentModal.networkReferent[event.target.name] = event.target.value;\r\n this.setState(state);\r\n }\r\n\r\n onNetworkReferentGridOnRowClick(row) {\r\n this.showAddNetworkReferentModal(row.id);\r\n }\r\n\r\n saveNetworkReferent() {\r\n\r\n if (_.toNumber(this.state.addNetworkReferentModal.networkReferent.networkId) < 1 || _.isNil(this.state.addNetworkReferentModal.networkReferent.startDate)) {\r\n notificationPopUp.warning('Attenzione compila i dati in modo coerente, Socio Sostenitore e Data inizio sono obbligatori.');\r\n return;\r\n }\r\n\r\n if (commonFunctions.dateDiffInDays(new Date(this.state.addNetworkReferentModal.networkReferent.startDate),\r\n new Date(this.state.addNetworkReferentModal.networkReferent.endDate)) < 1 && !_.isNil(this.state.addNetworkReferentModal.networkReferent.endDate)) {\r\n notificationPopUp.warning('Attenzione compila i dati in modo coerente, la data di inizio è maggiore di quella di fine');\r\n return;\r\n }\r\n\r\n this.props.networkActions.saveNetworkReferent(this.state.addNetworkReferentModal.networkReferent).then(() => {\r\n notificationPopUp.success('Referenza salvata.');\r\n this.showAddNetworkReferentModal();\r\n this.loadReferentNetworks();\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n showAddNetworkReferentModal(networkReferentId) {\r\n var addNetworkReferentModal = {\r\n networkReferent: {},\r\n show: !this.state.addNetworkReferentModal.show\r\n };\r\n if (!_.isUndefined(networkReferentId) && _.isNumber(networkReferentId) > 0)\r\n addNetworkReferentModal.networkReferent = Object.assign({}, this.state.networkReferents.filter(x => x.id === networkReferentId)[0]);\r\n else\r\n addNetworkReferentModal.networkReferent.userId = this.props.userId;\r\n\r\n this.setState(Object.assign({}, this.state, { addNetworkReferentModal }));\r\n }\r\n\r\n showDeleteNetworkReferentModal(networkReferentArray) {\r\n const deleteNetworkReferentModal = Object.assign({}, this.state.deleteNetworkReferentModal);\r\n deleteNetworkReferentModal.show = !deleteNetworkReferentModal.show;\r\n\r\n if (!_.isNil(networkReferentArray) && !_.isNil(networkReferentArray.length))\r\n deleteNetworkReferentModal.networkReferentId = networkReferentArray[0];\r\n else\r\n deleteNetworkReferentModal.networkReferentId = -1;\r\n\r\n this.setState(Object.assign({}, this.state, { deleteNetworkReferentModal }));\r\n }\r\n\r\n tooltipFormatter(cell, row) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const gridOptions = {\r\n deleteText: 'Elimina',\r\n exportCSVText: 'Esporta',\r\n handleConfirmDeleteRow: this.networkReferentConfirmDelete,\r\n insertBtn: this.networkReferentInsertButton,\r\n onRowClick: this.onNetworkReferentGridOnRowClick,\r\n searchField: createCustomSearchField,\r\n sizePerPageList: [5, 10, 20, 50]\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n Socio Sostenitore\r\n Data Inizio\r\n Data Fine\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nReferentSection.propTypes = {\r\n authenticationState: PropTypes.object.isRequired,\r\n commonState: PropTypes.object.isRequired,\r\n networks: PropTypes.array.isRequired,\r\n userId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n commonState: state.commonState,\r\n authenticationState: state.authenticationState\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch),\r\n networkActions: bindActionCreators(networkActions, dispatch),\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ReferentSection);\r\n","import _ from 'lodash';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../../../NotificationPopUp';\r\n\r\nimport * as consts from '../../../../constants';\r\n\r\nimport checkFunctions from '../../../../CheckFunction';\r\n\r\nimport DocumentsSection from './DocumentsSection';\r\nimport ReferentSection from './ReferentSection';\r\nimport TextInput from '../../../common/TextInput';\r\nimport UserSection from '../../user/UserSection';\r\n\r\nimport * as authenticationActions from '../../../../actions/authenticationActions';\r\nimport * as commonActions from '../../../../actions/commonActions';\r\nimport * as networkActions from '../../../../actions/networkActions';\r\nimport * as userActions from '../../../../actions/userActions';\r\n\r\nclass UserPage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n commonState: this.props.commonState,\r\n authenticationState: this.props.authenticationState,\r\n user: props.user,\r\n networks: [],\r\n networksForSelect: []\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.state.authenticationState, this.props.historyrouter)) {\r\n return;\r\n }\r\n\r\n this.caricaDocumento = this.caricaDocumento.bind(this);\r\n this.eliminaDocumento = this.eliminaDocumento.bind(this);\r\n this.loadNetworks = this.loadNetworks.bind(this);\r\n this.saveUser = this.saveUser.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n this.validate = this.validate.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.user.id > -1) {\r\n this.props.userActions.loadUser(this.state.user.id).then((user) => {\r\n this.setState(Object.assign({}, this.state, { user: user }));\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n if (!this.state.commonState.configuration || this.state.commonState.configuration.cities === null || this.state.commonState.configuration.cities.length === 0) {\r\n this.props.commonActions.loadConfiguration().then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento della configurazione base');\r\n });\r\n }\r\n this.loadNetworks();\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.commonState !== prevState.commonState || nextProps.authenticationState !== prevState.authenticationState)\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState, commonState: nextProps.commonState });\r\n return null;\r\n }\r\n\r\n caricaDocumento(userId, file) {\r\n return new Promise((resolve, reject) => {\r\n this.props.userActions.caricaDocumento(userId, file).then((user) => {\r\n this.setState(Object.assign({}, this.state, { user }));\r\n resolve('Documento Caricato');\r\n }).catch(error => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n eliminaDocumento(documentoId) {\r\n return new Promise((resolve, reject) => {\r\n this.props.userActions.eliminaDocumento(documentoId).then((user) => {\r\n this.setState(Object.assign({}, this.state, { user }));\r\n resolve('Documento Eliminato');\r\n }).catch(error => {\r\n reject(error);\r\n });\r\n });\r\n }\r\n\r\n loadNetworks() {\r\n this.props.networkActions.loadAllNetworks().then((networks) => {\r\n this.setState(Object.assign({}, this.state, {\r\n networks,\r\n networksForSelect: networks.map(\r\n (value) => {\r\n return { value: value.id, text: value.businessName };\r\n })\r\n }));\r\n }).catch(error => {\r\n this.setState(Object.assign({}, this.state, { networks: [], networksForSelect: [] }));\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n saveUser(event) {\r\n if (this.validate()) {\r\n this.props.userActions.saveUser(this.state.user).then((newUser) => {\r\n this.setState(Object.assign({}, this.state, { user: newUser }));\r\n notificationPopUp.success('Utente ' + newUser.firstName + ' ' + newUser.lastName + ' Salvato');\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n } else {\r\n notificationPopUp.warning('Utente non valido');\r\n }\r\n }\r\n\r\n updateState(event) {\r\n const state = Object.assign({}, this.state);\r\n var names = event.target.name.split('_');\r\n\r\n if (names[1] === 'role')\r\n state.user[names[1]] = parseInt(event.target.value, 10);\r\n else\r\n state.user[names[1]] = event.target.value;\r\n\r\n this.setState(Object.assign({}, this.state, state));\r\n }\r\n\r\n validate() {\r\n const retVal = (!_.isUndefined(this.state.user.firstName) && !_.isEmpty(_.trim(this.state.user.firstName))) &&\r\n (!_.isUndefined(this.state.user.lastName) && !_.isEmpty(_.trim(this.state.user.lastName))) &&\r\n (!_.isUndefined(this.state.user.username) && !_.isEmpty(_.trim(this.state.user.username))) &&\r\n (!_.isUndefined(this.state.user.taxCode) && !_.isEmpty(_.trim(this.state.user.taxCode))) &&\r\n (checkFunctions.checkCF(this.state.user.taxCode)) &&\r\n (!_.isUndefined(this.state.user.birthDate) && !_.isEmpty(_.trim(this.state.user.birthDate))) &&\r\n (!_.isUndefined(this.state.user.emailAddress) && !_.isEmpty(_.trim(this.state.user.emailAddress))) &&\r\n (checkFunctions.checkEmail(this.state.user.emailAddress)) &&\r\n (!_.isUndefined(this.state.user.workPhone) && !_.isEmpty(_.trim(this.state.user.workPhone)));\r\n\r\n return retVal;\r\n }\r\n\r\n render() {\r\n const title = 'Utente ' + (!_.isUndefined(this.state.user.firstName) ? this.state.user.firstName : '') + ' ' +\r\n (!_.isUndefined(this.state.user.lastName) ? this.state.user.lastName : '');\r\n\r\n return (\r\n
\r\n

{this.state.user.lastName} {this.state.user.firstName}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.state.user.role === consts.AUTHENTICATION.USER_ROLE.NetworkReferent ?
\r\n
Dettagli del Referente
\r\n
\r\n \r\n \r\n consts.AUTHENTICATION.USER_ROLE.Seb ? 'disabled' : ''}\r\n name=\"userData_referenteRights\"\r\n label=\"Rimborso\"\r\n value={this.state.user.referenteRights}\r\n onChange={this.updateState} />\r\n \r\n \r\n consts.AUTHENTICATION.USER_ROLE.Seb ? 'disabled' : ''}\r\n isIban={true}\r\n label=\"IBAN\"\r\n name=\"userData_iban\"\r\n onChange={this.updateState}\r\n value={this.state.user.iban} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
: ''}\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {authenticationActions.canISeeUserDocuments(this.state.authenticationState, this.state.user) ? \r\n \r\n : ''}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nUserPage.propTypes = {\r\n authenticationState: PropTypes.object.isRequired,\r\n commonState: PropTypes.object.isRequired\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n const user = {\r\n ateco: '',\r\n id: ownProps.match.params.id,\r\n birthDate: new Date().toISOString(),\r\n code: '',\r\n companyId: '',\r\n companyForMaster: '',\r\n documents: [],\r\n emailAddress: '',\r\n emailAddress2: '',\r\n firstName: '',\r\n iban: '',\r\n ivas: '',\r\n lastName: '',\r\n username: '',\r\n password: '',\r\n sae: '',\r\n taxCode: '',\r\n role: consts.AUTHENTICATION.USER_ROLE.NetworkAgent,\r\n warrantyCoverageCaps: [],\r\n workPhone: '',\r\n workPhone2: ''\r\n };\r\n\r\n return {\r\n commonState: state.commonState,\r\n authenticationState: state.authenticationState,\r\n user: user\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n networkActions: bindActionCreators(networkActions, dispatch),\r\n userActions: bindActionCreators(userActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserPage);\r\n","\r\nimport _ from 'lodash';\r\nimport propTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../../../NotificationPopUp';\r\n\r\nimport checkFunctions from '../../../../CheckFunction';\r\n\r\nimport AirBnbDateTimePicker from '../../../common/airBnbDatepicker/AirBnbDateTimePicker';\r\nimport TextInput from '../../../common/TextInput';\r\n\r\nimport * as authenticationActions from '../../../../actions/authenticationActions';\r\nimport * as commonActions from '../../../../actions/commonActions';\r\nimport * as userActions from '../../../../actions/userActions';\r\n\r\nclass UserBasicPage extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n authenticationState: this.props.authenticationState,\r\n user: props.user\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.state.authenticationState, this.props.history)) {\r\n return;\r\n }\r\n\r\n this.saveUser = this.saveUser.bind(this);\r\n this.updateState = this.updateState.bind(this);\r\n this.validate = this.validate.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.user.id > -1) {\r\n this.props.userActions.loadBasicUser(this.state.user.id).then((user) => {\r\n this.setState(Object.assign({}, this.state, { user: user }));\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.authenticationState !== prevState.authenticationState)\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState });\r\n return null;\r\n }\r\n\r\n saveUser(event) {\r\n if (this.validate()) {\r\n this.props.userActions.saveBasicUser(this.state.user).then((newUser) => {\r\n this.setState(Object.assign({}, this.state, { user: newUser }));\r\n notificationPopUp.success('Dati salvati con successo');\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n } else {\r\n notificationPopUp.warning('Utente non valido');\r\n }\r\n }\r\n\r\n updateState(event) {\r\n const state = Object.assign({}, this.state);\r\n state.user[event.target.name] = event.target.value;\r\n this.setState(Object.assign({}, this.state, state));\r\n }\r\n\r\n validate() {\r\n const appV = (!_.isNil(this.state.user.emailAddress) && !_.isEmpty(_.trim(this.state.user.emailAddress))) &&\r\n (checkFunctions.checkEmail(this.state.user.emailAddress)) &&\r\n (!_.isNil(this.state.user.workPhone) && !_.isEmpty(_.trim(this.state.user.workPhone)));\r\n\r\n if (!_.isNil(this.state.newPassword) && (!_.isEmpty(this.state.newPassword))) {\r\n if (_.isNil(this.state.password) || _.isEmpty(this.state.password)) {\r\n notificationPopUp.warning('Per cambiare la password bisogna inserire la password attuale e la nuova');\r\n return false;\r\n }\r\n if (this.state.newPassword !== this.state.newPasswordConfirm) {\r\n notificationPopUp.warning('Conferma la nuova password in modo corretto');\r\n return false;\r\n }\r\n }\r\n\r\n return appV;\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

{this.state.user.firstName} {this.state.user.lastName}

\r\n \r\n \r\n \r\n
\r\n
Dettagli Anagrafici
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Recapiti
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Password
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nUserBasicPage.propTypes = {\r\n authenticationState: propTypes.object.isRequired\r\n};\r\n\r\nUserBasicPage.contextTypes = {\r\n router: propTypes.object\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n const user = {\r\n id: ownProps.match.params.id,\r\n birthDate: new Date().toISOString(),\r\n emailAddress: '',\r\n firstName: '',\r\n lastName: '',\r\n newPassword: '',\r\n newPasswordConfirm: '',\r\n password: '',\r\n taxCode: '',\r\n workPhone: ''\r\n };\r\n\r\n return {\r\n authenticationState: state.authenticationState,\r\n user: user\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n userActions: bindActionCreators(userActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserBasicPage);\r\n","import _ from 'lodash';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';\r\n\r\nimport commonFunctions from '../../../../commonFunctions';\r\n\r\nconst WarrantyAllowanceModal = ({ authenticationState, warranty, warrantyAllowanceModalShow, warrantyCoverageCap, toggle,\r\n warrantyAllowanceDelete, warranttAllowanceInsert }) => {\r\n\r\n function insertButton() {\r\n return ();\r\n }\r\n\r\n function warrantyWithDiscount(cell, row) {\r\n return commonFunctions.numberToItalianEuroFormat(warrantyCoverageCap.annualNetValue * (100 - row.percentageDiscount) / 100);\r\n }\r\n\r\n function warrantyAllowanceConfirmDelete(next, dropRowKeys) {\r\n // eslint-disable-next-line\r\n if (confirm(`Sei sicuro di voler eliminare le Franchigie selezionate?`)) {\r\n next();\r\n }\r\n }\r\n\r\n function numberToItalianFormat(value) {\r\n return _.toString(_.toNumber(value).toFixed(2)).replace('.', ',');\r\n }\r\n\r\n const gridOptions = {\r\n deleteText: 'Elimina',\r\n handleConfirmDeleteRow: warrantyAllowanceConfirmDelete,\r\n onDeleteRow: warrantyAllowanceDelete,\r\n insertBtn: insertButton\r\n };\r\n\r\n const cellEditProp = {\r\n mode: 'click',\r\n blurToSave: true\r\n };\r\n\r\n return (\r\n \r\n \r\n Valore Netto: {commonFunctions.numberToItalianEuroFormat(warrantyCoverageCap.annualNetValue)}\r\n \r\n \r\n \r\n \r\n Franchigia\r\n Scoperto %\r\n Sconto %\r\n Prestazione Scontata\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nWarrantyAllowanceModal.propTypes = {\r\n authenticationState: PropTypes.object.isRequired,\r\n warranty: PropTypes.object.isRequired,\r\n warrantyAllowanceModalShow: PropTypes.bool.isRequired,\r\n warrantyCoverageCap: PropTypes.object.isRequired,\r\n toggle: PropTypes.func.isRequired\r\n};\r\n\r\nexport default WarrantyAllowanceModal;","import _ from 'lodash';\r\nimport PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { Button, ButtonGroup, ButtonToolbar, Row, Col } from 'react-bootstrap';\r\nimport { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../../../NotificationPopUp';\r\n\r\nimport TextInput from '../../../common/TextInput';\r\nimport SelectInput from '../../../common/SelectInput';\r\nimport CheckboxInput from '../../../common/checkBox/CheckboxInput';\r\nimport ConfirmationModal from '../../../common/ConfirmationModal';\r\nimport ActiveEditor from '../../../common/checkBox/ActiveEditor';\r\nimport WarrantyAllowanceModal from './WarrantyAllowanceModal';\r\n\r\nimport * as authenticationActions from '../../../../actions/authenticationActions';\r\nimport * as commonActions from '../../../../actions/commonActions';\r\nimport commonFunctions from '../../../../commonFunctions';\r\nimport * as warrantyActions from '../../../../actions/warrantyActions';\r\n\r\nconst createActiveEditor = (onUpdate, props) => ();\r\n\r\nclass WarrantyPage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n commonState: this.props.commonState,\r\n authenticationState: this.props.authenticationState,\r\n warranty: props.warranty,\r\n warrantyAllowanceModalShow: false,\r\n warrantyCoverageCapInModal: { warrantyAllowances: [] },\r\n warrantyCoverageCapDeleteModal: {\r\n show: false,\r\n dropRowKeysp: []\r\n },\r\n clonePrestazioneModal: {\r\n show: false\r\n }\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.state.authenticationState, this.props.history)) {\r\n return;\r\n }\r\n\r\n this.clonePrestazioneModal = this.clonePrestazioneModal.bind(this);\r\n this.numberToItalianEuroFormat = this.numberToItalianEuroFormat.bind(this);\r\n this.updateWarrantyState = this.updateWarrantyState.bind(this);\r\n this.validate = this.validate.bind(this);\r\n this.saveWarranty = this.saveWarranty.bind(this);\r\n this.showHideClonePrestazioneModal = this.showHideClonePrestazioneModal.bind(this);\r\n this.showHideWarrantyCoverageCapDeleteModal = this.showHideWarrantyCoverageCapDeleteModal.bind(this);\r\n this.warrantyCoverageCapAfterSaveCell = this.warrantyCoverageCapAfterSaveCell.bind(this);\r\n this.warrantyCoverageCapConfirmDelete = this.warrantyCoverageCapConfirmDelete.bind(this);\r\n this.warrantyCoverageCapDelete = this.warrantyCoverageCapDelete.bind(this);\r\n this.warrantyCoverageCapInsert = this.warrantyCoverageCapInsert.bind(this);\r\n this.warrantyCoverageAllowance = this.warrantyCoverageAllowance.bind(this);\r\n this.warranttAllowanceShowHideModal = this.warranttAllowanceShowHideModal.bind(this);\r\n this.warrantyAllowanceDelete = this.warrantyAllowanceDelete.bind(this);\r\n this.warranttAllowanceInsert = this.warranttAllowanceInsert.bind(this);\r\n this.warrantyCoverageCapInsertButton = this.warrantyCoverageCapInsertButton.bind(this);\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.commonState !== prevState.commonState || nextProps.authenticationState !== prevState.authenticationState)\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState, commonState: nextProps.commonState });\r\n return null;\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.warranty.id > -1) {\r\n this.props.actions.loadWarranty(this.state.warranty.id).then((warranty) => {\r\n this.setState(Object.assign({}, this.state, { warranty }));\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n if (!this.state.commonState.configuration || this.state.commonState.configuration.cities === null || this.state.commonState.configuration.cities.length === 0) {\r\n this.props.commonActions.loadConfiguration().then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento della configurazione base');\r\n });\r\n }\r\n }\r\n\r\n updateWarrantyState(event) {\r\n const warranty = Object.assign({}, this.state.warranty);\r\n warranty[event.target.name] = event.target.value;\r\n var app = Object.assign({}, this.state, { warranty: warranty });\r\n this.setState(app);\r\n }\r\n\r\n saveWarranty() {\r\n if (this.validate()) {\r\n this.props.actions.saveWarranty(this.state.warranty).then((newWarranty) => {\r\n this.setState(Object.assign({}, this.state, { warranty: newWarranty }));\r\n notificationPopUp.success('Prestazione ' + newWarranty.name + ' Salvata');\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n }\r\n\r\n validate() {\r\n if (!_.isNil(this.state.warranty.warrantyCoverageCaps) && this.state.warranty.warrantyCoverageCaps.length > 0) {\r\n if (this.state.warranty.warrantyCoverageCaps.filter(x => x.isActive).length === 0) {\r\n notificationPopUp.warning('La Prestazione NON può essere salvata perchè ha bisogno di almeno un massimale Attivo');\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n notificationPopUp.warning('La Prestazione NON può essere salvata perchè ha bisogno di almeno un massimale ');\r\n return false;\r\n }\r\n\r\n warrantyCoverageCapAfterSaveCell(row, cellName, cellValue) {\r\n const warranty = Object.assign({}, this.state.warranty);\r\n var selectedCoverageCap = warranty.warrantyCoverageCaps.filter(item => item.id === row.id)[0];\r\n\r\n if (cellName === 'isActive') {\r\n selectedCoverageCap[cellName] = cellValue;\r\n } else {\r\n selectedCoverageCap[cellName] = commonFunctions.numberStringItalianToUsNumber(cellValue);\r\n\r\n // AnnualValue Calculation this is just for the User cos WE RECALCULATE IT ON THE SERVER SIDE\r\n selectedCoverageCap.annualValue = _.toNumber(selectedCoverageCap.annualNetValue) +\r\n (_.toNumber(selectedCoverageCap.annualNetValue) * _.toNumber(selectedCoverageCap.taxPercentage) / 100) +\r\n (_.toNumber(selectedCoverageCap.annualNetValue) * _.toNumber(selectedCoverageCap.forwelfareRights) / 100) +\r\n _.toNumber(selectedCoverageCap.rights);\r\n selectedCoverageCap.annualValue = selectedCoverageCap.annualValue / (100 - _.toNumber(selectedCoverageCap.sebRights)) * 100;\r\n\r\n if (_.isNaN(selectedCoverageCap.annualValue))\r\n selectedCoverageCap.annualValue = '===';\r\n }\r\n\r\n var app = Object.assign({}, this.state, { warranty: warranty });\r\n this.setState(app);\r\n }\r\n\r\n clonePrestazioneModal() {\r\n this.props.actions.cloneWarranty(this.state.warranty.id).then((clonedWarrantyId) => {\r\n notificationPopUp.info('Prestazione Clonata');\r\n this.showHideClonePrestazioneModal();\r\n this.props.history.goBack();\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n showHideClonePrestazioneModal() {\r\n const clonePrestazioneModal = Object.assign({}, this.state.clonePrestazioneModal);\r\n clonePrestazioneModal.show = !clonePrestazioneModal.show;\r\n this.setState(Object.assign({}, this.state, { clonePrestazioneModal }));\r\n }\r\n\r\n showHideWarrantyCoverageCapDeleteModal(dropRowKeys) {\r\n const warrantyCoverageCapDeleteModal = Object.assign({}, this.state.warrantyCoverageCapDeleteModal);\r\n warrantyCoverageCapDeleteModal.show = !warrantyCoverageCapDeleteModal.show;\r\n warrantyCoverageCapDeleteModal.dropRowKeysp = dropRowKeys;\r\n this.setState(Object.assign({}, this.state, { warrantyCoverageCapDeleteModal }));\r\n }\r\n\r\n warrantyCoverageCapConfirmDelete(next, dropRowKeys) {\r\n this.showHideWarrantyCoverageCapDeleteModal(dropRowKeys);\r\n }\r\n\r\n warrantyCoverageCapDelete(ids) {\r\n const warranty = Object.assign({}, this.state.warranty);\r\n const warrantyCoverageCapDeleteModal = Object.assign({}, this.state.warrantyCoverageCapDeleteModal);\r\n warrantyCoverageCapDeleteModal.show = !warrantyCoverageCapDeleteModal.show;\r\n warrantyCoverageCapDeleteModal.dropRowKeysp = [];\r\n var newCovs = warranty.warrantyCoverageCaps.filter(item => ids.indexOf(item.id) < 0);\r\n warranty.warrantyCoverageCaps = newCovs;\r\n var app = Object.assign({}, this.state, { warranty, warrantyCoverageCapDeleteModal });\r\n this.setState(app);\r\n }\r\n\r\n warrantyCoverageCapInsert() {\r\n const warranty = Object.assign({}, this.state.warranty);\r\n\r\n var last = _.last(warranty.warrantyCoverageCaps.filter(x => x.id < 0));\r\n var newId = -1;\r\n if (last != null)\r\n newId = last.id - 1;\r\n\r\n warranty.warrantyCoverageCaps.push({\r\n id: newId,\r\n name: '',\r\n annualNetValue: 0,\r\n taxPercentage: 0,\r\n annualValue: 0,\r\n coverageCap: 0,\r\n rights: 0,\r\n forwelfareRights: 0,\r\n sebRights: 0, isActive: true, warrantyAllowances: []\r\n });\r\n var app = Object.assign({}, this.state, { warranty: warranty });\r\n this.setState(app);\r\n }\r\n\r\n warrantyCoverageAllowance(cell, row) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n warrantyCoverageActive(cell, row) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n warranttAllowanceShowHideModal(warrantyCovCapId) {\r\n let warrantyCoverageCapInModal = { warrantyAllowances: [] };\r\n const warranty = Object.assign({}, this.state.warranty);\r\n if (_.isNumber(warrantyCovCapId)) {\r\n warrantyCoverageCapInModal = Object.assign({}, this.state.warranty.warrantyCoverageCaps.filter(x => x.id === warrantyCovCapId)[0]);\r\n } else {\r\n warranty.warrantyCoverageCaps.filter(x => x.id === this.state.warrantyCoverageCapInModal.id)[0].warrantyAllowances = this.state.warrantyCoverageCapInModal.warrantyAllowances;\r\n }\r\n\r\n this.setState(Object.assign({}, this.state, { warranty: warranty }, { warrantyAllowanceModalShow: !this.state.warrantyAllowanceModalShow, warrantyCoverageCapInModal: warrantyCoverageCapInModal }));\r\n }\r\n\r\n warrantyAllowanceDelete(ids) {\r\n const warrantyCoverageCapInModal = Object.assign({}, this.state.warrantyCoverageCapInModal);\r\n var newAllowances = warrantyCoverageCapInModal.warrantyAllowances.filter(item => ids.indexOf(item.id) < 0);\r\n warrantyCoverageCapInModal.warrantyAllowances = newAllowances;\r\n var app = Object.assign({}, this.state, { warrantyCoverageCapInModal: warrantyCoverageCapInModal });\r\n this.setState(app);\r\n }\r\n\r\n warranttAllowanceInsert() {\r\n const warrantyCoverageCapInModal = Object.assign({}, this.state.warrantyCoverageCapInModal);\r\n\r\n var last = _.last(warrantyCoverageCapInModal.warrantyAllowances.filter(x => x.id < 0));\r\n var newId = -1;\r\n if (last != null)\r\n newId = last.id - 1;\r\n\r\n warrantyCoverageCapInModal.warrantyAllowances.push({ id: newId, allowance: 0, percentageDiscount: 0, uncovered: 0, warrantyWithDiscount: 0 });\r\n var app = Object.assign({}, this.state, { warrantyCoverageCapInModal: warrantyCoverageCapInModal });\r\n this.setState(app);\r\n }\r\n\r\n warrantyCoverageCapInsertButton() {\r\n return ();\r\n }\r\n\r\n numberToItalianEuroFormat(cell, row) {\r\n return commonFunctions.numberToItalianEuroFormat(cell);\r\n }\r\n\r\n render() {\r\n const companies = this.props.commonState.configuration.companies.map(\r\n (value) => {\r\n return { value: value.id, text: value.name };\r\n }\r\n );\r\n\r\n const warrantyTypes = [{ value: -1, text: '---' }, { value: 1, text: 'Assistenza' }, { value: 2, text: 'Rischio' }];\r\n\r\n const warrantyCoverageCapCellEditProp = {\r\n mode: 'click',\r\n blurToSave: true,\r\n afterSaveCell: this.warrantyCoverageCapAfterSaveCell\r\n };\r\n\r\n const warrantyCoverageCapSelectRowProp = {\r\n mode: 'checkbox'\r\n };\r\n\r\n const warrantyCoverageCapGridOptions = {\r\n deleteText: 'Elimina',\r\n handleConfirmDeleteRow: this.warrantyCoverageCapConfirmDelete,\r\n insertBtn: this.warrantyCoverageCapInsertButton\r\n };\r\n\r\n return (\r\n
\r\n

{this.state.warranty.name}

\r\n \r\n \r\n \r\n
\r\n
Prestazione: {this.state.warranty.name}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n

Massimali

\r\n \r\n \r\n Valore Netto\r\n % Imposte\r\n % GrifoHealth\r\n Diritti\r\n % Teseo\r\n Massimale\r\n Valore Lordo\r\n Attiva\r\n Franchigie\r\n \r\n \r\n \r\n \r\n \r\n {this.state.warranty.lockedOut ? Salva : Salva}\r\n {authenticationActions.canICloneWarranty(this.state.authenticationState) ?\r\n : ''}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n this.warrantyCoverageCapDelete(this.state.warrantyCoverageCapDeleteModal.dropRowKeysp)}\r\n commonState={this.state.commonState}\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nWarrantyPage.propTypes = {\r\n authenticationState: PropTypes.object.isRequired,\r\n commonState: PropTypes.object.isRequired,\r\n warranty: PropTypes.object.isRequired\r\n};\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n const warranty = { id: ownProps.match.params.id, idWarrantyType: -1, name: '', code: '', companyId: '', isActive: true, warrantyCoverageCaps: [] };\r\n\r\n return {\r\n commonState: state.commonState,\r\n authenticationState: state.authenticationState,\r\n warranty: warranty\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(warrantyActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch),\r\n authenticationActions: bindActionCreators(authenticationActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(WarrantyPage);\r\n","import React from 'react';\r\nimport { Button, Col, Row } from 'react-bootstrap';\r\nimport { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport notificationPopUp from '../../../NotificationPopUp';\r\n\r\nimport ConfirmationModal from '../../common/ConfirmationModal';\r\nimport CheckboxInput from '../../common/checkBox/CheckboxInput';\r\nimport TextInput from '../../common/TextInput';\r\nimport TooltipFormatter from '../../common/TooltipFormatter';\r\n\r\nimport * as authenticationActions from '../../../actions/authenticationActions';\r\nimport * as commonActions from '../../../actions/commonActions';\r\nimport * as warrantyActions from '../../../actions/warrantyActions';\r\n\r\n\r\nclass WarrantiesPage extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n authenticationState: this.props.authenticationState,\r\n commonState: this.props.commonState,\r\n pagingModel: this.props.pagingModel,\r\n warrantyDeleteModal: {\r\n show: false,\r\n dropRowKeysp: []\r\n }\r\n };\r\n\r\n if (!authenticationActions.verifyAuthentication(this.state.authenticationState, this.props.history)) {\r\n return;\r\n }\r\n\r\n this.gridActive = this.gridActive.bind(this);\r\n this.gridCompany = this.gridCompany.bind(this);\r\n this.gridOnRowClick = this.gridOnRowClick.bind(this);\r\n this.onPageChange = this.onPageChange.bind(this);\r\n this.onSortChange = this.onSortChange.bind(this);\r\n this.redirectToWarrantyPage = this.redirectToWarrantyPage.bind(this);\r\n this.search = this.search.bind(this);\r\n this.showHideWarrantyDeleteModal = this.showHideWarrantyDeleteModal.bind(this);\r\n this.updateFilters = this.updateFilters.bind(this);\r\n this.warrantyInsertButton = this.warrantyInsertButton.bind(this);\r\n this.warrantyConfirmDelete = this.warrantyConfirmDelete.bind(this);\r\n this.warrantyDelete = this.warrantyDelete.bind(this);\r\n this.tooltipFormatter = this.tooltipFormatter.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n if (this.state.pagingModel.items === null || this.state.pagingModel.items.length === 0) {\r\n this.props.actions.loadWarranties(this.props.pagingModel).then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento delle Prestazioni');\r\n });\r\n }\r\n if (!this.state.commonState.configuration || this.state.commonState.configuration.cities === null || this.state.commonState.configuration.cities.length === 0) {\r\n this.props.commonActions.loadConfiguration().then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel caricamento della configurazione base');\r\n });\r\n }\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.authenticationState !== prevState.authenticationState || nextProps.commonState !== prevState.commonState ||\r\n nextProps.pagingModel !== prevState.pagingModel) {\r\n const appPaginModel = Object.assign({}, prevState.pagingModel,\r\n {\r\n items: nextProps.pagingModel.items,\r\n page: nextProps.pagingModel.page,\r\n itemsPerPage: nextProps.pagingModel.itemsPerPage,\r\n total: nextProps.pagingModel.total\r\n });\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState, commonState: nextProps.commonState, pagingModel: appPaginModel });\r\n }\r\n return null;\r\n }\r\n\r\n redirectToWarrantyPage() {\r\n this.props.history.push('warranty');\r\n }\r\n\r\n updateFilters(event) {\r\n const state = Object.assign({}, this.state);\r\n state.pagingModel[event.target.name] = event.target.value;\r\n this.setState(state);\r\n }\r\n\r\n search() {\r\n this.props.actions.loadWarranties(this.state.pagingModel).then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nella ricerca');\r\n });\r\n }\r\n\r\n onPageChange(page, sizePerPage) {\r\n var nPaging = Object.assign({}, this.state.pagingModel, { page: page, itemsPerPage: sizePerPage });\r\n this.props.actions.loadWarranties(nPaging).then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel cambio pagina');\r\n });\r\n }\r\n\r\n onSortChange(sortName, sortOrder) {\r\n var nPaging = Object.assign({}, this.state.pagingModel, { sortName: sortName, sortOrder: sortOrder });\r\n this.props.actions.loadWarranties(nPaging).then(() => {\r\n }).catch(error => {\r\n notificationPopUp.error('Problemi nel sorting');\r\n });\r\n }\r\n\r\n gridOnRowClick(row) {\r\n this.props.history.push('warranty/' + row.id);\r\n }\r\n\r\n gridCompany(cell, row) {\r\n for (var i = 0; i < this.props.commonState.configuration.companies.length; i++) {\r\n if (this.props.commonState.configuration.companies[i].id === cell) {\r\n return this.props.commonState.configuration.companies[i].name;\r\n }\r\n }\r\n return '---';\r\n }\r\n\r\n gridActive(cell, row) {\r\n return (\r\n
\r\n );\r\n }\r\n\r\n warrantyInsertButton() {\r\n return ();\r\n }\r\n\r\n warrantyDelete(ids) {\r\n this.props.actions.deleteWarranty(ids[0]).then(() => {\r\n notificationPopUp.success('Prestazione Eliminata');\r\n this.showHideWarrantyDeleteModal([]);\r\n }).catch(error => {\r\n notificationPopUp.error(error);\r\n });\r\n }\r\n\r\n showHideWarrantyDeleteModal(dropRowKeys) {\r\n const warrantyDeleteModal = Object.assign({}, this.state.warrantyDeleteModal);\r\n warrantyDeleteModal.show = !warrantyDeleteModal.show;\r\n warrantyDeleteModal.dropRowKeysp = dropRowKeys;\r\n this.setState(Object.assign({}, this.state, { warrantyDeleteModal }));\r\n }\r\n\r\n warrantyConfirmDelete(next, dropRowKeys) {\r\n this.showHideWarrantyDeleteModal(dropRowKeys);\r\n }\r\n\r\n lockedOutFormat(cell, row) {\r\n if (cell)\r\n return 'NON MODIFICABILE';\r\n return 'MODIFICABILE';\r\n }\r\n\r\n tooltipFormatter(cell, row) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n render() {\r\n const gridOptions = {\r\n sizePerPage: this.state.pagingModel.itemsPerPage,\r\n page: this.state.pagingModel.page,\r\n sizePerPageList: [5, 10, 20, 50],\r\n onRowClick: this.gridOnRowClick,\r\n onPageChange: this.onPageChange,\r\n onSortChange: this.onSortChange,\r\n insertBtn: this.warrantyInsertButton,\r\n deleteText: 'Elimina',\r\n handleConfirmDeleteRow: this.warrantyConfirmDelete,\r\n };\r\n\r\n\r\n return (\r\n
\r\n

Gestione Prestazioni

\r\n
\r\n
Filtri
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Nome Compagnia\r\n Nome\r\n Codice\r\n Tipo\r\n Ente\r\n Attiva\r\n Modificabile\r\n \r\n
\r\n this.warrantyDelete(this.state.warrantyDeleteModal.dropRowKeysp)}\r\n commonState={this.state.commonState} />\r\n
\r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n authenticationState: state.authenticationState,\r\n commonState: state.commonState,\r\n pagingModel: state.warrantyState\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n actions: bindActionCreators(warrantyActions, dispatch),\r\n commonActions: bindActionCreators(commonActions, dispatch)\r\n };\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(WarrantiesPage);\r\n","import { Spin, BackTop } from 'antd';\r\nimport React from 'react';\r\nimport { Route, Switch } from 'react-router';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport * as authenticationActions from '../actions/authenticationActions';\r\n\r\nimport asyncComponent from '../AsyncComponent';\r\n\r\nimport ProductsPage from './registry/network/ProductsPage';\r\nimport QuotationPage from './emission/QuotationPage';\r\nimport RendicontazionePage from './reporting/RendicontazionePage';\r\nimport RendicontazioneXSocioSostenitorePage from './reporting/RendicontazioneXSocioSostenitorePage';\r\nimport TariffPage from './registry/tariff/edit/TariffPage';\r\nimport TariffGroupsPage from './registry/tariff/TariffGroupsPage';\r\nimport TariffsPage from './registry/tariff/TariffsPage';\r\nimport UsersPage from './registry/user/UsersPage';\r\nimport UserPage from './registry/user/edit/UserPage';\r\nimport UserBasicPage from './registry/user/basic/UserBasicPage';\r\nimport WarrantyPage from './registry/warranty/edit/WarrantyPage';\r\nimport WarrantiesPage from './registry/warranty/WarrantiesPage';\r\n\r\n// *************************************************************\r\n// Set the locale for all the moment Objects (moment is a static Object)\r\nimport moment from 'moment';\r\nimport 'moment/locale/it';\r\nmoment.locale('it');\r\n// *************************************************************\r\n\r\n// *************************************************************\r\n// Just a sample to test Lazy Loading\r\n// import AgentPage from './registry/agent/edit/AgentPage'\r\nconst AgentPage = asyncComponent(() => import('./registry/agent/edit/AgentPage').then(module => module.default));\r\nconst AgentsPage = asyncComponent(() => import('./registry/agent/AgentsPage').then(module => module.default));\r\nconst CertificazioneIncassiPage = asyncComponent(() => import('./reporting/CertificazioneIncassiPage').then(module => module.default));\r\nconst CompanyPage = asyncComponent(() => import('./registry/company/edit/CompanyPage').then(module => module.default));\r\nconst CompaniesPage = asyncComponent(() => import('./registry/company/CompaniesPage').then(module => module.default));\r\nconst ContractManagerPage = asyncComponent(() => import('./management/ContractManagerPage').then(module => module.default));\r\nconst ContractResumePage = asyncComponent(() => import('./management/ContractResumePage').then(module => module.default));\r\nconst CustomerPage = asyncComponent(() => import('./registry/customer/edit/CustomerPage').then(module => module.default));\r\nconst CustomersPage = asyncComponent(() => import('./registry/customer/CustomersPage').then(module => module.default));\r\nconst CreateMyQuotationPage = asyncComponent(() => import('./quotation/CreateMyQuotationPage').then(module => module.default));\r\nconst EmissionPage = asyncComponent(() => import('./emission/EmissionPage').then(module => module.default));\r\nconst EstrattoContoPage = asyncComponent(() => import('./reporting/EstrattoContoPage').then(module => module.default));\r\nconst EstrattoContoIncassiPage = asyncComponent(() => import('./reporting/EstrattoContoIncassiPage').then(module => module.default));\r\nconst EstrattoContoQuoteSociSostenitoriPage = asyncComponent(() => import('./reporting/EstrattoContoQuoteSociSostenitoriPage').then(module => module.default));\r\nconst EstrattoContoReferentePage = asyncComponent(() => import('./reporting/EstrattoContoReferentePage').then(module => module.default));\r\nconst EstrattoContoSociSostenitoriPage = asyncComponent(() => import('./reporting/EstrattoContoSociSostenitoriPage').then(module => module.default));\r\nconst EstrattoContoPianoFlexPage = asyncComponent(() => import('./reporting/EstrattoContoPianoFlexPage').then(module => module.default));\r\nconst EstrazioneAnagrafichePage = asyncComponent(() => import('./reporting/EstrazioneAnagrafichePage').then(module => module.default));\r\nconst Header = asyncComponent(() => import('./common/Header').then(module => module.default));\r\nconst HomePage = asyncComponent(() => import('./HomePage').then(module => module.default));\r\nconst LoginPage = asyncComponent(() => import('./authentication/LoginPage').then(module => module.default));\r\nconst LoginWithTokenPage = asyncComponent(() => import('./authentication/LoginWithTokenPage').then(module => module.default));\r\nconst LoginSsoPage = asyncComponent(() => import('./authentication/LoginSsoPage').then(module => module.default));\r\nconst LogoffPage = asyncComponent(() => import('./authentication/LogoffPage').then(module => module.default));\r\nconst NetworkPage = asyncComponent(() => import('./registry/network/edit/NetworkPage').then(module => module.default));\r\nconst NetworksPage = asyncComponent(() => import('./registry/network/NetworksPage').then(module => module.default));\r\nconst PasswordForgotten = asyncComponent(() => import('./authentication/PasswordForgotten').then(module => module.default));\r\nconst PasswordReset = asyncComponent(() => import('./authentication/PasswordReset').then(module => module.default));\r\n\r\n// *************************************************************\r\n\r\n\r\nclass App extends React.Component {\r\n\r\n constructor(props, context) {\r\n super(props, context);\r\n\r\n this.state = {\r\n authenticationState: Object.assign({}, this.props.authenticationState),\r\n commonState: this.props.commonState\r\n };\r\n\r\n this.logOut = this.logOut.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n return Object.assign({}, prevState, { authenticationState: nextProps.authenticationState, commonState: nextProps.commonState });\r\n }\r\n\r\n logOut() {\r\n this.props.authentication.logout().then(() => {\r\n window.location.href = process.env.REACT_APP_FE + '#/login';\r\n }).catch(error => {\r\n window.location.href = process.env.REACT_APP_FE + '#/login';\r\n });\r\n }\r\n\r\n render() {\r\n var isLoggedIn = (this.state.authenticationState !== undefined && this.state.authenticationState.token !== undefined && this.state.authenticationState.token !== '');\r\n var blocking = this.state.commonState.blocking > 0;\r\n\r\n return (\r\n \r\n {isLoggedIn ?
: ''}\r\n \r\n
\r\n \r\n {/* Pages */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* Authentication*/}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* NoMatch Pattern*/}\r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nfunction mapStateToProps(state, ownProps) {\r\n return {\r\n authenticationState: state.authenticationState,\r\n commonState: state.commonState\r\n };\r\n}\r\n\r\nfunction mapDispatchToProps(dispatch) {\r\n return {\r\n authentication: bindActionCreators(authenticationActions, dispatch)\r\n };\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(App);\r\n","import * as consts from '../constants';\r\nimport commonFunctions from '../commonFunctions';\r\n/**\r\n * This is the global application state rappresentation.\r\n */\r\nexport default {\r\n authenticationState: {\r\n token: '',\r\n username: '',\r\n userId: -1,\r\n roleId: -1,\r\n network: {\r\n id: -1\r\n }\r\n },\r\n networkState: {\r\n items: [],\r\n page: 1,\r\n itemsPerPage: 10,\r\n total: 0,\r\n codice: '',\r\n name: '',\r\n vatCode: '',\r\n dataInizioAttivita: null,\r\n dataFineAttivita: null\r\n },\r\n tariffState: {\r\n items: [],\r\n page: 1,\r\n itemsPerPage: 10,\r\n total: 0,\r\n label: '',\r\n code: '',\r\n showClosed: false\r\n },\r\n tariffGroupState: {\r\n items: [],\r\n page: 1,\r\n itemsPerPage: 10,\r\n total: 0,\r\n name: '',\r\n code: ''\r\n },\r\n warrantyState: {\r\n items: [],\r\n page: 1,\r\n itemsPerPage: 10,\r\n total: 0,\r\n companyName: '',\r\n warrantyName: ''\r\n },\r\n agentState: {\r\n items: [],\r\n page: 1,\r\n itemsPerPage: 10,\r\n total: 0,\r\n name: '',\r\n surname: '',\r\n username: '',\r\n roleId: consts.AUTHENTICATION.USER_ROLE.NetworkAgent\r\n },\r\n customerState: {\r\n items: [],\r\n page: 1,\r\n itemsPerPage: 10,\r\n total: 0,\r\n businessName: '',\r\n firstName: '',\r\n lastName: '',\r\n taxCode: '',\r\n vatCode: ''\r\n },\r\n userState: {\r\n items: [],\r\n page: 1,\r\n itemsPerPage: 10,\r\n total: 0,\r\n name: '',\r\n roleId: -1,\r\n surname: '',\r\n username: ''\r\n },\r\n contractState: {\r\n items: [],\r\n page: 1,\r\n itemsPerPage: 10,\r\n total: 0,\r\n agentId: -1,\r\n assicuratoName: '',\r\n clientName: '',\r\n contractStatus: -1,\r\n creationDateDa: null,\r\n creationDateA: null,\r\n expireDateDa: null,\r\n expireDateA: null,\r\n inScadenza: false,\r\n networkId: -1,\r\n productId: -1,\r\n proposalSequence: '',\r\n sequence: '',\r\n tariffGroupId: -1\r\n },\r\n emissionState: commonFunctions.createContract(),\r\n commonState: {\r\n blocking: 0,\r\n configuration: {\r\n conventions: [],\r\n subscriptions: [],\r\n countries: [],\r\n cities: [],\r\n counties: [],\r\n companies: []\r\n },\r\n static: {\r\n businessRoleTypes: consts.GENERIC_ENUM.businessRoleTypes.sort(function (a, b) {\r\n if (a.text < b.text) return -1;\r\n if (a.text > b.text) return 1;\r\n return 0;\r\n }),\r\n contractPeriodModeTypes: consts.GENERIC_ENUM.contractPeriodModeTypes,\r\n fractionationType: consts.GENERIC_ENUM.fractionationType,\r\n paymentType: consts.GENERIC_ENUM.paymentType,\r\n personType: consts.GENERIC_ENUM.personType,\r\n familyTreeTypes: consts.GENERIC_ENUM.familyTreeTypes.sort(function (a, b) {\r\n if (a.text < b.text) return -1;\r\n if (a.text > b.text) return 1;\r\n return 0;\r\n }),\r\n networkCategory: {\r\n networkMaster: consts.GENERIC_ENUM.networkCategory.networkMaster,\r\n networkType: consts.GENERIC_ENUM.networkCategory.networkType,\r\n networkGiuridicForm: consts.GENERIC_ENUM.networkCategory.networkGiuridicForm,\r\n networkSize: consts.GENERIC_ENUM.networkCategory.networkSize,\r\n },\r\n sex: consts.GENERIC_ENUM.sex\r\n }\r\n }\r\n};","import { combineReducers } from 'redux';\r\nimport authenticationReducer from './authenticationReducer';\r\nimport commonReducer from './commonReducer';\r\nimport networkReducer from './networkReducer';\r\nimport tariffReducer from './tariffReducer';\r\nimport tariffGroupReducer from './tariffGroupReducer';\r\nimport warrantyReducer from './warrantyReducer';\r\nimport agentReducer from './agentReducer';\r\nimport emissionReducer from './emissionReducer';\r\nimport contractReducer from './contractReducer';\r\nimport userReducer from './userReducer';\r\nimport customerReducer from './customerReducer';\r\n\r\nconst rootReducer = combineReducers({\r\n agentState: agentReducer, \r\n authenticationState: authenticationReducer, \r\n commonState: commonReducer,\r\n contractState: contractReducer,\r\n customerState: customerReducer,\r\n emissionState: emissionReducer,\r\n networkState: networkReducer,\r\n tariffState: tariffReducer,\r\n tariffGroupState: tariffGroupReducer,\r\n userState: userReducer,\r\n warrantyState: warrantyReducer\r\n});\r\n\r\nexport default rootReducer;","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\n\r\nexport default function agentReducer(state = initialState.agentState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.LOAD_AGENTS_SUCCESS:\r\n return action.pagingModel;\r\n case consts.ACTONS.LOAD_AGENTS_FAILED:\r\n return initialState.agentState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\nimport * as noAuth from './initialState';\r\n\r\nexport default function authenticationReducer(state = initialState.authenticationState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.INIT_APP:\r\n if (action.authenticationState)\r\n return action.authenticationState;\r\n return state;\r\n case consts.ACTONS.LOGIN_SUCCESS:\r\n return action.authenticationState;\r\n case consts.ACTONS.LOGOUT_SUCCESS:\r\n return noAuth.default.authenticationState;\r\n\r\n default:\r\n return state;\r\n }\r\n}","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\n\r\nexport default function commonReducer(state = initialState.commonState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.SCREEN_LOCK_REQUEST:\r\n return Object.assign({}, state, { blocking: ++state.blocking });\r\n case consts.ACTONS.SCREEN_UNLOCK_REQUEST:\r\n return Object.assign({}, state, { blocking: --state.blocking });\r\n case consts.ACTONS.LOAD_CONFIGURATION_SUCCESS:\r\n return Object.assign({}, state, { configuration: action.configuration });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\n\r\nexport default function contractReducer(state = initialState.contractState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.LOAD_CONTRACTS_SUCCESS:\r\n return action.pagingModel;\r\n case consts.ACTONS.LOAD_CONTRACTS_FAILED:\r\n return initialState.contractState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\n\r\nexport default function customerReducer(state = initialState.customerState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.LOAD_CUSTOMERS_SUCCESS:\r\n return action.pagingModel;\r\n case consts.ACTONS.LOAD_CUSTOMERS_FAILED:\r\n return initialState.customerState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\n\r\nexport default function emissionReducer(state = initialState.emissionState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.UPDATE_CONTRAENTE:\r\n return Object.assign({}, state, action.emissionState);\r\n case consts.ACTONS.SAVE_CONTRACT_SUCCESS:\r\n return Object.assign({}, state, action.contract);\r\n\r\n default:\r\n return state;\r\n }\r\n}","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\n\r\nexport default function networkReducer(state = initialState.networkState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.LOAD_NETWORKS_SUCCESS:\r\n return action.pagingModel;\r\n case consts.ACTONS.LOAD_NETWORKS_FAILED:\r\n return initialState.networkState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\n\r\nexport default function tariffReducer(state = initialState.tariffState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.LOAD_TARIFFS_SUCCESS:\r\n return action.pagingModel;\r\n case consts.ACTONS.LOAD_TARIFFS_FAILED:\r\n return initialState.tariffState;\r\n default:\r\n return state;\r\n }\r\n}","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\n\r\nexport default function tariffGroupReducer(state = initialState.tariffGroupState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.LOAD_TARIFF_GROUPS_SUCCESS:\r\n return action.pagingModel;\r\n case consts.ACTONS.LOAD_TARIFF_GROUPS_FAILED:\r\n return initialState.tariffGroupState;\r\n default:\r\n return state;\r\n }\r\n}","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\n\r\nexport default function userReducer(state = initialState.agentState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.LOAD_USERS_SUCCESS:\r\n return action.pagingModel;\r\n case consts.ACTONS.LOAD_USERS_FAILED:\r\n return initialState.userState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import * as consts from '../constants';\r\nimport initialState from './initialState';\r\n\r\nexport default function warrantyReducer(state = initialState.warrantyState, action) {\r\n switch (action.type) {\r\n case consts.ACTONS.LOAD_WARRANTIES_SUCCESS:\r\n return action.pagingModel;\r\n case consts.ACTONS.LOAD_WARRANTIES_FAILED:\r\n return initialState.warrantyState;\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {createStore, applyMiddleware} from 'redux';\r\nimport rootReducer from '../reducers';\r\nimport thunk from 'redux-thunk';\r\n\r\nexport default function configureStore(initialState) {\r\n return createStore (\r\n rootReducer,\r\n initialState,\r\n applyMiddleware(thunk)\r\n );\r\n}","// polyfill all `core-js` features:\r\nimport 'core-js';\r\nimport React from 'react';\r\nimport { render } from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { Route } from 'react-router';\r\nimport { HashRouter } from 'react-router-dom';\r\n\r\nimport App from './components/App';\r\nimport configureStore from './store/configureStore';\r\n\r\nimport { lookForCookie } from './actions/authenticationActions';\r\n\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport 'react-bootstrap-table/dist/react-bootstrap-table.min.css';\r\nimport 'antd/dist/antd.css';\r\nimport 'font-awesome/css/font-awesome.min.css';\r\nimport './styles/antd.css';\r\nimport './styles/header.css';\r\nimport './styles/custom.css';\r\n\r\n\r\nimport initialState from './reducers/initialState';\r\nconst store = configureStore(initialState);\r\nstore.dispatch(lookForCookie());\r\n\r\nrender(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n"],"sourceRoot":""}