@aztec/protocol-contracts 3.0.0-nightly.20260104 → 3.0.0-nightly.20260106
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/AuthRegistry.json +25 -160
- package/artifacts/ContractClassRegistry.json +18 -18
- package/artifacts/ContractInstanceRegistry.json +29 -29
- package/artifacts/FeeJuice.json +24 -24
- package/artifacts/MultiCallEntrypoint.json +14 -14
- package/artifacts/Router.json +12 -12
- package/dest/protocol_contract_data.js +3 -3
- package/package.json +4 -4
- package/src/protocol_contract_data.ts +3 -3
package/artifacts/FeeJuice.json
CHANGED
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
"bytecode": "JwACBAEoAAABBIBOJwAABE4nAgMEAicCBAQAHwoAAwAEAEwcAE1NBi0ITAEtCE0CJQAAAEolAAAAmCcCAQROJwICBAA7DgACAAEsAABDADBkTnLhMaApuFBFtoGBWF0oM+hIeblwkUPh9ZPwAAAAJwBEBAMnAEUBACcARgQAJwBHAAAnAEgBAScASQQBJwBKAAEnAEsEAiYlAAAB7R4CAAMAHgIABAAeAgAFAQoiBUMGFgoGBxwKBwgABCoIBQcKIgZFBSQCAAUAAADVJwIIBAA8BggBCioHBAUkAgAFAAAA5yUAAAITLQgBBCcCBQQDAAgBBQEnAwQEAQAiBAIFLQoFBi0MSgYAIgYCBi0OAQYnAgYEBy0IAActCgQILQhLCS0IRQoACAAGACUAAAIlLQIAAC0KCAUKIgVHBAoiBEUGJAIABgAAAU4lAAAEBy8KAAUABBwKBAYGHAoGBQAcCgUEBgAqBAIFDioEBQYkAgAGAAABeiUAAAQZLQgBAicCBAQDAAgBBAEnAwIEAQAiAgIELQoEBi0MSgYAIgYCBi0OAQYnAgQEBi0IAAYtCgIHLQhLCC0IRQkACAAEACUAAAIlLQIAAC0KBwEKIgFHAgoiAkUEJAIABAAAAeElAAAEBxwKBQIAMAoAAgABJigAAAQEeE4MAAAEAyQAAAMAAAISKgEAAQXaxfXWtEoybTwEAgEmKgEAAQV33+wLY5yXoTwEAgEmJQAAAe0cCgIFACsCAAYAAAAAAAAAAAEAAAAAAAAAAAQqBQYHLQgBBScCBgQEAAgBBgEnAwUEAQAiBQIGLQoGCC0MRwgAIggCCC0MRwgAIggCCC0MRwgtCAEGJwIIBAUACAEIAScDBgQBACIGAggtCggJLQxHCQAiCQIJLQxHCQAiCQIJLQxHCQAiCQIJLQ4HCS0IAQcAAAECAS0OBQctCAEFAAABAgEtDgYFLQgBBgAAAQIBLQxGBi0IAQgAAAECAS0MRQgtCEYEIwAAAvMMIgRLCSQCAAkAAAOpIwAAAwUkAgADAAADEiMAAANCJwIBBAktCAAJLQoHCi0KBQstCgYMLQoIDS0ISg4ACAABACUAAAQrLQIAACMAAANCLQsIAQoiAUUCJAIAAgAAA1wnAgMEADwGAwEnAgEECS0IAAktCgcKLQoFCy0KBgwtCggNAAgAAQAlAAAFKi0CAAAtCwcBLQsFAi0LBgMtDgEHLQ4CBS0OAwYtDEgIACICSQMtCwMBJgwqBAIJJAIACQAAA7sjAAAD+QAiAQIKACoKBAstCwsJJwIKBAstCAALLQoHDC0KBQ0tCgYOLQoIDy0KCRAACAAKACUAAAQrLQIAACMAAAP5ACIESQktCgkEIwAAAvMqAQABBbq7IdeCMxhkPAQCASYqAQABBdAH6/TLxmeQPAQCASYlAAAB7S0LBAYKIgZFByQCAAcAAARKJwIIBAA8BggBLQsDBgoiBkQHJAIABwAABMYjAAAEYC0LAQctCwIIDCIGRAkkAgAJAAAEeiUAAAYmLQIHAycABAQEJQAABjgtCAUJACIJAgoAKgoGCy0OBQsAIgZJBQ4qBgUHJAIABwAABLElAAAEGS0OCQEtDggCLQ4FAy0MRQQjAAAFKScCBgQHLQgABy0KAQgtCgIJLQoDCi0KBAsACAAGACUAAAUqLQIAAC0LAQYtCwIHLQsECC0CBgMnAAQEBCUAAAY4LQgFCQAiCUkKLQ4FCi0OCQEtDgcCLQxJAy0OCAQjAAAFKSYlAAAB7S0IRgUjAAAFOAwiBUQGJAIABgAABaAjAAAFSi0LAgUtCwUGACIGAgYtDgYFLQgBBicCBwQFAAgBBwEnAwYEAQAiBQIHJwIIBAQAIgYCCT8PAAcACS0LAQUtCwMHLQsECC0OBQEtDgYCLQ4HAy0OCAQmLQsDBgwqBQYHJAIABwAABbYjAAAGGC0LAgcAIgcCCQAqCQUKLQsKCC0LAQkAIgkCCwAqCwUMLQsMCgAqCAoLLQsECC0CBwMnAAQEBSUAAAY4LQgFCgAiCgIMACoMBQ0tDgsNLQ4JAS0OCgItDgYDLQ4IBCMAAAYYACIFSQYtCgYFIwAABTgqAQABBeQIUEUCtYwfPAQCASYtAQMGCgAGAgckAAAHAAAGTiMAAAZXLQADBSMAAAaWLQABBQAAAQQBAAADBAktAAMKLQAFCwoACgkMJAAADAAABpEtAQoILQQICwAACgIKAAALAgsjAAAGbScBBQQBJg==",
|
|
66
|
-
"debug_symbols": "tZnbbhs5DIbfxde+
|
|
66
|
+
"debug_symbols": "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"
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
69
|
"name": "balance_of_public",
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
}
|
|
116
116
|
},
|
|
117
117
|
"bytecode": "JwACBAEoAAABBIBGJwAABEYnAgIEAScCAwQAHwoAAgADAEQtCEQBJQAAAEUlAAAASy0CAUUnAgIERScCAwQBOw4AAwACJwBDBAMmJQAAAm0eAgADAB4CAAQAHgIABQknAgYBASQCAAUAAABxJQAAApMnAgUAACsCAAcAAAAAAAAAAAIAAAAAAAAAAC0IAQgnAgkEBQAIAQkBJwMIBAEAIggCCS0KCQotDgUKACIKAgotDgUKACIKAgotDgUKACIKAgotDgcKLQgBBwAAAQIBLQgBCQAAAQIBLQgBCgAAAQIBLQgBCwAAAQIBJwIMAAEtCAENJwIOBAQACAEOAScDDQQBACINAg4tCg4PLQ4MDwAiDwIPLQ4BDwAiDwIPLQ4FDy0ODQctDggJJwIBBAItDgEKJwIBAQAtDgELJwIIBAAnAgwEAS0KCAIjAAABTgwiAkMDJAIAAwAAAecjAAABYC0LCQItCwIDACIDAgMtDgMCLQgBAycCBAQFAAgBBAEnAwMEAQAiAgIEJwIIBAQAIgMCDT8PAAQADS0LBwItCwoELQ4CBy0OAwktDgQKLQ4GCwAqAwwELQsEAgoqAgUDCioDAQQkAgAEAAAB0SUAAAKlLwoAAgABHAoBAwYcCgMCABwKAgEGJi0LCgMMKgIDBCQCAAQAAAH9IwAAAl8tCwkEACIEAg0AKg0CDi0LDggtCwcNACINAg8AKg8CEC0LEA4AKggODy0LCwgtAgQDJwAEBAUlAAACty0IBQ4AIg4CEAAqEAIRLQ4PES0ODQctDg4JLQ4DCi0OCAsjAAACXwAqAgwDLQoDAiMAAAFOKAAABAR4RgwAAAQDJAAAAwAAApIqAQABBdrF9da0SjJtPAQCASYqAQABBdwbbuv7trxDPAQCASYqAQABBbq7IdeCMxhkPAQCASYtAQMGCgAGAgckAAAHAAACzSMAAALWLQADBSMAAAMVLQABBQAAAQQBAAADBAktAAMKLQAFCwoACgkMJAAADAAAAxAtAQoILQQICwAACgIKAAALAgsjAAAC7CcBBQQBJg==",
|
|
118
|
-
"debug_symbols": "
|
|
118
|
+
"debug_symbols": "tZfdbts8DIbvxcc5EEmRknorQ1GkrTsECNIiSz7gQ5F7H2mL/ulgYci2k+Qxbb1+SVOy9dm99s/X70+H09v7j+7h22f3fD4cj4fvT8f3l/3l8H7S6GcX7CfrL+26zN1D2nVFjyDovx4C7DoIwSFXAFLIBrkClQrRT0U/xR5hj4hHJFVI4CAVzNMI7OC3KNHBBNUxBnRIFQAcpAIGB3YoFUgFMRiUCpbFCLkCe4Q9Ih6xLAawLEaQCpbFCOxgt9AaYiGHNAJZFiNIBctigMFhVGC7hg2kggQHdrBbaF6UyCFXyB7JHikeKTUSAzmYjijY4x7BrGqnRAQHdigVyC7OBrlCVM8UDFIF9oiZH0F1SM1HqyHZ3a2GA2SP5DQWIRaLqDKbwwEGh2yQK6BHMFUgG1UMpEL0SNS7R7XBHBxiHcUuKC4oHkno4LfIHsn16XAJDi5Y6nAJw6jbbdf5jHy6nPveJuRiiurE/dif+9Olezhdj8dd99/+eB0u+vGxPw3/l/1Zz6rr/vSq/yr4djj2RrfdPDpsD0XKpY5GfeqTAICsJGBbQuer5KqhnNIkkmClgdsahMxcNZR14IZGK5UMbgMLwmYqsSGhc3TSwAJ5thFXGvwXyiH/thykw1xCO2+zHLlRjkIUppJSlC0bpWGDCCcfupjFP0xFQthMpSVBgpOLPCfCuG7zRo8ygrtglEV/lXVvADUqClM9eTahq/VaodGiKYVUJVLiuZoUea3BrXp6LSLMLrTn1grSyqPANE8Wy8YvGqlRz+KJCPB9LnBevPQVuq3R6E9g9EcCHNOdGlImjVzuyyXZ2TGXRGFTAxsdCimR+0hlux7Y6NAUvTdSlLsUSvSlq3C+SwECugkIst0b2Kinfju4jZgZF7P198tZwvRYCzbaq7VogPC0aCTcXDSw1V4i02OVvGiNcN/yt3gZfFn+CFqTDecpv2yNLy6o9ZoP+hZxH6Ewb70MiFoi+mk+iWDefMFSbC2BMjthkW2Rdjq4SCeFTRFpfS8UmboMaF7QC/z+lJveCQXvnLRTf5TEfzrtvyo86uH+5XBe7T9vJnU+7J+PfT18u55eFmcv/3/4Gd+/fpzfX/rX67k3pXkTqz/fQL/dgcuj7VXtULcfQGSHYIe6i9CN6uPNzPwE"
|
|
119
119
|
},
|
|
120
120
|
{
|
|
121
121
|
"name": "check_balance",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
}
|
|
158
158
|
},
|
|
159
159
|
"bytecode": "JwACBAEoAAABBIBGJwAABEYnAgIEAScCAwQAHwoAAgADAEUcAEVFBi0IRQElAAAARiUAAABxJwIBBEYnAgIEADsOAAIAASwAAEMAMGROcuExoCm4UEW2gYFYXSgz6Eh5uXCRQ+H1k/AAAAAnAEQEAyYlAAAC2B4CAAMAHgIABAAeAgAFCScCBgEBJAIABQAAAJclAAAC/h4CAAUBCiIFQwcWCgcIHAoICQAEKgkFCCcCBQEACioHBQkkAgAJAAAAyicCCgQAPAYKAScCBwAAKwIACQAAAAAAAAAAAgAAAAAAAAAALQgBCicCCwQFAAgBCwEnAwoEAQAiCgILLQoLDC0OBwwAIgwCDC0OBwwAIgwCDC0OBwwAIgwCDC0OCQwtCAEJAAABAgEtCAELAAABAgEtCAEMAAABAgEtCAENAAABAgEnAg4AAS0IAQ8nAhAEBAAIARABJwMPBAEAIg8CEC0KEBEtDg4RACIRAhEtDggRACIRAhEtDgcRLQ4PCS0OCgsnAggEAi0OCAwtDgUNJwIIBAAnAgoEAS0KCAIjAAABogwiAkQDJAIAAwAAAlIjAAABtC0LCwItCwIDACIDAgMtDgMCLQgBAycCBAQFAAgBBAEnAwMEAQAiAgIEJwIIBAQAIgMCDj8PAAQADi0LCQItCwwELQ4CCS0OAwstDgQMLQ4GDQAqAwoELQsEAgoqAgcDCioDBQQkAgAEAAACJSUAAAMQLwoAAgADHAoDBAYcCgQCABwKAgMGDCoDAQIKKgIFASQCAAEAAAJRJQAAAyImLQsMAwwqAgMEJAIABAAAAmgjAAACyi0LCwQAIgQCDgAqDgIPLQsPCC0LCQ4AIg4CEAAqEAIRLQsRDwAqCA8QLQsNCC0CBAMnAAQEBSUAAAM0LQgFDwAiDwIRACoRAhItDhASLQ4OCS0ODwstDgMMLQ4IDSMAAALKACoCCgMtCgMCIwAAAaIoAAAEBHhGDAAABAMkAAADAAAC/SoBAAEF2sX11rRKMm08BAIBJioBAAEFDv4gSes3Tjw8BAIBJioBAAEFursh14IzGGQ8BAIBJioBAAEFhHKAwoQjC0Y8BAIBJi0BAwYKAAYCByQAAAcAAANKIwAAA1MtAAMFIwAAA5ItAAEFAAABBAEAAAMECS0AAwotAAULCgAKCQwkAAAMAAADjS0BCggtBAgLAAAKAgoAAAsCCyMAAANpJwEFBAEm",
|
|
160
|
-
"debug_symbols": "
|
|
160
|
+
"debug_symbols": "tZjdbho9EIbvZY858PzYY3MrVRSRhFRIiEQUPulTxL13bDzehcpWRdsTeHZ2/e78eRb2a3rbvpy/P+8O7x8/pvW3r+nluNvvd9+f9x+vm9Pu46DWr8nlD4A4rWk1AdK0lvytx+AUSA0AGWIFDhU8KPgM2ZJXBTDw9ZQ4g2xJCtEZmCWRQbwCOpzWGDJIhexPAbJTZKfYLGwWb5bsWIHgDLxBqiBsYLeIZJAF1XlMYBCuQM4ZeINUAdggVshJxZghVihRFJAKbBY2izdLiSJDiaKAN0gVShQF8i00hxTRIFQoURTwV+BSdVQgvYa0/szOgA1SBa9RkM8gFQIamEXMImaJZolmyeUmziBX8E4dI8jgDVIFIIN8sRbFIxpknzVkT2BgluJ8AdVhdd57VWa9u885vIJZcotyFswtWiCaJcYKia+J8rlFWTs8QKiANWMBfQUyC7FBXqX+BCYDs+Qqc8ogFfImKquCCYoJSrPUooRot4hmKektIFcQBwZ1uUBZdbmsJhsFz6fjdpsnwWI26MT43By3h9O0Ppz3+9X032Z/Lhf9+Nwcyvdpc9SzOie2hzf9VsH33X6b6bKaV7v+UqSY6mpkl5oAQLiRgL6ETpQQq4aySBMRuNHAvgahdkjVUNaFHY1RKBHMDUwI3VB4IIExNQ2dOnF2g280/F9IR/i36SBdZhK6bbrpiIN0JCLXUkocem6kgRs6a5sfRMx/GEpwrhvKSAIQTQJoronH2zYf9CgyBG57BRL3mgNo0B1J5u5IIt2UAo/aI8zRYKBui43DQTdvfQzQDWfUqGxtyoBzLP6hsiz6674sgyaVQFVhmU3G33bBJWkuLMbGnQs4kPAI1p9+mcjcIzcagymK0Haan8MgoVuFQUFFnLRM+Lk7tUa3GjTaadjqOXuh0+hWYTRCIUGboIsHyi8agxHqW0UC+Me8wPmxRg77GjLYqh6tJOBZHtQIqWnE9FgsknfgNRYh19WgQYeCiO0SkNTPBw06VNh6Qzg8pJDatEg+PqQArs0LcKHfGzTIJ0doQyt6XOzW309naqMTEg7aazQ09E9aGxqC3aFBo/YKbfhBiIvWcOGh8beYGnfjj9Jos+G85ZetcecFj90ge7gqe997pDGMRJBjE9G/j12R0U9RH2ZPfAh9kXE4uAhHXFeER78kU2hdBjQP9AQPVTekbnVHm7Y9VRI+uO2D7dkk/k8Hx73Ckx5uXnfHm5cqlyx13G1e9tt6+H4+vC7Onv7/tDP2Uubz+PG6fTsft1lpfjOjH9/AywokPOkrknKo7QMs+RDKWViBp6dLduYn"
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
163
|
"name": "claim",
|
|
@@ -2013,7 +2013,7 @@
|
|
|
2013
2013
|
}
|
|
2014
2014
|
},
|
|
2015
2015
|
"bytecode": "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",
|
|
2016
|
-
"debug_symbols": "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h+qwZ+P8gPvzp7Qrdw9q96B2D2r3oHYPavegdg+eH3l/VrZHh56N7kHtHjw/8v78KevK3YPaPajdg9o9qN2D2j2o3YPqXdl7nrsHtXtQuwfVu7J35e5B7R7U7kHtHtTuQe0e1O5BHV159Dx3D2r3oHYPanTl6Mrdg9o9qN2D2j2o3YPaPajdg9qvddovdto9qN2D2j2o/YKn/Yqn3YPaPajdg9o9qN2D2j2o3YPnHw84K1fPc/egdg9q9+D6CwLHT82u3D2o3YPaPajdg9o9qN2D2j2oc1e2x6ODdNAO1mFXPv8AwQrRITtUhz0b1j1o3YPWPXj+3YKzsniH0SE6ZIeuLF25e9C6B6170LoHrXvQugete9C0K2t16NnoHrTuwfMPIZw/ZV25e9C6B6170LoHrXvQugete/D8iwhnZe957h607kHrHjTvyt6Vuwete9C6B6170LoHrXvQugfPv5pwVh49z92D1j1o3YPnX004fyq6cvegdQ9a96B1D1r3oHUPWvegRVfOnufuQesetO5B60tO62tO6x607kHrHrTuQesetO5B6x606srV89w9aN2D1j1ofQF6/vWFM3QPWvegdQ9a96B1D1r3oHUP2uzKs+e5e9C7B7170Pta1B/WwTuMDtEhO1SHvc/ePejSlUU7WAfvMDp0ZenK3YPePejdg9496N2D3j3o3YOuXVmjQ3aoDj0bfS3q1pW7B7170LsHvXvQuwe9e9C7B926svc8dw9696B3D3pfi7p35e5B7x707kHvHvTuQe8e9O5BH1159Dx3D3r3oHcPel+L+ujK3YPePejdg9496N2D3j3o3YMeXTl6nrsHvXvQuwe9r0W9e9D7ddD7ddC7B72vRT27ct/7efegdw9696D366CfPVhHOP4IjhwhOmSH6jB3OHpwBemgHayDd+jKsyvPrjy78tyVx+PRQTpoB+vgHUaH6JAdqkNXlq4sXVm6snRl6crSlaUrS1eWrixdWbvy0YN5vqugHazDUdmPMDpEh+xQHeb+qaMHV+jKRw+e33P04Apd2bqydWXrytaVrSt7V/au7L3P3vvsXdm7sndl78relY8ePMPRgytIh97n0ZWPHlxhdIgO2aErj64cXTm6cnTl6NmI3ufofY7e5+jKRw+u0LORPRvZs5FdObtyduXsytmVs2cje5+z97l6n6srV89z9WxU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FJcoLlnrXncFaLhEcYniEsUliksUlyguWeteF604brhEcYniEi1oExouUVyiuERxieISxSWKS9a610Wb13EzXGK4xHCJcY+z1r3uOIhBTGIRr7EZLjFcsta9LpoY0YmDGERoAg2XGC4xXGK4xHCJ4RLDJWvd66JpEovITOIS4x5nrXvdERouMVxiuMRwieESwyVr3euiOccNlxguMVxi3OOsda87QsMlhksMlxguMVxiuGSte120wXHDJYZLDJcY9zhr3euO0HCJ4RLDJYZLDJcYLlnrXhctOG64xHCJ4RLjHmete90RGi4xXGK4xHCJ4RLDJWvd66IVxw2XGC4xXGLc4xguMa5LjOsSwyXGPc5a97ojNFxiuMRwiXFdsta9Hn/iS9e61+MPP+pa97qjEo3oxEEMYhKLOK8o0ASaQBNoAk2gCTSBJtAEmkJTaApNoSk0habQFJpCU2gGzaAZNINm0Azacsk8YxKLeNCOvxqha93rjkJUohH9qrBcsiK00yX7e4sIbUAb0Aa0AW1AG9AGtMHYBmMb0AJaQAtoAe10yY6DGETGFtCWS864XLKiEJUILaEltISW0JKZTMZWjK0YW0FbLlmRmSxmspjJglbQCtqENqFNZnIytsnYJmOb0CbHbTKT85rJte51x4u21r3uaEQnDmIQk1jEa2xr3euiiRCVaEQnQhNoAk2gCTR9EBmbMjZlbApNBzGISSwiNINm0AyaQTNm0hibMTZjbLhkrXtd0ZlJZyadmcQla93rjtAcGi4ZuGTgkoFLBi5Z614XbXDccMnAJQOXrHWvuwI0XDJwycAlA5cMXDJwycAla93rogXHDZcMXDJwyVr3uiokNFwycMnAJQOXDFwycMnAJWvd66IVxw2XDFwycMla97orQMMlA5cMXDJwycAlA5cMXLLWvS7a5LjhkoFLBi5Z617PCmvd645CVKIRnTiIQUziRVvrXlfEJYFLApesda+rgkDDJYFLApcELglcErgkcMla97poakQnDmIQoSk0XBK4JHBJ4JLAJYFLApcE1yXBdUngksAlgUuC65LguiRwSeCSwCWBSwKXBC4JXLLWvS7a4LjhksAlgUvWutddARouCVwSuCRwSeCSwCWBS9a610ULjhsuCVwSuGSte10VEhouCVwSuCRwSeCSwCWBS9a610VLjhsuCVwSuGSte10VChou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",
|
|
2016
|
+
"debug_symbols": "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tAFtQBvQBrQBbUAb0Aa0Ae10yTiP2+mSHYWoRCM6cRCDmMQiQktoCS2hJbSEltASWkJLaAmtoBW0glbQClpBK2gFraAVtAltQpvQJrQJbUKb0Ca0CW02zc91rx2FqEQjOnEQg5jEIkITaAJNoAk0gSbQBJpAE2gCTaEpNIWm0BSaQlNoCk2hKTSDZtAMmkEzaAbNoBk0g2bQHJpDc2gOzaE5NIfm0ByaQxvQBrQBbUAb0Aa0AW1AG9AGtIAW0AJaQAtoAS2gBbSAFtASWkJLaAktoSW0hJbQElpCK2gFraAVtIJW0ApaQStoBW1Cm9AmtAltQpvQJrQJbULDJYJLBJcILhFcIrhEcIngEsElgksElwguEVwiuERwieASwSWCSwSXCC4RXCK4RHCJ4BLBJYJLBJcILhFcIrhEcIngEsElgksElwguEVwiuERwieASwSWCSwSXCC4RXCK4RHCJ4BLBJYJLBJcILhFcIrhEcIngEsElgksElwgukeWSccTTJcfHQ/m57rWjEg9ayhkPWp4VTpfseNBqfW8SiziveLpk1hmF+KTZ40QcLrHj/s3Pda8dxxHjjHHE9WNJrCPOM84rHi7pKMSDdtxy+bnutaMTB/Ggyblnh0tM9IxFnFecj2t/D5eYnLMzlWhEJw5+LIhJhDZPmv/r++/+z59//vHP//7TD//z3R/++fzyP//x17/8/ce//XV/+ff/+9/9L//+848//fTjf/3pv3/+219++I9//PzDn37621+Of/vucfznkMS/SXyv8sfnNwv/a36vfvwv3d/6bzrye8344/P66Pj352380yXPr85vVzu+348v5fjS63sdj+PnrX/+2VHfu+n+eR3P74jqn39eKn//vBDqn3++tj6/jOPn/fj54yfs+PH+fn/++zz+efx6ENE/of69+fUTj+99HP+c10+oPHfhj//617/++K//Bw==",
|
|
2017
2017
|
"verification_key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEdwAAAAAAAAAAAAAAAAAAAACPm9W0tjxDELm1AuOUxzJ2UAAAAAAAAAAAAAAAAAAAAAAAdUHSvfs4f6udfPrmgeiwAAAAAAAAAAAAAAAAAAANVczEmm+LR7VUgL4sy06QbrAAAAAAAAAAAAAAAAAAAAAAAGKy5nQRM5ZDThdjVvkEkAAAAAAAAAAAAAAAAAAAAwy9qUUDUQNtnyxQusmzhUjAAAAAAAAAAAAAAAAAAAAAAAClqyUgOfZdHiXb1ukefVAAAAAAAAAAAAAAAAAAAAwjrLLSjBf5YvIyXM6g1ZrA4AAAAAAAAAAAAAAAAAAAAAAB4C9y2NiBh3B3SSPWVsiQAAAAAAAAAAAAAAAAAAAAPgrs5Tq85BTOoprRO9ilSaAAAAAAAAAAAAAAAAAAAAAAAE2wiNu7W5Otv/0PfhS2kAAAAAAAAAAAAAAAAAAABN6uwxArEdlvienSNP08dQOAAAAAAAAAAAAAAAAAAAAAAAEAc/P5R0xFthANE5GT1nAAAAAAAAAAAAAAAAAAAAYgyv6VPQ94hdIOZNajK4Mp4AAAAAAAAAAAAAAAAAAAAAABJ20s+q8KFYwBe5ukvsuQAAAAAAAAAAAAAAAAAAAKva06D6AiMe2obiDpzKfc+xAAAAAAAAAAAAAAAAAAAAAAAJIcsDanvnDjznmtfMQJMAAAAAAAAAAAAAAAAAAACw0nQR9ZHMGaHcjdtfQbdiUwAAAAAAAAAAAAAAAAAAAAAAC6/6Xtu5XKRauoIx7JAdAAAAAAAAAAAAAAAAAAAAmBfHhVuyXxHquP2f46HrDfwAAAAAAAAAAAAAAAAAAAAAABTlBnSPLEyxNUDB9yvsqQAAAAAAAAAAAAAAAAAAAC1YCfP2PV6wu/WKGdZI3Dj4AAAAAAAAAAAAAAAAAAAAAAANMMLN8Iam1Y5juopXlCoAAAAAAAAAAAAAAAAAAADmXqmgY/nxY5kg+WLJllRmMwAAAAAAAAAAAAAAAAAAAAAAAb1YE2ZxNvkY06W2o9V8AAAAAAAAAAAAAAAAAAAAJzF9LwqADNbKcfUoT8KtTa8AAAAAAAAAAAAAAAAAAAAAAA518y3hD5iLVkztpJIXywAAAAAAAAAAAAAAAAAAAB5J8PjTkTM7ZuCKjl4o1N0dAAAAAAAAAAAAAAAAAAAAAAAGAYYZQRXqMgE23QeNvXEAAAAAAAAAAAAAAAAAAADXZSytT/7bmtUUvtUXXNWcDAAAAAAAAAAAAAAAAAAAAAAALzxAtw6k/wKUOXiU8y3zAAAAAAAAAAAAAAAAAAAAh1sDs0YAFv4LLEVlJprO148AAAAAAAAAAAAAAAAAAAAAAAVcCVujDZ8JOy6/irSpRgAAAAAAAAAAAAAAAAAAACLYxkx+vLjudTuINN+5/2lmAAAAAAAAAAAAAAAAAAAAAAABTuCCmk4quTMJZSwQdNMAAAAAAAAAAAAAAAAAAABm3hZxAHDg2jNSDgzL8fZGPAAAAAAAAAAAAAAAAAAAAAAALh45Ran+crsUs9zuLe3jAAAAAAAAAAAAAAAAAAAAa4bVkD4GIBlmFogHOUOpBo4AAAAAAAAAAAAAAAAAAAAAACG6uD91RwhtRUIPFXuhfwAAAAAAAAAAAAAAAAAAAL9Oqm69U4ilb0p8JTb0ksXfAAAAAAAAAAAAAAAAAAAAAAAkhI7rG3n46xvLIb3clfcAAAAAAAAAAAAAAAAAAAAbo4laXysq6Qhljp5oofBERwAAAAAAAAAAAAAAAAAAAAAAB7ctp4kjhb2cqXnkT96gAAAAAAAAAAAAAAAAAAAAMv0wdGEHRcQKxLMAYjrFdroAAAAAAAAAAAAAAAAAAAAAAB4kl9h50OezS9j2g3vLfgAAAAAAAAAAAAAAAAAAAKC7/J/wri1Sw5YaMZB2qwXfAAAAAAAAAAAAAAAAAAAAAAAEZxF17Sy8HlHl8ndKnOcAAAAAAAAAAAAAAAAAAABwMBRsAYyIM0yIZehGVgAxcAAAAAAAAAAAAAAAAAAAAAAAG0bt2ONZ1VYQusUb8TigAAAAAAAAAAAAAAAAAAAAfqtyqDbeK+rtH/wKfHk/NpgAAAAAAAAAAAAAAAAAAAAAABrMr0pDktJWujfwoYKYBAAAAAAAAAAAAAAAAAAAAP0syXbMAuVTCMiTS6a3kpL5AAAAAAAAAAAAAAAAAAAAAAAhzYU10wubRZt0idO1besAAAAAAAAAAAAAAAAAAAD+iK4LamzA1eCT4bPidlJIUgAAAAAAAAAAAAAAAAAAAAAAF68WR24KRD+Oss5SELR6AAAAAAAAAAAAAAAAAAAA4nW5mSrnjHmptnYGr+e8+JkAAAAAAAAAAAAAAAAAAAAAAB2Z5I2d61/l1fmUraiP4gAAAAAAAAAAAAAAAAAAAAfMT2Jf+ucufTqNowbEHPOOAAAAAAAAAAAAAAAAAAAAAAAp2MiPfKvOgtgt/VC0N08AAAAAAAAAAAAAAAAAAADZqvpE6q/iaLVpF2JoPpyeTAAAAAAAAAAAAAAAAAAAAAAABHcERb2q+r7fehlidkWDAAAAAAAAAAAAAAAAAAAApuJ8YFdVjIZJl06xOFNk4YcAAAAAAAAAAAAAAAAAAAAAACUd0r2xgc8jW3Q6nkd3FwAAAAAAAAAAAAAAAAAAANewUemYCmJwu5ftRS2xDxGUAAAAAAAAAAAAAAAAAAAAAAAi4dgAd5bjOSWEqPKSoXsAAAAAAAAAAAAAAAAAAABkkgKrTUvTqJ3d4QQm0sHGXwAAAAAAAAAAAAAAAAAAAAAAAhm79/274KVifF1CuIXjAAAAAAAAAAAAAAAAAAAA3UNhJVdZcjpTPx5igvp8B+oAAAAAAAAAAAAAAAAAAAAAABApi95KQ5IawpQZ9LzpRAAAAAAAAAAAAAAAAAAAAKYtyMLO4geRiUR2wq9yO0sGAAAAAAAAAAAAAAAAAAAAAAAZHKlzElRnXggl00kXODIAAAAAAAAAAAAAAAAAAABNtO4HRLUjhVkL2/B8a7Hm/gAAAAAAAAAAAAAAAAAAAAAADV9Ya7TB7nE/N1InrtlBAAAAAAAAAAAAAAAAAAAA/2n1hKMn5sGiNCCuofe/1MAAAAAAAAAAAAAAAAAAAAAAACNVdcD8Ka8kuUif8M8TOgAAAAAAAAAAAAAAAAAAAMPG/E+1tR1VS4CWZ64Teon8AAAAAAAAAAAAAAAAAAAAAAAJUr8uJiJ5IWWDWCdBVzgAAAAAAAAAAAAAAAAAAAD3ysHBM+RihG1pnQ9XKHgsjwAAAAAAAAAAAAAAAAAAAAAACrwtrjvzhbGu7a5AOU8mAAAAAAAAAAAAAAAAAAAA7YxVPFYsIX3NYKYZksTEUEsAAAAAAAAAAAAAAAAAAAAAABknrTbk11+QUNDreW4jFwAAAAAAAAAAAAAAAAAAAEN01V5flCwVCJY1iFir60g5AAAAAAAAAAAAAAAAAAAAAAAA+UVukmMBgmZbD5Mdg54AAAAAAAAAAAAAAAAAAACqf37d5izcYjTWIrr1Iba7ZQAAAAAAAAAAAAAAAAAAAAAABiyW/3i+UyChzsNTHLrvAAAAAAAAAAAAAAAAAAAAHNZGOmq+vkEVxu58PSSeqjUAAAAAAAAAAAAAAAAAAAAAAARSo55t0OPgkEqs2hvUDQAAAAAAAAAAAAAAAAAAAF4Y8VqdoHnR/yrFwwmr7o46AAAAAAAAAAAAAAAAAAAAAAArvxDN+WJf1jywyQOvr7oAAAAAAAAAAAAAAAAAAADoG5hE3WloixJTi4bcgF1GMwAAAAAAAAAAAAAAAAAAAAAAKE/0mIQVYMqkrnnI/OsoAAAAAAAAAAAAAAAAAAAAbnZtQiMdEklQf4l9H20vT3cAAAAAAAAAAAAAAAAAAAAAABS6cmiSgFPUY/Czye5FrgAAAAAAAAAAAAAAAAAAAPSmxv/fgKctt4di4jfVjNX2AAAAAAAAAAAAAAAAAAAAAAAmgUpZgDVVY1o7bf0FbRkAAAAAAAAAAAAAAAAAAAD0W42WBpIx9I4NDDTVdZOmpgAAAAAAAAAAAAAAAAAAAAAAC53DI5kCV5YAWy9owVmRAAAAAAAAAAAAAAAAAAAAdQ4bXLmXo634VAv1W7kmTsQAAAAAAAAAAAAAAAAAAAAAAB9s1bbUP2d5iuRlXAFvNwAAAAAAAAAAAAAAAAAAAFlsxhg4SPMsYOx0/ivNdrIPAAAAAAAAAAAAAAAAAAAAAAAO1i0QsBk1XwCLRkEtDi0AAAAAAAAAAAAAAAAAAADXwMlKR8jqeVuHbbI/n6wIVgAAAAAAAAAAAAAAAAAAAAAAHIfREvTyoFJp/2/+VT1pAAAAAAAAAAAAAAAAAAAAbe27hUpF17eUwmzxFsA/vRAAAAAAAAAAAAAAAAAAAAAAAAOV3ECrqGWq8RCZl/6bFQAAAAAAAAAAAAAAAAAAAINMXpOM+ei9S9WEfiQIQHJ2AAAAAAAAAAAAAAAAAAAAAAAIUktAz4e2aBGQIvaRz6wAAAAAAAAAAAAAAAAAAADmmd+GBzFDfsV/mJD+SzpCBQAAAAAAAAAAAAAAAAAAAAAADh6dQyfmNfVH2meu9X6GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCEmmrLyPKGVyxwyVTJPBz6gAAAAAAAAAAAAAAAAAAAAAAJIDCPSy5jwCo6dc28D0uAAAAAAAAAAAAAAAAAAAA6xIt8erxUNNV6Y7Uxxlq4MsAAAAAAAAAAAAAAAAAAAAAACwcl6TCc6T3bHIn0ASE5QAAAAAAAAAAAAAAAAAAAGvMegX/lalrKJQkxfczZw2WAAAAAAAAAAAAAAAAAAAAAAAAxDcm91tv2g3iLODg36sAAAAAAAAAAAAAAAAAAAAdCgnXF47JO614WPluZPC0jQAAAAAAAAAAAAAAAAAAAAAAL5tuC04sAZaN5cMkgqp9AAAAAAAAAAAAAAAAAAAAFLmaKhz1vbFNGPy31tW7G0MAAAAAAAAAAAAAAAAAAAAAABibwBFKqYLGRXSxHbsAPgAAAAAAAAAAAAAAAAAAAIFYESpGMQpiuEn23VYsLIaUAAAAAAAAAAAAAAAAAAAAAAASkF6WwsjbCGXWk491oyQ="
|
|
2018
2018
|
},
|
|
2019
2019
|
{
|
|
@@ -3865,7 +3865,7 @@
|
|
|
3865
3865
|
}
|
|
3866
3866
|
},
|
|
3867
3867
|
"bytecode": "H4sIAAAAAAAA/+xdB5QURdfthmV32V1YMIKKtBGMIOYIIkgSMUcUELOSBBUjCwZQkWRWEAMgKCpBcg5KkqQoYMQIKgIqOchfT3ukZ6jZrlv0e/1/50yf877xq63e+6ruu6/uzg7brvPvdZT/2qxZi/s73NSyWeu7mt3WusNNd7VucWf7Zs1a3tnitlbNWrS+sdlNKtrf1OHutheVd5wle/97k6uipP9aQoWXMpZ4Df53ec08+na1Usb2U1GUMra/ZuwgzferpBk7WDNWWTPmaTAO0Ywdqhk7TDN2uAbjSH9elmNwuf6r579Wv/HCu7474bWjxl5Ud3TnzlddV/XEVfXvG9e293nfbXhmnfr6+yV3zQ25jt0TnGHhOKWC37vA2bVg18+TXo9wdm2K63/fxLzh6r9HqBip4oOSyd+8ZEq+IZdbBZg7vKT5Powy3++kC82/KjB3BJD/aCB/HY+jfB5H+68j/dcPAjyOUf89VsU4FeNTeCzhv3qOWQp7O+Zrm2C6NvfioqBA6b5azp7lebhjnudEcw7cYJ6J+2ifc51dNZV0A5j3EY5dPTsYjmc8uNvl/rcmN3DPJLX4ySqmqJiqYpqK6SpmqJip4kMVH6mYpWK2ijkq5qqYp+JjFfNVLFCxUMUiFYtVfKLiUxVLVHym4nMVS1UsU7FcxRcqvlTxVeqJR8nkpoxN1oxN0YxN1YxN04xN14zN0IzN1Ix9qBn7SDM2SzM2WzM2RzM2VzM2TzP2sWZsvmZsgWZsoWZskWZssWbsE83Yp5qxJZqxzzRjn2vGlmrGlmnGlmvGvtCMfakZ+8ofC16Jxuv5r2kaUC+/Abkfhh4YbRLNyv0obO7Y/xqbOws4iP4qtGs8xax1lAbHXazNqY4uJ/cT3dwm2vzdT4G1brJca6WUtYZcSc08LKdJhvmv3bnTnWw813GnmM5V+U41m9uH9nua0dz1/3Az3WTuin95nGEwt7bP+cyQuR0D9TG7+Ln1grU0p9i5K5Pqbm5xc2sk1+i8YuZWSannj9PPbZpa+/PTzr1yN50sSDe3aHdNLUwzt0ijv0WauWP0te4u2X1u1TS6cD/bbW7/dBpyP0+dWz2t3tylKXNXpNemuyx5brtidOwuT5rbuDjNu18E57Ystj+4XwbmViu+l7hflTTvUUDfd5G+SedCaWeXAU76Rv6r55jhfmXeGxcH8b4uuQeAdHPqTx1h4F8DG/8NcGDZroEwXHAN35TESM5zdu1TUgIpuCb5Gs5dpBv0HCOYpFy/9QtkRepPEN/6GxccW6FxeiUhcKiS3W+BAlkBbh5KDhXFt2AxUV7floynY3xpvs/9gnjf2XYMAvwO7xj9vgM6xvfMHYPW8D3eMfp9H1PH+NIct69u0HOMYJJy/cEvkB9TO8YPmo7xYwQdA6hk9wegQH603DykwAkHyeknQAz//Q+Qyzd+gaNvJiJH9c+AGHRrCJtOe/SzRSf+OaZO/IV5/Y4M4q207cQEuBLvxCNXAsW3irkT0xpW4Z145Ko9LD4TAf3MLKBfwDUkLrQxIRz+CtRGlCfcF+a4I3SDnmMEk5Trb77wVqeecL9pTrjVEZxwQIdwfwNIW225eWghITn9vocnXNg9JJ5fLU6HNcynFq17jUBeiQvlcA3A4VpmDtM1WZPmbDp3HdjQonIDy8213jOI94etGyDAP3A30PMPYIP+ZHYDtIY/cTfQ809mN0BCWFeSV2x/gWJLXGhOCIfrY3IDy81xe+gGPccIJinXDb7wNqa6gQ0aN7AxAjcAdAh3A0DaRsvNQwsJyWkT80lC4llvcepuZnYDtO7NAnklLpTDzQCHW5g5TNdkw+5DmuzWmN4bWGaudS+It83WDRDgNtwNeNsAkrczuwFaw3bcDXjbmd0ACWFrSV6x7RByAwiHf8fkBpaZ41bWDXqOEUxSrjsTwstykk/+nRo3QJP21A0AHcLdiQgvy27z0EJCcnKzsOJGC4bE87fFqVvCPK9dyTnmedG6CYM7r8SFchjECZtbkpnDdE027D6kyWYB+xqlG1hqrvVFQbxSwc/Do4B0M+gGFpUCSM4Gisd2DdlZsBtYlL2HojYRQlYWr9hyQLElLjQnhMNcIKco3cBSczewUDfoOUYwSbmW9oWXl+oGSmft7gbyInADQIdwSwOk5WXZbR5aSEhO+cwnCYkn1+LULWB2A7TuAoG8EhfKYQHAYRlmDtM12bD7kCZbNiY38Lm51lsE8Qpt3QABFuJuoEUhQHI5ZjdAayiHu4EW5ZjdAAmhbBav2MoLuQGEw71icgOfm7uB5rpBzzGCScp1b194+6S6gb01bmCfCNwA0CHcvQHS9smy2zy0kJCc9mU+SUg8e1mcuvsxuwFa934CeSUulMP9AA73Z+YwXZMNuw9pshVicgOfmWt9WRCvoq0bIMCKuBtYVhEg+QBmN0BrOAB3A8sOYHYDJIQKWbxiO1DIDSAcHhSTG/jM3A0s1Q16jhFMUq6VfOEdnOoGKmncwMERuAGgQ7iVANIOzrLbPLSQkJwqM58kJJ6DLE5dj9kN/LNugbwSF8qhB3B4CDOH6Zps2H1Ikz00JjewxFzrDYJ4h9m6AQI8DHcDDQ4DSD6c2Q3QGg7H3UCDw5ndAAnh0CxesR0h5AYQDo+MyQ0sMXcD9XWDnmMEk5RrFV94VVPdQBWNG6gagRsAOoRbBSCtapbd5qGFhOR0FPNJQuI50uLUPZrZDdC6jxbIK3GhHB4NcHgMM4fpmmzYfUiTPTYmN/CpudaHB/GOs3UDBHgc7gaGHweQfDyzG6A1HI+7geHHM7sBEsKxWbxiqybkBhAOq8fkBj41dwPDdIOeYwSTlOsJvvBqpLqBEzRuoEYEbgDoEO4JAGk1suw2Dy0kJKcTmU8SEk91i1P3JGY3QOs+SSCvxIVyeBLA4cnMHKZrsmH3IU32lJjcwCfmWp8YxDvV1g0Q4Km4G5h4KkDyacxugNZwGu4GJp7G7AZICKdk8YrtdCE3gHB4Rkxu4BNzNzBBN+g5RjBJuZ7pC++sVDdwpsYNnBWBGwA6hHsmQNpZWXabhxYSktPZzCcJiecMi1P3HGY3QOs+RyCvxIVyeA7AYU1mDtM12bD7kCZbKyY3sNhc642CeOfaugECPBd3A43OBUiuzewGaA21cTfQqDazGyAh1MriFdt5Qm4A4bBOTG5gsbkbaKgb9BwjmKRc6/rCOz/VDdTVuIHzI3ADQIdw6wKknZ9lt3loISE51WM+SUg8dSxO3frMboDWXV8gr8SFclgf4LABM4fpmmzYfUiTbRiTG1hkrvWiIF4jWzdAgI1wN1DUCCD5AmY3QGu4AHcDRRcwuwESQsMsXrE1FnIDCIcXxuQGFpm7gU66Qc8xgknKtYkvvItS3UATjRu4KAI3AHQItwlA2kVZdpuHFhKS08XMJwmJ50KLU/cSZjdA675EIK/EhXJ4CcDhpcwcpmuyYfchTfaymNzAQks3cLmtGyDAyy3cwOUAyVcwuwFawxUWbuAKZjdAQrgsi1dsVwq5AYTDq2JyAwtjcANX+8K7JtUNXK1xA9dE4AaADuFeDZB2jZAbQHK6lvkkIfFcZXHqNmV2A7TupgJ5JS6Uw6YAh9cxc5iuyYbdhzTZ62NyAwvMtT4kiNfM1g0QYDPcDQxpBpDcnNkN0Bqa425gSHNmN0BCuD6LV2wthNwAwuENMbmBBeZuYLBu0HOMYJJybekL78ZUN9BS4wZujMANAB3CbQmQdmOW3eahhYTkdBPzSULiucHi1L2Z2Q3Qum8WyCtxoRzeDHB4CzOH6Zps2H1Ik701Jjcw31zrA4J4t9m6AQK8DXcDA24DSL6d2Q3QGm7H3cCA25ndAAnh1ixesd0h5AYQDu+MyQ3MN3cDb+oGPccIJinXVr7wWqe6gVYaN9A6AjcAdAi3FUBa6yy7zUMLCcmpDfNJQuK50+LUbcvsBmjdbQXySlwoh20BDtsxc5iuyYbdhzTZu2JyAx+ba315EK+9rRsgwPa4G1jeHiC5A7MboDV0wN3A8g7MboCEcFcWr9juFnIDCIf3xOQGPjZ3A8t0g55jBJOU672+8DqmuoF7NW6gYwRuAOgQ7r0AaR2z7DYPLSQkp/uYTxISzz0Wp+79zG6A1n2/QF6JC+XwfoDDB5g5TNdkw+5DmuyDMbmBeeZaXxDEe8jWDRDgQ7gbWPAQQPLDzG6A1vAw7gYWPMzsBkgID2bxiq2TkBtAOCyKyQ3MM3cD83WDnmMEk5RrZ194XVLdQGeNG+gSgRsAOoTbGSCtS5bd5qGFhOT0CPNJQuIpsjh1H2V2A7TuRwXySlwoh48CHD7GzGG6Jht2H9JkH4/JDcw113rFIF5XWzdAgF1xN1CxK0ByN2Y3QGvohruBit2Y3QAJ4fEsXrE9IeQGEA6fjMkNzDV3AxV0g55jBJOU61O+8LqnuoGnNG6gewRuAOgQ7lMAad2z7DYPLSQkp6eZTxISz5MWp24PZjdA6+4hkFfiQjnsAXDYk5nDdE027D6kyfaKyQ3MMdf6uCBeb1s3QIC9cTcwrjdAch9mN0Br6IO7gXF9mN0ACaFXFq/YnhFyAwiHz8bkBuaYu4GxukHPMYJJyvU5X3jPp7qB5zRu4PkI3ADQIdznANKez7LbPLSQkJxeYD5JSDzPWpy6LzK7AVr3iwJ5JS6UwxcBDl9i5jBdkw27D2myL8fkBmaba71bEO8VWzdAgK/gbqDbKwDJfZndAK2hL+4GuvVldgMkhJezeMXWT8gNIBy+GpMbmG3uBrrqBj3HCCYp1/6+8F5LdQP9NW7gtQjcANAh3P4Aaa9l2W0eWkhITq8znyQknlctTt03mN0ArfsNgbwSF8rhGwCHbzJzmK7Jht2HNNkBMbmBWeZarx/EG2jrBghwIO4G6g8ESB7E7AZoDYNwN1B/ELMbICEMyOIV21tCbgDhcHBMbmCWuRuopxv0HCOYpFyH+MJ7O9UNDNG4gbcjcANAh3CHAKS9nWW3eWghITm9w3ySkHgGW5y6Q5ndAK17qEBeiQvlcCjA4bvMHKZrsmH3IU32vZjcwEfmWu8dxHvf1g0Q4Pu4G+j9PkDyMGY3QGsYhruB3sOY3QAJ4b0sXrENF3IDCIcjYnIDH5m7gV66Qc8xgknKdaQvvA9S3cBIjRv4IAI3AHQIdyRA2gdZdpuHFhKS0yjmk4TEM8Li1B3N7AZo3aMF8kpcKIejAQ7HMHOYrsmG3Yc02bExuYEPzbXeNog3ztYNEOA43A20HQeQPJ7ZDdAaxuNuoO14ZjdAQhibxSu2CUJuAOFwYkxu4ENzN9BGN+g5RjBJuU7yhTc51Q1M0riByRG4AaBDuJMA0iZn2W0eWkhITlOYTxISz0SLU3cqsxugdU8VyCtxoRxOBTicxsxhuiYbdh/SZKfH5AZmmmt9chBvhq0bIMAZuBuYPAMgeSazG6A1zMTdwOSZzG6AhDA9i1dsHwq5AYTDj2JyAzPN3cAk3aDnGMEk5TrLF97sVDcwS+MGZkfgBoAO4c4CSJudZbd5aCEhOc1hPklIPB9ZnLpzmd0ArXuuQF6JC+VwLsDhPGYO0zXZsPuQJvtxTG5ghrnWvSDefFs3QIDzcTfgzQdIXsDsBmgNC3A34C1gdgMkhI+zeMW2UMgNIBwuiskNzDB3A5V1g55jBJOU62JfeJ+kuoHFGjfwSQRuAOgQ7mKAtE+y7DYPLSQkp0+ZTxISzyKLU3cJsxugdS8RyCtxoRwuATj8jJnDdE027D6kyX4ekxuYbq71giDeUls3QIBLcTdQsBQgeRmzG6A1LMPdQMEyZjdAQvg8i1dsy4XcAMLhFzG5genmbiBfN+g5RjBJuX7pC++rVDfwpcYNfBWBGwA6hPslQNpXWXabhxYSktPXzCcJiecLi1P3G2Y3QOv+RiCvxIVy+A3A4bfMHKZrsmH3IU12RUxuYJq51lsH8b6zdQME+B3uBlp/B5D8PbMboDV8j7uB1t8zuwESwoosXrH9IOQGEA5/jMkNTDN3A610g55jBJOU60++8H5OdQM/adzAzxG4AaBDuD8BpP2cZbd5aCEhOa1kPklIPD9anLqrmN0ArXuVQF6JC+VwFcDhL8wcpmuyYfchTfbXmNzAVHOtlw/i/WbrBgjwN9wNlP8NIHk1sxugNazG3UD51cxugITwaxav2H4XcgMIh2ticgNTzd1AOd2g5xjBJOW61hfeulQ3sFbjBtZF4AaADuGuBUhbl2W3eWghITn9wXySkHjWWJy6fzK7AVr3nwJ5JS6Uwz8BDv9i5jBdkw27D2my62NyA1PMG1oS3gZbN0CAG7Lw+zYyn/CU18asXQOeY36hIqKCXZ/FK4pNQqc2wsvmPRSqyZo3W3AYpaAmWwpqi62gCHCLhaC2MguK8toakaDCphPxW7PsCsYzw4i0SCaVNM8xiLfNtkgIcJtFx9kGKHY7c0HRGrZbkLyd+WcwKqLtFvZgE7BfO5jtIO3tDkuxJi60tnYA6/+b2eKlO5HD7kNO5J3MHNIe7bQ4CBAeqETox8uSum8E4h7p2NWZg+F4xoO7Xe5/a3KD95RS/19FCRUlVWSpKKUiW0WOilwVpVXkqchXUaCijIqyKgpVlFNRXsVeKvZWsY+KfVXsp2J/FRVUVFRxgIoDVRykopKKg1VULuUk/7xPyeSmjLmasRKasZKasSzNWCnNWLZmLEczlqsZK60Zy9OM5WvGCjRjZTRjZTVjhZqxcpqx8pqxvTRje2vG9tGM7asZ208ztr9mrIJmrKJm7ADN2IGasYM0Y5U0YwdrxiqX2v29pcSZ4fmvaRpIL7+BuFQPxc9tk2g2bumwuWP/a0xuXuj33dXESpSzazzFrHWUBsfdR5tTHV1O7r66uU20+bv7AWvNtlxrpZS1hlxJzTzU/BnmT+8vusZzHbeE6VyVb0mzuX1ov7OM5q7/h5tSJnNX/MtjtsHc2j7nOSFzOwbqI7/4ufWCtVRQ7NyVSXVXpri5NZJrtGwxc6uk1HNh+rlNU2u/XNq5V+6mk/Lp5hbtrqm90swt0uhvb83cMfpad/fffW7VNLpwK+w2t386DbkVU+dWT6s394CUuSvSa9M9MHluu2J07B6UNLdxcZp3KwXntiy2P7gHB+ZWK76XuJVLmfcooO+7SN+M8p2Byua9cXEQzyu1J4Cl4N/OLvaAjT8EOLBs10AYLriGQ0phJEf1W0SgaBfpBj3HCCYp10P9Ajks9SeIQ/2NC44dVmrPf4sIVLJ7KFAgh4Gbh5JDRXEoWEyU16FgMUXVMQ423+d+QbzDbTsGAR6Od4x+hwMd4wjmjkFrOALvGP2OiKljHGyO21c36DlGMEm5HukXSJXUjnGkpmNUiaBjAJXsHgkUSBXLzUPf0ERyqgqI4b//AXI5xC9w9A1N5Kg+ChCDbg1h02mPjrLoxEfF1IkrmdfvyCDe0badmACPxjvxyKOB4juGuRPTGo7BO/HIY/aw+EwEdBSzgI4F15C40MaEcHgcUBtRnnCVzHFH6AY9xwgmKdfjfeFVSz3hjteccNUiOOGADuEeD5BWzXLz0EJCcqq+hydc2D0knuMsTocTmE8tWvcJAnklLpTDEwAOazBzmK7JmjRn07kngg0tKjdwkLnWewbxTrJ1AwR4Eu4Gep4EbNDJzG6A1nAy7gZ6nszsBkgIJ5biFdspoNgSF5oTwuGpMbmBg8xxe+gGPccIJinX03zhnZ7qBk7TuIHTI3ADQIdwTwNIO91y89BCQnI6g/kkIfGcanHqnsnsBmjdZwrklbhQDs8EODyLmcN0TTbsPqTJnh3TewMHmmvdC+KdY+sGCPAc3A145wAk12R2A7SGmrgb8GoyuwESwtmleMVWS8gNIByeG5MbONAcN7K/z1fbF955qW6gtsYNnBeBGwA6hFsbIO08y81DCwnJqQ7zSULiOdfi1K3L7AZo3XUF8kpcKId1AQ7PZ+YwXZMNuw9psvVicgMHmGt9URCvvq0bIMD6uBtYVB8guQGzG6A1NMDdwKIGzG6AhFCvFK/YGgq5AYTDRjG5gQPMcRfqBj3HCCYp1wt84TVOdQMXaNxA4wjcANAh3AsA0hpbbh5aSEhOFzKfJCSeRhanbhNmN0DrbiKQV+JCOWwCcHgRM4fpmmzYfUiTvTgmN1DRXOstgniX2LoBArwEdwMtLgFIvpTZDdAaLsXdQItLmd0ACeHiUrxiu0zIDSAcXh6TG6hojttcN+g5RjBJuV7hC+/KVDdwhcYNXBmBGwA6hHsFQNqVlpuHFhKS01XMJwmJ53KLU/dqZjdA675aIK/EhXJ4NcDhNcwcpmuyYfchTfbamNxABXOtLwviNbV1AwTYFHcDy5oCJF/H7AZoDdfhbmDZdcxugIRwbSlesV0v5AYQDpvF5AYqmOMu1Q16jhFMUq7NfeG1SHUDzTVuoEUEbgDoEG5zgLQWlpuHFhKS0w3MJwmJp5nFqduS2Q3QulsK5JW4UA5bAhzeyMxhuiYbdh/SZG+KyQ3sb671BkG8m23dAAHejLuBBjcDJN/C7AZoDbfgbqDBLcxugIRwUylesd0q5AYQDm+LyQ3sb45bXzfoOUYwSbne7gvvjlQ3cLvGDdwRgRsAOoR7O0DaHZabhxYSktOdzCcJiec2i1O3FbMboHW3EsgrcaEctgI4bM3MYbomG3Yf0mTbxOQG9jPX+vAgXltbN0CAbXE3MLwtQHI7ZjdAa2iHu4Hh7ZjdAAmhTSlesd0l5AYQDtvH5Ab2M8cdphv0HCOYpFw7+MK7O9UNdNC4gbsjcANAh3A7AKTdbbl5aCEhOd3DfJKQeNpbnLr3MrsBWve9AnklLpTDewEOOzJzmK7Jht2HNNn7YnID+5prfWIQ735bN0CA9+NuYOL9AMkPMLsBWsMDuBuY+ACzGyAh3FeKV2wPCrkBhMOHYnID+5rjTtANeo4RTFKuD/vC65TqBh7WuIFOEbgBoEO4DwOkdbLcPLSQkJyKmE8SEs9DFqduZ2Y3QOvuLJBX4kI57Axw2IWZw3RNNuw+pMk+EpMb2Mdc642CeI/augECfBR3A40eBUh+jNkN0Boew91Ao8eY3QAJ4ZFSvGJ7XMgNIBx2jckN7GOO21A36DlGMEm5dvOF90SqG+imcQNPROAGgA7hdgNIe8Jy89BCQnJ6kvkkIfF0tTh1n2J2A7TupwTySlwoh08BHHZn5jBdkw27D2myT8fkBvY213pREK+HrRsgwB64GyjqAZDck9kN0Bp64m6gqCezGyAhPF2KV2y9hNwAwmHvmNzA3ua4nXSDnmMEk5RrH194z6S6gT4aN/BMBG4A6BBuH4C0Zyw3Dy0kJKdnmU8SEk9vi1P3OWY3QOt+TiCvxIVy+BzA4fPMHKZrsmH3IU32hZjcwF6WbuBFWzdAgC9auIEXAZJfYnYDtIaXLNzAS8xugITwQilesb0s5AYQDl+JyQ3sFYMb6OsLr1+qG+ircQP9InADQIdw+wKk9RNyA0hOrzKfJCSeVyxO3f7MboDW3V8gr8SFctgf4PA1Zg7TNdmw+5Am+3pMbqC8udaHBPHesHUDBPgG7gaGvAGQ/CazG6A1vIm7gSFvMrsBEsLrpXjFNkDIDSAcDozJDZQ3xx2sG/QcI5ikXAf5wnsr1Q0M0riBtyJwA0CHcAcBpL1luXloISE5DWY+SUg8Ay1O3SHMboDWPUQgr8SFcjgE4PBtZg7TNdmw+5Am+05MbqCcudYHBPGG2roBAhyKu4EBQwGS32V2A7SGd3E3MOBdZjdAQninFK/Y3hNyAwiH78fkBsqZ476pG/QcI5ikXIf5whue6gaGadzA8AjcANAh3GEAacMtNw8tJCSnEcwnCYnnfYtTdySzG6B1jxTIK3GhHI4EOPyAmcN0TTbsPqTJjorJDRSaa315EG+0rRsgwNG4G1g+GiB5DLMboDWMwd3A8jHMboCEMKoUr9jGCrkBhMNxMbmBQnPcZbpBzzGCScp1vC+8CaluYLzGDUyIwA0AHcIdD5A2wXLz0EJCcprIfJKQeMZZnLqTmN0ArXuSQF6JC+VwEsDhZGYO0zXZsPuQJjslJjdQ1lzrC4J4U23dAAFOxd3AgqkAydOY3QCtYRruBhZMY3YDJIQppXjFNl3IDSAczojJDZQ1x52vG/QcI5ikXGf6wvsw1Q3M1LiBDyNwA0CHcGcCpH1ouXloISE5fcR8kpB4ZlicurOY3QCte5ZAXokL5XAWwOFsZg7TNdmw+5AmOycmN1DGXOsVg3hzbd0AAc7F3UDFuQDJ85jdAK1hHu4GKs5jdgMkhDmleMX2sZAbQDicH5MbKGOOW0E36DlGMEm5LvCFtzDVDSzQuIGFEbgBoEO4CwDSFlpuHlpISE6LmE8SEs98i1N3MbMboHUvFsgrcaEcLgY4/ISZw3RNNuw+pMl+GpMbKDDX+rgg3hJbN0CAS3A3MG4JQPJnzG6A1vAZ7gbGfcbsBkgIn5biFdvnQm4A4XBpTG6gwBx3rG7Qc4xgknJd5gtveaobWKZxA8sjcANAh3CXAaQtt9w8tJCQnL5gPklIPEstTt0vmd0ArftLgbwSF8rhlwCHXzFzmK7Jht2HNNmvY3ID+eZa7xbE+8bWDRDgN7gb6PYNQPK3zG6A1vAt7ga6fcvsBkgIX5fiFdsKITeAcPhdTG4g3xy3q27Qc4xgknL93hfeD6lu4HuNG/ghAjcAdAj3e4C0Hyw3Dy0kJKcfmU8SEs93FqfuT8xugNb9k0BeiQvl8CeAw5+ZOUzXZMPuQ5rsypjcQJ651usH8VbZugECXIW7gfqrAJJ/YXYDtIZfcDdQ/xdmN0BCWFmKV2y/CrkBhMPfYnIDeea49XSDnmMEk5Tral94v6e6gdUaN/B7BG4A6BDuaoC03y03Dy0kJKc1zCcJiec3i1N3LbMboHWvFcgrcaEcrgU4XMfMYbomG3Yf0mT/iMkNlDbXeu8g3p+2boAA/8TdQO8/AZL/YnYDtIa/cDfQ+y9mN0BC+KMUr9jWC7kBhMMNMbmB0ua4vXSDnmMEk5TrRl94m1LdwEaNG9gUgRsAOoS7ESBtk+XmoYWE5LSZ+SQh8WywOHW3MLsBWvcWgbwSF8rhFoDDrcwcpmuyYfchTXZbTG4g11zrbYN4223dAAFux91A2+0AyTuY3QCtYQfuBtruYHYDJIRtpXjF9reQG0A43BmTG8g1x22jG/QcI5jkXLP90Wwn+eSnL6S6AZq0p24A6BAu5WAyd52fm2EOSZuHFhKSU4lsrLjRgiHx7LQ4dUua57UrOcc8L1p3yWz+vBIXymFJgMMsZg7TNdmw+5AmWwrY1yjdQI651icH8bKz9wCQbgbdwORsgOQcoHhs15ADiofWkLOHojYRQqlsXrHlgmJLXGhOCIelgZyidAM55m5gkm7Qc4xgknLN84WXn+oG8jRuID8CNwB0CDcPIC0/227z0EJCcipgPklIPKUtTt0yzG6A1l1GIK/EhXJYBuCwLDOH6Zps2H1Iky2MyQ1km2vdC+KVs3UDBFgOdwNeOYDk8sxugNZQHncDXnlmN0BCKMzmFdteQm4A4XDvmNxAtrkbqKwb9BwjmKRc9/GFt2+qG9hH4wb2jcANAB3C3Qcgbd9su81DCwnJaT/mk4TEs7fFqbs/sxugde8vkFfiQjncH+CwAjOH6Zps2H1Ik60YkxsoZa71giDeAbZugAAPwN1AwQEAyQcyuwFaw4G4Gyg4kNkNkBAqZvOK7SAhN4BwWCkmN1DK3A3k6wY9xwgmKdeDfeFVTnUDB2vcQOUI3ADQIdyDAdIqZ9ttHlpISE4e80lC4qlkceoewuwGaN2HCOSVuFAODwE4PJSZw3RNNuw+pMkeFpMbyDLXeusg3uG2boAAD8fdQOvDAZKPYHYDtIYjcDfQ+ghmN0BCOCybV2xHCrkBhMMqMbmBLHM30Eo36DlGMEm5VvWFd1SqG6iqcQNHReAGgA7hVgVIOyrbbvPQQkJyOpr5JCHxVLE4dY9hdgO07mME8kpcKIfHABwey8xhuiYbdh/SZI+LyQ2UNNd6+SDe8bZugACPx91A+eMBkqsxuwFaQzXcDZSvxuwGSAjHZfOKrbqQG0A4PCEmN1DS3A2U0w16jhFMUq41fOGdmOoGamjcwIkRuAGgQ7g1ANJOzLbbPLSQkJxOYj5JSDwnWJy6JzO7AVr3yQJ5JS6Uw5MBDk9h5jBdkw27D2myp8bkBkoAH3MP4p1m6wYI8LRs/L7TmU94yuv07F0DnmN+oSKigj01m1cUZwid2ggvZ+6hUE3WfKYFh1EKyrUU1Fm2giLAsywEdTazoCivsyMSVNh0Iv7sbLuC8cwwIi0SB/h8eRDvHNsiIcBzLDrOOYBiazIXFK2hpgXJNZl/BqMiqmlhD84A9qsWsx2kva1lKdbEhdZWLWD95zJbvHQncth9yIlcm5lD2qPaFgcBwkOWs+vHzUSOddJ8Y88xulpa3rfe8r4GlvfdmvgPdH+/KonrCcX4UgDjCwGM5QIYywQwlgpgfC6A8ZkAxhIBjE8FMD4RwFgsgLFIAGOhAMYCAYz5AhgfC2DME8CYK4AxRwBjtgDGLAGMjwQwPhTAmCmAMUMAY7oAxjQBjKkCGFMEMCYLYEwSwKhcih/jYAGMSgIYBwlgHCiAcYAARkUBjAoCGPsLYOwngLGvAMY+Ahh7C2DsJYBRXgCjnABGoQBGWQGMMgIYBQIY+QIYeQIYpQUwcgUwcgQwsgUwSglgZAlglBTAKCGA4QpgOBYYwcszm1ZnD+79b030mvhc4Hnqd1Z1VNRVcb6Keirqq2igoqGKRiouUNFYxYUqmqi4SMXFKi5J/RxlHf8XYMGxupqx8zVj9TRj9TVjDTRjDTVjjTRjF2jGGmvGLtSMNdGMXaQZu1gzdonmF5ZogZ1n+MvF7vmjXwreWCoFJ+wXk8FfHIV9ZvUL47nJv1grdq4D/aLPrWP5OUp0Xz4D9uVzYF+WAvsC/MLNrWu5LyWBfaGcgF86uecHcjro9wM3jCi5z3NHlli9vOb0HddWyKp77Ib6g266sVfV9/vedMuyTYUyvM4HeF0A8LoQ4BX4RZFbT6je5wD7MhfYl3nAvgC/sHHrC9U78EsLt0Egp8M/H5+z6e2eWSOWrWtz74ajn5lb7+nJ75zVZ/5x5xRd+sPzaxr/JVTv0wBepwO8zgB4BX7R4DYUqvdJwL5MBvZlCrAvwBv+biOhfTkI+DcslUqZ78vBpcz3BXjj3b1AaF8qAPtSEdiXA4B9Ad4AdxsL9UfgTWD3QsAPZJeT4bUcwGt5gNe9AF6BN27dJkL1XgDsSxlgX8oC+wK8gepeJFTvwJuI7sWAHyghVO/IXywoBfCaDfAKvPHnXmLJqwvuy6WGOC3XN7h1T3AuM8S5vfTPt+wJzuWGOBNuee+xPcG5whDnrNZ/3bUnOFca4gxssuGMPcG5yhDn4rKXdNoTnKsNcV4pdWv3PcG5xhCn8iPL39kTnGsNca5dMb8ife8yPsal2bveS6TXutm73jOk13rZu94bpNcG2bveA6TXRtm73uuj18bZu97To9cm2bveu6PXi7N3vUdHr5f5r5f7r1f4r1f6r1f5r1f7r9f4r7TepiquU3G9imYqmqtooeIGFS2zMx/6p8vF7st86B/AyHzo3xwj86F/c4zMh/7NMTIf+jfHyHzo3xwj86F/c4zMh/7NMTIf+jfHyHzo3xwj86F/c4zMh/7NMTIf+jfHyHzo3xwj86F/c4zMh/7NMTIf+jfHyHzo3xwj86F/c4zMh/7NMTIf+jfH+B/40H+txJroNfGh/xvV76JuUnGziltU3KriNhW3q7hDxZ0qWqloraKNirYq2qm4S0X71A/936j5RR/6IQTTP+NHH0JwgQ8hlAA+hAAUvntjRB9CCJt+kxDOzUI4twjh3CqEc5sQzu1COHcI4dwphNNKCKe1EE4bIZy2QjjthHDuEsJpL/ThtA6GOEV7iHO30HruMcYp4dH3TnxY6Eb/wzcd/Ne7hV7v8V+b+q/X+a/X+6/N/Nfm/msL//UG/5U+DHSvio4q7lNxv4oHVDyo4iEVD/sfFqIHUJQ02N+Qy73XkkcHw8myv9f9b01u4Bt1UnkXqeisokuq8aQv5qaMFWnGOmvGumTv/nSPVNMalnFwU8MKvJPhXDK4RcZzHbez6VyVbxegCKIsvo7/o8X3iMr7URWPqXg8tfge0RTVo5qxxzRjj0dQfB2B4nsEKL5HgeJ7DCi+x2Mqvvv+R4uvq8q7m4onVDyZWnxdNUXVTTP2hGbsyQiK7z6g+LoCxdcNKL4ngOJ7Mqbiu/9/tPieUnl3V/G0ih6pxfeUpqi6a8ae1oz1iKD47geK7ymg+LoDxfc0UHw9Yiq+B/5Hi6+nyruXit4q+qQWX09NUfXSjPXWjPWJoPgeAIqvJ1B8vYDi6w0UX5+Yiu/B/9Hie0bl/ayK51Q8n1p8z2iK6lnN2HOasecjKL4HgeJ7Bii+Z4Hiew4ovudjKr6H/keL7wWV94sqXlLxcmrxvaApqhc1Yy9pxl6OoPgeAorvBaD4XgSK7yWg+F6Oqfge/h8tvldU3n1V9FPxamrxvaIpqr6asX6asVcjKL6HgeJ7BSi+vkDx9QOK71XLIkgttrC19jfH2WdPcF4LxykR/N4Fzq7Ccv086bWKk/w+6mvZu+a9rv77DRVvqhgQ8fufBzh2fDgYjmc8uNuVLMrEPQPVPgxS8ZaKwSqGqHhbxTsqhqp4V8V7Kt5XMUzFcBUjVIxU8YGKUSpGqxijYqyKcSrGq5igYqKKSSomq5iiYqqKaSqmq5ihYmZqExioEfcgzdhbmrHBmrEhmrG3NWPvaMaGasbe1Yy9pxl7XzM2TDM2XDM2QjM2UjP2gWZslGZstGZsjGZsrGZsnGZsvGZsgmZsomZskmZssmZsimZsqmZsmmZsumZshmZspubQSDQKz39N07R6+U3LfTe0YbdJNDj3vbC5Y/9rhu77wGF0hOVf8ShmraM0OO44bU51dDm543Vzm2jzdycAaz3Kcq2VUtYaciU187CcBgJmYBBgBt4CzMBgs7l9aL+HGM1d/w83b5vMXfEvj+8YzK3tcz40ZG7HQH0MK35uvWAtDS927sqkuhtR3NwayTU6spi5VVLq+YP0c5um1v6otHOv3E0no9PNLdpdU2PSzC3S6G+sZu4Yfa27E3efWzWNLtxJu83tn05D7uTUudXT6s2dkjJ3RXptulOT57YrRsfutKS5jYvTvDs9OLdlsf3BnRGYW634XuLONDfbLtD3XaRvRvns5JnmvXFxEO/D7D0ApJuR59sS+IfAxn8EHFi2a/goG/sJitbwUTZGcp4T+JEqmEAKrkm+hnMX6QY9xwgmKddZfoHMTv0JYpa/ccGx2Rqnl/o32MLQgUp2ZwEFMhvcPJQcKopZYDFRXrOy4+kYM8z3uV8Qb45txyDAOXjH6DcH6BhzmTsGrWEu3jH6zY2pY8wwx+2rG/QcI5ikXOf5BfJxaseYp+kYH0fQMYBKducBBfKx5eahj3xHcpoPiOG//wFy+cgvcPSR78hRvQAQg24NYdNpjxZYdOIFMXXi6eb1OzKIt9C2ExPgQrwTj1wIFN8i5k5Ma1iEd+KRi/aw+EwEtIBZQIvBNSQutDEhHH4C1EaUJ9x0c9wRukHPMYJJyvVTX3hLUk+4TzUn3JIITjigQ7ifAqQtsdw8tJCQnD7bwxMu7B4SzycWp8PnzKcWrftzgbwSF8rh5wCHS5k5TNdkTZqz6dxlYEOLyg1MM9d6zyDecls3QIDLcTfQczmwQV8wuwFawxe4G+j5BbMbICEsy+YV25eg2BIXmhPC4VcxuYFp5rg9dIOeYwSTlOvXvvC+SXUDX2vcwDcRuAGgQ7hfA6R9Y7l5aCEhOX3LfJKQeL6yOHVXMLsBWvcKgbwSF8rhCoDD75g5TNdkw+5Dmuz3Mb03MNVc614Q7wdbN0CAP+BuwPsBIPlHZjdAa/gRdwPej8xugITwfTav2H4ScgMIhz/H5AammuNW1g16jhFMUq4rfeGtSnUDKzVuYFUEbgDoEO5KgLRVlpuHFhKS0y/MJwmJ52eLU/dXZjdA6/5VIK/EhXL4K8Dhb8wcpmuyYfchTXZ1TG5girnWFwXxfrd1AwT4O+4GFv0OkLyG2Q3QGtbgbmDRGmY3QEJYnc0rtrVCbgDhcF1MbmCKOe5C3aDnGMEk5fqHL7w/U93AHxo38GcEbgDoEO4fAGl/Wm4eWkhITn8xnyQknnUWp+56ZjdA614vkFfiQjlcD3C4gZnDdE027D6kyW6MyQ1MNtd6iyDeJls3QICbcDfQYhNA8mZmN0Br2Iy7gRabmd0ACWFjNq/Ytgi5AYTDrTG5gcnmuM11g55jBJOU6zZfeNtT3cA2jRvYHoEbADqEuw0gbbvl5qGFhOS0g/kkIfFstTh1/2Z2A7TuvwXySlwoh38DHO5k5jBdkw27D2myTk48bmCSudaXBfHcnD0ApJtBN7DMNd8gt0QOrxugNRAG6AaWlQBI1uVlIgQnh1dsJQEegv8HzQnhMAvIKUo3MMm88SzVDXqOEUxSrqV84WXnOMknf6mc3d0ATdpTNwB0CLcUQFp2jt3moYWE5JQDFjdaMCSerBxc2Ll72DjCptO6cwXySlwoh7kAh6WZOUzXZMPuQ5psXkxuYKK51hsE8fJt3QAB5uNuoEE+QHIBsxugNRTgbqBBAbMbICHk5fCKrYyQG0A4LBuTG5ho7gbq6wY9xwgmKddCX3jlUt1AocYNlIvADQAdwi0ESCuXY7d5aCEhOZVnPklIPGUtTt29mN0ArXsvgbwSF8rhXgCHezNzmK7Jht2HNNl9YnIDE8y1PjyIt6+tGyDAfXE3MHxfgOT9mN0ArWE/3A0M34/ZDZAQ9snhFdv+Qm4A4bBCTG5ggrkbGKYb9BwjmKRcK/rCOyDVDVTUuIEDInADQIdwKwKkHZBjt3loISE5Hch8kpB4KlicugcxuwFa90ECeSUulMODAA4rMXOYrsmG3Yc02YNjcgPjzbU+MYhX2dYNEGBl3A1MrAyQ7DG7gX82DXcDEz1mN0BCODiHV2yHCLkBhMNDY3ID483dwATdoOcYwSTlepgvvMNT3cBhGjdweARuAOgQ7mEAaYfn2G0eWkhITkcwnyQknkMtTt0jmd0ArftIgbwSF8rhkQCHVZg5TNdkw+5DmmzVmNzAOHOtNwriHWXrBgjwKNwNNDoKIPloZjdAazgadwONjmZ2AySEqjm8YjtGyA0gHB4bkxsYZ+4GGuoGPccIJinX43zhHZ/qBo7TuIHjI3ADQIdwjwNIOz7HbvPQQkJyqsZ8kpB4jrU4daszuwFad3WBvBIXymF1gMMTmDlM12TD7kOabI2Y3MBYc60XBfFOtHUDBHgi7gaKTgRIPonZDdAaTsLdQNFJzG6AhFAjh1dsJwu5AYTDU2JyA2PN3UAn3aDnGMEk5XqqL7zTUt3AqRo3cFoEbgDoEO6pAGmn5dhtHlpISE6nM58kJJ5TLE7dM5jdAK37DIG8EhfK4RkAh2cyc5iuyYbdhzTZs2JyA2Ms3cDZtm6AAM+2cANnAySfw+wGaA3nWLiBc5jdAAnhrBxesdUUcgMIh7VicgNjYnAD5/rCq53qBs7VuIHaEbgBoEO45wKk1RZyA0hO5zGfJCSeWhanbh1mN0DrriOQV+JCOawDcFiXmcN0TTbsPqTJnh+TGxhtrvUhQbx6tm6AAOvhbmBIPYDk+sxugNZQH3cDQ+ozuwESwvk5vGJrIOQGEA4bxuQGRpu7gcG6Qc8xgknKtZEvvAtS3UAjjRu4IAI3AHQItxFA2gU5dpuHFhKSU2Pmk4TE09Di1L2Q2Q3Qui8UyCtxoRxeCHDYhJnDdE027D6kyV4UkxsYZa71AUG8i23dAAFejLuBARcDJF/C7AZoDZfgbmDAJcxugIRwUQ6v2C4VcgMIh5fF5AZGmbuBN3WDnmMEk5Tr5b7wrkh1A5dr3MAVEbgBoEO4lwOkXZFjt3loISE5Xcl8kpB4LrM4da9idgO07qsE8kpcKIdXARxezcxhuiYbdh/SZK+JyQ18YK715UG8a23dAAFei7uB5dcCJDdldgO0hqa4G1jelNkNkBCuyeEV23VCbgDh8PqY3MAH5m5gmW7Qc4xgknJt5guveaobaKZxA80jcANAh3CbAaQ1z7HbPLSQkJxaMJ8kJJ7rLU7dG5jdAK37BoG8EhfK4Q0Ahy2ZOUzXZMPuQ5rsjTG5gZHmWl8QxLvJ1g0Q4E24G1hwE0DyzcxugNZwM+4GFtzM7AZICDfm8IrtFiE3gHB4a0xuYKS5G5ivG/QcI5ikXG/zhXd7qhu4TeMGbo/ADQAdwr0NIO32HLvNQwsJyekO5pOExHOrxal7J7MboHXfKZBX4kI5vBPgsBUzh+mabNh9SJNtHZMbGGGu9YpBvDa2boAA2+BuoGIbgOS2zG6A1tAWdwMV2zK7ARJC6xxesbUTcgMIh3fF5AZGmLuBCrpBzzGCScq1vS+8DqluoL3GDXSIwA0AHcJtD5DWIcdu89BCQnK6m/kkIfHcZXHq3sPsBmjd9wjklbhQDu8BOLyXmcN0TTbsPqTJdozJDQw31/q4IN59tm6AAO/D3cC4+wCS72d2A7SG+3E3MO5+ZjdAQuiYwyu2B4TcAMLhgzG5geHmbmCsbtBzjGCScn3IF97DqW7gIY0beDgCNwB0CPchgLSHc+w2Dy0kJKdOzCcJiedBi1O3iNkN0LqLBPJKXCiHRQCHnZk5TNdkw+5DmmyXmNzAMHOtdwviPWLrBgjwEdwNdHsEIPlRZjdAa3gUdwPdHmV2AySELjm8YntMyA0gHD4ekxsYZu4GuuoGPccIJinXrr7wuqW6ga4aN9AtAjcAdAi3K0Batxy7zUMLCcnpCeaThMTzuMWp+ySzG6B1PymQV+JCOXwS4PApZg7TNdmw+5Am2z0mN/C+udbrB/GetnUDBPg07gbqPw2Q3IPZDdAaeuBuoH4PZjdAQuiewyu2nkJuAOGwV0xu4H1zN1BPN+g5RjBJufb2hdcn1Q301riBPhG4AaBDuL0B0vrk2G0eWkhITs8wnyQknl4Wp+6zzG6A1v2sQF6JC+XwWYDD55g5TNdkw+5DmuzzMbmB98y13juI94KtGyDAF3A30PsFgOQXmd0AreFF3A30fpHZDZAQns/hFdtLQm4A4fDlmNzAe+ZuoJdu0HOMYJJyfcUXXt9UN/CKxg30jcANAB3CfQUgrW+O3eahhYTk1I/5JCHxvGxx6r7K7AZo3a8K5JW4UA5fBTjsz8xhuiYbdh/SZF+LyQ28a671tkG8123dAAG+jruBtq8DJL/B7AZoDW/gbqDtG8xugITwWg6v2N4UcgMIhwNicgPvmruBNrpBzzGCScp1oC+8QaluYKDGDQyKwA0AHcIdCJA2KMdu89BCQnJ6i/kkIfEMsDh1BzO7AVr3YIG8EhfK4WCAwyHMHKZrsmH3IU327ZjcwFBzrU8O4r1j6wYI8B3cDUx+ByB5KLMboDUMxd3A5KHMboCE8HYOr9jeFXIDCIfvxeQGhpq7gUm6Qc8xgknK9X1feMNS3cD7GjcwLAI3AHQI932AtGE5dpuHFhKS03Dmk4TE857FqTuC2Q3QukcI5JW4UA5HAByOZOYwXZMNuw9psh/E5AbeMde6F8QbZesGCHAU7ga8UQDJo5ndAK1hNO4GvNHMboCE8EEOr9jGCLkBhMOxMbmBd8zdQGXdoOcYwSTlOs4X3vhUNzBO4wbGR+AGgA7hjgNIG59jt3loISE5TWA+SUg8Yy1O3YnMboDWPVEgr8SFcjgR4HASM4fpmmzYfUiTnRyTG3jbXOsFQbwptm6AAKfgbqBgCkDyVGY3QGuYiruBgqnMboCEMDmHV2zThNwAwuH0mNzA2+ZuIF836DlGMEm5zvCFNzPVDczQuIGZEbgBoEO4MwDSZubYbR5aSEhOHzKfJCSe6Ran7kfMboDW/ZFAXokL5fAjgMNZzByma7Jh9yFNdnZMbmCIudZbB/Hm2LoBApyDu4HWcwCS5zK7AVrDXNwNtJ7L7AZICLNzeMU2T8gNIBx+HJMbGGLuBlrpBj3HCCYp1/m+8BakuoH5GjewIAI3AHQIdz5A2oIcu81DCwnJaSHzSULi+dji1F3E7AZo3YsE8kpcKIeLAA4XM3OYrsmG3Yc02U9icgODzbVePoj3qa0bIMBPcTdQ/lOA5CXMboDWsAR3A+WXMLsBEsInObxi+0zIDSAcfh6TGxhs7gbK6QY9xwgmKdelvvCWpbqBpRo3sCwCNwB0CHcpQNqyHLvNQwsJyWk580lC4vnc4tT9gtkN0Lq/EMgrcaEcfgFw+CUzh+mabNh9SJP9KiY38JZ5Q0vC+9rWDRDg1zn4fd8wn/CU1zc5uwY8x/xCRUQF+1UOryi+FTq1EV5W7KFQTda8woLDKAU1yFJQ39kKigC/sxDU98yCory+j0hQYdOJ+O9z7ArGM8OItEgGZpvnGMT7wbZICPAHi47zA6DYH5kLitbwowXJPzL/DEZF9KOFPfgW2K+fmO0g7e1PlmJNXGht/QSs/2dmi5fuRA67DzmRVzJzSHu00uIgQHigJkg/XpbUfSMQ13Xs6szBcDzjwd0u9781BXNdpfbrFxW/qvhNxWoVv6tYo2KtinUq/lDxp4q/VKxXsUHFRhWbVGxWsUXFVhXbVGxXsUPF3yp2kgbVBrsqSqgoqSJLRSkV2Spycp3kn/dX+T/vB8d+0Yz9qhn7TTO2WjP2u2ZsjWZsrWZsnWbsD83Yn5qxvzRj6zVjGzRjGzVjmzRjmzVjWzRjWzVj2zRj2zVjOzRjf2vGdmrGaCB1zNWMldCMldSMZWnGSmnGsjVjObm7v7eU5b96/muaBtLLbyDuutBm0ybRbNw/wuaO/a8xuX8CTeykcnaNp5i1jtLguNu1OdXR5eTu0M1tos3f/RtY62mWa62UstaQK6mZh+W0yjB/en/xF+O5jvur6VyV729mc/vQfq82mrv+H25+N5m74l8e1xjMre1zvjZkbsdAffxV/Nx6wVpaX+zclUl1t6G4uTWSa3RjMXOrpNTzpvRzm6bW/ua0c6/cTSdb0s0t2l1TW9PMLdLob5tm7hh9rbs7d59bNY0uXGquyXP7p9OQ66bOrZ5Wb26JlLkr0mvTLZk8t10xOnazkuY2Lk7zbqng3JbF9gc3OzC3WvG9xM3JNe9RQN93kb4Z5TsDObnGvXFxEC83dw8A6Wbwt7OLc4GNL224KNt3BmgNhOGCayidi5Ec1W8RgaJdpBv0HCOYpFzz/ALJT3V1ef7GBcfyc/f8t4hAJbt5QIHkg5uHkkNFkQcWE+WVlxtPx8g23+d+QbwC245BgAV4x+hXAHSMMswdg9ZQBu8Y/crE1DGyzXH76gY9xwgmKdeyfoEUpnaMspqOURhBxwAq2S0LFEih5eahb2giOZUDxPDf/wC5lPYLHH1DEzmqywNi0K0hbDrtUXmLTlw+pk5cyrx+Rwbx9rLtxAS4F96JR+4FFN/ezJ2Y1rA33olH7r2HxWcioPLMAtoHXEPiQhsTwuG+QG1EecKVMscdoRv0HCOYpFz384W3f+oJt5/mhNs/ghMO6BDufgBp+1tuHlpISE4V9vCEC7uHxLOvxelQkfnUonVXFMgrcaEcVgQ4PICZw3RN1qQ5m849EGxoUbmBLHOt9wziHWTrBgjwINwN9DwI2KBKzG6A1lAJdwM9KzG7ARLCgbm8YjsYFFviQnNCOKwckxvIMsftoRv0HCOYpFw9X3iHpLoBT+MGDonADQAdwvUA0g6x3Dy0kJCcDmU+SUg8lS1O3cOY3QCt+zCBvBIXyuFhAIeHM3OYrsmG3Yc02SNiem+gpLnWvSDekbZugACPxN2AdyRAchVmN0BrqIK7Aa8KsxsgIRyRyyu2qkJuAOHwqJjcQElz3Mj+Pt/RvvCOSXUDR2vcwDERuAGgQ7hHA6QdY7l5aCEhOR3LfJKQeI6yOHWPY3YDtO7jBPJKXCiHxwEcHs/MYbomG3Yf0mSrxeQGSphrfVEQr7qtGyDA6rgbWFQdIPkEZjdAazgBdwOLTmB2AySEarm8Yqsh5AYQDk+MyQ2UMMddqBv0HCOYpFxP8oV3cqobOEnjBk6OwA0AHcI9CSDtZMvNQwsJyekU5pOExHOixal7KrMboHWfKpBX4kI5PBXg8DRmDtM12bD7kCZ7ekxuwDXXeosg3hm2boAAz8DdQIszAJLPZHYDtIYzcTfQ4kxmN0BCOD2XV2xnCbkBhMOzY3IDrjluc92g5xjBJOV6ji+8mqlu4ByNG6gZgRsAOoR7DkBaTcvNQwsJyakW80lC4jnb4tQ9l9kN0LrPFcgrcaEcngtwWJuZw3RNNuw+pMmeF5MbcMy1viyIV8fWDRBgHdwNLKsDkFyX2Q3QGuribmBZXWY3QEI4L5dXbOcLuQGEw3oxuQHHHHepbtBzzGCCudb3hdcg1Q3U17iBBhG4AaBDuPUB0hpYbh5aSEhODZlPEhJPPYtTtxGzG6B1NxLIK3GhHDYCOLyAmcN0TTbsPqTJNo7JDew0/7fyDYJ4F9q6AQK8EHcDDS4ESG7C7AZoDU1wN9CgCbMbICE0zuUV20VCbgDh8OKY3MBO87+4VF836DlGMEm5XuIL79JUN3CJxg1cGoEbADqEewlA2qW5dpuHFhKS02XMJwmJ52KLU/dyZjdA675cIK/EhXJ4OcDhFcwcpmuyYfchTfbKmNzA3+ZaHx7Eu8rWDRDgVbgbGH4VQPLVzG6A1nA17gaGX83sBkgIV+byiu0aITeAcHhtTG7gb3M3MEw36DlGMEm5NvWFd12qG2iqcQPXReAGgA7hNgVIuy7XbvPQQkJyup75JCHxXGtx6jZjdgO07mYCeSUulMNmAIfNmTlM12TD7kOabIuY3MAOc61PDOLdYOsGCPAG3A1MvAEguSWzG6A1tMTdwMSWzG6AhNAil1dsNwq5AYTDm2JyAzvM3cAE3aDnGMEk5XqzL7xbUt3AzRo3cEsEbgDoEO7NAGm35NptHlpISE63Mp8kJJ6bLE7d25jdAK37NoG8EhfK4W0Ah7czc5iuyYbdhzTZO2JyA9vNtd4oiHenrRsgwDtxN9DoToDkVsxugNbQCncDjVoxuwESwh25vGJrLeQGEA7bxOQGtpu7gYa6Qc8xgknKta0vvHapbqCtxg20i8ANAB3CbQuQ1i7XbvPQQkJyuov5JCHxtLE4ddszuwFad3uBvBIXymF7gMMOzByma7Jh9yFN9u6Y3MA2c60XBfHusXUDBHgP7gaK7gFIvpfZDdAa7sXdQNG9zG6AhHB3Lq/YOgq5AYTD+2JyA9vM3UAn3aDnGMEk5Xq/L7wHUt3A/Ro38EAEbgDoEO79AGkP5NptHlpISE4PMp8kJJ77LE7dh5jdAK37IYG8EhfK4UMAhw8zc5iuyYbdhzTZTjG5ga2WbqDI1g0QYJGFGygCSO7M7AZoDZ0t3EBnZjdAQuiUyyu2LkJuAOHwkZjcwNYY3MCjvvAeS3UDj2rcwGMRuAGgQ7iPAqQ9JuQGkJweZz5JSDyPWJy6XZndAK27q0BeiQvlsCvAYTdmDtM12bD7kCb7RExuYIu51ocE8Z60dQME+CTuBoY8CZD8FLMboDU8hbuBIU8xuwESwhO5vGLrLuQGEA6fjskNbDF3A4N1g55jBJOUaw9feD1T3UAPjRvoGYEbADqE2wMgrWeu3eahhYTk1Iv5JCHxPG1x6vZmdgO07t4CeSUulMPeAId9mDlM12TD7kOa7DMxuYHN5lofEMR71tYNEOCzuBsY8CxA8nPMboDW8BzuBgY8x+wGSAjP5PKK7XkhN4Bw+EJMbmCzuRt4UzfoOUYwSbm+6AvvpVQ38KLGDbwUgRsAOoT7IkDaS7l2m4cWEpLTy8wnCYnnBYtT9xVmN0DrfkUgr8SFcvgKwGFfZg7TNdmw+5Am2y8mN7DJXOvLg3iv2roBAnwVdwPLXwVI7s/sBmgN/XE3sLw/sxsgIfTL5RXba0JuAOHw9ZjcwCZzN7BMN+g5RjBJub7hC+/NVDfwhsYNvBmBGwA6hPsGQNqbuXabhxYSktMA5pOExPO6xak7kNkN0LoHCuSVuFAOBwIcDmLmMF2TDbsPabJvxeQGNpprfUEQb7CtGyDAwbgbWDAYIHkIsxugNQzB3cCCIcxugITwVi6v2N4WcgMIh+/E5AY2mruB+bpBzzGCScp1qC+8d1PdwFCNG3g3AjcAdAh3KEDau7l2m4cWEpLTe8wnCYnnHYtT931mN0Drfl8gr8SFcvg+wOEwZg7TNdmw+5AmOzwmN7DBXOsVg3gjbN0AAY7A3UDFEQDJI5ndAK1hJO4GKo5kdgMkhOG5vGL7QMgNIByOiskNbDB3AxV0g55jBJOU62hfeGNS3cBojRsYE4EbADqEOxogbUyu3eahhYTkNJb5JCHxjLI4dccxuwFa9ziBvBIXyuE4gMPxzByma7Jh9yFNdkJMbmC9udbHBfEm2roBApyIu4FxEwGSJzG7AVrDJNwNjJvE7AZICBNyecU2WcgNIBxOickNrDd3A2N1g55jBJOU61RfeNNS3cBUjRuYFoEbADqEOxUgbVqu3eahhYTkNJ35JCHxTLE4dWcwuwFa9wyBvBIXyuEMgMOZzByma7Jh9yFN9sOY3MBf5lrvFsT7yNYNEOBHuBvo9hFA8ixmN0BrmIW7gW6zmN0ACeHDXF6xzRZyAwiHc2JyA3+Zu4GuukHPMYJJynWuL7x5qW5grsYNzIvADQAdwp0LkDYv127z0EJCcvqY+SQh8cyxOHXnM7sBWvd8gbwSF8rhfIDDBcwcpmuyYfchTXZhTG7gT3Ot1w/iLbJ1AwS4CHcD9RcBJC9mdgO0hsW4G6i/mNkNkBAW5vKK7RMhN4Bw+GlMbuBPczdQTzfoOUYwSbku8YX3WaobWKJxA59F4AaADuEuAUj7LNdu89BCQnL6nPkkIfF8anHqLmV2A7TupQJ5JS6Uw6UAh8uYOUzXZMPuQ5rs8pjcwB/mWu8dxPvC1g0Q4Be4G+j9BUDyl8xugNbwJe4Gen/J7AZICMtzecX2lZAbQDj8OiY38Ie5G+ilG/QcI5ikXL/xhfdtqhv4RuMGvo3ADQAdwv0GIO3bXLvNQwsJyWkF80lC4vna4tT9jtkN0Lq/E8grcaEcfgdw+D0zh+mabNh9SJP9ISY3sM5c622DeD/augEC/BF3A21/BEj+idkN0Bp+wt1A25+Y3QAJ4YdcXrH9LOQGEA5XxuQG1pm7gTa6Qc8xgknKdZUvvF9S3cAqjRv4JQI3AHQIdxVA2i+5dpuHFhKS06/MJwmJZ6XFqfsbsxugdf8mkFfiQjn8DeBwNTOH6Zps2H1Ik/09Jjew1lzrk4N4a2zdAAGuwd3A5DUAyWuZ3QCtYS3uBiavZXYDJITfc3nFtk7IDSAc/hGTG1hr7gYm6QY9xwgmKdc/feH9leoG/tS4gb8icANAh3D/BEj7K9du89BCQnJaz3ySkHj+sDh1NzC7AVr3BoG8EhfK4QaAw43MHKZrsmH3IU12U0xuYI251r0g3mZbN0CAm3E34G0GSN7C7AZoDVtwN+BtYXYDJIRNubxi2yrkBhAOt8XkBtaYu4HKukHPMYJJynW7L7wdqW5gu8YN7IjADQAdwt0OkLYj127z0EJCcvqb+SQh8WyzOHV3MrsBWvdOgbwSF8rhTqShl+blMF2TDbsPabKu+RoidQO/m2u9IIhXovQeANLNoBsoKAGQXLI0rxugNRAG6AYKSgIk6/IyEYJbmldsWaDYEheaE8JhKSCnKN3A7+ZuIF836DlGMEm5ZvvCy0l0gMTJn116dzdAk/bUDQAdws0GSMspbbd5aCEhOeUynyQknlKlcWGX3sPGETad1l1aIK/EhXJYGuAwj5nDdE027D6kyebH5AZWm2u9dRCvwNYNEGAB7gZaFwAkl2F2A7SGMrgbaF2G2Q2QEPJL84qtrJAbQDgsjMkNrDZ3A610g55jBJOUazlfeOVT3UA5jRsoH4EbADqEWw4grXxpu81DCwnJaS/mk4TEU2hx6u7N7AZo3XsL5JW4UA73Bjjch5nDdE027D6kye4bkxv4zVzr5YN4+9m6AQLcD3cD5fcDSN6f2Q3QGvbH3UD5/ZndAAlh39K8Yqsg5AYQDivG5AZ+M3cD5XSDnmMEk5TrAb7wDkx1Awdo3MCBEbgBoEO4BwCkHVjabvPQQkJyOoj5JCHxVLQ4dSsxuwFadyWBvBIXymElgMODmTlM12TD7kOabOWY3MCv5g0tCc+zdQP/AJbG7zuE+YSnvA4pvWvAc8wvVERUsJVL84riUKFTG+HlsD0UqsmaD7PgMEpB/WIpqMNtBUWAh1sI6ghmQVFeR0QkqLDpRPwRpe0KxjPDiLRIVuWY5xjEO9K2SAjwSIuOcySg2CrMBUVrqGJBchXmn8GoiKpY2INDgf2qymwHaW+rWoo1caG1VRVY/1HMFi/diRx2H3IiH83MIe3R0RYHAcIDNUH68bKk7huBuAc6dnXmYDie8eBul/vfmtzAPceo/TpWxXEqjldRTUV1FSeoqKHiRBUnqThZxSkqTlVxmorTVZyh4kwVZ6k4W8U5KmqqqKXiXBW1VZynoo6KuirOV1FPRX0VDVQ0TH0P4Bj/5/3g2LGaseM0Y8drxqppxqprxk7QjNXQjJ2oGTtJM3ayZuwUzdipmrHTNGOna8bO0IydqRk7SzN2tmbsHM1YTc1YLc3YuZqx2pqx8zRjdTRjdTVj52vG6mnG6mvGGmjGGpbe/b2lLP/V81/TNJBefgNxTwxtNm0SzcY9KWzu2P8ak3sy0MTOK2fXeIpZ6ygNjltTm1MdXU5uLd3cJtr83XOBtdazXGullLWGXEnNPCynYwzzp/cXjzWe67jHmc5V+R5vNrcP7Xc1o7nr/+GmusncFf/yeILB3No+5zVC5nYM1Mcpxc+tF6ylU4uduzKp7k4rbm6N5Bo9vZi5VVLq+Yz0c5um1v6ZaedeuZtOzko3t2h3TZ2dZm6RRn/naOaO0de6W3v3uVXT6MI9b7e5/dNpyK2TOrd6Wr25dVPmrkivTff85LntitGxWy9pbuPiNO/WD85tWWx/cBsE5lYrvpe4DYEfDIC+7yJ9M8p3Bhqa98bFQbxGtu8MEGCj0vBvZxc3Ajb+AuDAsl3DBeA7A7SGC0pjJEf1W0SgaBfpBj3HCCYp18Z+gVyY+hNEY3/jgmMXlt7z3yIClew2BgrkQnDzUHKoKBqDxUR5NS4dT8doYL7P/YJ4TWw7BgE2wTtGvyZAx7iIuWPQGi7CO0a/i2LqGA3McfvqBj3HCCYp14v9ArkktWNcrOkYl0TQMYBKdi8GCuQSy81D39BEcroUEMN//wPkcoFf4OgbmshRfRkgBt0awqbTHl1m0Ykvi6kT1zev35FBvMttOzEBXo534pGXA8V3BXMnpjVcgXfikVfsYfGZCOgyZgFdCa4hcaGNCeHwKqA2ojzh6pvjjtANeo4RTFKuV/vCuyb1hLtac8JdE8EJB3QI92qAtGssNw8tJCSna/fwhAu7h8RzlcXp0JT51KJ1NxXIK3GhHDYFOLyOmcN0TdakOZvOvR5saFG5gXrmWu8ZxGtm6wYIsBnuBno2AzaoObMboDU0x91Az+bMboCEcH1pXrG1AMWWuNCcEA5viMkN1DPH7aEb9BwjmKRcW/rCuzHVDbTUuIEbI3ADQIdwWwKk3Wi5eWghITndxHySkHhusDh1b2Z2A7TumwXySlwohzcDHN7CzGG6Jht2H9Jkb43pvYHzzbXuBfFus3UDBHgb7ga82wCSb2d2A7SG23E34N3O7AZICLeW5hXbHUJuAOHwzpjcwPnmuJH9fb5WvvBap7qBVho30DoCNwB0CLcVQFpry81DCwnJqQ3zSULiudPi1G3L7AZo3W0F8kpcKIdtAQ7bMXOYrsmG3Yc02bticgN1zbW+KIjX3tYNEGB73A0sag+Q3IHZDdAaOuBuYFEHZjdAQrirNK/Y7hZyAwiH98TkBuqa4y7UDXqOEUxSrvf6wuuY6gbu1biBjhG4AaBDuPcCpHW03Dy0kJCc7mM+SUg891icuvczuwFa9/0CeSUulMP7AQ4fYOYwXZMNuw9psg/G5AbqmGu9RRDvIVs3QIAP4W6gxUMAyQ8zuwFaw8O4G2jxMLMbICE8WJpXbJ2E3ADCYVFMbqCOOW5z3aDnGMEk5drZF16XVDfQWeMGukTgBoAO4XYGSOtiuXloISE5PcJ8kpB4iixO3UeZ3QCt+1GBvBIXyuGjAIePMXOYrsmG3Yc02cdjcgPnmWt9WRCvq60bIMCuuBtY1hUguRuzG6A1dMPdwLJuzG6AhPB4aV6xPSHkBhAOn4zJDZxnjrtUN+g5RjBJuT7lC697qht4SuMGukfgBoAO4T4FkNbdcvPQQkJyepr5JCHxPGlx6vZgdgO07h4CeSUulMMeAIc9mTlM12TD7kOabK+Y3EBtc603COL1tnUDBNgbdwMNegMk92F2A7SGPrgbaNCH2Q2QEHqV5hXbM0JuAOHw2ZjcQG1z3Pq6Qc8xgknK9TlfeM+nuoHnNG7g+QjcANAh3OcA0p633Dy0kJCcXmA+SUg8z1qcui8yuwFa94sCeSUulMMXAQ5fYuYwXZMNuw9psi/H5AbONdf68CDeK7ZugABfwd3A8FcAkvsyuwFaQ1/cDQzvy+wGSAgvl+YVWz8hN4Bw+GpMbuBcc9xhukHPMYJJyrW/L7zXUt1Af40beC0CNwB0CLc/QNprlpuHFhKS0+vMJwmJ51WLU/cNZjdA635DIK/EhXL4BsDhm8wcpmuyYfchTXZATG6glrnWJwbxBtq6AQIciLuBiQMBkgcxuwFawyDcDUwcxOwGSAgDSvOK7S0hN4BwODgmN1DLHHeCbtBzjGCSch3iC+/tVDcwROMG3o7ADQAdwh0CkPa25eahhYTk9A7zSULiGWxx6g5ldgO07qECeSUulMOhAIfvMnOYrsmG3Yc02fdicgM1zbXeKIj3vq0bIMD3cTfQ6H2A5GHMboDWMAx3A42GMbsBEsJ7pXnFNlzIDSAcjojJDdQ0x22oG/QcI5ikXEf6wvsg1Q2M1LiBDyJwA0CHcEcCpH1guXloISE5jWI+SUg8IyxO3dHMboDWPVogr8SFcjga4HAMM4fpmmzYfUiTHRuTGzjHXOtFQbxxtm6AAMfhbqBoHEDyeGY3QGsYj7uBovHMboCEMLY0r9gmCLkBhMOJMbmBc8xxO+kGPccIJinXSb7wJqe6gUkaNzA5AjcAdAh3EkDaZMvNQwsJyWkK80lC4plocepOZXYDtO6pAnklLpTDqQCH05g5TNdkw+5Dmuz0mNzA2ZZuYIatGyDAGRZuYAZA8kxmN0BrmGnhBmYyuwESwvTSvGL7UMgNIBx+FJMbODsGNzDLF97sVDcwS+MGZkfgBoAO4c4CSJst5AaQnOYwnyQkno8sTt25zG6A1j1XIK/EhXI4F+BwHjOH6Zps2H1Ik/04JjdwlrnWhwTx5tu6AQKcj7uBIfMBkhcwuwFawwLcDQxZwOwGSAgfl+YV20IhN4BwuCgmN3CWOe5g3aDnGMEk5brYF94nqW5gscYNfBKBGwA6hLsYIO0Ty81DCwnJ6VPmk4TEs8ji1F3C7AZo3UsE8kpcKIdLAA4/Y+YwXZMNuw9psp/H5AbONNf6gCDeUls3QIBLcTcwYClA8jJmN0BrWIa7gQHLmN0ACeHz0rxiWy7kBhAOv4jJDZxpjvumbtBzjGCScv3SF95XqW7gS40b+CoCNwB0CPdLgLSvLDcPLSQkp6+ZTxISzxcWp+43zG6A1v2NQF6JC+XwG4DDb5k5TNdkw+5DmuyKmNzAGeZaXx7E+87WDRDgd7gbWP4dQPL3zG6A1vA97gaWf8/sBkgIK0rziu0HITeAcPhjTG7gDHPcZbpBzzGCScr1J194P6e6gZ80buDnCNwA0CHcnwDSfrbcPLSQkJxWMp8kJJ4fLU7dVcxugNa9SiCvxIVyuArg8BdmDtM12bD7kCb7a0xu4HRzrS8I4v1m6wYI8DfcDSz4DSB5NbMboDWsxt3AgtXMboCE8GtpXrH9LuQGEA7XxOQGTjfHna8b9BwjmKRc1/rCW5fqBtZq3MC6CNwA0CHctQBp6yw3Dy0kJKc/mE8SEs8ai1P3T2Y3QOv+UyCvxIVy+CfA4V/MHKZrsmH3IU12fUxu4DRzrVcM4m2wdQMEuAF3AxU3ACRvZHYDtIaNuBuouJHZDZAQ1pfmFdsmITeAcLg5JjdwmjluBd2g5xjBJOW6xRfe1lQ3sEXjBrZG4AaADuFuAUjbarl5aCEhOW1jPklIPJstTt3tzG6A1r1dIK/EhXK4HeBwBzOH6Zps2H1Ik/07JjdwqrnWxwXxdtq6AQLcibuBcTsRkvN43QCtgTBANzAumJfZQsy/f0IIf5fmFZubh4ktcaE5IRyWAHKK0g2cal6TY3WDnmMEk5Rrybx/X7PynOSTv2Te7m6AJu2pGwA6hFsSIC0rz27z0EJCcioFFjdaMCSeEnm4sLP3sHGETad1ZwvklbhQDrMBDnOYOUzXZMPuQ5psLrCvUbqBU8y13i2IVzpvDwDpZtANdCsNkJzH7AZoDXm4G+iWx+wGSAi5ebxiyxdyAwiHBTG5gVPM3UBX3aDnGMEk5VrGF17ZVDdQRuMGykbgBoAO4ZYBSCubZ7d5aCEhORUynyQkngKLU7ccsxugdZcTyCtxoRyWAzgsz8xhuiYbdh/SZPeKyQ2cbK71+kG8vW3dAAHujbuB+nsDJO/D7AZoDfvgbqD+PsxugISwVx6v2PYVcgMIh/vF5AZONncD9XSDnmMEk5Tr/r7wKqS6gf01bqBCBG4A6BDu/gBpFfLsNg8tJCSniswnCYlnP4tT9wBmN0DrPkAgr8SFcngAwOGBzByma7Jh9yFN9qCY3MBJ5lrvHcSrZOsGCLAS7gZ6VwJIPpjZDdAaDsbdQO+Dmd0ACeGgPF6xVRZyAwiHXkxu4CRzN9BLN+g5RjBJuR7iC+/QVDdwiMYNHBqBGwA6hHsIQNqheXabhxYSktNhzCfJP+KxOHUPZ3YDtO7DBfJKXCiHhwMcHsHMYbomG3Yf0mSPjMkNnGiu9bZBvCq2boAAq+BuoG0VgOSqzG6A1lAVdwNtqzK7ARLCkXm8YjtKyA0gHB4dkxs40dwNtNENeo4RTFKux/jCOzbVDRyjcQPHRuAGgA7hHgOQdmye3eahhYTkdBzzSULiOdri1D2e2Q3Quo8XyCtxoRweD3BYjZnDdE027D6kyVaPyQ3UMNf65CDeCbZugABPwN3A5BMAkmswuwFaQw3cDUyuwewGSAjV83jFdqKQG0A4PCkmN1DD3A1M0g16jhFMUq4n+8I7JdUNnKxxA6dE4AaADuGeDJB2Sp7d5qGFhOR0KvNJQuI5yeLUPY3ZDdC6TxPIK3GhHJ4GcHg6M4fpmmzYfUiTPSMmN3CCuda9IN6Ztm6AAM/E3YB3JkDyWcxugNZwFu4GvLOY3QAJ4Yw8XrGdLeQGEA7PickNnGDuBirrBj3HCCYp15q+8GqluoGaGjdQKwI3AHQItyZAWq08u81DCwnJ6Vzmk4TEc47FqVub2Q3QumsL5JW4UA5rAxyex8xhuiYbdh/SZOvE5Aaqm2u9IIhX19YNEGBd3A0U1AVIPp/ZDdAazsfdQMH5zG6AhFAnj1ds9YTcAMJh/ZjcQHVzN5CvG/QcI5ikXBv4wmuY6gYaaNxAwwjcANAh3AYAaQ3z7DYPLSQkp0bMJwmJp77FqXsBsxugdV8gkFfiQjm8AOCwMTOH6Zps2H1Ik70wJjdQzVzrrYN4TWzdAAE2wd1A6yYAyRcxuwFaw0W4G2h9EbMbICFcmMcrtouF3ADC4SUxuYFq5m6glW7Qc4xgknK91BfeZalu4FKNG7gsAjcAdAj3UoC0y/LsNg8tJCSny5lPEhLPJRan7hXMboDWfYVAXokL5fAKgMMrmTlM12TD7kOa7FUxuYHjzbVePoh3ta0bIMCrcTdQ/mqA5GuY3QCt4RrcDZS/htkNkBCuyuMV27VCbgDhsGlMbuB4czdQTjfoOUYwSble5wvv+lQ3cJ3GDVwfgRsAOoR7HUDa9Xl2m4cWEpJTM+aThMTT1OLUbc7sBmjdzQXySlwoh80BDlswc5iuyYbdhzTZG2JyA8cBfwMxiNfS1g0QYMs8/L4bmU94yuvGvF0DnmN+oSKigr0hj1cUNwmd2ggvN++hUE3WfLMFh1EK6lhLQd1iKygCvMVCULcyC4ryujUiQYVNJ+JvzbMrGM8MI9IiOQb545+BG2+zLRICvM2i49wGKPZ25oKiNdxuQfLtzD+DURHdbmEPbgL26w5mO0h7e4elWBMXWlt3AOu/k9nipTuRw+5DTuRWzBzSHrWyOAgQHqgJ0o+XJTXfqLIG13XSX52yk+YWN9UpSppb7FSnc3Bu8VOdLtm771O6Wx7ZfW7a7/7obnPTJ/JY6txicn48W8+r7pau+rna795NO1efyBO6uWlyfjI7fR2m3vJU+rm7fffuaefunsjT6eZqcu6RXbxugrf0LH5u0nfvVezc5ER6Fzc3Jec+2eE6T9zyTPjc/777s6FzdyXyXNjcQM7PG+SbuOUFs7n/fPcXjeb+m8hLJnP9nF82zJfu6Gs813X6mc5VebxqnoP28vZgmueYXO5/FLuBe1qrc6WNirYq2qm4S0V7FR1U3K3iHhX3quio4j4V96t4QMWDKh5S8bCKTiqKVHRW0UXFIyoeVfGYisdVdFXRTcUTKp5U8ZSK7iqeTn2vtLX/vmhwrI1mrK1mrJ1m7C7NWHvNWAfN2N2asXs0Y/dqxjpqxu7TjN2vGXtAM/agZuwhzdjDmrFOmrEizVhnzVgXzdgjmrFHNWOPacYe14x11Yx104w9oRl7UjP2lGasu2bs6bzd34PP8l89/zWN0erlGy33nlBT1iZhytx7w+aO/c/AuR0Bs9e0nF3jKWatozQ4bhdtTnV0ObmP6OY20ebvPgqstbnlWs9MWStdbjHzM6b33ytjev+9Mqb33ytjejOmNzA1yfSG9e7Whn2efl/dxniu47Y1nasybmc2tw+dS3cZzV3/zxnW3mTuin/Puw4Gc2v7Z+PdIXM7Bs7R+4qfWy945t5f7NyVSefzA8XNrZF8lj9YzNwqKef+Q+nnNk31CA+nnXvlbn6iU7q5Rbt7j6I0c4s0PqWzZu4Yfa27j+0+t2oaXbiP7za3fzoNuV1T51ZPqze3W8rcFem16T6RPLddMTp2n0ya27g4zbtPBee2LLY/uN0Dc6sV30vcp4E3mgF/7CL+MsrfND1t3hsXB/F62P6miQB75MGf9lvcA9j4noCxt11DT/A3TbSGnnkYybTHUXwqDSjaRbpBzzGCScq1l18gvVPfaenlb1xwrHfenn8qDahktxdQIL3BzUPJoaLoBRYT5dUrL56O0d18n/sF8frYdgwC7IN3jH59gI7xDHPHoDU8g3eMfs/E1DG6m+P21Q16jhFMUq7P+gXyXGrHeFbTMZ6LoGMAlew+CxTIc5abh/6CHMnpeUAM//0PkEtPv8DRX5AjR/ULgBh0awibTnv0gkUnfiGmTvyUef2ODOK9aNuJCfBFvBOPfBEovpeYOzGt4SW8E498aQ+Lz0RALzAL6GVwDYkLbUwIh68AtRHlCfeUOe4I3aDnGMEk5drXF16/1BOur+aE6xfBCQd0CLcvQFo/y81DCwnJ6dU9POHC7iHxvGJxOvRnPrVo3f0F8kpcKIf9AQ5fY+YwXZM1ac6mc18HG1pUbuBJc633DOK9YesGCPAN3A30fAPYoDeZ3QCt4U3cDfR8k9kNkBBez+MV2wBQbIkLzQnhcGBMbuBJc9weukHPMYJJynWQL7y3Ut3AII0beCsCNwB0CHcQQNpblpuHFhKS02Dmk4TEM9Di1B3C7AZo3UME8kpcKIdDAA7fZuYwXZMNuw9psu/E9N7AE+Za94J4Q23dAAEOxd2ANxQg+V1mN0BreBd3A967zG6AhPBOHq/Y3hNyAwiH78fkBp4wx43s7z0P84U3PNUNDNO4geERuAGgQ7jDANKGW24eWkhITiOYTxISz/sWp+5IZjdA6x4pkFfiQjkcCXD4ATOH6Zps2H1Ikx0VkxvoZq71RUG80bZugABH425g0WiA5DHMboDWMAZ3A4vGMLsBEsKoPF6xjRVyAwiH42JyA93McRfqBj3HCCYp1/G+8CakuoHxGjcwIQI3AHQIdzxA2gTLzUMLCclpIvNJQuIZZ3HqTmJ2A7TuSQJ5JS6Uw0kAh5OZOUzXZMPuQ5rslJjcQFdzrbcI4k21dQMEOBV3Ay2mAiRPY3YDtIZpuBtoMY3ZDZAQpuTxim26kBtAOJwRkxvoao7bXDfoOUYwSbnO9IX3YaobmKlxAx9G4AaADuHOBEj70HLz0EJCcvqI+SQh8cywOHVnMbsBWvcsgbwSF8rhLIDD2cwcpmuyYfchTXZOTG7gcXOtLwvizbV1AwQ4F3cDy+YCJM9jdgO0hnm4G1g2j9kNkBDm5PGK7WMhN4BwOD8mN/C4Oe5S3aDnGMEk5brAF97CVDewQOMGFkbgBoAO4S4ASFtouXloISE5LWI+SUg88y1O3cXMboDWvVggr8SFcrgY4PATZg7TNdmw+5Am+2lMbuAxc603COItsXUDBLgEdwMNlgAkf8bsBmgNn+FuoMFnzG6AhPBpHq/YPhdyAwiHS2NyA4+Z49bXDXqOEUxSrst84S1PdQPLNG5geQRuAOgQ7jKAtOWWm4cWEpLTF8wnCYlnqcWp+yWzG6B1fymQV+JCOfwS4PArZg7TNdmw+5Am+3VMbuBRc60PD+J9Y+sGCPAb3A0M/wYg+VtmN0Br+BZ3A8O/ZXYDJISv83jFtkLIDSAcfheTG3jUHHeYbtBzjGCScv3eF94PqW7ge40b+CECNwB0CPd7gLQfLDcPLSQkpx+ZTxISz3cWp+5PzG6A1v2TQF6JC+XwJ4DDn5k5TNdkw+5DmuzKmNzAI+ZanxjEW2XrBghwFe4GJq4CSP6F2Q3QGn7B3cDEX5jdAAlhZR6v2H4VcgMIh7/F5AYeMcedoBv0HCOYpFxX+8L7PdUNrNa4gd8jcANAh3BXA6T9brl5aCEhOa1hPklIPL9ZnLprmd0ArXutQF6JC+VwLcDhOmYO0zXZsPuQJvtHTG6gi7nWGwXx/rR1AwT4J+4GGv0JkPwXsxugNfyFu4FGfzG7ARLCH3m8Ylsv5AYQDjfE5Aa6mOM21A16jhFMUq4bfeFtSnUDGzVuYFMEbgDoEO5GgLRNlpuHFhKS02bmk4TEs8Hi1N3C7AZo3VsE8kpcKIdbAA63MnOYrsmG3Yc02W0xuYHO5lovCuJtt3UDBLgddwNF2wGSdzC7AVrDDtwNFO1gdgMkhG15vGL7W8gNIBzujMkNdDbH7aQb9BwjmORc8/3RfCf55KcvpLoBmrSnbgDoEC7lYDJ3nZ+bYQ5Jm4cWEpJTiXysuNGCIfHstDh1S5rntSs5xzwvWnfJfP68EhfKYUmAwyxmDtM12bD7kCZbCtjXKN1AkaUbyM7fA0C6GXUD2QDJOUDx2K4hBxQPrSFnD0VtIoRS+bxiywXFlrjQnBAOSwM5RekGimJwA3m+8PJT3UCexg3kR+AGgA7h5gGk5Qu5ASSnAuaThMRT2uLULcPsBmjdZQTySlwoh2UADssyc5iuyYbdhzTZwpjcQCdzrQ8J4pWzdQMEWA53A0PKASSXZ3YDtIbyuBsYUp7ZDZAQCvN5xbaXkBtAONw7JjfQydwNDNYNeo4RTFKu+/jC2zfVDeyjcQP7RuAGgA7h7gOQtm++3eahhYTktB/zSULi2dvi1N2f2Q3QuvcXyCtxoRzuD3BYgZnDdE027D6kyVaMyQ08bK71AUG8A2zdAAEegLuBAQcAJB/I7AZoDQfibmDAgcxugIRQMZ9XbAcJuQGEw0oxuYGHzd3Am7pBzzGCScr1YF94lVPdwMEaN1A5AjcAdAj3YIC0yvl2m4cWEpKTx3ySkHgqWZy6hzC7AVr3IQJ5JS6Uw0MADg9l5jBdkw27D2myh8XkBh4y1/ryIN7htm6AAA/H3cDywwGSj2B2A7SGI3A3sPwIZjdAQjgsn1dsRwq5AYTDKjG5gYfM3cAy3aDnGMEk5VrVF95RqW6gqsYNHBWBGwA6hFsVIO2ofLvNQwsJyelo5pOExFPF4tQ9htkN0LqPEcgrcaEcHgNweCwzh+mabNh9SJM9LiY38KC51hcE8Y63dQMEeDzuBhYcD5BcjdkN0Bqq4W5gQTVmN0BCOC6fV2zVhdwAwuEJMbmBB83dwHzdoOcYwSTlWsMX3ompbqCGxg2cGIEbADqEWwMg7cR8u81DCwnJ6STmk4TEc4LFqXsysxugdZ8skFfiQjk8GeDwFGYO0zXZsPuQJntqTG7gAXOtVwzinWbrBgjwNNwNVDwNIPl0ZjdAazgddwMVT2d2AySEU/N5xXaGkBtAODwzJjfwgLkbqKAb9BwjmKRcz/KFd3aqGzhL4wbOjsANAB3CPQsg7ex8u81DCwnJ6Rzmk4TEc6bFqVuT2Q3QumsK5JW4UA5rAhzWYuYwXZMNuw9psufG5AbuN9f6uCBebVs3QIC1cTcwrjZA8nnMboDWcB7uBsadx+wGSAjn5vOKrY6QG0A4rBuTG7jf3A2M1Q16jhFMUq7n+8Krl+oGzte4gXoRuAGgQ7jnA6TVy7fbPLSQkJzqM58kJJ66FqduA2Y3QOtuIJBX4kI5bABw2JCZw3RNNuw+pMk2iskN3Geu9W5BvAts3QABXoC7gW4XACQ3ZnYDtIbGuBvo1pjZDZAQGuXziu1CITeAcNgkJjdwn7kb6Kob9BwjmKRcL/KFd3GqG7hI4wYujsANAB3CvQgg7eJ8u81DCwnJ6RLmk4TE08Ti1L2U2Q3Qui8VyCtxoRxeCnB4GTOH6Zps2H1Ik708JjfQ0Vzr9YN4V9i6AQK8AncD9a8ASL6S2Q3QGq7E3UD9K5ndAAnh8nxesV0l5AYQDq+OyQ10NHcD9XSDnmMEk5TrNb7wrk11A9do3MC1EbgBoEO41wCkXZtvt3loISE5NWU+SUg8V1ucutcxuwFa93UCeSUulMPrAA6vZ+YwXZMNuw9pss1icgP3mmu9dxCvua0bIMDmuBvo3RwguQWzG6A1tMDdQO8WzG6AhNAsn1dsNwi5AYTDljG5gXvN3UAv3aDnGMEk5XqjL7ybUt3AjRo3cFMEbgDoEO6NAGk35dttHlpISE43M58kJJ6WFqfuLcxugNZ9i0BeiQvl8BaAw1uZOUzXZMPuQ5rsbTG5gXvMtd42iHe7rRsgwNtxN9D2doDkO5jdAK3hDtwNtL2D2Q2QEG7L5xXbnUJuAOGwVUxu4B5zN9BGN+g5RjBJubb2hdcm1Q201riBNhG4AaBDuK0B0trk220eWkhITm2ZTxISTyuLU7cdsxugdbcTyCtxoRy2Azi8i5nDdE027D6kybaPyQ3cba71yUG8DrZugAA74G5gcgeA5LuZ3QCt4W7cDUy+m9kNkBDa5/OK7R4hN4BweG9MbuBuczcwSTfoOUYwSbl29IV3X6ob6KhxA/dF4AaADuF2BEi7L99u89BCQnK6n/kkIfHca3HqPsDsBmjdDwjklbhQDh8AOHyQmcN0TTbsPqTJPhSTG+hgrnUviPewrRsgwIdxN+A9DJDcidkN0Bo64W7A68TsBkgID+Xziq1IyA0gHHaOyQ10MHcDlXWDnmMEk5RrF194j6S6gS4aN/BIBG4A6BBuF4C0R/LtNg8tJCSnR5lPEhJPZ4tT9zFmN0Drfkwgr8SFcvgYwOHjzByma7Jh9yFNtmtMbqC9udYLgnjdbN0AAXbD3UBBN4DkJ5jdAK3hCdwNFDzB7AZICF3zecX2pJAbQDh8KiY30N7cDeTrBj3HCCYp1+7+d3o61Q1017iBpyNwA0CHcLsDpD2db7d5aCEhOfVgPklIPE9ZnLo9md0ArbunQF6JC+WwJ8BhL2YO0zXZsPuQJts7Jjdwl7nWWwfx+ti6AQLsg7uB1n0Akp9hdgO0hmdwN9D6GWY3QELonc8rtmeF3ADC4XMxuYG7zN1AK92g5xjBJOX6vC+8F1LdwPMaN/BCBG4A6BDu8wBpL+TbbR5aSEhOLzKfJCSe5yxO3ZeY3QCt+yWBvBIXyuFLAIcvM3OYrsmG3Yc02VdicgPtzLVePojX19YNEGBf3A2U7wuQ3I/ZDdAa+uFuoHw/ZjdAQngln1dsrwq5AYTD/jG5gXbmbqCcbtBzjGCScn3NF97rqW7gNY0beD0CNwB0CPc1gLTX8+02Dy0kJKc3mE8SEk9/i1P3TWY3QOt+UyCvxIVy+CbA4QBmDtM12bD7kCY7MCY30Na8oSXhDbJ1AwQ4KB+/7y3mE57yeit/14DnmF+oiKhgB+bzimKw0KmN8DJkD4VqsuYhFhxGKag2loJ621ZQBPi2haDeYRYU5fVORIIKm07Ev5NvVzCeGUakRdI6zzzHIN5Q2yIhwKEWHWcooNh3mQuK1vCuBcnvMv8MRkX0roU9GAzs13vMdpD29j1LsSYutLbeA9b/PrPFS3cih92HnMjDmDmkPRpmcRAgPFATpB8vS+q+EYj7erZdnTkYjmc8uNvl/rcmN3DPcLVfI1SMVPGBilEqRqsYo2KsinEqxquYoGKiikkqJquYomKqimkqpquYoWKmig9VfKRilorZKuaomKtinoqPVcxXsUDFQhWLUt8DGO7/vB8cG6EZG6kZ+0AzNkozNlozNkYzNlYzNk4zNl4zNkEzNlEzNkkzNlkzNkUzNlUzNk0zNl0zNkMzNlMz9qFm7CPN2CzN2GzN2BzN2FzN2DzN2MeasfmasQWasYWasUX5u7+3lOW/ev5rmgbSy28g7rjQZtMm0Wzc8WFzx/7XmNwJQBNrW86u8RSz1lEaHPdDbU51dDm5H+nmNtHm784C1trBcq2VUtYaciU187CchhvmT+8vjjCe67gjTeeqfD8wm9uH9nuU0dz1/3Az2mTuin95HGMwt7bP+diQuR0D9TGx+Ln1grU0qdi5K5PqbnJxc2sk1+iUYuZWSannqennNk2t/Wlp5165m06mp5tbtLumZqSZW6TR30zN3DH6Wndn7z63ahpduHN2m9s/nYbcualzq6fVmzsvZe6K9Np0P06e264YHbvzk+Y2Lk7z7oLg3JbF9gd3YWButeJ7ibsI+MEA6Psu0jejfGdgkXlvXBzEW2z7zgABLs6Hfzu7eDGw8Z8AB5btGj4B3xmgNXySj5Ec1W8RgaJdpBv0HCOYpFw/9QtkSepPEJ/6GxccW5K/579FBCrZ/RQokCXg5qHkUFF8ChYT5fVpfjwdY6H5PvcL4n1m2zEI8DO8Y/T7DOgYnzN3DFrD53jH6Pd5TB1joTluX92g5xjBJOW61C+QZakdY6mmYyyLoGMAlewuBQpkmeXmoW9oIjktB8Tw3/8AuXziFzj6hiZyVH8BiEG3hrDptEdfWHTiL2LqxAvM63dkEO9L205MgF/inXjkl0DxfcXciWkNX+GdeORXe1h8JgL6gllAX4NrSFxoY0I4/AaojShPuAXmuCN0g55jBJOU67e+8FaknnDfak64FRGccECHcL8FSFthuXloISE5fbeHJ1zYPSSebyxOh++ZTy1a9/cCeSUulMPvAQ5/YOYwXZM1ac6mc38EG1pUbmC+udZ7BvF+snUDBPgT7gZ6/gRs0M/MboDW8DPuBnr+zOwGSAg/5vOKbSUotsSF5oRwuComNzDfHLeHbtBzjGCScv3FF96vqW7gF40b+DUCNwB0CPcXgLRfLTcPLSQkp9+YTxISzyqLU3c1sxugda8WyCtxoRyuBjj8nZnDdE027D6kya6J6b2Bj8217gXx1tq6AQJci7sBby1A8jpmN0BrWIe7AW8dsxsgIazJ5xXbH0JuAOHwz5jcwMfmuJH9fb6/fOGtT3UDf2ncwPoI3ADQIdy/ANLWW24eWkhIThuYTxISz58Wp+5GZjdA694okFfiQjncCHC4iZnDdE027D6kyW6OyQ3MM9f6oiDeFls3QIBbcDewaAtA8lZmN0Br2Iq7gUVbmd0ACWFzPq/Ytgm5AYTD7TG5gXnmuAt1g55jBJOU6w5feH+nuoEdGjfwdwRuAOgQ7g6AtL8tNw8tJCSnncwnCYlnu8Wp6xTwugFaN2Fw55W4UA6DOGFz3QJeDtM12bD7kCZbAtjXKN3AXHOttwjilSzYA0C6GXQDLUoCJGcBxWO7hqwC2A20yNpDUZsIoUQBr9hKgWJLXGhOCIfZSG040bmBueaHR3PdoOcYwSTlmuMLL7fAST75cwp2dwM0aU/dANAh3ByAtNwCu81DCwnJqTTzSULiybY4dfOY3QCtO08gr8SFcpgHcJjPzGG6JhuKBayhICY3MMdc68uCeGVs3QABlsHdwLIyAMllmd0AraEs7gaWlWV2AySEggJesRUKuQGEw3IxuYE55m5gqW7Qc4xgknIt7wtvr1Q3UF7jBvaKwA0AHcItD5C2V4Hd5qGFhOS0N/NJQuIpZ3Hq7sPsBmjd+wjklbhQDvcBONyXmcN0TTbsPqTJ7heTG5htrvUGQbz9bd0AAe6Pu4EG+wMkV2B2A7SGCrgbaFCB2Q2QEPYr4BVbRSE3gHB4QExuYLa5G6ivG/QcI5ikXA/0hXdQqhs4UOMGDorADQAdwj0QIO2gArvNQwsJyakS80lC4jnA4tQ9mNkN0LoPFsgrcaEcHgxwWJmZw3RNNuw+pMl6MbmBWeZaHx7EO8TWDRDgIbgbGH4IQPKhzG6A1nAo7gaGH8rsBv4RQgGv2A4TcgMIh4fH5AZmmbuBYbpBzzGCScr1CF94R6a6gSM0buDICNwA0CHcIwDSjiyw2zy0kJCcqjCfJCSewy1O3arMboDWXVUgr8SFclgV4PAoZg7TNdmw+5Ame3RMbuAjc61PDOIdY+sGCPAY3A1MPAYg+VhmN0BrOBZ3AxOPZXYDJISjC3jFdpyQG0A4PD4mN/CRuRuYoBv0HCOYpFyr+cKrnuoGqmncQPUI3ADQIdxqAGnVC+w2Dy0kJKcTmE8SEs/xFqduDWY3QOuuIZBX4kI5rAFweCIzh+mabNh9SJM9KSY38KG51hsF8U62dQMEeDLuBhqdDJB8CrMboDWcgruBRqcwuwESwkkFvGI7VcgNIByeFpMb+NDcDTTUDXqOEUxSrqf7wjsj1Q2crnEDZ0TgBoAO4Z4OkHZGgd3moYWE5HQm80lC4jnN4tQ9i9kN0LrPEsgrcaEcngVweDYzh+mabNh9SJM9JyY3MNNc60VBvJq2boAAa+JuoKgmQHItZjdAa6iFu4GiWsxugIRwTgGv2M4VcgMIh7VjcgMzzd1AJ92g5xjBJOV6ni+8Oqlu4DyNG6gTgRsAOoR7HkBanQK7zUMLCcmpLvNJQuKpbXHqns/sBmjd5wvklbhQDs8HOKzHzGG6Jht2H9Jk68fkBmZYuoEGtm6AABtYuIEGAMkNmd0AraGhhRtoyOwGSAj1C3jF1kjIDSAcXhCTG5gRgxto7AvvwlQ30FjjBi6MwA0AHcJtDJB2oZAbQHJqwnySkHgusDh1L2J2A7TuiwTySlwohxcBHF7MzGG6Jht2H9JkL4nJDUw31/qQIN6ltm6AAC/F3cCQSwGSL2N2A7SGy3A3MOQyZjdAQrikgFdslwu5AYTDK2JyA9PN3cBg3aDnGMEk5XqlL7yrUt3AlRo3cFUEbgDoEO6VAGlXFdhtHlpISE5XM58kJJ4rLE7da5jdAK37GoG8EhfK4TUAh9cyc5iuyYbdhzTZpjG5gWnmWh8QxLvO1g0Q4HW4GxhwHUDy9cxugNZwPe4GBlzP7AZICE0LeMXWTMgNIBw2j8kNTDN3A2/qBj3HCCYp1xa+8G5IdQMtNG7ghgjcANAh3BYAaTcU2G0eWkhITi2ZTxIST3OLU/dGZjdA675RIK/EhXJ4I8DhTcwcpmuyYfchTfbmmNzAVHOtLw/i3WLrBgjwFtwNLL8FIPlWZjdAa7gVdwPLb2V2AySEmwt4xXabkBtAOLw9Jjcw1dwNLNMNeo4RTFKud/jCuzPVDdyhcQN3RuAGgA7h3gGQdmeB3eahhYTk1Ir5JCHx3G5x6rZmdgO07tYCeSUulMPWAIdtmDlM12TD7kOabNuY3MAUc60vCOK1s3UDBNgOdwML2gEk38XsBmgNd+FuYMFdzG6AhNC2gFds7YXcAMJhh5jcwBRzNzBfN+g5RjBJud7tC++eVDdwt8YN3BOBGwA6hHs3QNo9BXabhxYSktO9zCcJiaeDxanbkdkN0Lo7CuSVuFAOOwIc3sfMYbomG3Yf0mTvj8kNTDbXesUg3gO2boAAH8DdQMUHAJIfZHYDtIYHcTdQ8UFmN0BCuL+AV2wPCbkBhMOHY3IDk83dQAXdoOcYwSTl2skXXlGqG+ikcQNFEbgBoEO4nQDSigrsNg8tJCSnzswnCYnnYYtTtwuzG6B1dxHIK3GhHHYBOHyEmcN0TTbsPqTJPhqTG5hkrvVxQbzHbN0AAT6Gu4FxjwEkP87sBmgNj+NuYNzjzG6AhPBoAa/Yugq5AYTDbjG5gUnmbmCsbtBzjGCScn3CF96TqW7gCY0beDICNwB0CPcJgLQnC+w2Dy0kJKenmE8SEk83i1O3O7MboHV3F8grcaEcdgc4fJqZw3RNNuw+pMn2iMkNTDTXercgXk9bN0CAPXE30K0nQHIvZjdAa+iFu4FuvZjdAAmhRwGv2HoLuQGEwz4xuYGJ5m6gq27Qc4xgknJ9xhfes6lu4BmNG3g2AjcAdAj3GYC0ZwvsNg8tJCSn55hPEhJPH4tT93lmN0Drfl4gr8SFcvg8wOELzByma7Jh9yFN9sWY3MAEc63XD+K9ZOsGCPAl3A3Ufwkg+WVmN0BreBl3A/VfZnYDJIQXC3jF9oqQG0A47BuTG5hg7gbq6QY9xwgmKdd+vvBeTXUD/TRu4NUI3ADQIdx+AGmvFthtHlpISE79mU8SEk9fi1P3NWY3QOt+TSCvxIVy+BrA4evMHKZrsmH3IU32jZjcwHhzrfcO4r1p6wYI8E3cDfR+EyB5ALMboDUMwN1A7wHMboCE8EYBr9gGCrkBhMNBMbmB8eZuoJdu0HOMYJJyfcsX3uBUN/CWxg0MjsANAB3CfQsgbXCB3eahhYTkNIT5JCHxDLI4dd9mdgO07rcF8kpcKIdvAxy+w8xhuiYbdh/SZIfG5AbGmWu9bRDvXVs3QIDv4m6g7bsAye8xuwFaw3u4G2j7HrMbICEMLeAV2/tCbgDhcFhMbmCcuRtooxv0HCOYpFyH+8IbkeoGhmvcwIgI3ADQIdzhAGkjCuw2Dy0kJKeRzCcJiWeYxan7AbMboHV/IJBX4kI5/ADgcBQzh+mabNh9SJMdHZMbGGuu9clBvDG2boAAx+BuYPIYgOSxzG6A1jAWdwOTxzK7ARLC6AJesY0TcgMIh+NjcgNjzd3AJN2g5xjBJOU6wRfexFQ3MEHjBiZG4AaADuFOAEibWGC3eWghITlNYj5JSDzjLU7dycxugNY9WSCvxIVyOBngcAozh+mabNh9SJOdGpMbGGOudS+IN83WDRDgNNwNeNMAkqczuwFaw3TcDXjTmd0ACWFqAa/YZgi5AYTDmTG5gTHmbqCybtBzjGCScv3QF95HqW7gQ40b+CgCNwB0CPdDgLSPCuw2Dy0kJKdZzCcJiWemxak7m9kN0LpnC+SVuFAOZwMczmHmMF2TDbsPabJzY3IDo821XhDEm2frBghwHu4GCuYBJH/M7AZoDR/jbqDgY2Y3QEKYW8ArtvlCbgDhcEFMbmC0uRvI1w16jhFMUq4LfeEtSnUDCzVuYFEEbgDoEO5CgLRFBXabhxYSktNi5pOExLPA4tT9hNkN0Lo/EcgrcaEcfgJw+Ckzh+mabNh9SJNdEpMbGGWu9dZBvM9s3QABfoa7gdafASR/zuwGaA2f426g9efMboCEsKSAV2xLhdwAwuGymNzAKHM30Eo36DlGMEm5LveF90WqG1iucQNfROAGgA7hLgdI+6LAbvPQQkJy+pL5JCHxLLM4db9idgO07q8E8kpcKIdfARx+zcxhuiYbdh/SZL+JyQ18YK718kG8b23dAAF+i7uB8t8CJK9gdgO0hhW4Gyi/gtkNkBC+KeAV23dCbgDh8PuY3MAH5m6gnG7Qc4xgknL9wRfej6lu4AeNG/gxAjcAdAj3B4C0HwvsNg8tJCSnn5hPEhLP9xan7s/MboDW/bNAXokL5fBngMOVzByma7Jh9yFNdlVMbmCkeUNLwvvF1g0Q4C8F+H2/Mp/wlNevBbsGPMf8QkVEBbuqgFcUvwmd2ggvq/dQqCZrXm3BYZSCGmEpqN9tBUWAv1sIag2zoCivNREJKmw6Eb+mwK5gPDOMSItkeL55jkG8tbZFQoBrLTrOWkCx65gLitawzoLkdcw/g1ERrbOwB78B+/UHsx2kvf3DUqyJC62tP4D1/8ls8dKdyGH3ISfyX8wc0h79ZXEQIDxQE6QfL0vqvhGIW9WxqzMHw/GMB3e73P/W5AbuWa/2a4OKjSo2qdisYouKrSq2qdiuYoeKv1XsJE2VUferKKGipIosFaVUZKvIUZGrorSKPBX5KgpUlFFRVkWhinIqyqvYS8XeZZzkn/fX+z/vB8c2aMY2asY2acY2a8a2aMa2asa2aca2a8Z2aMb+1ozt1IzRZqaOuZqxEpqxkpqxLM1YKc1YtmYsRzOWqxkrrRnL04zla8YKNGNlNGNlNWOFmrFymrHymrG9NGN7l9n9vaUs/9XzX9M0kF5+A3G3hzabNolm4+4Imzv2v8bk/g00sU7l7BpPMWsdpcFxqRZ2n1tHl5NbWje3iTZ/N6+M+VofsVxrpZS1hlxJzTwsp/WGXNH7ixuM5zruRtO5Kt9NZnP70H5vNpq7/h9utpjMXfEvj1sN5tb2Od8WMrdjoD52Fj+3XrCWnGJraWVS3bnFza2RXKMliplbJaWeS6af2zS19rPSzr1yN52USje3aHdNZaeZW6TRX45m7hh9rbv5u8+tmkYXbsFuc/un05BbJnVu9bR6c8umzF2RXptuYfLcdsXo2C2XNLdxcZp3ywfntiy2P7h7BeZWK76XuHuXMe9RQN93kb4Z5TsDe5cx7Xc7Fwfx9imzB4B0M/jb2cX7ABu/L3Bg2a6BMFxwDfuWwUiO6reIQNEu0g16jhFMUq77+QWyf+pPEPv5Gxcc27/Mnv8WEahkdz+gQPYHNw8lh4piP7CYKK/9ysTTMfYy3+d+QbwKth2DACvgHaNfBaBjVGTuGLSGinjH6Fcxpo6xlzluX92g5xjBJOV6gF8gB6Z2jAM0HePACDoGUMnuAUCBHGi5eegbmkhOBwFi+O9/gFz29QscfUMTOaorAWLQrSFsOu1RJYtOXCmmTlzevH5HBvEOtu3EBHgw3olHHgwUX2XmTkxrqIx34pGV97D4TARUiVlAHriGxIU2JoTDQ4DaiPKEK2+OO0I36DlGMEm5HuoL77DUE+5QzQl3WAQnHNAh3EMB0g6z3Dy0kJCcDt/DEy7sHhLPIRanwxHMpxat+wiBvBIXyuERAIdHMnOYrsmaNGfTuVXAhhaVGyhnrvWeQbyqtm6AAKvibqBnVWCDjmJ2A7SGo3A30PMoZjdAQqhShldsR4NiS1xoTgiHx8TkBsqZ4/bQDXqOEUxSrsf6wjsu1Q0cq3EDx0XgBoAO4R4LkHac5eahhYTkdDzzSULiOcbi1K3G7AZo3dUE8kpcKIfVAA6rM3OYrsmG3Yc02RNiem+g0FzrXhCvhq0bIMAauBvwagAkn8jsBmgNJ+JuwDuR2Q2QEE4owyu2k4TcAMLhyTG5gUJz3Mj+Pt8pvvBOTXUDp2jcwKkRuAGgQ7inAKSdarl5aCEhOZ3GfJKQeE62OHVPZ3YDtO7TBfJKXCiHpwMcnsHMYbomG3Yf0mTPjMkNlDXX+qIg3lm2boAAz8LdwKKzAJLPZnYDtIazcTew6GxmN0BCOLMMr9jOEXIDCIc1Y3IDZc1xF+oGPccIJinXWr7wzk11A7U0buDcCNwA0CHcWgBp51puHlpISE61mU8SEk9Ni1P3PGY3QOs+TyCvxIVyeB7AYR1mDtM12bD7kCZbNyY3UMZc6y2CeOfbugECPB93Ay3OB0iux+wGaA31cDfQoh6zGyAh1C3DK7b6Qm4A4bBBTG6gjDluc92g5xjBJOXa0Bdeo1Q30FDjBhpF4AaADuE2BEhrZLl5aCEhOV3AfJKQeBpYnLqNmd0ArbuxQF6JC+WwMcDhhcwcpmuyYfchTbZJTG6gwFzry4J4F9m6AQK8CHcDyy4CSL6Y2Q3QGi7G3cCyi5ndAAmhSRlesV0i5AYQDi+NyQ0UmOMu1Q16jhFMUq6X+cK7PNUNXKZxA5dH4AaADuFeBpB2ueXmoYWE5HQF80lC4rnU4tS9ktkN0LqvFMgrcaEcXglweBUzh+mabNh9SJO9OiY3kG+u9QZBvGts3QABXoO7gQbXACRfy+wGaA3X4m6gwbXMboCEcHUZXrE1FXIDCIfXxeQG8s1x6+sGPccIJinX633hNUt1A9dr3ECzCNwA0CHc6wHSmlluHlpISE7NmU8SEs91FqduC2Y3QOtuIZBX4kI5bAFweAMzh+mabNh9SJNtGZMbyDPX+vAg3o22boAAb8TdwPAbAZJvYnYDtIabcDcw/CZmN0BCaFmGV2w3C7kBhMNbYnIDeea4w3SDnmMEk5Trrb7wbkt1A7dq3MBtEbgBoEO4twKk3Wa5eWghITndznySkHhusTh172B2A7TuOwTySlwoh3cAHN7JzGG6Jht2H9JkW8XkBkqba31iEK+1rRsgwNa4G5jYGiC5DbMboDW0wd3AxDbMboCE0KoMr9jaCrkBhMN2MbmB0ua4E3SDnmMEk5TrXb7w2qe6gbs0bqB9BG4A6BDuXQBp7S03Dy0kJKcOzCcJiaedxal7N7MboHXfLZBX4kI5vBvg8B5mDtM12bD7kCZ7b0xuINdc642CeB1t3QABdsTdQKOOAMn3MbsBWsN9uBtodB+zGyAh3FuGV2z3C7kBhMMHYnIDuea4DXWDnmMEk5Trg77wHkp1Aw9q3MBDEbgBoEO4DwKkPWS5eWghITk9zHySkHgesDh1OzG7AVp3J4G8EhfKYSeAwyJmDtM12bD7kCbbOSY3kGOu9aIgXhdbN0CAXXA3UNQFIPkRZjdAa3gEdwNFjzC7ARJC5zK8YntUyA0gHD4WkxvIMcftpBv0HCOYpFwf94XXNdUNPK5xA10jcANAh3AfB0jrarl5aCEhOXVjPklIPI9ZnLpPMLsBWvcTAnklLpTDJwAOn2TmMF2TDbsPabJPxeQGsi3dQHdbN0CA3S3cQHeA5KeZ3QCt4WkLN/A0sxsgITxVhldsPYTcAMJhz5jcQHYMbqCXL7zeqW6gl8YN9I7ADQAdwu0FkNZbyA0gOfVhPklIPD0tTt1nmN0ArfsZgbwSF8rhMwCHzzJzmK7Jht2HNNnnYnIDpcy1PiSI97ytGyDA53E3MOR5gOQXmN0AreEF3A0MeYHZDZAQnivDK7YXhdwAwuFLMbmBUua4g3WDnmMEk5Try77wXkl1Ay9r3MArEbgBoEO4LwOkvWK5eWghITn1ZT5JSDwvWZy6/ZjdAK27n0BeiQvlsB/A4avMHKZrsmH3IU22f0xuIMtc6wOCeK/ZugECfA13AwNeA0h+ndkN0Bpex93AgNeZ3QAJoX8ZXrG9IeQGEA7fjMkNZJnjvqkb9BwjmKRcB/jCG5jqBgZo3MDACNwA0CHcAQBpAy03Dy0kJKdBzCcJiedNi1P3LWY3QOt+SyCvxIVy+BbA4WBmDtM12bD7kCY7JCY3UNJc68uDeG/bugECfBt3A8vfBkh+h9kN0Brewd3A8neY3QAJYUgZXrENFXIDCIfvxuQGSprjLtMNeo4RTFKu7/nCez/VDbyncQPvR+AGgA7hvgeQ9r7l5qGFhOQ0jPkkIfG8a3HqDmd2A7Tu4QJ5JS6Uw+EAhyOYOUzXZMPuQ5rsyJjcQAlzrS8I4n1g6wYI8APcDSz4ACB5FLMboDWMwt3AglHMboCEMLIMr9hGC7kBhMMxMbmBEua483WDnmMEk5TrWF9441LdwFiNGxgXgRsAOoQ7FiBtnOXmoYWE5DSe+SQh8YyxOHUnMLsBWvcEgbwSF8rhBIDDicwcpmuyYfchTXZSTG7ANdd6xSDeZFs3QICTcTdQcTJA8hRmN0BrmIK7gYpTmN0ACWFSGV6xTRVyAwiH02JyA645bgXdoOcYwSTlOt0X3oxUNzBd4wZmROAGgA7hTgdIm2G5eWghITnNZD5JSDzTLE7dD5ndAK37Q4G8EhfK4YcAhx8xc5iuyYbdhzTZWTG5Acdc6+OCeLNt3QABzsbdwLjZAMlzmN0ArWEO7gbGzWF2AySEWWV4xTZXyA0gHM6LyQ045rhjdYOeYwYTzPVjX3jzU93Axxo3MD8CNwB0CPdjgLT5lpuHFhKS0wLmk4TEM8/i1F3I7AZo3QsF8kpcKIcLAQ4XMXOYrsmG3Yc02cUxuYGdBcZa7xbE+8TWDRDgJ7gb6PYJQPKnzG6A1vAp7ga6fcrsBkgIi8vwim2JkBtAOPwsJjcQFE/I1VU36DlGMEm5fu4Lb2mqG/hc4waWRuAGgA7hfg6QtrSM3eahhYTktIz5JCHxfGZx6i5ndgO07uUCeSUulMPlAIdfMHOYrsmG3Yc02S9jcgN/m2u9fhDvK1s3QIBf4W6g/lcAyV8zuwFaw9e4G6j/NbMbICF8WYZXbN8IuQGEw29jcgN/m7uBerpBzzGCScp1hS+871LdwAqNG/guAjcAdAh3BUDad2XsNg8tJCSn75lPEhLPtxan7g/MboDW/YNAXokL5fAHgMMfmTlM12TD7kOa7E8xuYEd5lrvHcT72dYNEODPuBvo/TNA8kpmN0BrWIm7gd4rmd0ACeGnMrxiWyXkBhAOf4nJDewwdwO9dIOeY3Ilu4FffeH9luoGftW4gd8icANAh3B/BUj7rYzd5qGFhOS0mvkkIfH8YnHq/s7sBmjdvwvklbhQDn8HOFzDzGG6Jht2H9Jk18bkBraba71tEG+drRsgwHW4G2i7DiD5D2Y3QGv4A3cDbf9gdgMkhLVleMX2p5AbQDj8KyY3sN3cDbTRDXqOEUxSrut94W1IdQPrNW5gQwRuAOgQ7nqAtA1l7DYPLSQkp43MJwmJ5y+LU3cTsxugdW8SyCtxoRxuAjjczMxhuiYbdh/SZLfE5Aa2mWt9chBvq60bIMCtuBuYvBUgeRuzG6A1bMPdwORtzG6AhLClDK/Ytgu5AYTDHTG5gW3mbmCSbtBzjGCScv3bF97OVDfwt8YN7IzADQAdwv0bIG1nGbvNQwsJyckpy3uSkHh2WJy6rnleu5JzgLWU/ReDO6/EhXIYxAmbW4KZw3RNNuw+pMmWBPY1Sjew1VzrXhAvq+weANLNoBvwsgCSSwHFY7uGUqB4aA2l9lDUJkIoWZZXbNmg2BIXmhPCYQ6QU5RuYKu5G6isG/QcI5ikXHN94ZUu6ySf/Llld3cDNGlP3QDQIdxcgLTSZe02Dy0kJKc85pOExJNjcermM7sBWne+QF6JC+UwH+CwgJnDdE027D6kyZaJyQ1sMdd6QRCvrK0bIMCyuBsoKAuQXMjsBmgNhbgbKChkdgMkhDJlecVWTsgNIByWj8kNbDF3A/m6Qc8xgknKdS9feHunuoG9NG5g7wjcANAh3L0A0vYua7d5aCEhOe3DfJKQeMpbnLr7MrsBWve+AnklLpTDfQEO92PmMF2TDbsPabL7x+QGNptrvXUQr4KtGyDACrgbaF0BILkisxugNVTE3UDrisxugISwf1lesR0g5AYQDg+MyQ1sNncDrXSDnmMEk5TrQb7wKqW6gYM0bqBSBG4A6BDuQQBplcrabR5aSEhOBzOfJCSeAy1O3crMboDWXVkgr8SFclgZ4NBj5jBdkw27D2myh8TkBjaZa718EO9QWzdAgIfibqD8oQDJhzG7AVrDYbgbKH8YsxsgIRxSlldshwu5AYTDI2JyA5vM3UA53aDnGMEk5XqkL7wqqW7gSI0bqBKBGwA6hHskQFqVsnabhxYSklNV5pOExHOExal7FLMboHUfJZBX4kI5PArg8GhmDtM12bD7kCZ7TExuYKN5Q0vCO9bWDRDgsWXx+45jPuEpr+PK7hrwHPMLFREV7DFleUVxvNCpjfBSbQ+FarLmahYcRimoDZaCqm4rKAKsbiGoE5gFRXmdEJGgwqYT8SeUtSsYzwwj0iJZX2CeYxCvhm2REGANi45TA1DsicwFRWs40YLkE5l/BqMiOtHCHhwP7NdJzHaQ9vYkS7EmLrS2TgLWfzKzxUt3Iofdh5zIpzBzSHt0isVBgPBATZD2qGQgxxVpvrHn2F2eY3d5jt3lOXaX59hdnmN3eY7d5Tl2l+fYXZ5jd3mO3eU5dpfn2F2eY3d5jt3lOXaX59hdnmN3eY7d5Tl2l+fYXZ5jd3mO3eU5dpfn2F2eY3d5jt3lOXaX59hdnmN3eY7d5ZlNK5X4D/T8nZmN54ZizBDAmC6AMU0AY6oAxhQBjMkCGJMEMCYKYEwQwBgvgDFOAGOsAMYYAYzRAhijBDA+EMAYKYAxQgBjuADGMAGM9wUw3hPAeFcAY6gAxjsCGG8LYAwRwBgsgPGWAMYgAYyBAhg5ufwY2QIYpQQwsgQwSgpglBDAcAUwHAGMnTn8GH8LYOwQwNgugLFNAGOrAMYWAYzNAhibBDA2CmBsEMBYL4DxlwDGnwIYfwhgrBPAWCuAsUYA43cBjNUCGL8JYPwqgPGLAMYqAYyGpfkxGghg1BfAqCeAcb4ARl0BjDoCGOcJYNQWwDhXAKOWAEZNAYxzBDDOFsA4SwDjTAGMMwQwThfAOE0A41QBjFMEME4WwDhJAONEAYwaAhgnCGBUF8CoJoBxvADGcQIYxwpgHCOA8XQeP0Z3AYynBDCeFMB4QgCjmwBGVwGMxwUwHhPAeFQA4xEBjC4CGJ0FMIoEMDoJYDwsgPGQAMaDAhgPCGDcL4BxnwBGRwGMewUw7hHAuFsAo4MARnsBjLsEMNoJYLQVwGgjgNFaAGNRPj/GQgGMBQIY8wUwPhbAmCeAMVcAY44AxmwBjFkCGB8JYHwogDFTAGOGAMZ0AYxpAhhTBTCmCGBMFsCYJIAxUQBjggDGeAGMcQIYYwUwxghgjBbAGCWA8YEAxkgBjBECGMMFMPYuw4+xlwBGeQGMcgIYhQIYZQUwyghgFAhg5Atg5AlglBbAyBXAyBHAyBbAKCWAkSWAUVIAo4QAhiuA4Qhg7Czgx/hbAGOHAMZ2AYxtAhhbBTC2CGBsFsDYJICxUQBjgwDGeguM4OWZTVuxB/f+tyZ6TTw34NSyjnOaitNVnKHiTBVnqThbxTkqaqqopeJcFbVVnKeijoq6Ks5Pfc5CTf8PZAbHamnGztWM1daMnacZq6MZq6sZO1/zR0RRUk+1/Bv+KM5pQjinC+GcIYRzphDOWUI4ZwvhnGP4h2zX7ty5PXhjqRScsD+CG/wjdGHPR5luPDf5j/QVO9eB/migW9Ny/9F9mQTsy2RgX6YA+wL88T63luW+lAT2hXIC/oCde24gp4N+P3DDiJL7PHdkidXLa07fcW2FrLrHbqg/6KYbe1V9v+9Ntyw7qpwMr6MAXkcDvI4BeAX+6JxbW6jehwP7MgLYl5HAvgB//M09T6jegT+A5tYJ5HT45+NzNr3dM2vEsnVt7t1w9DNz6z09+Z2z+sw/7pyiS394fk3jI4TqfQjA69sAr+8AvAJ/tMytK1TvA4F9GQTsy1vAvgB/PMw9PyLfEbYv9cxxStH3LuNj3J1t91qv7K6fSxI/iyR+/kj8zJH4OSPxs0Xi54nEzxD0epn//S73X6/wX6/0X6/yX6/2X6/xX69Vr/XV92igoqGKRiouUNFYxYUqmpTNPCggc1/mPs+xuzzH7vIcu8tz7C7Psbs8x+7yHLvLc+wuz7G7PMfu8hy7y3PsLs+xuzzH7vIcu8tz7C7Psbs8x+7yzKZlHhSQeVCAMUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhjZB4UYI6ReVCAOUbmQQHmGJkHBZhj/A88KKBWYk30mnhQwEVlHediFZeouFTFZSouV3GFiitVXKXiahXXqLhWRVMV16m4XkWz1AcFXKT5g/0Xa8Yu0Yxdqhm7TDN2uWbsCs3YlZqxqzRjV2vGrtGMXasZa6oZu04zdr1mrJnmj6aif5A2+I/sw/4gbSnjucl/hCDsD9ICfxTBvUjoD/U6wL64wL6UAPYF+OME7sVCf5ga+Af67iXAH2I/TegPUwf/kXYYr1tyzHndmmO+h8A/qncvFar39cC+bAD2ZSOwL8A/bncvE6p34B94u5cDf4j9JKF6Xw3w+jvA6xqAV+AfZbtXCNX7KmBffgH25VdgX4B/HO1eKbQvwX/0GrYv9Uub70uD0ub7AvwjZfcqoX05D9iXOsC+1AX2BfjHwu7VQv0R+Aez7jWAH6gn1B/PBHg9C+D1bIBX4B+5utcK1fupwL6cBuzL6cC+AP/Y1G0qVO/AP7h0rwP8wHlC9V4N4LU6wOsJAK/AP5J0rxeq92OAfTkW2JfjgH0B/rGi2wzYF3qvIPHAlIvK7npPhV4vKbvrvRN6vazsrvdIEu+LJN4LSbz/kXjPI/E+R+K9jcT7GYn3MBLvWyTeq6DX+v5rA/+1of/ayH+9wH9t7L9e6L/SA1Gaq2ih4gYVLVXcqOImFTeruCXzwJTMfZn7Mvdl7svcl7kv9co8MCXzwBRjjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcfIPDDFHCPzwBRzjMwDU8wxMg9MMcf4H3hgSlFiTfSaeGDKrWUd5zYVt6u4Q8WdKlqpaK2ijYq2KtqpuEtFexUdVNyt4h4V96Y+MOVWzYNBbtOM3a4Zu0MzdqdmrJVmrLVmrI1mrK1mrJ1m7C7NWHvNWAfN2N2asXs0Y/dG8MCU4IfMwv5Q7FPGc5M/hBf2h2KBDwW6twr9Ad3HgX3pCuxLN2BfgA/nubcJ/cFo4ANq7u3AH0hvLvQHox8GeO0E8FoE8Ap8qMy9Q6je7wf25QFgXx4E9gX4cJd7p1C9Ax9wclsBfyC9qVC93wXw2h7gtQPAK/ChJLe1UL23BvalDbAvbYF9AT4c5LYR2pfghz7C9mVBvvm+LMw33xfgQzpuW6F9mQPsy1xgX+YB+wJ8WMZtJ9QfgQ+MuHcBfqCDUH+cBvA6HeB1BsAr8CEPt71QvU8C9mUysC9TgH0BPmzhdhCqd+ADB+7dgB9oK1TvowBeRwO8jgF4BT4k4N4jVO/DgX0ZAezLSGBfgF/Wu/daPjDl1rK73lOh19vL7nrvhF7vLLvrPZLE+yKJ90IS738k3vNIvM+ReG8j8X5G4j2MxPsWifcq6LW5/9rCf73Bf23pv97ov97kv97sv9IDUTqquE/F/SoeUPGgiodUPKyiU+aBKZn7Mvdl7svcl7kvc1/qlXlgSuaBKcYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijpF5YIo5RuaBKeYYmQemmGNkHphijvE/8MCUqYk10WvigSlFZR2ns4ouKh5R8aiKx1Q8rqKrim4qnlDxpIqnVHRX8bSKHip6pj4wpUjzYJDOmrEumrFHNGOPasYe04w9rhnrGsEDSYI/xIT9IdbyxnOTf8gL+0OswA+dbpHQH6gtAPalDLAvZYF9AX74czsL/UFm4AcgtwvwB8gfEfqDzFkAr6UAXrMBXoEfWtxHhOrdAfbFBfalBLAvwA8P7qNC9Q4YaPcx4A+QdxKq96CJCuN1S4E5r1sLzPcQML3u40L1vh7Ylw3AvmwE9gUwn25Xy31BTV43IZwnhHCeFMJ5SginuxDO00I4PYRwekaEE9ZXehnj5PzzvRMPCigqu+tnicTPD4mfGRI/JyR+Nkj8PJD4GYBeO2T/+3o3+NrLv7+j/3qf/3q///qA//qg//qQ//qw/0oPAuitoo+KZ1Q8q+I5Fc+reEHFi/6DAnKdXWdvcfsbcrm9LXl0MJws+3vd/9bkBr7RSyrvl1W8oqJv6g+V9MXclLGXNWOvaMb6+mPBK/UwDMs4uKlhBf6S4Vw6OF82nuu4r5jOVfn2BYogyuLr8z9afP1U3q+q6K/itdTi66cpqlc1Y/01Y69FUHx9gOLrBxTfq0Dx9QeK77WYiu+Z/9Hie13l/YaKN1UMSC2+1zVF9YZm7E3N2IAIiu8ZoPheB4rvDaD43gSKb0BMxffs/2jxDVR5D1LxlorBqcU3UFNUgzRjb2nGBkdQfM8CxTcQKL5BQPG9BRTf4JiK77n/0eIbovJ+W8U7KoamFt8QTVG9rRl7RzM2NILiew4oviFA8b0NFN87QPENjan4nv8fLb53Vd7vqXhfxbDU4ntXU1Tvacbe14wNi6D4ngeK712g+N4Diu99oPiGxVR8L/yPFt9wlfcIFSNVfJBafMM1RTVCMzZSM/ZBBMX3AlB8w4HiGwEU30ig+D6Iqfhe/B8tvlEq79EqxqgYm1p8ozRFNVozNkYzNjaC4nsRKL5RQPGNBopvDFB8Y8HiK+lEU3yuY1d8lTU4bjHzX0peX3FTnZeT5hY71Qm+nRUy1dG9nZXuln67z0373V/dbW76RPqnzi0m53TvgOhueV0/V/vd39DO1Sfypm5umpyL+6E59ZaB6efu9t0HpZ27eyJvpZuryTns56zgLUOKn5v03d8udm5yIu8UNzclZxNrnrjl3fC5/33390Ln7krk/bC5gZxN3VzCrBjM/ee7jzCa+28iI03m+jkDBiDpHAj75mNM57r/nn1Gc3e/9Z/LM5xexXzuPw+fTlzjyv6Ldbj//8er/z9BxUQVk1RMVjFFxVQV01RMVzFDxUwVH6r4SMUsFbNVzFExV8U8FR+rmK9igYqFKhapWKziExWfqlii4jMVn6tYqmKZiuUqvlDxpYqvVHxNJiRKZ1bVsSPDwXAO34N7SwSdWeIbfaM24lsVK1R8p+J7FT+o+FHFTyp+VrFSxSoVv6j4VcVvKlar+F3FGhVrVaxT8YeKP1X8pWK9ig0qNqrYpGKzii0qtqrYpmK7ih0q/laxk8goVHkVOsnu7hu/goJj32rGVmjGvtOMfa8Z+0Ez9qNm7CfN2M+asZWasVWasV80Y79qxn7TjK3WjP2uGVujGVurGVunGftDM/anZuwvzdh6zdgGzdhGzdgmzdhmzdgWzdhWzdg2zdh2zdgOzdjfmrGdmrF/ijdlzC3c1UQS1xH+q+cYXUlNJewnk2/Kms1VP5ns/NZ87o4V5nO3fGc+94/vzed+94P53Gk/ms/t/JP5XPdn47l/uyuN5253VxnP3ez+Yjx3nfur8dwV7m/Gc6e6q43nFrm/G8913DWmc/923LWmc7c77jrTuZsd9w/Tuesc90/TuSsc9y/TuVMdd73p3CLH3WA6V/WSjYZz16i5mwznrlZzNxvOXaXmbjGcu0LN3Wo4d5Gau81w7jA1d7vh3LZq7g6zuX1U/3X/Npvbm+buNJvbk+bS2WIw9yma6xYany3/XInzyQt8/xXpzxiX3plJeLLU+4o7m2aX2+O82hXz/f/5UJNNXnMsP/GdlYITzFl3SbyjFbbWVVGttfiURN45C1vrLxHyWtyCJd6hC1vrr5GuNW1KIu8Ehq31t+jXqk1N4h3HsLWu5lirhgOJdzbD1vo7E6+pC5Z4BzVsrWvY1pqUksg7tWFrXcu71v9Sk3hHOGyt67jX6nMg8c5z2Fr/ANe6+7/wa1zc9//ng+dJ72e0LDaffz58rnv/Y0ya+f0s/eJfe7zuf75/1XTreFW7jv5p191fN796+n16zXLd66NZ9z/fv0iT1+tl075/NUq3jjfSzq+jXfebluveENW6m+j5GFC2+PftqqTMH1j8/Kap33+Q5bo3Rsh3585X7rbut4pbR9Hu+zS4bPj7mx0D84dYrntTpOv+5/vXC67j7dB1rExa9zth82sk79NQy3Vvjn7d/3z/2n5e7xrwp+b3SqzjPaP5bf5b9/uW697Cse6xu/gYZrbu/96jG24+/5/3nEZYrnsrE9/nfbf+n3WPNF3Hin/36QNgnyj/0Zbr3sa27n9/RzAG4Xvnv5/k+gbwc+Mt173d0ptWSMEpPrvkTySE5VTC/L1KF3j/0AXe03OB98Rc4D0lF3hPxgXe03CB9wRc4GdqF/iZ1AV+pnOBn4lc4GcKF/DhLuBdXcDvuYBHcgFf4QJnsQucXy7Q812gT7q2vaWs/+qZTf+n9yXmhvWWkoXmc4O9Bfl9AfKzIvLzFfIzCeLjEe+L+EXEYyG+BDnLozz/6GwtcHa9L0P/v4T/WY6S/mviLzW8lr1rXpb6WikV2SpyCnfdS5fnGF0ufTruW4vzPb88pkH0+1NOWYX4fQVgXokLef+PlpMF6D0X8B3AvrpSa50A9MHShXY1FCWvOj3l+rVUuhg95amv5asoUFHGUk/0SdMVFnoqw6wnyinPQk9lhWosD6ibsoCegH11pdY6EdBTYaFdDUXJq05PZf1aKixGT+XU18qr2EvF3pZ6ok9tf2ehp0JmPVFO5Sz0VE6oxsoBdbMPoCdgX12ptU4C9LRvoV0NRcmrTk/7+LW0bzF62k99bX8VFVRUtNQT/QuI7y30VJ5ZT5TTfhZ62kuoxvYD6uYAQE/AvrpSa50M6OnAQrsaipJXnZ4O8GvpwGL0dJD6WiUVB6uobKkn+tdEP1joaW9mPVFOB1noaR+hGjsIqBsP0BOwr67UWqcAejqk0K6GouRVpyfPr6VDitHToeprh6k4XMURlnqif5n3o4We9mXWE+V0qIWe9hOqsUOBujkS0BOwr67UWqcCeqpSaFdDUfKq09ORfi1VKUZPVdXXjlJxtIpjLPVE/8r1Jws97c+sJ8qpqoWeKgjVWFWgbo4F9ATsqyu11mmAno4rtKuhKHnV6elYv5aOK0ZPx6uvVVNRXcUJlnqifzH+s4WeKjLriXI63kJPBwjV2PFA3dQA9ATsqyu11umAnk4stKuhKHnV6amGX0snFqOnk9TXTlZxiopTLfVEf31hpYWeDmTWE+V0koWeDhKqsZOAujkN0BOwr67UWmcAejq90K6GouRVp6fT/Fo6vRg9naG+dqaKs1Scbakn+ksmqyz0VIlZT5TTGRZ6Olioxs4A6uYcQE/AvrpSa50J6KlmoV0NRcmrTk/n+LVUsxg91VJfO1dFbRXnWeqJ/irQLxZ6qsysJ8qploWePKEaqwXUTR1AT8C+ulJr/RDQU91CuxqKklednur4tVS3GD2dr75WT0V9FQ0s9UR/YetXCz0dwqwnyul8Cz0dKlRj5wN10xDQE7CvrtRaPwL01KjQroai5FWnp4Z+LTUqRk8XqK81VnGhiiaWeqK/VvebhZ4OY9YT5XSBhZ4OF6qxC4C6uQjQE7CvrtRaZwF6urjQroai5FWnp4v8Wrq4GD1dor52qYrLVFxuqSf6y4+rLfR0BLOeKKdLLPR0pFCNXQLUzRWAnoB9daXWOhvQ05WFdjUUJa86PV3h19KVxejpKvW1q1Vco+JaSz3RX1H93UJPVZj1RDldZaGnqkI1dhVQN00BPQH76kqtdQ6gp+sK7WooSl51emrq19J1xejpevW1Ziqaq2hhqSf6i8RrLPR0FLOeKKfrLfR0tFCNXQ/UzQ2AnoB9daXWOhfQU8tCuxqKklednm7wa6llMXq6UX3tJhU3q7jFUk/0173XWujpGGY9UU43WujpWKEauxGom1sBPQH76kqtdR6gp9sK7WooSl51errVr6XbitHT7eprd6i4U0UrSz3RX8pfZ6Gn45j1RDndbqGn44Vq7HagbloDegL21ZVa68eAntoU2tVQlLzq9NTar6U2xeiprfpaOxV3qWhvqSd66sQfFnqqxqwnyqmthZ6qC9VYW6BuOgB6AvbVlVrrfEBPdxfa1VCUvOr01CGho2L0dI/62r0qOqq4z1JP9ASXPy30dAKzniineyz0VEOoxu4B6uZ+QE/AvrpSa10A6OmBQrsaipJXnZ7u92vpgWL09KD62kMqHlbRyVJP9DSkvyz0dCKzniinBy30dJJQjT0I1E0RoCdgX12ptS4E9NS50K6GouRVp6civ5Y6F6OnLuprj6h4VMVjlnqiJ4utt9DTycx6opy6WOjpFKEa6wLUzeOAnoB9daXWugjQU9dCuxqKklednh73a6lrMXrqpr72hIonVTxlqSd6St8GCz2dyqwnyqmbhZ5OE6qxbkDddAf0BOyrK7XWxYCeni60q6EoedXpqbtfS08Xo6ce6ms9VfRS0dtST/TEy40WejqdWU+UUw8LPZ0hVGM9gLrpA+gJ2FdXaq2fAHp6ptCuhqLkVaenPn4tPVOMnp5VX3tOxfMqXrDUEz09dpOFns5k1hPl9KyFns4SqrFngbp5EdATsK+u1Fo/BfT0UqFdDUXJq05PL/q19FIxenpZfe0VFX1V9LPUEz2JebOFns5m1hPl9LKFns4RqrGXgbp5FdATsK+u1FqXAHrqX2hXQ1HyqtPTq34t9S9GT6+pr72u4g0Vb1rqiZ5qvsVCTzWZ9UQ5vWahp1pCNfYaUDcDAD0B++pKrfUzQE8DC+1qKEpedXoa4NfSwGL0NEh97S0Vg1UMsdTT52V3PTM8eF/Y+s5l1hPlNMhCT7WFamwQUDdvA3oC9tWVWuvngJ7eKbSroSh51enpbb+W3ilGT0PV195V8Z6K9y31tFTt1TYLPZ3HrCfKaaiFnuoI1dhQoG6GAXoC9tWVWutSQE/DC+1qKEpedXoa5tfS8GL0NEJ9baSKD1SMstTTMrVX2y30VJdZT5TTCAs9nS9UYyOAuhkN6AnYV1dqrcsAPY0ptKuhKHnV6Wm0X0tjitHTWPW1cSrGq5hgqaflaq92WOipHrOeKKexFnqqL1RjY4G6mQjoCdhXV2qtywE9TSq0q6EoedXpaaJfS5OK0dNk9bUpKqaqmGappy/UXv1toacGzHqinCZb6KmhUI1NBupmOqAnYF9dqbV+AehpRqFdDUXJq05P0/1amlGMnmaqr32o4iMVsyz19KXaq50WemrErCfKaaaFni4QqrGZQN3MBvQE7KsrtdYvAT3NKbSroSh51elptl9Lc4rR01z1tXkqPlYx31JPX6m9cizqtjGzniinuRZ5XSj1b1aBulkA6AnYV1dqrV8BelpYaFdDUfKq09MCv5YWFqOnRepri1V8ouJTSz19TWeTRd02YdYT5bTIIq+LpD4jCtTNEkBPwL66Umv9GtDTZ4V2NRQlrzo9LfFr6bNi9PS5+tpSFctULC9M/p4lnOQ9C8s32zHf388L7XgsSMmpeBTsWd5fADWbeeb2v3P/x565nXyj/+r5r2H18WV4fZQMfu9UPdbzfyb6wtdjFX+cvm9i3lfqv79W8Y2Kb/3xLGdXrsXlH3K5X1lq7r8rtSGEAU4sab65KwDx0cJpp90096HEfmeOfcye4HxviLNyXd2de4LzQzhOVvB7pxbqd36Bfu+/HuGP/xAo1B/Vf/+k4mcVK1MOjpIp+YZc7pHA3B+Bw3YVUPC6fVjlr/8n//Vn/3VlYB9+Uf/9q4rfVKz2x0s5u7SSqFXd5TnhV7AWUMEfYT53100gBsDdHuH8It28VgCF9rtl80rcR0WT7QRUGbwBzNt1/n8TguKsEMIp6QgX2O9Aga2xLDDdfWiea4A811rmuTYghBwnGruzJuqOEfp+mGOe3FGOXXJoTkA3cI92ZHIq4ZjndIwjkxOgfvdYJ5qcwnCOc8zzH1NSpkse78jwkeWY51TNkcmplGOeU3VHJifkPZcTHJmcchzznGo4MjnlOuY5nejI5FTaMc/pJEcmpzzHPKeTHZmc8h3znE5xZHIqcMxzOtWRyamMY57TaY5MTmUd85xOd2RyKnTMczrDkcmpnGOe05mOTE7lHfOcznJkctrLMc/pbEcmp70d85zOcWRy2scxz6mmI5PTvo55TrUcmZz2c8xzOteRyWl/xzyn2o5MThUc85zOc2RyquiY51THkcnpAMc8p7qOTE4HOuY5ne/I5HSQY55TPUcmp0qOeU71HZmcDnbMc2rgyORU2THPqaEjk5PnmOfUyJHJ6RDHPKcLHJmcDnXMc2rsyOR0mGOe04VONDmF4TRxzPNfI/QbioscmbVf7JivfUJJmRo53DHP/xJHZp8udczzXytUI5c5MjiXOzI4VzgyOFc6MjhXOTI4VzsyONc4MjjXOjI4TR0ZnOscGZzrHRmcZo4MTnNHBqeFI4NzgyOD09KRwbnRkcG5yZHBudmRwbnFkcG51ZHBuc2RwbndkcG5w5HBudORwWnlyOC0dmRw2jgyOG0dGZx2jgzOXY4MTntHBqeDI4NztyODc48jg3OvI4PT0ZHBuc+RwbnfkcF5wJHBedCRwXnIkcF52JHB6eTI4BQ5MjidHRmcLo4MziOODM6jjgzOY44MzuOODE5XRwanmyOD84Qjg/OkI4PzlCOD092RwXnakcHp4cjg9HRkcHo5Mji9HRmcPo4MzjOODM6zjgzOc44MzvOODM4LjgzOi44MzkuODM7LjgzOK44MTl9HBqefI4PzqiOD09+RwXnNkcF53ZHBecORwXnTkcEZ4MjgDHRkcAY5MjhvOTI4gx0ZnCGODM7bjgzOO44MzlBHBuddRwbnPUcG531HBmeYI4Mz3JHBGeHI4Ix0ZHA+cGRwRjkyOKMdGZwxjgzOWEcGZ5wjgzPekcGZ4MjgTHRkcCY5MjiTHRmcKY4MzlRHBmeaI4Mz3ZHBmeHI4Mx0ZHA+dGRwPnJkcGY5MjizHRmcOY4MzlxHBmeeI4PzsSODM9+RwVngyOAsdGRwFjkyOIsdGZxPHBmcTx0ZnCWODM5njgzO544MzlJHBmeZI4Oz3JHB+cKRwfnSkcH5ypHB+dqRwfnGkcH51pHBWeHI4HznyOB878jg/ODI4PzoyOD85Mjg/OzI4Kx0ZHBWOTI4vzgyOL86Mji/OTI4qx0ZnN8dGZw1jgzOWkcGZ50jg/OHI4PzpyOD85cjg7PekcHZ4MjgbHRkcDY5MjibHRmcLY4MzlZHBmebI4Oz3ZHB2eHI4PztyODsdGRw6AbDuSk3YjiuEE4JIZySQjhZQjilhHCyhXByhHByhXBKC+HkCeHkC+EUCOGUEcIpK4RTKIRTTginvBDOXkI4ewvh7COEs68Qzn5COPsL4VQQwqkohHOAEM6BQjgHCeFUEsI5WAinshCOJ4RziBDOoUI4hwnhHC6Ec4QQzpFCOFWEcKoK4RwlhHO0EM4xQjjHCuEcJ4RzvBBONSGc6kI4Jwjh1BDCOVEI5yQhnJOFcE4RwjlVCOc0IZzThXDOEMI5UwjnLCGcs4VwzhHCqSmEU0sI51whnNpCOOcJ4dQRwqkrhHO+EE49IZz6QjgNLHE4n+/d8P9hTo2EckKe731BRDmF4TR2zfP/pVAmpwuBnFYIPdOmiZBmLxLCuVgI5xIhnEuFcC4TwrlcCOcKIZwrhXCuEsK5WgjnGiGca4VwmgrhXCeEc70QTjMhnOZCOC2EcG4QwmkphHOjEM5NQjg3C+HcIoRzqxDObUI4twvh3CGEc6cQTishnNZCOG2EcNoK4bQTwrlLCKe9EE4HIZy7hXDuEcK5VwinoxDOfUI49wvhPCCE86AQzkNCOA8L4XQSwikSwukshNNFCOcRIZxHhXAeE8J5XAinqxBONyGcJ4RwnhTCeUoIp7sQztNCOD2EcHoK4fQSwukthNNHCOcZIZxnhXCeE8J5XgjnBSGcF4VwXhLCeVkI5xUhnL5COP2EcF4VwukvhPOaEM7rQjhvCOG8KYQzQAhnoBDOICGct4RwBgvhDBHCeVsI5x0hnKFCOO8K4bwnhPO+EM4wIZzhQjgjhHBGCuF8IIQzSghntBDOGCGcsUI444RwxgvhTBDCmSiEM0kIZ7IQzhQhnKlCONOEcKYL4cwQwpkphPOhEM5HQjizhHBmC+HMEcKZK4QzTwjnYyGc+UI4C4RwFgrhLBLCWSyE84kQzqdCOEuEcD4TwvlcCGepEM4yIZzlQjhfCOF8KYTzlRDO10I43wjhfCuEs0II5zshnO+FcH4QwvlRCOcnIZyfhXBWCuGsEsL5RQjn1wBO2L/F3xOc34TWs1oI53chnDVCOGuFcNYJ4fwhhPOnEM5fQjjrhXA2COFsFMLZJISzWQhnixDOViGcbUI424Vwdgjh/C2Es1MIh/5YkeHclBsxHFcIp4QQTkkhnCwhnFJCONlCODlCOLlCOKWFcPKEcPKFcAqEcMoI4ZQVwim0xEH/9l25EuY/b38l9LfvygutfS9g7RNLyqx9b6H62kcIZ18hnP2EcPYXwqkghFNRCOcAIZwDhXAOEsKpJIRzsBBOZSEcTwjnECGcQ4VwDhPCOVwI5wghnCOFcKoI4VQVwjlKCOdoIZxjhHCOFcI5TgjneCGcakI41YVwThDCqSGEc6IQzklCOCcL4ZwihHOqEM5pQjinC+GcIYRzphDOWUI4ZwvhnCOEU1MIpxbw3tae4JwrtJ7aQjjnCeHUEcKpK4RzvhBOPSGc+kI4DYRwGgrhNBLCuUAIp7EQzoVCOE2EcC4SwrlYCOcSIZxLhXAuE8K5XAjnCiGcK4VwrhLCuVoI5xohnGuFcJoK4VwnhHO9EE4zIZzmQjgthHBuEMJpKYRzoxDOTUI4Nwvh3CKEc6sQzm1COLcL4dwhhHOnEE4rIZzWQjhthHDaCuG0E8K5SwinvRBOByGcu4Vw7hHCuVcIp6MQzn1COPcL4TwghPOgEM5DQjgPC+F0EsIpEsLpLITTRQjnESGcR4VwHhPCeVwIp6sQTjchnCeEcJ4UwnlKCKe7EM7TQjg9hHB6CuH0EsLpLYTTRwjnGSGcZ4VwnhPCeV4I5wUhnBeFcF4SwnlZCOcVIZy+Qjj9hHBeFcLpL4TzmhDO60I4bwjhvCmEM0AIZ6AQziAhnLeEcAYL4QwRwnlbCOcdIZyhQjjvCuG8J4TzvhDOMCGc4UI4I4RwRgrhfCCEM0oIZ7QQzhghnLFCOOOEcMYL4UwQwpkohDNJCGeyEM4UIZypQjjThHCmC+HMEMKZKYTzoRDOR0I4s4RwZgvhzBHCmSuEM08I52MhnPlCOAuEcBYK4SwSwlkshPOJEM6nQjhLhHA+E8L5XAhnqRDOMiGc5UI4XwjhfCmE85UQztdCON8I4XwrhLNCCOc7IZzvhXB+EML5UQjnJyGcn4VwVgrhrBLC+UUI51chnN+EcFYL4fwuhLNGCGetEM46IZw/hHD+FML5SwhnvRDOBiGcjUI4m4RwNgvhbBHC2SqEs00IZ7sQzg4hnL+FcHYK4ThCzytwhXBKCOGUFMLJEsIpJYSTLYSTI4STK4RTWggnTwgnXwinQAinjBBOWSGcQiGcckI45YVw9pJ6/o8Qzj5COPsK4ewnhLO/EE4FIZyKQjgHCOEcKIRzkBBOJSGcg4VwKgvheEI4hwjhHCqEc5gQzuFCOEcI4RwphFNFCKeqEM5RQjhHC+EcI4RzrBDOcUI4xwvhVBPCqS6Ec4IQTg0hnBOFcE4SwjlZCOcUIZxThXBOE8I5XQjnDCGcM4VwzhLCOVsI5xwhnJpCOLWEcM4VwqkthHOeEE4dIZy6QjjnC+HUE8KpL4TTQAinoRBOIyGcC4RwGgvhXCiE00QI5yIhnIuFcC4RwrlUCOcyIZzLhXCuEMK5UgjnKiGcq4VwrhHCuVYIp6kQznVCONcL4TQTwmkuhNNCCOcGIZyWQjg3CuHcJIRzsxDOLUI4twrh3CaEc7sQzh1COHcK4bQSwmkthNNGCKetEE47IZy7hHDaC+F0EMK5WwjnHiGce4VwOgrh3CeEc78QzgNCOA8K4TwkhPOwEE4nIZwiIZzOQjhdhHAeEcJ5VAjnMSGcx4VwugrhdBPCeUII50khnKeEcLoL4TwthNNDCKenEE4vIZzeQjh9hHCeEcJ5VgjnOSGc54VwXhDCeVEI5yUhnJeFcF4RwukrhNNPCOdVIZz+QjivCeG8LoTzhhDOm0I4A4RwBgrhDBLCeUsIZ7AQzhAhnLeFcN4RwhkqhPOuEM57AE5J//vTew50HaXiaBXHqDhWxXEqjldRTUV1FSeoqKHiRBUnqThZxSkqTlVxmorTVZyh4kwVZ6k4W8U5KmqqqKXiXBW1VZynoo6KuirOV1FPRX0VDVQ0VNFIxQUqGqu4UEUTFRepuFjFJSouVXGZistVXKHiShVXqbhaxTUqrlXRVMV1Kq5X0UxFcxUtVNygoqWKG1XcpOJmFbeouFXFbSpuV3GHijtVtFLRWkUbFW1VtFNxl4r2KjqouFvFPSruVdFRxX0q7lfxgIoHVTyk4mEVnVQUqeisoouKR1Q8quIx2nsVXVV0U/GEiidVPKWiu4qnVfRQ0VNFLxW9VfRR8YyKZ1U8p+J5FS+oeFHFSypeVvGKir4q+ql4VUV/Fa+peF3FGyreVDFAxUAVg1S8pWKwiiEq3lbxjoqhKt5V8Z6K91UMUzFcxQgVI1V8oGKUitEqxqgYq2KcivEqJqiYqGKSiskqpqiYqmKaiukqZqiYqeJDFR+pmKVitoo5KuaqmKfiYxXzVSxQsVDFIhWLVXyi4lMVS1R8puJzFUtVLFOxXMUXKr5U8ZWKr1V8o+JbFStUfKfiexU/qPhRxU8qflaxUsUqFb+o+FXFbypWq/hdxRoVa1WsU/GHij9V/KVivYoNKjaq2KRis4otKraq2KZiu4odKv5WsVMFCc1VUUJFSRVZKkqpyFaRoyJXRWkVeSryVRSoKKOirIpCFeVUlFexl4q9VeyjYl8V+6nYX0UFFRVVHKDiQBUHqaik4mAVlVV4Kg5RcaiKw1QcruIIFUeqqKKiqoqjVByt4hgVx6o4TsXxKqqpqK7iBBU1VJyo4iQVJ6s4RcWpKk5TcbqKM1ScqeIsFWerOEdFTRW1VJyroraK81TUUVFXxfkq6qmor6KBioYqGqm4QEVjFReqaKLiIhUXq7hExaUqLlNxuYorVFyp4ioVV6u4RsW1KpqquE7F9SqaqWiuooWKG1S0VHGjiptU3KziFhW3qrhNxe0q7lBxp4pWKlqraKOirYp2Ku5S0V5FBxV3q7hHxb0qOqq4T8X9Kh5Q8aCKh1Q8rKKTiiIVnVV0UfGIikdVPKbicRVdVXRT8YSKJ1U8paK7iqdV9FDRU0UvFb1V9FHxjIpnVTyn4nkVL6h4UcVLKl5W8YqKvir6qXhVRX8Vr6l4XcUbKt5UMUDFQBWDVLylYrCKISreVvGOiqEq3lXxnor3VQxTMVzFCBUjVXygYpSK0SrGqBirYpyK8SomqJioYpKKySqmqJiqYpqK6SpmqJip4kMVH6mYpWK2ijkq5qqYp+JjFfNVLFCxUMUiFYtVfKLiUxVLVHym4nMVS1UsU7FcxRcqvlTxlYqvVXyj4lsVK1R8p+J7FT+o+FHFTyp+VrFSxSoVv6j4VcVvKlar+F3FGhVrVaxT8YeKP1X8pWK9ig0qNqrYpGKzii0qtqrYpmK7ih0q/laxU4VTQulfRQkVJVVkqSilIltFjopcFaVV5KnIV1GgooyKsioKVZRTUV7FXir2VrGPin1V7KdifxUVVFRUcYCKA1UcpKKSioNVVKa/lafiEBWHqjhMxeEqjlBxpIoqKqqqOErF0SqOUXGsiuNUHK+imorqKk5QUUPFiSpOUnGyilNUnKriNBWnqzhDxZkqzlJxtopzVNRUUUvFuSpqqzhPRR0VdVWcr6KeivoqGqhoqKKRigtUNFZxoYomKi5ScbGKS1RcquIyFZeruELFlSquUnG1imtUXKuiqYrrVFyvopmK5ipaqLhBRUsVN6q4ScXNKm5RcauK21TcruIOFXeqaKWitYo2KtqqaKfiLhXtVXRQcbeKe1Tcq6KjivtU3K/iARUPqnhIxcMqOqkoUtFZRRcVj6h4VMVjKh5X0VVFNxVPqHhSxVMquqt4WgU9z56eNU/PgadntNPz0+nZ5vTccXomOD2vm56lTc+5pmdQ0/Oh6dnN9FxleuYxPY+YnhVMz/GlZ+zS82/p2bT03Fh6pis9b5WehUrPKaVniNLzPenZm/RcTHpmJT1Pkp71SM9hpGck0vML6dmC9Nw/eiYfPS+PnmVHz5mjZ8DR89no2Wn0XDN65hg9D4ye1UXP0aJnXNHzp+jZUP/X3rmAWVWVfXyfOWfuw8wwA4ggggJaT319n3yVPU9a+cAIKCKJqWl1HIYDnBxmYC4ImoZZmaKJZt7Q0syy0rykeS0rL1lWWhaZUV6im1hagZoXbP9n9pr5z8v6b2fOZmDC2c+zn73PWb91X3uttdd633fju034phK+d4RvEeE7QfiGD76vg2/f4Ls0+GYMvueCb63gOyj4Rgm+H4Jve+C7G/gmBr5XgW9J4DsP+AYDvo+AbxfguwKw+Q97/LCVDzv2sDEP+++wzQ676bBpDnvjsAUOO92woQ371rA9DbvQsNkMe8qwdQw7xLARDPu9sK0Lu7ewSQt7sbDlCjursIEK+6SwHQq7nrC5CXuYsFWJyTZsPML+Imwjwm4hbArC3h9s8cFOHmzYwb4cbL/BLhtspsGeGWyNwQ4YbHTBfhZsW8HuFGxCwV4TbCnBzhFsEME+EGz3wK4ObN7AHk2XrZjwhI0V2D+BbRLYDYFND9jbgC0M2KmADQnYd4DtBdhFgM0C2BOArj/08KEjD/116JZD7xs62dCXhi4z9IyhAwz9XOjOQq8VOqfQB4WuJvQooeMI/UPoBkJvDzp10HeDLhr0xKDDBf0q6D5BLwk6Q9Dnga4N9GCgowL9Eeh2QO8COhHQV4AuAeT8IYMP+XjIrkOuHDLfkMeGrDTkmCFjDPlfyOZCbhYyrZA3hSwo5DQhQwn5RsgeQi4QMnuQp4OsG+TQICMG+S3IVkHuCTJJkBeCLA/kbCADA/kUyI5ArgMyF5CHgKwC5Aiwx4/9d+yNY98ae8p498JeLPZJsYeJ/UXs/WFfDntm2M/CXhP2gbBHg/0T7G1g3wF7Alivx1o61rmxBo31YazdYl0Va55Yj8RaIdbxsMaG9S+sTWHdCGs6WG/BWgjWKbCGgPd7vHvjvRjvrHifRPPFu6E7ouGs6/0xE57F4VkSnqXhWRae5eFZEZ6V4VkVniPCszo8a8KzNjxHhmddeNaH56jwHB2eY8Jzt/AcG567h+e48BwfnnuE54Tw3DM8Jwbd77Z7hefe4Tk5PKeE59Tw3Cc89w3PNwXbHv9H92Oj69rF9z+4eVPpw8yNi3E7ILpOLGlYf8Rb7vktux0Y4/aeGDfMDZTbazFuXYUv3Damu6/HjlhXdfWoZy5mt6dj3J6LcXs+xu2VGLeijHYri3GrjnH7/4zO+9tj3N4R47alWLs9H+P2QozbraXa7bYYt9tj3FaVa7eTYtxOjnF7d6V2OyDG7cAYt1ertNvWGLfXYtwm1HRffW1icozbm2Pc/jfG7R0xbu+OcTsoxm1mjFtL5HbaA6tPWXjutd9gt/1ru6+XPzDvwpcq7jyO3Q6M3Hx91sExbrNj3A4VblGV9/Sxje3tubaObFPr0mWNHfkFzblsa1tjU3hZkWtrz7e2ZE9sa1y2LNc2JuLLomvUfXWNI+g+JgX9OlJl5G/g/lfPKLMBDsh/0OU/FRQaf3f+3dhZiP8SlxDyz2lx4aILqaT7ESb+AtM/I2n662LS7OpmOvGTgn4dxZhrIJ9Rs+3K+5TovrMj35zvWHVQV1Od3tNSD+9qqEd1t1MbYMr8ni7+r6B0Z4jpf5msnOHCTLvM0D0fGXN1zOjoWk7xu2umH+l47L4t628+ZNrSkcY/Dlc3yKd7hhd05psXZpe2L84uaG5tOiG7JNccPuGjI287+Qlfl/AJX+daeGG1GRzs/BcX5r/nCW8g/5wWF27acNZPipiDOYGCmUnMTMHMImaWYGYTM1swhxBziGAOJeZQwcwhZo5gDiPmMMHMJWauYA4n5nDBzCNmnmDeT8z7BXMEMUcIZj4x8wVzJDFHCuYDxHxAMEcRc5RgjibmaMEcQ8wxgvkgMR8UzLHEHCsYniIdJ5gPEfMhwXyYmA8L5iPEfEQwWWKygjmemOMF00hMo2AWELNAME3ENAlmITELBZMjJieYRcQsEsxiYhYLZgkxSwSTJyYvmI8S81HBnEDMCYJpJqZZMEuJWSoYnn60CKaVmFbBLCNmmWCWE7NcMG3EtAmmnZh2wXQQ0yGYTmI6BbOCmBWCOZGYEwWzkpiVgllFzCrBnETMSYI5mZiTBfMxYj4mmFOIOUUwpxJzqmA+TszHBbOamNWCOY2Y0wTzCWI+IZjTiTldMJ8k5pOC+RQxnxLMp4n5tGDOIOYMwXyGmM8I5kxiziQmTcxZxJxlmIRvaA0J558zqiI/GfrTpcWFXVJg2jhP7kib/zj8cpOWAcaXSpnwXHw2f+5dpYoYF1/KuGU86XRuXObuHm+li4izdZsxbi4tOM40bvxWeBaFv5zubT/L4aVN/EHQ9+2b4xhgWa9J+N5U6yt7Wy82bHbjsnccl33ClYs1Ccuntk7E7+5det2RNlccLo8uz2Ue3rmVkxuXG44K+j/tCavU+HO8m1NUR1d+rpz/Gk/83F8EIt38X5Hhyz18uYdH+eQpzXZFaYB19j7nf0Zh/jNuVerZ6I+kawOuH+Byt31zaWFhj+xv3+zCLw8SjQU9fbNt8zZ/tn8qKyy+2pTxz/FxmC49rqzLPW4uLPdclIiwnN+M4U+PrjWeOIpNHOWe9Kq2f6pJO5dtSlxduPa/IpNGznuJSWMJpcGl0dfPZQx/Kfk704TpqyfuC6cb3pVJiYfn8DKGPye6In9bRJgqXyrM88nf2uje9+xOJ+7iwJ//VBBfpv3Nf5FI64WU/xdFWjk9nFY7V7Rt4bIYrtjD2fYUBP75mt39KPPk3ZemjOGvCHrz7uo+YT+TsvXB9ecrz/72JTYPjr+a8vCiCdP5SQf+vsOVY5lI86SgX0dtmUmT60cm9ct795o//FQWFn/PrlQV+U/1339P/kcUFn+Znbvb9n2dSVc1ufmebVvXjr+J/N0Q3VdTuM6/66tRHy5tbl4WBMnHghpPPl0aasmPzRsO++zWUbxpE4aPd7tUGeLriLH9nOPviK4om5eje1c21Z784HqXiJvrzfnltNq4HyJ/d0f31Z64a4wbl7Ode9R60sJtyM49HH9v0FsOW4PecgiCvnXv4k62uxmMRDypVG88tn5t+xlJbr72UGT4Og/PO5m27XJbqTZuXMa1Jp5qTzy+uYCvL+Dn/bp+pL/W49fx9dHvEsG78DKGfyS6+uY59ZQ+3zOVEWE+Sv7Wm/xzHfA7+kYRN+c/7cmP40d58s98vUmr4zfE5L/Ok/96YipNmI5/nMLcKtLJ+UrRf7Ydj/bwozz5qg62LRfn11f2nLeNMWHUmPS4+CoCf5sYYdLKbhw/5933bNd70hpX1/WeeGxdb4quXNe+sWukic+XPn7+7DNe7QmLx42EkiHrUpQWF3baQyrJkM3RdbAlQwoN/+HSTZsfvH/x2sEKf/xduYffu+HpDYMVfnFm/CWTrj9+zmCFv7FsXkPRLWdPfL3wfetxam2R1/x86ywZwxdHAaDtldI47v6z8eG/UTFcSlx9aeb0uP98a4FpD+/irvDwzq2S3HgewgyXF4fF8yvm66MAXJ3wOobzX+OJ38o9+dLN/9k10koPX+nhkc+qVN88FLgemXp9qbAbo5h2rlTYafsnkwpL7Z9wd+OpYamw3mNYKmxbZlgqrO+9ZYalwvreW6aRmEbBDEuF9b23zLBUWN97ywxLhfW9t8ywVFjfe8sMS4X1vbeMkgpjZg0xawRzNjFnC+YcYs4RzGeJ+axgziXmXMGsJWatYM4j5jzBnE/M+YL5HDGfE8wFxFwgmM8T83nBXEjMhYK5iJiLBMNKgBcL5hJiLhHMpcRcKph1xKwTzGXEXCaYy4m5XDBfIOYLgvkiMV8UzBXEXCGYK4m5UjBfIuZLgrmKmKsE82ViviyYq4m5WjBfIeYrgvkqMV8VzDXEXCOYrxHzNcF8nZivC4aVUr8hmGuJuVYw1xFznWC+Scw3BXM9MdcL5gZibhDMjcTcKJibiLlJMN8i5luCuZmYmwVzCzG3CObbxHxbMLcSc6tgbiPmNsHcTsztgrmDmDsEcycxdwrmLmLuEsx3iPmOYL5LzHcFczcxdwvme8R8TzDfJ+b7gvkBMT8QzD3E3COYe4m5VzD3EXOfYO4n5n7B/JCYHwrmAWIeEMyPiPmRYH5MzI8F8yAxDwrmJ8T8RDA/JeangvkZMT8TzEPEPCQYVqx/WDA/J+bngvkFMb8QzCPEPCKYXxLzS8H8iphfCWY9MesF82tifi2YR4l5VDC/IeY3gnmMmMcEwwYlfiuYDcRsEMzviPmdYH5PzO8F8zgxjwvmCWKeEMyTxDwpmKeIeUowfyDmD4LZSMxGwfyRmD8K5k/E/Ekwfybmz4L5CzF/EcxfifmrYJ4m5mnBbCJmk2CeIeYZwfyNmL8J5u/E/F0wzxLzrGCeI+Y5wfyDmH8I5p/E/FMw/yLmX4LZTMxmwWwhZotgnifmecG8QMwLgnmRmBcF829i/i2Yl4h5STAvE/OyYF4h5hXBvErMq4LZSsxWwbxGzGuC6fph7i2TIiYlmCJiigSTJiYtmAwxGcEUE1MsmBJiSgRTSkypYMqIKRNMOTHlgqkgpkIwlcRUCqaKmCrBjCBmhGCqiakWTA0xNYKpJaZWMCOJGSmYOmLqBFNPTL1gRhEzSjCjiRktmDHEjBHMbsTsJpixxIwVzO7E7C6YccSME8x4YsYLZg9i9hDMBGImCGZPYvYUzERiJgpmEjGTBLMXMXsJZm9i9hbMZGImC2YKMVMEM5WYqcSkidmHmH0Ms5O1gJ8YRC3gJzlP7kib/zj8XUUL2I15A9UCnmr8pcnNtZsuG190b/vZHaMFnNp3qGoBu7JPpgXcm7/CymfX0AJ2c4qhrAXs5nxDSQt4jWmDw1rAb2wtYDff2d5awOPMeDHUtYDfmer1N9WMWztKC/jNNHael/KHOVAt4LdRvt5q6kRpAb9d5D8VxJdpf/OvtICnUf4vEGnl9HBaX08L+F0xXLGHs+0pCPzzte2lBXyAp+7/27SAD/LUny3HdODvO3YRLeAnhroW8GxTL4VqAc+lfmVOdD+sBdw/LeCj6Dm5yPRLSgv4mJQ/7oFqAZ9A9XacqbcdrQV8PJXDpVQOQdC37renFvDlprzfyFrAti/YUVrArZ6xzoY5UC3gDmrXbaaOlRbwahE35z/tyY/jC9UCXhmT/0K1gE/2PEs2nZyvFP23M7SAV6d0GLuSFvAZnrrekVrAbtxI1neu2j9FaXFhpz2k0gJeGwUwrAU8OOG/EbSAr6Q+/irq491/Nr4uCzUxXEpcfWnm9Lj/hroW8PXUx+IYilrA15h+IYkW8MTox+JcR7Z5v2xHa7Z5WnZpbumCXFv7kvyy7In5jpZce/u0CNvJH4loTqYOHDQn3OZIby91YH4t8i2r2K0m9uPbamowbvxIORVhdAlj6H438oPDqgnzPYfney20y7wFlu+shOU7xfcqZLsNTpt9/NUW4F7RfcJtpJkJy2dqXbBt/LzNg7S+NfpdZfLh+CBIvBU8tT/dP4dfHiSq19itYM6fa4foOl2dRZ8RmpnrmLPfka1zph3W07sd3d25cUO2lcORTjGRBIbjYwolUnH2IeKK9c0T+RjIXjQXUkWw7ZwiCIbmfuVboutQ3q+cQmlOaDWoOen7wn4mrYP1vrBvdN/S2pFftCrb1JZr7MgtzLZ0NjfnF+Vzbe5TckPrE3INCecODclEEHqXyQscO7xzB9+WUtzcoTTofWS34+flkpZN7OflfJ+ImxDdL2vLrwgb39yulji9uyHOde3QRmL7Xt8g5iJM+Cw3JH2Wd9S34dyz3N7R2pbL5luyuZW5pnDEbG3JNjU2LcmZZ/ltEb6Tn+VZCZ/lWQmfxUzCeZz3WfbN6RI+lzOSvu/43ifsHLLAOV3G9/j55pAu/PIgUZ31zCHtsofNX6HihHa6pETaxhLnq1t24+nhTApjMt27KUjCtjJrMPvw/5Yp597RdShPOcdTmt3Y+CYKz7bnuO0LjKV7RPfRWDofI8HslgY3DkzHMBCYo0jEZ/uJIsEHJn18bIfhd1bS4fd/outgD7/uXT2aSudalnfmOsO59LLOBc35puyizpamaCxubnZjsKv/XWUMLnT8SLiG4R2DOS0sfoNDmd1LE6PM7uEYjDU9n7g/jxMj6d5tzw3lccL1Z276i/7JTVH7zPUboidlXteDcnD0nEwPHxMbndWESJnfagXG/c54wrGHnZa4rOzsbmxcdB3sbuyA6D7qxtrDzYSl4btEW25Frq376/Lt+YW5bG7RolwTPjrf2dKxzTKBW44eXiZINM3t9zJB2nDWD9xfbylhBN3zjlmC7mWHLCW49ozuxb3S9ule5uc6Dsu3HNHTfueHzbehq/VO7268Nlbbq6TE/+lgaKwvuEW5we4Z3KCzMN8WFl5+RQ5bjG2NC/MrnU+WTHYhDaS+WXq4AP89/UWBmhfpEs+f/JpjLfzaFsFxurQUKMlbEfeaVe6J1zK+Mc7udmTM/+l+sDY+dvO9TvVHasD3+lUVbHvYcuf25gvLvhra9pG0juo8cbq0uSXO3qcl34IuqNzEPbqwuHva+qjC/Ae+ts6Sby5cO4YHA4jDHdyz2cNKu9hXbDsHGED8KZUOXxt2dcnSgq483NyL67Ijtzic9yzvDMeYXEuHTS3L3w+gVoqc/wLl7721yrIqlTbC6OrrLVLit10IiGNTMeH6nnAXpqsNTq/Lx38A1ypYz1agDAA=",
|
|
3868
|
-
"debug_symbols": "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53PWz8oWHXo2uge1e1C9K3tX7h7U7kHtHtTuQe0e1O5B7R5U78qj57l7ULsHtXtQR1ceXbl7ULsHtXtQuwe1e1C7B7V7UPs9TvtNTrsHtXtQuwe13+i03+m0e1C7B7V7ULsHtXtQuwe1e3A9qV76UfXSz6qXfli99NPqpR9Xr/28eu0H1ms/sV77kfXaz6zXfmi99lPrdT+2foWuPHueuwe1e1C7B8+H2a+f6srdg9o9aN2D1j1o3YPWPWjdg+cj74/K9ogO2aE67Nkw6crSlbsHrXvQugete9C6B6170LoHzwfln5X10UE6aAfr0JW1K3cPWvegdQ9a96B1D1r3oHUPmnVl8w49G92D1j14PoJ//VRX7h607kHrHrTuQesetO5B6x48H9N/Vvae5+5B6x607sHzMf3nT42u3D1o3YPWPWjdg9Y9aN2D1j1o0ZWj57l70LoHrXvQ+lTT+lzTugete9C6B6170LoHrXvQugfPh/uflbPnuXvQugete9D6xPN8uP8KXbl70LoHrXvQugete9C6B8/H/Z+VZ89z96B1D1r3oPVpqM2u3D1o3YPWPWjdg9496N2D3j3oj13ZH95hdIgO2aH6p7py96B3D3r3oHcPevegdw9696BLV5bqsGfDuwe9e9D7XNS1K3cPevegdw9696B3D3r3oHcPunVl0w49G92D3j3ofS7q1pW7B7170LsHvXvQuwe9e9C7B927svc8dw9696B3D3qfi/royt2D3j3o3YPePejdg9496N2DPrpy9Dx3D3r3oHcPep+Leveg9/ug9/ugdw96n4t6duW+5vPuQe8e9O5B7/dBP3vQj3BUziNUh7nD2YNnkA7awTp4h9EhOnTl6srVlWdXnl15duXZlWdXnl15duXZlWdXnrvyeDw6SAftYB28w+gQHbJDdejK0pWlK0tXPnvw/FTAO4wOcXzMc4TsUB3mDkcPriD7p84ePENXPnpwfc/o0JW1K2tX1q5sXdm6snVl68rW22y9zdaVrStbV7au7F356MEVtIN16G32rnz24BmyQ3WYO4yuPLry6MqjK4+uPHo2Rm/z6G0evc2jK589eIaejejZiJ6N6MrRlaMrR1eOrhw9G9nbnL3N2ducXTl7nrNnI3s2smcju3J25erK1ZWrK1fPRvU2V29z9TZXV66e5+rZmD0bs2djduXZlWdXnl15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WkIraAWtoBW0glbQClpBK2gFbUKb0Ca0CW1Cm9AmtAltQptN83Pda0chKtGIThzEICaxiNAEmkATaAJNoAk0gSbQBJpAU2gKTaEpNIWm0BSaQlNoCs2gGTSDZtAMmkEzaAbNoBk0h+bQHJpDc2gOzaE5NIfm0Aa0AW1AG9AGtAFtQBvQBrQBLaAFtIAW0AJaQAtoAS2gBbSEltASWkJLaAktoSW0hJbQClpBK2gFraAVtIJW0ApaQZvQJrQJbUKb0Ca0CW1Cm9BwieASwSWCSwSXCC4RXCK4RHCJ4BLBJYJLBJcILhFcIrhEcIngEsElgksElwguEVwiuERwieASwSWCSwSXCC4RXCK4RHCJ4BLBJYJLBJcILhFcIrhEcIngEsElgksElwguEVwiuERwieASwSWCS851rzrkjAfteDyUn+teOzrxoEWe8aDFqpDEg1bre+cVT5fsKMSDNv2MRjxo80QcLrHj+s3Pda8d84h6xjri+rF5xcMldlxG+bnutaMesf71/Xf/588///jnf//ph//57g//fH75n//461/+/uPf/rq//Pv//e/+l3//+ceffvrxv/703z//7S8//Mc/fv7hTz/97S/Hv333OP5zHPv/JvG9yh+f3yz7//+bjvxeM/74fI8//v25pc9+eH51frva/F7djy/l+NLrex2P4+e1f/55VHzvpvvndTy/I6p//nm69/3zzbx//vn+8Pwyjp+34+ePn7Djx/v7/fnv8/hn//UWj/4J9e/Nr594fO/j+Oe4fkLluQnH/0qKPMeof/zXv/71x3/9Pw==",
|
|
3868
|
+
"debug_symbols": "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",
|
|
3869
3869
|
"verification_key": "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"
|
|
3870
3870
|
},
|
|
3871
3871
|
{
|
|
@@ -4117,7 +4117,7 @@
|
|
|
4117
4117
|
}
|
|
4118
4118
|
},
|
|
4119
4119
|
"bytecode": "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",
|
|
4120
|
-
"debug_symbols": "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"
|
|
4120
|
+
"debug_symbols": "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"
|
|
4121
4121
|
},
|
|
4122
4122
|
{
|
|
4123
4123
|
"name": "public_dispatch",
|
|
@@ -4181,7 +4181,7 @@
|
|
|
4181
4181
|
}
|
|
4182
4182
|
},
|
|
4183
4183
|
"bytecode": "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",
|
|
4184
|
-
"debug_symbols": "tZvbbha7DoDfpddcxDk55lWWllCBslSpKqgLtrSFePcdH2JPuzXDz/ztDfnGZZzE8SHJtD9vPt99/PHPh/vHL1//vXn/18+bj0/3Dw/3/3x4+Prp9vv918cp/XmT+B+o4+Y9vLuBhtr2fPM+c4vaoj2jPQ+wtmtL9kz6nFOytllL2kLVtkx9lduubQVr7bnZc7PnPt9r3A5tsViL2vJ4pO3a0uwfuW3WkrQlFWtRW8jW2nMGa+d7kCaUtKDqT4ppqqap2pvN3uQRc9vtuTdr53swTVuwLmCbT2OUURYsCbGkM0xJnt1XHniuDCyZP6pQFqD9KOcFLBkT2MwCNS1oC3hFaEKrBrLmAvP1ModRERZ0g7EkY0loSdjUCqTQUl0wx1zmsjQeswIasMEV2gIyYIsrLEldr7PRy7Rqa3nBkrC9BXBOuXLvPPg6zdJ48ApLwoOvnaEr9AQLyIBdthLDMMhlwZKUJSlLUvOCbiAuLTBH2ObAek8L6oJhwPGm0A3EwwWWhNbrxK9XBlLAZBJk/1bgQJnrjuwkHRiGhCKWbK2GNnIo9sLQDVpaUBeQQV8SbJI4cFRpR9IAH0kDeABYa8/ZnrM9Fw3wUTTARy3WaoCPBtZqgI+uAT4svEbXsBxYrNWwHCNba88E1jaNQuJMpVA1+IhXXgCWBEjDkXLVcCR20s4SHnefCokXXIF7YoXsm1gY0EByAv+odwOOMGwM3YANqEAGnAxwMKACJLaukcvAZeAySWdKbRFnNKPZ1QAhWsR2N8JFbHujtojtbxQy18KrMIrQWDRcxmtgNGc9eCzAM6IkhIvAZTwjYs3A7mvkstIWVS07E+oCMmhFPXXSWMQZz6gvQnBy2bCqKOWNQepYFRgGkhQElqQsSVmSqs4LmSNKoS0gg14WDANUF4ZsPg1S7RTaAjKgusAkq+SB1DwuZSBVz6irZ4NUviwyDskusgLq0yBVT4ktS1VoLGLbGrmsu6y7jGdi1BfxXIx4GaUPzmxG1WkYVXEVpb6I04uRy3JyYi0kRIuKyzhyjcRCPJjKU5oeLTgcu0hFZx+OGFIM6ciB6EghJZc2rjoLuyOkwOaYQ8rzWigd8yxaKYHoWCGwO7aQdhnZEERHDCmGdIR0hJRCSi7tKQeGFEIKIc0hzSEtIS3dUSekGNIW0hbSngJrIDnqEioOx5hmj2l2ii7Iu8CUAlugd4FQA70LzCXQu8CYMcaMMWaMNbpo0XGLLlp03KOLHh3HwmIsLI7oYkTHFF1QdEzexUg10LsYUAK9ixFrLMXfsECgdzFqCowuanTcoosWHYcrj3DlgdEFRscjuhjR8YguKDrmHAS8WQDirGrIuWdhd5QwNWyOJaSlOkreUeRNw8KQ9pD26AJDGYYyJMcR0hFSiqH7hLJsKRaio3hU1ZMc/99aGGU4hugoW0BFMSrvsCc2RwqpGLU2wbEQxKiGIYWQQkjFjQzZJLxXzyBuZBhS8R1DchTfUZRBghxQZZDAs8i6sIpide4t68IqNscS0hLSGlIZg+FwlDEYoqMut6J0zIPMutyKzXGEdISUQiqmNhwLi/qvIjpKVjb0jmVrsFC6kJN7Jkd1ZcXhWHMgOkqCNgxlkqANQ1kPZZKgFSUxAcqtgegdjOIPht1Rl0WxBg7HGq/VeE0HqRhS3ukC75EmyhmBQ6RK6ClKvTBER6kXOQv2hU3qhWENHI6yFobxWobAkJZQVkJZCWU1lNV4rcVrLV6TQM9Fbl9KoEjlTkYWILN7Np2boku7zq0LtkBylJA2REedm2K8luM1nZtiSCWcBFETSBb0xIQSx4bdUTZPhpIUqtwr1UBPNlhzIDq2kLaQ9pBK8CpK8EqyQfRsRLLDy3JBpYfNIUiOsidQlD2BYXeUDMO3NvOqi8db2D21Xhh2RymAhuQoRaKA4HCUImG4pEWLhCE6QkjFvnznU+TsuTCkYl9DcqwlEB1baJD8UIpgCyRHyQ+G6CjbGcN4jUIZbaSuTOuQoSsDcaNSBZujlAPDjZQcdcaKa4UK1BzYHSUgFcVL+LKrgOyrSxfsC+WKdWELlI6HXGWWwOGYQ5pDWkJaQlpDKnWz6NVoCUTHDoEtMF7DeE222DK3LCmzkNy0psC6JlR0QoIQUp2QoG4E5IpWokWxhFQ3AiB3uBDoNis1umjRRQuppEHD6BhDqi4nqC6nGF2MUKbh1H/9enezLuI/fH+6u+N7+M3N/Lyv/3b7dPf4/eb944+Hh3c3/7l9+CH/6d9vt4/Sfr99mj+dc7x7/DzbqfDL/cMd06938Xbaf7UWWG/XaVNXME+
|
|
4184
|
+
"debug_symbols": "tZvbbha7DoDfpddcxDk55lWWllCBslSpKqgLtrSFePcdH2JPuzXDz/ztDfnGZZzE8SHJtD9vPt99/PHPh/vHL1//vXn/18+bj0/3Dw/3/3x4+Prp9vv918cp/XmT+B+o4+Y9vLuBhtr2fPM+c4vaoj2jPQ+wtmtL9kz6nFOytllL2kLVtkx9lduubQVr7bnZc7PnPt9r3A5tsViL2vJ4pO3a0uwfuW3WkrQlFWtRW8jW2nMGa+d7kCaUtKDqT4ppqqap2pvN3uQRc9vtuTdr53swTVuwLmCbT2OUURYsCbGkM0xJnt1XHniuDCyZP6pQFqD9KOcFLBkT2MwCNS1oC3hFaEKrBrLmAvP1ModRERZ0g7EkY0loSdjUCqTQUl0wx1zmsjQeswIasMEV2gIyYIsrLEldr7PRy7Rqa3nBkrC9BXBOuXLvPPg6zdJ48ApLwoOvnaEr9AQLyIBdthLDMMhlwZKUJSlLUvOCbiAuLTBH2ObAek8L6oJhwPGm0A3EwwWWhNbrxK9XBlLAZBJk/1bgQJnrjuwkHRiGhCKWbK2GNnIo9sLQDVpaUBeQQV8SbJI4cFRpR9IAH0kDeABYa8/ZnrM9Fw3wUTTARy3WaoCPBtZqgI+uAT4svEbXsBxYrNWwHCNba88E1jaNQuJMpVA1+IhXXgCWBEjDkXLVcCR20s4SHnefCokXXIF7YoXsm1gY0EByAv+odwOOMGwM3YANqEAGnAxwMKACJLaukcvAZeAySWdKbRFnNKPZ1QAhWsR2N8JFbHujtojtbxQy18KrMIrQWDRcxmtgNGc9eCzAM6IkhIvAZTwjYs3A7mvkstIWVS07E+oCMmhFPXXSWMQZz6gvQnBy2bCqKOWNQepYFRgGkhQElqQsSVmSqs4LmSNKoS0gg14WDANUF4ZsPg1S7RTaAjKgusAkq+SB1DwuZSBVz6irZ4NUviwyDskusgLq0yBVT4ktS1VoLGLbGrmsu6y7jGdi1BfxXIx4GaUPzmxG1WkYVXEVpb6I04uRy3JyYi0kRIuKyzhyjcRCPJjKU5oeLTgcu0hFZx+OGFIM6ciB6EghJZc2rjoLuyOkwOaYQ8rzWigd8yxaKYHoWCGwO7aQdhnZEERHDCmGdIR0hJRCSi7tKQeGFEIKIc0hzSEtIS3dUSekGNIW0hbSngJrIDnqEioOx5hmj2l2ii7Iu8CUAlugd4FQA70LzCXQu8CYMcaMMWaMNbpo0XGLLlp03KOLHh3HwmIsLI7oYkTHFF1QdEzexUg10LsYUAK9ixFrLMXfsECgdzFqCowuanTcoosWHYcrj3DlgdEFRscjuhjR8YguKDrmHAS8WQDirGrIuWdhd5QwNWyOJaSlOkreUeRNw8KQ9pD26AJDGYYyJMcR0hFSiqH7hLJsKRaio3hU1ZMc/99aGGU4hugoW0BFMSrvsCc2RwqpGLU2wbEQxKiGIYWQQkjFjQzZJLxXzyBuZBhS8R1DchTfUZRBghxQZZDAs8i6sIpide4t68IqNscS0hLSGlIZg+FwlDEYoqMut6J0zIPMutyKzXGEdISUQiqmNhwLi/qvIjpKVjb0jmVrsFC6kJN7Jkd1ZcXhWHMgOkqCNgxlkqANQ1kPZZKgFSUxAcqtgegdjOIPht1Rl0WxBg7HGq/VeE0HqRhS3ukC75EmyhmBQ6RK6ClKvTBER6kXOQv2hU3qhWENHI6yFobxWobAkJZQVkJZCWU1lNV4rcVrLV6TQM9Fbl9KoEjlTkYWILN7Np2boku7zq0LtkBylJA2REedm2K8luM1nZtiSCWcBFETSBb0xIQSx4bdUTZPhpIUqtwr1UBPNlhzIDq2kLaQ9pBK8CpK8EqyQfRsRLLDy3JBpYfNIUiOsidQlD2BYXeUDMO3NvOqi8db2D21Xhh2RymAhuQoRaKA4HCUImG4pEWLhCE6QkjFvnznU+TsuTCkYl9DcqwlEB1baJD8UIpgCyRHyQ+G6CjbGcN4jUIZbaSuTOuQoSsDcaNSBZujlAPDjZQcdcaKa4UK1BzYHSUgFcVL+LKrgOyrSxfsC+WKdWELlI6HXGWWwOGYQ5pDWkJaQlpDKnWz6NVoCUTHDoEtMF7DeE222DK3LCmzkNy0psC6JlR0QoIQUp2QoG4E5IpWokWxhFQ3AiB3uBDoNis1umjRRQuppEHD6BhDqi4nqC6nGF2MUKbh1H/9enezLuI/fH+6u+N7+M3N/Lyv/3b7dPf4/eb944+Hh3c3/7l9+CH/6d9vt4/Sfr99mj+dc7x7/DzbqfDL/cMd06938Xbaf7UWWG/XaVNXME+7l6ooxEdsUTGRzqiYOyoyFdMl90dRDkYxC3Jfw5jncXQlCBcPo8BSwXuMUzNBvrBTFUhlV0XfVzForQil5grmncfFCvhuzxSMXQVjXwHfFa4x8G1hLMi83XmmhA4WRAqcrse8ZQgVdPE45s7W3WLAuFpF7rsqjvy7t6WizMPv7pJCOfKs4cOoaRMj8EJHPViVeZO+FnYy7no4Hxt2JzM3d8tBOXnDrpKj2QxYA5n7E9ifDR6F/DxLe8zTZnWxPlcyXsMk9MYmmeXRk+DcsO6ahM8DuyaZN5fVvWTeCeyZhDfpuyaZ3xHcJITY92aTD2fTuY81nf1kejydTVafJzLYnc6Rv9a1NBU24dvOLQzu+2o+8FXkbwCiYmvPms8NYhyE/2HQYQRdCg9rz4dRDjLZPDqCqWjb9WBXe6bjcFVXZZjHz0inWC7XAKGh72s4MMU8SqEvSIswmc7yXMdBNi0tu2PFKGYquNya837ZrYl535oHpXreQC/XmhfMsX/L6aRjAOw6xlGVzBk8F9e+O4xylEYTlZW9+FTV9nJGPaq1ad6buJI5s10lcLS0PUbSet9V8pvp5M10MO2OpBzVJ9+Tzpvhstl9wMnlxb3lrQdJNJNvYDb+UejyMVDxXS012h0DXp976rg29xxquCj3tHR97mlwbe45tOaFuaeVN849W8fou47RjpxzHpNik0+7w2j9qL6W7oeNeVO8u+lpBzblL1uxlxy7wfqbgWSKgbTdvWQ7PDlhiqPTvFjcU9KPMmnDWjwJ4qgnzsPz2/uaTE0p7R9m89E4oPtWssF+Rj/cPzUE10Fjd//U66GrFg/+Wap2faQfbUfnrZKPZF4b1Wtn07dm/YPdYIHYoEPZrQp9vMJxo9MrHDcwvcJx43g6Fx43ML/lcWO7Lhsfe7EuWN/ytJHiQg7y7oYQ+/XVGvHaan2o4aJqjXR9tR7p2mp9aM0Lq/XIb1utnznGxhovHGPU608Ko73CSWH0VzgpDHyFk8JvpnPZSWHQ254Uni3v/mbsUEWJYr29AX+hgvL1qYPKtanjUMNFqYPa9amD+rWp49CaF6YOGm+cOraOsdmBvfStlK7PHZDgFZLH/IjxCtljfv54hfTxuxldlj8gtesTyNG3wAzL4+v8YHHm89d0cz8xzD3l/reSNF7hyHA0kJ79u2bfnKD+byBwdNbPngBiH1Yu/hQIcTaen/V3w/9Yhe/Q52b9nAqKoNt8eXqpAo4+PTU/1LaSTqrw2tShnZpILpvskU+p6MOrQt98nP0TFRifiPHQFvTGSvhXmj2r4zipBNFLA1I+qYT84AWUz61M9snwbzmeUlGS3yNtrzn/aBTxlbakUxOpA/wEOdq2Xl+qAcCvKWZAjTODgMifAONUtEHxeIVtvf8TFc1T8Dxs4DkVXk6gDTo3kXDO+e3tnIpaXUU7NRGsXkpqP6OA/GKC2rlJJL+Y4D/Y2o/0gm/p3eSbasrnDOGuTdiutOQ5Bb2tPNM3x4KXv15zpMAr8rznPaVghAI8pcDDals5/kABZj8b1fJcwd/z8fbT/dOzvzH/xaqe7m8/PtzZ45cfj582P/3+32/rJ+tv1L89ff109/nH0x1rij9Un//8hfOYgUB/v7sp86nNu5c2+nziX6b9q04Xm7d3/Aj807neM/38/YuH9j8="
|
|
4185
4185
|
},
|
|
4186
4186
|
{
|
|
4187
4187
|
"name": "sync_private_state",
|
|
@@ -4339,7 +4339,7 @@
|
|
|
4339
4339
|
}
|
|
4340
4340
|
},
|
|
4341
4341
|
"bytecode": "H4sIAAAAAAAA/+29CZhcV3Uuuk93qdWlbqk0z0PJtmTJluUJg5kMtjzItmzLlmSNttW2hS1LloTUmmzLJBBugGAIEPKSkIThhUsGuJDLkJCXvC8MCV9CeOGGF0ic5JKQlwckQJwwJOFxw+PYtdR///2fXfucWi0VuPf3SV119lr/Wnvttdcez64sPJNmtv4eOXngvnsOHd57bGh4zz1Hhn/wf/40a+XWQsWUtRVzatkzOf0tih7g7P3Bv2ZIE9RPEsvx/9gr+hmwFH94mj8LVeU/U/6cp2L5Q58pAvyoi+FO/sG/Afi8nuRX1P8Vneo/M6Kz1c06oG/ah28d+cJ//fQTH/zkrw6/590/O+PJqT8/sGbKK1796n9e9I3Fv/DUq/93470WcLOQrFef8V+nZF/1W707HvzN7x4cuOFV7z/+5F/eenTq4qGPL3vNu3f8wZuWffWe/2K81yver7z+ba9ovP/N72he+Jlv993wxq/d880bJ1355GceW/CJV37vq0+9xXhvULx/tuN7f/OhxlseOfHERx+9ctWsofe+5Qv/8o+f+vR/a3zz79738i9cYbzrocxV2tKN1finG/9NwF8L5dpCnm6uxn9a/w3V+HuM/xZ42LQPP/4rv/o3Vz/xmUv+/ntTXnfL0E+cuPynPrf164/Mf8+Kf3jofYvfO8N4b1W8Xxpe96bheQ8/9+v9f/rEpe9ctOSL33rPh778nZN7rvzal7/ykeXfNN7bBO/8y85//qGf++zsv151zl+99Pffu/ZnFnzrvBf99W+vf+dT3/2jfw8jNtsIZS5RZ6fLfHs1/prx31GNv9f4N8HDZpzHQsXpsm+uJvs0/5Z02ZYmGe+dmjd71TlH/rf6E9ktH3/lRR8anPLxr1799mvWfebTP/G6ZY33vt14twreC15Uf+rdr3v81eFv3/NPb/jOBb/70otmLL16xtr/+22fX3Tg8M4FTxnvNhMUSpV5sfFvB37SPZqMf0cYq3sq785qsk+3713lZZ/mvas87+k2creBhVI2P+0r91Tjrxv/7mr8U4x/CPhL9IVN47+3Gv8lxn9fNf5Ljf9+eNgMSekFxrsHZJew3UuN/2XAX0L3q43/gWr81xv/g9X4Nxv/3mr8Q8b/UDX++4x/XzX++41/fzX+Pcb/cDX+lxn/gWr8Dxj/wWr8Dxr/oWr8e43/5fCwGZLSad7D1WTvN/4j1fgfNv7havwHjP9oNf6Dxn+sGv8h4z9ejf+w8Z+oxn/E+E9W4x82/keq8R81/ker8R8z/seq8Z80/lPV+B81/ser8Z+aEp6Za09a+MyDfP49v5V5dHjv/r3DJ2/YM7zlmU/rDh4Y3nNieBIAmDz83kPfe+l7jb4b3qQCPuZpl2y+30c6NtPYNw626CeTPojdT3o2Q1JakhFeCKPLGQi/TrqUlJdlhGfyuHxWZ1b2utClIfLYxnUhpy7kNETefkes445YDztiHXXE8izjEUesQ45Yw45YBxyxhhyxPG3v2YZOdCnWXkcsT5/wtL2nf+1zxPJs254+8ZAjlmeMftQRq1v7Rxv72tgBxxpZwV+Tw89MTp2wqo57VLn6hbwY/eQI/ZRE/Hxc3Wh9bo2rr91z79EHNhx8IFDioe61BSouJrrNEdUYN6N//HwxPesVtJjy4s1tfW4V7/o9w/c9uHnogQf23P+DQh5hDkZaV/CcB6RIY4PxKaRpMySlnhSnRPw66VLVKZXTqMaWW9W2p1tW3XBw6P51Q4eOHN2/h6dZOEVgqyAqPlN1moFm+KyX6NbR9/WCLwjsPN9qbpCeN0NSmmpeMVVkWt40wJ5MeQ3Iq1PedMC6H+g4cTmxPE9vZS8cwWU61hXrahrlDUBeA2RznU8RcqxsPYJ+gLCmCD6rl3byegUfT1lj0+qUlmjlyFNDyOB6HIeIMbvbI4aVb6CavFkZ8aM8xDR9zNaDIs+wrI32FWAZb43oP9z62yC6PO0gGYNCX3xm9smXmD5AuqNt2U86sSPimV74DPHroSO/zGL1huVjP6kYf2em2B314XjNtsW411eAZbw1ov94628jjO0T2E+mCn3xGfrJ75HuaFv2k4p2vDrVTwy/HjryyyxWb1g+9pOp1eS9NMXuqI/qu9G22Af2FWAZb43o/7T1t0F0eWI/mSb0xWfoJ3/c+txfoG8zJKXjakzDfoZ2KXOkItXPDL8eOqr3LGZH1d7UuMx4GyKPl50bQk5DyGmIvOOOWEcdsR5yxNrviHWiS7EOOWINO2IdcMQacsQ67Ijl6ffdaK9YP1QWK0+evnrSEeugI5anr3qWca8jVre27VOOWPc6YtkxBR7nGX6e+sPYtld2boJ4pic+Q/w66VJSXhazixozWvmmV5M3IyN+lIeYpo/ZeobIMyxbZewrwDLeGtHPbxm0QXR54jH1DKEvPsMxtU2gpwl9eX2hrD8iP9sI+dgfO6kvxDM98Rni10NH/p/F/EPZxco3o5q86Sn1i/qYrWeKPMOa1freV4BlvDWiX0X+OBN0Yn+cKfTFZ+iP52ajdUfbsp9UtON1qX5i+PXQkV9msXrD8rGfzKwm79oUu6M+ZutZIs+wZre+9xVgGW+N6K8gP5kFOrGfzBL64jP0k0tauP0F+jZDWuI2YhiIjXZJr4fsX1L9zPDroaN6z2J2VO3Nyje7krzsKfYNlIeYpo/Zeo7IMyzb2+wrwDLeGtGvIz9DGewblof64jP0s6soHqFt2U+q2TFck+onhl8PnfjliJ+oelPtzco3p5q8q1PsjvqYreeKPMOa1/reV4BlvDWi30h+Mhd04ng0V+iLz9BPbm7hThP68vp7rL0gbkPwG53yuRJx7x5VpyX4X278c6vxn7A6ngcPuT3Nh+cl/O3S1PZk+HXSpWp7mk/yuHy8BrtA6NKgvDw9CHSc1yue9USwDjpi7XfEGnLEesgR67Aj1l5HrEOOWEccsTx9Yp8TloqTneh1wlGvOU5YeTruiHXSEWvIEeuUI5ZnLPRsj8OOWJ71+LgjlqdPeNreq20H5zJ6+sRRR6xujROeej0bxkwTfdrZs71ne3zYEcurjPnnuU5YnnrlyWs84V1G3r/DuWXW+tsvdCgxb7WlrdN4pic+Q/w66VJSXhazC5aP58kLhS4NyssTz5MXCjkLhRyFddARa78j1pAjlmcZDzliDTtinXTE8rT9KUesiXosh/W4I5anT+xzxDrqiOUZv044Ynna3tNXPW3frfHL01c9/euII5ZnPXr6l2cb8vSv445Yex2xPMvYrWM5zzJ6jie6tR49be81lss/z3XCylO3jnM8x5gT44kfjTbkGSc89fLyr/zzHCesPD3iiOVpe88xgPW1fG7M8PPU4RrY8ozwTE98hvj1MLYuvdbA1Bk0K9/CavKaKfWA+pitF4k8w7I7S/oKsIy3RvQ3tArVEDL4jJ7lob74DM9eXdP6Mk3o2+leBPKzjZCP/bFiffWm+qPh10NH/p/F/EPZRfmH8ap6Zfun1msMi9eFLT9P/YKvhD0aqfY3/HroqL6zmF1UnLTyLa4mbxq3YZSHmKaP2XqJyDOspa3vfQVYxlsj+t0UD5aATjtIxhKhLz7DeLCz9aW/QN9mSEo3KluX4H9BfxhruxL8txj/0mr81xn/smr8m/qJviT/Dca/vBr/NuM/pxr/rcZ/bjX+a43/vGr8G6ztrICHHKdWwvMS7fjW1Dhl+HXSpWqcWknyuHzcT5wvdGmIPG6j5ws55ws5DZE37Ij1qCPWXkesw45Yhxyx9jliDTliHXHE2u+IdaJLsTx99YAjlpftVb/eLb7q2R5POmJ1a3t8xBHLsw11q+0POmJ5xgnPvtYzRnva3tNe3epfnmMTz3r0tP2zIU6ccsLKPy9xxFrqiLWsC7Hy9DJHvZqOWJ62n92lei13xOpzwsqTp0+c44h1riOWZz166uXpq90YC/P0oCOWp6961aOnXnnqVnt5+up5jliebdsrfuXpcUesIUeshx2xPNcUPMfknnMFz7VHG9/bOjaue2etv/1hrF+W3YtDPNMTnyF+nXQpKS+L2QXLx3uNq6rJm5oRP8pDTNPHbL1a5BnWBa3vfQVYxlsj+rktwzaILk+817ha6IvPcK9xRgu3v0DfZkhKawbDWFuxn6FdStTDmlQ/M/x66Kjes5gdsXy8V3SB0KVBeXl6AOg4r1c864lgHXXEesQRa9gRa58j1pAj1iFHLE97PeqItdcR67Ajlqftu9W/jjhi7XfEOtGlWJ6+esARy9P2nv71sCPWcUcszz7Nsw152v6kE1b+ea4TlncZTzli3euI9bgTVv75fCesPHna3rN/9IyFnuMczzjhGb+6dVxo9WjnzDFu8Dnn1LtD1TlzoxsUfFnrb4drD8l3pfPaw9xq8qJrD8ouHc55T9+VHpvLoz5qDsqx6cLW974CLOOtEf0rae0BZfB7D6n+ma89nGrhThP6cp9Wdi0M+Y3uR03OoODj9lXR/yalti9ec6nYnqNrLsouZdZclP27Ybw1Xljmf6sjclLXCJX/rf4RlTMo+Lg9ob1L+Hfy7+oZfj101H6zmD8pu1jZLxS6NEQenwu4UMi5UMhpiLzjjlhHHbEecsTa74h1okuxDjliDTtiHXDEGnLEOuaI5dmGPOvxUUesvY5YJx2xPNu2p395tiHPuPpssP0RRyzPGM1rADie6Sc5ZceiyG90atyU/2uGpHRHfxg79ijBf6fxr6nGf5uNiy6Ch1nrr2GvheclxmivyggvBD0mNPw66VJS3ukx4VqSx+XjMeHFQpeGyON3IC8Wci4Wchoib9gR61FHrL2OWIcdsQ45Yu1zxBpyxDrmiHXcEcvT9t3qqycdsfY7Ynn6l2fMOeqI9Wyw/RFHLM8ynuhSLM+2fcARy8v2+efFTlh58vTVbh0DeGJ52mui357otyf67Yl+ux3WRL/9w99v58nTXt3qq484YnnayzPmeNr+oCOWZxvy7Le7NUZ363jCs4yeY1/PevS0/bMhTpxywso/9zliXeCI5bVOnn++0AkrTy9zxHrQCSv/vNQRa7Yj1jmOWGucsPL0bLD9EkesZY5YTUcsT3t5xsLznLDy5BVzvOOqV9vOU7e2x+VOWN5l9PR7z37b0/aeMcdTL097eY1NvMt4riOWl6/m6QFHvTxjoaftvfoO73r0bI+e8cvTXp716Nk/Pu6INeSI9bAjludek+f6hOe6iee5Ib6/CM+sZa2//WGsX+ZymiEpDWSEZ3riM8Svky4l5WUxu2D5zC5W9kuELg3KyxPfA3SJkHOJkDOBNYF1trD4jKnh56k/jPX/Eu3tvNT2bfj10FE8yWJ2UXHPyn6p0KUh8ngOf6mQc6mQ0xB5xx2xjjpiPeSItd8R60SXYh1yxBp2xDrgiDXkiHXMEWuvI5ZnezzpiOXpX572OuyI5elfnm3IM656+oRnXO3Wtu3ZHj3b0KOOWJ7t8dngX0ccsTzHAPxOH46X+Z2+smN25De6QcGXtf72k35ZKDWGfktGeKYnPkP8ehhb5ipjdmV/ZRcr+2VCl4bI43XYy4Scy4SchsgbdsR61BFrryPWYUesQ45Y+xyxhhyxjjliHXfE8rR9t/rqSUes/Y5Ynv7lGXOOOmI9G2x/xBHLs4wnuhTLs20fcMTysn3+ebETVp48fbVbxwCeWJ728uy3PW3vOQbwjNGe44lu9VVP/5rot3802vbEmHzCvzhvYlx49vyrG8eFefK0V7f66iOOWJ728ow5nrY/6Ijl2YY8+45ujdHd2qd5lvGwI5ZnPXra/tkQJ045YeWf+5yw8vQyR70ucMLK04OOennuD3na6zxHrNmOWOc4Yq1xwsqTp08sdcTytL1X2/Zsj55tKP98oRNWnrzaY56eDf61xBFrmSNW0xGrW9ujV7zPk2c/5Nm2vfqOPHVre1zuhOVdRk+/9+w7PG3vGXM89fK0l1f/6F3Gcx2xvHw1Tw846uUZCz1t7zlX8KxHz/boGb887eVZj5794+OOWEOOWA87Ynnup3mufx12xPI898jv9K6BvKz1t8Pzw1MywjM98Rni10mXkvKi54exfGaXMueH88TvXHZi/wmsCawiLHt3ANsd/8Zi2XcUkN/oBgUft31sGyXa4prUtm/49dBRrMli9ld2sbJfLnRpiDweC10u5Fwu5DRE3iFHrBOOWA85Yh11xHrUEWu/I9bxLtVrnyPWkCPWKUesex2xHnfE8rTXsCOWZ3s86Yjl6feesdCzHh92xPKMOZ4+ccQRy9P2e7tUr2OOWJ4+4Tk28ey3PeuxW+OXp395tsdujdGeWJ7+dcARy2zPaxWGn6d+4stCqbnTkozwTE98hvh10qWkvCxmFzVXtrI/R+jSEHm8F/scIec5Qk5D5B13xDrqiPWQI9Z+R6wTXYp1yBFr2BHrgCPWkCPWMUcszzbkWY+POmLtdcQ66Yjl2bY9/ctTL8969NTLM054+oRnPR5xxPKM93wPD46N+B6esuMz5De6QcGXtf72h7FjlBLjpf+SEZ7pic8Qvx7GlrnK+EzZX9nFyn6F0KUh8vjsxBVCzhVCTkPkDTtiPeqItdcR67Aj1iFHrH2OWEOOWMccsY47Ynnavlt99aQj1n5HLE//8tTLsx499fKMq54+4VmPRxyxPG1/okuxPOPEAUcsL9vnnxc7YeXJ01e7dTzhieVpr4kxwMQYYGIMMDEGaIc1MQaYGAOMp7261VcfccTytFe3xomDjliebahb+w5P23fr2MSzjJ7jaM969LT9syFOnHLCyj/3OWJd4IjltX6ff77QCStPL3PEetAJK/+81BFrdpfq5VWP3nqd44SVJ0+f8KzHJY5Yyxyxmo5YnvbyjKvnOWHlySt+ecfobm1DnnFiuROWdxk9/d5zDOBpe8+Y46mXp726tX881xHLy1fz9ICjXp6x0NP2Xn2Hdz16tkfP+OVpr24dYz7uiDXkiPWwI5bnHpjnWofnGozn2Si+q2M25GWtv3bGEGNdLqcZklItIzzTE58hfj2Mbd8l5J0+Y7iI5HH5zC5W9sVClwbl5YnvZVgs5CwWcs4Ulqqv/F8zJKUt/WGsPUrw7zN7LoGH7EvYD5So2/mpvmT4ddKlqi8tI3lcPvalptClIfJiddQrnvUUYOVp2AmrXd2fLb3ydNQJK/886ISVJ88yDjliHXHEOuGIdcARy9NeJx2xHnPEOuaItd8Ry9P2hxyx9jlieZbxlCPWvY5YNjew/gvHTlnrrxoXpPel2d9mhGd64jPEr4exfWSVvluNqbB8ZpfOxibZFzPiR3mIafqosQL3uzYv7SvAMt4a0b++9SKR6vdmkAzLQ33xmdln0g/+/WT/aN3RtuwnFcd4U1P9hMd41fwyPsZTY28rX7OavMEUu6M+ZuvzRJ5h2XpiXwGW8daI/ufJT84DnXhucp7QF5+hn/xMC3ea0Hct4cbaC+I2BD/bCPnYH5vwvGx9IZ7pic8Qvx468v8s5h/KLla+86rJG0ipX9THbH2ByDMsW5PuK8Ay3hrR/xr54wWgE/vjBUJffIb++Cvkj03AWki4TYHbFLgNwW90yucYJ5L+TtVpCf53GP8F1fhXG/+F1fh/W72XWoL/I8Z/RTX+Hzf+51bjv8v4n1eNf5XxX1mN/3Ljf341/q8Y/wuq8a83/hdW4/+o8b+oGv+bjP/F1fjXGf9V1fi/bfwvqcb/FuN/aTX+p4z/6mr8mfGvA/4SfULT+K+rxt9r+l6LD4VOhm99yjVAnxX8NSzOM1l1wiqpexbTHfXjfuBakIdlLMK6tiRWv8irUifrQnG5EH8wogvrmSeej1Ytc572OWHln89xwsrTcUe9mk5YebrPUa/zHLEucMS60BGrzxFrqSPWcxyxruhSrOWOWM91xHqeI9aVjljPd8R6gRNWnh5z1OuFTlh5Ouao14scsV7siNV0xLrKEesljlgvdcSa0aVYV7c+27oE9ksrSU6fkNMXkYP8Rtcv+Jr24VtHvvBfP/3EBz/5q8PveffPznhy6s8PrJnyile/+p8XfWPxLzz16l8xXuzvSow/t3a4DjfL+JdX459p/OdU45/R4TrbtbwmE5D3qt/q3fHgb3734MANr3r/8Sf/8tajUxcPfXzZa9694w/etOyr9/ykWo8pIfvqzu4JywKvx4RQ3m7PrSQ7LFNrMSV0f0qtxfQk84d+tRZTgv+5ai2mBP/zeC0mAO95n/+dyf/262+s/fe/eOrg8W9f8JY/vuGJ//M3XvTmz1x01Y9t+vuf/cYtah2mzF6MWkepso7wkmr803gd5WnQkJReqNZQSsju72wNJftih/P1QV6DCcj7lde/7RWN97/5Hc0LP/Ptvhve+LV7vnnjpCuf/MxjCz7xyu999amfMd7rFe+f7fje33yo8ZZHTjzx0UevXDVr6L1v+cK//OOnPv3fGt/8u/e9/Aun/fWGanoPGP/6avyzjf/GIHSPpuzptf4L6s98sz41O50bwmT4bO0wT5PCyJrSZqLJU43o108f4VvbkjdIPAE+9xN/SZsswDJYUmtghl8PY8teZQ2sh+Rx+fjcW03o0qC8PPE5iJqQUxNyFNbjjlhDjljHHLH2O2INO2Ltc8Q65IjlWcYDjljd6l97HbGOO2KddMTy9C9Pex12xPL0L882dNQRy9MnPOMqv0uBeTwOmATPS/TLPanjAMOvh7H9cpVxwCSSV2SXgR/8m9n6fHR47/69wyc3HBy6f93QoSNH9+/B0QSOEFhKRqj4LAujS495vfSsl+iuo+/rBV8Q2Hm+1dxket4MSelG84obRabl3QTYPLK6GfJqlLcBsO4HOk5cTixP/ndg4Qgu07GuWFc3UR6uYt0MsrnOJwk5VrYeQd9HWJMEn9VLO3nP5laq6sl4GyKP22nqrKBK9Gi0Preix7V77j36wIaDDwRKNfp+bYGK84lufYFqmcDN6B8/n0/PlCkQOzZBTHGZPHEHhHmbSc5EBzTRAZ1OEx1Q6K4OqFfw8fIQLxvlqWkffvxXfvVvrn7iM5f8/femvO6WoZ84cflPfW7r1x+Z/54V//DQ+xa/d2Yu6220FIb6sj9b2Sa1KV+N6L/YGOF7e0te3grntfJbrfCao/v33bFn+PDePcf2/CCeHwmU2jWdW+j7rYJPJXMJ1ZTNvBWDU3IwNPx60NXcDEnpdDBUsxQsX7VgyA6BVgnBPxjeSt+rBMM+et4MSal0MOQuHIMhB8pOgqGVp2wwxLriYIiNmIOh8lKUY2XrEfSTCCsWyNrJmxiyPJMmhiyQJoYsobuGLMw3KYxt1cZbI9o/aQ0NOmzNo07fsI4Tff0zaaKvhzTR14fu6utVlMkIYzyXSlB2dIL1peF1bxqe9/Bzv97/p09c+s5FS774rfd86MvfObnnyq99+SsfWf6tDiPKnR1Gwi0531dogsfn2vGz9VpFZx2Mt0b036iP8H0NJngrWvmtaHPn0P699w8N77nuwMuP7jm65/5bDw7vOXL1gfuvO7bnwHDp6d719P0GwafSlDBSYL5ACguZJ14LnNP6bi+tMg0byOj/tWWU3GArWg1ZOZ3pM0j8IYztpuaS7s2QlJK7KcOvky5Vu6m5JI/LV62bYndGqyAqPuOwgXlnopuaT8+bISmV7qb6KA+7qTmU10k3ZeUp201hXXE3NQ/yuJvCOp8r5FjZegT9PMKaK/i4myqS1yv4eAiS0XNcO5stZPPa2cCUZ/7mtl21sNgOeG0dY9p3Nehne1t+njr0162pkcbw62Fs3VeJNPNJHpevWqRBT0EpdxKq0SAtpjtBM6Tn71x7NcHHyXBqpPN5LS/KvW9O6/O0MLZc00hv5e34jAdQyG90Ss5Ah3IGhBzz5MnAt53y+iN5dcCcRnlTgY/30BqQt4PypgPmAOXNiGDOFJh53X1iyghe/q8JdMrTrXeyOsAXM5AXv08i2jztav2tEe3zwK9Wk19hK2a/mtdG75hfzQvFcgY6lDMg5HBvlSf2nfmirJa3APi4nhdCHvvOIlEudakSYy4RmHn9/M6U0XRNoOOIfx48LzNhSY34hl8nXapG/PNIHpePJ3MrqsnbkhE/ykNM08dsvVLkGdb5re99BVjGWyP6a1v1yS9z5Ykvwlkp9MVneMj9JeQnaNus4K/h8jNuX1j2ZhgtB+PNZtDnxoKYhyMpjGs2WeZY9SewC7mBYhXyc901R9TquPzNMLaM08JY20yBz0X+fV5EzpRIecarPqeQHIyzWJ/bqD5XQB7H6Pzz8tbnGtF/GOpzJ9WnaovKztwvlbXzNCFnvO3M/ctKRzmIxS+5rCIstrPVk9n5fMhbRXyrIQ/pcNa1Cp6vFrIVvmG088H9U3TZinzQZNWI/hfABw9W9MGVlId9RTOM1tP0QDsg/fKgy9VXQF9UrmMw67xw4WhM40dbYV1w/DX6k4C5dqHWE8uF/QEvBCt/WCXKpWy6OrSXjXZeXyC7L8R9sUb0PyZsyv0C8qt2NIt0Ob+N7ty+kd/oBgVfp3FE6dyuTb62ZJu0F53Zd18FbfL11CZjPoI68zyirJ0HhJzxtjPPEVY7ykEs7hcuIiy2s9WT2XkN5F1EfBdDHtJhv3ARPL9YyFb4qf3CL03RZSvyQZNVI/oHwQffEZkXx3xwNeWhTZthtJ7t4iFfjGR694V4f1sj+vdE+gXVXjHWcr9g9L8e6RdMLpYr1i8oX1wjyqVsehFhLRVYaGfuF5RNsfxLqfxG/5uJ/YLxq/WInZSH6xErKG8B5PGYFS8qXUl5uB7BayN4sTLHO/xhDfQRXo+YHClPP2Dweh+u282nvKmQt4DyGpC3kPJw3W4R5eHxEr6oeybkLYGy2rodb5z+Yet5h3t68shLbF00K/gbQlp/wMe1UM5cRzmIdR3Jmecoh3ccUM4CIcfqayHxNUNSSt6DNfx6GNt2q6yTLSR5XL5qOyMYbdgqiIrPsjC69Jh3JvZgK14FX3oPliMS7sFyRNoAWGX3YK08Zfdgsa54DxYjPu/BYp0vFHKsbD2CfhFhLRR8Vi/t5PUKPt6vzOh50R6sYdSI/svQQ19KIxQlC1sUjxJM96ITJKyD0f8T6LBiocasFZRrfgHmf8LuzTemaMwgMFW5FlG5WIeFpIPR/6sY/fSGsf6nfGwhfcfR4KIC/VQ9sa7YnorKw/Vk9P8eqacFQgf8mZH1bXRgmkUFOnxP6CAi+rqDh062InqgxIfsOSKz5XmveoHAKUqGn3uheaQ6WTFf8PH7lT1Cp7zkVnOnXxndv2d4T0HZe4RuSmZP0InH4MaXJ+t9KvbjyeMGw68HHaWaISll7Lkmj8vHh15VRFc/hoD1y34Uk5PXqa0rtep00/DBw0VVmjqgyIRaIRQPLLIwuiqQ59nsBuWGj+wEaBVExWcxy7erbY/3VSr+4lTp4SMf08PhIw8tOxk+WnnKDh+xrnj4iA2dh49Y5wuEHAyyTL+QsGJDv3by1PCSjwFyVCgaPvIwy+jPaa3M4hE+lmXfL4DPfERvHCaiM1IjyQ/3RHQ6oRoN0mKaDpohfeyIXp5uFHycOJKspOfNkJTO2ET05UDHSUUSK0/u7c8pEUmw1aVEEjVJ3UB5OMm/hfJwWfJWysPjILdRXhPyNlIebuveTnm4HXxH6zNHihe3IkWHB2/lcqBhTQtj7Y1LqOzXveIZL58h/5yInOkdypku5AwGHUnz1KEdk8dZfIC501cl1AFmZRfVCxtvQ+SZz5vf2bL6x1t+9/TRqIHR2Pg6DNu14lu7z021q+HXSZeqdp1M8rh8bNd+oUuD8vL0ANBxXq941hPBOuqI9Ygj1rAj1j5HrCFHLM8yetajZxkfcsTyLOMRR6xjjliHHbH2O2KddMQ65Ijl6ROe7XHIEcvTJzztdcAR64QjlqftH3bE8rT9cUcsT3t5xsK9jlie9urWWOhpL8+Y4+lf3Tpm8vQJz37by/b550EnrDx5+r2n7Q86Ynn6vWcZPeOE5xjA016nHLHs9zxsjQnXIXg3Sc35J0fkIP/kBCy1fhArY9GVF063GpuKVxDd+gLVMoGb0T9+fgU96xW0iI3X0KRsZlT8+bjLMsILQS8rGb7XZoY6Kaw2M9TboMbbEHn8c5Cpb3E2RN5RR6wjjljHHLEOO2Ltd8Q66Yh1yBHL0yeGHbGGHLE8fcLTXgccsTzt9bAjlqe9HnHE8vTVfY5Yz4Z6PO6I5Wkvz35oryOWp726tR/ytJdnvPf0L8+Y49kePX3Cc8zkZfv886ATVp48/d7T9gcdsTz93rOMnnGiW8dfpxyxeJkE59W8TKLmsEsjcpB/aQKWmg/HyjjOyySm4qVEt75AtUzgZvSPn19Kz9otk/CpnMtaccuWRSqeKpKnwfiUFi4HNcPocpRdqUP+/oiceody6oly1nYoZ62QMyj4soK/JoefxVb215KcOY5yEIsvocKlsCZ85iYca9bKDxYUYOFN07uBhi9Jw5fng5C9HfKRfn2rDeXLom9vHRVVb2bgJRA3DcZ1RV7UtUb0N8ElELe0MJWdrd6VH/DLM3OEXIXJbats3dWFDjEsrK+pRG910VdAz6/SGf1WqDu+bMJoivyHdcY6CoSRJ/Yfo99ZwX/uGozryv4zNejyrwH/2U3+gzaO+c9UylPvQaiYySd1y8bM6UI/JYcv85wjdM/C2LgVGyY0BL/RWV96pq7gnk55eOp+BuVtgLyZlHcL5HEfhG+v8WUVt0Ee2oNTL31HG+W+/y7wfaYLJDN2kl9d6211j+MUHp7OIF35WWx4OqMAC1+XVhcC1Yh+Q+vmvbw9nhocXS68sNds0qGvXZ7SvyN+nXQpKS96+hzLx9tZS4UuDZF3Lnzm+Jsy5cC8Q45YJxyxHnLEOuqI9agj1n5HrONdqtc+R6whR6xTjlj3OmI97ojlaa9hRyzP9njSEcvT7z1joWc9PuyI5VmPnvHL017HHLH2OmJ52suzDXmOJzztddgRy9O/JuLq2bF9/nnQCStPnn7vafuDjliefu9ZRs84ccARy9NenuPV+xyxHm/9tbWHovs/MA/lzI/IUZdWqXU/XHPgubTR5MnWESr+KEtvRnimDz5D/HoYG3OqrCOoH1NQ9RP7kRS1nc+3fHRyNGAJYaWufWTE366MjluXpuJlRLexQLUegZvRP35+GT0r2ro0bGtGuPTUJEw0Y8y0avtoZkTO1A7lTE2UU+9QTj1RzvQO5UxPlDOnQzlzEuUs61DOMiGnV8jBbSm+qzlPuEUzMHW0TupmUFw2tlDNN4PeOnWEb9rU0TbAbQ57K0O9sML3NONvzXEX0IDnJUJy8kUmhl8PY9tGlS6gQfK4fBge06954paIVkFUfJaFsdErA83wGW/qTya+9YIvCOzeMFJzM+h5MySl0htOdcrDDaeplNfJhXFWnrIXxmFd8eYQRi6+MA7rvCHkWNl6BP10wmoIPquXdvJ6BV+dMDJ6XnRhHG/8Gv2qVoa6b1jJwhbFB5hMd9t8ZxrWwejXgA58j20DeFS56qAP2t++Y3vaVSD/aoisl0zV8oOQz+VDX+0r0LdBOhj9c8AGfDfxDMEfCp6xb8+gvBkR2j4qC35Xvsj3GFtULSo717/RvzBS/1OFDqZXnta30YFp+gp0eInQobN7jDmycy1xTUwVOEXJrJF7rHkvW4dbh3pW5AGd3mPcXyCzJ+jEv69hfCGM9GoVxwfJ4xHDrwcd/ZohKWXsuSaPy8dTUtVTNEReUSttJ6fDe4yLBioqWDB/IN5MPMsTvrx7pk4JKjlTO5QzNVHOeJycU3KmdyhneqKcOR3KUSfGGEtNm/JkDswnI3dDYF9bcEl+TwHmHaSDWgVUp8KMPrYqpWyJK0TnJciO/fhD6kF3oz9f0OPq1VLSFfU7v6SuG8+wrguEroNCNnc5/HOhzZCUkrscw6+LMlTpcmJ2eVqx1t9yU2D0WLYKouKzLIwuPebFepY8XU/fq0yBV9PzZkhKpafASykPp8ArKa+TKbCVp+wUGOuKp8CrII+nwFjn5ws5VrYeQb+KsM4XfFYv7eTFWrdhKL78+3WCJ7b3kdJq88QDt1WOWOqHNM2n18DzEj49JzUaGX49dNSGTkejNSSPy8dlv0jo0hB5uNiJeSjnIiFHYS10xFrkiLXYEWuJE1aedkxgTWBNYE1gJWKpM0WrKQ/7z7tbf9WMaCrpp/bDl0T0Q/4lETnLOpSzTMgZFHxVxwqNiM5WHuy72W7qB5xXR+Qg/2oqT9F7aZ+YqmWq99LytLv1l3/I/sXwHswfTi0uI9rZysU694MMyysxrhnMx96nlozIwXGK6Wi4Re0Hx3A3tD6rPnsm5WFdG0a7Ovgs1QH+SDDXAepTI/qVUAefozpAfpxPFLUbJY99pK+Ann9Rwuj/QmydKP2WFshDe6Cd1xfI+2uxoqT8zmR36HdzlN9he2W/Sx13p/qp2UT5Ka9SqTNN6Ae8SmX8fUHXAf/OldF/WdR5qp9zvRr9PybWq1M8kfWKtuJ6VauJqh+K+QHWF78/h3We8h421nVKvc4X+Fyv347Uqzo4g3pyvRr9vyfWq9lyPOoVbZVSr+rMZ6z/Vu+4N8LYfrJBWCpGx1aVVb3GfvXH6HtbfYiqV7WyH4vDRt8HmGcrDqOtUuo1djVNu3rlOIz1uoLy1C5D1RhtWKkx2uhnijrnMT/HhSL9in6vz3FD8/wCNWYL/kC8GT2bXYBlOPkzXJhnk5928aCXQNnkRr9AmFw1U9RHhSgrjy09YnWPx0aI4Xv9eGxs6Pm0Yq2/6rVybmaxplTmR2qdXDVP1xeokQn+QFiZeIZ5ylVxT9RclY+9cg89QDMFdCGeKajIp0b+Rm8j0KLRheHViP7CSC8UGwXniaP1xYIeR8b8G4hYhospD/mWFsjB3hEjP/eORn9ZYu9ossejd0Qbce94CeT1Cnq296WC/hKg4VWlSyEv1qQvJjntQgf7v/JTNftWo/Gpobi87WZl7F/oExdRnprNKV8wuvFYKcHysC/E2lKe2DYx30HbNEJ7P8F2eRHJicWlPMV8AVcXbDWsH7BRTjMkpfONv6ca/73G31uN/yIrJx91zJNhY92W8Jn70CaW1FDB8OukS9WhwiSSx+XjoUKf0KVBeXl6GdBxXq941hPBGnLEOuaItdcR67gj1klHrEOOWJ72OuyI5elfw45YRx2xPH1ivxOW8XvpdcIRy9MnHnLE8vSJI45YnnHVs217+WqeujWuevqEZ/wacsTy9AlPex1wxPK01z5HLE9f9dTL017Phn7b016e41XPGO05BnjEEcszfnWrT3jGiW7thzznMJ5lfMwRayKu/mjEL696zMLYNbdusVe3xpxuHRc+7Ijl2R49+1rPeuzG8WoWxq5hd4t/ecbVg45YnnGiW9eZPPXytH23xgnPMfmzYV7r2W8/2qV6ec5rPevRsz16zmE81309sTx9gttQ1vqO+6Tb4fNOyEd6+5UhtY9dYu/2/kHgCYCB2BX3oe/PCC+E0WONQPiDBfLyVBd5tQRdfmPO79917bnf35URv+nCz1LmJmpP22w1mXRvhqR0rzpDYrItD/fnJ1Ee2sV0yP++aclo/foq6pdiP8RvCHp+Ky61LmaE0b6A/p7yI5nt7g4pupm2r4CefznO6C9ttUn19sxK4K8XyEP9Vgo7NAT/ygKsojc2zinQ/XmgO9/tom4RUNciGf0qQY9Hgvm8FZZhFeUhX3+BHCwr1vXuMLqsRn+VKKtqfya7wzNcA+oMF9qIz3Cps1JIn/J2Cp5h41uZ8QzbSspDG6+ivLI/Hpt6vst48Vf4Uu5Eit2Nk9quFwg9uG3cltiumwXyUL9Yu0b+Mu06T/cU6L6lZLtuCv26oV1jXe8Oo8tq9LueZe3abOLZrqu+rabaNb6NxL/OehHkGS7+yuCFrc987nxfxJ8vFrrG7Nvu7Cv/yiWeab2E8pDvfMpTZ2ZNh0uFHVAvvovN6I+AHX4RfNDKEkivDn39auXreI6cfR2vou8V9FwXlwv6y4DGbNIgeq4X/I5YaFN+Rchs1CfoEY/fC3hc9AumH8a3S0n31SV1nyd0V7/MiW3ql6Y889l8EN8TaZLM1RGZzItxpq+Ant8ZMfrXCHvFYj7aaRJhGv1PReKBip/qVx5itl8jyqVsyu8JoO54T55hM2aH7fMazxsV8lT2HR2r/0YYGw+5v8G2sYbkqDFGqv+jD712isYt6m+Wtz6zf/1SxL9Uu1kBz8r259zfoH+toTw1vlfvqPA4UvW7SM/zQ6N/d2J/4+TPM8/2ey98axr2BxwPlc9iXXN/o27nWCPw+baMD0T6G3y7+SLSfWVJ3au0t/3U36wAuibJXBmRybwYL4r6G8OrEf3vRPqbFaA7z81Uf2P0v1dyPhXrb9rNp0wfZVOeT6Hu5guqfRpdh+1zlmqfWH5un7Gy5oltE5srqf4m9gZ/7H7dFUJOqv+jD22j/qZJuIiFfhHzxybQWD2xP3424o+xdpYntnm720Kbrc/KH3nO04S8mD8aXYf+eKfyRyw/+2Pq/b6pbZXn4uirMX/k/rkp5GAMYX9EP2pCWW+cMppuMmBkrb+2J4BrAyVsnnwlgeHXSZeS8k6/Z9hP8rh8Vnfl7mbGnRG2CqLisyyMLj3m8Y5aL9FdR9+r3M08lZ43Q1IqfTdzH+Xh3cyTKW8DYN0PdJy4nFiesnczY13x3cy4W8J3M2Od9ws5VrYeQV8nrH7BZ/XSTl6v4OOduoyeY0+hdv9qRP9v0FOsWlhsB9yBY0z7foHQk+vC8kMY8deKPwQyIzXSGH49dBTZTkeaOsnj8vlEGpMynVCNBmkx4Q9kIT1/5x9Cu1HwceJIM5eeN0NSco00/ZSHkeblQMdJRRorT26b55SINNhCUyKN5WGk3kB5Dci7hfLw90JupTy8L+Y2ysOfWNxIeXil0u2Uh3sB9psdNSr7rJZSHZ4pGKV/CLr+J8Yt3TZuuYW+Vxm3zKPnzZCUunbcYuXxHLdgxPUct8wlrPEetyi+LIyeYXE99RFtCB33RMm/p2349dBRdDvd6ueSPC6f2UGtMBhvI+h2Y58xD+Wo2b7C4l+1mp6oc4eXsfH3/gI1egR/IF5uqikH+TD48iKt6dIX4m5eI/orW0qrewMVf55S3P5Md3adur0KEzG3ny50aYg8tCHX4Rly1TzdUqCG6kUDYWXiGeYpV8VZ2foC2X1BzwjZVY3+euGqjTBaR+TPMd9WHy37NqDrDWPLx7puJF0VDepq9BtA1xWkK9qex8EbQRduUreT7s2QlJKblOHXSZeqTep2ksflqzZ+ZO9DqyBqELRB5LVrOevoe5Xx4yZ63gxJabN5xWaRaXlbADujvDshj2dVWwGr7PjRylN2/Ih1tYXy8BcX7wTZXOe3CzlWth5Bfwdh3S74rF7ayesVfBlhZPQc171uE7L5TYk9EDl43Qtl3RZGJxU9eK6VJ7Z3CGMjTUV/3ZYaaQy/HsbWfZVIs4nkcfmqRRr0FJSylVCNBmkxbQXNkJ6/c+0tFXycDKdGOj/e8qLc+w62Pk8LY713CumNOsRidkPwG52SM9ChnAEhxzwZ62E75dVEWfm9nTxtprybIG8H5d0syqVm5Yx5SwTzVpH3dOSYMZoOo1FW8DdPveIZ2/R2oavVHUYAfv9DtbZNETnIb3SDgq/T8iid1bgKfynntdNHeDLKU9G+2fpcI/pvLBjhez21t83AbzoqO3NbLGvnKULOeNuZ29QWRzmIhTbM/20lLLZzs/XZ7Iwjoa3Etw3ykA5HBFvh+TYhW+EbRjsf/KXpumxFPmiyakT/OfDBd1T0wS2Uh6NL7g9ND7QD0jeDLldfAX1Rud4TmffdLviV7rxitCWie57YF5GfR67j4fMos53/fID8507IU/7D7wMa/e+C/3yQ/AdHaONR/li7xpGczb5i7VrFD+bDNjorQYetQueG4Dc6Ncvq1DeUzu1842PkG9sgT/kGv8di9O8G3/gk+QbGT9NR2ZnHgGXtPCDkjLedeXy33VEOYnH/tpOw2M5WT2ZnfFd5J/Htgjykw/5tJzzfJWQr/NT+7c+n67IV+aDJqhH968AH/yIyp4n54HbKQ5vySsp2YQdVBxnp3VdAv53KZfRfFP1brL1uB0yO5Ub/JcDkc5YmF8ulZssxX9whyqVsujO0l412Xl8guy/o8hf5ylcjNjX+SQXlYZsa/dciNlU2itlUtbGdolzTRJl3EdYdAgvtnGJTLD+fozD6b0bGYVsEvxo78BhSjcOQnn9lUrUxNTbhNvYfiWNIHtvg2sJOysO1BZ7r434Gz8Vwx/9OysO1BV7n2AB53P/h/s42yrsV8kb5fmttoUZl7Ws973DfQZ6X4fM7RWto+DeEtP6U75RBOeOxbqLk3OEoB7HWtf6qORv/ynPZdQPkj80Nax3KqQk5jGUxOU84JuL3W4x+fsvJ8nb99iWjMTcL/fAunPWRsnJ7RiyrM2sfGPvGY1/O8OukS0l5WSzmYvl4q/tOoUtD5BXVKcqJ/e5Vql4DYeQMYmsV/9o99x59YMPBBwKlGn2/tkDFRUS3vkC1TOBm9I+fL6JnatsZsc9U0zubcqZ1KGeakDPeS53TSE7RdOeyGSM8WWi/pHxO6zMvKZ+A6c4VLUw13SlqduhrseMYJq/oiMOkAv1eAKF3BQ2HJ4kynxPReTPIYLl52l6gw0toqFIxFMuhCi+F4pCOr/PCUMabwzjE6RXP2Oc2CjmMVdRNml15SHd9yW4SfXt9pKy8bYS6sB2UHBXelR1ichodymkIObFuv2osUTrzVCKE0fFiE8WSLZCnhjR20LhG9C+DWHJnJJbwMhQPNTi+FvWTRbFkU4F+OyOxRA0Nb4zojFNAlpun7QU67KZYwltBzZCWVCzhrQmMfzNJ/7J9IfKfqb5wJskZ720/tdzP8UVtR90ZkaO21Nq1xwMztEzVHrlfQ/q10B5fTu3RY6uuqE2EkLbdtVnIKYpBIcT7IKM/GemD2g39Y1O1Iv3wYBXSz4AyF2EF8czosf/j5Ys7iXZLhJb1Rt++ovXZYhFvKTdDUtpm/rxNZPKWBupkebiMeBvQceIjSqhzXt/voitYgsBS083tBZiqze8iWitzj8Dl7SJsx2yvHQU6cB2HMNb3DPfnZozgv4H6GVwuL1G329WWlCWuP7YdJ1V/pldef5+tWH98zEldG83zKa6Pd50le/GcH9PZsBcvP7ezl+VZeXsEHx9CNXmfAn99N+HVQBb7P1+ZjNszzB9C8ZbYr0Ffsah1DnJaGNu/8pWpiK3Gx9zPzS/QS5UT4+RW0ttoP0m+ytutzZCUrrY63kk6IfauitgZ4YWglx0Nf1DIM73qIi/lmvPVl7zwT/6u8fN/nBG/6cLPeB58l6CfL+jNVncDfwlbvVhdAWOyLQ/9cRfl4ZqB6aCuOb+ron4p9kP8hqBH2WXqoiHkbHTE2lIRy65fV9upHHPzxP2Q6vvzevwHGqdjvc8jXcvGIeQvE4d4vGG0X6I4VHH8+Bw1DuQ4tLMidmoc4n5P1Wtd5KXEobXPe/LiT32u/6EsjI23veJZyja+eom1w3Z+iYpDHGvQH3dSHsYh00HFoYp9yiUp9kP8hqDnOJRaFw0hZ6Mj1paKWBaH1BhcxSH2822iPBiHeI7xNRizfZleG0gZd4cwNk5uieRtFZi57P+vYPxpLyPhPJLnaOpYkX3HZ+jryMNrD0b/LbDNv5B+OP8PhMdHKdR2Z475nRnFdNsidKnje96SVcemU+tFHdPi9SJ1xB2fxdaLjI77pMkzR3SxBUTVly4kXcr2pchvdCmvCm0SOqh2iuuBn505mg5tlBX8tXLwMy6Hqp9869suWWhtfd+wZ3jTg0OH99y/ac99h/cM95IGvIPBrWoHaaSSackjk1vpO7/AxqvCWwVOO5lql2IOfGa5ageLLTtH6Hw25SzoUM4CIUdF9049UuncbsV8wcwRHvSJoh0sXpEw+t+YP8K3mKKH2nVUdsarWKrYee6EnHGVc36Hcs4Xcsa7HZxPcorawaVO7eBuaAfPSWgHLC+EtB0W5OcR8NY2WFzHyB87nL8xQU7sBZHUlwBSyhOTczbLY1jq5QSsgzsiem0nrB1tsG4nLHUAX/kg61z2ZAbyx06AbO9QzvZEOWeqPNsoD2ckHItV3e2I6ID8PKNTqzxVY6TSuV2M3EYxUr0oFDvtYvQbIEbujMRI9t0fNTvvdJSDWHxKqqg+H6D63AV5KfVp9M+B+nwooT6VbTZHyoOniVLiYcoLUtsj9GrVUPUDZl/c7bA66nBnI/mKYsOvky4l5Z0+fH4PyePy4SHv2a3PrZnu1XuOXHrZldf+YJp78tAw29Rwp6NQ0J/pA31nvlw3Pg29Q8jIE/vPTqLjerfnjJ+iUzvadvmq3fDKa9l+DfmLThAWnRay+uGTvY+12rk6LaTGUehDPJZVfTi3O6brFWWYUsB3ddD6YZnXR8ps9K+KlHl7mzLzmFuN9zg2MV2vKEN/GOsDiJEyfsGVrEVhdLnKrjQuEnLGe/VtEckp6u9+mvo79aIptvl1rc+8Wr0c+ru3RPq7M1X+dm0ay8I+heVSJyNDGHsKxL7/YqvsHZ6mkCdyi07acPv9ZapTVfZYnRr9LKjTdybUaax9xMYiKk5sidCrsY5aYxm/EynZ36b4KOKr3d4qYxF1ikTt5JUdixjuF6FAqH+7sQjzqbHItgIZRW2Pxwc8lmk3FlE6FdGWHYvgOgdfGFB2DVDtApt/Vnxxsmm6bAE91CmbokuqesLYtqjoN5J+jF+0/lAL2jZ8+ty+fxjGGUvpdB3qsLBAvxDS6gL5z9R6LO/cjccbPCGMXb/Ber0GPmOeySmKyQ3BHzvlv7NDObFTDu18/arW53Zjok9R/6kuN6sJPXhs/Il5I3x/HNk9ju0v8LpF7HIH9VZs7Fpd3A1WevEbj2V3tZU+/Jbf38MO+5+TLtjnrCJdyr6hiPw8PkA+a0v9Yaw9SsTf5BflDb8expa5yvhA1ZGyi7r0w3gbIg8vACmSs0rIyQirnV6OL8pb/oVEt75AtUzgZvSPn19Iz9QQA7FzWXvnjshBM/y/NHXgrrUZ0pKaOnCIwerhZl62aSF/0cu/2N2rgykq9K0grLJdOfJvLMCqCd3zxNM7o++d9czfDodnG2MvIXZ4AHZjaugpuo8O9aqLvJRDqpd948SbXvqi1d/jLtR04WfsN2oKuULQm61weaiErW5Rh1RxiSJPapqtDqmaDuqQasUXgG5JsR/iNwQ9371VdksX89ZXxLKDpWoqcbZiUtHyLt/pavT1VttXS50qNqmXzmOXL3BM4zJyzMlTM+j0fUqGZ/afLGTx1Mtop0O5ly8dretmoavFiN6IjCCeZaHYNiyjR/C+MIzWbUuCbuqlYcToKdAzx1DTG/bbstOb1JelV3YoZ6WQM54vxqPMdtOvc2aN8GA8KZp+vaj1madfvwnTrxUtTDXN4WmkuowGxyxlL5DgeGL0F0C74gsk1FGrFwEm+xnK4HLlicczRn8xjWcqjjnkmJOXfnCazLE1TzcVlAnjNN6byDZQW1ibI/Rq2Rl9kmO2uheVsYq2z1j2zjayebxedJctfkfZscuW7mojm49hqZfy2Je/PmdEhxdR+70ZeFS930yY9v0vZ49gvqQk5oYCzI2zRjCvoZiAsX5JGC2v7PgD+SeWG8ovN/CYQMlZIuRkhNVOr3FYbphHdJ7LDfPoWZnlBnNzvK71MsK/GTB6xTN2c+Q3OiWnv0M5/UJODOsygWX0GwR90Q+OO7mGqbiY6DZHVGPcdq6xmJ4VuYalXpKZf+YVJ64a1nGawKhFytQrnnFV14QsJefyDuVcLuTwZv4xGh2h/BLR8jUW/fDXlDjyV1zte01q5C/azEK91K8opqz2fHPDrR/9yb/6xpcz4jdd+Bk3SXV463JB3+GVia9Wqz24wZIntTGjVntwJs2rPRVXBV+dYj/Ebwh6Xu0pu2qqrlEsi2WrPXjDd6wtn6mYMR5yYlixawfNNn2CXsUko/8xmDXyjx8rewfxrCeMjUd8bRtizS7QXck2/Dw1BL/RjWNMnFQ2JtbD2DJXGQ2r9qHswhv9yKs27vmKorKHXbsdC31zMIz136zgr8nhZywH2+pskjNehzpS/LyqHMTiAwLjdXjExkQd9sF3qtfTLamdKPYLdcUEX5Om7K9erFDXs7wUPnPqpe88Djhv6Qgu01lSq7ncL5VdzVWrfmq1AVdZ3zdLy8QVR7Ujwys/H4NVmg/MKi4jz3Wqrlh++AysWP4o+XgVP95Z0Y957KUOHanD/lYOFa/51xvUFYIcFxFfxTJeQVXjGbXir8aUt1Ae6lBLkBMbN9US5SzuUM5iIWc8+y2U2S5O/RnFKTy8puKUrb3wyY33Q5z688huEOrI31PG9SYv9Tpxo38yshukynxtRGeUEQgjTxxbjf6LPqdbZGyNnfThdlJ2zlo0Z+e6Mn06LF/yarvh10mXkvJOzy/U+Fpds17uN+P5bBT3HGq/IgujS495vfRsEtHdQN/XC74gsPP8Di+638q9L6ayvS9fXI+vpdwPdJxU72vlyVv/wMIRXKZjXWOvVmHPzK/TtTuTYWXrEfRbCKtoj7U3QZ5a+eBZv+LLv18veDxndZ7nIdSIkKNRxZHsrNRoZPj10FEbOh2N1Nkv9eMFql3x6AzzcJUV81BO7HVLxLrZCStPOyawJrAmsCawzgJWyuwX+ymebWMc5NF22c145I9t+q/sUM5KIWdQ8FXtkxsRndUKBtut7I/3ID9fgFo0+71itpaZOvs1+nfA7PfK2aN1VrPfEPRKA9aDYTBvP+hgeSXGF9PyMfAp+DEKtiuPD2LjkPyznZtUV1rxGST0hdQ6Wkd1VIM8VUd8XtXoXwt1dH3rszqbxudVY2ewUB63w74Cen5Vz+hvbumEO4+x8+wsr+j87vICebeBvLU0J0K/w9MBIVT2u1nK7zDOsN+pVTYVz2LxQq0WNsJYH+bdZnUeUZ1dzYi/L+g6wPe0kH6HqPNUP+d6Nfq7EuvVbDke9Yq24npVO/nqNdeYH2B9xVZB+czzTQIL65rrtV1bNjxuWw9G6pXfj2E9uV6Nfl9ivZotx6Ne0VZcr2r8oc6ExvwA+wezidq1uJXy1Ds9sfiNfpBS51g/RfH7uKhz9Z5GLUG/orO0rQVkW3XcNHzw8J7WsmOgFFsmzL8XHQGeKfgD8Wb0jH+vUoXP2KK+yS46rMPh0+gfFyaPhd88pRwTx+oej4Vrw/c6Jt4urPFSUayZxaYyZ8FV83RDgRqZ4A+ElYlnIeij27G3lmLRTZlKnT9Den4rw+jfEOk52u2jcuRTI3fsHY1elZ8vMUa+okuMsUdDN1pOZTX6tyb2aE4zH9mjoY1SVkZjb1WrN57Uaqm6ZJhHp7GLnts1QwuvHOqQV82slL/ERmYx+yj/Uj+Bos4rxGbBeIYkBN9ZMJaHfSFWt3li26hL1LC+edSKq1q88oRtiS+DU7OeVF/A1Q5eCdmYiGv06hI89GGelRv9B0UMMEx1Tivmj8oWGMd51U69la7O3eCZDcMORNehP071XJXJU9W2GrvsUc2wilZx0N54zuRMrfzxObo/BD8r+qnp1BUlo/+jiO+qMsR8t90qG8dS9YMDZ3r3ns/VYXzjHWOMb3wGCs+L8dnRop9/5MRjQLRD6tnRWNxJjanoS+8jn8dpxcUkUw3h8Rn7PPIbnZLT36GcfiEnhnWxwDJ6NYYe51cDTcVziW5zRDXGzegfPz+XnvUKWkyqmmoFeoeQVk3IX1RNGN5wNs6/5YHDjUsIq+wmE/IXvVmqdM8TH6Mz+u+3wm6Hrw2+NeUVmYpH2N6aEV4IIXqETR044tcG+YKUZoinP934ufv+6gPvXJYRv+nCz7i5qjB4iaDv8JdM3xwbVqnXBvmVwtRfMq143PzNKfZDfHUkml8b7OS1oNsrYqW8NjjeMYmXAGqtiy1wWHamdbE4U+8CXWwoNK0LdLHh0yyhS6w/wL6T+xbUPXa44UwdoljToZw1Qs54H6JYQ3KKNs6bc0Z4sK2raU6e7PdSeJPySbh85tzWZ7VkWNS/ZyE+7mD98Gg/0mwq0G8V+Ccf7ecyYzmVzreAjEAYeeIxidFf1NKhn3Qt2dfIo/18EDo2XqkoN3nnwvC9XundRPK4fNWO3PN2Pv+es9r7ycLo0mNeuw2K6+h7lSP3FUcnd5lX3CUyLQ9/EYon7dgaeGK+G7DuBzpOavKNL7yVOXKPdXU35eFo6x6QzXW+ScixsvUI+s2EtUnwWb20k6c2WniGovjy7xcIHs8XttmOHlixK3YrLkQl/xKZ4ddDR23odDSKLSDnicu+VeiijsHxon3VK2Lzzzscsbyurs0/3+SItdEJK09e9prAmsD6YcRKeekb+wPrc8/UbFPJWduhnLVCzqDgq9r3NSI6n+kXcItmf4/N0TJTZ39G/2mY/b1izmid1ewvT2qmjfVgGMzb4SbqgNpERbvyJqpa4UT63a2/sWN8yhdS6+h1VEexI7+oD5+D+xDU0RM0Q8dV3ZRrP5U8boepR9uN/s0wQ48dbd9QIC/114GN/mdB3hk42j5D+R3GmZSjsiqexeKFWi1Th4f4qCzamMdsZY+9q6OysWPvRv8u4Q/cF7FvFOmn7OZ8VLbo1xKmC/5AvBk9m16AZTj5M1wASTkqq870cYj4NWHyWJXlaeKo7A/dUdnrCtTIBH8grEw8C6H9UVnuVWImVqaq+pLFR4VLxyJs7IpUNRLA6o0dleUfklDX+bIc9fJHnrhHM/rfT+zRnEZSskdDG3GPlrpyYvTtjjtxU4u9VKhmNqnNMPWoLI/UvI8msn+pF5HV0a/YqNrpaOJANx9N5Gs9sTu6k+SkHmltd5TxsYJ9tSJc3ue6BbDUajIfNzT6/yligGGqMwAxf1T+q64LVcf/Od6h7rGj20bXoT9OUf6I5U+Z5cXOvaS2VfUiKV+1h31B7Dr6sv6I+5pNmvFh7FhNMsuuPCB/7HdU+zuU0y/kxLBWC6xYWxjnY4am4iKi2xxRjXEz+sfPF9GzXkGLSVXTzQV6h5BWTcgfc4fxWPBSci7qUM5FQg4ff5ndGvp2eGv2q2Obb53evJ8RXgh6NlX0W2Sol9pMSzlu+Lsr1r3mndt+ZmMs7MaGhOp3ky4S9GYr3NQuYatXqq7JZKvjhnwUEbsX00EdN6x4HPKVKfZDfHU/DW/slb3xGPPuqIhlxw3VLexnKmbwccMFrbasjtWdKV3sCNHSLtDFjhueexZ1UXLWdihnrZCjNgSygr8mh5+xHKVzu0X/tXNHeLKg35yLLfob/S/PG+G7NLI8UzScwjEEHkTh9m7y8Fie+p1A1u+54FN8LG8TlRnLqXTG305luXnaXqDDC6nvrti/ymN5PA3CVWJuJ+qAkLpZVrUTozvTB8X4OCseFOPDSbshjw+RDUHeJMq7F/J2UN59kMfLmJh4SRNtlPveuxaN4DJdIJllD5+pJb9L4TPmma78jOse+WNHlzd1KGeTkKOWPnG8GjuMZv5Z8Uho8o4AvxZT8fWf0zsCsfuFnlas9VeNmXm6j3lFx6FRzqVCTlm9xuGH9C4kuqIfV8oEbkb/+PmF9KxoGmvfz+bbAWeqieGQpN3wYQ8NH2Kn+rnrRPpfmzvC9yB85p0exOK3OdCOd5D+6pxNvyj7eIQIw6+TLlVDROp+fblT6kWnAjJCxWexlsJ7g8zPrb/KKfWKwX2jGnxbsjxcJ+eBAg44+UQXDqTuBzpOaqBg5Sl7Sh3r6nbKww7pDpDNdX6zkGNl6xH0GwhLbU1bvbST1yv4JhFGRs8xwtwmZNeI/lUwAbiUJgBKVplL2ZimaI/4JyOTEHz/WJWLj4HwoAfb064C+b8IkfWn5mr5Qcjn8qGv9hXoW3Sl1BvBBrGfNFT+yO+woW/ze0i3RGg5fuF35Yu3Ef2tbcrO9W/0Pxup/5uEDqZXnta30UHRKB1+Qeggeop1Bw+dLDj1weMrjuxcS1wTNwmcomTWyD3WvJetw61DPSvygLzks1ufTw9X9+8ZLjrxwmUt6kV7gk6DQeuWp7N1iGlSNXnRQ0xYvqqHmIpaaTs5HR5iKhqoqGDB/IF4M/EstNS+oP7M57P5W2KbOpRT9Goafi9aSbSK4A7iv0OAWltw52BPAWbK7oBa6TL6dpvtbEt1MCYmO3aWcmtJXdUdcHhQhVcEUb/tJXVNeQXKU9dbhK6DQjaHTizXeITO05cziDJUCZ0xuzytWOtvuakcHztDqyAqPsvC6NJjHkdI7myvp+9VpnIV9yfv5rViTGqtmPecd0PeVsobAqyyUzm8+qXMVA7r6h7Kw5vJdoNsrvPtQo6VrUfQ7ySs7YLP6qWdvFjrNgzFl3+/TvDEXuxNabV54gHITkesuwRWh2cC5qRGI8Ovh47a0OlodDfJ4/Jx2e8RujREHi8t3SPk3CPkKKxtjlg7HLF2OWJtdMIKjmWcwJrAmsD60cdSe4d8tgv7T35B+2ycz1nWoZxlQs54n89ZRuXBvpvtps4i3hWRg/x3UXlw2Rg38ubM0zLVawF52t36WyP6N8I5oPnzisuIdrZysc4dHs0fVEfzcYyTMi7BMdwNrc+qz+bb9LGu+exGUR2cQ3WgXpLfIPThl+RPQB2soDpAfpxPFLUbJY99pK+Ans/3Gf0FLZ3UC9ix16eUT6Kd1xfIWwvyYq+rOb0SMkf5HbZX9rvUcXeqn/JrSOinvEqlXvtAP+BVKuPvC7oODI/PrT9f1Hmqn3O9Gv2LEuvVKZ7MKXuhg1pNjL32qfxA/S5cI4yt86LVV8TCuk6pV7W9xvV6Q6Re1WEQ1JPr1ehvSqxXs+V41CvaKqVe1VmoWP8de00L+0m+FEHF6NiqsqpX9es5XK9bIvWqVvZjcdjot3VBHEZbpdSr2v1IrVeOw1ivfBGG2mWoGqMNKzVGG/39os55zM9xoUi/omszHS/C2F6gxmzBH4g3o2ezC7AMJ3+GC/MppyFwCZRNbvT7hMlVM0V9Uo69VnwtLHkjxPC9jr3Ghp5PK9b6q469cjOLNaUyx1gdL8K4vkCNTPAHwsrEM8zzenF3Dx21RBfimYKKfGrkb/Q2Ai0aXRhejehPRXqh2Cg4hLHReregV28RqPLvpjy1o8RysHfEyM+9o9H/RGLvaLLHo3fcDQTcOw5BXq+gZ3vfK+iHgIZXlfDti1iT3k1y2oUO9n/lp2r2rUbjsUsM2s3K2L/QJ/gNDjWbU75gdOOxUoLlYV/YDXm9gp5tE/MdtE0jtPcTbJf3kJxYXMpTzBdwdYFXw9RL/CnnTjAG4Bs7Rb/h9S4RAwzT+ze8TJ/Yb3ip36aL+aPRdfslL+12rHlFFYeafF1p7AxQO7+J9c2xtzTb/TYmD0+3AZYq70tan2tE/+GIPyobxs4AtfsNSvY53OndQXmqPpQ/Gt14/D4nlof9EXdIegU922aXoMcxF18yhbvN2ygP2zG/xYjlx9/JPWfWaDq8BCkr+Gu68rOiC5KC0IdPgKi/qXIQK3ZmDNvVpynO74A81U6uan2uEf2XYcX9/6IVd+TnN4Mt739AO3vz0mJ+/p1adfmUaiN884sqJ9K/pKCcXwA9fxHaQwij68j06rDdNcq2O9X/x9pdbOUdbaJWXPl3kFVMRp8sisl9IR4POSZ/KbJKg30R7+huLqm76k/axZFPtQ4pTiMdOJ4V9QeqrtQK1I4CrB6hP7ZbrvdeIVvR4/xUje1rkI/0/wx19dalGjMU6LC1QOe+AnqeQxv9NyNzaBUH0P/5RSKj/w5g8o9wtcNcV4D5H5Gxhmqn2MeWnYuZPspPeS6GunO/eDfIZ9obST7moZ+z3BDRl/vUdvpyf2N50+c/8zevo1rrcz/hlYzVvbG6ukbom1pXWyPlYyzjq4Wx/hhrI2iPgfkac1JJzGktHOzT1VhlJ+BPJ9kqRqplaB7ncDv8NI1JsJ/ZRvpbPzEX9I+tR/mMsbO/LXuRorJN7CLF2JgcY7jqb2ZQnvo98kzoULYvxbHpL88cjbs9gpt/Pof0aDfGe17rM8fhFaLeYzaM2bzdvMb0UXF4F+Upnz3T/ojlZ3+MlTVPKbuHOK9jf1T9h/JHHmfF/CZPMX/cDmX9aRrb7YrITC0bx9i+AvqiGPt88NWU/YGYr+4W9PcIndUa7W7Ki50yN1o1PsoTX7pt9C9NjMdO+wMzunl/gN82QBvvpjz0TT6lr9psatsw3twOD1Cs3pmImwksFSc5Vhv9xkisVm0w5v/t5sKnfww4jLUlnwJWsWocT2bN8DzpmaeqsaFB9Ggn5at8MhTLj+PCbQljgVjdtlt75dimxpGqH+Y56vaIHNRLXaS/PSJnbody5go547kGiTLV2IbLU3YtBPl5TXWHY3mUznwEI084bj1Mcxj0417By/2d0b8e5mRHW5/VXhX7Tarv8hmF2BpSCPF9L6d9hklne8zJ40qM43zOQb0zjr6HfafRBNJxPOyF7TllzqjiRsy+2CZ4LxBtuZXy0N9S3r9PHYfgXvOlM9vrr94vT/UPfk8fxyi8prZLlFf5gtGNxxjgTJ66Z1/A8cFOysP6v4vkqLGjipdcx0VjR96zMvpfLDl2jPmN59hRrfOPYwzpar+JjR3L+g3HEHUDAPbfsTWyLIzuJ1Wfa/XQbm+jB8pgz6fAc+S7ksrMYyTGfj7RWzn7CugNj8ciH4ysM+xso8MLSIddbXTYSToY/W8JHWL2z1NsTNgfxrbFEu2mlhGe6YPPEL8etH80Q1LK2H4mT/lBnrgtq/aEeTyXKfvWJWJtdsTCsWUH9VX6xm2eV2Ac4+tVd0Me3zaDqZe+Y3lyv/65pSO4TMe6Yn3hfi772E7Bq24AOVvtYWc1edH2oOYAZdsDr1s+29vDTsrrtvag1pWUjfLUDGkppb1UvHVmeWp7MXyv9qJ8T7WXDm/xaU4Pz4xjOFY9Bz6j7VDOLtKh0/qL3Zl2puuv0zvTUucmnvWHbatM/am1vznwGfOwPLG1P+Q/U2t/c0hO0drff9Dan5qbxtb+TveNC0b4vhdZ++P1PfSt2Hqd0XU4d+zt5nPBsXPq3Ld7rT8tKFh/ygD3KsHLbRvpdwk9jJ73jZmGz6+dXmto+Ze6iFn5LOpVtJ4yAzDP9Pk1tHPsXaLYeorTu0TLz/a7ROz3Q5DXbv83TzcKrJiuWzvQlesR62qIsNTtJ1ge9kujP1f45TieG1hedj1tN+SlrKe1synPadCOsXMDvJ6mYm/qehrGkP+g/kud2c8oD2Xis9iNUnyOz95Fuhzqn8/q3gl6qrh/YwHmcyOxTpUhduvJ9kiZUZ/YPcaKD9//6heymvbh+/FkeOYrk4UsPmdrtFeBnZYv1bpkrE+bFHtHpz+M9esyY96M8ELQY3rDr4extqgypldjYOX3Vr6Kc8BlOKZHP8IxfdE7C6nvFK1fMMJT1MZwnPrc1mduY7fCGPjmAswQyo/XUJ8DM0bjxtpinjp9pw9tHtub30R5as/VdFDnC5Cez04Z/Z3QNmPvMjmdJ/2Xbt7b5/dWlX+pvX32m6J3UwyvRvRDUAf8LhP+tgDvn24pqXvqmXlsG9yOU+dIsXaPep/T+szt/qFI36re04r1raovTv2NAH7XEPks3o3j3Fruy2J5uL14xy6eWyt/Vu/W4dl0jr04V95EsVe9N5Byy1PRHQPLW5/5joHHIv51Nu8YQD5r+8q/jK5D/5qp/AvLw/4Va0t5Kjuu5TtOYncMYCzkXynAOQCOQy4j/1L9JPLaT2FyP/lExF92RcqYp7J9FL/DnHq+KPaOGJ+1ulvYAfXa0/rLa0ZvTRwvOJ1nuvpsn2nm8/e7IY/f91DrmmjTovPufSFEzwvxGts7IuMFtR+s2laK7iruqvaGberPpz/zWc3zi36RRclkXux7im70K5p//rqwF8ezovfDziNMo39fJB6oPvUOeFb2nTw+26vec4qdSx+/8Xy45myv/XP/EbsTpOh8FtKinFT/Rx/6GPk/9ue3k8zYOJZ5UU6R/xfdlfCxiP+3m5cvJUyj/2TJta+Y/7cbI8TGSLFz77E7cZzG59ed7fE5+39sfI7xl2Nru1uaY/6PPvSB6aNx8V4M5bPN1me+C+bzJf0r9t5P6hg0dleNir28PqPGrlyPRf3M8jDaDkb/PxPHW053zcw62/Gc75pR49tY/ByPu2a+mrg+w2tLW0rqntresE39EvU3OPfl/mZLRCbzYrsu6m8Mj/uGb0b6G5ybqfUg7m+M/jsl5+ux/qbdfJ3Xg9SdQWouH5uvG12H7XP2eN8J2G6tjPsbdQeEahspdwKm+j/60Gtb/t+ZXU+8IgNdDLtXUNbor9FMaflkHeTb31qCHk/+wbc//6GbLnt4BvHnyeoo37PJ63/SwhEdMqCdsXBE92mwx206WOI9HLynGfupc1oYtt/UB3TNkJSeb2WZDLhWN4FwrSz9AGC+oe6LnCb40Q9Q7hKwzbyFI1iIzbrl6X7CM9pFZJvJgFeiPQeub8Sy+sG8PtB12cJqdOgLfJ6X44dhnBORVSMMjCmGl/tu1bax6Hf3fPYlf/2Pf92ubVTFf+1ltRlv2H7L+vHC/+zkf/rWp//wgZ8eL/z/p3/jdT0ffv2y8cL/uW/desWr5p/7z2Vik/nCVKA1Pmsz0+B5iTYzBfW31EvPEL9OupSUd3p/fhrJ4/LxOwYNoUuD8vLEaxENIach5ExgTWCVweLxwk7oE29tfZ4Wxsb3qaRLJnTJIrowf56qjkssry+SNzmS1x/Jq0fypkAZplLeAPBtprxBgZmX675Fz3y2WDgH6JohKT1o+swFXIttgXDN9vMAIGVshfzzCGt+GyxeV0H++YS1oA3WHYSF/AsIa2EbrNsJC/kXEtaiNlj83jbyG6+1O6unf4V2t5fGosajxqIvJzyjfZjGoosBr9OxqGENCn2ygr8hjO2P88RxAbH4DqBFQk6H5RtI0RPx66RL1XHDYpLH5eNxwxKhS4Py8sR9xBIhZ4mQM4E1gXW2sMzHsU10GkcwHiwiOXOBD9eN3kBriBh3ewXv7tZfjr1/BbH8TTSGwrhhOk4TOvP4SMWLxZHyTxVyxtvOPAaa6igHsXhNeilhoZ3ztLv11+yMsXQp8S2DPKTrBZql8HyZkK3wDaOdD75roS6b8kGUVSP63wcffDf5IPKzD6J/TqU8niujnso/sc52E73p3SfoEa9G9O9tlUXtIxg/2gr14nc2jP79gMn7CCq+4ViP18qVL6q+W9l0KWH1CCwsD+9lKZti++yh8hv9R4RNeTyG/Gq9j9+DxXWceZSHayDzKW865C2gPByLLqS8mZDH9/HNgjzuC2a3vrP/bF808rxdO8zT7tZfboefiPiWih1qDGj0TUGP8YrvVUR/alIe8rFPNiGP+6Hlre9ohyboZefkakT/abBDbM/a9OpwT2yK2hNbDgS8pn0O5PUKeq6LcwX9OUDTbH1uEL1q5ypmNOEZt3OzUZ+gR7wa0X8+0s4xTiwn3aeW1H2u0J37PW5T74qMk7ivWRKRybwopy+U60P/NtLXqLEh6sV9jdH/fSQeKFvG+hoVP5aKcimbLqM81Uep9ml04/E7dlh+bp+xsuapaqxshLHtZxHlYdtg/1drQan+jz70hoQ9Ev5rMvlZbOx8d4E+iNEfdBtshqSUvKZi+PUw1jZV1lTa1QWPX9Qckes8TzznLTsXm8CawDrTWLE106pxBOMBj7Fx3Rbns7NoHI37Er2Cd3frL6+Pv2bRCN/c1mc1n+Xx/TisGSfvNU+sGU9gTWCdvXXe8Yh9eUpZf1RrA920/lgUr1+YsO6h5gM8d3oY4vVVFK+Rn9ceVCyPrU2mxsbdRK/WytTaPK+VXdciSp0TxtYfjX49YJ7p9Ucs89laf7xN2FStPfywrD/2Uh6uP/K4Cdcf0X9s/bHq+Uw+E4M24TMxaBM+E4M24TMxaBN1JmYm5Q1A3izKG4S82WCH+8gOWOd8xhTXIiZHyjqF8tTZVGXbfspDGw1QHsa4PsrDOqlTHtrWbGL38rSLx3na3frL8fhQJMaoPkTNm42+Keix3zJ9PNeheU1veet72XXoE2CHiXXo0Vhnah36VZF4H1uHXlRS916hu2qf2KZeGJlbpow5EJd/y0r1j2osxP3jE5Exh5pPx8YcRv/TZ3HMofYA1BkIHM8bNmOOxzo0lp/bZ6yseSq7Rm9laoSx8ZDXqNH/l5CcuUJOqv+jD9l6TdX3At76yYvW//PtX19a5b0APIdrfLZWg/qUqN+Pof6W1FqN4ddJl5LyTq/V1Ekel4/v7ZtSTd7vZ8SP8hCzTvIGqsnr5f0Jrpv8n40z+wp0Md4a0X+ExnqDgqdBeXnitQrM6xXPes4S1lSBhXa0Osnb4XvpLDjbuBmS0mU8LjcMxK7oC1tT25bh10NHvn66bQ2QPC4fzxMHhS6qvl4GdJ3W/ckuxdrviHXEEeuYI5anvQ45Yg07Yh1wxBpyxPIs49Eu1eshRyzP9uhZj/scsTzb0AlHLM969PTVRx2xPP3ruCPWY45Ynn7frTHHs4ynHLHudcR63BHL016eYxNP/+rWcaGn33frWG6vI9ZhRyxPv+/WsVy3+r3n2MSzHp8NfVq3juW6NRZ6juU8Y6FnPXray9NXPcdf9zlidev462FHLM+27dmGPO3l2Q95tqFutb1n/PJcl9vviNWt/uU59u3WMaan7b36jvxz3QkrT9Z3TCvAxs9qb7QekZMJnXuFHDyjMNh6hntFhtMfxtqixD5U8u/ZG36ddCkpL4vVD5aP972mCl3UuUquq9g+JcpRWDVHLD57URNYat8vI36kV/YaCCPnH48O792/d/jktXvuPfrAhoMPBEo1+n5tgYp3Et0dBar1CtyM/vHzO+lZr6BF7GlhbNX0FegdAE/9vFFD8NcicrIO5WRCzqDg46aNrlOiqa1ObdqGXw9jy1ylaStXVXaxsteFLg3Ky9ODQFcl9GLeQUesQ45YJxyxhhyxHnLEOuqINeyIddIR67gj1l5HLM969LSXp6/uc8Ty9NX9jljdGic826On7bvVVx9xxPL0CU9f9bTXMUcszxjtOQZ41BFrryOWZxvqVv96NsSv8eiHbCyPV1Pjq7hfWDxa5iTI6yXeDGTWiH79khG+JxePlp2BbPvcT3hZKDWnWZMRXgh6DmX4ddKlpLzTc6geksfl4zlUr9ClQXl5egDoOK9XPIthHXXEesQRa9gRa58j1pAj1qOOWHsdsQ47Yh1yxOrWevT0Vc/26KnXQ45Y+x2xTjhiefrEw45Ynj5x3BHL016e8ctTr5OOWJ716KlXt/YdnvXoaXvPtu1ZxlOOWPc6Yj3uiOVpr27ttz3b9nj0tbavhvOxfpKj5j49ETnIz/Mi5Mtaf/tJP/vcDEmpJyM80xOfIX49jC1zCXlZzP7KLryniLwNyssTv9qr5GRCTiawYno5bk2bihcS3foC1TKBm9E/fn4hPVOmQGz1y2L9QpalmGkbBfx5GozIUW5vyzBTgm5+vH1etvkhv+UpOVmHcjIhh+2qlpPytKf1l38h7vbWchLeHNIr5CFWSmipuGWffBqHt+w7DS1qyz4WWvqELuwPeboL6DivVzyL+VavI5ZTVzDJ7DFJZCpbsR3Rr+6gPLxhA3/FnVMvfcfy5Pg/t3QEl+lYV/Qx01u1ZT4WU7YtI39PAZb65cQ87YR8pLebbzqs0wtUnbK/9FXETm3fsVvWuO3z8aVmiKd3rXtb/cU7h9aWbUdGP1nQq+M9ZquKt8+sGgQZgWRbnjoGZnnqtruc/03kJxV/2XpViv0QX8VHHnql1sWMoPuZPOGNNYhldAF0qkGeklMj+h+H7ZdX0Y1z3IfYs5+O0GUFf5XOqI89qwv6XkFvsqcIesvD05RoV6RBeyFWHfKR/o2tsludYEw3/oaQj20mFOhddFqUsXrFM6PPy/maJaPLUHHsktnNjnniGIF/UYbZqV/Q44ljS1z/U+B5r8CaTHxG/zaqF/R9428I+diuQ4He6masmL+qrdbcPj+zZETnOuGkxvoPXrHmBVO3rfyx8frl9Kl/8Nu3/d2/H1pZ5YY0deQ1NQ4UjSfytKv1t8O+ukf1DyGdP0sZR1TsG7+fOo4w/HrQ/UUzJKXT8wT2dy4f9/31avL+M7+l1+JJ0VwVbYdyeIzQK3jU+MEwcv7/tXR0OSrOr/6zQx/8X7y9nyc8VvGRJSO4WPaiG86xX0f6/wP69Y9CbDRc48c4Oi2MbR/cps3ePYIWP6txmLIb0lt9Fd1A2kdlNfqPwZx/xUKNmXosxeg/KdYRDFPdZqjajNHHboRDfdTbSQPEh7pjP8PPVP1kRIs65GmX0Knoe13gFOnQL3DUvLFOuqp5Cbab2K2h2G4+AnU5iX55vOKrEaXXCTLKw7LdCXSceuk76pxjvIvG4kFgKfvwfNSj77bnk+A5y+0l2j6ijd0W38k8g8cXk4QO9n1yRP+McGK3unN7U39T9c2Evqov6VQOYm1t/e2wz1sUW8PO6+GfEvo8NWbgPu8p6PO+kdjnWR6P2/K0DZ5xTOdxEGLkifctLEb2AT7S9FOZjP7bom9TMcSw8rL/G9mzH/Ji/UiN6OcsHeH7LtkT7cWv2HEcD/B9CuiCtHnaVWCDHtDj+0uKZeE8s6iMOUZtqaZDHZCOMar2a2p8xW03ZXzFbRX5lAyOx0V9t/nGQJt8dXNzEM96BH1/QXmDkF1vgztZ4Kj4Xqe8TORx7MHyYtziMQfGBYxb/xRpL1kYXa7Tfi5o+yO6TyFMNZebHNFd2Q/jR9U1hJ/80vf/4vWPLvjGeK1RvPjtx187eMX7f3O88N838GfX/N7b++8uswZi9axePWbfUmvcedoO+Uh/Ac1dK64xBC6Pihux+RmvMbP+dxTovw7i99qlo+Wp+YlqM0X976REXYz+8pZ8nNfF9iU6/AWHmvoFB4xrPN5V8VatJxp9u7ml2aQRxsZXlq32jNGmPKYxG/UFPb83PPaHq6AO+BdWVGy2PHXESPWFvH+t9h1zmh3UriqObyercYQl3vvFMqrX5Xk/mW+jxzysS15Hx6TmkFbWXOedCfvJKj5we1XrKrHxomp3ht9t7c58vxHG1gv7W6oPF43nlDy0A/bV5sNFa/LYpnHOdffSETy0O8ZT5OV4avRHIbYPUWxHG7M/qDjBuoSQdg5EzeUHBZ/VS4f7xJOwflFPfIb4al+/ylq9GpvG1uorjhNq3MeiPFUP04O2qVrP57miWu+JzZNi8US1P26bah1B9SGx+ZzJxjXzlHGTalvIy/3kSWhbb4yMm4rGRiHoeQDTx2If6qpsP4Xy1NzfPg9E5Ci9YjdKKb0wJiMvy25XhtS+ymmMOEn1VVgn3EaUXWI3TalbrvB2MW4j6ld/yvZtUyhP9fHt+rY3FvRRWA6Mfzy/VW0M+76q88MXrnjD/EV/9PLB8Zp/Tqot+vnm+3dvKDP/VHGlh3DRDrzenqdNrb8p+9wV+87k87Dcd3a6z53ad6rxOvcFuM7C573UGow6P3KmsNTchOuy4jgheRzEZxYq+k70zILq39T8iueN2P+w/Tu5RqEbsbD9x8bHKfWq5Kgx/Xjv3RX9krKHHHX1hTrL3akcdS5c7cvi/O1j1Deq9TDkLVoP+yqMMT+5dDSN6f6HQPM/aM0Ey1yiLdfVnNySWvtgv1XjQMvDsQ37B45t+B2baaADnoXgpNZTjC6X11g2gst0ltCWKe8Z8fndjPB47djoP0/1xXvxzZCW1Noxno/8UfGFKvV9fUJ9qzqOvY/Bc5vY3FStyalYWRTfEF/FpJ2Ej/aI7ZGpMhsv7r3HYhf7PtJ/DfenKR6qOa2Kwfa83Tp6bI/beDv8tdwB9mdMyp+5HajbiTm2qXbQgDyOidMhj+czmFQbMTuUiYnfLejXTAbWRZ54zqf23bG/tPJVPUOcAabpZGVHvfjdFWxPNXpW8UztadupsyU43uK1t9PrHctG46gzMLGz7+qdhF4hV53JHyiJ1U9YkzvAwnULpp9cUS+Fxe8WlHlXIGvVzZncZ56zbKRM3Cf+MOwzr23pn9tvwbLR8s70PvPSlvyJfeazt8+8GurgbO4zX0ft6tm6z1xmnDyxzzy2Xs7mPvN1Bf1Ru33mG2GMgXYvu8+8G2L7BortE/vMz6SJfeaJfeYQyu8z3w9t65HIuGlin3lsTJ7YZx6h/2HdZ36koI/CclTZZ7a+7/8HjzKT6eCnBAA=",
|
|
4342
|
-
"debug_symbols": "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"
|
|
4342
|
+
"debug_symbols": "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"
|
|
4343
4343
|
}
|
|
4344
4344
|
],
|
|
4345
4345
|
"outputs": {
|
|
@@ -4725,7 +4725,7 @@
|
|
|
4725
4725
|
},
|
|
4726
4726
|
"115": {
|
|
4727
4727
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/macros/internals_functions_generation/external/private.nr",
|
|
4728
|
-
"source": "use crate::macros::{\n internals_functions_generation::external::helpers::{\n create_authorize_once_check,
|
|
4728
|
+
"source": "use crate::macros::{\n internals_functions_generation::external::helpers::{\n create_authorize_once_check, get_abi_relevant_attributes,\n },\n utils::{\n fn_has_authorize_once, fn_has_noinitcheck, fn_has_nophasecheck, is_fn_initializer,\n is_fn_only_self, is_fn_view, module_has_initializer, module_has_storage,\n },\n};\nuse protocol_types::meta::utils::derive_serialization_quotes;\nuse std::meta::{ctstring::AsCtString, type_of};\n\npub(crate) comptime fn generate_private_external(f: FunctionDefinition) -> Quoted {\n let module_has_initializer = module_has_initializer(f.module());\n let module_has_storage = module_has_storage(f.module());\n\n // Private functions undergo a lot of transformations from their Aztec.nr form into a circuit that can be fed to the\n // Private Kernel Circuit.\n // First we change the function signature so that it also receives `PrivateContextInputs`, which contain information\n // about the execution context (e.g. the caller).\n let original_params = f.parameters();\n\n let original_params_quotes = original_params\n .map(|(param_name, param_type)| quote { $param_name: $param_type })\n .join(quote {, });\n\n let params = quote { inputs: aztec::context::inputs::private_context_inputs::PrivateContextInputs, $original_params_quotes };\n\n let mut body = f.body().as_block().unwrap();\n\n // The original params are hashed and passed to the `context` object, so that the kernel can verify we've received\n // the correct values.\n let (args_serialization, _, serialized_args_name) =\n derive_serialization_quotes(original_params, false);\n\n let storage_init = if module_has_storage {\n // Contract has Storage defined so we initialize it.\n quote {\n let storage = Storage::init(&mut context);\n }\n } else {\n // Contract does not have Storage defined, so we set storage to the unit type `()`. ContractSelf requires a\n // storage struct in its constructor. Using an Option type would lead to worse developer experience and higher\n // constraint counts so we use the unit type `()` instead.\n quote {\n let storage = ();\n }\n };\n\n let contract_self_creation = quote {\n #[allow(unused_variables)]\n let mut self = {\n $args_serialization\n let args_hash = aztec::hash::hash_args($serialized_args_name);\n let mut context = aztec::context::private_context::PrivateContext::new(inputs, args_hash);\n $storage_init\n let self_address = context.this_address();\n let call_self: CallSelf<&mut aztec::context::private_context::PrivateContext> = CallSelf { address: self_address, context: &mut context };\n let enqueue_self: EnqueueSelf<&mut aztec::context::private_context::PrivateContext> = EnqueueSelf { address: self_address, context: &mut context };\n let call_self_static: CallSelfStatic<&mut aztec::context::private_context::PrivateContext> = CallSelfStatic { address: self_address, context: &mut context };\n let enqueue_self_static: EnqueueSelfStatic<&mut aztec::context::private_context::PrivateContext> = EnqueueSelfStatic { address: self_address, context: &mut context };\n let internal: CallInternal<&mut aztec::context::private_context::PrivateContext> = CallInternal { context: &mut context };\n aztec::contract_self::ContractSelf::new_private(&mut context, storage, call_self, enqueue_self, call_self_static, enqueue_self_static, internal)\n };\n };\n\n let original_function_name = f.name();\n\n // Modifications introduced by the different marker attributes.\n let internal_check = if is_fn_only_self(f) {\n let assertion_message =\n f\"Function {original_function_name} can only be called by the same contract\";\n quote { assert(self.msg_sender().unwrap() == self.address, $assertion_message); }\n } else {\n quote {}\n };\n\n let view_check = if is_fn_view(f) {\n let assertion_message = f\"Function {original_function_name} can only be called statically\"\n .as_ctstring()\n .as_quoted_str();\n quote { assert(self.context.inputs.call_context.is_static_call, $assertion_message); }\n } else {\n quote {}\n };\n\n let (assert_initializer, mark_as_initialized) = if is_fn_initializer(f) {\n (\n quote { aztec::macros::functions::initialization_utils::assert_initialization_matches_address_preimage_private(*self.context); },\n quote { aztec::macros::functions::initialization_utils::mark_as_initialized_private(self.context); },\n )\n } else {\n (quote {}, quote {})\n };\n\n // Initialization checks are not included in contracts that don't have initializers.\n let init_check = if module_has_initializer & !is_fn_initializer(f) & !fn_has_noinitcheck(f) {\n quote { aztec::macros::functions::initialization_utils::assert_is_initialized_private(self.context); }\n } else {\n quote {}\n };\n\n // Phase checks are skipped in functions that request to manually handle phases\n let initial_phase_store = if fn_has_nophasecheck(f) {\n quote {}\n } else {\n quote { let within_revertible_phase: bool = self.context.in_revertible_phase(); }\n };\n\n let no_phase_change_check = if fn_has_nophasecheck(f) {\n quote {}\n } else {\n quote { \n assert_eq(\n within_revertible_phase,\n self.context.in_revertible_phase(),\n f\"Phase change detected on function with phase check. If this is expected, use #[nophasecheck]\",\n ); \n }\n };\n\n // Inject the authwit check if the function is marked with #[authorize_once].\n let authorize_once_check = if fn_has_authorize_once(f) {\n create_authorize_once_check(f, true)\n } else {\n quote {}\n };\n\n // Finally, we need to change the return type to be `PrivateCircuitPublicInputs`, which is what the Private Kernel\n // circuit expects.\n let return_value_var_name = quote { macro__returned__values };\n\n let return_value_type = f.return_type();\n let return_value = if body.len() == 0 {\n quote {}\n } else if return_value_type != type_of(()) {\n // The original return value is serialized and hashed before being passed to the context.\n let (body_without_return, last_body_expr) = body.pop_back();\n let return_value = last_body_expr.quoted();\n let return_value_assignment =\n quote { let $return_value_var_name: $return_value_type = $return_value; };\n\n let (return_serialization, _, serialized_return_name) =\n derive_serialization_quotes([(return_value_var_name, return_value_type)], false);\n\n body = body_without_return;\n\n quote {\n $return_value_assignment\n $return_serialization\n self.context.set_return_hash($serialized_return_name);\n }\n } else {\n let (body_without_return, last_body_expr) = body.pop_back();\n if !last_body_expr.has_semicolon()\n & last_body_expr.as_for().is_none()\n & last_body_expr.as_assert().is_none()\n & last_body_expr.as_for_range().is_none()\n & last_body_expr.as_assert_eq().is_none()\n & last_body_expr.as_let().is_none() {\n let unused_return_value_name = f\"_{return_value_var_name}\".quoted_contents();\n body = body_without_return.push_back(\n quote { let $unused_return_value_name = $last_body_expr; }.as_expr().unwrap(),\n );\n }\n quote {}\n };\n\n let context_finish = quote { self.context.finish() };\n\n // Preserve all attributes that are relevant to the function's ABI.\n let abi_relevant_attributes = get_abi_relevant_attributes(f);\n\n let fn_name = f\"__aztec_nr_internals__{original_function_name}\".quoted_contents();\n\n let to_prepend = quote {\n dep::aztec::oracle::version::assert_compatible_oracle_version();\n $contract_self_creation\n $initial_phase_store\n $assert_initializer\n $init_check\n $internal_check\n $view_check\n $authorize_once_check\n };\n\n let body_quote = body.map(|expr| expr.quoted()).join(quote { });\n\n let to_append = quote {\n $return_value\n $mark_as_initialized\n $no_phase_change_check\n $context_finish\n };\n\n quote {\n #[aztec::macros::internals_functions_generation::abi_attributes::abi_private]\n $abi_relevant_attributes\n fn $fn_name($params) -> return_data aztec::protocol_types::abis::private_circuit_public_inputs::PrivateCircuitPublicInputs {\n $to_prepend\n $body_quote\n $to_append\n }\n }\n}\n"
|
|
4729
4729
|
},
|
|
4730
4730
|
"116": {
|
|
4731
4731
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/macros/internals_functions_generation/external/public.nr",
|
|
@@ -4865,9 +4865,9 @@
|
|
|
4865
4865
|
},
|
|
4866
4866
|
"245": {
|
|
4867
4867
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/aztec-nr/aztec/src/utils/point.nr",
|
|
4868
|
-
"source": "use protocol_types::{point::Point, utils::field::sqrt};\n\n// I am storing the modulus minus 1 divided by 2 here because full modulus would throw \"String literal too large\" error\n// Full modulus is 21888242871839275222246405745257275088548364400416034343698204186575808495617\nglobal BN254_FR_MODULUS_DIV_2: Field =\n 10944121435919637611123202872628637544274182200208017171849102093287904247808;\n\n
|
|
4868
|
+
"source": "use protocol_types::{point::Point, utils::field::sqrt};\n\n// I am storing the modulus minus 1 divided by 2 here because full modulus would throw \"String literal too large\" error\n// Full modulus is 21888242871839275222246405745257275088548364400416034343698204186575808495617\nglobal BN254_FR_MODULUS_DIV_2: Field =\n 10944121435919637611123202872628637544274182200208017171849102093287904247808;\n\n/**\n * Returns: true if p.y <= MOD_DIV_2, else false.\n */\npub fn get_sign_of_point(p: Point) -> bool {\n // We store only a \"sign\" of the y coordinate because the rest can be derived from the x coordinate. To get\n // the sign we check if the y coordinate is less or equal than the field's modulus minus 1 divided by 2.\n // Ideally we'd do `y <= MOD_DIV_2`, but there's no `lte` function, so instead we do `!(y > MOD_DIV_2)`, which is\n // equivalent, and then rewrite that as `!(MOD_DIV_2 < y)`, since we also have no `gt` function.\n !BN254_FR_MODULUS_DIV_2.lt(p.y)\n}\n\n/// Returns a `Point` in the Grumpkin curve given its x coordinate.\n///\n/// Because not all values in the field are valid x coordinates of points in the curve (i.e. there\n/// is no corresponding y value in the field that satisfies the curve equation), it may not be\n/// possible to reconstruct a `Point`. `Option::none()` is returned in such cases.\npub fn point_from_x_coord(x: Field) -> Option<Point> {\n // y ^ 2 = x ^ 3 - 17\n let rhs = x * x * x - 17;\n sqrt(rhs).map(|y| Point { x, y, is_infinite: false })\n}\n\n/// Returns a `Point` in the Grumpkin curve given its x coordinate and sign for the y coordinate.\n///\n/// Because not all values in the field are valid x coordinates of points in the curve (i.e. there\n/// is no corresponding y value in the field that satisfies the curve equation), it may not be\n/// possible to reconstruct a `Point`. `Option::none()` is returned in such cases.\n///\n/// @param x - The x coordinate of the point\n/// @param sign - The \"sign\" of the y coordinate - determines whether y <= (Fr.MODULUS - 1) / 2\npub fn point_from_x_coord_and_sign(x: Field, sign: bool) -> Option<Point> {\n // y ^ 2 = x ^ 3 - 17\n let rhs = x * x * x - 17;\n\n sqrt(rhs).map(|y| {\n // If there is a square root, we need to ensure it has the correct \"sign\"\n let y_is_positive = !BN254_FR_MODULUS_DIV_2.lt(y);\n let final_y = if y_is_positive == sign { y } else { -y };\n Point { x, y: final_y, is_infinite: false }\n })\n}\n\nmod test {\n use crate::utils::point::{\n BN254_FR_MODULUS_DIV_2, get_sign_of_point, point_from_x_coord, point_from_x_coord_and_sign,\n };\n use dep::protocol_types::point::Point;\n use dep::protocol_types::utils::field::pow;\n\n #[test]\n unconstrained fn test_point_from_x_coord_and_sign() {\n // Test positive y coordinate\n let x = 0x1af41f5de96446dc3776a1eb2d98bb956b7acd9979a67854bec6fa7c2973bd73;\n let sign = true;\n let p = point_from_x_coord_and_sign(x, sign).unwrap();\n\n assert_eq(p.x, x);\n assert_eq(p.y, 0x07fc22c7f2c7057571f137fe46ea9c95114282bc95d37d71ec4bfb88de457d4a);\n assert_eq(p.is_infinite, false);\n\n // Test negative y coordinate\n let x2 = 0x247371652e55dd74c9af8dbe9fb44931ba29a9229994384bd7077796c14ee2b5;\n let sign2 = false;\n let p2 = point_from_x_coord_and_sign(x2, sign2).unwrap();\n\n assert_eq(p2.x, x2);\n assert_eq(p2.y, 0x26441aec112e1ae4cee374f42556932001507ad46e255ffb27369c7e3766e5c0);\n assert_eq(p2.is_infinite, false);\n }\n\n #[test]\n unconstrained fn test_point_from_x_coord_valid() {\n // x = 8 is a known quadratic residue - should give a valid point\n let result = point_from_x_coord(Field::from(8));\n assert(result.is_some());\n\n let point = result.unwrap();\n assert_eq(point.x, Field::from(8));\n // Check curve equation y^2 = x^3 - 17\n assert_eq(pow(point.y, 2), pow(point.x, 3) - 17);\n }\n\n #[test]\n unconstrained fn test_point_from_x_coord_invalid() {\n // x = 3 is a non-residue for this curve - should give None\n let x = Field::from(3);\n let maybe_point = point_from_x_coord(x);\n assert(maybe_point.is_none());\n }\n\n #[test]\n unconstrained fn test_both_roots_satisfy_curve() {\n // Derive a point from x = 8 (known to be valid from test_point_from_x_coord_valid)\n let x: Field = 8;\n let point = point_from_x_coord(x).unwrap();\n\n // Check y satisfies curve equation\n assert_eq(point.y * point.y, x * x * x - 17);\n\n // Check -y also satisfies curve equation\n let neg_y = 0 - point.y;\n assert_eq(neg_y * neg_y, x * x * x - 17);\n\n // Verify they are different (unless y = 0)\n assert(point.y != neg_y);\n }\n\n #[test]\n unconstrained fn test_point_from_x_coord_and_sign_invalid() {\n // x = 3 has no valid point on the curve (from test_point_from_x_coord_invalid)\n let x = Field::from(3);\n let result_positive = point_from_x_coord_and_sign(x, true);\n let result_negative = point_from_x_coord_and_sign(x, false);\n\n assert(result_positive.is_none());\n assert(result_negative.is_none());\n }\n\n #[test]\n unconstrained fn test_get_sign_of_point() {\n // Derive a point from x = 8, then test both possible y values\n let point = point_from_x_coord(8).unwrap();\n let neg_point = Point { x: point.x, y: 0 - point.y, is_infinite: false };\n\n // One should be \"positive\" (y <= MOD_DIV_2) and one \"negative\"\n let sign1 = get_sign_of_point(point);\n let sign2 = get_sign_of_point(neg_point);\n assert(sign1 != sign2);\n\n // y = 0 should return true (0 <= MOD_DIV_2)\n let zero_y_point = Point { x: 0, y: 0, is_infinite: false };\n assert(get_sign_of_point(zero_y_point) == true);\n\n // y = MOD_DIV_2 should return true (exactly at boundary)\n let boundary_point = Point { x: 0, y: BN254_FR_MODULUS_DIV_2, is_infinite: false };\n assert(get_sign_of_point(boundary_point) == true);\n\n // y = MOD_DIV_2 + 1 should return false (just over boundary)\n let over_boundary_point = Point { x: 0, y: BN254_FR_MODULUS_DIV_2 + 1, is_infinite: false };\n assert(get_sign_of_point(over_boundary_point) == false);\n }\n\n #[test]\n unconstrained fn test_point_from_x_coord_zero() {\n // x = 0: y^2 = 0^3 - 17 = -17, which is not a quadratic residue in BN254 scalar field\n let result = point_from_x_coord(0);\n assert(result.is_none());\n }\n\n #[test]\n unconstrained fn test_bn254_fr_modulus_div_2() {\n // Verify that BN254_FR_MODULUS_DIV_2 == (p - 1) / 2\n // This means: 2 * BN254_FR_MODULUS_DIV_2 + 1 == p == 0 (in the field)\n assert_eq(2 * BN254_FR_MODULUS_DIV_2 + 1, 0);\n }\n\n}\n"
|
|
4869
4869
|
},
|
|
4870
|
-
"
|
|
4870
|
+
"255": {
|
|
4871
4871
|
"path": "/home/aztec-dev/nargo/github.com/noir-lang/poseidon/v0.1.1/src/poseidon2.nr",
|
|
4872
4872
|
"source": "use std::default::Default;\nuse std::hash::Hasher;\n\ncomptime global RATE: u32 = 3;\n\npub struct Poseidon2 {\n cache: [Field; 3],\n state: [Field; 4],\n cache_size: u32,\n squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2 {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n Poseidon2::hash_internal(input, message_size, message_size != N)\n }\n\n pub(crate) fn new(iv: Field) -> Poseidon2 {\n let mut result =\n Poseidon2 { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = crate::poseidon2_permutation(self.state, 4);\n }\n\n fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(\n input: [Field; N],\n in_len: u32,\n is_variable_length: bool,\n ) -> Field {\n let two_pow_64 = 18446744073709551616;\n let iv: Field = (in_len as Field) * two_pow_64;\n let mut sponge = Poseidon2::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n\npub struct Poseidon2Hasher {\n _state: [Field],\n}\n\nimpl Hasher for Poseidon2Hasher {\n fn finish(self) -> Field {\n let iv: Field = (self._state.len() as Field) * 18446744073709551616; // iv = (self._state.len() << 64)\n let mut sponge = Poseidon2::new(iv);\n for i in 0..self._state.len() {\n sponge.absorb(self._state[i]);\n }\n sponge.squeeze()\n }\n\n fn write(&mut self, input: Field) {\n self._state = self._state.push_back(input);\n }\n}\n\nimpl Default for Poseidon2Hasher {\n fn default() -> Self {\n Poseidon2Hasher { _state: &[] }\n }\n}\n"
|
|
4873
4873
|
},
|
|
@@ -4875,47 +4875,47 @@
|
|
|
4875
4875
|
"path": "std/array/mod.nr",
|
|
4876
4876
|
"source": "use crate::cmp::{Eq, Ord};\nuse crate::convert::From;\nuse crate::runtime::is_unconstrained;\n\nmod check_shuffle;\nmod quicksort;\n\nimpl<T, let N: u32> [T; N] {\n /// Returns the length of this array.\n ///\n /// ```noir\n /// fn len(self) -> Field\n /// ```\n ///\n /// example\n ///\n /// ```noir\n /// fn main() {\n /// let array = [42, 42];\n /// assert(array.len() == 2);\n /// }\n /// ```\n #[builtin(array_len)]\n pub fn len(self) -> u32 {}\n\n /// Returns this array as a slice.\n ///\n /// ```noir\n /// let array = [1, 2];\n /// let slice = array.as_slice();\n /// assert_eq(slice, &[1, 2]);\n /// ```\n #[builtin(as_slice)]\n pub fn as_slice(self) -> [T] {}\n\n /// Applies a function to each element of this array, returning a new array containing the mapped elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let b = a.map(|a| a * 2);\n /// assert_eq(b, [2, 4, 6]);\n /// ```\n pub fn map<U, Env>(self, f: fn[Env](T) -> U) -> [U; N] {\n let uninitialized = crate::mem::zeroed();\n let mut ret = [uninitialized; N];\n\n for i in 0..self.len() {\n ret[i] = f(self[i]);\n }\n\n ret\n }\n\n /// Applies a function to each element of this array along with its index,\n /// returning a new array containing the mapped elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let b = a.mapi(|i, a| i + a * 2);\n /// assert_eq(b, [2, 5, 8]);\n /// ```\n pub fn mapi<U, Env>(self, f: fn[Env](u32, T) -> U) -> [U; N] {\n let uninitialized = crate::mem::zeroed();\n let mut ret = [uninitialized; N];\n\n for i in 0..self.len() {\n ret[i] = f(i, self[i]);\n }\n\n ret\n }\n\n /// Applies a function to each element of this array.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let mut b = [0; 3];\n /// let mut i = 0;\n /// a.for_each(|x| {\n /// b[i] = x;\n /// i += 1;\n /// });\n /// assert_eq(a, b);\n /// ```\n pub fn for_each<Env>(self, f: fn[Env](T) -> ()) {\n for i in 0..self.len() {\n f(self[i]);\n }\n }\n\n /// Applies a function to each element of this array along with its index.\n ///\n /// Example:\n ///\n /// ```rust\n /// let a = [1, 2, 3];\n /// let mut b = [0; 3];\n /// a.for_eachi(|i, x| {\n /// b[i] = x;\n /// });\n /// assert_eq(a, b);\n /// ```\n pub fn for_eachi<Env>(self, f: fn[Env](u32, T) -> ()) {\n for i in 0..self.len() {\n f(i, self[i]);\n }\n }\n\n /// Applies a function to each element of the array, returning the final accumulated value. The first\n /// parameter is the initial value.\n ///\n /// This is a left fold, so the given function will be applied to the accumulator and first element of\n /// the array, then the second, and so on. For a given call the expected result would be equivalent to:\n ///\n /// ```rust\n /// let a1 = [1];\n /// let a2 = [1, 2];\n /// let a3 = [1, 2, 3];\n ///\n /// let f = |a, b| a - b;\n /// a1.fold(10, f); //=> f(10, 1)\n /// a2.fold(10, f); //=> f(f(10, 1), 2)\n /// a3.fold(10, f); //=> f(f(f(10, 1), 2), 3)\n ///\n /// assert_eq(a3.fold(10, f), 10 - 1 - 2 - 3);\n /// ```\n pub fn fold<U, Env>(self, mut accumulator: U, f: fn[Env](U, T) -> U) -> U {\n for elem in self {\n accumulator = f(accumulator, elem);\n }\n accumulator\n }\n\n /// Same as fold, but uses the first element as the starting element.\n ///\n /// Requires the input array to be non-empty.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [1, 2, 3, 4];\n /// let reduced = arr.reduce(|a, b| a + b);\n /// assert(reduced == 10);\n /// }\n /// ```\n pub fn reduce<Env>(self, f: fn[Env](T, T) -> T) -> T {\n let mut accumulator = self[0];\n for i in 1..self.len() {\n accumulator = f(accumulator, self[i]);\n }\n accumulator\n }\n\n /// Returns true if all the elements in this array satisfy the given predicate.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [2, 2, 2, 2, 2];\n /// let all = arr.all(|a| a == 2);\n /// assert(all);\n /// }\n /// ```\n pub fn all<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = true;\n for elem in self {\n ret &= predicate(elem);\n }\n ret\n }\n\n /// Returns true if any of the elements in this array satisfy the given predicate.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr = [2, 2, 2, 2, 5];\n /// let any = arr.any(|a| a == 5);\n /// assert(any);\n /// }\n /// ```\n pub fn any<Env>(self, predicate: fn[Env](T) -> bool) -> bool {\n let mut ret = false;\n for elem in self {\n ret |= predicate(elem);\n }\n ret\n }\n\n /// Concatenates this array with another array.\n ///\n /// Example:\n ///\n /// ```noir\n /// fn main() {\n /// let arr1 = [1, 2, 3, 4];\n /// let arr2 = [6, 7, 8, 9, 10, 11];\n /// let concatenated_arr = arr1.concat(arr2);\n /// assert(concatenated_arr == [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n /// }\n /// ```\n pub fn concat<let M: u32>(self, array2: [T; M]) -> [T; N + M] {\n let mut result = [crate::mem::zeroed(); N + M];\n for i in 0..N {\n result[i] = self[i];\n }\n for i in 0..M {\n result[i + N] = array2[i];\n }\n result\n }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n T: Ord + Eq,\n{\n /// Returns a new sorted array. The original array remains untouched. Notice that this function will\n /// only work for arrays of fields or integers, not for any arbitrary type. This is because the sorting\n /// logic it uses internally is optimized specifically for these values. If you need a sort function to\n /// sort any type, you should use the [`Self::sort_via`] function.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let arr = [42, 32];\n /// let sorted = arr.sort();\n /// assert(sorted == [32, 42]);\n /// }\n /// ```\n pub fn sort(self) -> Self {\n self.sort_via(|a, b| a <= b)\n }\n}\n\nimpl<T, let N: u32> [T; N]\nwhere\n T: Eq,\n{\n /// Returns a new sorted array by sorting it with a custom comparison function.\n /// The original array remains untouched.\n /// The ordering function must return true if the first argument should be sorted to be before the second argument or is equal to the second argument.\n ///\n /// Using this method with an operator like `<` that does not return `true` for equal values will result in an assertion failure for arrays with equal elements.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let arr = [42, 32]\n /// let sorted_ascending = arr.sort_via(|a, b| a <= b);\n /// assert(sorted_ascending == [32, 42]); // verifies\n ///\n /// let sorted_descending = arr.sort_via(|a, b| a >= b);\n /// assert(sorted_descending == [32, 42]); // does not verify\n /// }\n /// ```\n pub fn sort_via<Env>(self, ordering: fn[Env](T, T) -> bool) -> Self {\n // Safety: `sorted` array is checked to be:\n // a. a permutation of `input`'s elements\n // b. satisfying the predicate `ordering`\n let sorted = unsafe { quicksort::quicksort(self, ordering) };\n\n if !is_unconstrained() {\n for i in 0..N - 1 {\n assert(\n ordering(sorted[i], sorted[i + 1]),\n \"Array has not been sorted correctly according to `ordering`.\",\n );\n }\n check_shuffle::check_shuffle(self, sorted);\n }\n sorted\n }\n}\n\nimpl<let N: u32> [u8; N] {\n /// Converts a byte array of type `[u8; N]` to a string. Note that this performs no UTF-8 validation -\n /// the given array is interpreted as-is as a string.\n ///\n /// Example:\n ///\n /// ```rust\n /// fn main() {\n /// let hi = [104, 105].as_str_unchecked();\n /// assert_eq(hi, \"hi\");\n /// }\n /// ```\n #[builtin(array_as_str_unchecked)]\n pub fn as_str_unchecked(self) -> str<N> {}\n}\n\nimpl<let N: u32> From<str<N>> for [u8; N] {\n /// Returns an array of the string bytes.\n fn from(s: str<N>) -> Self {\n s.as_bytes()\n }\n}\n\nmod test {\n #[test]\n fn map_empty() {\n assert_eq([].map(|x| x + 1), []);\n }\n\n global arr_with_100_values: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2, 54,\n 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41, 19, 98,\n 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21, 43, 86, 35,\n 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15, 127, 81, 30, 8,\n 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n global expected_with_100_values: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30, 32,\n 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58, 61, 62,\n 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82, 84, 84, 86,\n 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114, 114, 116, 118,\n 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n fn sort_u32(a: u32, b: u32) -> bool {\n a <= b\n }\n\n #[test]\n fn test_sort() {\n let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n let sorted = arr.sort();\n\n let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_100_values() {\n let mut arr: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n 54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n 19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n 43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n 127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n\n let sorted = arr.sort();\n\n let expected: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n 32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n 61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n 84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n 114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_100_values_comptime() {\n let sorted = arr_with_100_values.sort();\n assert(sorted == expected_with_100_values);\n }\n\n #[test]\n fn test_sort_via() {\n let mut arr: [u32; 7] = [3, 6, 8, 10, 1, 2, 1];\n\n let sorted = arr.sort_via(sort_u32);\n\n let expected: [u32; 7] = [1, 1, 2, 3, 6, 8, 10];\n assert(sorted == expected);\n }\n\n #[test]\n fn test_sort_via_100_values() {\n let mut arr: [u32; 100] = [\n 42, 123, 87, 93, 48, 80, 50, 5, 104, 84, 70, 47, 119, 66, 71, 121, 3, 29, 42, 118, 2,\n 54, 89, 44, 81, 0, 26, 106, 68, 96, 84, 48, 95, 54, 45, 32, 89, 100, 109, 19, 37, 41,\n 19, 98, 53, 114, 107, 66, 6, 74, 13, 19, 105, 64, 123, 28, 44, 50, 89, 58, 123, 126, 21,\n 43, 86, 35, 21, 62, 82, 0, 108, 120, 72, 72, 62, 80, 12, 71, 70, 86, 116, 73, 38, 15,\n 127, 81, 30, 8, 125, 28, 26, 69, 114, 63, 27, 28, 61, 42, 13, 32,\n ];\n\n let sorted = arr.sort_via(sort_u32);\n\n let expected: [u32; 100] = [\n 0, 0, 2, 3, 5, 6, 8, 12, 13, 13, 15, 19, 19, 19, 21, 21, 26, 26, 27, 28, 28, 28, 29, 30,\n 32, 32, 35, 37, 38, 41, 42, 42, 42, 43, 44, 44, 45, 47, 48, 48, 50, 50, 53, 54, 54, 58,\n 61, 62, 62, 63, 64, 66, 66, 68, 69, 70, 70, 71, 71, 72, 72, 73, 74, 80, 80, 81, 81, 82,\n 84, 84, 86, 86, 87, 89, 89, 89, 93, 95, 96, 98, 100, 104, 105, 106, 107, 108, 109, 114,\n 114, 116, 118, 119, 120, 121, 123, 123, 123, 125, 126, 127,\n ];\n assert(sorted == expected);\n }\n\n #[test]\n fn mapi_empty() {\n assert_eq([].mapi(|i, x| i * x + 1), []);\n }\n\n #[test]\n fn for_each_empty() {\n let empty_array: [Field; 0] = [];\n empty_array.for_each(|_x| assert(false));\n }\n\n #[test]\n fn for_eachi_empty() {\n let empty_array: [Field; 0] = [];\n empty_array.for_eachi(|_i, _x| assert(false));\n }\n\n #[test]\n fn map_example() {\n let a = [1, 2, 3];\n let b = a.map(|a| a * 2);\n assert_eq(b, [2, 4, 6]);\n }\n\n #[test]\n fn mapi_example() {\n let a = [1, 2, 3];\n let b = a.mapi(|i, a| i + a * 2);\n assert_eq(b, [2, 5, 8]);\n }\n\n #[test]\n fn for_each_example() {\n let a = [1, 2, 3];\n let mut b = [0, 0, 0];\n let b_ref = &mut b;\n let mut i = 0;\n let i_ref = &mut i;\n a.for_each(|x| {\n b_ref[*i_ref] = x * 2;\n *i_ref += 1;\n });\n assert_eq(b, [2, 4, 6]);\n assert_eq(i, 3);\n }\n\n #[test]\n fn for_eachi_example() {\n let a = [1, 2, 3];\n let mut b = [0, 0, 0];\n let b_ref = &mut b;\n a.for_eachi(|i, a| { b_ref[i] = i + a * 2; });\n assert_eq(b, [2, 5, 8]);\n }\n\n #[test]\n fn concat() {\n let arr1 = [1, 2, 3, 4];\n let arr2 = [6, 7, 8, 9, 10, 11];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1, 2, 3, 4, 6, 7, 8, 9, 10, 11]);\n }\n\n #[test]\n fn concat_zero_length_with_something() {\n let arr1 = [];\n let arr2 = [1];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1]);\n }\n\n #[test]\n fn concat_something_with_zero_length() {\n let arr1 = [1];\n let arr2 = [];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, [1]);\n }\n\n #[test]\n fn concat_zero_lengths() {\n let arr1: [Field; 0] = [];\n let arr2: [Field; 0] = [];\n let concatenated_arr = arr1.concat(arr2);\n assert_eq(concatenated_arr, []);\n }\n}\n"
|
|
4877
4877
|
},
|
|
4878
|
-
"
|
|
4878
|
+
"334": {
|
|
4879
4879
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/debug_log.nr",
|
|
4880
4880
|
"source": "// TODO: Expose other wrapped functions than debug (info, warn)\n// ['silent', 'fatal', 'error', 'warn', 'info', 'verbose', 'debug', 'trace']\n\npub global SILENT_LOG_LEVEL: u8 = 0;\npub global FATAL_LOG_LEVEL: u8 = 1;\npub global ERROR_LOG_LEVEL: u8 = 2;\npub global WARN_LOG_LEVEL: u8 = 3;\npub global INFO_LOG_LEVEL: u8 = 4;\npub global VERBOSE_LOG_LEVEL: u8 = 5;\npub global DEBUG_LOG_LEVEL: u8 = 6;\npub global TRACE_LOG_LEVEL: u8 = 7;\n\n/// Utility function to console.log data in the acir simulator.\n/// Example:\n/// debug_log(\"blah blah this is a debug string\");\npub fn debug_log<let N: u32>(msg: str<N>) {\n debug_log_format(msg, []);\n}\n\n/// Same as debug_log, but allows to customize the log level.\n/// Consider changing just to 'log'\npub fn debug_log_with_level<let N: u32>(log_level: u8, msg: str<N>) {\n debug_log_format_with_level(log_level, msg, []);\n}\n\n/// Utility function to console.log data in the acir simulator. This variant receives a format string in which the\n/// `${k}` tokens will be replaced with the k-eth value in the `args` array.\n/// Examples:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole array: {}\", [e1, e2, e3, e4]);\npub fn debug_log_format<let M: u32, let N: u32>(msg: str<M>, args: [Field; N]) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe\n // to call.\n unsafe { debug_log_array_oracle_wrapper(DEBUG_LOG_LEVEL, msg, args) };\n}\n\n/// Same as debug_log_format, but allows to customize the log level.\n/// Consider changing just to 'log_format'\npub fn debug_log_format_with_level<let M: u32, let N: u32>(\n log_level: u8,\n msg: str<M>,\n args: [Field; N],\n) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe\n // to call.\n unsafe { debug_log_array_oracle_wrapper(log_level, msg, args) };\n}\n\n/// Utility function to console.log data in the acir simulator. This variant receives a format string in which the\n/// `${k}` tokens will be replaced with the k-eth value in the `args` slice.\n/// Examples:\n/// debug_log_format(\"get_2(slot:{0}) =>\\n\\t0:{1}\\n\\t1:{2}\", [storage_slot, note0_hash, note1_hash]);\n/// debug_log_format(\"whole slice: {}\", [e1, e2, e3, e4]);\npub fn debug_log_format_slice<let M: u32>(log_level: u8, msg: str<M>, args: [Field]) {\n // Safety: This oracle call returns nothing: we only call it for its side effects. It is therefore always safe\n // to call.\n unsafe { debug_log_slice_oracle_wrapper(log_level, msg, args) };\n}\n\n// We provide two versions of the debug log oracle: one that takes args as a slice and another one that takes args as an array.\n// We do this since conversion from array to slice generates overhead in public functions, since opcodes need to be emitted for the conversion.\n// By exposing the two flavors, we avoid conversions since the AVM is able to handle both arrays an slices in this oracle.\n\nunconstrained fn debug_log_slice_oracle_wrapper<let M: u32>(\n log_level: u8,\n msg: str<M>,\n args: [Field],\n) {\n debug_log_slice_oracle(log_level, msg, args);\n}\n\n// WARNING: sometimes when using debug logs the ACVM errors with: `thrown: \"solver opcode resolution error: cannot solve opcode: expression has too many unknowns x155\"`\n#[oracle(utilityDebugLog)]\nunconstrained fn debug_log_slice_oracle<let M: u32>(log_level: u8, msg: str<M>, args: [Field]) {}\n\nunconstrained fn debug_log_array_oracle_wrapper<let M: u32, let N: u32>(\n log_level: u8,\n msg: str<M>,\n args: [Field; N],\n) {\n debug_log_array_oracle(log_level, msg, N, args);\n}\n\n#[oracle(utilityDebugLog)]\nunconstrained fn debug_log_array_oracle<let M: u32, let N: u32>(\n log_level: u8,\n msg: str<M>,\n length: u32,\n args: [Field; N],\n) {}\n"
|
|
4881
4881
|
},
|
|
4882
|
-
"
|
|
4882
|
+
"345": {
|
|
4883
4883
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/hash.nr",
|
|
4884
4884
|
"source": "mod poseidon2_chunks;\n\nuse crate::{\n abis::{\n contract_class_function_leaf_preimage::ContractClassFunctionLeafPreimage,\n function_selector::FunctionSelector,\n note_hash::NoteHash,\n nullifier::Nullifier,\n private_log::{PrivateLog, PrivateLogData},\n transaction::tx_request::TxRequest,\n },\n address::{AztecAddress, EthAddress},\n constants::{\n CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, DOM_SEP__NOTE_HASH_NONCE, DOM_SEP__OUTER_NULLIFIER,\n DOM_SEP__SILOED_NOTE_HASH, DOM_SEP__UNIQUE_NOTE_HASH, FUNCTION_TREE_HEIGHT,\n NULL_MSG_SENDER_CONTRACT_ADDRESS, TWO_POW_64,\n },\n merkle_tree::root_from_sibling_path,\n messaging::l2_to_l1_message::L2ToL1Message,\n poseidon2::Poseidon2Sponge,\n side_effect::{Counted, Scoped},\n traits::{FromField, Hash, ToField},\n utils::field::{field_from_bytes, field_from_bytes_32_trunc},\n};\n\npub use poseidon2_chunks::poseidon2_absorb_in_chunks_existing_sponge;\nuse poseidon2_chunks::poseidon2_absorb_in_chunks;\nuse std::embedded_curve_ops::EmbeddedCurveScalar;\n\npub fn sha256_to_field<let N: u32>(bytes_to_hash: [u8; N]) -> Field {\n let sha256_hashed = sha256::digest(bytes_to_hash);\n let hash_in_a_field = field_from_bytes_32_trunc(sha256_hashed);\n\n hash_in_a_field\n}\n\npub fn private_functions_root_from_siblings(\n selector: FunctionSelector,\n vk_hash: Field,\n function_leaf_index: Field,\n function_leaf_sibling_path: [Field; FUNCTION_TREE_HEIGHT],\n) -> Field {\n let function_leaf_preimage = ContractClassFunctionLeafPreimage { selector, vk_hash };\n let function_leaf = function_leaf_preimage.hash();\n root_from_sibling_path(\n function_leaf,\n function_leaf_index,\n function_leaf_sibling_path,\n )\n}\n\npub fn compute_note_hash_nonce(first_nullifier_in_tx: Field, note_index_in_tx: u32) -> Field {\n // Hashing the first nullifier with note index in tx is guaranteed to be unique (because all nullifiers are also\n // unique).\n poseidon2_hash_with_separator(\n [first_nullifier_in_tx, note_index_in_tx as Field],\n DOM_SEP__NOTE_HASH_NONCE,\n )\n}\n\npub fn compute_unique_note_hash(note_nonce: Field, siloed_note_hash: Field) -> Field {\n let inputs = [note_nonce, siloed_note_hash];\n poseidon2_hash_with_separator(inputs, DOM_SEP__UNIQUE_NOTE_HASH)\n}\n\npub fn compute_nonce_and_unique_note_hash(\n siloed_note_hash: Field,\n first_nullifier: Field,\n note_index_in_tx: u32,\n) -> Field {\n let note_nonce = compute_note_hash_nonce(first_nullifier, note_index_in_tx);\n compute_unique_note_hash(note_nonce, siloed_note_hash)\n}\n\npub fn compute_siloed_note_hash(app: AztecAddress, note_hash: Field) -> Field {\n poseidon2_hash_with_separator([app.to_field(), note_hash], DOM_SEP__SILOED_NOTE_HASH)\n}\n\n/// Computes unique note hashes from siloed note hashes\npub fn compute_unique_siloed_note_hash(\n siloed_note_hash: Field,\n first_nullifier: Field,\n note_index_in_tx: u32,\n) -> Field {\n if siloed_note_hash == 0 {\n 0\n } else {\n compute_nonce_and_unique_note_hash(siloed_note_hash, first_nullifier, note_index_in_tx)\n }\n}\n\n/// Siloing in the context of Aztec refers to the process of hashing a note hash with a contract address (this way\n/// the note hash is scoped to a specific contract). This is used to prevent intermingling of notes between contracts.\npub fn silo_note_hash(note_hash: Scoped<Counted<NoteHash>>) -> Field {\n if note_hash.contract_address.is_zero() {\n 0\n } else {\n compute_siloed_note_hash(note_hash.contract_address, note_hash.innermost())\n }\n}\n\npub fn compute_siloed_nullifier(contract_address: AztecAddress, nullifier: Field) -> Field {\n poseidon2_hash_with_separator(\n [contract_address.to_field(), nullifier],\n DOM_SEP__OUTER_NULLIFIER,\n )\n}\n\npub fn silo_nullifier(nullifier: Scoped<Counted<Nullifier>>) -> Field {\n let value = nullifier.innermost().value;\n // Q: shouldn't we be checking whether the _whole_ nullifier is empty?\n // A: We don't have to. The init and inner circuits add contract address to non-empty nullifiers.\n // So we know we should silo it if the contract address is not empty.\n if nullifier.contract_address.is_zero() {\n value // Return `value` instead of 0 because an already-siloed nullifier's contract address is zero.\n } else {\n compute_siloed_nullifier(nullifier.contract_address, value)\n }\n}\n\npub fn create_protocol_nullifier(tx_request: TxRequest) -> Scoped<Counted<Nullifier>> {\n Nullifier { value: tx_request.hash(), note_hash: 0 }.count(1).scope(\n NULL_MSG_SENDER_CONTRACT_ADDRESS,\n )\n}\n\npub fn compute_siloed_private_log_field(contract_address: AztecAddress, field: Field) -> Field {\n poseidon2_hash([contract_address.to_field(), field])\n}\n\npub fn silo_private_log(private_log: Scoped<Counted<PrivateLogData>>) -> PrivateLog {\n let log = private_log.innermost().log;\n if private_log.contract_address.is_zero() {\n log\n } else {\n let mut fields = log.fields;\n fields[0] = compute_siloed_private_log_field(private_log.contract_address, fields[0]);\n PrivateLog::new(fields, log.length)\n }\n}\n\npub fn compute_contract_class_log_hash(log: [Field; CONTRACT_CLASS_LOG_SIZE_IN_FIELDS]) -> Field {\n poseidon2_hash(log)\n}\n\npub fn compute_app_secret_key(\n master_secret_key: EmbeddedCurveScalar,\n app_address: AztecAddress,\n app_secret_generator: Field,\n) -> Field {\n poseidon2_hash_with_separator(\n [master_secret_key.hi, master_secret_key.lo, app_address.to_field()],\n app_secret_generator,\n )\n}\n\npub fn merkle_hash(left: Field, right: Field) -> Field {\n poseidon2_hash([left, right])\n}\n\npub fn compute_l2_to_l1_hash(\n contract_address: AztecAddress,\n recipient: EthAddress,\n content: Field,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n let contract_address_bytes: [u8; 32] = contract_address.to_field().to_be_bytes();\n let recipient_bytes: [u8; 20] = recipient.to_be_bytes();\n let content_bytes: [u8; 32] = content.to_be_bytes();\n let rollup_version_id_bytes: [u8; 32] = rollup_version_id.to_be_bytes();\n let chain_id_bytes: [u8; 32] = chain_id.to_be_bytes();\n\n let mut bytes: [u8; 148] = std::mem::zeroed();\n for i in 0..32 {\n bytes[i] = contract_address_bytes[i];\n bytes[i + 32] = rollup_version_id_bytes[i];\n // 64 - 84 are for recipient.\n bytes[i + 84] = chain_id_bytes[i];\n bytes[i + 116] = content_bytes[i];\n }\n\n for i in 0..20 {\n bytes[64 + i] = recipient_bytes[i];\n }\n\n sha256_to_field(bytes)\n}\n\npub fn silo_l2_to_l1_message(\n msg: Scoped<L2ToL1Message>,\n rollup_version_id: Field,\n chain_id: Field,\n) -> Field {\n if msg.contract_address.is_zero() {\n 0\n } else {\n compute_l2_to_l1_hash(\n msg.contract_address,\n msg.inner.recipient,\n msg.inner.content,\n rollup_version_id,\n chain_id,\n )\n }\n}\n\n/// Computes sha256 hash of 2 input fields.\n///\n/// @returns A truncated field (i.e., the first byte is always 0).\npub fn accumulate_sha256(v0: Field, v1: Field) -> Field {\n // Concatenate two fields into 32 x 2 = 64 bytes\n let v0_as_bytes: [u8; 32] = v0.to_be_bytes();\n let v1_as_bytes: [u8; 32] = v1.to_be_bytes();\n let hash_input_flattened = v0_as_bytes.concat(v1_as_bytes);\n\n sha256_to_field(hash_input_flattened)\n}\n\n#[inline_always]\npub fn pedersen_hash<let N: u32>(inputs: [Field; N], hash_index: u32) -> Field {\n std::hash::pedersen_hash_with_separator(inputs, hash_index)\n}\n\npub fn poseidon2_hash<let N: u32>(inputs: [Field; N]) -> Field {\n poseidon::poseidon2::Poseidon2::hash(inputs, N)\n}\n\n#[no_predicates]\npub fn poseidon2_hash_with_separator<let N: u32, T>(inputs: [Field; N], separator: T) -> Field\nwhere\n T: ToField,\n{\n let inputs_with_separator = [separator.to_field()].concat(inputs);\n poseidon2_hash(inputs_with_separator)\n}\n\n/// Computes a Poseidon2 hash over a dynamic-length subarray of the given input.\n/// Only the first `in_len` fields of `input` are absorbed; any remaining fields are ignored.\n/// The caller is responsible for ensuring that the input is padded with zeros if required.\n#[no_predicates]\npub fn poseidon2_hash_subarray<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_in_chunks(input, in_len);\n sponge.squeeze()\n}\n\n// NB the below is the same as poseidon::poseidon2::Poseidon2::hash(), but replacing a range check with a bit check,\n// and absorbing in chunks of 3 below.\n#[no_predicates]\npub fn poseidon2_cheaper_variable_hash<let N: u32>(input: [Field; N], in_len: u32) -> Field {\n let mut sponge = poseidon2_absorb_in_chunks(input, in_len);\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if in_len != N {\n sponge.absorb(1);\n }\n sponge.squeeze()\n}\n\n// This function is unconstrained because it is intended to be used in unconstrained context only as\n// in constrained contexts it would be too inefficient.\npub unconstrained fn poseidon2_hash_with_separator_bounded_vec<let N: u32, T>(\n inputs: BoundedVec<Field, N>,\n separator: T,\n) -> Field\nwhere\n T: ToField,\n{\n let in_len = inputs.len() + 1;\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n sponge.absorb(separator.to_field());\n\n for i in 0..inputs.len() {\n sponge.absorb(inputs.get(i));\n }\n\n sponge.squeeze()\n}\n\n#[no_predicates]\npub fn poseidon2_hash_bytes<let N: u32>(inputs: [u8; N]) -> Field {\n let mut fields = [0; (N + 30) / 31];\n let mut field_index = 0;\n let mut current_field = [0; 31];\n for i in 0..inputs.len() {\n let index = i % 31;\n current_field[index] = inputs[i];\n if index == 30 {\n fields[field_index] = field_from_bytes(current_field, false);\n current_field = [0; 31];\n field_index += 1;\n }\n }\n if field_index != fields.len() {\n fields[field_index] = field_from_bytes(current_field, false);\n }\n poseidon2_hash(fields)\n}\n\n#[test]\nfn poseidon_chunks_matches_fixed() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n let mut fixed_input = [3; 501];\n assert(in_len == fixed_input.len()); // sanity check\n for i in 0..in_len {\n input[i] = 3;\n }\n let sub_chunk_hash = poseidon2_hash_subarray(input, in_len);\n let fixed_len_hash = poseidon::poseidon2::Poseidon2::hash(fixed_input, fixed_input.len());\n assert(sub_chunk_hash == fixed_len_hash);\n}\n\n#[test]\nfn poseidon_chunks_matches_variable() {\n let in_len = 501;\n let mut input: [Field; 4096] = [0; 4096];\n for i in 0..in_len {\n input[i] = 3;\n }\n let variable_chunk_hash = poseidon2_cheaper_variable_hash(input, in_len);\n let variable_len_hash = poseidon::poseidon2::Poseidon2::hash(input, in_len);\n assert(variable_chunk_hash == variable_len_hash);\n}\n\n#[test]\nfn smoke_sha256_to_field() {\n let full_buffer = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,\n 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,\n 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130,\n 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148,\n 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159,\n ];\n let result = sha256_to_field(full_buffer);\n\n assert(result == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184c7);\n\n // to show correctness of the current ver (truncate one byte) vs old ver (mod full bytes):\n let result_bytes = sha256::digest(full_buffer);\n let truncated_field = crate::utils::field::field_from_bytes_32_trunc(result_bytes);\n assert(truncated_field == result);\n let mod_res = result + (result_bytes[31] as Field);\n assert(mod_res == 0x448ebbc9e1a31220a2f3830c18eef61b9bd070e5084b7fa2a359fe729184e0);\n}\n\n#[test]\nfn compute_l2_l1_hash() {\n // All zeroes\n let hash_result =\n compute_l2_to_l1_hash(AztecAddress::from_field(0), EthAddress::zero(), 0, 0, 0);\n assert(hash_result == 0x3b18c58c739716e76429634a61375c45b3b5cd470c22ab6d3e14cee23dd992);\n\n // Non-zero case\n let hash_result = compute_l2_to_l1_hash(\n AztecAddress::from_field(1),\n EthAddress::from_field(3),\n 5,\n 2,\n 4,\n );\n assert(hash_result == 0xaab2a5828156782b12a1dc6f336e2bc627eb1b9514b02d511f66296990c050);\n}\n\n#[test]\nfn silo_l2_to_l1_message_matches_typescript() {\n let version = 4;\n let chainId = 5;\n\n let hash = silo_l2_to_l1_message(\n L2ToL1Message { recipient: EthAddress::from_field(1), content: 2 }.scope(\n AztecAddress::from_field(3),\n ),\n version,\n chainId,\n );\n\n // The following value was generated by `yarn-project/stdlib/src/hash/hash.test.ts`\n let hash_from_typescript = 0x0081edf209e087ad31b3fd24263698723d57190bd1d6e9fe056fc0c0a68ee661;\n\n assert_eq(hash, hash_from_typescript);\n}\n\n#[test]\nunconstrained fn poseidon2_hash_with_separator_bounded_vec_matches_non_bounded_vec_version() {\n let inputs = BoundedVec::<Field, 4>::from_array([1, 2, 3]);\n let separator = 42;\n\n // Hash using bounded vec version\n let bounded_result = poseidon2_hash_with_separator_bounded_vec(inputs, separator);\n\n // Hash using regular version\n let regular_result = poseidon2_hash_with_separator([1, 2, 3], separator);\n\n // Results should match\n assert_eq(bounded_result, regular_result);\n}\n"
|
|
4885
4885
|
},
|
|
4886
|
-
"
|
|
4886
|
+
"354": {
|
|
4887
4887
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/merkle_tree/root.nr",
|
|
4888
4888
|
"source": "use crate::{hash::merkle_hash, merkle_tree::merkle_tree::MerkleTree};\n\n// Calculate the Merkle tree root from the sibling path and leaf.\n//\n// The leaf is hashed with its sibling, and then the result is hashed\n// with the next sibling etc in the path. The last hash is the root.\n//\n// TODO(David/Someone): The cpp code is using a uint256, whereas its\n// TODO a bit simpler in Noir to just have a bit array.\n// TODO: I'd generally like to avoid u256 for algorithms like\n// this because it means we never even need to consider cases where\n// the index is greater than p.\npub fn root_from_sibling_path<let N: u32>(\n leaf: Field,\n leaf_index: Field,\n sibling_path: [Field; N],\n) -> Field {\n let mut node = leaf;\n let indices: [u1; N] = leaf_index.to_le_bits();\n\n for i in 0..N {\n let (hash_left, hash_right) = if indices[i] == 1 {\n (sibling_path[i], node)\n } else {\n (node, sibling_path[i])\n };\n node = merkle_hash(hash_left, hash_right);\n }\n node\n}\n\npub fn calculate_tree_root<let N: u32>(leaves: [Field; N]) -> Field {\n MerkleTree::new(leaves).get_root()\n}\n\n/// These values are precomputed and we run tests to ensure that they are correct.\npub fn calculate_empty_tree_root(depth: u32) -> Field {\n if depth == 0 {\n 0\n } else if depth == 1 {\n 0x0b63a53787021a4a962a452c2921b3663aff1ffd8d5510540f8e659e782956f1\n } else if depth == 2 {\n 0x0e34ac2c09f45a503d2908bcb12f1cbae5fa4065759c88d501c097506a8b2290\n } else if depth == 3 {\n 0x21f9172d72fdcdafc312eee05cf5092980dda821da5b760a9fb8dbdf607c8a20\n } else if depth == 4 {\n 0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e\n } else if depth == 5 {\n 0x120157cfaaa49ce3da30f8b47879114977c24b266d58b0ac18b325d878aafddf\n } else if depth == 6 {\n 0x01c28fe1059ae0237b72334700697bdf465e03df03986fe05200cadeda66bd76\n } else if depth == 7 {\n 0x2d78ed82f93b61ba718b17c2dfe5b52375b4d37cbbed6f1fc98b47614b0cf21b\n } else if depth == 8 {\n 0x067243231eddf4222f3911defbba7705aff06ed45960b27f6f91319196ef97e1\n } else if depth == 9 {\n 0x1849b85f3c693693e732dfc4577217acc18295193bede09ce8b97ad910310972\n } else if depth == 10 {\n 0x2a775ea761d20435b31fa2c33ff07663e24542ffb9e7b293dfce3042eb104686\n } else {\n panic(f\"depth should be between 0 and 10\")\n }\n}\n\n#[test]\nfn test_merkle_root_interop_test() {\n // This is a test to ensure that we match the cpp implementation.\n // You can grep for `TEST_F(root_rollup_tests, noir_interop_test)`\n // to find the test that matches this.\n let root = calculate_tree_root([1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]);\n assert(0x1a09d935ae110b4c861fcec8f9099ec30b4485022aeb3d3cf9d7168e38fdc231 == root);\n\n let empty_root = calculate_tree_root([0; 16]);\n assert(0x2373ea368857ec7af97e7b470d705848e2bf93ed7bef142a490f2119bcf82d8e == empty_root);\n}\n\n#[test]\nfn test_empty_subroot() {\n assert(calculate_empty_tree_root(0) == 0);\n\n let expected_empty_root_2 = calculate_tree_root([0; 2]);\n assert(calculate_empty_tree_root(1) == expected_empty_root_2);\n\n let expected_empty_root_4 = calculate_tree_root([0; 4]);\n assert(calculate_empty_tree_root(2) == expected_empty_root_4);\n\n let expected_empty_root_8 = calculate_tree_root([0; 8]);\n assert(calculate_empty_tree_root(3) == expected_empty_root_8);\n\n let expected_empty_root_16 = calculate_tree_root([0; 16]);\n assert(calculate_empty_tree_root(4) == expected_empty_root_16);\n\n let expected_empty_root_32 = calculate_tree_root([0; 32]);\n assert(calculate_empty_tree_root(5) == expected_empty_root_32);\n\n let expected_empty_root_64 = calculate_tree_root([0; 64]);\n assert(calculate_empty_tree_root(6) == expected_empty_root_64);\n\n let expected_empty_root_128 = calculate_tree_root([0; 128]);\n assert(calculate_empty_tree_root(7) == expected_empty_root_128);\n\n let expected_empty_root_256 = calculate_tree_root([0; 256]);\n assert(calculate_empty_tree_root(8) == expected_empty_root_256);\n\n let expected_empty_root_512 = calculate_tree_root([0; 512]);\n assert(calculate_empty_tree_root(9) == expected_empty_root_512);\n\n let expected_empty_root_1024 = calculate_tree_root([0; 1024]);\n assert(calculate_empty_tree_root(10) == expected_empty_root_1024);\n}\n"
|
|
4889
4889
|
},
|
|
4890
|
-
"
|
|
4890
|
+
"358": {
|
|
4891
4891
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/meta/mod.nr",
|
|
4892
4892
|
"source": "use utils::derive_serialization_quotes;\n\npub mod utils;\n\n/// Generates the generic parameter declarations for a struct's trait implementation.\n///\n/// This function takes a struct type definition and generates the generic parameter declarations\n/// that go after the `impl` keyword. For example, given a struct with generics `N: u32` and `T`,\n/// it generates `<let N: u32, T>`.\n///\n/// # Parameters\n/// - `s`: The struct type definition to generate generic declarations for\n///\n/// # Returns\n/// A quoted code block containing the generic parameter declarations, or an empty quote if the struct\n/// has no generic parameters\n///\n/// # Example\n/// For a struct defined as:\n/// ```\n/// struct Container<T, let N: u32> {\n/// items: [T; N],\n/// count: u32\n/// }\n/// ```\n///\n/// This function generates:\n/// ```\n/// <let N: u32, T>\n/// ```\ncomptime fn get_generics_declarations(s: TypeDefinition) -> Quoted {\n let generics = s.generics();\n\n if generics.len() > 0 {\n let generics_declarations_items = generics\n .map(|(name, maybe_integer_typ)| {\n // The second item in the generics tuple is an Option of an integer type that is Some only if\n // the generic is numeric.\n if maybe_integer_typ.is_some() {\n // The generic is numeric, so we return a quote defined as e.g. \"let N: u32\"\n let integer_type = maybe_integer_typ.unwrap();\n quote {let $name: $integer_type}\n } else {\n // The generic is not numeric, so we return a quote containing the name of the generic (e.g. \"T\")\n quote {$name}\n }\n })\n .join(quote {,});\n quote {<$generics_declarations_items>}\n } else {\n // The struct doesn't have any generics defined, so we just return an empty quote.\n quote {}\n }\n}\n\n/// Generates the `where` clause for a trait implementation that constrains non-numeric generic type parameters.\n///\n/// This function takes a struct type definition and a trait name, and generates a `where` clause that\n/// requires all non-numeric generic type parameters to implement the specified trait.\n///\n/// # Parameters\n/// - `s`: The struct type definition to generate the where clause for\n/// - `trait_name`: The name of the trait that non-numeric generic parameters must implement\n///\n/// # Returns\n/// A quoted code block containing the where clause, or an empty quote if the struct has no non-numeric\n/// generic parameters\n///\n/// # Example\n/// For a struct defined as:\n/// ```\n/// struct Container<T, let N: u32> {\n/// items: [T; N],\n/// count: u32\n/// }\n/// ```\n///\n/// And trait name \"Serialize\", this function generates:\n/// ```\n/// where T: Serialize\n/// ```\ncomptime fn get_where_trait_clause(s: TypeDefinition, trait_name: Quoted) -> Quoted {\n let generics = s.generics();\n\n // The second item in the generics tuple is an Option of an integer type that is Some only if the generic is\n // numeric.\n let non_numeric_generics =\n generics.filter(|(_, maybe_integer_typ)| maybe_integer_typ.is_none());\n\n if non_numeric_generics.len() > 0 {\n let non_numeric_generics_declarations =\n non_numeric_generics.map(|(name, _)| quote {$name: $trait_name}).join(quote {,});\n quote {where $non_numeric_generics_declarations}\n } else {\n // There are no non-numeric generics, so we return an empty quote.\n quote {}\n }\n}\n\n/// Generates a `Serialize` trait implementation for a struct type.\n///\n/// # Parameters\n/// - `s`: The struct type definition to generate the implementation for\n///\n/// # Returns\n/// A quoted code block containing the trait implementation\n///\n/// # Example\n/// For a struct defined as:\n/// ```\n/// struct Log<N> {\n/// fields: [Field; N],\n/// length: u32\n/// }\n/// ```\n///\n/// This function generates code equivalent to:\n/// ```\n/// impl<let N: u32> Serialize for Log<N> {\n/// let N: u32 = <[Field; N] as Serialize>::N + <u32 as Serialize>::N;\n///\n/// #[inline_always]\n/// fn serialize(self) -> [Field; Self::N] {\n/// let mut serialized_params = [0; _];\n/// let mut offset = 0;\n///\n/// let serialized_member = Serialize::serialize(self.fields);\n/// let serialized_member_len = <[Field; N] as Serialize>::N;\n/// for i in 0..serialized_member_len {\n/// serialized_params[i + offset] = serialized_member[i];\n/// }\n/// offset += serialized_member_len;\n///\n/// let serialized_member = Serialize::serialize(self.length);\n/// let serialized_member_len = <u32 as Serialize>::N;\n/// for i in 0..serialized_member_len {\n/// serialized_params[i + offset] = serialized_member[i];\n/// }\n/// offset += serialized_member_len;\n///\n/// serialized_params\n/// }\n/// }\n/// ```\npub comptime fn derive_serialize(s: TypeDefinition) -> Quoted {\n let typ = s.as_type();\n let nested_struct = typ.as_data_type().unwrap();\n\n // We care only about the name and type so we drop the last item of the tuple\n let params = nested_struct.0.fields(nested_struct.1).map(|(name, typ, _)| (name, typ));\n\n // Generates the generic parameter declarations (to be placed after the `impl` keyword) and the `where` clause\n // for the `Serialize` trait.\n let generics_declarations = get_generics_declarations(s);\n let where_serialize_clause = get_where_trait_clause(s, quote {Serialize});\n\n let (function_body, params_len_quote, serialized_params_name) =\n derive_serialization_quotes(params, true);\n\n quote {\n impl$generics_declarations $crate::traits::Serialize for $typ\n $where_serialize_clause\n {\n let N: u32 = $params_len_quote;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n $function_body\n\n $serialized_params_name\n }\n }\n }\n}\n\n/// Generates a `Deserialize` trait implementation for a given struct `s`.\n///\n/// # Arguments\n/// * `s` - The struct type definition to generate the implementation for\n///\n/// # Returns\n/// A `Quoted` block containing the generated trait implementation\n///\n/// # Requirements\n/// Each struct member type must implement the `Deserialize` trait (it gets used in the generated code).\n///\n/// # Example\n/// For a struct like:\n/// ```\n/// struct MyStruct {\n/// x: AztecAddress,\n/// y: Field,\n/// }\n/// ```\n///\n/// This generates:\n/// ```\n/// impl Deserialize for MyStruct {\n/// let N: u32 = <AztecAddress as Deserialize>::N + <Field as Deserialize>::N;\n///\n/// fn deserialize(serialized: [Field; Self::N]) -> Self {\n/// let mut offset = 0;\n/// let mut member_fields = [0; <AztecAddress as Deserialize>::N];\n/// for i in 0..<AztecAddress as Deserialize>::N {\n/// member_fields[i] = serialized[i + offset];\n/// }\n/// let x = <AztecAddress as Deserialize>::deserialize(member_fields);\n/// offset += <AztecAddress as Deserialize>::N;\n///\n/// let mut member_fields = [0; <Field as Deserialize>::N];\n/// for i in 0..<Field as Deserialize>::N {\n/// member_fields[i] = serialized[i + offset];\n/// }\n/// let y = <Field as Deserialize>::deserialize(member_fields);\n/// offset += <Field as Deserialize>::N;\n///\n/// Self { x, y }\n/// }\n/// }\n/// ```\npub(crate) comptime fn derive_deserialize(s: TypeDefinition) -> Quoted {\n let typ = s.as_type();\n let nested_struct = typ.as_data_type().unwrap();\n let params = nested_struct.0.fields(nested_struct.1);\n\n // Generates the generic parameter declarations (to be placed after the `impl` keyword) and the `where` clause\n // for the `Deserialize` trait.\n let generics_declarations = get_generics_declarations(s);\n let where_deserialize_clause = get_where_trait_clause(s, quote {Deserialize});\n\n // The following will give us:\n // <type_of_struct_member_1 as Deserialize>::N + <type_of_struct_member_2 as Deserialize>::N + ...\n // (or 0 if the struct has no members)\n let right_hand_side_of_definition_of_n = if params.len() > 0 {\n params\n .map(|(_, param_type, _): (Quoted, Type, Quoted)| {\n quote {\n <$param_type as $crate::traits::Deserialize>::N\n }\n })\n .join(quote {+})\n } else {\n quote {0}\n };\n\n // For structs containing a single member, we can enhance performance by directly deserializing the input array,\n // bypassing the need for loop-based array construction. While this optimization yields significant benefits in\n // Brillig where the loops are expected to not be optimized, it is not relevant in ACIR where the loops are\n // expected to be optimized away.\n let function_body = if params.len() > 1 {\n // This generates deserialization code for each struct member and concatenates them together.\n let deserialization_of_struct_members = params\n .map(|(param_name, param_type, _): (Quoted, Type, Quoted)| {\n quote {\n let mut member_fields = [0; <$param_type as Deserialize>::N];\n for i in 0..<$param_type as Deserialize>::N {\n member_fields[i] = serialized[i + offset];\n }\n let $param_name = <$param_type as Deserialize>::deserialize(member_fields);\n offset += <$param_type as Deserialize>::N;\n }\n })\n .join(quote {});\n\n // We join the struct member names with a comma to be used in the `Self { ... }` syntax\n // This will give us e.g. `a, b, c` for a struct with three fields named `a`, `b`, and `c`.\n let struct_members = params\n .map(|(param_name, _, _): (Quoted, Type, Quoted)| quote { $param_name })\n .join(quote {,});\n\n quote {\n let mut offset = 0;\n\n $deserialization_of_struct_members\n\n Self { $struct_members }\n }\n } else if params.len() == 1 {\n let param_name = params[0].0;\n quote {\n Self { $param_name: $crate::traits::Deserialize::deserialize(serialized) }\n }\n } else {\n quote {\n Self {}\n }\n };\n\n quote {\n impl$generics_declarations $crate::traits::Deserialize for $typ\n $where_deserialize_clause\n {\n let N: u32 = $right_hand_side_of_definition_of_n;\n\n #[inline_always]\n fn deserialize(serialized: [Field; Self::N]) -> Self {\n $function_body\n }\n }\n }\n}\n\n/// Generates a `Packable` trait implementation for a given struct `s`.\n///\n/// # Arguments\n/// * `s` - The struct type definition to generate the implementation for\n///\n/// # Returns\n/// A `Quoted` block containing the generated trait implementation\n///\n/// # Requirements\n/// Each struct member type must implement the `Packable` trait (it gets used in the generated code).\n///\n/// # Example\n/// For a struct like:\n/// ```\n/// struct MyStruct {\n/// x: AztecAddress,\n/// y: Field,\n/// }\n/// ```\n///\n/// This generates:\n/// ```\n/// impl Packable for MyStruct {\n/// let N: u32 = 2;\n///\n/// fn pack(self) -> [Field; 2] {\n/// let mut result: [Field; 2] = [0_Field; 2];\n/// let mut offset: u32 = 0_u32;\n/// let packed_member: [Field; 1] = self.x.pack();\n/// let packed_member_len: u32 = <Field as Packable>::N;\n/// for i in 0_u32..packed_member_len {\n/// {\n/// result[i + offset] = packed_member[i];\n/// }\n/// }\n/// offset = offset + packed_member_len;\n/// let packed_member: [Field; 1] = self.y.pack();\n/// let packed_member_len: u32 = <Field as Packable>::N;\n/// for i in 0_u32..packed_member_len {\n/// {\n/// result[i + offset] = packed_member[i];\n/// }\n/// }\n/// offset = offset + packed_member_len;\n/// result\n/// }\n///\n/// fn unpack(packed: [Field; 2]) -> Self {\n/// let mut offset: u32 = 0_u32;\n/// let mut member_fields: [Field; 1] = [0_Field; 1];\n/// for i in 0_u32..<AztecAddress as Packable>::N {\n/// member_fields[i] = packed[i + offset];\n/// }\n/// let x: AztecAddress = <AztecAddress as Packable>::unpack(member_fields);\n/// offset = offset + <AztecAddress as Packable>::N;\n/// let mut member_fields: [Field; 1] = [0_Field; 1];\n/// for i in 0_u32..<Field as Packable>::N {\n/// member_fields[i] = packed[i + offset];\n/// }\n/// let y: Field = <Field as Packable>::unpack(member_fields);\n/// offset = offset + <Field as Packable>::N;\n/// Self { x: x, y: y }\n/// }\n/// }\n/// ```\npub comptime fn derive_packable(s: TypeDefinition) -> Quoted {\n let typ = s.as_type();\n let nested_struct = typ.as_data_type().unwrap();\n let params = nested_struct.0.fields(nested_struct.1);\n\n // Generates the generic parameter declarations (to be placed after the `impl` keyword) and the `where` clause\n // for the `Packable` trait.\n let generics_declarations = get_generics_declarations(s);\n let where_packable_clause = get_where_trait_clause(s, quote {Packable});\n\n // The following will give us:\n // <type_of_struct_member_1 as Packable>::N + <type_of_struct_member_2 as Packable>::N + ...\n // (or 0 if the struct has no members)\n let right_hand_side_of_definition_of_n = if params.len() > 0 {\n params\n .map(|(_, param_type, _): (Quoted, Type, Quoted)| {\n quote {\n <$param_type as $crate::traits::Packable>::N\n }\n })\n .join(quote {+})\n } else {\n quote {0}\n };\n\n // For structs containing a single member, we can enhance performance by directly returning the packed member,\n // bypassing the need for loop-based array construction. While this optimization yields significant benefits in\n // Brillig where the loops are expected to not be optimized, it is not relevant in ACIR where the loops are\n // expected to be optimized away.\n let pack_function_body = if params.len() > 1 {\n // For multiple struct members, generate packing code that:\n // 1. Packs each member\n // 2. Copies the packed fields into the result array at the correct offset\n // 3. Updates the offset for the next member\n let packing_of_struct_members = params\n .map(|(param_name, param_type, _): (Quoted, Type, Quoted)| {\n quote {\n let packed_member = $crate::traits::Packable::pack(self.$param_name);\n let packed_member_len = <$param_type as $crate::traits::Packable>::N;\n for i in 0..packed_member_len {\n result[i + offset] = packed_member[i];\n }\n offset += packed_member_len;\n }\n })\n .join(quote {});\n\n quote {\n let mut result = [0; Self::N];\n let mut offset = 0;\n\n $packing_of_struct_members\n\n result\n }\n } else if params.len() == 1 {\n let param_name = params[0].0;\n quote {\n $crate::traits::Packable::pack(self.$param_name)\n }\n } else {\n quote {\n [0; Self::N]\n }\n };\n\n // For structs containing a single member, we can enhance performance by directly unpacking the input array,\n // bypassing the need for loop-based array construction. While this optimization yields significant benefits in\n // Brillig where the loops are expected to not be optimized, it is not relevant in ACIR where the loops are\n // expected to be optimized away.\n let unpack_function_body = if params.len() > 1 {\n // For multiple struct members, generate unpacking code that:\n // 1. Unpacks each member\n // 2. Copies packed fields into member array at correct offset\n // 3. Updates offset for next member\n let unpacking_of_struct_members = params\n .map(|(param_name, param_type, _): (Quoted, Type, Quoted)| {\n quote {\n let mut member_fields = [0; <$param_type as $crate::traits::Packable>::N];\n for i in 0..<$param_type as $crate::traits::Packable>::N {\n member_fields[i] = packed[i + offset];\n }\n let $param_name = <$param_type as $crate::traits::Packable>::unpack(member_fields);\n offset += <$param_type as $crate::traits::Packable>::N;\n }\n })\n .join(quote {});\n\n // We join the struct member names with a comma to be used in the `Self { ... }` syntax\n let struct_members = params\n .map(|(param_name, _, _): (Quoted, Type, Quoted)| quote { $param_name })\n .join(quote {,});\n\n quote {\n let mut offset = 0;\n $unpacking_of_struct_members\n Self { $struct_members }\n }\n } else if params.len() == 1 {\n let param_name = params[0].0;\n quote {\n Self { $param_name: $crate::traits::Packable::unpack(packed) }\n }\n } else {\n quote {\n Self {}\n }\n };\n\n quote {\n impl$generics_declarations $crate::traits::Packable for $typ\n $where_packable_clause\n {\n let N: u32 = $right_hand_side_of_definition_of_n;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n $pack_function_body\n }\n\n #[inline_always]\n fn unpack(packed: [Field; Self::N]) -> Self {\n $unpack_function_body\n }\n }\n }\n}\n\nmod test {\n use crate::traits::{Deserialize, Packable, Serialize};\n\n #[derive(Deserialize, Eq, Packable, Serialize)]\n pub struct Empty {}\n\n #[derive(Deserialize, Eq, Packable, Serialize)]\n pub struct Smol {\n a: Field,\n b: Field,\n }\n\n #[derive(Deserialize, Eq, Serialize)]\n pub struct HasArray {\n a: [Field; 2],\n b: bool,\n }\n\n #[derive(Deserialize, Eq, Serialize)]\n pub struct Fancier {\n a: Smol,\n b: [Field; 2],\n c: [u8; 3],\n d: str<16>,\n }\n\n #[derive(Deserialize, Eq, Packable, Serialize)]\n pub struct HasArrayWithGenerics<T, let N: u32> {\n pub fields: [T; N],\n pub length: u32,\n }\n\n #[test]\n fn serde_on_empty() {\n let original = Empty {};\n let serialized = original.serialize();\n assert_eq(serialized, [], \"Serialized does not match empty array\");\n let deserialized = Empty::deserialize(serialized);\n assert_eq(deserialized, original, \"Deserialized does not match original\");\n }\n\n #[test]\n fn packable_on_empty() {\n let original = Empty {};\n let packed = original.pack();\n assert_eq(packed, [], \"Packed does not match empty array\");\n let unpacked = Empty::unpack(packed);\n assert_eq(unpacked, original, \"Unpacked does not match original\");\n }\n\n #[test]\n fn serde_on_smol() {\n let smol = Smol { a: 1, b: 2 };\n let serialized = smol.serialize();\n assert(serialized == [1, 2], serialized);\n let deserialized = Smol::deserialize(serialized);\n assert(deserialized == smol);\n\n // None of the struct members implements the `Packable` trait so the packed and serialized data should be the same\n let packed = smol.pack();\n assert_eq(packed, serialized, \"Packed does not match serialized\");\n }\n\n #[test]\n fn serde_on_has_array() {\n let has_array = HasArray { a: [1, 2], b: true };\n let serialized = has_array.serialize();\n assert(serialized == [1, 2, 1], serialized);\n let deserialized = HasArray::deserialize(serialized);\n assert(deserialized == has_array);\n }\n\n #[test]\n fn serde_on_fancier() {\n let fancier =\n Fancier { a: Smol { a: 1, b: 2 }, b: [0, 1], c: [1, 2, 3], d: \"metaprogramming!\" };\n let serialized = fancier.serialize();\n assert(\n serialized\n == [\n 1, 2, 0, 1, 1, 2, 3, 0x6d, 0x65, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61,\n 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x21,\n ],\n serialized,\n );\n let deserialized = Fancier::deserialize(serialized);\n assert(deserialized == fancier);\n }\n\n #[test]\n fn serde_on_contains_array_with_generics() {\n let struct_with_array_of_generics = HasArrayWithGenerics { fields: [1, 2, 3], length: 3 };\n let serialized = struct_with_array_of_generics.serialize();\n assert(serialized == [1, 2, 3, 3], serialized);\n let deserialized = HasArrayWithGenerics::deserialize(serialized);\n assert(deserialized == struct_with_array_of_generics);\n }\n\n #[test]\n fn packable_on_contains_array_with_generics() {\n let struct_with_array_of_generics = HasArrayWithGenerics { fields: [1, 2, 3], length: 3 };\n let packed = struct_with_array_of_generics.pack();\n assert(packed == [1, 2, 3, 3], packed);\n\n let unpacked = HasArrayWithGenerics::unpack(packed);\n assert(unpacked == struct_with_array_of_generics);\n }\n\n}\n"
|
|
4893
4893
|
},
|
|
4894
|
-
"
|
|
4894
|
+
"359": {
|
|
4895
4895
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/meta/utils.nr",
|
|
4896
4896
|
"source": "/// Generates serialization code for a list of parameters and the total length of the serialized array\n///\n/// # Parameters\n/// - `params`: A list of (name, type) tuples to serialize\n/// - `use_self_prefix`: If true, parameters are accessed as `self.$param_name` (for struct members).\n/// If false, parameters are accessed directly as `$param_name` (for function parameters).\n///\n/// # Returns\n/// A tuple containing:\n/// - Quoted code that serializes the parameters into an array named `serialized_params`\n/// - Quoted code that evaluates to the total length of the serialized array\n/// - Quoted code containing the name of the serialized array\npub comptime fn derive_serialization_quotes(\n params: [(Quoted, Type)],\n use_self_prefix: bool,\n) -> (Quoted, Quoted, Quoted) {\n let prefix_quote = if use_self_prefix {\n quote { self. }\n } else {\n quote {}\n };\n\n let params_len_quote = get_params_len_quote(params);\n let serialized_params_name = quote { serialized_params };\n\n let body = if params.len() == 0 {\n quote {\n let $serialized_params_name: [Field; 0] = [];\n }\n } else if params.len() == 1 {\n // When we have only a single parameter on the input, we can enhance performance by directly returning\n // the serialized member, bypassing the need for loop-based array construction. While this optimization yields\n // significant benefits in Brillig where the loops are expected to not be optimized, it is not relevant in ACIR\n // where the loops are expected to be optimized away.\n\n let param_name = params[0].0;\n quote {\n let $serialized_params_name = $crate::traits::Serialize::serialize($prefix_quote$param_name);\n }\n } else {\n // For multiple struct members, generate serialization code that:\n // 1. Serializes each member\n // 2. Copies the serialized fields into the serialize array at the correct offset\n // 3. Updates the offset for the next member\n let serialization_of_struct_members = params\n .map(|(param_name, param_type): (Quoted, Type)| {\n quote {\n let serialized_member = $crate::traits::Serialize::serialize($prefix_quote$param_name);\n let serialized_member_len = <$param_type as $crate::traits::Serialize>::N;\n for i in 0..serialized_member_len {\n $serialized_params_name[i + offset] = serialized_member[i];\n }\n offset += serialized_member_len;\n }\n })\n .join(quote {});\n\n quote {\n let mut $serialized_params_name = [0; $params_len_quote];\n let mut offset = 0;\n\n $serialization_of_struct_members\n }\n };\n\n (body, params_len_quote, serialized_params_name)\n}\n\n/// Generates a quoted expression that computes the total serialized length of function parameters.\n///\n/// # Parameters\n/// * `params` - An array of tuples where each tuple contains a quoted parameter name and its Type. The type needs\n/// to implement the Serialize trait.\n///\n/// # Returns\n/// A quoted expression that evaluates to:\n/// * `0` if there are no parameters\n/// * `(<type1 as Serialize>::N + <type2 as Serialize>::N + ...)` for one or more parameters\npub comptime fn get_params_len_quote(params: [(Quoted, Type)]) -> Quoted {\n if params.len() == 0 {\n quote { 0 }\n } else {\n let params_quote_without_parentheses = params\n .map(|(_, param_type): (Quoted, Type)| {\n quote {\n <$param_type as $crate::traits::Serialize>::N\n }\n })\n .join(quote {+});\n quote { ($params_quote_without_parentheses) }\n }\n}\n"
|
|
4897
4897
|
},
|
|
4898
|
-
"
|
|
4898
|
+
"361": {
|
|
4899
4899
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/poseidon2.nr",
|
|
4900
4900
|
"source": "use crate::constants::TWO_POW_64;\nuse crate::traits::{Deserialize, Serialize};\nuse std::meta::derive;\n// NB: This is a clone of noir/noir-repo/noir_stdlib/src/hash/poseidon2.nr\n// It exists as we sometimes need to perform custom absorption, but the stdlib version\n// has a private absorb() method (it's also designed to just be a hasher)\n// Can be removed when standalone noir poseidon lib exists: See noir#6679\n\ncomptime global RATE: u32 = 3;\n\n#[derive(Deserialize, Eq, Serialize)]\npub struct Poseidon2Sponge {\n pub cache: [Field; 3],\n pub state: [Field; 4],\n pub cache_size: u32,\n pub squeeze_mode: bool, // 0 => absorb, 1 => squeeze\n}\n\nimpl Poseidon2Sponge {\n #[no_predicates]\n pub fn hash<let N: u32>(input: [Field; N], message_size: u32) -> Field {\n Poseidon2Sponge::hash_internal(input, message_size, message_size != N)\n }\n\n pub(crate) fn new(iv: Field) -> Poseidon2Sponge {\n let mut result =\n Poseidon2Sponge { cache: [0; 3], state: [0; 4], cache_size: 0, squeeze_mode: false };\n result.state[RATE] = iv;\n result\n }\n\n fn perform_duplex(&mut self) {\n // add the cache into sponge state\n for i in 0..RATE {\n // We effectively zero-pad the cache by only adding to the state\n // cache that is less than the specified `cache_size`\n if i < self.cache_size {\n self.state[i] += self.cache[i];\n }\n }\n self.state = std::hash::poseidon2_permutation(self.state, 4);\n }\n\n pub fn absorb(&mut self, input: Field) {\n assert(!self.squeeze_mode);\n if self.cache_size == RATE {\n // If we're absorbing, and the cache is full, apply the sponge permutation to compress the cache\n self.perform_duplex();\n self.cache[0] = input;\n self.cache_size = 1;\n } else {\n // If we're absorbing, and the cache is not full, add the input into the cache\n self.cache[self.cache_size] = input;\n self.cache_size += 1;\n }\n }\n\n pub fn squeeze(&mut self) -> Field {\n assert(!self.squeeze_mode);\n // If we're in absorb mode, apply sponge permutation to compress the cache.\n self.perform_duplex();\n self.squeeze_mode = true;\n\n // Pop one item off the top of the permutation and return it.\n self.state[0]\n }\n\n fn hash_internal<let N: u32>(\n input: [Field; N],\n in_len: u32,\n is_variable_length: bool,\n ) -> Field {\n let iv: Field = (in_len as Field) * TWO_POW_64;\n let mut sponge = Poseidon2Sponge::new(iv);\n for i in 0..input.len() {\n if i < in_len {\n sponge.absorb(input[i]);\n }\n }\n\n // In the case where the hash preimage is variable-length, we append `1` to the end of the input, to distinguish\n // from fixed-length hashes. (the combination of this additional field element + the hash IV ensures\n // fixed-length and variable-length hashes do not collide)\n if is_variable_length {\n sponge.absorb(1);\n }\n sponge.squeeze()\n }\n}\n"
|
|
4901
4901
|
},
|
|
4902
|
-
"
|
|
4902
|
+
"373": {
|
|
4903
4903
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/storage/map.nr",
|
|
4904
4904
|
"source": "use crate::{hash::poseidon2_hash, traits::ToField};\n\n// TODO: Move this to abis/public_data/storage/map.nr\npub fn derive_storage_slot_in_map<K>(storage_slot: Field, key: K) -> Field\nwhere\n K: ToField,\n{\n poseidon2_hash([storage_slot, key.to_field()])\n}\n\nmod test {\n use crate::{address::AztecAddress, storage::map::derive_storage_slot_in_map, traits::FromField};\n\n #[test]\n fn test_derive_storage_slot_in_map_matches_typescript() {\n let map_slot = 0x132258fb6962c4387ba659d9556521102d227549a386d39f0b22d1890d59c2b5;\n let key = AztecAddress::from_field(\n 0x302dbc2f9b50a73283d5fb2f35bc01eae8935615817a0b4219a057b2ba8a5a3f,\n );\n\n let slot = derive_storage_slot_in_map(map_slot, key);\n\n // The following value was generated by `map_slot.test.ts`\n let slot_from_typescript =\n 0x15b9fe39449affd8b377461263e9d2b610b9ad40580553500b4e41d9cbd887ac;\n\n assert_eq(slot, slot_from_typescript);\n }\n}\n"
|
|
4905
4905
|
},
|
|
4906
|
+
"389": {
|
|
4907
|
+
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr",
|
|
4908
|
+
"source": "use crate::meta::{derive_deserialize, derive_packable, derive_serialize};\nuse crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic\n// if a value can actually be zero. In a future refactor, we can\n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\npub trait Empty: Eq {\n fn empty() -> Self;\n\n fn is_empty(self) -> bool {\n self.eq(Self::empty())\n }\n\n // Requires this Noir fix: https://github.com/noir-lang/noir/issues/9002\n // fn assert_not_empty<let U: u32>(self, msg: str<U>) { // This msg version was failing with weird compiler errors.\n // // We provide a default impl but it's likely inefficient.\n // // The reason we include this function is because there's a lot of\n // // opportunity for optimisation on a per-struct basis.\n // // You only need to show one element is not empty to know that the whole thing\n // // is not empty.\n // // If you know an element of your struct which should always be nonempty,\n // // you can write an impl that solely checks that that element is nonempty.\n // assert(!self.is_empty(), msg);\n // }\n\n // This default impl is overwritten by types like arrays, because there's a much\n // more efficient approach.\n fn assert_empty<let S: u32>(self, msg: str<S>) {\n assert(self.is_empty(), msg);\n }\n}\n\nimpl Empty for Field {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\n\nimpl Empty for bool {\n #[inline_always]\n fn empty() -> Self {\n false\n }\n}\n\nimpl Empty for u1 {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u8 {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u16 {\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u32 {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u64 {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u128 {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\n\nimpl<T, let N: u32> Empty for [T; N]\nwhere\n T: Empty,\n{\n #[inline_always]\n fn empty() -> Self {\n [T::empty(); N]\n }\n\n fn is_empty(self) -> bool {\n self.all(|elem| elem.is_empty())\n }\n\n fn assert_empty<let S: u32>(self, msg: str<S>) -> () {\n self.for_each(|elem| elem.assert_empty(msg))\n }\n}\n\nimpl<T> Empty for [T]\nwhere\n T: Empty,\n{\n #[inline_always]\n fn empty() -> Self {\n [T::empty()]\n }\n\n fn is_empty(self) -> bool {\n self.all(|elem| elem.is_empty())\n }\n\n fn assert_empty<let S: u32>(self, msg: str<S>) -> () {\n self.for_each(|elem| elem.assert_empty(msg))\n }\n}\nimpl<A, B> Empty for (A, B)\nwhere\n A: Empty,\n B: Empty,\n{\n #[inline_always]\n fn empty() -> Self {\n (A::empty(), B::empty())\n }\n}\n\nimpl<T> Empty for Option<T>\nwhere\n T: Eq,\n{\n #[inline_always]\n fn empty() -> Self {\n Option::none()\n }\n}\n\n// pub fn is_empty<T>(item: T) -> bool\n// where\n// T: Empty,\n// {\n// item.eq(T::empty())\n// }\n\n// pub fn is_empty_array<T, let N: u32>(array: [T; N]) -> bool\n// where\n// T: Empty,\n// {\n// array.all(|elem| is_empty(elem))\n// }\n\n// pub fn assert_empty<T>(item: T) -> ()\n// where\n// T: Empty,\n// {\n// assert(item.eq(T::empty()))\n// }\n\n// pub fn assert_empty_array<T, let N: u32>(array: [T; N]) -> ()\n// where\n// T: Empty,\n// {\n// // A cheaper option than `is_empty_array` for if you don't need to gracefully\n// // handle a bool result.\n// // Avoids the `&` operator of `is_empty_array`'s `.all()` call.\n// for i in 0..N {\n// assert(is_empty(array[i]));\n// }\n// }\n\npub trait Hash {\n fn hash(self) -> Field;\n}\n\npub trait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n #[inline_always]\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u1 {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u8 {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u16 {\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u32 {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u64 {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u128 {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl<let N: u32> ToField for str<N> {\n #[inline_always]\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\npub trait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value != 0\n }\n}\nimpl FromField for u1 {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value as u1\n }\n}\nimpl FromField for u8 {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value as u8\n }\n}\nimpl FromField for u16 {\n fn from_field(value: Field) -> Self {\n value as u16\n }\n}\nimpl FromField for u32 {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value as u32\n }\n}\nimpl FromField for u64 {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value as u64\n }\n}\nimpl FromField for u128 {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value as u128\n }\n}\n\n// docs:start:serialize\n/// Trait for serializing Noir types into arrays of Fields.\n///\n/// An implementation of the Serialize trait has to follow Noir's intrinsic serialization (each member of a struct\n/// converted directly into one or more Fields without any packing or compression). This trait (and Deserialize) are\n/// typically used to communicate between Noir and TypeScript (via oracles and function arguments).\n///\n/// # On Following Noir's Intrinsic Serialization\n/// When calling a Noir function from TypeScript (TS), first the function arguments are serialized into an array\n/// of fields. This array is then included in the initial witness. Noir's intrinsic serialization is then used\n/// to deserialize the arguments from the witness. When the same Noir function is called from Noir this Serialize trait\n/// is used instead of the serialization in TS. For this reason we need to have a match between TS serialization,\n/// Noir's intrinsic serialization and the implementation of this trait. If there is a mismatch, the function calls\n/// fail with an arguments hash mismatch error message.\n///\n/// # Associated Constants\n/// * `N` - The length of the output Field array, known at compile time\n///\n/// # Example\n/// ```\n/// impl<let N: u32> Serialize for str<N> {\n/// let N: u32 = N;\n///\n/// fn serialize(self) -> [Field; Self::N] {\n/// let bytes = self.as_bytes();\n/// let mut fields = [0; Self::N];\n/// for i in 0..bytes.len() {\n/// fields[i] = bytes[i] as Field; // Each byte gets its own Field\n/// }\n/// fields\n/// }\n/// }\n/// ```\n#[derive_via(derive_serialize)]\npub trait Serialize {\n let N: u32;\n\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<let M: u32> Serialize for str<M> {\n let N: u32 = M;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n let bytes = self.as_bytes();\n let mut fields = [0; Self::N];\n for i in 0..bytes.len() {\n fields[i] = bytes[i] as Field;\n }\n fields\n }\n}\n\n/// Implementation of Deserialize for BoundedVec.\n///\n/// This implementation deserializes a BoundedVec from an array of Fields. The array contains:\n/// 1. The serialized items, each taking up T::N Fields\n/// 2. The length of the BoundedVec as the last Field\n///\n/// # Type Parameters\n/// * `T` - The type of items stored in the BoundedVec, must implement Deserialize\n/// * `M` - The maximum length of the BoundedVec\n///\n/// # Fields Array Layout\n/// [item1_field1, item1_field2, ..., item2_field1, item2_field2, ..., length]\n/// Where:\n/// - itemN_fieldM: The M-th Field of the N-th item (T::N Fields per item)\n/// - length: The number of items in the BoundedVec (1 Field)\n///\n/// Total length N = T::N * M + 1, where:\n/// - T::N is the number of Fields needed to deserialize one item\n/// - M is the maximum length of the BoundedVec\n/// - +1 is for storing the length\n///\n/// # Note\n/// Not deriving this because it's not supported to call derive_deserialize on a \"remote\" struct (and it will never\n/// be supported).\nimpl<T, let M: u32> Deserialize for BoundedVec<T, M>\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N * M + 1;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut new_bounded_vec: BoundedVec<T, M> = BoundedVec::new();\n\n // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n let len = fields[<T as Deserialize>::N * M] as u32;\n\n for i in 0..len {\n let mut nested_fields = [0; <T as Deserialize>::N];\n for j in 0..<T as Deserialize>::N {\n nested_fields[j] = fields[i * <T as Deserialize>::N + j];\n }\n\n let item = T::deserialize(nested_fields);\n new_bounded_vec.push(item);\n }\n\n new_bounded_vec\n }\n}\n\n// This may cause issues if used as program input, because noir disallows empty arrays for program input.\n// I think this is okay because I don't foresee a unit type being used as input. But leaving this comment as a hint\n// if someone does run into this in the future.\nimpl Deserialize for () {\n let N: u32 = 0;\n\n fn deserialize(_fields: [Field; Self::N]) -> Self {\n ()\n }\n}\n\n// Note: Not deriving this because it's not supported to call derive_serialize on a \"remote\" struct (and it will never\n// be supported).\nimpl<T, let M: u32> Serialize for BoundedVec<T, M>\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N * M + 1; // +1 for the length of the BoundedVec\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n let mut fields = [0; Self::N];\n\n let storage = self.storage();\n\n for i in 0..M {\n let serialized_item = storage[i].serialize();\n\n for j in 0..<T as Serialize>::N {\n fields[i * <T as Serialize>::N + j] = serialized_item[j];\n }\n }\n\n // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n fields[<T as Serialize>::N * M] = self.len() as Field;\n\n fields\n }\n}\n\n// docs:start:deserialize\n/// Trait for deserializing Noir types from arrays of Fields.\n///\n/// An implementation of the Deserialize trait has to follow Noir's intrinsic serialization (each member of a struct\n/// converted directly into one or more Fields without any packing or compression). This trait is typically used when\n/// deserializing return values from function calls in Noir. Since the same function could be called from TypeScript\n/// (TS), in which case the TS deserialization would get used, we need to have a match between the 2.\n///\n/// # Associated Constants\n/// * `N` - The length of the input Field array, known at compile time\n///\n/// # Example\n/// ```\n/// impl<let M: u32> Deserialize for str<M> {\n/// let N: u32 = M;\n///\n/// #[inline_always]\n/// fn deserialize(fields: [Field; Self::N]) -> Self {\n/// str::<Self::N>::from(fields.map(|value| value as u8))\n/// }\n/// }\n/// ```\n#[derive_via(derive_deserialize)]\npub trait Deserialize {\n let N: u32;\n\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n\nimpl<let M: u32> Deserialize for str<M> {\n let N: u32 = M;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n str::<Self::N>::from(fields.map(|value| value as u8))\n }\n}\n\n/// Trait for efficiently packing and unpacking Noir types into and from arrays of Fields.\n///\n/// The `Packable` trait allows types to be serialized and deserialized with a focus on minimizing the size of\n/// the resulting Field array. This trait is used when storage efficiency is critical (e.g. when storing data\n/// in the contract's public storage).\n///\n/// # Associated Constants\n/// * `N` - The length of the Field array, known at compile time\n#[derive_via(derive_packable)]\npub trait Packable {\n let N: u32;\n\n /// Packs the current value into a compact array of `Field` elements.\n fn pack(self) -> [Field; N];\n\n /// Unpacks a compact array of `Field` elements into the original value.\n fn unpack(fields: [Field; N]) -> Self;\n}\n\n#[test]\nunconstrained fn bounded_vec_serialization() {\n // Test empty BoundedVec\n let empty_vec: BoundedVec<Field, 3> = BoundedVec::from_array([]);\n let serialized = empty_vec.serialize();\n let deserialized = BoundedVec::<Field, 3>::deserialize(serialized);\n assert_eq(empty_vec, deserialized);\n assert_eq(deserialized.len(), 0);\n\n // Test partially filled BoundedVec\n let partial_vec: BoundedVec<[u32; 2], 3> = BoundedVec::from_array([[1, 2]]);\n let serialized = partial_vec.serialize();\n let deserialized = BoundedVec::<[u32; 2], 3>::deserialize(serialized);\n assert_eq(partial_vec, deserialized);\n assert_eq(deserialized.len(), 1);\n assert_eq(deserialized.get(0), [1, 2]);\n\n // Test full BoundedVec\n let full_vec: BoundedVec<[u32; 2], 3> = BoundedVec::from_array([[1, 2], [3, 4], [5, 6]]);\n let serialized = full_vec.serialize();\n let deserialized = BoundedVec::<[u32; 2], 3>::deserialize(serialized);\n assert_eq(full_vec, deserialized);\n assert_eq(deserialized.len(), 3);\n assert_eq(deserialized.get(0), [1, 2]);\n assert_eq(deserialized.get(1), [3, 4]);\n assert_eq(deserialized.get(2), [5, 6]);\n}\n"
|
|
4909
|
+
},
|
|
4906
4910
|
"39": {
|
|
4907
4911
|
"path": "std/ops/arith.nr",
|
|
4908
4912
|
"source": "use crate::convert::AsPrimitive;\n\n// docs:start:add-trait\npub trait Add {\n fn add(self, other: Self) -> Self;\n}\n// docs:end:add-trait\n\nimpl Add for Field {\n fn add(self, other: Field) -> Field {\n self + other\n }\n}\n\nimpl Add for u128 {\n fn add(self, other: u128) -> u128 {\n self + other\n }\n}\nimpl Add for u64 {\n fn add(self, other: u64) -> u64 {\n self + other\n }\n}\nimpl Add for u32 {\n fn add(self, other: u32) -> u32 {\n self + other\n }\n}\nimpl Add for u16 {\n fn add(self, other: u16) -> u16 {\n self + other\n }\n}\nimpl Add for u8 {\n fn add(self, other: u8) -> u8 {\n self + other\n }\n}\nimpl Add for u1 {\n fn add(self, other: u1) -> u1 {\n self + other\n }\n}\n\nimpl Add for i8 {\n fn add(self, other: i8) -> i8 {\n self + other\n }\n}\nimpl Add for i16 {\n fn add(self, other: i16) -> i16 {\n self + other\n }\n}\nimpl Add for i32 {\n fn add(self, other: i32) -> i32 {\n self + other\n }\n}\nimpl Add for i64 {\n fn add(self, other: i64) -> i64 {\n self + other\n }\n}\n\n// docs:start:sub-trait\npub trait Sub {\n fn sub(self, other: Self) -> Self;\n}\n// docs:end:sub-trait\n\nimpl Sub for Field {\n fn sub(self, other: Field) -> Field {\n self - other\n }\n}\n\nimpl Sub for u128 {\n fn sub(self, other: u128) -> u128 {\n self - other\n }\n}\nimpl Sub for u64 {\n fn sub(self, other: u64) -> u64 {\n self - other\n }\n}\nimpl Sub for u32 {\n fn sub(self, other: u32) -> u32 {\n self - other\n }\n}\nimpl Sub for u16 {\n fn sub(self, other: u16) -> u16 {\n self - other\n }\n}\nimpl Sub for u8 {\n fn sub(self, other: u8) -> u8 {\n self - other\n }\n}\nimpl Sub for u1 {\n fn sub(self, other: u1) -> u1 {\n self - other\n }\n}\n\nimpl Sub for i8 {\n fn sub(self, other: i8) -> i8 {\n self - other\n }\n}\nimpl Sub for i16 {\n fn sub(self, other: i16) -> i16 {\n self - other\n }\n}\nimpl Sub for i32 {\n fn sub(self, other: i32) -> i32 {\n self - other\n }\n}\nimpl Sub for i64 {\n fn sub(self, other: i64) -> i64 {\n self - other\n }\n}\n\n// docs:start:mul-trait\npub trait Mul {\n fn mul(self, other: Self) -> Self;\n}\n// docs:end:mul-trait\n\nimpl Mul for Field {\n fn mul(self, other: Field) -> Field {\n self * other\n }\n}\n\nimpl Mul for u128 {\n fn mul(self, other: u128) -> u128 {\n self * other\n }\n}\nimpl Mul for u64 {\n fn mul(self, other: u64) -> u64 {\n self * other\n }\n}\nimpl Mul for u32 {\n fn mul(self, other: u32) -> u32 {\n self * other\n }\n}\nimpl Mul for u16 {\n fn mul(self, other: u16) -> u16 {\n self * other\n }\n}\nimpl Mul for u8 {\n fn mul(self, other: u8) -> u8 {\n self * other\n }\n}\nimpl Mul for u1 {\n fn mul(self, other: u1) -> u1 {\n self * other\n }\n}\n\nimpl Mul for i8 {\n fn mul(self, other: i8) -> i8 {\n self * other\n }\n}\nimpl Mul for i16 {\n fn mul(self, other: i16) -> i16 {\n self * other\n }\n}\nimpl Mul for i32 {\n fn mul(self, other: i32) -> i32 {\n self * other\n }\n}\nimpl Mul for i64 {\n fn mul(self, other: i64) -> i64 {\n self * other\n }\n}\n\n// docs:start:div-trait\npub trait Div {\n fn div(self, other: Self) -> Self;\n}\n// docs:end:div-trait\n\nimpl Div for Field {\n fn div(self, other: Field) -> Field {\n self / other\n }\n}\n\nimpl Div for u128 {\n fn div(self, other: u128) -> u128 {\n self / other\n }\n}\nimpl Div for u64 {\n fn div(self, other: u64) -> u64 {\n self / other\n }\n}\nimpl Div for u32 {\n fn div(self, other: u32) -> u32 {\n self / other\n }\n}\nimpl Div for u16 {\n fn div(self, other: u16) -> u16 {\n self / other\n }\n}\nimpl Div for u8 {\n fn div(self, other: u8) -> u8 {\n self / other\n }\n}\nimpl Div for u1 {\n fn div(self, other: u1) -> u1 {\n self / other\n }\n}\n\nimpl Div for i8 {\n fn div(self, other: i8) -> i8 {\n self / other\n }\n}\nimpl Div for i16 {\n fn div(self, other: i16) -> i16 {\n self / other\n }\n}\nimpl Div for i32 {\n fn div(self, other: i32) -> i32 {\n self / other\n }\n}\nimpl Div for i64 {\n fn div(self, other: i64) -> i64 {\n self / other\n }\n}\n\n// docs:start:rem-trait\npub trait Rem {\n fn rem(self, other: Self) -> Self;\n}\n// docs:end:rem-trait\n\nimpl Rem for u128 {\n fn rem(self, other: u128) -> u128 {\n self % other\n }\n}\nimpl Rem for u64 {\n fn rem(self, other: u64) -> u64 {\n self % other\n }\n}\nimpl Rem for u32 {\n fn rem(self, other: u32) -> u32 {\n self % other\n }\n}\nimpl Rem for u16 {\n fn rem(self, other: u16) -> u16 {\n self % other\n }\n}\nimpl Rem for u8 {\n fn rem(self, other: u8) -> u8 {\n self % other\n }\n}\nimpl Rem for u1 {\n fn rem(self, other: u1) -> u1 {\n self % other\n }\n}\n\nimpl Rem for i8 {\n fn rem(self, other: i8) -> i8 {\n self % other\n }\n}\nimpl Rem for i16 {\n fn rem(self, other: i16) -> i16 {\n self % other\n }\n}\nimpl Rem for i32 {\n fn rem(self, other: i32) -> i32 {\n self % other\n }\n}\nimpl Rem for i64 {\n fn rem(self, other: i64) -> i64 {\n self % other\n }\n}\n\n// docs:start:neg-trait\npub trait Neg {\n fn neg(self) -> Self;\n}\n// docs:end:neg-trait\n\n// docs:start:neg-trait-impls\nimpl Neg for Field {\n fn neg(self) -> Field {\n -self\n }\n}\n\nimpl Neg for i8 {\n fn neg(self) -> i8 {\n -self\n }\n}\nimpl Neg for i16 {\n fn neg(self) -> i16 {\n -self\n }\n}\nimpl Neg for i32 {\n fn neg(self) -> i32 {\n -self\n }\n}\nimpl Neg for i64 {\n fn neg(self) -> i64 {\n -self\n }\n}\n// docs:end:neg-trait-impls\n\n// docs:start:wrapping-add-trait\npub trait WrappingAdd {\n fn wrapping_add(self, y: Self) -> Self;\n}\n// docs:end:wrapping-add-trait\n\nimpl WrappingAdd for u1 {\n fn wrapping_add(self: u1, y: u1) -> u1 {\n self ^ y\n }\n}\n\nimpl WrappingAdd for u8 {\n fn wrapping_add(self: u8, y: u8) -> u8 {\n wrapping_add_hlp(self, y)\n }\n}\n\nimpl WrappingAdd for u16 {\n fn wrapping_add(self: u16, y: u16) -> u16 {\n wrapping_add_hlp(self, y)\n }\n}\n\nimpl WrappingAdd for u32 {\n fn wrapping_add(self: u32, y: u32) -> u32 {\n wrapping_add_hlp(self, y)\n }\n}\n\nimpl WrappingAdd for u64 {\n fn wrapping_add(self: u64, y: u64) -> u64 {\n wrapping_add_hlp(self, y)\n }\n}\n\nimpl WrappingAdd for u128 {\n fn wrapping_add(self: u128, y: u128) -> u128 {\n wrapping_add_hlp(self, y)\n }\n}\n\nimpl WrappingAdd for i8 {\n fn wrapping_add(self: i8, y: i8) -> i8 {\n let x = self as u8;\n x.wrapping_add(y as u8) as i8\n }\n}\n\nimpl WrappingAdd for i16 {\n fn wrapping_add(self: i16, y: i16) -> i16 {\n let x = self as u16;\n x.wrapping_add(y as u16) as i16\n }\n}\n\nimpl WrappingAdd for i32 {\n fn wrapping_add(self: i32, y: i32) -> i32 {\n let x = self as u32;\n x.wrapping_add(y as u32) as i32\n }\n}\n\nimpl WrappingAdd for i64 {\n fn wrapping_add(self: i64, y: i64) -> i64 {\n let x = self as u64;\n x.wrapping_add(y as u64) as i64\n }\n}\nimpl WrappingAdd for Field {\n fn wrapping_add(self: Field, y: Field) -> Field {\n self + y\n }\n}\n\n// docs:start:wrapping-sub-trait\npub trait WrappingSub {\n fn wrapping_sub(self, y: Self) -> Self;\n}\n// docs:start:wrapping-sub-trait\n\nimpl WrappingSub for u1 {\n fn wrapping_sub(self: u1, y: u1) -> u1 {\n self ^ y\n }\n}\n\nimpl WrappingSub for u8 {\n fn wrapping_sub(self: u8, y: u8) -> u8 {\n wrapping_sub_hlp(self, y) as u8\n }\n}\n\nimpl WrappingSub for u16 {\n fn wrapping_sub(self: u16, y: u16) -> u16 {\n wrapping_sub_hlp(self, y) as u16\n }\n}\n\nimpl WrappingSub for u32 {\n fn wrapping_sub(self: u32, y: u32) -> u32 {\n wrapping_sub_hlp(self, y) as u32\n }\n}\nimpl WrappingSub for u64 {\n fn wrapping_sub(self: u64, y: u64) -> u64 {\n wrapping_sub_hlp(self, y) as u64\n }\n}\nimpl WrappingSub for u128 {\n fn wrapping_sub(self: u128, y: u128) -> u128 {\n wrapping_sub_hlp(self, y) as u128\n }\n}\n\nimpl WrappingSub for i8 {\n fn wrapping_sub(self: i8, y: i8) -> i8 {\n let x = self as u8;\n x.wrapping_sub(y as u8) as i8\n }\n}\n\nimpl WrappingSub for i16 {\n fn wrapping_sub(self: i16, y: i16) -> i16 {\n let x = self as u16;\n x.wrapping_sub(y as u16) as i16\n }\n}\n\nimpl WrappingSub for i32 {\n fn wrapping_sub(self: i32, y: i32) -> i32 {\n let x = self as u32;\n x.wrapping_sub(y as u32) as i32\n }\n}\nimpl WrappingSub for i64 {\n fn wrapping_sub(self: i64, y: i64) -> i64 {\n let x = self as u64;\n x.wrapping_sub(y as u64) as i64\n }\n}\nimpl WrappingSub for Field {\n fn wrapping_sub(self: Field, y: Field) -> Field {\n self - y\n }\n}\n\n// docs:start:wrapping-mul-trait\npub trait WrappingMul {\n fn wrapping_mul(self, y: Self) -> Self;\n}\n// docs:start:wrapping-mul-trait\n\nimpl WrappingMul for u1 {\n fn wrapping_mul(self: u1, y: u1) -> u1 {\n self & y\n }\n}\n\nimpl WrappingMul for u8 {\n fn wrapping_mul(self: u8, y: u8) -> u8 {\n wrapping_mul_hlp(self, y)\n }\n}\n\nimpl WrappingMul for u16 {\n fn wrapping_mul(self: u16, y: u16) -> u16 {\n wrapping_mul_hlp(self, y)\n }\n}\n\nimpl WrappingMul for u32 {\n fn wrapping_mul(self: u32, y: u32) -> u32 {\n wrapping_mul_hlp(self, y)\n }\n}\nimpl WrappingMul for u64 {\n fn wrapping_mul(self: u64, y: u64) -> u64 {\n wrapping_mul_hlp(self, y)\n }\n}\n\nimpl WrappingMul for i8 {\n fn wrapping_mul(self: i8, y: i8) -> i8 {\n let x = self as u8;\n x.wrapping_mul(y as u8) as i8\n }\n}\n\nimpl WrappingMul for i16 {\n fn wrapping_mul(self: i16, y: i16) -> i16 {\n let x = self as u16;\n x.wrapping_mul(y as u16) as i16\n }\n}\n\nimpl WrappingMul for i32 {\n fn wrapping_mul(self: i32, y: i32) -> i32 {\n let x = self as u32;\n x.wrapping_mul(y as u32) as i32\n }\n}\n\nimpl WrappingMul for i64 {\n fn wrapping_mul(self: i64, y: i64) -> i64 {\n let x = self as u64;\n x.wrapping_mul(y as u64) as i64\n }\n}\n\nimpl WrappingMul for u128 {\n fn wrapping_mul(self: u128, y: u128) -> u128 {\n wrapping_mul128_hlp(self, y)\n }\n}\nimpl WrappingMul for Field {\n fn wrapping_mul(self: Field, y: Field) -> Field {\n self * y\n }\n}\n\nfn wrapping_add_hlp<T>(x: T, y: T) -> T\nwhere\n T: AsPrimitive<Field>,\n Field: AsPrimitive<T>,\n{\n AsPrimitive::as_(x.as_() + y.as_())\n}\n\nfn wrapping_sub_hlp<T>(x: T, y: T) -> Field\nwhere\n T: AsPrimitive<Field>,\n{\n //340282366920938463463374607431768211456 is 2^128, it is used to avoid underflow\n x.as_() + 340282366920938463463374607431768211456 - y.as_()\n}\n\nfn wrapping_mul_hlp<T>(x: T, y: T) -> T\nwhere\n T: AsPrimitive<Field>,\n Field: AsPrimitive<T>,\n{\n AsPrimitive::as_(x.as_() * y.as_())\n}\n\nglobal two_pow_64: u128 = 0x10000000000000000;\n/// Splits a 128 bits number into two 64 bits limbs\nunconstrained fn split64(x: u128) -> (u64, u64) {\n let lo = x as u64;\n let hi = (x / two_pow_64) as u64;\n (lo, hi)\n}\n\n/// Split a 128 bits number into two 64 bits limbs\n/// It will fail if the number is more than 128 bits\nfn split_into_64_bit_limbs(x: u128) -> (u64, u64) {\n // Safety: the limbs are constrained below\n let (x_lo, x_hi) = unsafe { split64(x) };\n assert(x as Field == x_lo as Field + x_hi as Field * two_pow_64 as Field);\n (x_lo, x_hi)\n}\n\n#[field(bn254)]\nfn wrapping_mul128_hlp(x: u128, y: u128) -> u128 {\n let (x_lo, x_hi) = split_into_64_bit_limbs(x);\n let (y_lo, y_hi) = split_into_64_bit_limbs(y);\n // Multiplication using the limbs:(x_lo + 2**64*x_hi)*(y_lo + 2**64*y_hi)=x_lo*y_lo+...\n // and skipping the terms over 2**128\n // Working with u64 limbs ensures that we cannot overflow the field modulus.\n let low = x_lo as Field * y_lo as Field;\n let lo = low as u64 as Field;\n let carry = (low - lo) / two_pow_64 as Field;\n let high = x_lo as Field * y_hi as Field + x_hi as Field * y_lo as Field + carry;\n let hi = high as u64 as Field;\n (lo + two_pow_64 as Field * hi) as u128\n}\n\nmod tests {\n #[test(should_fail_with = \"custom message\")]\n fn test_static_assert_custom_message() {\n crate::static_assert(1 == 2, \"custom message\");\n }\n\n mod arithmetic {\n use crate::ops::arith::{Add, Div, Mul, Neg, Rem, Sub};\n #[test]\n fn test_basic_arithmetic_traits() {\n // add\n assert_eq(5.add(3), 8);\n assert_eq(0u8.add(255u8), 255u8);\n assert_eq(42.add(58), 100);\n\n // sub\n assert_eq(10.sub(3), 7);\n assert_eq(100.sub(42), 58);\n\n // mul\n assert_eq(6.mul(7), 42);\n\n // div\n assert_eq(15.div(3), 5);\n assert_eq(10u8.div(3u8), 3u8);\n assert_eq(15.div(3), 5);\n\n // rem\n assert_eq(17.rem(5), 2);\n assert_eq(10u8.rem(3u8), 1u8);\n\n // neg\n assert_eq(42.neg(), -42);\n assert_eq((-10).neg(), 10);\n assert_eq(42.neg(), -42);\n }\n\n #[test]\n fn test_division() {\n // test division by one\n assert_eq(42.div(1), 42);\n assert_eq(0.div(1), 0);\n assert_eq(255u8.div(1u8), 255u8);\n\n // test division by self\n assert_eq(42.div(42), 1);\n assert_eq(1.div(1), 1);\n\n // test remainder\n assert_eq(42.rem(42), 0);\n assert_eq(0.rem(42), 0);\n assert_eq(1.rem(42), 1);\n }\n\n #[test(should_fail)]\n fn test_u8_sub_overflow_failure() {\n let _ = 0u8.sub(1u8);\n }\n\n #[test(should_fail)]\n fn test_u8_add_overflow_failure() {\n let _ = 255u8.add(1u8);\n }\n\n #[test(should_fail)]\n fn test_u8_mul_overflow_failure() {\n let _ = 255u8.mul(2u8);\n }\n\n #[test(should_fail)]\n fn test_u16_sub_overflow_failure() {\n let _ = 0u16.sub(1u16);\n }\n\n #[test(should_fail)]\n fn test_u16_add_overflow_failure() {\n let _ = 65535u16.add(1u16);\n }\n\n #[test(should_fail)]\n fn test_u16_mul_overflow_failure() {\n let _ = 65535u16.mul(2u16);\n }\n\n #[test(should_fail)]\n fn test_signed_sub_overflow_failure() {\n let val: i8 = -128;\n let _ = val.sub(1i8);\n }\n\n #[test(should_fail)]\n fn test_signed_overflow_failure() {\n let _ = 127i8.add(1i8);\n }\n\n #[test]\n fn test_field() {\n let zero: Field = 0;\n let one: Field = 1;\n\n // test Field basic operations\n assert_eq(zero.add(one), one);\n assert_eq(one.add(zero), one);\n assert_eq(one.sub(one), zero);\n assert_eq(one.mul(one), one);\n assert_eq(one.div(one), one);\n assert_eq(zero.neg(), zero);\n assert_eq(one.neg(), -one);\n }\n\n }\n\n mod wrapping_arithmetic {\n use crate::ops::arith::{Add, Div, Mul, Neg, Sub, WrappingAdd, WrappingMul, WrappingSub};\n #[test]\n fn test_wrapping_add() {\n assert_eq(255u8.wrapping_add(1u8), 0u8);\n assert_eq(255u8.wrapping_add(255u8), 254u8);\n assert_eq(0u8.wrapping_add(0u8), 0u8);\n assert_eq(128u8.wrapping_add(128u8), 0u8);\n\n // test u16 wrapping add\n assert_eq(65535u16.wrapping_add(1u16), 0u16);\n assert_eq(65535u16.wrapping_add(65535u16), 65534u16);\n\n // test u32 wrapping add\n assert_eq(0xffffffffu32.wrapping_add(1u32), 0u32);\n assert_eq(0xffffffffu32.wrapping_add(0xffffffffu32), 0xfffffffeu32);\n\n // test u64 wrapping add\n assert_eq(0xffffffffffffffffu64.wrapping_add(1u64), 0u64);\n assert_eq(\n 0xffffffffffffffffu64.wrapping_add(0xffffffffffffffffu64),\n 0xfffffffffffffffeu64,\n );\n\n // test u128 wrapping add\n assert_eq(0xffffffffffffffffffffffffffffffffu128.wrapping_add(1u128), 0u128);\n\n // test signed types\n assert_eq(127i8.wrapping_add(1i8), -128i8);\n let val: i8 = -128;\n assert_eq(val.wrapping_add(-1i8), 127i8);\n\n // test Field wrapping add\n let forty_two: Field = 42;\n let fifty_eight: Field = 58;\n let hundred: Field = 100;\n let neg_two: Field = -2;\n let two: Field = 2;\n let zero: Field = 0;\n let neg_two_hundred: Field = -200;\n let neg_one_ninety_eight: Field = -198;\n assert_eq(forty_two.wrapping_add(fifty_eight), hundred);\n assert_eq(neg_two.wrapping_add(two), zero);\n assert_eq(neg_two_hundred.wrapping_add(two), neg_one_ninety_eight);\n }\n\n #[test]\n fn test_wrapping_sub() {\n assert_eq(0u8.wrapping_sub(1u8), 255u8);\n assert_eq(255u8.wrapping_sub(255u8), 0u8);\n assert_eq(0u8.wrapping_sub(0u8), 0u8);\n assert_eq(1u8.wrapping_sub(2u8), 255u8);\n\n // test u16 wrapping sub\n assert_eq(0u16.wrapping_sub(1u16), 65535u16);\n assert_eq(65535u16.wrapping_sub(65535u16), 0u16);\n\n // test u32 wrapping sub\n assert_eq(0u32.wrapping_sub(1u32), 0xffffffffu32);\n assert_eq(0xffffffffu32.wrapping_sub(0xffffffffu32), 0u32);\n\n // test u64 wrapping sub\n assert_eq(0u64.wrapping_sub(1u64), 0xffffffffffffffffu64);\n assert_eq(0xffffffffffffffffu64.wrapping_sub(0xffffffffffffffffu64), 0u64);\n\n // test u128 wrapping sub\n assert_eq(0u128.wrapping_sub(1u128), 0xffffffffffffffffffffffffffffffffu128);\n\n // test signed types\n let val: i8 = -128;\n assert_eq(val.wrapping_sub(1i8), 127i8);\n assert_eq(127i8.wrapping_sub(-1i8), -128i8);\n\n // test Field wrapping sub\n let forty_two: Field = 42;\n let fifty_eight: Field = 58;\n let neg_sixteen: Field = -16;\n assert_eq(forty_two.wrapping_sub(fifty_eight), neg_sixteen);\n }\n\n #[test]\n fn test_wrapping_mul() {\n let zero: u128 = 0;\n let one: u128 = 1;\n let two_pow_64: u128 = 0x10000000000000000;\n let u128_max: u128 = 0xffffffffffffffffffffffffffffffff;\n\n assert_eq(zero, zero.wrapping_mul(one));\n assert_eq(zero, one.wrapping_mul(zero));\n assert_eq(one, one.wrapping_mul(one));\n assert_eq(zero, zero.wrapping_mul(two_pow_64));\n assert_eq(zero, two_pow_64.wrapping_mul(zero));\n assert_eq(two_pow_64, two_pow_64.wrapping_mul(one));\n assert_eq(two_pow_64, one.wrapping_mul(two_pow_64));\n assert_eq(zero, two_pow_64.wrapping_mul(two_pow_64));\n assert_eq(one, u128_max.wrapping_mul(u128_max));\n\n // test u8 wrapping mul\n assert_eq(255u8.wrapping_mul(2u8), 254u8);\n assert_eq(255u8.wrapping_mul(255u8), 1u8);\n assert_eq(128u8.wrapping_mul(2u8), 0u8);\n\n // test u16 wrapping mul\n assert_eq(65535u16.wrapping_mul(2u16), 65534u16);\n assert_eq(65535u16.wrapping_mul(65535u16), 1u16);\n\n // test u32 wrapping mul\n assert_eq(0xffffffffu32.wrapping_mul(2u32), 0xfffffffeu32);\n assert_eq(0xffffffffu32.wrapping_mul(0xffffffffu32), 1u32);\n\n // test u64 wrapping mul\n // 0xffffffffffffffffu64 is 2^64 - 1\n assert_eq(0xffffffffffffffffu64.wrapping_mul(2u64), 0xfffffffffffffffeu64);\n assert_eq(0xffffffffffffffffu64.wrapping_mul(0xffffffffffffffffu64), 1u64);\n\n // test signed types\n assert_eq(127i8.wrapping_mul(2i8), -2i8);\n let val: i8 = -128;\n assert_eq(val.wrapping_mul(-1i8), -128i8);\n\n // test Field wrapping mul\n let six: Field = 6;\n let seven: Field = 7;\n let forty_two: Field = 42;\n let neg_two: Field = -2;\n let two: Field = 2;\n let neg_four: Field = -4;\n assert_eq(six.wrapping_mul(seven), forty_two);\n assert_eq(neg_two.wrapping_mul(two), neg_four);\n }\n\n #[test]\n fn test_u1_behavior() {\n // u1 wrapping add is XOR\n assert_eq(0u1.wrapping_add(0u1), 0u1);\n assert_eq(0u1.wrapping_add(1u1), 1u1);\n assert_eq(1u1.wrapping_add(0u1), 1u1);\n assert_eq(1u1.wrapping_add(1u1), 0u1);\n\n // u1 wrapping sub is XOR\n assert_eq(0u1.wrapping_sub(0u1), 0u1);\n assert_eq(0u1.wrapping_sub(1u1), 1u1);\n assert_eq(1u1.wrapping_sub(0u1), 1u1);\n assert_eq(1u1.wrapping_sub(1u1), 0u1);\n\n // u1 wrapping mul is AND\n assert_eq(0u1.wrapping_mul(0u1), 0u1);\n assert_eq(0u1.wrapping_mul(1u1), 0u1);\n assert_eq(1u1.wrapping_mul(0u1), 0u1);\n assert_eq(1u1.wrapping_mul(1u1), 1u1);\n }\n\n // test wrapping operations is the same as the regular operations\n #[test]\n fn test_wrapping_vs_regular() {\n let u64_large = 0x123456789abcdef0u64;\n let u128_large = 0x123456789abcdef0123456789abcdef0u128;\n\n assert_eq(u64_large.wrapping_add(1u64), u64_large + 1u64);\n assert_eq(u64_large.wrapping_sub(1u64), u64_large - 1u64);\n assert_eq(u64_large.wrapping_mul(2u64), u64_large * 2u64);\n\n assert_eq(u128_large.wrapping_add(1u128), u128_large + 1u128);\n assert_eq(u128_large.wrapping_sub(1u128), u128_large - 1u128);\n assert_eq(u128_large.wrapping_mul(2u128), u128_large * 2u128);\n }\n\n #[test]\n fn test_field_wrapping_operations() {\n let zero: Field = 0;\n let one: Field = 1;\n let large_val = 0xffffffffffffffff;\n\n // test Field wrapping operations\n assert_eq(zero.wrapping_add(one), one);\n assert_eq(one.wrapping_add(large_val), one + large_val);\n assert_eq(zero.wrapping_sub(one), -one);\n assert_eq(one.wrapping_sub(large_val), one - large_val);\n assert_eq(zero.wrapping_mul(one), zero);\n assert_eq(one.wrapping_mul(large_val), large_val);\n\n // test Field basic operations\n assert_eq(zero.add(one), one);\n assert_eq(one.add(zero), one);\n assert_eq(one.sub(one), zero);\n assert_eq(one.mul(one), one);\n assert_eq(one.div(one), one);\n assert_eq(zero.neg(), zero);\n assert_eq(one.neg(), -one);\n }\n\n }\n\n mod split_functions {\n\n use crate::ops::arith::{split64, split_into_64_bit_limbs};\n\n // test split64 and split_into_64_bit_limbs functions\n #[test]\n fn test_split_functions() {\n let small_val = 0x123456789abcdefu128;\n let large_val = 0x123456789abcdef0123456789abcdef0u128;\n let max_val = 0xffffffffffffffffffffffffffffffffu128;\n\n // test split64 (unconstrained)\n // Safety: testing\n unsafe {\n let (lo, hi) = split64(small_val);\n assert_eq(lo, 0x123456789abcdefu64);\n assert_eq(hi, 0u64);\n\n let (lo2, hi2) = split64(large_val);\n assert_eq(lo2, 0x123456789abcdef0u64);\n assert_eq(hi2, 0x123456789abcdef0u64);\n }\n\n // test split_into_64_bit_limbs (constrained)\n let (lo3, hi3) = split_into_64_bit_limbs(small_val);\n assert_eq(lo3, 0x123456789abcdefu64);\n assert_eq(hi3, 0u64);\n\n let (lo4, hi4) = split_into_64_bit_limbs(large_val);\n assert_eq(lo4, 0x123456789abcdef0u64);\n assert_eq(hi4, 0x123456789abcdef0u64);\n\n let (lo5, hi5) = split_into_64_bit_limbs(max_val);\n assert_eq(lo5, 0xffffffffffffffffu64);\n assert_eq(hi5, 0xffffffffffffffffu64);\n }\n }\n}\n"
|
|
4909
4913
|
},
|
|
4910
|
-
"
|
|
4911
|
-
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/traits.nr",
|
|
4912
|
-
"source": "use crate::meta::{derive_deserialize, derive_packable, derive_serialize};\nuse crate::utils::field::field_from_bytes;\n\n// Trait: is_empty\n//\n// The general is_empty trait checks if a data type is is empty,\n// and it defines empty for the basic data types as 0.\n//\n// If a Field is equal to zero, then it is regarded as zero.\n// We will go with this definition for now, however it can be problematic\n// if a value can actually be zero. In a future refactor, we can\n// use the optional type for safety. Doing it now would lead to a worse devex\n// and would make it harder to sync up with the cpp code.\n// Preferred over Default trait to convey intent, as default doesn't necessarily mean empty.\npub trait Empty: Eq {\n fn empty() -> Self;\n\n fn is_empty(self) -> bool {\n self.eq(Self::empty())\n }\n\n // Requires this Noir fix: https://github.com/noir-lang/noir/issues/9002\n // fn assert_not_empty<let U: u32>(self, msg: str<U>) { // This msg version was failing with weird compiler errors.\n // // We provide a default impl but it's likely inefficient.\n // // The reason we include this function is because there's a lot of\n // // opportunity for optimisation on a per-struct basis.\n // // You only need to show one element is not empty to know that the whole thing\n // // is not empty.\n // // If you know an element of your struct which should always be nonempty,\n // // you can write an impl that solely checks that that element is nonempty.\n // assert(!self.is_empty(), msg);\n // }\n\n // This default impl is overwritten by types like arrays, because there's a much\n // more efficient approach.\n fn assert_empty<let S: u32>(self, msg: str<S>) {\n assert(self.is_empty(), msg);\n }\n}\n\nimpl Empty for Field {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\n\nimpl Empty for bool {\n #[inline_always]\n fn empty() -> Self {\n false\n }\n}\n\nimpl Empty for u1 {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u8 {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u16 {\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u32 {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u64 {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\nimpl Empty for u128 {\n #[inline_always]\n fn empty() -> Self {\n 0\n }\n}\n\nimpl<T, let N: u32> Empty for [T; N]\nwhere\n T: Empty,\n{\n #[inline_always]\n fn empty() -> Self {\n [T::empty(); N]\n }\n\n fn is_empty(self) -> bool {\n self.all(|elem| elem.is_empty())\n }\n\n fn assert_empty<let S: u32>(self, msg: str<S>) -> () {\n self.for_each(|elem| elem.assert_empty(msg))\n }\n}\n\nimpl<T> Empty for [T]\nwhere\n T: Empty,\n{\n #[inline_always]\n fn empty() -> Self {\n [T::empty()]\n }\n\n fn is_empty(self) -> bool {\n self.all(|elem| elem.is_empty())\n }\n\n fn assert_empty<let S: u32>(self, msg: str<S>) -> () {\n self.for_each(|elem| elem.assert_empty(msg))\n }\n}\nimpl<A, B> Empty for (A, B)\nwhere\n A: Empty,\n B: Empty,\n{\n #[inline_always]\n fn empty() -> Self {\n (A::empty(), B::empty())\n }\n}\n\nimpl<T> Empty for Option<T>\nwhere\n T: Eq,\n{\n #[inline_always]\n fn empty() -> Self {\n Option::none()\n }\n}\n\n// pub fn is_empty<T>(item: T) -> bool\n// where\n// T: Empty,\n// {\n// item.eq(T::empty())\n// }\n\n// pub fn is_empty_array<T, let N: u32>(array: [T; N]) -> bool\n// where\n// T: Empty,\n// {\n// array.all(|elem| is_empty(elem))\n// }\n\n// pub fn assert_empty<T>(item: T) -> ()\n// where\n// T: Empty,\n// {\n// assert(item.eq(T::empty()))\n// }\n\n// pub fn assert_empty_array<T, let N: u32>(array: [T; N]) -> ()\n// where\n// T: Empty,\n// {\n// // A cheaper option than `is_empty_array` for if you don't need to gracefully\n// // handle a bool result.\n// // Avoids the `&` operator of `is_empty_array`'s `.all()` call.\n// for i in 0..N {\n// assert(is_empty(array[i]));\n// }\n// }\n\npub trait Hash {\n fn hash(self) -> Field;\n}\n\npub trait ToField {\n fn to_field(self) -> Field;\n}\n\nimpl ToField for Field {\n #[inline_always]\n fn to_field(self) -> Field {\n self\n }\n}\n\nimpl ToField for bool {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u1 {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u8 {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u16 {\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u32 {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u64 {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl ToField for u128 {\n #[inline_always]\n fn to_field(self) -> Field {\n self as Field\n }\n}\nimpl<let N: u32> ToField for str<N> {\n #[inline_always]\n fn to_field(self) -> Field {\n assert(N < 32, \"String doesn't fit in a field, consider using Serialize instead\");\n field_from_bytes(self.as_bytes(), true)\n }\n}\n\npub trait FromField {\n fn from_field(value: Field) -> Self;\n}\n\nimpl FromField for Field {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value\n }\n}\n\nimpl FromField for bool {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value != 0\n }\n}\nimpl FromField for u1 {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value as u1\n }\n}\nimpl FromField for u8 {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value as u8\n }\n}\nimpl FromField for u16 {\n fn from_field(value: Field) -> Self {\n value as u16\n }\n}\nimpl FromField for u32 {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value as u32\n }\n}\nimpl FromField for u64 {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value as u64\n }\n}\nimpl FromField for u128 {\n #[inline_always]\n fn from_field(value: Field) -> Self {\n value as u128\n }\n}\n\n// docs:start:serialize\n/// Trait for serializing Noir types into arrays of Fields.\n///\n/// An implementation of the Serialize trait has to follow Noir's intrinsic serialization (each member of a struct\n/// converted directly into one or more Fields without any packing or compression). This trait (and Deserialize) are\n/// typically used to communicate between Noir and TypeScript (via oracles and function arguments).\n///\n/// # On Following Noir's Intrinsic Serialization\n/// When calling a Noir function from TypeScript (TS), first the function arguments are serialized into an array\n/// of fields. This array is then included in the initial witness. Noir's intrinsic serialization is then used\n/// to deserialize the arguments from the witness. When the same Noir function is called from Noir this Serialize trait\n/// is used instead of the serialization in TS. For this reason we need to have a match between TS serialization,\n/// Noir's intrinsic serialization and the implementation of this trait. If there is a mismatch, the function calls\n/// fail with an arguments hash mismatch error message.\n///\n/// # Associated Constants\n/// * `N` - The length of the output Field array, known at compile time\n///\n/// # Example\n/// ```\n/// impl<let N: u32> Serialize for str<N> {\n/// let N: u32 = N;\n///\n/// fn serialize(self) -> [Field; Self::N] {\n/// let bytes = self.as_bytes();\n/// let mut fields = [0; Self::N];\n/// for i in 0..bytes.len() {\n/// fields[i] = bytes[i] as Field; // Each byte gets its own Field\n/// }\n/// fields\n/// }\n/// }\n/// ```\n#[derive_via(derive_serialize)]\npub trait Serialize {\n let N: u32;\n\n fn serialize(self) -> [Field; N];\n}\n// docs:end:serialize\n\nimpl<let M: u32> Serialize for str<M> {\n let N: u32 = M;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n let bytes = self.as_bytes();\n let mut fields = [0; Self::N];\n for i in 0..bytes.len() {\n fields[i] = bytes[i] as Field;\n }\n fields\n }\n}\n\n/// Implementation of Deserialize for BoundedVec.\n///\n/// This implementation deserializes a BoundedVec from an array of Fields. The array contains:\n/// 1. The serialized items, each taking up T::N Fields\n/// 2. The length of the BoundedVec as the last Field\n///\n/// # Type Parameters\n/// * `T` - The type of items stored in the BoundedVec, must implement Deserialize\n/// * `M` - The maximum length of the BoundedVec\n///\n/// # Fields Array Layout\n/// [item1_field1, item1_field2, ..., item2_field1, item2_field2, ..., length]\n/// Where:\n/// - itemN_fieldM: The M-th Field of the N-th item (T::N Fields per item)\n/// - length: The number of items in the BoundedVec (1 Field)\n///\n/// Total length N = T::N * M + 1, where:\n/// - T::N is the number of Fields needed to deserialize one item\n/// - M is the maximum length of the BoundedVec\n/// - +1 is for storing the length\n///\n/// # Note\n/// Not deriving this because it's not supported to call derive_deserialize on a \"remote\" struct (and it will never\n/// be supported).\nimpl<T, let M: u32> Deserialize for BoundedVec<T, M>\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N * M + 1;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut new_bounded_vec: BoundedVec<T, M> = BoundedVec::new();\n\n // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n let len = fields[<T as Deserialize>::N * M] as u32;\n\n for i in 0..len {\n let mut nested_fields = [0; <T as Deserialize>::N];\n for j in 0..<T as Deserialize>::N {\n nested_fields[j] = fields[i * <T as Deserialize>::N + j];\n }\n\n let item = T::deserialize(nested_fields);\n new_bounded_vec.push(item);\n }\n\n new_bounded_vec\n }\n}\n\n// This may cause issues if used as program input, because noir disallows empty arrays for program input.\n// I think this is okay because I don't foresee a unit type being used as input. But leaving this comment as a hint\n// if someone does run into this in the future.\nimpl Deserialize for () {\n let N: u32 = 0;\n\n fn deserialize(_fields: [Field; Self::N]) -> Self {\n ()\n }\n}\n\n// Note: Not deriving this because it's not supported to call derive_serialize on a \"remote\" struct (and it will never\n// be supported).\nimpl<T, let M: u32> Serialize for BoundedVec<T, M>\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N * M + 1; // +1 for the length of the BoundedVec\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n let mut fields = [0; Self::N];\n\n let storage = self.storage();\n\n for i in 0..M {\n let serialized_item = storage[i].serialize();\n\n for j in 0..<T as Serialize>::N {\n fields[i * <T as Serialize>::N + j] = serialized_item[j];\n }\n }\n\n // Length is stored in the last field as we need to match intrinsic Noir serialization and the `len` struct\n // field is after `storage` struct field (see `bounded_vec.nr` in noir-stdlib)\n fields[<T as Serialize>::N * M] = self.len() as Field;\n\n fields\n }\n}\n\n// docs:start:deserialize\n/// Trait for deserializing Noir types from arrays of Fields.\n///\n/// An implementation of the Deserialize trait has to follow Noir's intrinsic serialization (each member of a struct\n/// converted directly into one or more Fields without any packing or compression). This trait is typically used when\n/// deserializing return values from function calls in Noir. Since the same function could be called from TypeScript\n/// (TS), in which case the TS deserialization would get used, we need to have a match between the 2.\n///\n/// # Associated Constants\n/// * `N` - The length of the input Field array, known at compile time\n///\n/// # Example\n/// ```\n/// impl<let M: u32> Deserialize for str<M> {\n/// let N: u32 = M;\n///\n/// #[inline_always]\n/// fn deserialize(fields: [Field; Self::N]) -> Self {\n/// str::<Self::N>::from(fields.map(|value| value as u8))\n/// }\n/// }\n/// ```\n#[derive_via(derive_deserialize)]\npub trait Deserialize {\n let N: u32;\n\n fn deserialize(fields: [Field; N]) -> Self;\n}\n// docs:end:deserialize\n\nimpl<let M: u32> Deserialize for str<M> {\n let N: u32 = M;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n str::<Self::N>::from(fields.map(|value| value as u8))\n }\n}\n\n/// Trait for efficiently packing and unpacking Noir types into and from arrays of Fields.\n///\n/// The `Packable` trait allows types to be serialized and deserialized with a focus on minimizing the size of\n/// the resulting Field array. This trait is used when storage efficiency is critical (e.g. when storing data\n/// in the contract's public storage).\n///\n/// # Associated Constants\n/// * `N` - The length of the Field array, known at compile time\n#[derive_via(derive_packable)]\npub trait Packable {\n let N: u32;\n\n /// Packs the current value into a compact array of `Field` elements.\n fn pack(self) -> [Field; N];\n\n /// Unpacks a compact array of `Field` elements into the original value.\n fn unpack(fields: [Field; N]) -> Self;\n}\n\n#[test]\nunconstrained fn bounded_vec_serialization() {\n // Test empty BoundedVec\n let empty_vec: BoundedVec<Field, 3> = BoundedVec::from_array([]);\n let serialized = empty_vec.serialize();\n let deserialized = BoundedVec::<Field, 3>::deserialize(serialized);\n assert_eq(empty_vec, deserialized);\n assert_eq(deserialized.len(), 0);\n\n // Test partially filled BoundedVec\n let partial_vec: BoundedVec<[u32; 2], 3> = BoundedVec::from_array([[1, 2]]);\n let serialized = partial_vec.serialize();\n let deserialized = BoundedVec::<[u32; 2], 3>::deserialize(serialized);\n assert_eq(partial_vec, deserialized);\n assert_eq(deserialized.len(), 1);\n assert_eq(deserialized.get(0), [1, 2]);\n\n // Test full BoundedVec\n let full_vec: BoundedVec<[u32; 2], 3> = BoundedVec::from_array([[1, 2], [3, 4], [5, 6]]);\n let serialized = full_vec.serialize();\n let deserialized = BoundedVec::<[u32; 2], 3>::deserialize(serialized);\n assert_eq(full_vec, deserialized);\n assert_eq(deserialized.len(), 3);\n assert_eq(deserialized.get(0), [1, 2]);\n assert_eq(deserialized.get(1), [3, 4]);\n assert_eq(deserialized.get(2), [5, 6]);\n}\n"
|
|
4913
|
-
},
|
|
4914
|
-
"392": {
|
|
4914
|
+
"391": {
|
|
4915
4915
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/type_packing.nr",
|
|
4916
4916
|
"source": "use crate::traits::Packable;\n\nglobal BOOL_PACKED_LEN: u32 = 1;\nglobal U8_PACKED_LEN: u32 = 1;\nglobal U16_PACKED_LEN: u32 = 1;\nglobal U32_PACKED_LEN: u32 = 1;\nglobal U64_PACKED_LEN: u32 = 1;\nglobal U128_PACKED_LEN: u32 = 1;\nglobal FIELD_PACKED_LEN: u32 = 1;\nglobal I8_PACKED_LEN: u32 = 1;\nglobal I16_PACKED_LEN: u32 = 1;\nglobal I32_PACKED_LEN: u32 = 1;\nglobal I64_PACKED_LEN: u32 = 1;\n\nimpl Packable for bool {\n let N: u32 = BOOL_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> bool {\n (fields[0] as u1) != 0\n }\n}\n\nimpl Packable for u8 {\n let N: u32 = U8_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Packable for u16 {\n let N: u32 = U16_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u16\n }\n}\n\nimpl Packable for u32 {\n let N: u32 = U32_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Packable for u64 {\n let N: u32 = U64_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Packable for u128 {\n let N: u32 = U128_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u128\n }\n}\n\nimpl Packable for Field {\n let N: u32 = FIELD_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0]\n }\n}\n\nimpl Packable for i8 {\n let N: u32 = I8_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u8 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u8 as i8\n }\n}\n\nimpl Packable for i16 {\n let N: u32 = I16_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u16 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u16 as i16\n }\n}\n\nimpl Packable for i32 {\n let N: u32 = I32_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u32 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u32 as i32\n }\n}\n\nimpl Packable for i64 {\n let N: u32 = I64_PACKED_LEN;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n [self as u64 as Field]\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n fields[0] as u64 as i64\n }\n}\n\nimpl<T, let M: u32> Packable for [T; M]\nwhere\n T: Packable,\n{\n let N: u32 = M * <T as Packable>::N;\n\n #[inline_always]\n fn pack(self) -> [Field; Self::N] {\n let mut result: [Field; Self::N] = std::mem::zeroed();\n for i in 0..M {\n let serialized = self[i].pack();\n for j in 0..<T as Packable>::N {\n result[i * <T as Packable>::N + j] = serialized[j];\n }\n }\n result\n }\n\n #[inline_always]\n fn unpack(fields: [Field; Self::N]) -> Self {\n let mut reader = crate::utils::reader::Reader::new(fields);\n let mut result: [T; M] = std::mem::zeroed();\n reader.read_struct_array::<T, <T as Packable>::N, M>(Packable::unpack, result)\n }\n}\n\n#[test]\nfn test_u16_packing() {\n let a: u16 = 10;\n assert_eq(a, u16::unpack(a.pack()));\n}\n\n#[test]\nfn test_i8_packing() {\n let a: i8 = -10;\n assert_eq(a, i8::unpack(a.pack()));\n}\n\n#[test]\nfn test_i16_packing() {\n let a: i16 = -10;\n assert_eq(a, i16::unpack(a.pack()));\n}\n\n#[test]\nfn test_i32_packing() {\n let a: i32 = -10;\n assert_eq(a, i32::unpack(a.pack()));\n}\n\n#[test]\nfn test_i64_packing() {\n let a: i64 = -10;\n assert_eq(a, i64::unpack(a.pack()));\n}\n"
|
|
4917
4917
|
},
|
|
4918
|
-
"
|
|
4918
|
+
"392": {
|
|
4919
4919
|
"path": "/home/aztec-dev/aztec-packages/noir-projects/noir-protocol-circuits/crates/types/src/type_serialization.nr",
|
|
4920
4920
|
"source": "use crate::traits::{Deserialize, Serialize};\n\nglobal U1_SERIALIZED_LEN: u32 = 1;\nglobal BOOL_SERIALIZED_LEN: u32 = 1;\nglobal U8_SERIALIZED_LEN: u32 = 1;\nglobal U16_SERIALIZED_LEN: u32 = 1;\nglobal U32_SERIALIZED_LEN: u32 = 1;\nglobal U64_SERIALIZED_LEN: u32 = 1;\nglobal U128_SERIALIZED_LEN: u32 = 1;\nglobal FIELD_SERIALIZED_LEN: u32 = 1;\nglobal I8_SERIALIZED_LEN: u32 = 1;\nglobal I16_SERIALIZED_LEN: u32 = 1;\nglobal I32_SERIALIZED_LEN: u32 = 1;\nglobal I64_SERIALIZED_LEN: u32 = 1;\n\nimpl Serialize for bool {\n let N: u32 = BOOL_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as Field]\n }\n}\n\nimpl Deserialize for bool {\n let N: u32 = BOOL_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> bool {\n fields[0] != 0\n }\n}\n\nimpl Serialize for u1 {\n let N: u32 = U1_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as Field]\n }\n}\n\nimpl Deserialize for u1 {\n let N: u32 = U1_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0] as u1\n }\n}\n\nimpl Serialize for u8 {\n let N: u32 = U8_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as Field]\n }\n}\n\nimpl Deserialize for u8 {\n let N: u32 = U8_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0] as u8\n }\n}\n\nimpl Serialize for u16 {\n let N: u32 = U16_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as Field]\n }\n}\n\nimpl Deserialize for u16 {\n let N: u32 = U16_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0] as u16\n }\n}\n\nimpl Serialize for u32 {\n let N: u32 = U32_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as Field]\n }\n}\n\nimpl Deserialize for u32 {\n let N: u32 = U32_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0] as u32\n }\n}\n\nimpl Serialize for u64 {\n let N: u32 = U64_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as Field]\n }\n}\n\nimpl Deserialize for u64 {\n let N: u32 = U64_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0] as u64\n }\n}\n\nimpl Serialize for u128 {\n let N: u32 = U128_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as Field]\n }\n}\n\nimpl Deserialize for u128 {\n let N: u32 = U128_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0] as u128\n }\n}\n\nimpl Serialize for Field {\n let N: u32 = FIELD_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self]\n }\n}\n\nimpl Deserialize for Field {\n let N: u32 = FIELD_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0]\n }\n}\n\nimpl Serialize for i8 {\n let N: u32 = I8_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as u8 as Field]\n }\n}\n\nimpl Deserialize for i8 {\n let N: u32 = I8_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0] as u8 as i8\n }\n}\n\nimpl Serialize for i16 {\n let N: u32 = I16_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as u16 as Field]\n }\n}\n\nimpl Deserialize for i16 {\n let N: u32 = I16_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0] as u16 as i16\n }\n}\n\nimpl Serialize for i32 {\n let N: u32 = I32_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as u32 as Field]\n }\n}\n\nimpl Deserialize for i32 {\n let N: u32 = I32_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0] as u32 as i32\n }\n}\n\nimpl Serialize for i64 {\n let N: u32 = I64_SERIALIZED_LEN;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n [self as u64 as Field]\n }\n}\n\nimpl Deserialize for i64 {\n let N: u32 = I64_SERIALIZED_LEN;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n fields[0] as u64 as i64\n }\n}\n\nimpl<T, let M: u32> Serialize for [T; M]\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N * M;\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n let mut result: [Field; _] = std::mem::zeroed();\n for i in 0..M {\n let serialized_t = self[i].serialize();\n for j in 0..<T as Serialize>::N {\n result[i * <T as Serialize>::N + j] = serialized_t[j];\n }\n }\n result\n }\n}\n\nimpl<T, let M: u32> Deserialize for [T; M]\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N * M;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n let mut reader = crate::utils::reader::Reader::new(fields);\n let mut result: [T; M] = std::mem::zeroed();\n reader.read_struct_array::<T, <T as Deserialize>::N, M>(Deserialize::deserialize, result)\n }\n}\n\nimpl<T> Serialize for Option<T>\nwhere\n T: Serialize,\n{\n let N: u32 = <T as Serialize>::N + 1;\n\n #[inline_always]\n fn serialize(self) -> [Field; Self::N] {\n let mut result: [Field; Self::N] = std::mem::zeroed();\n\n result[0] = if self.is_some() { 1 } else { 0 };\n\n let value_serialized = self.unwrap_unchecked().serialize();\n for i in 0..<T as Serialize>::N {\n result[1 + i] = value_serialized[i];\n }\n\n result\n }\n}\n\nimpl<T> Deserialize for Option<T>\nwhere\n T: Deserialize,\n{\n let N: u32 = <T as Deserialize>::N + 1;\n\n #[inline_always]\n fn deserialize(fields: [Field; Self::N]) -> Self {\n if fields[0] == 1 {\n let mut value_fields = [0; <T as Deserialize>::N];\n for i in 0..<T as Deserialize>::N {\n value_fields[i] = fields[1 + i];\n }\n\n Option::some(T::deserialize(value_fields))\n } else {\n Option::none()\n }\n }\n}\n\nmod test {\n use crate::traits::{Deserialize, Serialize};\n\n #[test]\n fn u16_serialization() {\n let a: u16 = 10;\n assert_eq(a, u16::deserialize(a.serialize()));\n }\n\n #[test]\n fn i8_serialization() {\n let a: i8 = -10;\n assert_eq(a, i8::deserialize(a.serialize()));\n }\n\n #[test]\n fn i16_serialization() {\n let a: i16 = -10;\n assert_eq(a, i16::deserialize(a.serialize()));\n }\n\n #[test]\n fn i32_serialization() {\n let a: i32 = -10;\n assert_eq(a, i32::deserialize(a.serialize()));\n }\n\n #[test]\n fn i64_serialization() {\n let a: i64 = -10;\n assert_eq(a, i64::deserialize(a.serialize()));\n }\n\n #[test]\n fn option_field_serialization() {\n let opt_some = Option::some(5);\n assert_eq(Option::<_>::deserialize(opt_some.serialize()), opt_some);\n\n let opt_none = Option::none();\n assert_eq(Option::<Field>::deserialize(opt_none.serialize()), opt_none);\n }\n\n #[test]\n fn array_serialization() {\n let array = [1, 2, 3, 4];\n\n let serialized: [Field; 4] = array.serialize();\n let deserialized: [Field; 4] = Deserialize::deserialize(serialized);\n assert_eq(deserialized, array);\n }\n\n #[test]\n fn nested_array_serialization() {\n let nested_array = [[1, 2, 3, 4], [5, 6, 7, 8]];\n\n let serialized: [Field; 8] = nested_array.serialize();\n let deserialized: [[Field; 4]; 2] = Deserialize::deserialize(serialized);\n\n assert_eq(deserialized, nested_array);\n }\n\n #[test]\n fn option_array_serialization() {\n let opt_some = Option::some([2, 5]);\n assert_eq(Option::<_>::deserialize(opt_some.serialize()), opt_some);\n\n let opt_none = Option::none();\n assert_eq(Option::<Field>::deserialize(opt_none.serialize()), opt_none);\n }\n}\n"
|
|
4921
4921
|
},
|