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

Polícia Civil reconstitui operação que deixou 15 mortos no Rio em fevereiro

Agentes da Polícia Civil do Rio fazem reprodução simulada na comunidade do Fallet, em Santa Teresa - Thathiana Gurgel / DPRJ
Agentes da Polícia Civil do Rio fazem reprodução simulada na comunidade do Fallet, em Santa Teresa Imagem: Thathiana Gurgel / DPRJ

Igor Mello

Do UOL, no Rio

29/04/2019 16h44Atualizada em 29/04/2019 18h38

Agentes da Divisão de Homicídios (DH) da Polícia Civil do Rio realizaram na manhã de hoje uma reprodução simulada da operação da Polícia Militar na comunidade do Fallet, em Santa Teresa. A ação, realizada em fevereiro, deixou um saldo de 15 mortos e foi alvo de denúncias de abusos por parte de moradores.

A reconstituição contou com a participação de policiais militares do Batalhão de Choque, que estiveram na operação. A ação se concentrou em uma casa na Rua Eliseu Visconde, em um dos os à comunidade, onde nove das vítimas teriam sido mortas. Os trabalhos foram acompanhados por representantes do Ministério Público do Rio (MP-RJ), da Defensoria Pública do estado e da Comissão de Direitos Humanos da Ordem dos Advogados do Brasil (OAB-RJ).

Segundo fontes ouvidas pelo UOL que acompanharam os trabalhos, os agentes foram à comunidade apurar as denúncias de que algumas das vítimas da operação foram executadas pelos policiais. Peritos da DH fizeram imagens da área. Pedro Daniel Strozenberg, ouvidor-geral da Defensoria Pública do estado, afirmou ao UOL em fevereiro que havia fortes indícios de fuzilamento durante a ação dos PMs.

O Ministério Público do Rio abriu um Procedimento Investigatório Criminal (PIC) para averiguar se os policiais cometeram excessos durante a operação no Fallet. O caso contará com o auxílio do Grupo de Atuação Especializada em Segurança Pública (Gaesp), unidade com expertise em casos de mortes em confronto com a polícia.

Segundo o promotor Paulo Roberto Mello Cunha Junior, do Gaesp, o objetivo "é produzir uma apuração independente dos fatos, seja para punir eventuais abusos, seja para legitimar a versão inicialmente apresentada pelos PMs".

Investigação prejudicada

O defensor público Daniel Lozoya, membro do Núcleo de Defesa dos Direitos Humanos (Nudedh) da Defensoria Pública do estado, ressaltou a importância da reconstituição para a elucidação do caso.

"Consideramos essa medida importante. Isso vai ser analisado em conjunto com outras provas, como laudos e perícias. É importante porque normalmente não tem outras versões, só as do policiais, já que não tem vítima sobrevivente ou testemunhas", diz.

Lozoya ressalta, porém, que a obtenção de provas técnicas foi prejudicada por uma série de problemas durante as investigações.

"Tudo foi muito prejudicado porque a cena (do crime) não foi preservada. Sob o pretexto de prestar socorro os cadáveres foram levados para o hospital e nem todos os projéteis foram arrecadados. No Hospital Souza Aguiar (para onde foram levados os corpos), por exemplo, uma filmagem feita provavelmente pelos hospitais mostra o pessoal de enfermagem cortando as roupas dos cadáveres e jogando fora. Provas foram descartadas também no hospital. São vários problemas que acabam dificultando de se chegar mais próximo do que ocorreu. E esse é um caso em que tirando as provas técnicas só há a palavra dos policiais", relata Lozoya.

O defensor público afirma também que o tempo levado para que a Polícia Civil realizasse a reprodução simulada teve consequências. Segundo ele, os moradores da casa onde nove pessoas foram mortas acabaram fazendo reformas no local - como pintura e colocação de azulejos -, já que o imóvel ficou muito danificado por conta do tiroteio.

A operação no Fallet foi a ação policial mais letal no Rio desde 2007, quando uma inco Núcleo de Defesa dos Direitos Humanos (Nudedh),rsão da PM deixou um saldo de 19 mortos em diferentes partes do Complexo do Alemão, na zona norte. Familiares de vítimas do Fallet denunciaram que parte dos mortos já havia se rendido a homens do Batalhão de Choque quando foram mortos.

Apesar das suspeitas sobre a atuação dos policiais na comunidade, Wilson Witzel (PSC), governador do Rio, classificou as mortes como "ação legítima" por parte das forças de segurança.

Comissão vai acompanhar caso

Representantes da Comissão de Defesa dos Direitos Humanos D. Paulo Evaristo Arns - que reúne juristas e militantes de direitos humanos - vieram ao Rio de Janeiro nesta segunda-feira para acompanhar as apurações das mortes no Fallet. A entidade foi fundada no fim de fevereiro e é presidida por Paulo Sérgio Pinheiro, ex-membro da Comissão Nacional da Verdade e presidente da Comissão da ONU sobre crimes na Síria.

No começo de abril, a Comissão já havia exigido das autoridades a apuração das denúncias de violência policial no Fallet. Hoje, o grupo teve reuniões com a Comissão de Direitos Humanos da Assembleia Legislativa do Rio e com a Defensoria Pública do estado.