Re: chipsec integrity check

Bjorge, Erik C <[email protected]> Tue, 19 Dec 2017 18:47:51 +0000
Newsgroups dev.linux.lists.oe-chipsec
Message-ID <7FE3244EBB31F1449E4EC79CFE44E3F4AC9F72A6@ORSMSX114.amr.corp.intel.com>
--===============7937162713388016397==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

The IOMMU values may be wrong because we are looking at the wrong locations=
 in MMIO space or other platform dependencies.  If you can send us the verb=
ose log file (include the -v parameter) we should be able to see all of the=
 register reads.  This will allow us to determine if it is a platform regis=
ter layout.

The whitelist failure may be expected if you are having issues reading the =
SPI image on your platform.  I would not expect that no changes would be fo=
und though.  I would expect failures when reading the SPI image or verifyin=
g the whitelist.

Thanks,
-Erik

From: Healer64 [mailto:Healer64(a)protonmail.com]
Sent: Friday, December 15, 2017 8:32 AM
To: Bjorge, Erik C <[email protected]>
Cc: chipsec(a)lists.01.org
Subject: RE: [chipsec] chipsec integrity check


Thanks, Erik that helps a great deal. I feel I understand much better what =
is happening in the hardware. I do still wonder about some of the flags tha=
t changed in the iommu vtd and gfx vtd. For example
 [04] RWBF             =3D 0 << Required Write-Buffer Flushing

Which changed from 1 to 0 and back to 1 again. Would something like that in=
dicate a configuration change or a misread?
https://pastebin.com/KLea3gVf


I did use the chipsec whitelist function using the known good bios from the=
 manufacturer and no changes to embedded executables were flagged, but just=
 as a test I ran it again using a different version of the bios firmware th=
an what is currently in use. Again no changes were found. I thought that wa=
s interesting. Maybe that version of the firmware didn't include an changes=
 to embedded executables?

-------- Original Message --------
Subject: RE: [chipsec] chipsec integrity check
Local Time: December 11, 2017 1:11 PM
UTC Time: December 11, 2017 7:11 PM
From: erik.c.bjorge(a)intel.com<mailto:[email protected]>
To: Healer64 <Healer64(a)protonmail.com<mailto:[email protected]>>
chipsec(a)lists.01.org<mailto:[email protected]> <chipsec(a)lists.01.o=
rg<mailto:[email protected]>>


The fact that this is an AMD system will cause issues with the chipsec resu=
lts.  To properly run chipsec on a system you need to have a valid configur=
ation file for the platform.  Even when using the -i flag a number of assum=
ptions are made about the register layout of the platform.  To correctly su=
pport an AMD system a number of modifications would need to be made to chip=
sec as well as a configuration would need to be provided for that specific =
platform.  Because of these issues most hardware register accesses will be =
wrong.  You will need to ignore the MMIO register dumps and base addresses.

With that said some information is still valid but may still need some addi=
tional filtering.

UEFI Variable Data


--===============7937162713388016397==
Content-Type: text/html
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="attachment.html"

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy
IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2UtMToyIDEx
IDYgOSAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWws
IGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGluOw0KCW1hcmdpbi1ib3R0
b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcg
Um9tYW4iLHNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXBy
aW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQph
OnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5
Ojk5Ow0KCWNvbG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnNwYW4u
aGlnaGxpZ2h0DQoJe21zby1zdHlsZS1uYW1lOmhpZ2hsaWdodDt9DQpzcGFuLmNvbG91cg0KCXtt
c28tc3R5bGUtbmFtZTpjb2xvdXI7fQ0Kc3Bhbi5mb250DQoJe21zby1zdHlsZS1uYW1lOmZvbnQ7
fQ0Kc3Bhbi5zaXplDQoJe21zby1zdHlsZS1uYW1lOnNpemU7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjEN
Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmki
LHNhbnMtc2VyaWY7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5
bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9
DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFyZ2luOjEuMGlu
IDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlv
bjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVs
dHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0t
W2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlk
bWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2Vu
ZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUiIHZsaW5rPSJw
dXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5UaGUgSU9NTVUgdmFsdWVzIG1heSBiZSB3
cm9uZyBiZWNhdXNlIHdlIGFyZSBsb29raW5nIGF0IHRoZSB3cm9uZyBsb2NhdGlvbnMgaW4gTU1J
TyBzcGFjZSBvciBvdGhlciBwbGF0Zm9ybSBkZXBlbmRlbmNpZXMuJm5ic3A7IElmIHlvdSBjYW4g
c2VuZCB1cyB0aGUgdmVyYm9zZSBsb2cNCiBmaWxlIChpbmNsdWRlIHRoZSAtdiBwYXJhbWV0ZXIp
IHdlIHNob3VsZCBiZSBhYmxlIHRvIHNlZSBhbGwgb2YgdGhlIHJlZ2lzdGVyIHJlYWRzLiZuYnNw
OyBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gZGV0ZXJtaW5lIGlmIGl0IGlzIGEgcGxhdGZvcm0gcmVn
aXN0ZXIgbGF5b3V0LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+
VGhlIHdoaXRlbGlzdCBmYWlsdXJlIG1heSBiZSBleHBlY3RlZCBpZiB5b3UgYXJlIGhhdmluZyBp
c3N1ZXMgcmVhZGluZyB0aGUgU1BJIGltYWdlIG9uIHlvdXIgcGxhdGZvcm0uJm5ic3A7IEkgd291
bGQgbm90IGV4cGVjdCB0aGF0IG5vIGNoYW5nZXMgd291bGQgYmUgZm91bmQgdGhvdWdoLiZuYnNw
Ow0KIEkgd291bGQgZXhwZWN0IGZhaWx1cmVzIHdoZW4gcmVhZGluZyB0aGUgU1BJIGltYWdlIG9y
IHZlcmlmeWluZyB0aGUgd2hpdGVsaXN0LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6IzFGNDk3RCI+VGhhbmtzLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4tRXJpazxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0
OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9u
ZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNC4wcHQi
Pg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFF
MSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxhIG5hbWU9Il9fX19fcmVwbHlzZXBhcmF0b3IiPjwvYT48Yj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkZy
b206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBIZWFsZXI2NCBbbWFpbHRvOkhlYWxlcjY0
QHByb3Rvbm1haWwuY29tXQ0KPGJyPg0KPGI+U2VudDo8L2I+IEZyaWRheSwgRGVjZW1iZXIgMTUs
IDIwMTcgODozMiBBTTxicj4NCjxiPlRvOjwvYj4gQmpvcmdlLCBFcmlrIEMgJmx0O2VyaWsuYy5i
am9yZ2VAaW50ZWwuY29tJmd0Ozxicj4NCjxiPkNjOjwvYj4gY2hpcHNlY0BsaXN0cy4wMS5vcmc8
YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUkU6IFtjaGlwc2VjXSBjaGlwc2VjIGludGVncml0eSBjaGVj
azxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PlRoYW5rcywgRXJpayB0aGF0IGhlbHBzIGEgZ3JlYXQgZGVhbC4gSSBmZWVsIEkgdW5kZXJzdGFu
ZCBtdWNoIGJldHRlciB3aGF0IGlzIGhhcHBlbmluZyBpbiB0aGUgaGFyZHdhcmUuIEkgZG8gc3Rp
bGwgd29uZGVyIGFib3V0IHNvbWUgb2YgdGhlIGZsYWdzIHRoYXQgY2hhbmdlZCBpbiB0aGUgaW9t
bXUgdnRkIGFuZCBnZnggdnRkLiBGb3IgZXhhbXBsZSZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gY2xhc3M9InNpemUiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOiMzMzMz
MzM7YmFja2dyb3VuZDojRjhGOEY4Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJz
aXplIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xh
cztjb2xvcjojN0EwODc0Ij5bPC9zcGFuPjwvYj48L3NwYW4+PHNwYW4gY2xhc3M9InNpemUiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOiMz
MzMzMzM7YmFja2dyb3VuZDojRjhGOEY4Ij4wNDwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InNp
emUiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFz
O2NvbG9yOiM3QTA4NzQiPl08L3NwYW4+PC9iPjwvc3Bhbj48c3BhbiBjbGFzcz0ic2l6ZSI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29sb3I6IzMz
MzMzMztiYWNrZ3JvdW5kOiNGOEY4RjgiPiZuYnNwO1JXQkYNCiAmbmJzcDsgJm5ic3A7ICZuYnNw
OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyA9Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0i
c2l6ZSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7
Y29sb3I6YmxhY2siPjA8L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJzaXplIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjojMzMzMzMzO2Jh
Y2tncm91bmQ6I0Y4RjhGOCI+Jm5ic3A7PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ic2l6ZSI+
PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7Y29s
b3I6YmxhY2siPiZsdDsmbHQ7PC9zcGFuPjwvYj48L3NwYW4+PHNwYW4gY2xhc3M9InNpemUiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO2NvbG9yOiMz
MzMzMzM7YmFja2dyb3VuZDojRjhGOEY4Ij4mbmJzcDtSZXF1aXJlZA0KIFdyaXRlLUJ1ZmZlciBG
bHVzaGluZzwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGNsYXNzPSJzaXplIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhcztjb2xvcjojMzMzMzMzO2JhY2tncm91bmQ6
I0Y4RjhGOCI+V2hpY2ggY2hhbmdlZCBmcm9tIDEgdG8gMCBhbmQgYmFjayB0byAxIGFnYWluLiBX
b3VsZCBzb21ldGhpbmcgbGlrZSB0aGF0IGluZGljYXRlIGEgY29uZmlndXJhdGlvbiBjaGFuZ2Ug
b3IgYSBtaXNyZWFkPzwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48YSBocmVmPSJodHRwczovL3Bhc3RlYmluLmNvbS9LTGVh
M2dWZiI+aHR0cHM6Ly9wYXN0ZWJpbi5jb20vS0xlYTNnVmY8L2E+PG86cD48L286cD48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SSBkaWQgdXNlIHRoZSBjaGlw
c2VjIHdoaXRlbGlzdCBmdW5jdGlvbiB1c2luZyB0aGUga25vd24gZ29vZCBiaW9zIGZyb20gdGhl
IG1hbnVmYWN0dXJlciBhbmQgbm8gY2hhbmdlcyB0byBlbWJlZGRlZCBleGVjdXRhYmxlcyB3ZXJl
IGZsYWdnZWQsIGJ1dCBqdXN0IGFzIGEgdGVzdCBJIHJhbiBpdCBhZ2FpbiB1c2luZyBhIGRpZmZl
cmVudCB2ZXJzaW9uIG9mIHRoZSBiaW9zIGZpcm13YXJlIHRoYW4gd2hhdCBpcw0KIGN1cnJlbnRs
eSBpbiB1c2UuIEFnYWluIG5vIGNoYW5nZXMgd2VyZSBmb3VuZC4gSSB0aG91Z2h0IHRoYXQgd2Fz
IGludGVyZXN0aW5nLiBNYXliZSB0aGF0IHZlcnNpb24gb2YgdGhlIGZpcm13YXJlIGRpZG4ndCBp
bmNsdWRlIGFuIGNoYW5nZXMgdG8gZW1iZWRkZWQgZXhlY3V0YWJsZXM/PG86cD48L286cD48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv
cD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9Im1hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLWJv
dHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+LS0tLS0tLS0gT3JpZ2lu
YWwgTWVzc2FnZSAtLS0tLS0tLTxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+U3ViamVjdDogUkU6IFtjaGlwc2VjXSBjaGlwc2VjIGludGVncml0eSBj
aGVjazxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
TG9jYWwgVGltZTogRGVjZW1iZXIgMTEsIDIwMTcgMToxMSBQTTxvOnA+PC9vOnA+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VVRDIFRpbWU6IERlY2VtYmVyIDExLCAy
MDE3IDc6MTEgUE08bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPkZyb206IDxhIGhyZWY9Im1haWx0bzplcmlrLmMuYmpvcmdlQGludGVsLmNvbSI+ZXJp
ay5jLmJqb3JnZUBpbnRlbC5jb208L2E+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj5UbzogSGVhbGVyNjQgJmx0OzxhIGhyZWY9Im1haWx0bzpIZWFs
ZXI2NEBwcm90b25tYWlsLmNvbSI+SGVhbGVyNjRAcHJvdG9ubWFpbC5jb208L2E+Jmd0OzxvOnA+
PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGEgaHJlZj0i
bWFpbHRvOmNoaXBzZWNAbGlzdHMuMDEub3JnIj5jaGlwc2VjQGxpc3RzLjAxLm9yZzwvYT4gJmx0
OzxhIGhyZWY9Im1haWx0bzpjaGlwc2VjQGxpc3RzLjAxLm9yZyI+Y2hpcHNlY0BsaXN0cy4wMS5v
cmc8L2E+Jmd0OzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gY2xhc3M9InNpemUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0
OTdEIj5UaGUgZmFjdCB0aGF0IHRoaXMgaXMgYW4gQU1EIHN5c3RlbSB3aWxsIGNhdXNlIGlzc3Vl
cyB3aXRoIHRoZSBjaGlwc2VjIHJlc3VsdHMuJm5ic3A7DQogVG8gcHJvcGVybHkgcnVuIGNoaXBz
ZWMgb24gYSBzeXN0ZW0geW91IG5lZWQgdG8gaGF2ZSBhIHZhbGlkIGNvbmZpZ3VyYXRpb24gZmls
ZSBmb3IgdGhlIHBsYXRmb3JtLiZuYnNwOyBFdmVuIHdoZW4gdXNpbmcgdGhlIC1pIGZsYWcgYSBu
dW1iZXIgb2YgYXNzdW1wdGlvbnMgYXJlIG1hZGUgYWJvdXQgdGhlIHJlZ2lzdGVyIGxheW91dCBv
ZiB0aGUgcGxhdGZvcm0uJm5ic3A7IFRvIGNvcnJlY3RseSBzdXBwb3J0IGFuIEFNRCBzeXN0ZW0g
YSBudW1iZXIgb2YgbW9kaWZpY2F0aW9ucw0KIHdvdWxkIG5lZWQgdG8gYmUgbWFkZSB0byBjaGlw
c2VjIGFzIHdlbGwgYXMgYSBjb25maWd1cmF0aW9uIHdvdWxkIG5lZWQgdG8gYmUgcHJvdmlkZWQg
Zm9yIHRoYXQgc3BlY2lmaWMgcGxhdGZvcm0uJm5ic3A7IEJlY2F1c2Ugb2YgdGhlc2UgaXNzdWVz
IG1vc3QgaGFyZHdhcmUgcmVnaXN0ZXIgYWNjZXNzZXMgd2lsbCBiZSB3cm9uZy4mbmJzcDsgWW91
IHdpbGwgbmVlZCB0byBpZ25vcmUgdGhlIE1NSU8gcmVnaXN0ZXIgZHVtcHMgYW5kIGJhc2UgYWRk
cmVzc2VzLjwvc3Bhbj48L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGNsYXNzPSJzaXplIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5i
c3A7PC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gY2xhc3M9InNpemUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5XaXRoIHRo
YXQgc2FpZCBzb21lIGluZm9ybWF0aW9uIGlzIHN0aWxsIHZhbGlkIGJ1dCBtYXkgc3RpbGwgbmVl
ZCBzb21lIGFkZGl0aW9uYWwNCiBmaWx0ZXJpbmcuPC9zcGFuPjwvc3Bhbj48bzpwPjwvbzpwPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gY2xhc3M9InNpemUiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z
ZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBjbGFzcz0ic2l6ZSI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm
O2NvbG9yOiMxRjQ5N0QiPlVFRkkgVmFyaWFibGUgRGF0YTwvc3Bhbj48L3NwYW4+PG86cD48L286
cD48L3A+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4N
CjwvaHRtbD4NCg==

--===============7937162713388016397==--