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

Atos antidemocráticos não são liberdade de expressão, diz Pacheco

Presidente do Senado Federal, senador Rodrigo Pacheco (PSD-MG) - Pedro Gontijo/Senado Federal
Presidente do Senado Federal, senador Rodrigo Pacheco (PSD-MG) Imagem: Pedro Gontijo/Senado Federal

Do UOL, em Brasília

24/08/2022 15h39Atualizada em 24/08/2022 16h20

O presidente do Senado, Rodrigo Pacheco (PSD-MG), afirmou hoje (24) que atos antidemocráticos e declarações pela volta de um regime militar não fazem parte da liberdade de expressão e podem, inclusive, configurar crime.

A declaração ocorreu após o senador participar de um evento da CBF (Confederação Brasileira de Futebol), no Rio de Janeiro. Ele foi questionado sobre a ação da PF (Polícia Federal) contra empresários bolsonaristas acusados de publicarem mensagens favoráveis a um golpe de Estado.

"Atos antidemocráticos, manifestações acerca de atos institucionais, de volta de regime militar, de retrocesso democrático não estão no campo de livre manifestação do pensamento. Podem constituir, inclusive, crimes que podem ser tipificados pelo Código Penal, sobretudo pela nova Lei de Segurança Nacional, que hoje é a Lei do Estado Democrático de Direito", disse Pacheco.

Segundo o presidente do Senado, "as pessoas têm que conhecer que há limites dessas manifestações". Ele não quis, contudo, avaliar a operação de busca e apreensão contra os empresários, mas disse ter primeiro "uma presunção de confiança no trabalho do Poder Judiciário e do Ministério Público".

Pacheco evitou citar a nota do procurador-geral da República, Augusto Aras, de que não teria sido intimado e que só tomou conhecimento da decisão do presidente do TSE (Tribunal Superior Eleitoral), Alexandre de Moraes, que autorização a ação da PF na manhã de ontem. O presidente do Senado apenas disse que "não tem como dizer a respeito de uma busca apreensão se ela foi justa, se não foi justa".

Em nota, Aras disse que os autos do processo também não foram enviados à PGR para ciência formal. As mensagens que motivaram a decisão do magistrado foram reveladas pelo colunista Guilherme Amado, do site Metrópoles.

"O procurador-geral da República, Augusto Aras, esclarece que tomou conhecimento, nesta terça-feira (23), da existência da Petição 10.543, em tramitação no Supremo Tribunal Federal. Os autos ainda não foram remetidos à PGR para ciência formal da decisão do dia 19 de agosto, que determinou as diligências cumpridas nesta manhã."

Moraes rebate Aras

O gabinete de Moraes divulgou uma nota rebatendo as afirmações de Aras e informou que a PGR foi "intimada pessoalmente" da decisão proferida pelo ministro na segunda (22), com a entrega da decisão para a Assessoria de Apoio aos Membros da Procuradoria-Geral da República no STF.

"Esclarece, ainda, que a referida decisão, posteriormente, foi encaminhada ao Gabinete da Vice-Procuradora-Geral da República às 15h35, onde recebida às 16h40 do mesmo dia", continuou Moraes.

O gabinete do ministro ainda ressaltou que o procedimento adotado pelo tribunal é "rotineiro, a pedido da própria PGR" e que foi adotado em "inúmeros inquéritos e petições" que tramitam com Moraes.