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

Ciro chama Bolsonaro de assassino por querer parecer que desobriga máscaras

Colaboração para o UOL

10/06/2021 19h16

O vice-presidente do PDT e pré-candidato à Presidência nas eleições de 2022, Ciro Gomes, chamou Jair Bolsonaro de "assassino" e "criminoso" hoje, após o presidente dizer que o ministro da Saúde, Marcelo Queiroga, estaria preparando um parecer para desobrigar o uso de máscaras para quem já foi vacinado.

"Criminoso! Assassino! Bolsonaro quer levar mais brasileiros à morte com suas atitudes anticientíficas. Quem já teve Covid ou foi vacinado continua sendo um possível vetor de contaminação para outras pessoas. Usar máscaras salva vidas!", escreveu Ciro Gomes nas redes sociais.

De acordo com Bolsonaro, pessoas que já foram vacinadas ou que já contraíram a covid-19 não seriam mais obrigadas a usar máscara, contrariando as recomendações de autoridades sanitárias em todo o mundo. Nas redes sociais, outros políticos também criticaram a fala do presidente.

O senador Randolfe Rodrigues (Rede-AP), vice-presidente da I da Covid, disse que o presidente interfere no Ministério da Saúde e que a medida é "uma demonstração clara de como o negacionismo está matando o nosso povo."

O deputado federal Kim Kataguiri (DEM-SP) afirmou que está preparando um requerimento de convocação para que o ministro Marcelo Queiroga preste contas sobre a medida na Comissão de Fiscalização.

"Não é preciso decreto ou lei para ter bom senso. Não é a multa que nos faz usar máscara, mas a preocupação com a saúde dos amigos e familiares. Por isso, sugiro que sigamos seguindo a ciência. Ignorem o presidente", escreveu o parlamentar no Twitter.

Kataguiri defendeu ainda que o uso de máscara se torne "símbolo de oposição" ao presidente, que chamou de incapaz. "Quando o Congresso perceber que o país ignora as ordens de Bolsonaro e reage em protesto, começará a se mover para derrubar o assassino", disse.

O deputado federal Marcelo Freixo (PSOL-RJ) afirmou que o presidente sabota o uso de máscaras para tentar tirar o foco das quebras de sigilo de alvos da I da Covid, aprovadas hoje. O ex-ministro da Saúde Eduardo Pazuello, o ex-ministro das Relações Exteriores Ernesto Araújo e o empresário Carlos Wizard foram alguns dos que tiveram o sigilo quebrado.