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

Operação apreende 26 fuzis enviados por colecionador para o tráfico no RJ

Fuzis apreendidos vieram de colecionador de armas para o tráfico - Divulgação/ MP-RJ
Fuzis apreendidos vieram de colecionador de armas para o tráfico Imagem: Divulgação/ MP-RJ

Igor Mello

Do UOL, no Rio de Janeiro

25/01/2022 18h25

Um arsenal mantido pelo Comando Vermelho foi apreendido durante uma operação contra a facção. Na casa de um dos criminosos, que tinha registro de CAC (Caçador, Atirador e Colecionador) emitido pelo Exército, foram apreendidas 65 armas que abasteceriam diversas favelas do Rio, entre elas 26 fuzis. O armamento foi adquirido legalmente, segundo as investigações.

A operação foi deflagrada pelo Gaeco (Grupo de Atuação Especializada de Combate ao Crime Organizado), com o apoio da DRE (Delegacia de Repressão a Entorpecentes) e da Desarme (Delegacia Especializada em Armas, Munições e Explosivos). Além dos 26 fuzis, foram apreendidos três carabinas, 21 pistolas, dois revólveres, uma espingarda calibre 12, um rifle e um mosquetão. As armas estavam escondidas em uma casa no Grajaú, zona norte do Rio. No local também foram encontradas caixas com munições para fuzil.

De acordo com as investigações, iniciadas em 2018, o armamento era traficado para o Rio de Janeiro por Vitor Furtado Rebollal Lopes, o Bala 40, se aproveitando de uma licença de CAC. Ele foi preso ontem (24) em Goiás, transportando em um carro 10 mil munições de calibre 5,56 e 1 mil munições de calibre .308, usadas em fuzis e carabinas.

Com a flexibilização do controle de armas promovida pelo presidente Jair Bolsonaro, um CAC pode comprar até 60 armas durante a vida, 30 delas de uso . Outro decreto do presidente ampliou a quantidade munição que eles podem adquirir: o limite subiu para mil munições de uso e cinco mil de uso permitido a cada ano, além de material para fazer a recarga de outros 7 mil cartuchos.

O promotor de Justiça Romulo Santos, integrante do Gaeco, confirmou que Vitor comprava as armas legalmente e depois as reava para traficantes do Comando Vermelho.

"Essa é uma investigação que foi iniciada em 2018 e nos chamou a atenção o fato de que o Vitor se utiliza da possibilidade que a legislação faculta, de que colecionadores de armas possam comprar uma quantidade muito grande de armamentos, para, com o auxílio da sua companheira e de outros elementos, traficar armas para o tráfico de drogas em comunidades do Estado. Com a prisão do denunciado em Goiás, requisitamos ao juízo a expedição dos mandados de busca e apreensão e conseguimos realizar essa apreensão de um grande número de armas na residência do denunciado", disse o promotor.

A operação deflagrada hoje tinha o objetivo de cumprir 20 mandados de prisão e de busca e apreensão contra os denunciados, que irão responder por associação ao tráfico.

As armas apreendidas na casa de Vitor abasteciam várias das mais importantes comunidades controladas pelo Comando Vermelho no estado. Elas eram enviadas para a favela do Jacarezinho, os complexos de Manguinhos e do Lins, o Parque União (favela localizada no Complexo da Maré), as comunidades Fallet-Fogueteiro, e as favelas do Rato Molhado e do Morro do Engenho. As armas ainda eram usadas por traficantes do Complexo do Salgueiro e outras três áreas em São Gonçalo, e do Morro do Preventório, em Niterói.