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

Comissão Arns

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Solidariedade ao ministro Alexandre de Moraes

4.ago.2022 - O ministro Alexandre de Moraes, do STF, durante sessão plenária - Nelson Jr./SCO/STF
4.ago.2022 - O ministro Alexandre de Moraes, do STF, durante sessão plenária Imagem: Nelson Jr./SCO/STF

06/09/2022 09h00

Em nota pública, a Comissão de Defesa dos Direitos Humanos Paulo Evaristo Arns manifesta solidariedade ao ministro Alexandre de Moraes, do Supremo Tribunal Federal (STF), em face de uma série de ataques que ele vem recebendo, por sua decisão no Inquérito 4781/DF, que atendeu à solicitação da Polícia Federal formulada na Petição 10.543/DF, para investigar eventuais condutas capituladas como crime, relacionadas ao financiamento de atividades antidemocráticas e de difusão de notícias fraudulentas, por parte de determinados empresários.

Como fica claramente demonstrado na manifestação exarada pelo ministro Alexandre de Moraes, o pedido de investigação apresentado pela Polícia Federal encontra sustentação em informações levantadas em diversos inquéritos conduzidos no âmbito do STF, e não apenas em troca de mensagens entre empresários pelo aplicativo WhatsApp.

De acordo com as informações e testemunhos levantados nesses inquéritos, há indícios da existência de um "núcleo de financiamento" de atividades antidemocráticas e difusão de notícias falsas, constituído por alguns empresários que também compõem o grupo de WhatsApp "Empresários & Política".

Não se trata, portanto, como se tem difundido, de uma decisão ilegítima voltada a intimidar ou restringir a liberdade de expressão daqueles que trocaram mensagens no referido grupo do aplicativo, mas, sim, de uma autorização para que a Polícia Federal cumpra o seu papel institucional de investigar eventuais condutas que possam configurar a prática de crimes contra as instituições do Estado Democrático de Direito.

Vivemos um momento particularmente delicado de nossa história, em que setores hostis ao processo democrático e às instituições buscam encobrir ações ilegais invocando ardilosamente o manto da legalidade. Ao Poder Judiciário, especialmente ao STF, cumpre realizar uma defesa intransigente dos pressupostos de nosso regime democrático.

Portanto, ao autorizar que se investigue eventual prática de crime contra a democracia, o ministro Alexandre de Moraes agiu no estrito cumprimento de suas obrigações. Razão pela qual expressamos publicamente nossa solidariedade a ele, face aos ataques que tem recebido, reiterando todo nosso respeito e consideração.