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

Motorista de Marielle, Anderson era seguido dois meses antes do atentado

15.mar.2018 - Anderson Gomes, motorista da vereadora Marielle Franco, ao lado da mulher e filho - Reprodução
15.mar.2018 - Anderson Gomes, motorista da vereadora Marielle Franco, ao lado da mulher e filho Imagem: Reprodução

Flavio Costa e Marina Lang

Do UOL, no Rio, e em colaboração para o UOL, no Rio

04/10/2019 04h00

Resumo da notícia

  • Motorista de Marielle foi monitorado por suspeitos do duplo assassinato
  • PM Ronnie Lessa e ex-PM Élcio Queiroz são apontados como suspeitos
  • Investigação indica que eles sabiam das rotas do motorista
  • Monitoramento foi feito nos dois meses anteriores ao crime

O motorista Anderson Gomes, assassinado a tiros com a vereadora Marielle Franco em 14 de março de 2018, teve seus os monitorados desde janeiro daquele ano, ou seja, por pelo menos dois meses antes do atentado. A informação foi confirmada por fontes ligadas à investigação do duplo homicídio.

Quando o monitoramento da rotina de Anderson começou, ele só trabalhava um dia por semana como motorista de Marielle.

O UOL apurou que membros do MP-RJ (Ministério Público do Rio) chegaram a cogitar que houvesse um aparelho de rastreamento de rotas no carro de Anderson.

A solicitação para uma segunda perícia no carro a fim de se verificar se havia este dispositivo — possivelmente instalado pelo suspeitos — foi feita cerca de um ano após o crime, quando o veículo já fora destinado para um leilão em São Paulo. Por esta razão, a perícia não foi realizada.

Em janeiro de 2018, Anderson dirigia para Marielle apenas às terças-feiras. Ele se tornou motorista diário da vereadora assassinada somente no mês seguinte, após um acidente do motorista titular de Marielle. Antes, conciliava as agendas de terça com a psolista e o trabalho por meio do aplicativo de transporte Uber.

Cruzamento de dados

A investigação aponta que suspeitos do duplo homicídio sabiam de rotas de Anderson, inclusive de trajetos próximos à sua residência, na zona norte do Rio, e outros usados para fins particulares, como levar o filho ao médico.

A checagem dos investigadores foi feita com base no monitoramento do policial militar Ronnie Lessa e do ex-PM Élcio Queiroz — réus apontados pelo MP do Rio como atirador e motorista do carro, respectivamente — a partir de dados obtidos por meio de antenas de telefonia, aplicativos de geolocalização e informações de navegação contidas nos smartphones de cada um deles.

Em seguida, um cruzamento de dados foi feito com os registros dos telefones de Anderson e Marielle — ambos mantinham informações de suas rotas e trajetos nos seus aparelhos celulares via GPS.

Os investigadores constataram, então, que Anderson estava sendo seguido já no mês de janeiro.

As defesas dos dois acusados alegam que eles são inocentes do crime.

Relatório da Polícia Civil apontou que Ronnie Lessa também tinha informações sobre a agenda pessoal de Marielle. O suspeito fez pesquisas relacionadas a quatro endereços onde a vereadora estaria entre os dias 2 e 12 de março de 2018.

Procurados, a Polícia Civil do Rio e o MP não se pronunciaram sobre os questionamentos do UOL, já que o processo corre em segredo de justiça.

"Essa informação [sobre o monitoramento de Anderson] para mim é nova. Desconheço totalmente. Não tem nada disso no inquérito", afirmou Fernando Santana, defensor de Ronnie Lessa.

"Desconheço tal informação. Isso me parece mais um factoide tramado para incriminar os suspeitos sem nenhum amparo probatório", disse Henrique Telles, defensor de Élcio Queiroz.

Quem mandou matar Marielle? E mais perguntas sem respostas

UOL Notícias