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

Juiz manda polícia complementar investigação sobre assassinato de petista

Juliana Arreguy e Herculano Barreto Filho

Do UOL, em São Paulo

18/07/2022 20h40

A Justiça do Paraná determinou que a Polícia Civil complemente com novas informações o inquérito que investiga o assassinato do guarda municipal Marcelo Arruda, morto em festa de aniversário temática do PT. A decisão foi publicada nesta segunda-feira (18), três dias após a conclusão do caso.

O inquérito foi finalizado em apenas cinco dias, antes da divulgação de dados contidos no celular de Jorge Guaranho, autor do crime, e conclui que não há indícios que apontem crime de ódio por motivação política. No despacho, o juiz Gustavo Arguello, da 3ª Vara Criminal de Foz do Iguaçu, atende pedidos feitos pelo Ministério Público após a defesa de Arruda contestar a conclusão.

O mandado de busca e apreensão do aparelho telefônico de Guaranho foi cumprido um dia antes da conclusão do inquérito. Segundo o MP, as informações contidas no aparelho podem auxiliar a investigação a identificar se houve participação indireta de outras pessoas na ação.

Determino o retorno do inquérito policial à Delegacia de Polícia, via remessa off-line, para o urgente cumprimento das diligências investigavas requisitadas pelo Ministério Público."
Gustavo Arguello, juiz da 3ª Vara Criminal de Foz do Iguaçu

O inquérito foi encerrado antes que fossem divulgados os resultados de exames de confronto balístico, de perícia no carro de Guaranho e sem que a reconstituição no local do crime fosse realizada.

Também não foi divulgada a conclusão dos laudos periciais de leitura labial dos envolvidos no momento do crime, em imagens captadas pelas câmeras de segurança da festa. A análise de o aos vídeos foi requisitada apenas um dia antes da conclusão do caso.

Advogado de Marcelo Arruda, Daniel Godoy disse ao UOL que o prazo final para o encerramento do inquérito era 19 de julho, quatro dias depois da data em que a Polícia Civil deu o caso por encerrado. Para ele, a decisão judicial demonstra "a insuficiência do inquérito".

"A conclusão apressada do inquérito esta confirmada. Se não fosse assim, nossos requerimentos não teriam sido atendidos, ainda que em parte."

Procurada pela reportagem, a Polícia Civil do Paraná disse que "irá cumprir as diligências rapidamente". "As perícias já tinham sido requisitadas pela autoridade policial à Polícia Científica, na semana ada", complementou o órgão em nota encaminhada ao UOL.

A Secretaria de Segurança Pública do estado ainda não se manifestou sobre a decisão.