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

Incubus e sucubus: como evitar encontro indesejável com 'demônios do sexo'

Tesão pode invocar demônios do sexo - Getty Images/iStockphoto
Tesão pode invocar demônios do sexo Imagem: Getty Images/iStockphoto

Martina Colafemina

Colaboração para Universa

18/06/2023 04h00

Você já ouviu falar em demônios do sexo? Há quem acredite que a energia sexual dos seres humanos seja responsável por atrair entidades que se alimentam dela durante os sonhos.

Seriam dois os demônios do sexo: incubus e sucubus. A crença mais popular sobre eles, que data da Idade Média, descreve os incubus como homens baixinhos e de feições animalescas. Os sucubus, por outro lado, seriam mulheres deslumbrantes.

A ideia inicial é de que os incubus procuram mulheres e os sucubus, homens. Daí também vêm os nomes: incubus surgiu do latim "incubare", que significa "deitar sobre". Já sucubus exprime a ideia de estar por baixo.

Hoje, acredita-se que essa ligação, na verdade, tenha mais a ver com o que excita a pessoa. Isso porque as entidades têm energias sexuais de polos opostos: a feminina e a masculina.

"A questão não é o gênero oposto, mas sim a efetividade da atração por meio de um dos polos. Um homem homossexual, assim como uma mulher heterossexual, poderia atrair incubus, enquanto um homem heterossexual, assim como uma mulher lésbica, poderia atrair sucubus", explica Rafael Zen, magista do caos e criador do site sobre ocultismo Caotize-se.

Por que os demônios buscam sexo com humanos?

Segundo Zen, a energia sexual é a mais poderosa do ser humano, já que é a "energia da criação que reside em nós". Cada cultura tem suas próprias representações de entidades sexuais, com características e nomes divergentes, mas todas elas têm a finalidade de absorver essa energia vital.

"Se eles forem observados a partir do paradigma sobrenatural, seriam seres sencientes, que funcionam como vampiros energéticos, vivendo através da energia sexual", explica.

O mais comum é que esses seres sejam invocados de forma inconsciente, pelo tesão, em locais repletos de energias sexuais, como motéis. Também é possível atraí-los propositalmente para fazer sexo e se livrar do desejo. De acordo com Zen, porém, esse tipo de prática coloca quem chama os demônios como vítimas fáceis de vampirização energética —quando uma entidade absorve energia demais, deixando a pessoa exausta e sem defesas.

Apesar disso, trocas justas acontecem se o magista for experiente. "A maioria das entidades que ainda não atingiram a completa iluminação podem trabalhar com sexo, afinal é uma energia fácil e, principalmente, eficiente", conta.

Neste cenário, seria como um pacto: em vez de doar energia, é feita uma troca, em que o humano cede a energia sexual de bom grado, mas ganha algo que almeja.

Além dos sonhos

Os demônios não buscam esse contato ativamente, mas esperam uma oportunidade. Com a tecnologia, eles encontraram novas formas de se conectar, além dos sonhos.

"Hoje, por exemplo, os sites pornográficos são a própria representação dos sucubus e incubus. Além de sugar a energia sexual, eles não têm a parte social na equação. Você se masturba para um vídeo de uma pessoa aleatória do outro lado do mundo e pronto. Ou seja, você obtém seu prazer virtual, os demônios sexuais ficam por perto e satisfeitos, mas os seres humanos, que estão utilizando esse atalho, acabam ficando cada vez mais insatisfeitos", explica Zen.