;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Alberto Bombig

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

A coragem de Serra não apareceu na terceira via de Simone Tebet

 O senador José Serra (PSDB-SP) durante sessão no Congresso - Pedro França/Agência Senado
O senador José Serra (PSDB-SP) durante sessão no Congresso Imagem: Pedro França/Agência Senado

Colunista do UOL

01/07/2022 11h47

A presidenciável da chamada terceira via desperdiçou uma oportunidade histórica de se diferenciar da "polarização" tão atacada pelo agrupamento que se intitula de centro. Simone Tebet (MDB-MS), a despeito das críticas desferidas à "PEC Kamikaze", votou junto com os bolsonaristas e os petistas pela aprovação do projeto no Senado. Assim também procedeu Tasso Jereissati (PSDB-CE), provável vice da senadora na disputa pelo Planalto.

"Esse projeto começou errado e termina errado", afirmou Simone Tebet antes de votar favoravelmente. Difícil entender o cálculo político da senadora. Apoiar o errado em detrimento do que é certo? Qual a razão? Faz algum sentido para os apoiadores de Lula o temor do desgaste eleitoral, seja por conta dos compromissos antigos assumidos pelo petista, seja pelas posições históricas adotadas pelo partido, seja pela dianteira nas pesquisas e a possibilidade de vencer ainda no segundo turno, que exige cautela em lugar de ousadia.

Mas isso tudo faz sentido para a terceira via? Tanta cautela assim para quem tem 2% na média das pesquisas eleitorais? Deixar de lado convicções com medo de ser emparedada pela política suicida de Jair Bolsonaro? Não teria valido a pena mostrar coerência com a Lei de Responsabilidade Fiscal, proposta pelo ex-presidente Fernando Henrique Cardoso, do PSDB? Ou com o Teto de Gastos legado pelo ex-presidente Michel Temer, do MDB?

Ao que parece, não. Simone Tebet escolheu se diluir na manada e virar as costas para as grandes contribuições que os líderes dos partidos que a sustentam apregoam ter deixado para o país. Preferiu votar a favor do que se colocar contra e puxar um importante debate eleitoral, ainda que tenha chamado a atenção para a maneira como a PEC foi escrita nas "coxas".

Fora da manada na qual a senadora escolheu se posicionar, quem acabou se sobressaindo foi, justa e ironicamente, um tucano histórico, José Serra, fundador do PSDB, ex-ministro de FHC e de Temer. "Há apenas poucas semanas o Senado descobriu que famílias am fome e esperam na fila de benefícios?", questionou o senador, com argumentos demolidores para a Casa, ao justificar nas redes sociais seu voto solitário contra a PEC.

É impossível dizer se faltou coragem para Simone Tebet, mas é inegável que ela não faltou a Serra na quarta-feira, 30. A mesma coragem que o senador teve ao combater a ditadura e defender a democracia nos anos 60 apareceu em seu voto na sessão repleta de simbolismos e de ameaças veladas à própria democracia, em mais uma dessas voltas da história. Era esse o PSDB que Simone Tebet deveria ter buscado para apoiar a sua pré-candidatura, o que nunca se omitiu nos momentos decisivos da redemocratização brasileira.

Mas esse PSDB foi engolido pela lógica da sobrevivência e sequer consegue valorizar o legado do próprio Serra, saudá-lo como um grande legislador (provavelmente o mais profícuo da atual legislatura) e um formulador de políticas públicas eficazes, como a quebra de patentes de medicamentos e os mutirões do Ministério da Saúde. Em sentido contrário, o PSDB-SP deixou Serra sem qualquer apoio para disputar a reeleição e ele será candidato a deputado federal.

Os tucanos cortejados por Simone Tebet titubeiam até mesmo diante da defesa da democracia. Porque, ao fim e ao cabo, a derrama de dinheiro promovida pelo governo federal, com apoio do centrão, na reta final da campanha eleitoral, além de explodir todos os preceitos da política fiscal responsável, beneficiará um projeto de poder populista e de contornos golpistas. Parafraseando Simone Tebet, começou mal e tem tudo para terminar mal o projeto eleitoral da chamada terceira via.