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

Protesto em SP tem tietagem a 'Lula presidiário' e 'político' de pantufas

De terno e pantufas, Veríssimo contratou carreto para levar cama à av. Paulista - Marco Ambrosio/Framephoto/Estadão Conteúdo
De terno e pantufas, Veríssimo contratou carreto para levar cama à av. Paulista Imagem: Marco Ambrosio/Framephoto/Estadão Conteúdo

Ricardo Marchesan

Do UOL, em São Paulo

04/12/2016 15h46Atualizada em 05/12/2016 12h16

Manifestantes se reúnem neste domingo (4) na avenida Paulista, em São Paulo, para protestar contra as mudanças feitas pelo Congresso no pacote anticorrupção e para demonstrar apoio à operação Lava Jato e ao juiz Sergio Moro. 

O advogado André Rafael Veríssimo, 34, fantasiou-se de "político corrupto", de terno e pantufas, levou uma cama para a avenida e deitou-se nela para protestar contra "a ineficiência do Congresso". Ele disse que chegou ao local por volta do meio-dia e que precisou contratar um carreto para levar o móvel. É a segunda vez que faz isso em uma manifestação, segundo ele.

fantasiado de lula - Ricardo Marchezan/UOL - Ricardo Marchezan/UOL
Fantasiado de Lula presidiário, Luciano Cobra era um dos mais disputados para fotos
Imagem: Ricardo Marchezan/UOL

Uma das figuras mais "assediadas" para fotos no local era o vendedor Luciano Cobra, 47, que se vestiu como o ex-presidente Luiz Inácio Lula da Silva em roupa de presidiário. Ele afirma que é a terceira vez que usa a fantasia em protestos.

Cobra diz que protesta não apenas contra Lula, mas também contra "bandidos defendendo bandidos", citando políticos, membros do STF (Supremo Tribunal Federal) e o presidente Michel Temer (PMDB). "Cinco ministros já foram embora (na verdade foram seis). Não tem como sustentar", afirmou.

Protestos pelo Brasil criticam Renan e apoiam Lava Jato

UOL Notícias

Foco em Renan Calheiros

Apesar da manifestação dele, protestos contra Temer não marcaram o início da manifestação. A maioria das palavras de ordem e cartazes eram contra o presidente do Senado, Renan Calheiros (PMDB-AL). Outros faziam manifestações mais genéricas, em apoio a Moro e à Lava Jato, e contra "políticos corruptos".

O movimento foi organizado pelas redes sociais e estava previsto para acontecer em cerca de 200 cidades do Brasil. A manifestação foi convocada por grupos que apoiaram o impeachment da ex-presidente Dilma Rousseff (PT). 

No Rio, em Brasília e em algumas cidades do interior paulista, as manifestações aconteceram pela manhã.

"Vamos, vamos, MP"

Entre os manifestantes, um grupo ligado ao MP (Ministério Público) de São Paulo chamava a atenção. Reunidos em frente ao prédio do Masp (Museu de Arte de São Paulo), eles cantaram "vamos, vamos, MP", no ritmo do canto em apoio à Chapecoense.

Um dos líderes do grupo, o procurador de Justiça Márcio Sérgio Chistino, vice-presidente da APMP (Associação Paulista do Ministério Público), afirmou que protestavam contra a inclusão da possibilidade de juízes e promotores responderem por abuso de autoridade, emenda incluída no pacote anticorrupção pela Câmara. Ele disse esperar cerca de 200 pessoas ligadas ao MP paulista no protesto.

Manifestantes em Curitiba jogam tomates em foto de Renan e outros políticos

UOL Notícias