;(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

Esse conteúdo é antigo

'Oposição sistemática a Bolsonaro não adianta', diz Eduardo Leite

Reprodução/Facebook
Imagem: Reprodução/Facebook

Pedro Venceslau

Em São Paulo

13/02/2021 13h45

Após ser lançado pré-candidato à Presidência em 2022 por um grupo de deputados do PSDB, o governador do Rio Grande do Sul, Eduardo Leite, adotou tom moderado em relação ao Planalto, em contraponto ao discurso crítico do governador de São Paulo, João Doria, ao presidente Jair Bolsonaro.

Para Leite, o PSDB não deve fazer oposição sistemática" ao governo federal.

O sr. apoia o posicionamento do governador João Doria de que o PSDB deve assumir uma postura contundente de oposição ao presidente Jair Bolsonaro?

No que diz respeito aos arroubos antidemocráticos do presidente, sem dúvida o PSDB deve exercer uma firme posição em defesa da democracia. Mas, por outro lado, o governo apresenta projetos que se aproximam do que defendemos na área econômica. Não adianta fazer oposição sistemática, aquela que dificulta soluções para o País simplesmente porque temos ressalvas ao presidente. A gente não pode exercer oposição simplesmente para dificultar, do ponto de vista eleitoral, a vida do presidente.

Concorda com a tese de que seu nome foi lançado por 'tucanos bolsonaristas'?

O grupo que faz essa crítica demonstra desconhecimento das lideranças que o partido tem no Brasil, talvez porque se concentra demais em São Paulo.

Como avalia um eventual afastamento de Aécio Neves do partido, como defende Doria?

A gente não pode ficar fazendo votações até sair o resultado que queremos. A Comissão de Ética já decidiu a respeito disso. Eu não sou apoiado pelo Aécio Neves. Não tenho qualquer contato ou relação com ele.

Qual é a relação do sr. com Luciano Huck?

Luciano Huck tem buscado conversar com muitas pessoas de diversos partidos. Também me buscou para dialogar sobre projetos para o País. Tenho tido boa conversa com ele sobre visão de Brasil e de mundo.

O PSDB pode apoiar uma candidatura presidencial de alguém que não seja do partido, eventualmente a do próprio Huck?

Sempre que a gente senta para conversar com alguém buscando convencer das nossas ideias, temos que estar abertos a sermos convencidos. Se não for assim, não há diálogo. Se vamos apoiar o projeto que queremos representar, também temos que estar abertos a sermos convencidos de que eventualmente podemos apoiar.

Como avalia a liderança que João Doria exerce no PSDB?

O governador João Doria é um ator político importante que deve ser considerado nos debates para o futuro do País, mas precisa estar aberto para discutir com humildade com as demais partes da federação.

O sr. acha que falta humildade ao governador de São Paulo?

Os debates precisam ser para dentro do partido e não pelas notas de jornal.

O ex-presidente FHC defende que o PSDB tenha papel mais incisivo de oposição a Bolsonaro.

Defendo que a melhor forma de antagonizar Jair Bolsonaro é sendo o que ele não é: ponderado, sensato e responsável.

O sr. votou em Bolsonaro em 2018? Se sim, se arrependeu?

Declarei voto, mas manifestei minhas diferenças.

Doria é incoerente por ter sido eleito sob o mote Bolsodoria e agora fazer oposição?

Eu posso responder pela minha coerência.

As informações são do jornal O Estado de S. Paulo.