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

Assembleia de SP aprova texto-base do pacote fiscal de Doria

Discussão sobre projeto que propõe ajustes fiscais no Estado tem início na Alesp - Divulgação/Bruna Sampaio/Alesp
Discussão sobre projeto que propõe ajustes fiscais no Estado tem início na Alesp Imagem: Divulgação/Bruna Sampaio/Alesp

Tulio Kruse

São Paulo

14/10/2020 07h47

A Assembleia Legislativa de São Paulo aprovou, no final da noite de ontem por 48 votos a 37, o texto-base do pacote fiscal proposto pelo governador João Doria (PSDB). Com a intenção de poupar despesas no Orçamento do próximo ano, a proposta extingue estatais e fundações, reduz benefícios fiscais na cobrança de impostos, e autoriza um plano de demissão voluntária incentivada que pode atingir cerca de 5 mil servidores estaduais.

Os deputados ainda devem votar se recusam, ou não, trechos que foram retirados do projeto original. A votação final do projeto deve decidir sobre a extinção de quatro entidades (Fundação para o Remédio Popular, Fundação Oncocentro, Instituto de Medicina Social e de Criminologia e Fundação Instituto de Terras), a alteração na cobrança do Imposto sobre Transmissão "Causa Mortis" e Doação de Quaisquer Bens ou Direitos (ITCMD), e um artigo que obrigaria universidades, a Fundação de Amparo à Pesquisa de São Paulo (Fapesp) e fundos ligados a funcionários da segurança pública de rear seus superávits financeiros de 2019 ao Tesouro estadual.

Por volta de 0h40 de hoje a sessão foi encerrada e a decisão sobre o restante do pacote postergada. A próxima sessão extraordinária ainda não tem data para ocorrer. A expectativa é de que esses itens sejam retirados definitivamente do projeto, após um compromisso do governo estadual em recuar desses pontos.

A tramitação do pacote fiscal, o mais abrangente projeto enviado por Doria desde o início de seu governo, foi marcada pela união de partidos com diferentes tendências ideológicas contra a proposta. A oposição conseguiu barrar o projeto por quase duas semanas no Plenário, deixando de comparecer.

O governo, no entanto, o conseguiu furar o bloqueio com dissidências no PSL e no PTB. A deputada Janaína Paschoal (PSL) teve suas sugestões de alteração aceitas pela base governista, e ou a votar favoravelmente. Além disso, a presença do deputado Roque Barbieri (PTB) foi decisiva para alcançar o quórum mínimo de 48 deputados. Ele também votou "sim" ao projeto.

Seu colega de bancada, o deputado Douglas Garcia, classificou a votação como "a maior vergonha na história dessa Assembleia". O líder do partido, deputado Campos Machado, foi à tribuna para falar em "traição" logo no início da sessão.

"Eu fiz uma escolha, assumo a minha escolha: escolhi salvar os serviços de saúde importantíssimos para os mais pobres", disse Janaína, na tribuna. Ela insistiu que, se não fosse por sua proposta de emenda, o projeto seria aprovado integralmente. "Estão querendo criar o factóide de que eu fui o voto decisivo, não fui. O projeto ia ar na íntegra porque o governo trouxe todos os votos."

A previsão inicial do governo era de que, em seu formato original, o pacote pouparia cerca de R$ 8,8 bilhões no Orçamento. Caso os trechos destacados sejam derrubados pela Assembleia, um novo cálculo do valor economizado terá de ser feito.

"Chegamos a um ponto em que conseguimos explicar para mais alguns deputados que, eu acho, entenderam os pontos principais do projeto", disse o relator especial, deputado Alex de Madureira (PSD), um dos principais aliados do governo na tramitação do pacote. "Com essas mudanças no roteiro de votação, alguns pontos que foram destacados, reverteu alguns votos para que o projeto seja aprovado."

Além de desagradar partidos da esquerda, por causa da extinção de estatais, o projeto também desagradava parlamentares da direita por causa das autorizações para a cobrança do Imposto sobre Circulação de Mercadorias e Serviços (ICMS). Deputados do Novo, alas do PSL e alguns integrantes da bancada da bala alertavam, durante as discussões do pacote, para o risco de aumento da cobrança do imposto sobre itens da cesta básica. Um dos artigos do projeto trata alíquotas abaixo de 18% como benefício fiscal. Abaixo dessa faixa de cobrança estão produtos como ovos, carne, etanol e medicamentos genéricos. O governador já se comprometeu publicamente a não aumentar a cobrança sobre itens básicos de alimentação nem remédios.

"Depois de muita confusão e de perceberem que o projeto não iria avançar, eles cederam uma pequena parte à deputada Janaína Paschoal que teve, praticamente, o seu roteiro aceito por completo", ironizou o deputado Caio França (PSB), na tribuna, ao criticar o pacote. A bancada do PSB também ficou rachada, com parte dos parlamentares favoráveis ao projeto.