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

Demi Lovato diz ter artefato egípcio, mas especialistas estão desconfiados

Demi Lovato desperta suspeita após mostrar artefatos egípcios - Reprodução/Instagram
Demi Lovato desperta suspeita após mostrar artefatos egípcios Imagem: Reprodução/Instagram

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

09/03/2022 22h14Atualizada em 09/03/2022 22h26

Demi Lovato despertou suspeitas após comprar artefatos egípcios antigos e mostrar em suas redes sociais.

Em seus stories do Instagram, Demi exibiu com detalhes as novas compras. "Ok, estou tão animada, algumas coisas incríveis chegaram pelo correio hoje. São artefatos egípcios antigos", contou ao mostrar ankhs e shabtis vitrificados, estatuetas mumiformes.

"Algumas dessas peças têm literalmente milhares de anos. Minha mente está explodindo agora e estou muito animada", continuou Lovato. Demi também mostrou os documentos dos itens que o revendedor enviou junto. "Esses são meus certificados de autenticidade", afirmou.

Entretanto, observadores experientes não se convenceram com os certificados. "Todo o Twitter do Heritage/Art Crime está de olho nisso", disse o arqueólogo e professor Peter Campbell no Twitter.

Os documentos, mostrados por Demi, não possuem detalhes de como foram adquiridos, levantando a possibilidade de serem falsos ou saqueados. "Quando vi os certificados pela primeira vez, pensei que fosse uma piada, porque eles não contêm nenhuma informação crítica, como histórico de propriedade, licenças de exportação ou localização", apontou Peter ao The Hollywood Reporter.

A professora de crimes artísticos no John Jay College, em Nova York, Erin Thomposon também demonstrou dúvida sobre os certificados. "Não há indicação de proveniência de onde o Museum Surplus os conseguiu antes de colocá-los à venda. Não há como isso ser aceito por um museu. Não há como qualquer colecionador sofisticado que quisesse ter certeza do valor e que poderiam revender aceitaria ou compraria também. Você não quer comprar algo que o Egito possa confiscar ou que não possa vender porque outras pessoas estão preocupadas com eles", explicou.

Demi Lovato ainda não se pronunciou sobre o caso. O Museu Surplus, onde Demi comprou os artefatos, também não.