POLITICA
Al igual que Bullrich, Francos pidió que Espert de explicaciones sobre su vínculo con “Fred” Machado

En un acto del foro Agribusiness Amcham, Guillermo Francos tomó la palabra para pedirle a Espert que “de una explicación clara y contundente” sobre su vínculo con el empresario detenido Fred Machado. Francos sostuvo que “no es una situación menor en medio de una campaña electoral” y que la ciudadanía merece conocer la verdad detrás de las acusaciones.
Sin embargo, el jefe de Gabinete dejó en claro que no considera que Espert deba abandonar su candidatura: “No creo que tenga que dar un paso al costado, salvo que diga que tenga algún tipo de responsabilidad”, dijo. La posición sugiere que, aunque las declaraciones son exigentes, el Gobierno no está dispuesto a romper con el candidato libertario salvo que surjan pruebas concluyentes.
Milei defendió a Espert, negó que haya corrupción en su Gobierno y denunció “operaciones” del kirchnerismo
La controversia se origina en una denuncia presentada por Juan Grabois que acusa a Espert de haber recibido US$ 200.000 de parte de Machado durante su campaña de 2019. El empresario, detenido y con pedido de extradición solicitado por Estados Unidos, figura como involucrado en causas de narcotráfico y lavado de dinero.
Francos también se refirió a los pedidos de la oposición para que Espert deje la presidencia de la comisión de Presupuesto y Hacienda en la Cámara de Diputados. Dijo que tales reclamos “formen parte de la política a días de las elecciones” y que las mayorías “se muestran más combativas” ante candidatos minoritarios.
La entrada Al igual que Bullrich, Francos pidió que Espert de explicaciones sobre su vínculo con “Fred” Machado se publicó primero en Nexofin.
Fred Machado,Guillermo Francos,José Luis Espert,Patricia bullrich
POLITICA
La Justicia confirmó que José Luis Espert viajó 35 veces en aviones vinculados al narco “Fred” Machado

La entrada La Justicia confirmó que José Luis Espert viajó 35 veces en aviones vinculados al narco “Fred” Machado se publicó primero en Nexofin.
Aviones,Fred Machado,José Luis Espert,Narcotráfico
POLITICA
Uno por uno, cómo votaron los senadores el veto de Milei a la ley Garrahan

`
: `
`
}
${bloque}
`;
targetContainer.appendChild(card);
}
function createHemicicleSmall(nAfirmativo, nNegativo, nAbstencion, nAusente) {
const hemicycle = document.querySelector(‘.votos-senadores__hemiciclo.small’);
hemicycle.innerHTML = »; // Clear previous content.
const centerX = 300;
const baseY = 450;
const numberOfRows = 5;
// Array of seats per row (from outer to inner)
const seatsPerRow = [21, 18, 16, 12, 7];
const verticalOffset = 0;
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);
const totalVotes = nAfirmativo + nNegativo + nAbstencion + nAusente;
// Instead of percentage-based rounding, we’ll compute a per-row distribution
// using floor() and then distribute any remaining seats based on the remainders.
let rowSeatCounts = seatsPerRow.map((seatsInRow) => {
// Compute the exact (floating point) allocation for each category.
const exactAfirmativo = (nAfirmativo * seatsInRow) / totalSeats;
const exactNegativo = (nNegativo * seatsInRow) / totalSeats;
const exactAbstencion = (nAbstencion * seatsInRow) / totalSeats;
const exactAusente = (nAusente * seatsInRow) / totalSeats;
// Take floor values.
let rowAfirmativo = Math.floor(exactAfirmativo);
let rowNegativo = Math.floor(exactNegativo);
let rowAbstencion = Math.floor(exactAbstencion);
let rowAusente = Math.floor(exactAusente);
let assigned = rowAfirmativo + rowNegativo + rowAbstencion + rowAusente;
let diff = seatsInRow – assigned;
// Create an array of remainders along with category identifiers.
let remainders = [{
cat: «afirmativo»,
remainder: exactAfirmativo – rowAfirmativo
},
{
cat: «negativo»,
remainder: exactNegativo – rowNegativo
},
{
cat: «abstencion»,
remainder: exactAbstencion – rowAbstencion
},
{
cat: «ausente»,
remainder: exactAusente – rowAusente
}
];
// Sort descending by remainder.
remainders.sort((a, b) => b.remainder – a.remainder);
// Distribute the remaining seats one by one to the categories with the highest remainders.
while (diff > 0) {
for (let r of remainders) {
if (diff <= 0) break;
switch (r.cat) {
case «afirmativo»:
rowAfirmativo++;
break;
case «negativo»:
rowNegativo++;
break;
case «abstencion»:
rowAbstencion++;
break;
case «ausente»:
rowAusente++;
break;
}
diff–;
}
}
return {
afirmativo: rowAfirmativo,
negativo: rowNegativo,
abstencion: rowAbstencion,
ausente: rowAusente
};
});
// Now, using your inverted loop order (columns first, then rows)
const maxSeatsInRow = seatsPerRow[0]; // maximum seats in the outer row
// For each seat position (by column, then row), assign the color based on that row’s distribution.
for (let col = 0; col < maxSeatsInRow; col++) {
for (let row = 0; row < numberOfRows; row++) {
if (col < seatsPerRow[row]) { // only if this row has a seat at this column
const seatsInThisRow = seatsPerRow[row];
const radius = 170 – row * (30 – verticalOffset);
const angleRange = Math.PI; // semicircle
const angleStep = (seatsInThisRow > 1) ? angleRange / (seatsInThisRow – 1) : 0;
const angle = (Math.PI – angleRange) / 2 + col * angleStep;
const x = centerX + radius * Math.cos(angle);
const y = baseY – radius * Math.sin(angle);
// For this row, assign colors in order:
// First use available «afirmativo», then «negativo», then «abstencion», then «ausente»
let colorClass=»color-empty»;
if (rowSeatCounts[row].afirmativo > 0) {
colorClass=»color-afirmativo»;
rowSeatCounts[row].afirmativo–;
} else if (rowSeatCounts[row].negativo > 0) {
colorClass=»color-negativo»;
rowSeatCounts[row].negativo–;
} else if (rowSeatCounts[row].abstencion > 0) {
colorClass=»color-abstencion»;
rowSeatCounts[row].abstencion–;
} else if (rowSeatCounts[row].ausente > 0) {
colorClass=»color-ausente»;
rowSeatCounts[row].ausente–;
}
const seat = document.createElement(‘div’);
seat.classList.add(‘seat’, colorClass);
seat.style.left = `${x}px`;
seat.style.top = `${y}px`;
hemicycle.appendChild(seat);
}
}
}
/* // Set the legend text (sin mostrar Ley Aprobada o no aprobada)
document.querySelector(‘#voto-summary’).innerHTML = `
Afirmativo: ${nAfirmativo} |
Negativo: ${nNegativo}
Abstención: ${nAbstencion} |
Ausente: ${nAusente}
`; */
/* // — Update Legend —
const leyText = nAfirmativo > nNegativo ? «Ley Aprobada» : «Ley no aprobada»;
const resultsText=»shshs»;
document.querySelector(«#voto-summary»).innerHTML = leyText + resultsText; */
/*
// Set the legend text. Mayoría simple
const leyText = nAfirmativo > nNegativo ? ‘Ley Aprobada’ : ‘Ley no aprobada’;
document.querySelector(‘#voto-summary’).innerHTML = `
Afirmativo: ${nAfirmativo} |
Negativo: ${nNegativo}
Abstención: ${nAbstencion} |
Ausente: ${nAusente}
` + ‘
‘ + leyText + ‘
‘; */
// Set the legend text. Dos tercios de los presentes (******EDITAR LEYENDA*****)
function votosNecesarios(presentes) {
return Math.ceil((2 / 3) * presentes);
}
const leyText = nAfirmativo >= (votosNecesarios(72 – nAusente)) ? ‘Aprobada’ : ‘Rechazada’;
document.querySelector(‘#voto-summary’).innerHTML = `
Afirmativo: ${nAfirmativo} |
Negativo: ${nNegativo}
Abstención: ${nAbstencion} |
Ausente: ${nAusente}
` + ‘
‘ + leyText + ‘
‘;
}
// Creates the big hemiciclo visualization.
function createHemicicleBig(nAfirmativo, nNegativo, nAbstencion, nAusente) {
const hemicycle = document.querySelector(‘.votos-senadores__hemiciclo.big’);
hemicycle.innerHTML = »; // Clear previous content.
const centerX = 300;
const baseY = 450;
const numberOfRows = 5;
// Array of seats per row (outer to inner; total should be 257)
const seatsPerRow = [21, 18, 16, 11, 6];
const verticalOffset = 2;
const totalSeats = seatsPerRow.reduce((a, b) => a + b, 0);
// Raw vote counts must sum to totalSeats (257)
const totalVotes = nAfirmativo + nNegativo + nAbstencion + nAusente;
if (totalVotes !== totalSeats) {
console.warn(«Total votes (» + totalVotes + «) do not equal total seats (» + totalSeats + «).»);
}
console.log(nAfirmativo, nNegativo, nAbstencion, nAusente, totalSeats, totalVotes);
// — Per-Row Distribution Using Absolute Counts —
// For each row, compute the exact allocation for each vote category based on its fraction of the total seats.
let rowSeatCounts = seatsPerRow.map(seatsInRow => {
const exactA = (nAfirmativo / totalSeats) * seatsInRow;
const exactN = (nNegativo / totalSeats) * seatsInRow;
const exactAb = (nAbstencion / totalSeats) * seatsInRow;
const exactAu = (nAusente / totalSeats) * seatsInRow;
let rowA = Math.floor(exactA);
let rowN = Math.floor(exactN);
let rowAb = Math.floor(exactAb);
let rowAu = Math.floor(exactAu);
let assigned = rowA + rowN + rowAb + rowAu;
let diff = seatsInRow – assigned;
// Create an array of remainders for each category.
let remainders = [{
cat: «afirmativo»,
rem: exactA – rowA
},
{
cat: «negativo»,
rem: exactN – rowN
},
{
cat: «abstencion»,
rem: exactAb – rowAb
},
{
cat: «ausente»,
rem: exactAu – rowAu
}
];
// Sort the remainders in descending order.
remainders.sort((a, b) => b.rem – a.rem);
// Distribute any leftover seats one by one.
while (diff > 0) {
for (let r of remainders) {
if (diff <= 0) break;
switch (r.cat) {
case «afirmativo»:
rowA++;
break;
case «negativo»:
rowN++;
break;
case «abstencion»:
rowAb++;
break;
case «ausente»:
rowAu++;
break;
}
diff–;
}
}
return {
afirmativo: rowA,
negativo: rowN,
abstencion: rowAb,
ausente: rowAu
};
});
// — Global Correction —
// Sum the allocated seats for each category across all rows.
let globalA = rowSeatCounts.reduce((sum, row) => sum + row.afirmativo, 0);
let globalN = rowSeatCounts.reduce((sum, row) => sum + row.negativo, 0);
let globalAb = rowSeatCounts.reduce((sum, row) => sum + row.abstencion, 0);
let globalAu = rowSeatCounts.reduce((sum, row) => sum + row.ausente, 0);
// For each category, if the global total is less than the raw count, add the missing seats to the outer row (row 0).
if (globalA < nAfirmativo) {
rowSeatCounts[0].afirmativo += (nAfirmativo – globalA);
}
if (globalN < nNegativo) {
rowSeatCounts[0].negativo += (nNegativo – globalN);
}
if (globalAb < nAbstencion) {
rowSeatCounts[0].abstencion += (nAbstencion – globalAb);
}
if (globalAu < nAusente) {
rowSeatCounts[0].ausente += (nAusente – globalAu);
}
// — Seat Placement Using Inverted Loop Order —
const maxSeatsInRow = seatsPerRow[0];
for (let col = 0; col < maxSeatsInRow; col++) {
for (let row = 0; row < numberOfRows; row++) {
if (col < seatsPerRow[row]) { // Only process if this row has a seat at the current column.
const seatsInThisRow = seatsPerRow[row];
const radius = 300 – row * (55 – verticalOffset);
const angleRange = Math.PI; // semicircle
const angleStep = (seatsInThisRow > 1) ? angleRange / (seatsInThisRow – 1) : 0;
const angle = (Math.PI – angleRange) / 2 + col * angleStep;
const x = centerX + radius * Math.cos(angle);
const y = baseY – radius * Math.sin(angle);
// For the current row, assign the color in order: afirmativo, then negativo, then abstencion, then ausente.
let colorClass=»color-empty»;
if (rowSeatCounts[row].afirmativo > 0) {
colorClass=»color-afirmativo»;
rowSeatCounts[row].afirmativo–;
} else if (rowSeatCounts[row].negativo > 0) {
colorClass=»color-negativo»;
rowSeatCounts[row].negativo–;
} else if (rowSeatCounts[row].abstencion > 0) {
colorClass=»color-abstencion»;
rowSeatCounts[row].abstencion–;
} else if (rowSeatCounts[row].ausente > 0) {
colorClass=»color-ausente»;
rowSeatCounts[row].ausente–;
}
const seat = document.createElement(‘div’);
seat.classList.add(‘seat’, colorClass);
seat.style.left = `${x}px`;
seat.style.top = `${y}px`;
hemicycle.appendChild(seat);
}
}
}
}
// Go-to-top button functionality.
document.addEventListener(‘DOMContentLoaded’, function() {
const goToTopButton = document.querySelector(‘.votos-senadores__go-to-top’);
const targetElement = document.querySelector(‘.votos-senadores’);
goToTopButton.addEventListener(‘click’, function() {
targetElement.scrollIntoView({
behavior: ‘smooth’
});
});
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
goToTopButton.style.display = entry.isIntersecting ? ‘block’ : ‘none’;
});
}, {
root: null,
rootMargin: ‘0px’,
threshold: 0.1
});
observer.observe(targetElement);
// Attach the toggle listener to each vote button.
const toggleBtns = document.getElementsByClassName(‘votos-senadores__voto-btn’);
for (let i = 0; i < toggleBtns.length; i++) {
toggleBtns[i].addEventListener(‘click’, function() {
this.classList.toggle(‘active’);
const panel = this.nextElementSibling;
panel.style.maxHeight = panel.style.maxHeight ? null : ‘14000px’;
});
}
// Now simulate a click on each button from within DOMContentLoaded.
// This will trigger the listener and expand each panel on load.
for (let i = 0; i < toggleBtns.length; i++) {
toggleBtns[i].click();
}
});
POLITICA
Martín Lousteau explicó el rechazo a los vetos con una chicana sobre Espert

En una encendida defensa a las leyes de financiamiento universitario y de emergencia pediátrica, el senador Martín Lousteau apuntó hoy contra el “no hay plata” del Gobierno y a modo de chicana planteó: “Fred Machado paga 20 años de un residente”. Bajo esa misma línea, el legislador se refirió al escándalo de la Andis y cuestionó la quita de retenciones al campo que duró 72 horas. “En tres días se gastaron 12 años del presupuesto del Garrahan”, denunció el presidente de la UCR al exponer esta tarde en la Cámara alta durante la sesión que culminó con el rechazo de los vetos presidenciales de ambas iniciativas.
“Este Presidente, que se siente difamado, agraviado, atacado cuando alguien habla de sus perros, difama a los médicos que atienden a los hijos con enfermedades graves de un montón de padres”, señaló Lousteau al tomar la palabra en el recinto.
“Esto es para ver la disociación emocional… Ataca a los médicos, a los padres de chicos que estaban atravesando enfermedades terminales o muy graves, pero él se siente agraviado cuando alguien habla mal de sus perros”, arremetió el senador radical contra Milei.
Acto seguido, Lousteau se propuso rebatir el concepto de “no hay plata” que utiliza el Gobierno para rechazar todas aquellas iniciativas que, según esgrime, comprometen el equilibrio fiscal, como, por ejemplo, las leyes de financiamiento universitario y de emergencia pediátrica.
“Dicen que no hay plata. Un médico residente, no un becario, como dice el Jefe de Gabinete, gana alrededor de 800 dólares y un Fred Machado paga 20 años de un residente”, abordó con ironía Lousteau, en alusión directa a la polémica que recae sobre el diputado libertario José Luis Espert, luego de que el dirigente social Juan Grabois lo denunciara penalmente y lo acusara de recibir una transferencia US$200.000 durante la campaña de 2019 por parte de Machado, detenido y acusado por la justicia de Estados Unidos de narcotráfico y lavado de dinero.
Lousteau ya se había expresado más temprano sobre esa cuestión por redes sociales. Desde su cuenta de X el legislador compartió una captura de un posteo del Presidente en el que resaltaba la consigna de “tolerancia cero” junto a un spot de campaña en el que enumeraba las iniciativas propuestas por el oficialismo en materia de seguridad. “Vale para Espert”, preguntó Lousteau, en un dardo dirigido al candidato libertario y a la Casa Rosada.
En un paralelismo similar, Lousteau mencionó también en su discurso el escándalo de la Agencia de Discapacidad (Andis), que salpicó al Gobierno por un presunto entramado de corrupción en aquella cartera. “Las coimas que salieron en los audios, de 800 mil dólares por mes, pagan 1000 residentes mensuales”, planteó Lousteau.
Y en una nueva crítica objetó la medida de retenciones cero al campo que implementó el Ministerio de Economía por 72 horas. “Los 1500 millones de dólares que se gastó en tres días el Gobierno para tratar de conseguir dólares, pagan 12 años del presupuesto del Garrahan. En tres días se gastaron 12 años del presupuesto del Garrahan”, arremetió el dirigente radical.
El senador de la UCR, anticipó así su voto en rechazo a los vetos de financiamiento universitario y de emergencia pediátrica que la oposición consiguió rechazar este jueves en el Senado por amplia mayoría. “Hoy estamos diciendo que no, que hay cosas que no se pueden romper, porque no tienen repuesto. Cosas que ha costado mucho tiempo construir y que son muy buenas. La motosierra famosa, tala, rompe, corta, pero no construye nada nuevo”, condenó el senador.
“Hay otra manera de tener superávit y atender al mismo tiempo las necesidades, y esa manera es privilegiando lo importante, gestionando con transparencia y sin corrupción, planificando, acordando, diagnosticando e implementando. Nada de eso es lo que hace este Gobierno”, concluyó Lousteau.
leyes de financiamiento universitario y de emergencia pediátrica,,José Luis Espert,,denunciara penalmente,pic.twitter.com/DLCgofl0KR,October 2, 2025,Congreso Nacional,Conforme a,Congreso Nacional,,Hospitales pediátricos y universidades. Los senadores que desafiaron los vetos de Milei y cambios de votos llamativos,,Qué hacer con los decretos de necesidad y urgencia,,Tensión con los gobernadores. Fuerte caída de los giros automáticos de la Nación a las provincias en septiembre: el peor mes desde 2017
- POLITICA1 día ago
Cristina Kirchner chicaneó a Javier Milei: “La Recesión Avanza y los dólares se te siguen yendo”
- CHIMENTOS2 días ago
Mario Massaccesi casó a Manu Jove y su colega de TN: los desconocidos detalles de la boda
- POLITICA17 horas ago
Axel Kicillof pide deuda por US$1045 millones y pone a prueba la cohesión del PJ en la Legislatura