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

Apoiadores de Bolsonaro agridem jovem com placa citando mortos por covid

Colaboração para o UOL

11/06/2021 13h16

Uma jovem foi vítima de agressões e ofensas de apoiadores do presidente Jair Bolsonaro (sem partido) que aguardavam a chegada do político ao Espirito Santo na manhã de hoje.

Em um vídeo divulgado pelas redes sociais, a jovem carregava uma placa com os dizeres "Bem-vindo 500.000" com desenhos de cruzes, em uma referência ao fato de o Brasil estar próximo de atingir a marca de 500 mil mortos por covid-19. O país contabiliza 482.135 óbitos pela doença, de acordo com dados divulgados ontem pelo consórcio de veículos de imprensa, do qual o UOL faz parte.

Com máscara, a jovem é hostilizada pelos apoiadores com palavrões, chamada de "puta", "piranha", "vagabunda". Ela ouve ivamente as ofensas. Em seguida, ela tem a placa retirada a força por um apoiador do presidente que estava sem máscara e vestia uma camiseta com foto de Bolsonaro.

Um fotógrafo que estava ao lado da jovem consegue recuperar a placa e tentar controlar a situação. Ele é ofendido pelos apoiadores de Bolsonaro, enquanto pede "respeito".

No aeroporto, os apoiadores se aglomeraram e a grande maioria usava camisas verde e amarela e bandeiras do Brasil. Parte deles não usava máscara, recomendado por autoridades de saúde para conter a transmissão do novo coronavírus.

Esta é a primeira visita do chefe do Executivo ao estado do Espírito Santo desde que assumiu o cargo em 2019. De acordo com a agenda presidencial, Bolsonaro irá participar de uma cerimônia de entrega do Residencial Solar São Mateus. Ele irá conversar com autoridades do estado ainda no aeroporto e depois irá atender seus apoiadores. Em diversos momentos, Bolsonaro também tirava a máscara para conversar com o público e ao sair do aeroporto ele estava sem o equipamento de proteção.

A multidão que se formou em frente ao aeroporto foi filmada pelo presidente durante uma live que ele abriu logo assim que pousou. Ainda dentro do avião, Bolsonaro disse que quem estava o criticando deveria viajar de jegue.

"Quem está falando 'fora Bolsonaro' deveria estar viajando de jegue, não de avião, é ou não é? Para ser solidário ao candidato deles", disse enquanto conversava com as comissárias de bordo. O momento foi filmado e publicado em um canal de apoio ao presidente.

Na comitiva presidencial estão o ministro da Infraestrutura, Tarcísio Gomes de Freitas, o deputado federal Eduardo Bolsonaro (PSL-SP) e o ex-senador Magno Malta (PL-ES). A multidão que aguardava por Bolsonaro estava acompanhada de carros de som e ônibus. O policiamento foi reforçado na área.