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

Leonardo Sakamoto

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Irrelevante na ONU, Bolsonaro viajou a Nova York para fazer live de luxo

Colunista do UOL

20/09/2021 12h03

Receba os novos posts desta coluna no seu e-mail

Email inválido

Jair Bolsonaro afirmou que vai falar umas "verdades" na Assembleia Geral das Nações Unidas. O problema é que, por lá, ninguém está interessado nessas verdades. Só o público dele no Brasil. Ou seja, vai ser, como em anos anteriores, uma versão de luxo das lives que ele faz às quintas-feiras. E paga com o dinheiro do contribuinte.

O mundo quer nossas matérias-primas, nosso mercado consumidor e nossos serviços ambientais, mas não o que pensa (sic) nosso chefe de Estado porque já entendeu que ele não tem o que dizer. A menos que defenda com todas as letras sua política de genocídio de povos indígenas ou que avise que vai criar entraves a investidores internacionais, o seu discurso na abertura da Assembleia Geral, nesta terça (21), será mais um factoide a ser consumido pelos fãs.

Vai deixar alguns jornalistas e diplomatas envergonhados? Vai. No máximo, confirmar se ele está em uma fase de recuo ou de avanço em suas aproximações sucessivas contra as instituições democráticas. E só.

Um factoide tão bizarro quanto ele comer pizza na rua para vender a ideia de que pouco se importa em não poder entrar em restaurantes de Nova York (o protocolo de saúde da cidade obriga vacinação para frequentar o interior desses estabelecimentos, coisa que ele diz que não fez) desde que mantenha seus "princípios". O naco negacionista de seus seguidores pira com a necropolítica de Jair.

Como já disse aqui em anos anteriores, ao contrário do que circulam em grupos bolsonaristas, abrir a Assembleia Geral não é sinal de prestígio deste atual presidente, mas tradição inaugurada na fundação da ONU. Uma homenagem ao Brasil, em reconhecimento a uma época em que a diplomacia brasileira fazia diferença no mundo.

Além disso, o discurso de um chefe de Estado é, na grande maioria das vezes, voltado mais a seu público interno do que à comunidade das nações. Mesmo quando ele vomita nacionalismo e teorias conspiratórias contra nossa soberania, está influenciando a sua plateia, não o mundo.

Com isso, o presidente excita aquela camada de 11% a 15% da população, segundo o último Datafolha, que pula no abismo se ele mandar ou acredita em tudo o que diz. Ou seja, vai usar mais uma vez a política externa para fortalecer o bolsonarismo-raiz, base de sua militância e seu escudo de proteção.

É, por exemplo, para os ruralistas que o apoiam que ele falava quando defendeu na Assembleia Geral do ano ado que os incêndios na Amazônia são culpa dos indígenas e não de pecuaristas, madeireiros, grileiros de terra.

Como explica um diplomata que vários anos de ONU, o discurso na AG é um cartão de visitas para o mundo. Mas, no caso de Bolsonaro, o mundo já sabe o que vai encontrar. A elite política e econômica do Ocidente talvez faça cara de nojinho e realize alguns protestos.

A maioria sabe, contudo, que tanto imagens de satélites com fogo e desmatamento quanto uma montanha de quase 600 mil mortos por covid não mentem. Bolsonaro conta com o desprezo de uma boa parte dos líderes das democracias ocidentais por seu comportamento biocida, suas políticas piromaníacas, terraplanismo sanitário e sua incompetência econômica.

A garantia de que Bolsonaro vai mentir na ONU é a mesma de que o sol nascerá a cada novo dia. Ele aposta que a construção da realidade para os seus seguidores não brota de fatos, mas da narrativa que sai de sua boca. E, para eles, palavras firmes de seu líder no exterior representam que ele peita o mundo - mesmo que o mundo o veja como um covarde.

Quem fica agradecido com isso é o presidente norte-americano Joe Biden, que discursa após o brasileiro.

Após o desastre que representou a forma como tirou as tropas do Afeganistão, é bom que ele tenha Bolsonaro logo antes. Primeiro, para lembrar aos democratas nos Estados Unidos que Donald Trump, de quem o governo brasileiro era vassalo e cópia mal-ajambrada, pode voltar. E, segundo, qualquer líder mundial ganha a envergadura de um estadista falando depois de Jair.