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

PRF prendeu 49 por bloqueios em rodovias após derrota de Bolsonaro

02.nov.22 - Apoiadores do presidente Jair Bolsonaro participam de protesto pela derrota de Bolsonaro no segundo turno da eleição presidencial, na rodovia Castelo Branco, em Barueri - AMANDA PEROBELLI/REUTERS
02.nov.22 - Apoiadores do presidente Jair Bolsonaro participam de protesto pela derrota de Bolsonaro no segundo turno da eleição presidencial, na rodovia Castelo Branco, em Barueri Imagem: AMANDA PEROBELLI/REUTERS

Pepita Ortega

Em São Paulo

16/11/2022 18h18Atualizada em 16/11/2022 18h57

A Polícia Rodoviária Federal fez 49 prisões 'pelos mais diversos crimes' durante a operação que visou liberar rodovias tomadas por apoiadores do presidente Jair Bolsonaro (PL) em todo o País após a derrota, nas urnas, para o presidente eleito Luiz Inácio Lula da Silva (PT). As atividades da corporação se intensificaram após a decisão do Supremo Tribunal Federal que determinou à corporação medidas para desobstruir as vias interditadas por manifestantes.

Em nota divulgada nesta quarta-feira, 16, a Polícia Rodoviária Federal afirmou que, em razão do número de manifestantes nos atos considerados antidemocráticos e o tamanho das equipes que atuaram na linha de frente da Operação Rescaldo, a corporação 'segue um protocolo progressivo a fim de resguardar a vida e a integridade de todos'.

A PRF sustentou que as prisões envolvem 'uma grande dificuldade', citando o episódio registrado em Novo Progresso, no interior do Pará — quando manifestantes foram flagrados jogando pedras contra um comboio que tentava liberar trecho da rodovia BR-163 no município do sudoeste do Estado. Um policial acabou ferido.

No último dia 9, a corporação informou ter desobstruído todas as vias do País que haviam sido bloqueadas por apoiadores do presidente Jair Bolsonaro inconformados com o resultado das urnas. As interdições tiveram início no dia seguinte ao segundo turno do pleito, no dia 30. Logo em seguida, o ministro Alexandre de Moraes, do Supremo Tribunal Federal, determinou a desobstrução das estradas — decisão confirmada pelo Plenário da corte máxima na madrugada do dia 1º.

Em meio às cobranças, não só públicas, mas também do Judiciário, a Polícia Rodoviária Federal empregou diferentes esforços para liberar as vias. O diretor-geral da corporação Silvinei Vasques chegou a pedir uma verba de R$ 970 mil ao Ministério da Justiça para custear agens e diárias de PRFs e suspendeu atividades istrativas não essenciais da corporação, assim como folgas para compensação de horas.

Na mira de investigações por possível prevaricação, Silvinei narrou ao Supremo que houve 'redução de efetivo operacional' na Operação Rescaldo, mas sustentou que, nos Estados em que foram registrados atos considerados antidemocráticos, a equipe foi ampliada e direcionada para os 'locais de manifestação'.

Nesta terça-feira, 15, o Ministério Público Federal no Rio de Janeiro pediu o afastamento imediato de Silvinei, por 90 dias, sob a alegação de que o chefe da PRF fez uso indevido do cargo para beneficiar a candidatura do presidente Jair Bolsonaro (PL).

Agora, as Polícias e o Ministério Público tentam identificar os líderes e financiadores dos atos considerados antidemocráticos. As forças policiais e Promotorias enviaram ao ministro Alexandre de Moraes informações que podem colocar os apoiadores de Bolsonaro na mira de investigações criminais.