Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adicionando teste método Tools::sefazCCe #1053

Merged
merged 7 commits into from
Jun 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 19 additions & 7 deletions src/Tools.php
Original file line number Diff line number Diff line change
Expand Up @@ -425,8 +425,13 @@
* @return string
* @throws InvalidArgumentException
*/
public function sefazCCe(string $chave, string $xCorrecao, int $nSeqEvento = 1): string
{
public function sefazCCe(
string $chave,
string $xCorrecao,
int $nSeqEvento = 1,
?\DateTimeInterface $dhEvento = null,
?string $lote = null
): string {
if (empty($chave) || empty($xCorrecao)) {
throw new InvalidArgumentException('CC-e: chave ou motivo da correcao vazio!');
}
Expand All @@ -445,7 +450,7 @@
$tagAdic = "<xCorrecao>"
. $xCorrecao
. "</xCorrecao><xCondUso>$xCondUso</xCondUso>";
return $this->sefazEvento($uf, $chave, self::EVT_CCE, $nSeqEvento, $tagAdic);
return $this->sefazEvento($uf, $chave, self::EVT_CCE, $nSeqEvento, $tagAdic, $dhEvento, $lote);
}

/**
Expand Down Expand Up @@ -979,7 +984,9 @@
string $chave,
int $tpEvento,
int $nSeqEvento = 1,
string $tagAdic = ''
string $tagAdic = '',
?\DateTimeInterface $dhEvento = null,
?string $lote = null
): string {
$eventos = [
self::EVT_CCE => ['versao' => '1.00', 'nome' => 'envCCe'],
Expand Down Expand Up @@ -1014,7 +1021,10 @@
$cnpj = $this->config->cnpj ?? '';
$dt = new \DateTime(date("Y-m-d H:i:sP"), new \DateTimeZone($this->timezone));
$dt->setTimezone(new \DateTimeZone($this->timezone));
$dhEvento = $dt->format('Y-m-d\TH:i:sP');
$dhEventoString = $dt->format('Y-m-d\TH:i:sP');
if ($dhEvento != null) {
$dhEventoString = $dhEvento->format('Y-m-d\TH:i:sP');
}
$sSeqEvento = str_pad((string)$nSeqEvento, 2, "0", STR_PAD_LEFT);
$eventId = "ID" . $tpEvento . $chave . $sSeqEvento;
$cOrgao = UFList::getCodeByUF($uf);
Expand All @@ -1028,7 +1038,7 @@
$request .= "<CPF>$cnpj</CPF>";
}
$request .= "<chNFe>$chave</chNFe>"
. "<dhEvento>$dhEvento</dhEvento>"
. "<dhEvento>$dhEventoString</dhEvento>"
. "<tpEvento>$tpEvento</tpEvento>"
. "<nSeqEvento>$nSeqEvento</nSeqEvento>"
. "<verEvento>$verEvento</verEvento>"
Expand All @@ -1049,7 +1059,9 @@
$this->canonical
);
$request = Strings::clearXmlString($request, true);
$lote = $dt->format('YmdHis') . random_int(0, 9);
if ($lote == null) {
$lote = $dt->format('YmdHis') . random_int(0, 9);

Check warning on line 1063 in src/Tools.php

View check run for this annotation

Codecov / codecov/patch

src/Tools.php#L1063

Added line #L1063 was not covered by tests
}
$request = "<envEvento xmlns=\"$this->urlPortal\" versao=\"$this->urlVersion\">"
. "<idLote>$lote</idLote>"
. $request
Expand Down
2 changes: 2 additions & 0 deletions tests/Common/ToolsFake.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ public function __construct($configJson, Certificate $certificate, Contingency $
{
parent::__construct($configJson, $certificate, $contingency);
$this->soap = new SoapFake();
//@todo Gerar um certificado de testes usando CNPJ
$this->typePerson = 'J';
}

public function getSoap(): SoapFake
Expand Down
14 changes: 14 additions & 0 deletions tests/MakeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -1062,6 +1062,20 @@ public function test_tagISSQN(): void
$this->validarCriacaoTag2($std, $element, 'ISSQN');
}

public function test_taginfRespTec(): void
{
$std = new \stdClass();
$std->CNPJ = '76038276000120';
$std->xContato = 'Fulano de Tal';
$std->email = '[email protected]';
$std->fone = '51999999999';
$std->CSRT = '456';
$std->idCSRT = '123';

$element = $this->make->taginfRespTec($std);
$this->validarCriacaoTag2($std, $element, 'infRespTec', ['CSRT']);
}

private function validarCriacaoTag2(
\stdClass $std,
\DOMElement $element,
Expand Down
10 changes: 5 additions & 5 deletions tests/NFeTestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

class NFeTestCase extends TestCase
{
public $fixturesPath = '';
public $configJson = '';
public $contentpfx = '';
public $passwordpfx = '';
public string $fixturesPath = '';
public string $configJson = '';
public string $contentpfx = '';
public string $passwordpfx = '';

public function __construct($name = null, array $data = array(), $dataName = '')
{
Expand All @@ -20,7 +20,7 @@ public function __construct($name = null, array $data = array(), $dataName = '')
"tpAmb" => 2,
"razaosocial" => "SUA RAZAO SOCIAL LTDA",
"siglaUF" => "SP",
"cnpj" => "99999999999999",
"cnpj" => "93623057000128",
"schemes" => "PL_009_V4",
"versao" => "4.00",
"tokenIBPT" => "AAAAAAA",
Expand Down
51 changes: 22 additions & 29 deletions tests/ToolsTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,7 @@ class ToolsTest extends NFeTestCase
{
use URIConsultaNfce;

/**
* @var \NFePHP\NFe\Tests\Common\ToolsFake
*/
protected $tools;
protected ToolsFake $tools;

protected function setUp(): void
{
Expand Down Expand Up @@ -178,72 +175,68 @@ public function test_sefaz_envia_lote_xml_valido_modelo_55_compactado()
$this->assertEquals($request, $tools->getRequest());
}

/**
* @return void
*/
public function test_sefaz_inutiliza()
public function test_sefaz_inutiliza(): void
{
$this->tools->sefazInutiliza(1, 1, 10, 'Testando Inutilização', 1, '22');
$request = $this->tools->getRequest();
$esperado = $this->getCleanXml(__DIR__ . '/fixtures/xml/exemplo_xml_inutiliza.xml');
$this->assertSame($esperado, $request);
}

/**
* @return void
*/
public function test_sefaz_cadastro_cnpj()
public function test_sefaz_cadastro_cnpj(): void
{
$this->tools->sefazCadastro('RS', '20532295000154');
$request = $this->tools->getRequest();
$esperado = $this->getCleanXml(__DIR__ . '/fixtures/xml/exemplo_xml_cadastro_cnpj.xml');
$this->assertSame($esperado, $request);
}

/**
* @return void
*/
public function test_sefaz_cadastro_ie()
public function test_sefaz_cadastro_ie(): void
{
$this->tools->sefazCadastro('RS', '', '1234567');
$request = $this->tools->getRequest();
$esperado = $this->getCleanXml(__DIR__ . '/fixtures/xml/exemplo_xml_cadastro_ie.xml');
$this->assertSame($esperado, $request);
}

/**
* @return void
*/
public function test_sefaz_cadastro_cpf()
public function test_sefaz_cadastro_cpf(): void
{
$this->tools->sefazCadastro('RS', '', '', '60140174028');
$request = $this->tools->getRequest();
$esperado = $this->getCleanXml(__DIR__ . '/fixtures/xml/exemplo_xml_cadastro_cpf.xml');
$this->assertSame($esperado, $request);
}

/**
* @return void
*/
public function test_sefaz_status()
public function test_sefaz_status(): void
{
$this->tools->sefazStatus('RS');
$request = $this->tools->getRequest();
$esperado = $this->getCleanXml(__DIR__ . '/fixtures/xml/exemplo_xml_status.xml');
$this->assertSame($esperado, $request);
}

/**
* @return void
*/
public function test_sefaz_dist_dfe()
public function test_sefaz_dist_dfe(): void
{
$this->tools->sefazDistDFe(100, 200);
$request = $this->tools->getRequest();
$esperado = $this->getCleanXml(__DIR__ . '/fixtures/xml/exemplo_xml_dist_dfe.xml');
$this->assertSame($esperado, $request);
}

public function test_sefazCCe(): void
{
$chave = '35220605730928000145550010000048661583302923';
$xCorrecao = 'Descrição da correção';
$nSeqEvento = 1;
$dhEvento = new \DateTime('2024-05-31T11:59:12-03:00');
$lote = '12345';
$retorno = $this->tools->sefazCCe($chave, $xCorrecao, $nSeqEvento, $dhEvento, $lote);
//@todo Testar o $retorno
$request = $this->tools->getRequest();
$esperado = $this->getCleanXml(__DIR__ . '/fixtures/xml/exemplo_xml_request_cce_cnpj.xml');
$this->assertSame($esperado, $request);
}

/**
* @param string $xml
* @param int|string $idLote
Expand Down Expand Up @@ -292,7 +285,7 @@ protected function getCleanXml($filePath)
return $dom->ownerDocument->saveXML($dom->ownerDocument->documentElement);
}

public function ufProvider()
public function ufProvider(): array
{
return [
["AC"],
Expand Down
2 changes: 1 addition & 1 deletion tests/fixtures/xml/exemplo_xml_dist_dfe.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<distDFeInt xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.01">
<tpAmb>2</tpAmb>
<cUFAutor>35</cUFAutor>
<CNPJ>99999999999999</CNPJ>
<CNPJ>93623057000128</CNPJ>
<consNSU>
<NSU>000000000000200</NSU>
</consNSU>
Expand Down
10 changes: 5 additions & 5 deletions tests/fixtures/xml/exemplo_xml_inutiliza.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeInutilizacao4">
<inutNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00">
<infInut Id="ID35229999999999999955001000000001000000010">
<infInut Id="ID35229362305700012855001000000001000000010">
<tpAmb>1</tpAmb>
<xServ>INUTILIZAR</xServ>
<cUF>35</cUF>
<ano>22</ano>
<CNPJ>99999999999999</CNPJ>
<CNPJ>93623057000128</CNPJ>
<mod>55</mod>
<serie>1</serie>
<nNFIni>1</nNFIni>
Expand All @@ -16,16 +16,16 @@
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#ID35229999999999999955001000000001000000010">
<Reference URI="#ID35229362305700012855001000000001000000010">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>+s1tY9obNY/Emh2JF8n96gah9TI=</DigestValue>
<DigestValue>aDoDrwNJalOdH93K2A/F8CMqlE8=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>h9MRYnWWuUrWx4wjnSiRp95v+10XRL2TpceWW/M8Tc+uiESrAG6oQW9USj0YQyUnqsf5LtczCalQsrnfqce0amIv0/ZTaE6eLl5g1leY51rLtq/7OptxE83JtTWy5E+7wavzd0HT0+Ilrcl9sQsP242Wi2W7sGA/hClDbMgfFOOfghK1FyInWt1+X51pp/3u3wzjI/80/+bFhTWBSt3FpbYr2OK51KYWfGLASJIij5MIeI3gzlK6ioWt8rxdcsXDe400NSQPCN0NZPltBaDOCLllZLEz083R6jWRfZeGgXjZDEAHidHT9wGDzSoeLV2AjxWczyYXfm6nqAozUsdxxyxA8ukSbC8JMfY5ZHb6GAH9t5oEY6JvMhlIcXnIvw6WUBb36JcaS1K6HsIHQ9giS+4iMd/sUi1BNjzmTz4DP+pL81/kYJAUSKoby0N3nNcsjzh3Ol/31kSmmXQdSo847BOl1oOaiKHwyV6tyNBIlE7V7n4sdanUBP/k9oGPhoQSCYn+D5dnTybbim6Is/4aLWMNcvcvU/SK2qX1ea3gDNIussj+zSFKfbmZfnU5SV/KIPPZi2r1pXq+J0Hk8UfXRlL/eKie4O7ON6ATqmfVKkFO7WaEKlxPlL1Q9K4yzh3SV6GrYrJsI2n83A43x5Azqu/4fKzy9McbyQlNRvDx0tY=</SignatureValue>
<SignatureValue>dDq6+alZf6OGzuZ5siPx9tM59Uv05nOhsbQ6RSCT2SLjooKhiAAMSIS9/0sZsrQ0yZjys9N2ly1y3fauNzPRhc+/KA77YU8PoVmzZQZyFPUcI0T78hbfRw5Yoz3pszMWAxzWN9vo5Ng7aPrb5DSzlxPpMbTeSLg5K+AlNeAqLSOM5PcG84Oefzb/Yey/FfIbrfHhOz5+jgUMEcXgQ6PctXRPQXRA72pc5Vq28iht15hrrh7o2Jl0aVXPVQajUS4XTqC0pUjtzw3k1BbFOsBDA7AUYhFAqhxm3uklAAi9Swd0ms6H0x8Kz5fEh1jTt7mgaQ3haUpOfZd/C92QZIIMusMpNbDLaYtW+YNgmLHs7BpbhRyuRGR28O2wVw8dT5zpycu1K/puMeHnuEg98Kzl3RK0VasCUy2/Wa4kAtteHLfASZWSpOvrzGu/R/SN09n0oJi8g370vNTRc7o+1VV30RF57m7x4acJWBUleNLDfNUcsDTHZQCcmP2zIHWgiiYC7vePMZzclFI4Xvs9YAKR10pj39ZqCB0iTVha2kdFoywwK3oMcOYn88K3o0bx24aL9SM+67RGBCPX+awAVQ9uZtC2EoPECFppCMeNjEU5ik2D77Tmg9jD+R4Sav2BgYt7uP6ynI+5qNUkm66/n0g/skUNb0ocISZRN6Fq2Llxh18=</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIFkDCCA3gCCQD1479OxEO9njANBgkqhkiG9w0BAQsFADCBiTELMAkGA1UEBhMCQlIxGjAYBgNVBAgMEVJpbyBHcmFuZGUgZG8gU3VsMRUwEwYDVQQHDAxQb3J0byBBbGVncmUxEzARBgNVBAoMCm5mZXBocC1vcmcxEzARBgNVBAsMCm5mZXBocC1vcmcxHTAbBgNVBAMMFFNQRUQgUHJvamVjdHMgaW4gUEhQMB4XDTE4MDgwOTAyNDE1NVoXDTI4MDgwNjAyNDE1NVowgYkxCzAJBgNVBAYTAkJSMRowGAYDVQQIDBFSaW8gR3JhbmRlIGRvIFN1bDEVMBMGA1UEBwwMUG9ydG8gQWxlZ3JlMRMwEQYDVQQKDApuZmVwaHAtb3JnMRMwEQYDVQQLDApuZmVwaHAtb3JnMR0wGwYDVQQDDBRTUEVEIFByb2plY3RzIGluIFBIUDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK5QfErm/1RodP7DuZWap4BqFL9PlT5omTvEJK0sp9sPNApkPsdna8f037UylEssZSCQiwaE0Df6QvuR6IjasWsn4WWbtWbza60pxUQGb8TNH5hR3tgla5zfsEE0SaJib35WJ/pVQvUub4O9AUkgCBlTz8E/LjaBRykjtrEAeis+/5xRmy/Ph6FTFijnLauH5auQLz1LQDDQF0mAAdDYNIwGixJnpNyPgw7PvssAN7apURd3VjklvKUl/lzKN1t1pkxcz/lmC6gmYJyYUzXtyXzbEGZhfG9R+mCEhJZPDHKI83oCBJ53gUrJuQIeArKZm0CLMSZVpVAozZ+vE/Ksb3d7hl7LtfpFDsdZHYtRYJ4he1ZvrpghQGYxr0xAJpc4CN81k9LuWQsINQ3fLCUbCUXYPCI7Fui1ggSZzwtWNTD/Gpnh/tYEQRJetTAaEmVpx1SpNto9PB3lTat6ojoGrBPgsS3sKI3uFzlxMkcztOTFGeWliuBDP21mXZDLPEAVMzDQrcKlYJZ83aUXJTIH+43bAHWzYXUqvCxjlvQYB11ilB4nke3XJJvMpGJX/sLCSMAuNSjLGhUY7taGoZvhB/cUxTx942RG8vgUdB9eFEk37Q3qIUQbF8u/e5Xbge9XZtaAaQSIBoRUdaP6K9kJ3vcg7f8LM10r5QY5UYbuDw09AgMBAAEwDQYJKoZIhvcNAQELBQADggIBAJc8NjrRbht/URz+19b/bHr4xQUGm925X6Px8NfMu45rL8WGYgXIysZR6WtRLoXFIag+P/DiP+TJCrfDOTQv1tmyj6uMQxfvPXgRSA4zAnmWBW00qEY6+WL2i3+gd52KUYuOhDBksi4aHaSSBVv+HyqbliDGeKDKiGtEcWr3QP1efLVV2HyqwrlL3Vy1LhhAwDjVladkr7HVchFJ7CQg53q7yZI8Rwcaf/ab9pqAwI90/EUx6dwpDjT8YbFr2xorOfKzCKUIIjzHX8WrpT7N6LEGNN17SKrQB2xULQ0aAvnuk8snnJNav/fQr21DUm0T17zgsBUKMB4JtRx3ux+S8VhKd8gwXme3wuDI+5aE1jAg5w5viFDo8nHbW/rDLHoRkt7NoE+tgbJN6Dq/+DbJV/eyA6sNYmpA/bp+mCnTsjLjfS5Vj3UZP8s+OcLirjW1QYjND4gIvOtv2W4aTcjxHdH63F6FlpgzU8vJvYIUQ2y5SqjIywoDTIxn8GDzyyhbgRYkhAk3PvHlgixiq8Ip/hGs27wbO19j/y2IRxu6m1Ag/8v1KB/5WHdvVdyEhQfeYfMH/aiq41lsFGERbBwpugFfOy0it97sUDbZ8z5elrJ+bLE3V7/1kBAfSLPn8lBuPrSQpucS+DgghYlN4JzCytRAJs+qAmF5gwtvIJNRvGpY</X509Certificate>
Expand Down
42 changes: 42 additions & 0 deletions tests/fixtures/xml/exemplo_xml_request_cce_cnpj.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NFeRecepcaoEvento4">
<envEvento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">
<idLote>12345</idLote>
<evento xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.00">
<infEvento Id="ID1101103522060573092800014555001000004866158330292301">
<cOrgao>35</cOrgao>
<tpAmb>2</tpAmb>
<CNPJ>93623057000128</CNPJ>
<chNFe>35220605730928000145550010000048661583302923</chNFe>
<dhEvento>2024-05-31T11:59:12-03:00</dhEvento>
<tpEvento>110110</tpEvento>
<nSeqEvento>1</nSeqEvento>
<verEvento>1.00</verEvento>
<detEvento versao="1.00">
<descEvento>Carta de Correcao</descEvento>
<xCorrecao>Descrição da correção</xCorrecao>
<xCondUso>A Carta de Correcao e disciplinada pelo paragrafo 1o-A do art. 7o do Convenio S/N, de 15 de dezembro de 1970 e pode ser utilizada para regularizacao de erro ocorrido na emissao de documento fiscal, desde que o erro nao esteja relacionado com: I - as variaveis que determinam o valor do imposto tais como: base de calculo, aliquota, diferenca de preco, quantidade, valor da operacao ou da prestacao; II - a correcao de dados cadastrais que implique mudanca do remetente ou do destinatario; III - a data de emissao ou de saida.</xCondUso>
</detEvento>
</infEvento>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#ID1101103522060573092800014555001000004866158330292301">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>QBaThHO7pc+FByih9ObBjIIV4KY=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>le0uCxGKCZr9g8D62Y6xiN3LOpx7OIzVYPKt5r+RdTKDxC4mcdvVr1eAUIYf02eWDMh2becLFSgKb0751rvOckQ3KCkClN0Q8CCExSAfrr0THRjVw00hXX1RBUwFhG5xgPbDikzJTIoxgN8zqUAqAU8HDtjw6IX3Je2B/zB9SDbjJ317DSHKVUzx+f6MxNPRrx1tgHmMFaV6XEUbzSSZ86tb2Q1Oy5JE8wPc60fv4HoLkglHDFSWmwV1P7Kg/xchFnV9E/6FaFrohigqmv0WxhdX6IYHrl90erx5ciQDZd9I+UxtsEsGlFhq4Ppw8+t5WYpfZXiBbqhrzan2OzBC2zODaHWT2KdOTDQCprYGv0vh7xkGuRkS8q6KWLsKuSzXjCkT5WNhjF1ymOTOGTs8/1pms8myLwYR0n9SjATTzWEZU1EhmJudpoVwEuuv/l1G0Z7WTMFU1A4z/vguJWMlu5xoko7tUPiGZpfEcPp2cfpY3SYWKDvMh5wgmeLzZ+kuEVK1U7p/5H2mlHbBvO7FtBv/oVxa2ysPRYLHb0f/0turfBDe9SU+3XDe0+0FELim9HVBc2dnM5P91LvZnGNX0E7El1b88bjzFq+Z3LTSFJBTCp2BrQ3zQ1BV57334+v+Qj3KVGXE7EjdRJlqMajZXyMXbTYb0syxBVuTEM3BDpo=</SignatureValue>
<KeyInfo>
<X509Data>
<X509Certificate>MIIFkDCCA3gCCQD1479OxEO9njANBgkqhkiG9w0BAQsFADCBiTELMAkGA1UEBhMCQlIxGjAYBgNVBAgMEVJpbyBHcmFuZGUgZG8gU3VsMRUwEwYDVQQHDAxQb3J0byBBbGVncmUxEzARBgNVBAoMCm5mZXBocC1vcmcxEzARBgNVBAsMCm5mZXBocC1vcmcxHTAbBgNVBAMMFFNQRUQgUHJvamVjdHMgaW4gUEhQMB4XDTE4MDgwOTAyNDE1NVoXDTI4MDgwNjAyNDE1NVowgYkxCzAJBgNVBAYTAkJSMRowGAYDVQQIDBFSaW8gR3JhbmRlIGRvIFN1bDEVMBMGA1UEBwwMUG9ydG8gQWxlZ3JlMRMwEQYDVQQKDApuZmVwaHAtb3JnMRMwEQYDVQQLDApuZmVwaHAtb3JnMR0wGwYDVQQDDBRTUEVEIFByb2plY3RzIGluIFBIUDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK5QfErm/1RodP7DuZWap4BqFL9PlT5omTvEJK0sp9sPNApkPsdna8f037UylEssZSCQiwaE0Df6QvuR6IjasWsn4WWbtWbza60pxUQGb8TNH5hR3tgla5zfsEE0SaJib35WJ/pVQvUub4O9AUkgCBlTz8E/LjaBRykjtrEAeis+/5xRmy/Ph6FTFijnLauH5auQLz1LQDDQF0mAAdDYNIwGixJnpNyPgw7PvssAN7apURd3VjklvKUl/lzKN1t1pkxcz/lmC6gmYJyYUzXtyXzbEGZhfG9R+mCEhJZPDHKI83oCBJ53gUrJuQIeArKZm0CLMSZVpVAozZ+vE/Ksb3d7hl7LtfpFDsdZHYtRYJ4he1ZvrpghQGYxr0xAJpc4CN81k9LuWQsINQ3fLCUbCUXYPCI7Fui1ggSZzwtWNTD/Gpnh/tYEQRJetTAaEmVpx1SpNto9PB3lTat6ojoGrBPgsS3sKI3uFzlxMkcztOTFGeWliuBDP21mXZDLPEAVMzDQrcKlYJZ83aUXJTIH+43bAHWzYXUqvCxjlvQYB11ilB4nke3XJJvMpGJX/sLCSMAuNSjLGhUY7taGoZvhB/cUxTx942RG8vgUdB9eFEk37Q3qIUQbF8u/e5Xbge9XZtaAaQSIBoRUdaP6K9kJ3vcg7f8LM10r5QY5UYbuDw09AgMBAAEwDQYJKoZIhvcNAQELBQADggIBAJc8NjrRbht/URz+19b/bHr4xQUGm925X6Px8NfMu45rL8WGYgXIysZR6WtRLoXFIag+P/DiP+TJCrfDOTQv1tmyj6uMQxfvPXgRSA4zAnmWBW00qEY6+WL2i3+gd52KUYuOhDBksi4aHaSSBVv+HyqbliDGeKDKiGtEcWr3QP1efLVV2HyqwrlL3Vy1LhhAwDjVladkr7HVchFJ7CQg53q7yZI8Rwcaf/ab9pqAwI90/EUx6dwpDjT8YbFr2xorOfKzCKUIIjzHX8WrpT7N6LEGNN17SKrQB2xULQ0aAvnuk8snnJNav/fQr21DUm0T17zgsBUKMB4JtRx3ux+S8VhKd8gwXme3wuDI+5aE1jAg5w5viFDo8nHbW/rDLHoRkt7NoE+tgbJN6Dq/+DbJV/eyA6sNYmpA/bp+mCnTsjLjfS5Vj3UZP8s+OcLirjW1QYjND4gIvOtv2W4aTcjxHdH63F6FlpgzU8vJvYIUQ2y5SqjIywoDTIxn8GDzyyhbgRYkhAk3PvHlgixiq8Ip/hGs27wbO19j/y2IRxu6m1Ag/8v1KB/5WHdvVdyEhQfeYfMH/aiq41lsFGERbBwpugFfOy0it97sUDbZ8z5elrJ+bLE3V7/1kBAfSLPn8lBuPrSQpucS+DgghYlN4JzCytRAJs+qAmF5gwtvIJNRvGpY</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</evento>
</envEvento>
</nfeDadosMsg>