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

"Era personagem fictício", diz à polícia ex-PM que ensinou chacina em aula

O ex-PM Norberto Florindo Junior em aula na AlfaCon - Reprodução de vídeo
O ex-PM Norberto Florindo Junior em aula na AlfaCon Imagem: Reprodução de vídeo

Wanderley Preite Sobrinho

Do UOL, em São Paulo

30/04/2021 04h00

Foi para "descontrair" seus alunos de um curso para policiais que o ex-PM Norberto Florindo Junior, 55, teria criado um "personagem fictício" que ensinava técnicas de tortura e chacina: "Matava todo mundo: mãe, filho, bebê", disse ele em uma das aulas na AlfaCon, escola especializada em concursos públicos.

A criação do "Capitão Norberto", como se autodenomina na sala de aula, foi justificada por Florindo Junior à Polícia Civil em depoimento a que o UOL teve o. Flagrados em vídeos revelados pela Ponte Jornalismo em 2019, ele e o também ex-policial Evandro Bitencourt Guedes são investigados por ensinarem métodos de tortura a aspirantes e policiais em turmas de preparação para concursos.

Depois de um ano e cinco meses, porém, as investigações não avançam no 5º Departamento de Polícia da Aclimação, na zona sul de São Paulo, apesar dos apelos do Ministério Público, para quem o trabalho policial é "insatisfatório".

Expulso da PM em 2009 por porte de cocaína no batalhão, Florindo Junior conta no vídeo que nos 27 anos em que trabalhou na periferia "quem mais matou fui eu, quem mais torturou fui eu".

"Uma vagabunda criminosa só vai gerar o quê? Um vagabundinho criminoso, só isso que vai gerar. Por isso quando eu entrava chacinando, eu matava todo mundo: Mãe, filho, bebê, foda-se. Eu já elimino o mal na fonte. Vou deixar o diabo crescer? Não", diz ele em um dos vídeos. Na AlfaCon, Florindo Junior é conhecido como "professor caveira".

Apenas em 28 de outubro de 2020, um ano após o registro da ocorrência, o delegado Wilson Roberto Zampieri pediu aos investigadores que fossem ao endereço de Florindo Junior, no Ipiranga, "efetuar diligências". Em 4 de novembro, o professor depôs:

No intervalo da aula de 30 minutos, objetivando descontrair os alunos, ele criou um personagem fictício 'capitão Norberto' o qual apregoava que o bandido deveria ser tratado de forma enérgica, mas dentro da lei.
Transcrição de depoimento de Norberto Florindo Junior, professor

Ele diz ainda que "nunca disseminou a prática de tortura e nem de homicídios; que os exemplos eram histórias fictícias, onde o personagem agiu com rigor e rispidez".

Investigação lenta

Além de demorar para colher as declarações de Florindo Junior, a delegacia não encontrou Guedes até hoje, embora o inquérito indique que ele more em Cascavel (PR), cidade sede da AlfaCon, a mesma escola onde o deputado federal Eduardo Bolsonaro (PSL-SP) sugeriu "um soldado e um cabo" para fechar o STF (Supremo Tribunal Federal).

Em um dos vídeos, Guedes afirma ter agredido "homens, mulheres, velhos, crianças e adolescentes", além de torcedores de futebol "favelados", a quem se refere como "crioulada".

"Apesar de diversas diligências, não foi localizado", afirmou a Secretaria Estadual da Segurança ao UOL. Já o 5º DP disse no inquérito que "em razão da pandemia, não foram expedidas intimações para comparecimento a esta distrital entre os meses de abril e agosto".

Em resposta, o promotor Roberto Bacal escreve em 12 de novembro que "o trabalho policial ainda está bastante insatisfatório para a análise completa dos graves fatos investigados" e pede que o inquérito volte à delegacia para que tomem o depoimento de Guedes.

O crime por apologia ao crime é previsto no art. 286 do Código Penal. A pena por "incitar, publicamente, a prática de crime" é de "detenção de três a seis meses ou multa".

Procurado, Florindo Junior agradeceu o contato feito por mensagem, mas recusou entrevista. Guedes foi procurado por meio da AlfaCon, mas nenhuma resposta foi enviada ao UOL, que também pediu entrevista ao delegado, mas não teve retorno até esta publicação.