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

Josmar Jozino

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

PCC divulga comunicado explicando os motivos da expulsão de Tuta da facção

Marcos Roberto de Almeida, o Tuta - Reprodução
Marcos Roberto de Almeida, o Tuta Imagem: Reprodução

Colunista do UOL

17/05/2022 18h00

Receba os novos posts desta coluna no seu e-mail

Email inválido

O PCC (Primeiro Comando da Capital) divulgou um salve (comunicado) explicando os motivos da exclusão de Marcos Roberto de Almeida, 52, o Tuta, da facção criminosa. Segundo a mensagem, as causas da expulsão foram "má condução" e "falta de responsabilidade".

Até o mês ado, Tuta era considerado o número 1 do PCC nas ruas.

Segundo o MP-SP, (Ministério Público do Estado de São Paulo), o PCC divulgou o "salve" em 26 de abril deste ano. Um dos trechos diz que "Tuta está na luta dele em comunicação com a sintonia do PCC, diferente do que a mídia está ando".

De acordo com o comunicado, "a mídia está tentando, como sempre, implantar mentiras e discórdias dentro da família (PCC), mas estamos cada dia mais unidos e fortes em nossas lutas". O "salve" é assinado pela "sintonia final", como é conhecida a liderança da fação criminosa.

O MP-SP informou que o "salve" foi transmitido no sistema penitenciário e nas ruas. Autoridades que investigam o PCC não acreditam que Tuta está vivo e muito menos em sintonia com a organização criminosa, já que foi excluído e conhece bem os segredos e funcionamento do grupo, como o tráfico internacional de drogas e os paióis de armamentos.

No último dia 3, esta coluna informou que forças de segurança do Brasil disseram que Tuta havia sido sequestrado na Bolívia por integrantes do "tribunal do crime" da própria facção e também que ele havia sido excluído do PCC.

As mesmas fontes informaram que Tuta foi expulso por ter mandado matar integrantes do Primeiro Comando da Capital sem ordens da liderança do grupo. O governo boliviano desmentiu a informação de que Tuta tinha sido sequestrado naquele país.

Já fontes da Polícia Civil informaram que Tuta foi excluído do PCC porque um afilhado dele foi acusado de desviar R$ 35 milhões da facção. Policiais disseram que o afilhado foi assassinado e acrescentaram que não descartam a possibilidade de Tuta ter tido o mesmo fim.

Paradeiro desconhecido

Tuta responde a processo por associação à organização criminosa e lavagem de dinheiro. Ele e outros 19 réus são acusados pelo Ministério Público do Estado de São Paulo de movimentar R$ 1,2 bilhão da facção criminosa no período de janeiro de 2018 a julho de 2019.

Neste mês um oficial de Justiça se dirigiu a dois endereços relacionados a Tuta para intimá-lo a participar, às 14h do próximo dia 25, de audiência virtual na 1ª Vara de Crimes Tributários, Organização Criminosa e Lavagem de Bens e Valores da Capital.

No dia 1º, o oficial foi a um condomínio na avenida Miguel Yunes, Usina Piratininga, zona sul de São Paulo. Porteiros disseram que Tuta é totalmente desconhecido no local. No mesmo dia, o oficial foi a outro endereço na rua Antônio Pedro Teixeira, Jardim Niterói, zona sul, e encontrou a casa fechada e desocupada.

O oficial voltou ao segundo endereço nos dias 7, 10 e 15 deste mês. Na última tentativa, um morador informou que Tuta residiu no imóvel, mas mudou de lá há mais de dois anos. O mesmo morador acrescentou que o paradeiro de Tuta é desconhecido.