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

Letalidade policial em SP cai 23% em julho, mas sobe 14% no ano

12.jul.2020 - Peritos analisam local onde homem foi morto por PMs do Baep em Campinas (SP) - Denny Cesare/Código19/Estadão Conteúdo
12.jul.2020 - Peritos analisam local onde homem foi morto por PMs do Baep em Campinas (SP) Imagem: Denny Cesare/Código19/Estadão Conteúdo

Luís Adorno

Do UOL, em São Paulo

01/09/2020 14h53Atualizada em 01/09/2020 21h07

Policiais civis e militares mataram 58 pessoas em julho deste ano em situações classificadas como trocas de tiros no estado de São Paulo, de acordo com dados da SSP (Secretaria da Segurança Pública) reproduzidos no Diário Oficial.

O número representa uma queda de 23% comparado ao mesmo mês do ano ado: 75. No mesmo período, caiu de 4 para 1 o número de policiais assassinados.

Apesar de ter ocorrido uma queda em julho, na comparação anual, a letalidade policial é maior em 2020 do que em 2019.

Entre janeiro e julho deste ano, policiais mataram 572 pessoas no estado, uma alta de 14% comparado ao mesmo período de 2019 (501 mortes). No mesmo período, subiu de 20 para 29 o número de policiais mortos (alta de 45%).

A reportagem pediu à SSP uma entrevista com o secretário da pasta, o general João Camilo Pires de Campos, para falar sobre os dados, mas o pedido não foi atendido. Em nota, disse que "o compromisso das forças de segurança é com a vida, razão pela qual medidas para a redução de mortes são permanentemente estudadas e implementadas" (leia a íntegra do comunicado ao final deste texto).

A Polícia Civil e as Corregedorias das polícias Civil e Militar investigam as ocorrências que terminam em morte, para poder esclarecer se elas foram legais ou ilegais.

Samira Bueno, diretora-executiva do Fórum Brasileiro de Segurança Pública, diz que "o crescimento da letalidade policial e do número de policiais assassinados é muito preocupante e revelador de que tais fatos são duas faces de uma mesma moeda. Em julho verificamos interrupção na tendência de alta, o que é positivo e precisa ser mantido".

Leia a íntegra da nota da SSP

"O compromisso das forças de segurança é com a vida, razão pela qual medidas para a redução de mortes são permanentemente estudadas e implementadas. Julho é o segundo mês consecutivo de queda nos casos de morte decorrente de intervenção policial militar em serviço, com redução de 25% em relação a igual mês do ano ado.

Em julho, o efetivo da PM cumpriu as atividades do treinamento técnico-operacional, com o objetivo de aprimorar os processos de atuação da instituição. Foram contemplados temas como Polícia Comunitária, Direitos Humanos e Cidadania, Abordagem Policial e Gestão de Ocorrência. Durante as instruções também foram realizadas a análise e o estudo de casos.

Paralelamente às ações de treinamento, a PM criou um grupo de trabalho para analisar e modernizar seus protocolos de atuação, incluindo as técnicas de contenção durante as abordagens. Desde o último dia 13, a SSP, por meio de PM, participa de um grupo de trabalho acadêmico, com a Faculdade Zumbi dos Palmares e outras sete instituições, para discutir a questão da violência envolvendo policiais.

Para dar mais transparência às ações policiais, no início de agosto, 585 câmeras corporais aram a ser utilizadas. Outras 2,5 mil novas câmeras portáteis serão contratadas por meio de um pregão internacional. Todos os casos de MDIP [Morte Decorrente de Intervenção Policial] são investigados pela Polícia Civil e pela PM, por meio de IPM que é acompanhado pela Corregedoria, além de comunicados ao Ministério Público."