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

Série de O Senhor dos Anéis não terá cenas picantes igual Game of Thrones

Série de "O Senhor dos Anéis" não terá cenas de sexo explícitas igual a "Game of Thrones" - Divulgação
Série de "O Senhor dos Anéis" não terá cenas de sexo explícitas igual a "Game of Thrones" Imagem: Divulgação

Colaboração para Splash, em Maceió

11/02/2022 08h50

O universo criado por J.R.R. Tolkien voltará a ganhar uma adaptação no formato live-action, na série intitulada "O Senhor dos Anéis: Os Anéis do Poder", produzida para o streaming do Prime Video, mas a produção não terá cenas de sexo explícito, similar às exibidas em "Game of Thrones", trama da HBO baseada nos livros de George R.R. Martin.

Ao longo de suas oito temporadas, "Game of Thrones" não se resumiu apenas à disputa pelo trono de ferro, mas, também, pelas várias cenas picantes, inclusive com incesto. Já "Os Anéis do Poder" será destinada ao público geral, o que inclui adolescentes, e, por esse motivo, deve ter um conteúdo mais leve. A revelação foi feita pelo criador da série Patrick McKay, em entrevista à Vanity Fair.

"[Queríamos] fazer uma série para todos, desde crianças de 11, 12 e 13 anos, mesmo que em alguns momentos eles tenham que fechar os olhos porque alguma cena é muito assustadora. Conversamos sobre o tom dos livros de Tolkien. É um material assustador, algumas vezes - e às vezes muito intenso, político, às vezes muito sofisticado - mas também muito comovente, afirmativo e otimista. É sobre amizade, irmandade e pessoas improváveis que superam uma grande escuridão", declarou o showrunner.

Se faltará sexo em "O Senhor dos Anéis: Os Anéis do Poder", pelo menos terá diversidade entre os personagens da trama que, pela primeira vez, irá introduzir um elfo negro ao universo fantástico de Tolkien, além de uma princesa dos anões vivida por uma atriz negra.

Na trama, o elfo Arondir será interpretado pelo ator Ismael Cruz Córdova, já Disa, a princesa dos anões, é vivida pela atriz Sophia Nomvete.

"O Senhor dos Anéis: Os Anéis do Poder" abordará a Segunda Era da Terra Média e tem estreia prevista para 2 de setembro no Prime Video.