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

Monique diz que Jairinho é psicopata e que Henry a alertava sobre padrasto

8.abr.2021 - Dr. Jairinho foi preso temporariamente no Rio de Janeiro - Érica Martin/Estadão Conteúdo
8.abr.2021 - Dr. Jairinho foi preso temporariamente no Rio de Janeiro Imagem: Érica Martin/Estadão Conteúdo

Tatiana Campbell

Colaboração para o UOL, no Rio

03/05/2021 12h36

A professora Monique Medeiros, presa desde 8 de abril, escreveu uma carta endereçada a familiares em que pela primeira vez faz ataques ao vereador Dr. Jairinho (sem partido). Em um momento do texto, a mãe do menino Henry, morto em 8 de março —e que completaria hoje cinco anos— diz que o parlamentar é um "psicopata".

Monique diz que o parlamentar é um "homem ruim, doente, psicopata e esquizofrênico". No texto ela diz ainda que Henry a alertava sobre o parlamentar. Além dessa carta, ela escreveu outras quatro endereçadas a Leniel Borel - pai de Henry -, para o delegado Henrique Damasceno - responsável pelo caso -, outra relatando brigas entre ela e o vereador e a última como uma continuação da carta divulgada no dia 25 de abril.

Eu acreditava no Jairinho, cegamente e não sei por quê. Meu filho dizia que ele era um homem mau. E eu não acreditei

Ainda na carta, revelada no programa Fantástico e à qual o UOL também teve o, a professora diz que só começou a enxergar um outro lado de Jairinho após ser presa.

Depois que comecei a transcrever para o papel tudo o que ele fez comigo, em tão pouco tempo, que pude perceber o quanto fui usada, o quanto fui violentada, o quanto me humilhei e me rebaixei para fazer dar certo sobre um relacionamento de um psicopata

Ainda no documento enviado para a família, a mãe de Henry diz que "hoje, sozinha, tendo vocês e ouvindo mais os detalhes de Deus em minha vida, vejo o quanto tinha um relacionamento doentio. Não sei se um algum dia vou conseguir superar tudo isso."

Na carta, Monique Medeiros pede ao pai:

Eu preciso da sua ajuda! Confie em mim! Eu poupava vocês do que eu vivia, porque eu também não enxergava. Eu estou sendo apedrejada na cadeia! Todos os dias elas gritam dizendo que vou morrer e que irão me matar, pois acreditam que eu deixava o Jairinho bater no Henry

Ao UOL, o advogado Braz Sant'Anna, que representa Dr. Jairinho, disse que "a defesa de Monique adotou esta linha de defesa, a nosso ver, bastante inconsistente, que não convenceu o próprio ex-companheiro (Leniel). No curso do processo, cairá por terra mais esta versão defensiva".