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

Motociata de Bolsonaro em São Paulo reúne 44% motos a menos do que em 2021

15.abr.2022 - Presidente Jair Bolsonaro participa de motociata em São Paulo - Roberto Costa/Código19/Estadão Conteúdo
15.abr.2022 - Presidente Jair Bolsonaro participa de motociata em São Paulo Imagem: Roberto Costa/Código19/Estadão Conteúdo

Henrique Santiago

Do UOL, em São Paulo

15/04/2022 21h12Atualizada em 16/04/2022 08h26

A motociata liderada pelo presidente Jair Bolsonaro (PL) reuniu nesta sexta-feira (15) um total 3.703 motos, segundo registros de pedágio enviados pela Artesp (Agência de Transporte do Estado de São Paulo) e a SLT (Secretaria de Logística e Transportes).

Em comparação com a primeira edição em São Paulo, em 12 de junho de 2021, houve uma queda de 44% no número de participantes, quando 6.661 veículos acompanharam Bolsonaro na capital paulista.

A concessionária CCR Autoban registrou a agem das 3.703 motocicletas nas praças de pedágio localizadas em Campo Limpo, Itupeva e Sumaré.

O evento chamado de Acelera para Cristo —que teve início perto do sambódromo do Anhembi, na zona norte da capital, e foi finalizado na cidade de Americana— bloqueou a rodovia dos Bandeirantes por cinco horas. A via foi totalmente liberada após as 13h.

Os dados foram coletados nas praças de pedágio da AutoBAn, através do Sistema MIP (Monitoramento de Informações de Pedágio).

Nas redes sociais, apoiadores de Bolsonaro puxaram a hashtag #MaiorMotociataDoMundo no Twitter, também utilizada na motociata de junho de 2021. Filho do presidente, o deputado federal Eduardo Bolsonaro (PSL-SP) escreveu na rede social: "o que vão inventar agora para diminuir a maior motociata de um político da história mundial provavelmente?"

O dono da Havan, Luciano Hang, disse que a motociata de Bolsonaro garantiria vitória no primeiro turno, em alusão às disputas presidenciais de outubro.

Em 2021, apoiadores de Bolsonaro declararam que a motociata em São Paulo tinha reunido 1,3 milhão de motos e estava registrada no Guinness World Records, o livro dos recordes, informação desmentida pelo próprio Guinness.

Motociata é campanha eleitoral antecipada, dizem especialistas

Marcada por críticas ao acordo entre WhatsApp e TSE (Tribunal Superior Eleitoral), a participação de Jair Bolsonaro na motociata desta sexta é vista como campanha eleitoral antecipada, segundo especialistas ouvidos pelo UOL.

"Trata-se de um eio do presidente com seus apoiadores e com evidente manifestação política por palavras e ações. O evento não se confunde com um ato de governo, já que a motociata não faz parte de nenhuma política pública e muito menos representa um desfile cívico", afirmou Renato Ribeiro de Almeida, doutor em direito pela USP (Universidade de São Paulo).

"Como uma motociata é algo que pode ser realizada em uma campanha, ela não é ilegal de antemão. É necessário verificar o que ocorreu durante o evento. Se houve pedidos para que se vote em A ou para que não se vote em B, aí vira um evento eleitoral", acrescentou Fernando Neisser, doutor em direito penal pela USP.