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

Com mais de 5 mil homens, intervenção faz sua maior operação policial no Rio

Luis Kawaguti

Do UOL, no Rio de Janeiro

07/06/2018 06h20Atualizada em 07/06/2018 13h50

As Forças Armadas iniciaram na manhã desta quinta-feira (7) uma operação de segurança na Cidade de Deus e em outras cinco favelas da região de Jacarepaguá, zona oeste do Rio. O início da ação, por volta das 6h, ocorreu sob intensa troca de tiros e provocou o fechamento da estrada Grajaú-Jacarepaguá, uma das vias expressas mais importantes da região.

Ao todo, 4.600 militares e 760 policiais estão na região. Este é o maior efetivo utilizado em uma operação desde o início da intervenção federal no Rio. Blindados e helicópteros também são utilizados.

Militares e policiais entraram na Cidade de Deus em blindados Guarani e Urutu. Traficantes soltaram fogos de artifício para alertar outros criminosos sobre a chegada das forças de segurança.

Veja também:

Logo em seguida começou um intenso tiroteio. A reportagem do UOL ouviu grande quantidade de disparos e rajadas de fuzil. O confronto inicial durou cerca de 20 minutos, depois os sons de disparos foram reduzidos.

Além da Cidade de Deus, a operação ocorre nas favelas Gardênia Azul, Outeiro, Vila do Sapê, Parque Dois Irmãos e Morro da Helena.

O objetivo da operação é enfraquecer a facção criminosa Comando Vermelho e abrir caminho para que policiais do 18º Batalhão da Polícia Militar reassumam o controle da região, habitada por cerca de 200 mil pessoas.

O Comando Conjunto da intervenção informou que um suspeito foi morto durante um confronto entre criminosos e as forças de segurança. Outras 13 pessoas foram presas. Um PM foi ferido e um militar motociclista morreu em acidente de trânsito na operação.

Também foram apreendidas três pistolas, uma granada e uma quantidade ainda não pesada de drogas. Um local que era usado para o preparo dos entorpecentes também foi encontrado, segundo os militares.

Segundo a Polícia Militar, em paralelo, ocorrem ações da polícia (sem participação das Forças Armadas) em outras favelas do Rio, entre elas, o Complexo do Lins, na zona norte, e a Rocinha, na zona sul.

7.jun.2018 - Militares e policiais em operação de grande porte contra facção criminosa no Rio de Janeiro - Luis Kawaguti/UOL - Luis Kawaguti/UOL
Militares e policiais durante a operação contra facção criminosa na manhã desta 5ª
Imagem: Luis Kawaguti/UOL

Moradores pedem ação permanente

Segundo moradores da região ouvidos pelo UOL, a ação é bem-vinda, mas eles pediram uma presença mais efetiva das Forças Armadas na comunidade.

"Acho bom acontecer isso porque está muito perigoso aí dentro. Ontem mesmo foi tiroteio o dia inteiro", afirmou um morador que pediu para não ter o nome revelado.

"O problema é a hora em que tudo aconteceu. O tiroteio começou forte quando as pessoas estavam se preparando para sai para o trabalho, tive que esperar para sair", disse.

Já um comerciante afirmou que as ações das forças de segurança deviam acontecer na área em caráter permanente. "Não adianta só entrar e sair, tem que ficar", disse.

Outro morador afirmou que qualquer operação é positiva. "Já ajuda muito, o crime aqui dentro está demais", disse também ser revelar seu nome.

Região é disputada por facções e milícias

Essa é a segunda vez que as Forças Armadas fazem uma operação de grandes proporções nessa área da zona oeste do Rio em menos de um mês. No dia 18 de maio, o foco foi em favelas do bairro da praça Seca, em Jacarepaguá, também área de responsabilidade do 18º Batalhão.

Essa região da zona oeste é considerada instável por ser palco de disputas entre facções criminosas e milicianos.

Entre os meses de março e abril, a intervenção adotou estratégia semelhante para fortalecer outro batalhão da PM, o 14º, de Bangu, responsável por áreas de favelas como Vila Kennedy, Batan e Vila Vintém.

Segundo a intervenção federal, as operações ostensivas das Forças Armadas em favelas do Rio são consideradas ações de caráter emergencial. Elas acontecem em paralelo a mudanças de bastidores que visam reequipar, melhorar a gestão e reestruturar as polícias do estado.