sintesisNacional = {
const datosPorComuna = comunas.map(comuna => ({comuna:comuna, datos:dataComuna(comuna), sintesis: resumir(comuna)}));
const comunasBajaVotacion1Vuelta = datosPorComuna.filter(d => d.sintesis.razonPlebiscito1Vuelta >= 1);
const votosBajoPlebiscito = comunasBajaVotacion1Vuelta.reduce((memo,d) => memo + -d.sintesis.total1Vuelta +d.sintesis.totalPlebiscito,0)
const comunasAltaVotacion1Vuelta = datosPorComuna.filter(d => d.sintesis.razonPlebiscito1Vuelta < 1);
const votosSobrePlebiscito = comunasAltaVotacion1Vuelta.reduce((memo,d) => memo + d.sintesis.total1Vuelta - d.sintesis.totalPlebiscito,0)
const votosParisi = datosPorComuna.reduce((memo,d) => memo + d.sintesis.parisi,0)
const focoCrecimiento = [];
const focoParisi = [];
let accum = 0;
_.chain(comunasBajaVotacion1Vuelta)
.sortBy(d => -(d.sintesis.totalPlebiscito - d.sintesis.total1Vuelta))
.each(d => {
accum += (d.sintesis.totalPlebiscito - d.sintesis.total1Vuelta)
if (accum < votosBajoPlebiscito * porcentajeCrecimiento) {
focoCrecimiento.push(d)
}
})
.value();
accum = 0;
_.chain(datosPorComuna)
.sortBy(d => -d.sintesis.parisi)
.each(d => {
accum += (d.sintesis.parisi)
if (accum < votosParisi * porcentajeParisi) {
focoParisi.push(d)
}
})
.value();
return {
comunasBajaVotacion1Vuelta: comunasBajaVotacion1Vuelta,
votosBajoPlebiscito: votosBajoPlebiscito,
comunasAltaVotacion1Vuelta: comunasAltaVotacion1Vuelta,
votosSobrePlebiscito: votosSobrePlebiscito,
focoCrecimiento: focoCrecimiento,
votosParisi: votosParisi,
focoParisi: focoParisi
}
}