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

Falar em 2022 é "miopia", diz Boulos em São Bernardo após soltura de Lula

Guilherme Boulos (PSOL) participa de protesto pró-Lula na avenida Paulista - Téo Takar/UOL
Guilherme Boulos (PSOL) participa de protesto pró-Lula na avenida Paulista Imagem: Téo Takar/UOL

09/11/2019 12h24

Resumo da notícia

  • Para o ex-candidato do PSOL, o importante é fazer oposição a Bolsonaro
  • Segundo ele, objetivo do petista é rodar o país para "enfrentar esse desgoverno"
  • "O Lula que sai da cadeia é um Lula mais combativo", disse

O coordenador do MTST (Movimento dos Trabalhadores Sem-Teto), Guilherme Boulos, disse hoje em São Bernardo do Campo, em evento para receber o ex-presidente Luiz Inácio Lula da Silva (PT), que é "miopia" falar nas eleições de 2022 no campo da esquerda.

Segundo Boulos, que foi o candidato do PSOL a presidente no ano ado, o importante para a esquerda agora é fazer oposição ao "projeto de destruição" do governo de Jair Bolsonaro (PSL).

Vi muita gente falando: ah, começou 2022. Isso é miopia, e não acho que essa é a opinião dele. Quem na esquerda hoje tiver pensando agora com a cabeça em 2022 não está entendendo o que acontece no Brasil. Tem um projeto de destruição em curso. Tem um alucinado na Presidência da República, ligado a miliciano. A ordem do dia é derrubar esse projeto"

Lula foi solto ontem depois de o STF (Supremo Tribunal Federal) decidir que réus só podem ser presos depois de esgotar os recursos na Justiça. No entanto, como já foi condenado em duas instâncias, ele continua inelegível pela Lei da Ficha Limpa.

A defesa de Lula e seus aliados aguardam o julgamento de um pedido de suspeição do ministro Sergio Moro, que quando era juiz condenou o petista no caso do triplex. Se Moro for considerado suspeito, o caso será anulado, e Lula recupera o direito de disputar eleições.

Para Boulos, a soltura de Lula não significou só o respeito à Constituição, mas "o começo do fim de um xerife chamado Sergio Moro, que rasgou a Constituição".

Questionado se a saída de Lula pode deixar a política mais radicalizada, Boulos disse que não dá para esperar uma oposição "dócil" frente ao governo Bolsonaro.

Não podemos ter um governo selvagem, de destruição, e as pessoas terem a expectativa de uma oposição domesticada, dócil. É expectativa de viúva do centrão que está em busca de um centro perdido, que não existe mais."

Ainda segundo Boulos, que conversou com Lula ontem, o objetivo do petista é rodar o país para "enfrentar esse desgoverno do Bolsonaro e enfrentar essa agenda do Paulo Guedes."

"O Lula que sai da cadeia é um Lula mais combativo, até porque o país mudou também."