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

Perlla exibe olheiras após prisão do marido: 'Cheia de problemas'

Perlla mostra olheiras - Reprodução/Instagram
Perlla mostra olheiras Imagem: Reprodução/Instagram

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

17/11/2022 16h10

A cantora Perlla, de 33 anos, foi ao seu Instagram para mostrar que está com olheiras devido a "problemas". Em vídeo, a artista fez um desabafo meio à prisão do marido, Patrick Abrahão, desde o dia 19 de outubro.

"Vou gravar as músicas, mas não estou com uma aparência muito boa. Estou cheia de olheiras. Já tinha, mas agora tenho tido mais, lógico. Já não dorme direito, cheia de problemas", iniciou ela.

"Ninguém é criança. Graças a Deus, aqui a gente conversa às claras. Eu sou muito transparente, não consigo ser de mentira. Se eu estiver mal, você vai me ver mal. Se estiver bem, você vai me ver bem. Isso eu faço questão de expor, principalmente pelo meu trabalho", finalizou.

Carta aberta

O empresário Patrick Abrahão, marido da cantora Perlla, se pronunciou, pela primeira vez sobre sua prisão, feita em 19 de outubro. A equipe de Patrick foi ao seu Instagram para publicar uma carta escrita por ele.

Patrick está sendo investigado na Operação La Casa de Papel, organizada pela PF (Polícia Federal), junto da Receita Federal e da ANM (Agência Nacional de Mineração), contra "um esquema de pirâmide financeira transnacional em mais de 80 países".

O empresário é investigado por crimes contra o sistema financeiro nacional, evasão de divisas, falsidade ideológica, lavagem de dinheiro, usurpação de bens públicos, crime ambiental e estelionato.

"Paz do Senhor, meus amigos. Em meio a dias difíceis, queremos agradecer o carinho e a oração de todos, principalmente a nossa família. Para nossas esposas, gostaríamos de deixar claro que a melhor decisão das nossas vidas foi casar com vocês, obrigado por todo apoio incansável. Temos recebido milhares de cartas e queremos do fundo do coração agradecer a cada um, temos lido todas, nos emocionado e nos sentindo mais perto de vocês", começou ele.

"Claro que eu, Patrick, me sinto muito machucado por tantas inverdades. Fatos que nem constam no processo a meu respeito e nem denuncia existe ainda. Como se eu tivesse esmeraldas em casa, movimentado bilhões, me colocando como dono de uma empresa que eu era investidor. Declaro que estamos 100% a disposição da justiça para esclarecer tudo", continuou.

"Estamos bem, fomos tratados com respeito desde a hora da prisão até o momento que estou escrevendo essa carta para vocês. Cremos que breve tudo será esclarecido e retornaremos para o seio de nossa família. Mesmo em meio à luta, estamos firmes, ganhando vidas para Jesus, orando nas celas, e como eu sempre falei, 'o que não nos mata, nos fortalece", disse.

"Aprendi a viver em todas as situações, sem reclamar, e bendito seja o nome do Senhor. Para tudo tem um propósito, e estou vivendo ele com ajuda de Deus. Contamos com a oração de vocês sempre, estamos aqui, mas nosso coração aí, e breve venceremos essa momentânea tribulação. Um abraço, Patrick Abrahão", finalizou.

Veja:

Carta de Patrick Abrahão - Reprodução/Instagram - Reprodução/Instagram
Imagem: Reprodução/Instagram