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

Fachin critica operação do Jacarezinho: 'Não houve devido planejamento'

Edson Fachin, ministro do STF - Felipe Sampaio/STF
Edson Fachin, ministro do STF Imagem: Felipe Sampaio/STF

Igor Mello

Do UOL, no Rio

21/05/2021 14h02

O ministro Edson Fachin, do STF (Supremo Tribunal Federal), criticou a operação da Polícia Civil do Rio de Janeiro na favela do Jacarezinho, no último dia 6 de maio. Para ele, a ação mostra que "há indícios de que não houve o devido planejamento" e que ocorreu uso abusivo da força.

Como revelou o UOL, a ação no Jacarezinho foi a mais letal da história do Rio de Janeiro, com um total de 28 mortos —27 moradores da comunidade e um policial civil. Agentes de diversas delegacias da Polícia Civil foram à comunidade cumprir 21 mandados de prisão contra suspeitos de participar do tráfico de drogas no Jacarezinho.

Contudo, apenas apenas três dos alvos foram presos. Outros três acabaram mortos, segundo a relação de vítimas divulgada pela Polícia Civil.

Fachin é relator da ADPF (Ação de Descumprimento de Preceito Fundamental) 635, que discute a letalidade policial no Rio. Em junho, ele determinou que as operações policiais em comunidades do estado fossem restringidas apenas a situações excepcionais, tendo em vista a pandemia de covid-19 —a decisão foi referendada pelo plenário do Supremo.

Após as mortes no Jacarezinho, o PSB e as demais entidades autoras da ação solicitaram que o STF defina objetivamente qual é o critério de excepcionalidade que as forças policiais devem observar. Também pediram que o Tribunal determine a investigação do possível descumprimento de sua decisão.

As declarações de Fachin fazem parte de seu voto, divulgado hoje, no julgamento desses pedidos —que ocorre no plenário virtual do STF, com previsão de término em 28 de maio.

O ministro afirma que é preciso conceder medidas adicionais para impedir que a decisão do STF se torne "ineficaz".

"A operação [no Jacarezinho] indica, em síntese, que se não forem tomadas medidas adicionais, a decisão do Tribunal pode vir a se tornar ineficaz", escreveu Fachin em seu voto.

Ele ainda fez duras críticas à ação da Polícia Civil, com base nos relatos trazidos por entidades como a Defensoria Pública do Estado e a Comissão de Direitos Humanos da OAB-RJ, as quais recolheram indícios de mortes arbitrárias pela polícia, desfazimento das cenas de crime e invasões de casas de moradores durante a operação.

O ministro afirma que houve falta de planejamento na ação e uso ilegal da força letal pelos agentes.

"De acordo com as informações trazidas pela Parte requerente, a operação não era absolutamente excepcional, não houve a comunicação prévia ao Ministério Público, não foram apresentadas justificativas para a realização da operação, não foi observada a determinação de preservação dos vestígios para a realização das perícias e, finalmente, quer pelo número alarmante de fatalidades, quer pela inefetividade do cumprimento dos mandados, há indícios de que não houve o devido planejamento para a realização da operação, nem houve o emprego da força letal nos estritos parâmetros legais, conforme preceituam os Princípios Básicos sobre a Utilização da Força e de Armas de Fogo."

Fachin quer que MPF apure se polícia desobedeceu STF

Em seu voto, Fachin atende a diversos pedidos feitos pelos autores da ação. Entre eles, que o MPF apure se houve descumprimento por parte das autoridades do Rio da determinação de restringir as operações.

Também ordena que o CNMP (Conselho Nacional do Ministério Público) apure, em um prazo de 60 dias, se a extinção do Gaesp (Grupo de Atuação Especializada em Segurança Pública) —até o início do ano a estrutura responsável por investigar crimes cometidos por policiais no Rio— manteve ou não a eficácia das apurações de violações cometidas pelas forças policiais.

A extinção do Gaesp foi uma das primeiras ações do novo chefe do Ministério Público do Rio de Janeiro, Luciano Mattos. Ele foi nomeado procurador-geral de Justiça do Rio em janeiro pelo governador Cláudio Castro.

"É possível que as novas alterações promovidas pelo Ministério Público possam se mostrar mais eficientes. É inissível, no entanto, que um desenho institucional que tenha se mostrado exitoso possa ter sido substituído por um outro menos eficaz, especialmente em um contexto no qual é baixíssima a eficiência das investigações que envolvam o emprego de força letal. Não se pode itir nenhum retrocesso na concretização de direitos fundamentais."