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

Esse conteúdo é antigo

Polícia deve decidir até amanhã se mãe de Henry irá depor novamente

8.abr.2021 - Monique Medeiros, mãe do menino Henry Borel, 4, morto na madrugada de 8 de março - Reginaldo Pimenta/Agência O Dia/Estadão Conteúdo
8.abr.2021 - Monique Medeiros, mãe do menino Henry Borel, 4, morto na madrugada de 8 de março Imagem: Reginaldo Pimenta/Agência O Dia/Estadão Conteúdo

Colaboração para o UOL, em São Paulo

19/04/2021 12h59

A Polícia Civil do Rio de Janeiro espera encerrar o inquérito do assassinato de Henry Borel, de 4 anos, nesta semana, com ou sem novo depoimento de Monique Medeiros. Em entrevista à CBN, o delegado Antenor Lopes, diretor do Departamento Geral de Polícia da Capital, afirmou que a polícia deverá decidir entre hoje e amanhã se vão deferir o pedido da defesa da mãe do garoto.

Lopes ainda afirmou que "nada de novo" surgiu no caso, apenas uma mudança de estratégia dos advogados de Monique. "A defesa fez essa solicitação agora. Houve uma mudança de advogados e uma mudança de estratégia", disse.

"A gente verifica claramente que a postura da defesa é completamente diferente da anterior, eles provavelmente estão vindo com a tese de que a Monique vinha sendo agredida, intimidada pelo vereador Dr. Jairinho (sem partido). No entanto, nos autos da investigação, até o presente momento, nós não encontramos nenhum indício de que a mãe do menino Henry estivesse sendo ameaçada pelo companheiro dela, pelo contrário, a todo momento eles pareciam bastante unidos."

A decisão deverá vir de Henrique Damasceno, que está à frente das investigações do caso de Henry Borel. "Ele está analisando detalhadamente todas as implicações legais deste pedido", disse Lopes.

O delegado ainda defendeu que a mudança de postura da defesa de Monique Medeiros "vem um pouco tarde". "Ela teve um mês para mudar aquela versão fantasiosa de acidente doméstico. A versão dela era realmente para proteger o companheiro, o Dr. Jairinho. Inclusive como verificamos com o pedido para a babá apagar as mensagens que relatavam as agressões ao menino no dia 12 de fevereiro, quase um mês antes da morte."

Em troca de mensagens, a babá de Henry narrava em tempo real as agressões de Dr. Jairinho contra o menino.

Lopes afirmou que a polícia terá uma reunião hoje para discutir o caso.

Um novo depoimento

No sábado, os advogados de Monique insistiram em um novo depoimento, alegando que a mãe de Henry tem muito a "esclarecer" e que não tem sentido deixar de ouvi-la, uma vez que outras testemunhas foram ouvidas mais de uma vez.

"Se várias pessoas foram ouvidas novamente, não tem sentido deixar de ouvir Monique. Logo ela, que tanto tem a esclarecer. Não crê a defesa que exista algum motivo oculto para 'calar Monique' ou não se buscar a verdade por completo", disse a defesa.

No início da semana ada, Monique Medeiros ganhou um novo time de advogados. Antes, ela estava sendo representada pelo mesmo advogado que o companheiro, Dr. Jairinho. Agora, quem assume a defesa da mãe de Henry são os advogados Thiago Minagé e Hugo Novais. O advogado João Carlos Castellar deve assumir nos próximos dias a defesa do vereador.