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

Repórter que protestou contra Putin pode ser condenada a 15 anos de prisão

Repórter invadiu telejornal russo para protestar contra a guerra da Rússia com a Ucrânia - Reprodução/ Twitter @maxseddon
Repórter invadiu telejornal russo para protestar contra a guerra da Rússia com a Ucrânia Imagem: Reprodução/ Twitter @maxseddon

Colaboração para Splash, em Maceió

21/03/2022 21h22

A repórter russa Marina Ovsyannikova, de 44 anos, que ganhou notoriedade internacional ao protestar ao vivo contra o presidente da Rússia, Vladimir Putin, devido à guerra travada entre seu país e a Ucrânia, pode pegar até 15 anos de prisão por espalhar informações "falsas" em relação ao confronto armado entre as duas nações.

Pelo protesto, a jornalista foi condenada a pagar 30 mil rublos (R$ 1,3 mil na atual cotação) por ter realizado uma "manifestação não autorizada".

No entanto, segundo informações da CBS News, Marina enfrenta "sérios riscos" de ser sentenciada à prisão, devido ao fato de a Rússia ter aprovado recentemente uma lei que proíbe a população de falar sobre a guerra — conforme a legislação russa, os habitantes sequer podem usar os termos "guerra" ou "invasão" para se referirem ao conflito armado. Após a deflagração do confronto, milhares de pessoas já foram presas por manterem uma postura anti-guerra.

Desde o início da guerra no mês ado, quando Moscou deu início as investidas para chegar à Kiev, o Kremlin tem usado as emissoras de TV russas para justificar o conflito a uma tentativa de libertar os ucranianos dos "neonazistas".

Conforme a CBS, boa parte das agências de notícias que atuam de forma independente na Rússia foram fechadas e seus jornalistas "forçados" a parar de trabalhar — muitos deles, inclusive, chegaram a fugir para outros países.

Marina Ovsyannikova, que é filha de um ucraniano, chamou a atenção ao invadir um telejornal do canal estatal Channel One Russia, visto diariamente por milhões de telespectadores. Na ocasião, ela segurava um cartaz que dizia: "Pare a guerra. Não acredite em propaganda. Eles estão mentindo para você aqui".

Posteriormente, ela ou 24 horas desaparecida e, ao surgir novamente, pediu demissão da emissora.

Agora, ela está sendo acusada de ser uma espiã atuando a favor do Reino Unido e, em entrevista à Reuters, ela itiu que teme por sua segurança, mas espera que seu protesto não seja em vão e que os russos abram seus olhos para a propaganda do Kremlin.

"Eu acredito no que eu fiz, mas agora entendo a escala dos problemas que eu vou ter que lidar e, claro, estou extremamente preocupada com a minha segurança. Eu não me sinto como uma heroína... você sabe, eu quero realmente sentir que esse sacrifício não foi em vão, e que as pessoas abram seus olhos", declarou.