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

Brasil não vai depender de disputa mundial por vacinas, diz João Gabbardo

Segundo coordenador executivo do Centro de Contingência do Coronavírus em SP, testes da vacina desenvolvida pelo Instituto Butantan com o laboratório Sinovac terão acompanhamento por um longo período - ROGÉRIO GALASSE/FUTURA PRESS/ESTADÃO CONTEÚDO
Segundo coordenador executivo do Centro de Contingência do Coronavírus em SP, testes da vacina desenvolvida pelo Instituto Butantan com o laboratório Sinovac terão acompanhamento por um longo período Imagem: ROGÉRIO GALASSE/FUTURA PRESS/ESTADÃO CONTEÚDO

Do VivaBem, em São Paulo

20/07/2020 19h41

O fato de duas vacinas contra o novo coronavírus estarem sendo testadas no Brasil faz com que o país não dependa de uma disputa internacional para, quando puder, imunizar a população. A opinião é de João Gabbardo, coordenador executivo do Centro de Contingência do Coronavírus em São Paulo, em entrevista hoje à Globonews.

Em São Paulo, o Instituto Butantan coordena a pesquisa de uma vacina desenvolvida em parceria com o laboratório chinês Sinovac Biotech. Ao mesmo tempo, a Fiocruz participa de um projeto que envolve a Universidade de Oxford e a farmacêutica AstraZeneca — que, segundo ele, vem desenvolvendo sua vacina com uma metodologia nova, diferente da que é utilizada no Instituto Butantan.

"Achamos que é possível que possamos concluir essa fase 3 (de testes) em um tempo menor que a vacina de Oxford, porque ela usa uma tecnologia que, no Brasil, nós não temos experiência — nem o Butantan, nem a Fiocruz, responsável por essa parceria", explicou.

"De qualquer maneira, é importante que as duas possam estar o mais rápido possível à disposição da população. O Brasil não vai depender dessa disputa mundial pelas vacinas, porque vamos estar produzindo duas alternativas diferentes. A gente tem que parar de contar óbitos, números de casos, e começar a acompanhar a cobertura da vacina", acrescentou

A vacina desenvolvida pelo Instituto Butantan começará a ser testada a partir de amanhã. Segundo Gabbardo, os grupos de voluntários serão acompanhados por um longo tempo — não apenas para atestar a eficácia, como também para apontar por quanto tempo as pessoas ficam imunes à covid-19.

"Nós vamos ter dois grupos de pessoas que serão testadas. Um grupo vai receber a própria vacina, e o outro grupo, sem saber, vai receber só o placebo. Os dois grupos são analisados para entendermos qual é a diferença do comportamento da virose, para ver se essa proteção vai ocorrer", descreveu o médico.

"Essas pessoas serão acompanhadas por mais de um ano, para termos essa ideia de por quanto tempo essa imunidade estará ativa. A vacina da influenza, todos os anos a gente tem que refazer a vacina, há mutações nos vírus. Tudo isso tem que ser analisado", exemplificou.