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

Após reclamação, Petrobras reitera que não está descumprindo contratos

Imagem mostra fachada da sede da Petrobras, no Rio - Adriano Ishibashi/Framephoto/Estadão Conteúdo
Imagem mostra fachada da sede da Petrobras, no Rio Imagem: Adriano Ishibashi/Framephoto/Estadão Conteúdo

Fernanda Nunes

19/10/2021 20h14

A Petrobras reiterou que não está descumprindo contratos, contrariando a reclamação de um grupo de distribuidoras. Segundo essas empresas, a estatal estaria impondo cotas de fornecimento de gasolina e óleo diesel para o mês que vem. O caso foi levado pelas distribuidoras à Agência Nacional do Petróleo, Gás Natural e Biocombustíveis (ANP). A petrolífera alega, no entanto, que houve uma explosão de demanda de gasolina e óleo diesel nos meses de outubro e novembro e que suas refinarias não estão preparadas para atender esse crescimento.

Segundo a Petrobras, os pedidos extras solicitados para novembro vieram 20% acima da sua capacidade de suprimento no caso do diesel e 10% acima em relação à gasolina, uma demanda "atípica" tanto em termos de volume como no prazo para fornecimento. "Além disso, não houve, do ponto de vista do mercado, qualquer fato que justificasse esse acréscimo de demanda", afirmou a empresa.

Na prática, o que está acontecendo é que a Petrobras está deixando para as distribuidoras o compromisso de importação, antes assumido por ela. Uma parcela da demanda interna sempre foi coberta com produtos trazidos de outros países. Com o petróleo e os seus derivados em alta, esse custo estava sendo absorvido pela estatal. Ao deixar a importação para as distribuidoras, a Petrobras se desfaz desse custo.

"Atualmente, há dezenas de empresas cadastradas na ANP aptas para importação de combustíveis. Portanto, essa demanda adicional pode ser absorvida pelos demais agentes do mercado brasileiro", disse a Petrobras, em nota.

Essa mudança de postura da empresa foi comemorada pelos importadores, que veem nela uma oportunidade para ganhar espaço no mercado interno de combustíveis. "Ao reduzir a importação, a Petrobras institucionaliza o mercado livre de combustíveis no Brasil", afirmou Sérgio Araújo, presidente da Associação Brasileira dos Importadores de Combustíveis (Abicom). Em geral, a entidade critica a estatal. A luta da Abicom, em geral, é para que a Petrobras suba os seus preços, em linha com o mercado internacional, e, com isso, permita que concorrentes disputem participação de mercado. Dessa vez, no entanto, a associação aplaudiu a petrolífera.

A medida não agrada, no entanto, um grupo de distribuidoras. Seis delas recorreram à Agência Nacional do Petróleo, Gás Natural e Biocombustíveis (ANP) reclamando de cortes de até 70% nos pedidos de fornecimento de derivados de petróleo.

A Associação das Distribuidoras de Combustíveis (Brasilcom) diz que associadas receberam comunicados do setor comercial da Petrobras informando uma série de cortes unilaterais nos pedidos feitos para fornecimento de gasolina e óleo diesel para o mês de novembro.

"A consequência desse suprimento, entretanto, será o efeito nos preços dos combustíveis, uma vez que, segundo os importadores, os produtos no exterior estão em torno de 17% acima dos produtos locais", afirmou a Brasilcom, em nota, reafirmando que o abastecimento será garantido com importação.

A ANP também afastou risco de desabastecimento. "Não há indicação de desabastecimento no mercado nacional de combustíveis, nesse momento. A ANP segue realizando o monitoramento da cadeia de abastecimento e adotará, caso necessário, as providências cabíveis para mitigar desvios e reduzir riscos", afirmou o órgão regulador.