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

Trump demite diretor que reiterou não haver prova de fraude nas eleições

Colaboração para o UOL, em São Paulo

17/11/2020 22h02

O presidente dos Estados Unidos, Donald Trump, demitiu hoje Chris Krebs, diretor da Agência de Cibersegurança e Segurança de Infraestrutura dos Estados Unidos (CISA). Semana ada, o órgão publicou uma nota afirmando que a eleição de 2020 teria sido a "mais segura da história".

Em postagem publicada na noite de hoje, Trump alegou, sem provas, que as declarações de Krebs teriam sido "imprecisas" e que, segundo ele, existiram grandes "inconveniente" e "fraudes" durante o processo eleitoral.

"Pessoas mortas votando, observadores de pesquisas proibidos de entrar nos locais de votação, "falhas" nas urnas que mudaram votos de Trump para Biden, votação tardia e muitos mais", escreveu o republicano, insistindo nas alegações de manipulação.

O Twitter marcou na publicação um aviso indicando que qualquer fraude na eleição dos Estados Unidos é "extremamente rara" e que não há evidências de manipulação no processo eleitoral de 2020.

"Portanto, Chris Krebs foi destituído como diretor da Agência de Segurança de Infraestrutura e Cibersegurança (CISA)", completou Donald Trump, anunciando a demissão.

"Eleição mais segura da história", disse a CISA

A publicação do atual presidente dos Estados Unidos foi uma resposta ao comunicado oficial divulgado semana ada pela CISA, que era comandada por Krebs.

Na nota, o órgão alegou que "a eleição de 3 de novembro foi a mais segura da história dos Estados Unidos", contrariando as alegações de fraude por parte de Trump.

"Não há evidências de que algum sistema de votação excluiu ou perdeu votos, mudou votos ou foi de alguma forma comprometido", disse a nota publicada em 12 de novembro.

Na tarde de hoje, o ex-chefe do governo utilizou as redes sociais para reiterar a informação de que especialistas em segurança eleitoral não encontraram provas de fraude durante o processo das eleições.

"Sobre as alegações de que os sistemas eleitorais foram manipulados, 59 especialistas em segurança eleitoral concordam que, nos casos que temos conhecimento, essas alegações não foram comprovadas ou são tecnicamente incoerentes", disse Krebs em publicação no Twitter.

Após o anúncio da demissão, o ex-chefe da CISA afirmou que "eles fizeram o que era certo", e declarou estar "orgulhoso em servir".