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

Treinado após último debate, Lula controla tempo e foge de pegadinhas

Do UOL, no Rio e em São Paulo

29/10/2022 01h11Atualizada em 30/10/2022 15h20

No debate promovido pela TV Globo, nesta sexta-feira (28), o ex-presidente Luiz Inácio Lula da Silva (PT) reverteu erros de estratégia cometidos no confronto anterior contra o presidente Jair Bolsonaro (PL). No programa organizado pelo UOL, em parceria com a Band, o petista se perdeu no tempo e seu adversário conseguiu falar por quase seis minutos sem interrupções.

Na avaliação da cúpula petista, o ex-presidente teve seus piores momentos no debate anterior exatamente por cair nas provocações de Bolsonaro e gastar tempo tentando se defender das cutucadas do adversário —em vez de propor ideias.

Desta vez, o petista conseguiu controlar melhor o tempo, se manteve mais calmo e distante de Bolsonaro e, principalmente, conseguiu mudar pautas incômodas.

Distância. Lula evitou ficar próximo a Bolsonaro. No último debate, que estreou o modelo livre entre os dois, com ambos andando por todo o perímetro do palco, o presidente chegou a tocar no ombro do petista. Lula saía para pegar uma água e ficou claramente constrangido.

Na Globo, ficou acordado que contato físico seria proibido. E Lula preferiu manter distância do adversário.

"Fica aqui, rapaz", disse Bolsonaro ao final do primeiro bloco, em um movimento parecido ao debate anterior.

"Eu não quero ficar perto de você", respondeu o petista, de longe, com o dedo em riste.

O ato de Bolsonaro também não é à toa. Mais alto que o petista, a avaliação da cúpula bolsonarista é que o presidente fica imponente sempre que está frente a frente com o petista e a uma imagem de maior segurança.

Virou a pauta. Lula também conseguiu transitar entre assuntos sempre que teve vontade. No último programa, Bolsonaro conseguiu pautar todo o terceiro bloco e ainda ficou com quase seis minutos livres —num erro de cálculo, Lula ou muito tempo se defendendo.

Nesta sexta, a situação mudou. Quando Bolsonaro fez ilações sobre a caminhada do petista no Complexo do Alemão, no Rio de Janeiro, mentindo sobre uma suposta proteção do tráfico, Lula mudou de assunto e levou o debate para a seca no Nordeste —região onde é popular. No primeiro turno, o petista ganhou em todos os estados.

Se tem um mentiroso aqui, esse mentiroso chama-se Jair Messias Bolsonaro que tem mentido diariamente ao povo brasileiro. Inclusive levar água pro Nordeste. Todo mundo sabe que quem fez a transposição do São Francisco foi este que vos fala, porque sou nordestino, já tive experiência de carregar pau d'água e lata d'água na cabeça. Portanto não minta."
Lula

Após a fala, Bolsonaro seguiu falando sobre transposição, citando que seu governo terminou algumas das obras. "O senhor [Lula] fez, na verdade, uma obra que não chegava a lugar nenhum. Pegamos obra parada havia quase dez anos", retrucou.

A manobra foi bem-sucedida para o petista. Lula seguiu no assunto da transposição, citando números de seu governo e as fake news, já desmentidas pelo UOL Confere, sobre tráfico ficaram para trás.

Provocações. O presidente agiu como um provocador no debate e chamou Lula de mentiroso dezenas de vezes ao longo do programa. A atitude não ocorreu sem existir um plano por trás. O presidente tentava tirar o adversário do sério ao repetir o adjetivo pejorativo à exaustão. O objetivo buscado ao manter o tom provocador era uma reação destemperada do petista.

A insistência no termo mentiroso diminuiu no segundo e terceiro blocos, mas Bolsonaro sacou outra carta. Ele ou a tratar do assunto corrupção. O entendimento de sua campanha é que Lula se perde quando o tema surge —foi isso que ocorreu no primeiro debate desta eleição. Além disso, existe a avaliação de que as respostas para esse assunto não são consideradas satisfatórias pelo eleitor.

Desta vez, a estratégia de provocar um rompante de raiva do petista não funcionou. Lula conseguiu manter a calma mesmo com o presidente voltando a usar o adjetivo mentiroso.

Ficou calmo. Outra questão debatida entre petistas é que Lula deveria se manter calmo nos debates. Em alguns pontos dos debates anteriores, o tom incisivo do ex-presidente pode ter sido encarado como agressivio pelo público, ponderaram os petistas.

Neste debate, Lula se manteve mais calmo, não prolongou as repostas nem se exaltou, conseguindo manter o foco nas respostas e ajudando, como dito, a levar a discussão para campos que lhe agradem mais. Apesar disso, se perdeu quando puxou a pauta de costumes —marca de campanha de seu adversário.

Controlando os minutos. O ex-presidente também conseguiu gerenciar melhor seu tempo. Na maioria das vezes, conseguiu dar a palavra final ou próximo de Bolsonaro.

Ele só deixou o presidente à frente do tempo na primeira metade do quinto bloco, quando Bolsonaro teve dois minutos e 24 segundos livres —usados majoritariamente para chamar o petista de "mentiroso".