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

Absolvição de Pazuello pelo Exército contraria a lógica, diz Raul Jungmann

O ex-ministro da Segurança Pública, Raul Jungmann, durante entrevista exclusiva ao UOL, no estúdio de Brasília. - Kleyton Amorim/UOL
O ex-ministro da Segurança Pública, Raul Jungmann, durante entrevista exclusiva ao UOL, no estúdio de Brasília. Imagem: Kleyton Amorim/UOL

Do UOL, em São Paulo

03/06/2021 21h27Atualizada em 03/06/2021 22h03

O ex-ministro da defesa, Raul Jungmann, afirmou hoje que a decisão do Exército em não punir o general Eduardo Pazuello "contraria a lógica". O ex-ministro da Saúde participou de uma manifestação política ao lado do presidente Jair Bolsonaro (sem partido).

"A decisão do Comando do Exército contraria a lógica, contraria sobretudo o regimento disciplinar do exército e estatuto dos militares", disse o ex-ministro do governo Michel Temer (MDB) em entrevista para Globo News.

A ida de Pazuello ao ato no Rio de Janeiro causou constrangimento na cúpula do Exército, já que ele não exerce cargo no governo que justificasse sua presença.

Em nota, o Centro de Comunicação do Exército justificou que o Comandante do Exército, general Paulo Sérgio, "analisou e acolheu os argumentos apresentados por escrito e sustentados oralmente pelo referido oficial-general". O processo foi arquivado.

Segundo Jungmann, o ex-ministro da Saúde "transgrediu" uma regra participando de um ato político e "induzido" por Bolsonaro.

"A hierarquia e a disciplina são fundamentos de uma Força Armada em qualquer lugar do mundo. Ele teria de ser punido e não sendo, evidente que isso é uma decisão inaceitável, que de fato não contribui para que você tenha uma Força Armada numa posição de Estado e favorece aquilo que não se quer que é a monarquia dos quartéis", pontuou.

O ex-ministro disse ainda que é necessário que "todos se manifestem em defesa da ordem da democracia", porque Bolsonaro quer "tumultuar" o processo eleitoral tirando a credibilidade da votação digital.

Congresso precisa regulamentar participação de militares, diz Jungmann

Questionado sobre o que espera que a sociedade ou as instituições façam em defesa da democracia, o ex-ministro de Temer disse que é necessário que o Congresso Nacional regulamente a participação de militares na ativa dentro do governo.

"Não só no atual governo, mas em qualquer governo, já devia ter feito há muito tempo. Cabe ao Congresso Nacional deixar claro que militares na ativa não devem participar de governos", apontou.

Em relação ao STF (Supremo Tribunal Federal), Jungmann disse que o órgão "vem cumprindo com seu papel na defesa da Constituição".