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

Egito é criticado ao condenar músicos por vídeo com dançarina brasileira

Vídeo publicado por músicos egípcios foi alvo de condenação no país - Reprodução/YouTube
Vídeo publicado por músicos egípcios foi alvo de condenação no país Imagem: Reprodução/YouTube

Do UOL, em São Paulo

28/04/2022 12h40Atualizada em 28/04/2022 13h42

Um tribunal egípcio se tornou alvo de críticas após decidir prender dois músicos devido a um vídeo que fizeram com uma dançarina do ventre brasileira. A cena foi gravada em 2020 e compartilhada no YouTube e hoje tem mais de 10 milhões de visualizações. Segundo a Justiça egípcia, os dois foram considerados culpados por "violarem os valores familiares".

No clipe os dois cantores, Hamo Beeka e Omar Kamal, aparecem dublando uma música quando a brasileira, Lurdiana, com vestido longo e jaqueta se aproxima. Na sequência, ela começa a dançar ao lado dos dois homens.

Segundo a BBC, além da questão dos valores familiares, os dois músicos ainda foram condenados por obterem lucros com a publicação das imagens. Eles deverão cumprir um ano de prisão e pagar uma multa de 10 mil libras egípcias, equivalente a R$ 2,7 mil na cotação atual.

Ainda, de acordo com o jornal britânico, a decisão da Justiça está sendo vista por grupos de direitos humanos, como o Human Rights Watch, como parte de uma repressão mais ampla à expressão artística.

A organização afirmou que o Egito está cada vez mais confiando no que chama de "valores familiares abusivos e mal definidos" para exercer controle sobre as mídias sociais.

Nos últimos tempos, ao menos uma dúzia de jovens que trabalham como influenciadores digitais foram acusados de violar a lei, recebendo multas pesadas e sentenças de até cinco anos de prisão. Além disso, há uma repressão especial relacionada a um gênero relativamente novo de música eletrônica de baixo orçamento no país, que também é muito popular, chamado mahraganat.

Algumas músicas do gênero atraíram a atenção internacional desde que foram usadas pelo diretor egípcio Mohamed Diab em "Cavaleiro da Lua", série da Marvel lançada recentemente no Disney Plus.

No entanto, o Sindicato dos Músicos, istrado pelo estado, está limitando as atividades de vários cantores de mahraganat, incluindo Kamal, impedindo que eles se apresentem em público. No caso de Kamal, por exemplo, foi apontado que o cantor violou as normas do país ao utilizar palavras como "álcool" e "haxixe".

Os ativistas de direitos humanos argumentam que as restrições à liberdade de expressão devido à moral pública devem ser proporcionais, não discriminatórias e definidas de forma transparente.