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

Homem com camisa de protesto a governo do Irã é retirado de estádio da Copa

25/11/2022 08h42

Um homem usando uma camisa declarando apoio aos manifestantes contrários ao governo do Irã foi escoltado por agentes de segurança para fora do estádio onde a seleção iraniana venceu País de Gales pela Copa do Mundo do Qatar, nesta sexta-feira (25), disse uma testemunha da Reuters.

A Reuters não pôde confirmar imediatamente porque o homem, usando uma camisa onde se lia "Mulheres, Vida, Liberdade", estava sendo acompanhado por três agentes de segurança de azul.

O representante para a imprensa da Fifa, entidade que comanda o futebol mundial no estádio, não respondeu de imediato a um pedido de comentário, enquanto o gerente de imprensa do estádio disse não ter conhecimento do incidente, mas responderia posteriormente.

Um porta-voz do comitê organizador da Copa encaminhou os questionamentos da Reuters para a Fifa e à lista de itens proibidos elaborada pelo Qatar, mas não disse qual item proibido o torcedor carregava. As regras proíbem itens com "mensagens políticas, ofensivas ou discriminatórias".

Outro torcedor iraniano contrário ao governo do país disse à Reuters que ela havia ado furtivamente uma camiseta pela segurança no estádio, mas que seus amigos haviam sido afastados por causa de suas camisetas que diziam "Mulheres, Vida, Liberdade".

Torcedores do Irã protestam pela liberdade da mulher no país durante a partida entre País de Gales x Irã - DeFodi Images/DeFodi Images via Getty Images - DeFodi Images/DeFodi Images via Getty Images
Imagem: DeFodi Images/DeFodi Images via Getty Images

Dentro do estádio, houve repressão a uma mulher com lágrimas vermelhas escuras pintadas dos olhos que segurava no alto uma camisa de futebol com a inscrição "Mahsa Amini - 22" nas costas —uma referência à mulher curda iraniana de 22 anos, cuja morte sob custódia policial há dois meses provocou os protestos em todo o país no Irã.

Um homem ao seu lado segurava uma camisa estampada com as palavras "Mulheres, Vida, Liberdade", um dos principais cânticos dos protestos.

Outro apoiador segurava uma bandeira iraniana com as palavras "Allahu Akbar" (Deus é o Maior), pontuado com linhas negras quando um homem de segurança estava por perto, aparentemente apontando para ele.

Os protestos inflamados pela morte de Amini marcam um dos desafios mais ousados para a República Islâmica desde a revolução de 1979 no Irã.

Amini morreu após ser presa pela polícia moral por supostamente violar os rígidos códigos de vestuário da República Islâmica.

A equipe do Irã na Copa do Mundo se absteve de cantar o hino nacional antes de sua partida de estreia com a Inglaterra na segunda-feira, um sinal de apoio às manifestações.