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

Carolina Brígido

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

"Democracia exige debate construtivo e honestidade de propósitos", diz Fux

Presidente do STF, ministro Luiz Fux - Nelson Jr./SCO/STF
Presidente do STF, ministro Luiz Fux Imagem: Nelson Jr./SCO/STF

Colunista do UOL

12/04/2021 16h40

O presidente do STF (Supremo Tribunal Federal), Luiz Fux, disse nesta segunda-feira (12) que a democracia exige "debate construtivo" e não comporta "concordância forjada e aplausos imerecidos". A declaração foi gravada em um vídeo no dia seguinte à divulgação de um áudio em que o presidente Jair Bolsonaro (sem partido) pressiona o senador Jorge Kajuru (Cidadania-GO) sobre o impeachment de integrantes da Corte.

Na gravação, Fux não fala diretamente de Bolsonaro, mas manda recados. O vídeo será exibido à noite, no encerramento dos debates da Brazil Conference. O evento, promovido por estudantes de Harvard, do MIT de Harvard e de outras universidades de Boston (EUA), vai até o dia 17 de abril.

"Não esqueçamos de que o maior símbolo da democracia é o diálogo. Por isso mesmo, democracia não é silêncio, mas voz ativa; não é concordância forjada seguida de aplausos imerecidos, mas debate construtivo e com honestidade de propósitos", disse Fux.

"Em tempos de pós-verdade e de polarizações exacerbadas, o dissenso convida a coletividade a tematizar as diversas perspectivas de um mesmo mundo. Somente através da justaposição respeitosa entre os diferentes conseguiremos eliminar os excessos de cada lado do debate, para então construirmos soluções mais justas e pragmáticas para os problemas coletivos", concluiu.

O presidente do Supremo acrescentou que a democracia não é algo "automático, natural ou perpétuo", mas um regime que precisa ser "reiteradamente alimentado e reforçado". Segundo ele, "as instituições devem atuar de forma independente, impondo freios e contrapesos recíprocos, porém harmônica, estando alinhadas entre si em prol da materialização dos valores constitucionais".

No vídeo, Fux também fala que, durante a pandemia da covid-19, o STF tomou decisões com base na Constituição. Bolsonaro tem criticado decisões do tribunal. Na semana ada, foi contrariado com a decisão que barrou o funcionamento de templos e igrejas como forma de conter a disseminação do coronavírus.

"O Supremo Tribunal Federal, seja nos momentos de calmaria, seja nos momentos de turbulência, estará a postos para cumprir o seu papel de salvaguardar a Constituição do Brasil, atuando pela estabilidade institucional da nação e pela proteção da democracia", declarou o ministro.