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

Grupo pede a embaixador chinês informações sobre insumos para vacina

O Brasil precisa de insumos para produzir o imunizante contra a covid-19 - Marcelo Justo/UOL
O Brasil precisa de insumos para produzir o imunizante contra a covid-19 Imagem: Marcelo Justo/UOL

Agência Câmara

20/01/2021 11h05Atualizada em 20/01/2021 11h05

O Grupo Parlamentar Brasil-China enviou ontem um ofício ao embaixador da China, Yang Wanming, apelando à "compreensão humanística" na busca de informações sobre o fluxo de insumos para a produção de vacinas contra a Covid-19.

O Brasil precisa desses insumos para produzir a vacina contra o novo coronavírus. No domingo, a Agência de Vigilância Sanitária (Anvisa) autorizou o uso emergencial das vacinas Coronavac e Oxford/AstraZeneca.

No ofício, o presidente do grupo parlamentar do Congresso, senador Roberto Rocha (PSDB-MA), ite que o relacionamento entre Brasil e China foi afetado por imes diplomáticos (o governo brasileiro fez críticas ao país asiático no ano ado), mas avalia que esses desentendimentos "nada representam diante da fecunda cooperação realizada em diversas áreas, desde o restabelecimento das relações diplomáticas entre nossas nações, em 1974".

Encontro com o embaixador

Nesta quarta-feira (20), o presidente da Câmara dos Deputados, Rodrigo Maia (DEM-RJ), vai se encontrar com o embaixador Wanming para discutir o atraso no envio dos insumos. A demora na entrega desses insumos ameaça o calendário de imunização.

A vacinação já começou em quase todo País, mas as doses disponíveis são insuficientes. Nesta primeira fase devem ser vacinados trabalhadores de saúde, pessoas que residem em asilos com 60 anos de idade ou mais, pessoas institucionalizadas com deficiência e população indígena aldeada.

Grupo parlamentar

O Grupo Parlamentar do Congresso Brasil-China tem 45 senadores e 5 deputados. O colegiado busca incentivar e desenvolver as relações bilaterais entre os poderes legislativos dos dois países.