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

PMs danificam carro na zona sul de SP; Corregedoria vê "ação equivocada"

Luís Adorno

Do UOL, em São Paulo

17/09/2019 15h16Atualizada em 17/09/2019 19h49

Resumo da notícia

  • Policiais militares foram filmados depredando um carro
  • Caso ocorreu no Parque Bristol, na zona sul de SP
  • Ainda não se sabe quando o fato ocorreu, mas é recente

Policiais militares foram filmados por moradores do Parque Bristol, na zona sul de São Paulo, depredando um carro modelo Chevrolet Corsa durante uma abordagem na madrugada de domingo (15). O flagrante ocorreu na rua Jorge Morais.

Pelo vídeo, é possível ver que o motorista do carro tenta dar marcha à ré enquanto chega a viatura da PM. Ao chegarem próximos ao Corsa, um policial esvazia um dos pneus. Depois, quem estava dentro do carro foi agredido pelos policiais.

Na sequência, as pessoas do carro saíram correndo e os policiais começaram a atacar o carro com um objeto semelhante a um cassetete. Primeiro, atingiram a parte traseira, depois, o vidro dianteiro. Depois, entraram na viatura e aceleraram.

A Corregedoria da PM instaurou inquérito policial militar para investigar o caso na tarde de hoje, assim que o UOL enviou o vídeo para o órgão. O corregedor, coronel Marcelino Fernandes, afirmou que, assim que identificados, os PMs serão afastados da rua. "Condutas como essa são reprováveis e punidas com o rigor da lei nas esferas penal militar e disciplinar", disse.

Em nota, a Corregedoria informou que as imagens "denotam uma ação equivocada da parte de alguns policiais militares do 46º Batalhão de Polícia Militar Metropolitano que, em circunstâncias a serem esclarecidas, durante o serviço, aparecem danificando um veículo automotor em via pública".

"Como medida cautelar e visando à correta e transparente apuração dessa ocorrência, foi determinada uma imediata apuração dos fatos, objetivando rapidamente identificar os policiais militares envolvidos, os quais serão preventivamente afastados do serviço operacional naquela região até a conclusão final das investigações", complementou.

A PM informou que "não compactua com desvios de comportamento de seus profissionais, tendo total interesse na correta apuração dos fatos e na responsabilização dos envolvidos, nos termos da lei".