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

Esse conteúdo é antigo

Moradores postam vídeos e acusam PMs de espancar jovens após baile; assista

1º.dez.2019 - Policial militar agride com chutes um jovem caído no chão durante confusão durante baile funk em Paraisópolis, zona sul de SP - Reprodução
1º.dez.2019 - Policial militar agride com chutes um jovem caído no chão durante confusão durante baile funk em Paraisópolis, zona sul de SP Imagem: Reprodução

Bernardo Barbosa, Flávio Costa e Alex Tajra

Do UOL, em São Paulo

01/12/2019 14h57Atualizada em 04/12/2019 12h45

Após a ação policial que resultou em nove mortes em um baile em Paraisópolis, comunidade de São Paulo, moradores aram a publicar vídeos acusando a corporação de abuso de poder. Também houve relatos de que os policiais cercaram e encurralaram as pessoas que tentavam deixar o local.

Um vídeo, que teria sido gravado durante a madrugada no local, flagrou policiais militares dando socos, pontapés e pisando em dois garotos que já estavam dominados.

Vídeo flagra PMs agredindo jovens já rendidos após baile funk em Paraisópolis

UOL Notícias

Outro mostra um policial militar agredindo pessoas que estavam sendo dispersadas do baile.

Esta gravação (veja abaixo) mostra a dificuldade das pessoas de sair do local. O policial flagrado no vídeo agride as frequentadores do baile que am por ele correndo, proferindo golpes de cassetete na cabeça e nas costas.

Vídeo mostra agressões de PM em Paraisópolis durante dispersão de baile

UOL Notícias

Pelo menos nove pessoas morreram pisoteadas depois que a PM começou a perseguição a dois homens numa moto, que teriam atirado contra agentes da corporação. Houve tumulto e as vítimas morreram durante a dispersão. Moradores falam em um cerco organizado ao baile.

Durante entrevista coletiva na tarde de hoje, o porta-voz da PM, tenente-coronel Emerson Massera, afirmou ter conhecimento que algumas imagens divulgadas nas redes sociais sobre ação dos policiais militares "sugerem excessos".

"Nós recebemos as imagens, todas as imagens estão incluídas no inquérito policial militar para ser analisadas. Não temos certeza que tudo tenha acontecido nesta madrugada. Algumas imagens nos sugerem abuso, ação desproporcional. Evidentemente, o rigor vai responsabilizar quem cometeu algum excesso, algum abuso", afirmou Massera.

"O rigor da apuração vai responsabilizar quem eventualmente cometeu algum excesso, algum abuso", acrescentou.

A Polícia Militar instaurou inquérito policial militar (IPM) para apurar todas as circunstâncias relativas ao fato. O caso está sendo registrado no 89º Distrito Policial (Jardim Taboão).

O ouvidor das polícias, Benedito Mariano, afirmou que vai oficiar para que a Corregedoria da Polícia Militar de São Paulo fique à frente da investigação interna sobre o caso.

O UOL enviou questionamento específico sobre o vídeo à Secretaria da Segurança Pública de São Paulo e, até o presente momento, não obteve resposta. O texto será atualizado assim que a SSP responder.

Nove mortes

De acordo com um registro da Polícia Civil, as vítimas foram pisoteadas depois de uma "ação de controle de distúrbios civis" —ou seja, para dispersão do baile— feita pela Polícia Militar usando "munições químicas".

As identidades das vítimas não foram divulgadas.

O delegado Emiliano da Silva Chaves Neto, do 89º DP (Portal do Morumbi), afirmou ainda que os mortos não apresentam ferimento por bala, mas que um dos feridos teve uma lesão na pena que pode ter sido causada por uma bala —não se sabe ainda se por arma de fogo, ou por bala de borracha.

O boletim também diz que a ação de dispersão ocorreu depois que duas pessoas atiraram contra policiais militares da Rocam (Ronda Ostensiva com Apoio de Motocicletas) e entraram no baile funk, onde haveria cerca de 5.000 pessoas. As equipes da Força Tática chamadas para dar apoio teriam sido recebidas com garrafadas e pedradas.

Segundo o delegado, os suspeitos de atirar correram para dentro do baile na tentativa de fugir da polícia, e "aparentemente" não houve "nenhum excesso" da corporação.

Vídeos encontrados pela reportagem em redes sociais mostram imagens do que seria o atendimento às vítimas no Hospital do Campo Limpo; e a primeira tentativa de socorro, pelos próprios frequentadores, ainda na rua onde o baile acontecia. Os dois vídeos exibem vítimas aparentemente adolescentes.

Vídeos mostram desespero e balas de borracha em baile funk em Paraisópolis

UOL Notícias
Errata: este conteúdo foi atualizado
Diferentemente do publicado no alto desta reportagem, o vídeo sobre agressões da polícia a moradores foi feito em Heliópolis, não Paraisópolis, na zona sul de São Paulo. A informação foi corrigida, e o vídeo, suprimido.