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

Esse conteúdo é antigo

Barroso: TSE criou comissão em resposta a ataques de Bolsonaro às urnas

O presidente do TSE, ministro Luis Roberto Barroso - Reprodução
O presidente do TSE, ministro Luis Roberto Barroso Imagem: Reprodução

Do UOL, em São Paulo

05/10/2021 00h03Atualizada em 05/10/2021 00h11

O presidente do TSE (Tribunal Superior Eleitoral) Luis Roberto Barroso afirmou hoje que a comissão de transparência da Corte foi criada para combater os ataques feitos pelo presidente Jair Bolsonaro (sem partido) às urnas eletrônicas.

"A ideia em si, da comissão de transparência das eleições, foi precisamente para enfrentar o fato de que o presidente da República, eleito com 58 milhões de votos, com liderança nacional, fez uma campanha diuturna contra as urnas eletrônicas. Isso instilou a dúvida em alguma quantidade de pessoas", declarou ele em entrevista ao canal Globo News. "Portanto, é meu papel dar credibilidade ao sistema".

Nesta manhã, o ministro presidiu o evento de abertura do código-fonte da urna eletrônica para inspeção da sociedade civil e entidades fiscalizadoras. Presidentes de partidos foram convidados a acompanhar o processo, bem como ministros de tribunais superiores, membros da OAB (Ordem dos Advogados do Brasil) e representantes do MPF (Ministério Público Federal). Ao todo, presidentes ou representantes de 22 partidos compareceram ao evento.

Segundo Barroso, a abertura do código-fonte da urna — que normalmente é feita seis meses antes da eleição, e não um ano, como agora — faz parte dos esforços para ampliar a transparência das etapas do processo eleitoral.

Além de antecipar a abertura do código-fonte, o TSE também criou uma comissão formada por representantes de instituições e órgãos públicos, especialistas em tecnologia da informação e representantes da sociedade civil para acompanhar a preparação para as eleições.

Forças Armadas na comissão

Entre os participantes desse grupo, também há representação das Forças Armadas, o que o ministro disse considerar importante.

"Não na política, que acho que não devem se meter, mas são uma instituição de alta credibilidade na sociedade brasileira. Se eu queria dar transparência e credibilidade, fazia todo sentido ter um representante das Forças Armadas", disse ele à Globo News.

Barroso afirmou ainda que achou "natural" que esse representante fosse escolhido pelo próprio governo para conter qualquer ilegalidade.

"Para alguém quebrar a legalidade no Brasil, precisa da ajuda das Forças Armadas. Se tiver alguma pessoa respeitada das Forças Armadas participando e dizendo que o jogo é limpo, não há esse pretexto para quebra da legalidade."

'Sepultamento do golpismo'

Após falar mais cedo que o voto impresso era um "defunto enterrado", Barroso disse considerar que os atos pró-governo do 7 de Setembro foram o "sepultamento do golpismo".

"O 7 de Setembro, na minha visão, foi o sepultamento do golpismo. Acho que talvez ali tenha sido o teste das águas, e não foi a afluência de pessoas que se imaginava, tinha muita gente ali, mas não a quantidade que se esperava", disse ele durante a entrevista, acrescentando que o comportamento das polícias e das Forças Armadas foi profissional.

"A sociedade brasileira, pelas instituições públicas e da sociedade civil, disse em alto e bom som: queremos preservar as instituições, a legalidade constitucional e o direito de crítica", avaliou.