From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3336679401483937910==" MIME-Version: 1.0 From: Anthony Arrascue Subject: [tpm2] Re: Schema of object.json Date: Tue, 16 Nov 2021 16:09:00 +0000 Message-ID: <94d7f4d129a54a799024219a70885730@neuroloop.de> In-Reply-To: CAAeabfYmhW4M=sBwETkThK0mhxMUF=U8Z_tpSZvnjrD56WhVUg@mail.gmail.com List-ID: To: tpm2@lists.01.org --===============3336679401483937910== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi David, Thank you for your reply. Do you know if I can find documentation about thi= s? I found what I believe is the serialization / deserialization of those JSON= objects: https://github.com/tpm2-software/tpm2-tss/blob/04a2853994eb31747c3e19c2601d= 99e675067794/src/tss2-fapi/ifapi_json_serialize.c https://github.com/tpm2-software/tpm2-tss/blob/04a2853994eb31747c3e19c2601d= 99e675067794/src/tss2-fapi/ifapi_json_deserialize.c But this encryption process of the PrivK, with the PubKey of the SRK is the= n somewhere else? Best, Anthony From: David Challener Sent: Tuesday, 16 November 2021 16:56 To: Anthony Arrascue Subject: Re: [tpm2] Schema of object.json I expect the private key is the encrytion of the real private key with the = srk oublic key. On Tue, Nov 16, 2021, 9:31 AM Anthony Arrascue > wrote: Hello, I am using TPM2-TSS v. 2.4.x and TPM2-TOOLS v. 4.X. Let=E2=80=99s suppose I create a key running: tss2_createkey --path=3DHS/SRK/MyKey --type=3D"sign,noDa,decrypt,system" --= authValue=3Dblabla This creates a folder MyKey in [=E2=80=A6]/keystore/P_RSA2048SHA256/HS/SRK/= MyKey and a file object.json inside. I was wondering what the public / private keys are? public":{ "size":278, "publicArea":{=E2=80=A6}, =E2=80=A6 "unique":"acc645e440fce2b34772dc94658c2b0daf3c18053ecfd79= 24ef3346dd764d7c5dd91ca207683a5ea884f03adf7e198728c39a8a59f01326a80f768a0f7= 302dd0b7e37b0c1efa22e8604f85c061c0a81e60ab97edb1e81cdc2b889ad2414045c273ce6= af38260a91dd6857013bdffd7e5541a0a9f3221ea6bd1c41f650dd3f52f5cac75e76e061854= 1c622f48e0967867e1d40c632f5e87600442d7e534390741d4b4f0a9b7ac0a141ce07c0d5d7= 447c598183d2c48a8bccf9ddb867193518e2cb10c86f03bc996d3b054b383df7f10f2c6d0d0= 70358c72a325e2ad5301ae1f4834160aaefa1cecb3e8e0441e1fb0ab60feefd35e2c9ec6439= fdc9a0e5b6456ff" } }, =E2=80=A6 "serialization":"", "private":"00201f93bbec6eb3d00f08cb8cafd48dffe6b06150fa45b989072922b2049c96= 2de80010baf3c7683d5039a27cb73036531a869137bc3a57d30b8c348b73ce134eb11066e45= 803e5ee7bba20192ab4f6881b21004261ab06af37c68a22758284d9d21fc91d49748f6eee1b= c8f1011d0e4fd228642e98f3ee65a4161d1cc53af6b0dfb48aafc9cefde1ca8212b08e16b4c= 15d0a16adc36b19133350f73bace6f12d11c084d9eb953cf9c87d0a2f2b34617a2369ffc9fb= 299113bba531d9be465e033ec54511cf6b6e3463e84018e40eaded1fa6ad13da671946cd03a= 567f3", =E2=80=A6 Questions: what is the meaning of the =E2=80=9Cunique=E2=80=9D and =E2=80= =9Cprivate=E2=80=9D keys? Is there a place where a schema can be found for a key? The private part cannot be the private key right? It would not make sense t= hat this is stored as plain text. Thank you very much for any help. Best, Anthony Arrascue _______________________________________________ tpm2 mailing list -- tpm2(a)lists.01.org To unsubscribe send an email to tpm2-leave(a)lists.01.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s --===============3336679401483937910== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.htm" PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWws IGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBjbTsNCglmb250LXNpemU6MTEuMHB0Ow0KCWZvbnQt ZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsN Cgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9u OnVuZGVybGluZTt9DQpzcGFuLkVtYWlsU3R5bGUxOA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25h bC1yZXBseTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5k b3d0ZXh0O30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0K CWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCW1zby1mYXJlYXN0LWxhbmd1YWdl OkVOLVVTO30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCglt YXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7 cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4N CjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48 IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0 PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5 b3V0PjwveG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iZW4tREUiIGxpbms9 ImJsdWUiIHZsaW5rPSJwdXJwbGUiIHN0eWxlPSJ3b3JkLXdyYXA6YnJlYWstd29yZCI+DQo8ZGl2 IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i RU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+SGkgRGF2aWQsPG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+VGhhbmsgeW91IGZvciB5b3VyIHJl cGx5LiBEbyB5b3Uga25vdyBpZiBJIGNhbiBmaW5kIGRvY3VtZW50YXRpb24gYWJvdXQgdGhpcz88 YnI+DQo8YnI+DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5JIGZv dW5kIHdoYXQgSSBiZWxpZXZlIGlzIHRoZSBzZXJpYWxpemF0aW9uIC8gZGVzZXJpYWxpemF0aW9u IG9mIHRob3NlIEpTT04gb2JqZWN0czo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdl OkVOLVVTIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0d2FyZS90cG0yLXRz cy9ibG9iLzA0YTI4NTM5OTRlYjMxNzQ3YzNlMTljMjYwMWQ5OWU2NzUwNjc3OTQvc3JjL3RzczIt ZmFwaS9pZmFwaV9qc29uX3NlcmlhbGl6ZS5jIj5odHRwczovL2dpdGh1Yi5jb20vdHBtMi1zb2Z0 d2FyZS90cG0yLXRzcy9ibG9iLzA0YTI4NTM5OTRlYjMxNzQ3YzNlMTljMjYwMWQ5OWU2NzUwNjc3 OTQvc3JjL3RzczItZmFwaS9pZmFwaV9qc29uX3NlcmlhbGl6ZS5jPC9hPjxvOnA+PC9vOnA+PC9z cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS90 cG0yLXNvZnR3YXJlL3RwbTItdHNzL2Jsb2IvMDRhMjg1Mzk5NGViMzE3NDdjM2UxOWMyNjAxZDk5 ZTY3NTA2Nzc5NC9zcmMvdHNzMi1mYXBpL2lmYXBpX2pzb25fZGVzZXJpYWxpemUuYyI+aHR0cHM6 Ly9naXRodWIuY29tL3RwbTItc29mdHdhcmUvdHBtMi10c3MvYmxvYi8wNGEyODUzOTk0ZWIzMTc0 N2MzZTE5YzI2MDFkOTllNjc1MDY3Nzk0L3NyYy90c3MyLWZhcGkvaWZhcGlfanNvbl9kZXNlcmlh bGl6ZS5jPC9hPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+ Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9 IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPkJ1dCB0aGlzIGVuY3J5 cHRpb24gcHJvY2VzcyBvZiB0aGUgUHJpdkssIHdpdGggdGhlIFB1YktleSBvZiB0aGUgU1JLIGlz IHRoZW4gc29tZXdoZXJlIGVsc2U/PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpF Ti1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+QmVz dCw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n PSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5BbnRob255PG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3Nw YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iZW4tREUiIHN0eWxlPSJt c28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K PGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRk aW5nOjBjbSAwY20gMGNtIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTti b3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSI+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBsYW5nPSJFTi1VUyI+RnJvbTo8L3NwYW4+ PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gRGF2aWQgQ2hhbGxlbmVyICZsdDtkYXZpZC5jLmNoYWxs ZW5lckBnbWFpbC5jb20mZ3Q7DQo8YnI+DQo8Yj5TZW50OjwvYj4gVHVlc2RheSwgMTYgTm92ZW1i ZXIgMjAyMSAxNjo1Njxicj4NCjxiPlRvOjwvYj4gQW50aG9ueSBBcnJhc2N1ZSAmbHQ7QUFycmFz Y3VlQG5ldXJvbG9vcC5kZSZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFt0cG0yXSBTY2hl bWEgb2Ygb2JqZWN0Lmpzb248bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+SSBleHBlY3QgdGhlIHByaXZhdGUga2V5IGlzIHRoZSBlbmNyeXRpb24g b2YgdGhlIHJlYWwgcHJpdmF0ZSBrZXkgd2l0aCB0aGUgc3JrIG91YmxpYyBrZXkuPG86cD48L286 cD48L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w Pg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBUdWUsIE5vdiAxNiwgMjAy MSwgOTozMSBBTSBBbnRob255IEFycmFzY3VlICZsdDs8YSBocmVmPSJtYWlsdG86QUFycmFzY3Vl QG5ldXJvbG9vcC5kZSI+QUFycmFzY3VlQG5ldXJvbG9vcC5kZTwvYT4mZ3Q7IHdyb3RlOjxvOnA+ PC9vOnA+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy LWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdp bi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9ImVuLURFIj5IZWxsbyw8bzpwPjwvbzpwPjwvc3Bhbj48 L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87 bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9ImVuLURFIj4mbmJzcDs8bzpw PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO LVVTIj5JIGFtIHVzaW5nIFRQTTItVFNTIHYuIDIuNC54IGFuZCBUUE0yLVRPT0xTIHYuIDQuWC48 L3NwYW4+PHNwYW4gbGFuZz0iZW4tREUiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5n PSJlbi1ERSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5 bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48 c3BhbiBsYW5nPSJFTi1VUyI+TGV04oCZcyBzdXBwb3NlIEkgY3JlYXRlIGEga2V5IHJ1bm5pbmc6 PC9zcGFuPjxzcGFuIGxhbmc9ImVuLURFIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj50c3MyX2NyZWF0ZWtleSAtLXBhdGg9 SFMvU1JLL015S2V5IC0tdHlwZT0mcXVvdDtzaWduLG5vRGEsZGVjcnlwdCxzeXN0ZW0mcXVvdDsg LS1hdXRoVmFsdWU9YmxhYmxhPC9zcGFuPjxzcGFuIGxhbmc9ImVuLURFIj48bzpwPjwvbzpwPjwv c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0 OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJz cDs8L3NwYW4+PHNwYW4gbGFuZz0iZW4tREUiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoaXMgY3JlYXRlcyBhIGZvbGRl ciBNeUtleSBpbiBb4oCmXS9rZXlzdG9yZS9QX1JTQTIwNDhTSEEyNTYvSFMvU1JLL015S2V5IGFu ZCBhIGZpbGUgb2JqZWN0Lmpzb24gaW5zaWRlLjwvc3Bhbj48c3BhbiBsYW5nPSJlbi1ERSI+PG86 cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF Ti1VUyI+SSB3YXMgd29uZGVyaW5nIHdoYXQgdGhlIHB1YmxpYyAvIHByaXZhdGUga2V5cyBhcmU/ PC9zcGFuPjxzcGFuIGxhbmc9ImVuLURFIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFu Zz0iZW4tREUiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+ PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6OS4wcHQiPnB1YmxpYyZxdW90 Ozp7PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJlbi1ERSI+PG86cD48L286cD48L3NwYW4+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt c2l6ZTo5LjBwdCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZxdW90O3NpemUmcXVvdDs6Mjc4LDwvc3Bh bj48L2I+PHNwYW4gbGFuZz0iZW4tREUiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0byI+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6OS4w cHQiPiZuYnNwOyZuYnNwOyZuYnNwOyAmcXVvdDtwdWJsaWNBcmVhJnF1b3Q7OnvigKZ9LDwvc3Bh bj48L2I+PHNwYW4gbGFuZz0iZW4tREUiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0byI+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6OS4w cHQiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyDigKY8L3NwYW4+PC9iPjxiPjxzcGFuIGxhbmc9 IkRFIiBzdHlsZT0iZm9udC1zaXplOjkuMHB0Ij4mbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7dW5p cXVlJnF1b3Q7OiZxdW90O2FjYzY0NWU0NDBmY2UyYjM0NzcyZGM5NDY1OGMyYjBkYWYzYzE4MDUz ZWNmZDc5MjRlZjMzNDZkZDc2NGQ3YzVkZDkxY2EyMDc2ODNhNWVhODg0ZjAzYWRmN2UxOTg3Mjhj MzlhOGE1OWYwMTMyNmE4MGY3NjhhMGY3MzAyZGQwYjdlMzdiMGMxZWZhMjJlODYwNGY4NWMwNjFj MGE4MWU2MGFiOTdlZGIxZTgxY2RjMmI4ODlhZDI0MTQwNDVjMjczY2U2YWYzODI2MGE5MWRkNjg1 NzAxM2JkZmZkN2U1NTQxYTBhOWYzMjIxZWE2YmQxYzQxZjY1MGRkM2Y1MmY1Y2FjNzVlNzZlMDYx ODU0MWM2MjJmNDhlMDk2Nzg2N2UxZDQwYzYzMmY1ZTg3NjAwNDQyZDdlNTM0MzkwNzQxZDRiNGYw YTliN2FjMGExNDFjZTA3YzBkNWQ3NDQ3YzU5ODE4M2QyYzQ4YThiY2NmOWRkYjg2NzE5MzUxOGUy Y2IxMGM4NmYwM2JjOTk2ZDNiMDU0YjM4M2RmN2YxMGYyYzZkMGQwNzAzNThjNzJhMzI1ZTJhZDUz MDFhZTFmNDgzNDE2MGFhZWZhMWNlY2IzZThlMDQ0MWUxZmIwYWI2MGZlZWZkMzVlMmM5ZWM2NDM5 ZmRjOWEwZTViNjQ1NmZmJnF1b3Q7PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJlbi1ERSI+PG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3BhbiBsYW5nPSJE RSIgc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7DQo8L3NwYW4+PC9i PjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjkuMHB0Ij59PC9zcGFuPjwv Yj48c3BhbiBsYW5nPSJlbi1ERSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t LWFsdDphdXRvIj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdCI+ Jm5ic3A7IH0sPC9zcGFuPjwvYj48c3BhbiBsYW5nPSJlbi1ERSI+PG86cD48L286cD48L3NwYW4+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9 ImZvbnQtc2l6ZTo5LjBwdCI+4oCmPC9zcGFuPjwvYj48c3BhbiBsYW5nPSJlbi1ERSI+PG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3BhbiBsYW5nPSJF Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo5LjBwdCI+Jm5ic3A7ICZxdW90O3NlcmlhbGl6YXRpb24m cXVvdDs6JnF1b3Q7JnF1b3Q7LDwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iZW4tREUiPjxvOnA+PC9v OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PGI+PHNwYW4gbGFuZz0iRU4t VVMiIHN0eWxlPSJmb250LXNpemU6OS4wcHQiPiZxdW90O3ByaXZhdGUmcXVvdDs6JnF1b3Q7MDAy MDFmOTNiYmVjNmViM2QwMGYwOGNiOGNhZmQ0OGRmZmU2YjA2MTUwZmE0NWI5ODkwNzI5MjJiMjA0 OWM5NjJkZTgwMDEwYmFmM2M3NjgzZDUwMzlhMjdjYjczMDM2NTMxYTg2OTEzN2JjM2E1N2QzMGI4 YzM0OGI3M2NlMTM0ZWIxMTA2NmU0NTgwM2U1ZWU3YmJhMjAxOTJhYjRmNjg4MWIyMTAwNDI2MWFi MDZhZjM3YzY4YTIyNzU4Mjg0ZDlkMjFmYzkxZDQ5NzQ4ZjZlZWUxYmM4ZjEwMTFkMGU0ZmQyMjg2 NDJlOThmM2VlNjVhNDE2MWQxY2M1M2FmNmIwZGZiNDhhYWZjOWNlZmRlMWNhODIxMmIwOGUxNmI0 YzE1ZDBhMTZhZGMzNmIxOTEzMzM1MGY3M2JhY2U2ZjEyZDExYzA4NGQ5ZWI5NTNjZjljODdkMGEy ZjJiMzQ2MTdhMjM2OWZmYzlmYjI5OTExM2JiYTUzMWQ5YmU0NjVlMDMzZWM1NDUxMWNmNmI2ZTM0 NjNlODQwMThlNDBlYWRlZDFmYTZhZDEzZGE2NzE5NDZjZDAzYTU2N2YzJnF1b3Q7LDwvc3Bhbj48 L2I+PHNwYW4gbGFuZz0iZW4tREUiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv bS1hbHQ6YXV0byI+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6OS4wcHQi PuKApjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iZW4tREUiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48 c3BhbiBsYW5nPSJlbi1ERSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs dDphdXRvIj48Yj48c3BhbiBsYW5nPSJFTi1VUyI+UXVlc3Rpb25zPC9zcGFuPjwvYj48c3BhbiBs YW5nPSJFTi1VUyI+OiB3aGF0IGlzIHRoZSBtZWFuaW5nIG9mIHRoZSDigJx1bmlxdWXigJ0gYW5k IOKAnHByaXZhdGXigJ0ga2V5cz88L3NwYW4+PHNwYW4gbGFuZz0iZW4tREUiPjxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPklz IHRoZXJlIGEgcGxhY2Ugd2hlcmUgYSBzY2hlbWEgY2FuIGJlIGZvdW5kIGZvciBhIGtleT88L3Nw YW4+PHNwYW4gbGFuZz0iZW4tREUiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoZSBwcml2YXRlIHBhcnQgY2Fubm90IGJl IHRoZSBwcml2YXRlIGtleSByaWdodD8gSXQgd291bGQgbm90IG1ha2Ugc2Vuc2UgdGhhdCB0aGlz IGlzIHN0b3JlZCBhcyBwbGFpbiB0ZXh0Ljwvc3Bhbj48c3BhbiBsYW5nPSJlbi1ERSI+PG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V UyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9ImVuLURFIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGFuayB5b3UgdmVy eSBtdWNoIGZvciBhbnkgaGVscC48L3NwYW4+PHNwYW4gbGFuZz0iZW4tREUiPjxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPkJl c3QsPC9zcGFuPjxzcGFuIGxhbmc9ImVuLURFIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5BbnRob255IEFycmFzY3VlPC9z cGFuPjxzcGFuIGxhbmc9ImVuLURFIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0i ZW4tREUiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw YW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJlbi1ERSI+PG86cD48L286 cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0KdHBtMiBtYWls aW5nIGxpc3QgLS0gPGEgaHJlZj0ibWFpbHRvOnRwbTJAbGlzdHMuMDEub3JnIiB0YXJnZXQ9Il9i bGFuayI+dHBtMkBsaXN0cy4wMS5vcmc8L2E+PGJyPg0KVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBl bWFpbCB0byA8YSBocmVmPSJtYWlsdG86dHBtMi1sZWF2ZUBsaXN0cy4wMS5vcmciIHRhcmdldD0i X2JsYW5rIj4NCnRwbTItbGVhdmVAbGlzdHMuMDEub3JnPC9hPjxicj4NCiUod2ViX3BhZ2VfdXJs KXNsaXN0aW5mbyUoY2dpZXh0KXMvJShfaW50ZXJuYWxfbmFtZSlzPG86cD48L286cD48L3A+DQo8 L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo= --===============3336679401483937910==--