;(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
Logo Pagbenk Seu dinheiro rende mais
Topo

Governo monitora caminhoneiros e negocia medidas para evitar nova greve

Tânia Monteiro e André Borges; Colaborou Renato Onofre

Brasília

23/03/2019 09h15Atualizada em 23/03/2019 09h47

O governo acompanha atentamente as primeiras movimentações de caminhoneiros no país, que ameaçavam dar início a nova paralisação. A classe entende que os principais compromissos assumidos pelo governo Michel Temer no ano ado não estão sendo cumpridos.

Os monitoramentos são feitos pelo Gabinete de Segurança Institucional (GSI), que tem por missão se antecipar aos fatos para evitar problemas para o governo. As investigações apontam que teve início uma articulação por meio de mensagens de WhatsApp, que já começam a falar em paralisações para o dia 30 de março.

O governo quer evitar, a todo custo, que qualquer tipo de paralisação aconteça. Não quer, nem de longe, imaginar que pode enfrentar o mesmo problema que parou o país no ano ado.

Os primeiros dados são de que, neste momento, o movimento não tem a mesma força percebida no ano ado, mas há temor de que os caminhoneiros possam se fortalecer e cheguem ao potencial explosivo da última greve. Dentro do Palácio, o objetivo é ser mais ágil e efetivo e não deixar a situação sair de controle por ficarem titubeando sobre o assunto, como aconteceu com o ex-presidente Michel Temer, no ano ado.

Na semana ada, Wallace Landim, o Chorão, presidente das associações Abrava e BrasCoop, que representam a classe de caminhoneiros, teve reunião com o ministro-chefe da Casa Civil, Onyx Lorenzoni. Chorão também teve encontro com a diretoria da Agência Nacional de Transportes Terrestres (ANTT) e, ontem, se reuniu com o secretário executivo do Ministério da Infraestrutura, Marcelo Sampaio.

Segundo Landim, os ministros disseram que, até a próxima semana, o próprio presidente Jair Bolsonaro deve se manifestar sobre os pedidos dos caminhoneiros. Na pauta de reivindicações da classe estão três pleitos. O primeiro pedido diz respeito ao piso mínimo da tabela de frete. Os caminhoneiros reclamam que as empresas têm descumprido o pagamento do valor mínimo e cobram uma fiscalização mais ostensiva da ANTT. A agência, segundo Landim, prometeu mais ações e declarou que já fez mais de 400 autuações contra empresas.

O segundo item da pauta é o preço do óleo diesel. Os caminhoneiros querem que o governo estabeleça algum mecanismo para que o aumento dos combustíveis, que se baseia em dólar, seja feito só uma vez por mês, e não mais diariamente.

Wallace Landim afirma que não é a favor de uma paralisação no próximo dia 30, porque acredita que o governo tem buscado soluções, mas diz que "o tempo é curto" e as mudanças estão demorando. "Não acredito que deva ocorrer greve no dia 30, mas paralisações não estão descartadas. Estamos conversando."

Por meio de nota, o Ministério de Infraestrutura declarou que, no Fórum dos Transportadores Rodoviários de Cargas realizado ontem, esteve reunido com lideranças do setor e ouviu as demandas. O governo confirmou que tratou do piso mínimo, pontos de paradas e descanso e o preço do óleo diesel. As informações são do jornal O Estado de S. Paulo.