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

Episódio extra de 'O Caso Evandro' traz condenado por participar do crime

Imagens da série O Caso Evandro - Globoplay/Montagem: Pedro Antunes
Imagens da série O Caso Evandro Imagem: Globoplay/Montagem: Pedro Antunes

Do Splash, em São Paulo

08/07/2021 18h07

A série "O Caso Evandro", que traz depoimentos de personagens envolvidos no caso, lançou hoje um episódio extra no Globoplay com declarações inéditas de Osvaldo Marcineiro, condenado por participar do crime.

"É algo que muita gente espera há 29 anos. O relato é inédito, muito bonito e emocionante", diz Aly Muritiba, diretor da série, ao avaliar o depoimento em comunicado da plataforma de streaming.

Ivan Mizanzuk, autor do podcast "Projeto Humano", que inspirou a série, também comentou sobre a fala de Osvaldo. "Ele foi tão atacado por ser pai de santo e agora vai poder falar disso abertamente, poder falar dessa prática e dessa vida".

Chamado de "Consequências", o capítulo também mostra o impacto da repercussão do caso e o engajamento público após o lançamento da série na vida dos personagens que relembram o caso.

"Ele nunca assumiu o nome dele nas redes sociais, nesses anos todos usou um pseudônimo. O Osvaldo tinha um bloqueio e diz que, com a série, surgiram pessoas boas no mundo, que se solidarizaram com ele", completa o também diretor Michelle Chevrand.

Outra entrevista inédita mostrada na série é de Roberto Requião, governador do Paraná na época do crime envolvendo o menino Evandro. É a primeira vez que o político comenta publicamente sobre o caso.

Relembre o caso

O desaparecimento e a morte de Evandro Caetano, um menino de seis anos, aconteceu em 1992 na cidade de Guaratuba, localizada no interior do Paraná. O crime chocou o país por conta do estado em que o corpo foi encontrado.

O pai de santo Osvaldo Marcineiro foi um dos acusados após as investigações. Outras seis pessoas foram indiciadas por participação no crime, o que gerou desdobramentos políticos e judiciários explorados pela série.