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

Vicente Toledo

Recém-eleitas, seguidoras de QAnon levam conspiração ao Congresso dos EUA

Marjorie Taylor Greene, eleita para o Congresso dos EUA, com cartaz de campanha: "Salve a América, pare o socialismo" - Dustin Chambers/Getty Images/AFP
Marjorie Taylor Greene, eleita para o Congresso dos EUA, com cartaz de campanha: "Salve a América, pare o socialismo" Imagem: Dustin Chambers/Getty Images/AFP

Colunista do UOL

18/11/2020 11h10

Os Estados Unidos são dominados secretamente por uma seita de pedófilos e satanistas que operam um esquema internacional de tráfico de crianças. Com a ajuda de um misterioso aliado que deixa pistas enigmáticas em cantos obscuros da internet, o presidente americano lidera de forma heroica a libertação do país.

Parece roteiro de filme ruim, mas é um pouco pior que isso. Resumidamente, essa é a história central da teoria conspiratória QAnon, que tem Donald Trump no papel de salvador da pátria. Desde que surgiu em 2017 no site 4chan, a conspiração só vem crescendo em popularidade e influência no cenário político americano.

Na eleição do último dia 3, o Partido Republicano elegeu duas representantes para o Congresso que já se manifestaram publicamente em apoio a "Q", como é conhecido o suposto funcionário de alto escalão do governo federal responsável pelas postagens que compõem a narrativa.

Marjorie Taylor Greene foi eleita a representante do 14º Distrito na Geórgia, enquanto Lauren Boebert ganhou a eleição para representar o 3º Distrito no Colorado. Embora ambas tenham tentado se distanciar de QAnon durante a campanha, principalmente Boebert, sua chegada deve agitar os bastidores do Congresso em 2021.

Greene, a quem Donald Trump chamou de "futura estrela republicana" em agosto, já causou polêmica logo no primeiro dia de orientação para os novos congressistas. "Máscaras, máscaras, máscaras", reclamou no Twitter.

Apoiador de Trump segura "Q" gigante, em alusão ao movimento conspiracionista QAnon - Rick Loomis/Getty Images - Rick Loomis/Getty Images
Apoiador de Trump segura "Q" gigante, em alusão ao movimento conspiracionista QAnon
Imagem: Rick Loomis/Getty Images

Contra a "tirania" democrata

Todos são obrigados a usar máscara no Congresso dos Estados Unidos, incluindo deputados e senadores, sob pena de multa de US$ 1.000. Os congressistas também foram alertados contra refeições em grupo e sobre limites para o número de visitantes em suas salas.

Em certo momento da orientação, Greene provocou reação dos colegas democratas ao usar sua máscara abaixo do nariz. "Eu acho que não é saudável usar uma máscara o dia todo", disse a representante da Geórgia, que considera a obrigatoriedade "draconiana, tirânica".

No último sábado, quando discursou em um comício em apoio ao presidente Donald Trump em Washington, ela também atacou as restrições impostas para combater a pandemia, mesmo aquelas que não estão em vigor. Greene postou no Twitter uma foto em que fazia exercícios no quarto do hotel. Na legenda, escreveu "NADA está aberto" por causa do "controle tirânico democrata".

A capital Washington está na fase 2 do seu plano de reabertura, em que academias estão liberadas para funcionar com restrições. "Na Fase 2, academias de ginástica podem reabrir com o limitado (5 pessoas por 1000 pés quadrados), forte segurança e distanciamento físico", diz o site da autoridade local de saúde, contrariando a congressista eleita.

Sorteio de rifle AR-15

E poucas horas depois do discurso na capital no fim de semana, quando confrontos entre manifestantes pró e contra Trump acabaram com ao menos 3 feridos e 20 presos, Marjorie Taylor Greene entrou em cena mais uma vez, anunciando o sorteio de um rifle AR-15.

"Se Joe Biden roubar esta eleição, ele vai tentar proibir nossas armas. Garanta a sua arma antes que seja tarde", tuitou a congressista, completando com pedido de doações para financiar a manobra jurídica de Donald Trump na tentativa de reverter a derrota nas urnas.

Já Boebert, dona de um restaurante conhecido por ter garçons armados em serviço, mantém postura mais discreta e até tenta se distanciar das teorias conspiratórias, negando ser seguidora de QAnon, mas nunca fechando totalmente a porta: "Não acho que é uma noção radical querer se livrar de pessoas que tentam prejudicar o presidente dos Estados Unidos".