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

Janaina: Havia mais motivos para impeachment de Dilma do que de Bolsonaro

Janaina Paschoal no julgamento do impeachment de Dilma Rousseff em 2016; críticas ao superpedido de impeachment apresentado contra Bolsonaro - Pedro França/Agência Senado
Janaina Paschoal no julgamento do impeachment de Dilma Rousseff em 2016; críticas ao superpedido de impeachment apresentado contra Bolsonaro Imagem: Pedro França/Agência Senado

Do UOL, em São Paulo

30/07/2021 08h11Atualizada em 30/07/2021 09h52

A deputada estadual Janaina Paschoal (PSL-SP) disse, em entrevista publicada pela revista Veja, que havia mais motivos para o impeachment de Dilma Rousseff (PT) em 2016 do que há hoje para se pedir o afastamento do atual presidente Jair Bolsonaro (sem partido).

Uma das autoras do pedido que resultou na saída de Dilma, Janaína citou aspectos dos 13 anos que o PT ficou no poder e disse que o crime de responsabilidade fiscal pelo qual a presidente foi condenada foram um "expediente".

"Sim, com certeza (havia mais motivos para impeachment de Dilma). Foram treze anos de desmandos, de bilhões saindo do BNDES para empresários escolhidos, de dinheiro remetido ao exterior para obras que não tinham impacto no âmbito nacional. As pedaladas foram um expediente fiscal para encobrir esses bilhões", disse.

Neste sentido, Janaína não acredita que o superpedido de impeachment, apresentado recentemente junto à Câmara dos Deputados, será apreciado. Para ela, o pedido está "muito mal redigido".

"São 270 páginas de junção de pedidos anteriores sem enquadrar os fatos na letra da lei. Há alguns requisitos para apresentar uma denúncia, não é apenas o desejo e ter uma lista de s. As pessoas confundem um pouco as coisas", disse.

Para ela, um pedido de impeachment contra o Bolsonaro só irá prosperar se as investigações sobre compras de vacina mostrarem irregularidades cometidas pelo presidente ou pessoas próximas a ele.

"Vamos imaginar que a investigação em torno da vacina chegue a Bolsonaro ou a um filho dele ou se conclua que o presidente tenha deixado de agir em função do envolvimento de alguém muito próximo. Aí é outra história", argumenta.

"Até agora o que a oposição está falando é 'o presidente é um genocida?'. Desculpe, isso não é crime de responsabilidade. A gente tem de aguardar a investigação da compra de vacinas e, se houver algo concreto, apresentar uma peça juridicamente apta", completa.

Porém, Janaína voltou a fazer ressalvas sobre o atual governo. Em entrevista ao UOL ontem, a deputada já havia dito que e a nomeação de Ciro Nogueira para o cargo de ministro da Casa Civil foi um "movimento errado".

"Vivemos um clima de constante tensão. Eu busco interlocutores dele para falar sobre isso, mas eles conseguem ser mais radicais que o presidente. Então, fica difícil", disse.