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

MPF tenta impedir festas particulares de quiosques no Réveillon do Rio

Queima de fogos durante o último Réveillon na praia de Copacabana. Neste ano, os fogos foram cancelados pela pandemia - Dikran Junior/Futura Press/Estadão Conteúdo
Queima de fogos durante o último Réveillon na praia de Copacabana. Neste ano, os fogos foram cancelados pela pandemia Imagem: Dikran Junior/Futura Press/Estadão Conteúdo

Do UOL, em São Paulo

14/12/2020 20h26

O MPF (Ministério Público Federal) anunciou hoje que ingressou com uma ação civil pública para tentar impedir a realização de festas particulares em quiosques da orla do Rio de Janeiro no Réveillon. Apesar da situação preocupante da pandemia do novo coronavírus, com piora nos números nas últimas semanas, a capital fluminense autorizou os estabelecimentos a montar cercados na faixa de areia e cobrar ingresso na virada do ano.

A ação teve origem na Procuradoria da República do Rio de Janeiro. A intenção é conseguir uma decisão liminar para ainda evitar as festas particulares. A ação é movida contra a União, o município do Rio de Janeiro, a Riotur e a concessionária Orla Rio, que istra os mais de 300 quiosques entre as praias do Leme ao Pontal.

No início do mês, foi noticiado que quiosques vendiam ingressos para as festas de Réveillon por cerca de R$ 400 por pessoa, mesmo após a decisão da Prefeitura do Rio de cancelar a tradicional queima de fogos de artifício e os espetáculos musicais nas areias cariocas.

Segundo o procurador da República Renato Machado, autor da ação, as praias são federais e "de uso comum do povo". Por isso, não é possível ocupar o terreno que pertence à Marinha para usos particulares sem autorização prévia federal.

Machado também lembrou que situação semelhante já aconteceu no ano ado, quando a Justiça fluminense chegou a derrubar um decreto da Prefeitura do Rio que autorizava a utilização da faixa de areia para eventos particulares, mas depois o STJ (Superior Tribunal de Justiça) deferiu uma liminar e manteve a autorização.

"Diante da reincidência dos fatos, mesmo em um ano atípico, com a pandemia do coronavírus, foi concedida autorização para a concessionária [Orla Rio], não restando outra alternativa senão judicializar o caso", disse o procurador.

Na ação, o MPF pede que a União fiscalize presencialmente o cumprimento da proibição de uso da faixa de areia por meio da SPU (Secretaria de Patrimônio da União).