From blanchet at abes.fr Tue Dec 6 06:14:07 2016
Content-Type: multipart/mixed; boundary="===============6045396751128361441=="
MIME-Version: 1.0
From: =?utf-8?q?Nathana=C3=ABl_Blanchet_=3Cblanchet_at_abes=2Efr=3E?=
To: users at ovirt.org
Subject: [ovirt-users] feedback and questions about SR-IOV feature
Date: Tue, 06 Dec 2016 12:14:05 +0100
Message-ID: <2001ce07-98c8-4939-6127-f5dfcb95d296@abes.fr>
--===============6045396751128361441==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
This is a multi-part message in MIME format.
--------------0682975F456428D8C805DCE3
Content-Type: text/plain; charset=3Dutf-8; format=3Dflowed
Content-Transfer-Encoding: quoted-printable
Hello,
My new 10G NICS support now SR-IOV, and I've played with this new=3D20
feature as passthrough device, so as to reduce my host CPU consumption.
At the origin, I set up a bond on both 10G PF nics.
After many configurations, the only way I manage to use a VF into a VM,=3D20
is to get out of the bond one nic.
So does it mean that it is impossible to run a VM with VF with PF=3D20
attached to a bond?
Moreover, something strange happens : during the boot of the VM, the=3D20
passthrough device gets an dhcp IP on the native vlan of the bond, and=3D20
once finally up, the real vlan used by this device is on the different=3D20
predifined vlan. It implies to me to reconfigure the network to ping=3D20
something on the wanted vlan. Really crazy.
Other question is : In which case can it be useful to be able to bond 2=3D20
VF? UI let us to do so, but it is impossible to add any bridge on that=3D20
virtual bond.
Comparing to a large number of restrictions (migration and others), my=3D20
opinion is that this feature seems to be very difficult to use in=3D20
production...
--=3D20
Nathana=3DC3=3DABl Blanchet
Supervision r=3DC3=3DA9seau
P=3DC3=3DB4le Infrastrutures Informatiques
227 avenue Professeur-Jean-Louis-Viala
34193 MONTPELLIER CEDEX 5 =3D09
T=3DC3=3DA9l. 33 (0)4 67 54 84 55
Fax 33 (0)4 67 54 84 14
blanchet(a)abes.fr
--------------0682975F456428D8C805DCE3
Content-Type: multipart/related;
boundary=3D"------------B8DD2DB2DB1405B60856FE1B"
--------------B8DD2DB2DB1405B60856FE1B
Content-Type: text/html; charset=3Dutf-8
Content-Transfer-Encoding: quoted-printable
Hello,
My new 10G NICS support now SR-IOV, and I've played with this new
feature as passthrough device, so as to reduce my host CPU
consumption.
At the origin, I set up a bond on both 10G PF nics.
abes.fr")
After many configurations, the only way I manage to use a VF into
a VM, is to get out of the bond one nic.
So does it mean that it is impossible to run a VM with VF with PF
attached to a bond?
Moreover, something strange happens : during the boot of the VM,
the passthrough device gets an dhcp IP on the native vlan of the
bond, and once finally up, the real vlan used by this device is on
the different predifined vlan. It implies to me to reconfigure the
network to ping something on the wanted vlan. Really crazy.
Other question is : In which case can it be useful to be able to
bond 2 VF? UI let us to do so, but it is impossible to add any
bridge on that virtual bond.
Comparing to a large number of restrictions (migration and others),
my opinion is that this feature seems to be very difficult to use in
production...
--=3D20
Nathana=3DC3=3DABl Blanchet
Supervision r=3DC3=3DA9seau
P=3DC3=3DB4le Infrastrutures Informatiques
227 avenue Professeur-Jean-Louis-Viala
34193 MONTPELLIER CEDEX 5 =3D09
T=3DC3=3DA9l. 33 (0)4 67 54 84 55
Fax 33 (0)4 67 54 84 14
bl=3D
anchet(a)abes.fr
--------------B8DD2DB2DB1405B60856FE1B
Content-Type: image/png;
name=3D"hkbplebiiahmlplc.png"
Content-Transfer-Encoding: base64
Content-ID:
Content-Disposition: inline;
filename=3D"hkbplebiiahmlplc.png"
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3D=3D
--------------B8DD2DB2DB1405B60856FE1B--
--------------0682975F456428D8C805DCE3--
--===============6045396751128361441==
Content-Type: multipart/alternative
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="attachment.bin"
VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t
LS0wNjgyOTc1RjQ1NjQyOEQ4QzgwNURDRTMKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy
c2V0PXV0Zi04OyBmb3JtYXQ9Zmxvd2VkCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3Rl
ZC1wcmludGFibGUKCkhlbGxvLAoKTXkgbmV3IDEwRyBOSUNTIHN1cHBvcnQgbm93IFNSLUlPViwg
YW5kIEkndmUgcGxheWVkIHdpdGggdGhpcyBuZXc9MjAKZmVhdHVyZSBhcyBwYXNzdGhyb3VnaCBk
ZXZpY2UsIHNvIGFzIHRvIHJlZHVjZSBteSBob3N0IENQVSBjb25zdW1wdGlvbi4KCkF0IHRoZSBv
cmlnaW4sIEkgc2V0IHVwIGEgYm9uZCBvbiBib3RoIDEwRyBQRiBuaWNzLgoKQWZ0ZXIgbWFueSBj
b25maWd1cmF0aW9ucywgdGhlIG9ubHkgd2F5IEkgbWFuYWdlIHRvIHVzZSBhIFZGIGludG8gYSBW
TSw9MjAKaXMgdG8gZ2V0IG91dCBvZiB0aGUgYm9uZCBvbmUgbmljLgoKU28gZG9lcyBpdCBtZWFu
IHRoYXQgaXQgaXMgaW1wb3NzaWJsZSB0byBydW4gYSBWTSB3aXRoIFZGIHdpdGggUEY9MjAKYXR0
YWNoZWQgdG8gYSBib25kPwoKTW9yZW92ZXIsIHNvbWV0aGluZyBzdHJhbmdlIGhhcHBlbnMgOiBk
dXJpbmcgdGhlIGJvb3Qgb2YgdGhlIFZNLCB0aGU9MjAKcGFzc3Rocm91Z2ggZGV2aWNlIGdldHMg
YW4gZGhjcCBJUCBvbiB0aGUgbmF0aXZlIHZsYW4gb2YgdGhlIGJvbmQsIGFuZD0yMApvbmNlIGZp
bmFsbHkgdXAsIHRoZSByZWFsIHZsYW4gdXNlZCBieSB0aGlzIGRldmljZSBpcyBvbiB0aGUgZGlm
ZmVyZW50PTIwCnByZWRpZmluZWQgdmxhbi4gSXQgaW1wbGllcyB0byBtZSB0byByZWNvbmZpZ3Vy
ZSB0aGUgbmV0d29yayB0byBwaW5nPTIwCnNvbWV0aGluZyBvbiB0aGUgd2FudGVkIHZsYW4uIFJl
YWxseSBjcmF6eS4KCk90aGVyIHF1ZXN0aW9uIGlzIDogSW4gd2hpY2ggY2FzZSBjYW4gaXQgYmUg
dXNlZnVsIHRvIGJlIGFibGUgdG8gYm9uZCAyPTIwClZGPyBVSSBsZXQgdXMgdG8gZG8gc28sIGJ1
dCBpdCBpcyBpbXBvc3NpYmxlIHRvIGFkZCBhbnkgYnJpZGdlIG9uIHRoYXQ9MjAKdmlydHVhbCBi
b25kLgoKQ29tcGFyaW5nIHRvIGEgbGFyZ2UgbnVtYmVyIG9mIHJlc3RyaWN0aW9ucyAobWlncmF0
aW9uIGFuZCBvdGhlcnMpLCBteT0yMApvcGluaW9uIGlzIHRoYXQgdGhpcyBmZWF0dXJlIHNlZW1z
IHRvIGJlIHZlcnkgZGlmZmljdWx0IHRvIHVzZSBpbj0yMApwcm9kdWN0aW9uLi4uCgotLT0yMApO
YXRoYW5hPUMzPUFCbCBCbGFuY2hldAoKU3VwZXJ2aXNpb24gcj1DMz1BOXNlYXUKUD1DMz1CNGxl
IEluZnJhc3RydXR1cmVzIEluZm9ybWF0aXF1ZXMKMjI3IGF2ZW51ZSBQcm9mZXNzZXVyLUplYW4t
TG91aXMtVmlhbGEKMzQxOTMgTU9OVFBFTExJRVIgQ0VERVggNSA9MDkKVD1DMz1BOWwuIDMzICgw
KTQgNjcgNTQgODQgNTUKRmF4ICAzMyAoMCk0IDY3IDU0IDg0IDE0CmJsYW5jaGV0QGFiZXMuZnIK
CgotLS0tLS0tLS0tLS0tLTA2ODI5NzVGNDU2NDI4RDhDODA1RENFMwpDb250ZW50LVR5cGU6IG11
bHRpcGFydC9yZWxhdGVkOwogYm91bmRhcnk9Ii0tLS0tLS0tLS0tLUI4REQyREIyREIxNDA1QjYw
ODU2RkUxQiIKCgotLS0tLS0tLS0tLS0tLUI4REQyREIyREIxNDA1QjYwODU2RkUxQgpDb250ZW50
LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n
OiBxdW90ZWQtcHJpbnRhYmxlCgo8aHRtbD4KICA8aGVhZD4KCiAgICA8bWV0YSBodHRwLWVxdWl2
PTNEImNvbnRlbnQtdHlwZSIgY29udGVudD0zRCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9M0R1dGY9Ci04
Ij4KICA8L2hlYWQ+CiAgPGJvZHkgdGV4dD0zRCIjMDAwMDAwIiBiZ2NvbG9yPTNEIiNGRkZGRkYi
PgogICAgPHA+SGVsbG8sPC9wPgogICAgPHA+TXkgbmV3IDEwRyBOSUNTIHN1cHBvcnQgbm93IFNS
LUlPViwgYW5kIEkndmUgcGxheWVkIHdpdGggdGhpcyBuZXcKICAgICAgZmVhdHVyZSBhcyBwYXNz
dGhyb3VnaCBkZXZpY2UsIHNvIGFzIHRvIHJlZHVjZSBteSBob3N0IENQVQogICAgICBjb25zdW1w
dGlvbi48L3A+CiAgICA8cD5BdCB0aGUgb3JpZ2luLCBJIHNldCB1cCBhIGJvbmQgb24gYm90aCAx
MEcgUEYgbmljcy48L3A+CiAgICA8cD48aW1nIHNyYz0zRCJjaWQ6cGFydDEuQzFCODMzMjYuNjg5
RDVFNTZAYWJlcy5mciIgYWx0PTNEIiI+PC9wPgogICAgPHA+QWZ0ZXIgbWFueSBjb25maWd1cmF0
aW9ucywgdGhlIG9ubHkgd2F5IEkgbWFuYWdlIHRvIHVzZSBhIFZGIGludG8KICAgICAgYSBWTSwg
aXMgdG8gZ2V0IG91dCBvZiB0aGUgYm9uZCBvbmUgbmljLjwvcD4KICAgIDxwPlNvIGRvZXMgaXQg
bWVhbiB0aGF0IGl0IGlzIGltcG9zc2libGUgdG8gcnVuIGEgVk0gd2l0aCBWRiB3aXRoIFBGCiAg
ICAgIGF0dGFjaGVkIHRvIGEgYm9uZD88L3A+CiAgICA8cD5Nb3Jlb3Zlciwgc29tZXRoaW5nIHN0
cmFuZ2UgaGFwcGVucyA6IGR1cmluZyB0aGUgYm9vdCBvZiB0aGUgVk0sCiAgICAgIHRoZSBwYXNz
dGhyb3VnaCBkZXZpY2UgZ2V0cyBhbiBkaGNwIElQIG9uIHRoZSBuYXRpdmUgdmxhbiBvZiB0aGUK
ICAgICAgYm9uZCwgYW5kIG9uY2UgZmluYWxseSB1cCwgdGhlIHJlYWwgdmxhbiB1c2VkIGJ5IHRo
aXMgZGV2aWNlIGlzIG9uCiAgICAgIHRoZSBkaWZmZXJlbnQgcHJlZGlmaW5lZCB2bGFuLiBJdCBp
bXBsaWVzIHRvIG1lIHRvIHJlY29uZmlndXJlIHRoZQogICAgICBuZXR3b3JrIHRvIHBpbmcgc29t
ZXRoaW5nIG9uIHRoZSB3YW50ZWQgdmxhbi4gUmVhbGx5IGNyYXp5Ljxicj4KICAgIDwvcD4KICAg
IDxwPk90aGVyIHF1ZXN0aW9uIGlzIDogSW4gd2hpY2ggY2FzZSBjYW4gaXQgYmUgdXNlZnVsIHRv
IGJlIGFibGUgdG8KICAgICAgYm9uZCAyIFZGPyBVSSBsZXQgdXMgdG8gZG8gc28sIGJ1dCBpdCBp
cyBpbXBvc3NpYmxlIHRvIGFkZCBhbnkKICAgICAgYnJpZGdlIG9uIHRoYXQgdmlydHVhbCBib25k
LjwvcD4KICAgIENvbXBhcmluZyB0byBhIGxhcmdlIG51bWJlciBvZiByZXN0cmljdGlvbnMgKG1p
Z3JhdGlvbiBhbmQgb3RoZXJzKSwKICAgIG15IG9waW5pb24gaXMgdGhhdCB0aGlzIGZlYXR1cmUg
c2VlbXMgdG8gYmUgdmVyeSBkaWZmaWN1bHQgdG8gdXNlIGluCiAgICBwcm9kdWN0aW9uLi4uPGJy
PgogICAgPHByZSBjbGFzcz0zRCJtb3otc2lnbmF0dXJlIiBjb2xzPTNEIjcyIj4tLT0yMApOYXRo
YW5hPUMzPUFCbCBCbGFuY2hldAoKU3VwZXJ2aXNpb24gcj1DMz1BOXNlYXUKUD1DMz1CNGxlIElu
ZnJhc3RydXR1cmVzIEluZm9ybWF0aXF1ZXMKMjI3IGF2ZW51ZSBQcm9mZXNzZXVyLUplYW4tTG91
aXMtVmlhbGEKMzQxOTMgTU9OVFBFTExJRVIgQ0VERVggNSA9MDkKVD1DMz1BOWwuIDMzICgwKTQg
NjcgNTQgODQgNTUKRmF4ICAzMyAoMCk0IDY3IDU0IDg0IDE0CjxhIGNsYXNzPTNEIm1vei10eHQt
bGluay1hYmJyZXZpYXRlZCIgaHJlZj0zRCJtYWlsdG86YmxhbmNoZXRAYWJlcy5mciI+Ymw9CmFu
Y2hldEBhYmVzLmZyPC9hPiA8L3ByZT4KICA8L2JvZHk+CjwvaHRtbD4KCi0tLS0tLS0tLS0tLS0t
QjhERDJEQjJEQjE0MDVCNjA4NTZGRTFCCkNvbnRlbnQtVHlwZTogaW1hZ2UvcG5nOwogbmFtZT0i
aGticGxlYmlpYWhtbHBsYy5wbmciCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IGJhc2U2NApD
b250ZW50LUlEOiA8cGFydDEuQzFCODMzMjYuNjg5RDVFNTZAYWJlcy5mcj4KQ29udGVudC1EaXNw
b3NpdGlvbjogaW5saW5lOwogZmlsZW5hbWU9ImhrYnBsZWJpaWFobWxwbGMucG5nIgoKaVZCT1J3
MEtHZ29BQUFBTlNVaEVVZ0FBQWkwQUFBRXBDQUlBQUFEUThvV3VBQUFBQTNOQ1NWUUlDQWpiNFUv
Z0FBQWdBRWxFClFWUjRYdXlkQjFoVFZ4dkhiM2JDQ0Nzc1pRaUlBcUtDNGw2NHNVNnNXM0VQc0Zx
M3RYNWFSN1h1VmJkVmkzWHZnYXQxSVc0VQpVUm1Db29Ec1RTQURNcjhUTGtLQUVKTVlNT0I3SDU1
d2M4Wjczdk03Ti9lZnMyNEkrL2Z2eCtBQUFrQUFDQUFCSUZEekJQejgKL0tvV1FrWkJDaU9xSm9V
UUlBQUVnQUFRQUFJYUV6aDY5S2pDdkVTRm9SQUlCSUFBRUFBQ1FLQjJDSUFPMVE1bktBVUlBQUVn
CkFBUVVFd0FkVXN3RlFvRUFFQUFDUUtCMkNJQU8xUTVuS0FVSUFBRWdBQVFVRXdBZFVzd0ZRb0VB
RUFBQ1FLQjJDSUFPMVE1bgpLQVVJQUFFZ0FBUVVFd0FkVXN3RlFvRUFFQUFDUUtCMkNJQU8xUTVu
S0FVSUFBRWdBQVFVRXdBZFVzd0ZRb0VBRUFBQ1FLQjIKQ01pZXB3QUhFQUFDT2tVZ1BEeGNwL3dC
WjRDQWlnUThQVDFWVENtZkRIUklBMmlRQlFqVU9JR09IVHZXZUJsUUFCRFFLb0hICmp4OXJaZy9H
NVRUakJybUFBQkFBQWtCQU93UkFoN1RERWF3QUFTQUFCSUNBWmdSQWh6VGpCcm1BQUJBQUFrQkFP
d1JBaDdURApFYXdBQVNBQUJJQ0FaZ1JBaHpUakJybUFBQkFBQWtCQU93UVVySmRicy9lWWRteURG
U0R3N1Fnc0N4ajM3UXFIa29FQUVGQ0QKZ0FJZFFya1hUUjZ1aGcxSUNnUjBqTUNtdzJkMXpDTndC
d2dBZ1dvSndMaGN0V2dnQWdnQUFTQUFCR3FCZ09MK1VDMFVERVVBCkFTQUFCSUFBVGtEakhhQWFB
TlRCTGRLZ1F4cTBJMlFCQWtBQUNHaVpnTHJ5Z0V1WFpybTA3UHBYbTROeHVhOUdDQWFBQUJBQQpB
dCthd09zM2tZK2VoQ0l2cEZLcFNDUVNpOFZDb1JDZDN3OTVzbVBYWDZucDZabzVlSWhFUVg4Y0Rn
ZloxTXlDS3JsQWgxU2gKQkdtQUFCQUFBanBONE5MbG15ZFBYSkNVSENRU2lVQWdrTWxrOVBvczlN
WGtDYVBQbnd0QzNpTlpVcXNPU0lFbVRzVFEzMmtqCmsvejgvSnFUSXRBaHRkb0ZFZ01CbFFpRWhJ
U29sSzdtRXdsaTE3bnFkejJYcTM1SmtyelFuU01kQ0FTUG5RbWZ2d2xMOHA5cwpHdXBxUXFQcG1k
aTJtM0k0aG9mZjFoU2tsQzlPbkhGNWtvdjdpTEV1Tkx2NUwvanlNZnl3QmZiMHRydmpSWVYzUmhn
emg5NHEKVk9RbEwzU2VFNTFtT3lWWUxoYWxOeVFRUE5kRkZYL09JZnE0dllWaHp5dnN5aFlVK0ta
YUxhVDVEeGExYkRMcGNvYTRza25kCmZQKy9YK2NPSHo0Z0xTMGRGeHVrUU9oSVRVMlBpZjN3NTY0
RDdUdTBRZnFFZWtpcU83K29Qd1ZQbkYvU2xjck96aTRxS2xJOQp1MW9wWVg1SUxWeVFHQWlvU2dC
SlVkZXVYVlZOcld2cEpOblhKbldjWHpDNGx4UHQrV2ZmcE94N2M0ZXVMMTcxSkc5YUUwSG8KSDcz
N0ROdllObXlsVzJIVmxQSzFFYWVkbStFZk91emFzOWx4dzUxbjdYeTY4a2gzWm1sODRiUGR4M0s5
L3h4bVQ4WStWZ2RBCm12OXd4eFc3MzlkVDlteS9uZDNObDBYNG5KRENzUHE0YnZyKzRjRS9OeTY5
WDFZMThUVzFJQmgzV1hWNGVKdUJBUmZhblIxdQpSYXBxdk1aQzFpYjdlK3AzU1NpT0taTHdlQklP
Ujh6bVM3aENxUUNkVXpINmdjWjNGSlpNSkJJYldGdGxabWF6V0dhb0o0VFMKb1BQMUc3Yi92dXFY
aGcyczhYNFNTcU13YjlWQUpFSkRCcmlrdDg4UFhDbFRvYWIzNzFWTm84VVFWZDNTWXBGZ0NnaDhK
d1JxCnFGZlU3TCt5bTdGcUlLWDg2SDFqUE8xWWVoU2pabVAvaXVGand0aDF6VXk2cjE3UXhZSnA1
V0JJYWJudFErbjM1TUs3NHkzTQpSLytIZWhWVUovOHJ6OC9NYVdOY2ZvdmdoTzY3U2htN3dzOUZq
MEEwYnZmVGIxMVRqaDZQS1ZLVVVzNHQvdXV0U3grMlh6dlgKMDhDeTc0TEIwc3ZiNzJhWGpnMUpj
NEozWEpRTVd1QmpvZVF1Sk1tOHVlMWhVMzgvdjUrOVh1MjRraUxYTjZFNFROdytQbk9sCi81RkVK
Zk1XWDFjTFBjKzV2M3VGL0xydFRVMTFBeFEzWHpUdkJWSWdqcmdnVlpDWUxraEtGeVpsQ2xOU2VZ
a29zT2d4VlhFZQpERU9EWnFhbUpzK2V2K1J3dUNoTlRrN2U2dDgzejUvM0V4SWh2SWVFQnV0VTFL
RlNFY3JPUjNaaWZHUWlaR3hzekdLeDZIUjYKZGFWL1piaVNLK0FyTFVOMklBQUVNSzFMRVJLaDZE
NlllbExFZjNFaWU4cC84ZGtGaVlkYjNwb3ovVlN5aE1JZzV6Kytacno1CmZYN3kzVDlheEIyNThx
bEVpQXFlSGJ4SkdoVFEwUWdqTWwwNnVEQXIzQjVFV1ZIditEWnQ3VXZ2UlhvT25xeU0wSVFpQlNu
bAoycDBmZWVSMGZ0ZnAzckorakZHbk9YNUdkN1pkVFMxUkUwbjZqVzIzbWVQbWRqWlNvcXFpeExN
N29qdk82V3ZKOHA3ZDY5UHUKRTUvMUV1V1hTaGh0bHU4Zi9tN0o3TE80UVFWWG13TGYxS29Ga2RW
OWV1ZmMwLzlFVmhoTlZGQ1FWb1BvUkgzVUdVSi9xQ2VVCkx2eEVJOURaR1lVR05HWkJCb2RDVktC
RFNHYlFnZnBBU0NlR0R4OTg5T2paalp0M3JscXpLV0RtNUVhTmJNdGNRMm5RU04wWApQWlVYb2Fk
UDB3Zi9LaE1oS3lzcjlJcDNzNzVvUVlNRTZvM0wwV2cwVkVabVppYVB4OXU5WjZlbGhTV1ZRdmNk
Nm10cmExdGMKWERaU3E0RWJrQVVJNkRTQnI1RVRMUTdRNFNLRVNPRlNGTlZIdFdsbml1c2svNjdt
YUdpcFFkOXB2ZWxEZ3FKNTNnU002amhrCmhLY1JrV3d3ZUVienBYdXVmSm8xejRuMzlPQnQrckFn
THdPRmJTRXBLaWpDNkliMDBsc1prV1pJbGZBTGk1RUwxZC9jeEZsaApEN01iVFcxbVdHS1IwV0pH
UUNQUEhXY1N4czV6SWlTZTMvSE0zbjlQUzRiQ3d2REE0cGpBdlprRERuWTJSaVcwbmZralovVEIK
eUo4M2VwWjlLU2VhZUsvZDY5Tjg4dnlnbmljR0tERWpINlZlTFFqTTVyM3RNd1BEY3pBdkd4VUwr
UHBrclEyNnpiUmEzU1hRCi9zSEVSR1FORGNveG5QVFJpYkN4d0Q5SndaTnUwSmdiNnVnZ2pkSFQw
enQ3N3FxVHMwTXJ6K2JyMXUxbzV0b0Vkd2FmSzFMRgpzVzhpUXNneHRmdERTSVRRaE5YMGFkT21U
Wm94ZWZKVXYvRis1ODZjUzBwS1VxV1NrQVlJQUFHTkNaU0pFRzVCalY0UjJkVGUKRlAvR1NUSTAx
eXZPNWNoR3NraE1hNllza05Td3Y3OW5BdW9SQ2ZLZi9IV1hPWHBLU3ozRkxoSVp4blNzcUxDb1ZQ
c2svUHdpCm9qNlRWcjBJSVRQQzNJUThzcVc5Y2VuMENyWHgySG10M3U4SmpDa1d2RHUyTzhaanpq
aG5CZC92eTRybnZ0aDlJUHJqbm80RwpzaHNwby9YbWQrOENkejZ0c0phQnlQTFovR2VuT3o4dHVa
VWpVU0tIY2hWU3N4WWs0MGFXcE53RURaWjVLSWFvU3VpZCtNc28KMmJxaGU5RnJ1dUNUYjNCTHNW
U01aSWxDb0pvcWttMmtRMmlWTmtxTUtQR0tlWmJtTENNanBsZ2lRdUdvZTRCZVZWd21oMFJvCnll
YnQ2U1hEY2JYV0U4S0JxTmNmd2tWbzFrOC83ZDJ6NzhEaFBkZXYvVGRvOEErL0xsbCsrUERobVRO
bnFvSVkwZ0NCdWt0QQo5WFVIOHYwbjFYTXBJVk5KaFBDVXF2YUt4QVhwQldLTWhUN3M0c0pNSHQy
OFJIOWs5L1lTTXlUcmZnRmVDellGUlRnK3VNL3kKVytsVzNSd0EyZHk5bVg3U2t3VCtPRXVrVk5L
QzJORHNCaDBjbFhWbnF0YUhaRE40WWM5RmN3NCs2MHY1TzZQN0ZsOGJKZlAvCjB0eDcyeTZhL1I2
ZHVNd1ZGeXZoaDIzdE9tMjdrOTF0Q0t2Y01zbktkL3ZHZ3g3K0s3dFBKeXFWeE5JczJxaEYxWHBw
TllUOQp2aWl5WldobjVnOGQ5OXMrbnBGRVlhSlYyQ1M2cGF6UkpDSUZQV0NrTkxIdlB0amIyUVFl
UGYyRFQ2L0F3SlByTi83NXYyVUwKMW0zWU5tYlVqK2JtTE5SUFVtVkVEcStFOTdBbDZ4Zk9yWjNo
dURKczZ2V0gwSEJjV2xvYXlrekFDRFlOR2lVa0pOeThjWnZQCjVaT0lTaTRuclRZUkdQc3VDWncz
TTBkL1hDNjM1bll3MUJEWG1oTWgzR0dWZWtXQ2lMLy9DUytVWXVMTXU0ZnVDRm9QYmlZYgo1U2sv
aUJhOUF0cW5IdDYwNldIRHlXT2FWTjlCTVdqajd5czk5VnRnRkZjaXlycS9aZFV6UjVSY05sSmYv
VUV4YldRaXlrak0KTDF0ZlFHRDFuTzhyUHJWa3lYSEJrUG05eWxlL1ZUVWhUcnU2NVRacjdEQ25N
b2NvZG9QOHJPOXZEWkpmcllEeWtlM0c3Vmx0CmMzek9nZmNxTFVwV3J4YmkvSVFNc1ltOWFWWC9h
aTdFeUlXeE5YWEJUeDk5OUJwU1puN3NLOGdYajMvZkFaTmlrK082Rkx4VgpNUDBoRUFoLytYWDF0
WnUzNTh5YTV0ellZZTJhcFIzUUttMnhjT3JrY1R3ZS85ang4N201ZVM5ZXZ2Nml3OEhwSGtpQmFs
K0UKa0dQcTZSQmFmbzZrQ0w4WHBLZWxMMW15Qk1rc2g4dkp5SmFKRXh4QW9DWUlJQVhDTjlQZHRH
dkVaclBya0JScFRZVE1NQ3lzCjJyOW9NNlhMRnNSQ3FXSG5rZVN0dlZ6dExSMG52ZW0zZTk4dzYw
b2Zld0tydTMrSGo2Y2YyVTBiNWxDNkJqcjNRaTg2MmdscApPeU9NLy9wbkJ3cUJZREhoUHNld3k2
Wkx5NDBQOUxLazBXekhoSFE3Y0g2ZUN4VlRsTExzTWlDWnQrN01TcmdWSlRlWVp0aHUKdHAvK2sw
ZTBzYlBiNDdOR3BZbkZoUmY3TVBHWkRObHJrK2tyMWorMThSdGFMa01ZUnJFZk5NSGh4ZmFUSHlz
SkRzVnAyb0gvCk9TUnlxOXlqRmZtbWVpMDR5TE9DeUZ1SkZsMWFvUWFvdllPZFdVQW1VT0kreERH
ZDZlOWo0NmhNVXRLYmREcUxuQmlka3BlawpZSXVWb2FIQjNsMmJodm1XVHBHaDdsSFRwZzVSRVcv
UnNnSlgxNmIrTXlhY08zOTExZXBOWC96ZzNMdC9iOGFPdDJQWFBrZEwKNDJwNllVSWxtdXFOeTVW
bGxtTFN5T2dJZDdmbXFNNlZMQXJlYit2YzdkYi9vcTRQTnZucWxoTisyTkdseTQzRkVUZUdtaEVr
CitXRUg1MC8rNVNKencrdDcwKzAwOVB1clBRSUR0VXhnN1Zoemw1SWk4YzEwdWJtNWFGRlF6YTNi
MFdMdHRDSkN5QjlWRnlOVQo0enJWN2JlWWd0OVE1TkpsY2lrYzVyem16aWwvVHpBZGVKRlRZY1RI
ZE9qdHp4TkJGUXg3elQzOWFtNkZrT3BTNG9rWTd1TkgKR3Z2OEZaTGpNOGlzZE5pTTdySHVvM1Jk
UlhjTmU1NUIvYlhLeDZIS0FXU251ZUc4a3VLZHoyUytsWXVsdWY0U0p2bWxjbktzCk90OVVyWVUw
Ky81ZkQwMUhybkJYYi9TeGloL3FCYlJ3YnhrVkYwR2tFWGdwQWpLREtDZ1FJeWtxeWhFUktRU240
ZVlLYlpXdAppME5UUVdoT3lNS2NkZkhpamRaZXJjM01aQW82YnV5d1BuMjgwYWRHK1VRUittUWgr
VUZ5aFMrOXE4MVBtU2IzY3pRcDl2anAKNDlqWWQxczJiWlVRVVI5SnBlNndRbnlxQmtweS92dXA3
LzhLZi9CMm9MMVVOUStrcS9NRWtBakpiNlpyZUMyb3JsUkpXeUpVClYrcGJ2WjhNajNsck9yUmV2
aXVpOTRvV3RYbzNyOTRsbFdQNHIzY3VEKzI4ZG0rTDZxYk1WTGFrVnNLdGpTNWlqZFRLVVpvWQp5
UXk2RzZPbkhnVGZmN3g1NCtxL0R2M1QzRjMyTGM3QVFCLzlvVDZEOG5zMUVoNERBOFZySlRYeFJw
MDg2bzNMVVNnVU5PWGwKUDNQbWtiLy9SblZtV2JBYVd0a3RYNzVzMnBRWkZRcVZGc1grUGJXcnU1
TzF1VjM3YVVmZXkzYUJDVk91L3pha1ZlUEdUWnMyCmFkcDJ4QjkzTThXWU1HNTdCN3NmdHUrWU4y
cGdueTR0bTdRZXN5OGFMZE9YY2w3dEh0ZmF6clpKeS9ZREZsNUlFdUxma3FnTwprMC9lL2R2ZlU5
bGVBM1hxRFdsMW5rQ3BDSDNlVElkRXlNakl5TlRVRk44OG9QUHVnNE9sQkVnTlJoelk0M0ZpNHVy
SEJWVjcKUERwTVNjcCt0SExTeVZheVljdzZNZnVOYnNqNEFtNzBBVUYzMlgwSEFrMU5qTXY0b2ln
MHZhcXp1TlhyRHlFUnNyYTJScUk2CmRmcjA1Y3VYWjZabmZrcU9YLzM3N3lpOFFnMkx3cy9sckxq
KytxQngxaFgvTGpQbW5POTlzZXUvVTZlZGJ4cjQrRnh2QzJuSworVWxkSnM5dDhTTFFuVTRxREwx
RzJYNDFxQW0xSURpZzlZUjFqOGNlc2pzNDgvZll3VmZmTHZlaVo5MlkwKzJmSW50a21tam8KM01Z
UUU2ZnFMRWR3VExzRTVFVUlMU0h0T1ZzbVFoWVdGdWkxTm9jTHRGdXA3OVVhV3RKMkpOYTNydFdl
WU5ScFEvaTdPdUkxCkVpR0JRSUR2SW1Jd0dMNkRmMEIvWmI3ai9TUXF0Zm9sS04rNm11cnBFTG9S
SUlmeDFRcDRGdzh0VFVmeWk4SXI3R09sTkJregpxU01MZll1dzZqbkJtejcyNXRzMDJwbHcxdkNO
WFMxazVUWHNPODE3NFlTTDBmem1HRVp6R3pIQVViYmtobUhiakNXNG5NN0oKemJyK3NjR1FZYzBO
MEdDeVJmY3BnNnpPZlhtZHg3ZUdDT1ZybHdDSWtIWjVnclU2UVVDem44TFRMSmV1QVZGUGg4cTgz
N2hoCkE5TFk5SXowbk96Y0hYOXVXN1R3RjF5aVNoT1FUT3hNY01za0F4WkRFRkhJVG1kamhsYk0w
djR0MmRDU1VSUlJJTnRNUjZRWgowRXZHQmdra01oRTlsbHpNemVKZytpeDlQQ1hSME5KUXZaRkRY
ZU1ML3FoTEFJa1Eya3dYZkc0OXlnZzlJWFhwUWZvNlNrRGQKbjdPcm85V3N6bTMxN3ZMNFB0YkpF
eWN1L3VVWHRJTVg3UjlDdmFMZmxxODhmdXg0aFFJa2hSbUYrSTRCTVNlTFQwUGJlNjJOCnNZSTBk
dWt1QWxGQk9rL1B5a2lSQmhMMXpBd3diZzYzTkhkK2N2bk9nK3FxQU9IMWtBRGFUQWNpVkEvYkZh
b0VCQlFSVUUrSAo4SDJzYUN5T2FjaTB0YkZKU1UwSnZuYy9Kek9uOHVwdFFmVHhVMi9RT2xCeFZz
alJFSUhIRDI0TjJvMXFuWHYyMElOc3BDL0YKaVVGN2c4bmRSN29yZW53STBkaXpoMjN5eGJOdjBD
cE9RZktOZmRleWFuNHhuaUl1RVBhdENKUnRwb001b1cvVkJGQXVFS2hsCkFvcjZKTlc3Z004TW9Y
aHJDMnUzNWk1Ly9QR0hvYUZzTDlySHhManlUQkloWnRCK0tIbjNrSGFoOFNsY3E4R2IveGxzU2FX
TgpQbmd3ZnRZdjdaMEwwUVA1ekR2Tk9iYXBwd2toU1VGSnRLWXpkeTBPbXpySStURFR1bW5mQ1dO
Y2J6NFdTN0M4b0NHdTQrL2oKMjlSZXRUVC9CV09OdXZwK2J5Y0YrU0dvamhPNGRPVlNSa1lHV3R1
RGRqT2cxWEd3TUtHT3R5ZTREd1MrVEVBOUhjTHQ0WnVoCjBDNmkvdjM3Mzd0M0R3V2k4N0tpcUUw
WGh5WXRSbS9uTDVRdm5tTHRzK0s4ejRvS0h0bjdQMHoxTHcwaE53cDRsQlpROHFiZAp3bk1SNVhu
eFRYTURMNlhuVmNnTGIrb3BBYlRzeGRMU0V0OU1oODVoZFZ3OWJXZW9GaEFvSjZDaERnVS9DQlpM
SkM1TlhPZ00KOHJ2Mzc1UnZqd0xlUUVCMUFraDRRSHRVeHdVcGdVQTlJS0NlRHVIN1dCY3RYcnhw
NDhhTkd6WVJpSVN1aEs2TEZ5KzZlT2xTClBXQUJWUUFDUUFBSUFJSGFKNkNlRHBYdFkwVlM1UHVq
YkdjYWVpRGg4K2ZQSys5anJmMTZRSWxBb0g0UnFCLzdRdXBYbTBCdAphb3FBZWpwVXRra0lkWXhP
bno2Tnl4SjZPR3ZsZmF3MTVTM1lCUUxmQlFGUFQ4L3ZvcDVRU1NCUVFrQTlIVUlaY0NsQ0NvVG0K
aFBCaHVnbzdXQUVyRUFBQ1FBQUlBQUYxQ0tpblEvakRlOUJTV25TVWxWTGhpVDdxbEExcGdRQVFB
QUpBQUFpb3Q0OFZlQUVCCklBQUVnQUFRMEM0QjBDSHQ4Z1JyUUFBSUFBRWdvQjRCMENIMWVFRnFJ
QUFFZ0FBUTBDNEIwQ0h0OGdSclFBQUlBQUVnb0I0QgowQ0gxZUVGcUlBQUVnQUFRMEM0QjBDSHQ4
Z1JyUUFBSUFBRWdvQjRCMENIMWVFRnFJQUFFZ0FBUTBDNEJsZllQYlRwOFZydWwKZ2pVZ29GMENp
eVlQMTY3QmIyc3RQRHo4MnpvQXBRTUJ6UWhvOWlnUWxYUUlPVFNzZjIvTjNJSmNRS0NtQ1p5N2Rx
dW1pNmg5Cis5LzVEMFhYUG5Bbzhlc0phUHhRUkJpWCszcjRZQUVJQUFFZ0FBUTBKd0E2cERrN3lB
a0VnQUFRQUFKZlR3QjA2T3NaZ2dVZwpBQVNBQUJEUW5BRG9rT2JzSUNjUUFBSkFBQWg4UFFIUW9h
OW5DQmFBQUJBQUFrQkFjd0txcnBmVHJBUUdqV3Brb0VjaUVxVHEKNXlkZ21GZ2lMZUR3ZU1VQzlY
TkREaUFBQklBQUVLZ2JCR3BXaDVBSUxWdXlxTENna0U2bnRIUnI4Q0VoeDhIT0pQNVRYdW1yCnJV
bDhVcTZEblNrZWdtSWQ3YzNpUCtVNjJadkZmc2pNSytBMWFHRDk2L0pWb0VOMTQxSUNMNEVBRUFB
Q0doR28yWEU1ZlRyMQoyZE1ucjE2LytoQWI3bUljbnB2NnNySGhxL0pYSmpvUGIyd29DM2MyZkpX
VkxEdlBUbm5wekF4UGpnOFBEUTJMam9wQ0ZqU3EKRjJRQ0FrQUFDQUNCdWtHZ1p2dERFcW1VVHFm
eitXd2EzYWhMdnpIWFgxN3EyTGYvN1lockNsK3ZobDN1MkdmUWY2K3VkdlFaCmRPTGVLWWs0ajBx
bElndDFBeVI0cVcwQ0w5MmNrVW1YRjY5cE5CcUpSTksyZWJBSEJIU0lnTVk3UURXb2d3NXVrYTVa
SGNJWgprY25Fdkh6TzB0WEhJMk95VjYwN0hmVXVwK3cxOHZQNXluV25ZOUQ1aGpNb2R1VWZweEkv
WlZFb0t2b21TTG14ZnRXV3M2OVMKT1JLRHh0Mm1yUDF0YWx1ajZ1NWFFbmJraWY4dFdYUE5ZTm1E
NCtOc3FrdWxRZE5DRnUwU1FDSTBjYUxNWktCWFM4ZEhvWVpNCkpraVJkZ21ETlYwam9LNDg0TktG
NTdwNzk4bTdkL3AwZW9HZEhiMUhEeS81cW9XRlJUNS9Ma0ZSbHBiVWZ2M2ExcWJncVU1WQp4WHU5
WW9NbVRIMERCcjBzamw4c3lNNHZsRThxelB6N3h1bUppak9yRm9vc1lOZ0FKV2xGQ1lHTGZyM3R2
dm5tcnA1V1JXOTIKKzQrYnVhMTF5RW92UFFWWkpIa1BsZzdkeXVuZHpvNGFwU0FhZ25TRndJbjV6
aTRsdnVTbmw3em01VkpwTkQwOVJXMnFLeTZECkgwRGdteEdJanY2UWswUHYzdDFHSUJCKytwVDc1
TW5iRGgxY2NXL2k0MU9Ta2pBOEtpRWhCMFdwNitVaEVnVmxHY25PUXlOYgpaUEpYNllXU29qVzNT
Nk5Ta0FoSnBaSU1YaHhQeERabk5ES2ttVnVhR1dYa3NNdktzMmc4R3ovUGpOc3BmeTd2RUFxWGow
VlIKK0Z2MGlzNVI3TXVZVWgwU3h1MGNPZUplcjNFTlg0ZWw1S2VsU2x2TjNiQm1sQzNEZmZ5R1hS
MjZONlFTTUtwYi81NjJlKzRuCmM0cU5ENDJ1a3RLQlNyRWRkZkNZdS82L0k0K0NEaW01SnI1dEZC
S2hJUU5jMHR2bkI2NlVxUkR4NkVtdCt4TVNFdEsxYTFldAptNVUzV0F0RjFLai9ZTHl1RU1qSnlY
Ly9Qcy9LeXFwcFUxTXVWeW9VRWg0OWVvYnJFQjVsWm1Zc0g5VzZ0Wm5xVlVNaVZEb3MKWVdReU9D
UE4yTmk0aHFSSTgzVUtUSDBHcXMrTmhLMGJYL1RlRU5yenovQWZQN0tmVThsa1E3M3lIaEpLZ09R
RVY1U3k4ekpCCnFvUkRQcVZpVW1pU2dCZitrRGw3NS9FTHA0SjJ0dzFidFRvb2pXalowYWR2Qzls
QW5Kajk0YjlEUWRudVBoNG1SRVVwSlVTRApSaDVPK21nOU9CeTZTcUJVaExMemtZTXhQaklSTW1B
eWpVMU0wUlNSdGx4R0NxRXRVOHJ0MUZwQnl0MFF4SzV6MWU5NkxsZDUKS2tXeGtyelFuU01kQ0FT
UG5RbWkwbmhKL3BOTlExMU5VTy9VeExiZGxNTXhQTm5zclREcDh1TGV6bGFXMXRhV05oNGpOei9P
CmxWU3lKczY0UE1uRmZjUllGNXJkL0JkOCtVaCsyQUo3ZXR2ZDhhTENPeU9NbVVOdlZSaE4rWnlR
RnpyUGlVNnpuUklzRjR2UwpHeElJbnV1aWlqK25FbjNjM3NLdzU1WHlMOEdmWGRhMEZ1TDhCNHRh
TnBsME9VT3NDSTdPaE1YR0poY1hHM1RxWkNNV1N5Z1UKU2F0V0ZzbkplYm01N01URXRKY3ZZL0x6
eVpXaVZIZDhVWDlaVHdnZCtMQkVkbloyVVZHUjZ0blZTcW01RHRGSzVtLytUZHppCk5kakthN2ds
c2RXck8rbmJVUWpxSjhsN2dGU25PdUZSeTlIU3hKU21BL282b1NWMEJIMVhieTk2WFBEN2tzdGFt
bjl6ZEp0bQpIc01YUDIyK2RQT3dSaVVPS0U2cFNabVFwM1lJeUl2UTA2ZnBibU5sSXNSaW1XdHhj
cWlXdGFHV2k5Tm1NMG15cjAxcTUzZlgKcnBkVCtUY0FLZnZlM0tIcmkrYzl5U3ZpeEo4YitHYmVz
STFSeGVLVWsrUEhuV3F5THpvdExTMHBaSGJlNmlIejdsZVFFM0hhCnVSbitvY1ArT2J4MWRZLzhZ
enVmRnBTN1dmaHM5N0ZjN3dYRDdKVU15MGp6SCs2NFl2ZjdldGU3MjI5bnl5OWFvakNzUHE2Ygp2
ajlPcUtUYVgxT0xFRktYVlllSGh3WUVYRWl2WlNWYW0reC9QZS80bnZUbFcxTVhyRW1lc1NSeDFK
ejRnVE0vOXAwWTEybDYKWE05SzFYMzNEdXZYejVGQXdQTHlpZ1VDR1NBVEU3MnRXMDk0ZTAvZnMr
ZmZxbEZLYU1sSElSRkN3eExHSzYwQ0E3RkxON0dtCjkrK3BtRkd6WkpyckVBRlZIY01FVW00aGxs
bU01WWxJV0diUk94UkNsbHZhVkttTGcydFMyWUNiSnZwRU1qUXp3SDBtMG8xbwpnZ0pleVNWQ01Q
WTUrVHdxOHRxUmliek52Z3N2bDF3M2lsTnFSZ2x5MVRpQitpZENPTEtha0tKbS82blpxWmZ5by9l
TjhiUmoKNlZHTW1vMzlLNGFQQ1dQWE5UUHB2bnBCRnd1bWxZTWhwZVcyRDZWMzg4Szc0eTNNUi8r
SGVoVlVKLzhyejgvTWFXTmNmb3ZnCmhPNjdTaG03d3M5RmowQTBidmZUYjExVGpoNlBLVWg5K1lI
WWNtQWJVNVNPYXR1dHIzMWhSRXllM09YQ2Y3MTE2Y1AyYStkNgpHbGoyWFRCWWVubjczYzlxSXMw
SjNuRlJNbWlCajRXU3U1QWs4K2EyaDAzOS9meCs5bnExNDBxS25DSlFIQ1p1SDUrNTB2OUkKNHVm
ZW1vS0w5S3RxSWRiem5QdTdWOGl2Mjk3VVZEZEFnY2NvS0pyM29rakM0NGdMVWdXSjZZS2tkR0ZT
cGpBbGxaZUlBb3NlClY5N0hJaEFRME1RTnVobnI2MU1vRkVKaEljYm5pODZkdTcxaXhmUW5UNTZm
UC85ZnBTakZSVllNeFVVby9mT3dCQkloTkNMSApZckhRRkpFcTJUVklvK1NMeUJlc29XNGdpVVEw
WmRqa2NaTEZ4WmlRZzdub2QwQjVCTUx5eTZLUzBwUXBrTUloT1BuRUtBSCsKRnAwa3kxOW1vb0xN
UWpGbWd0eVc4SEw0VkdQOW9uYzM3bnh3N09QVFZKK2tiKzAxM0svN243TnV4QlMxd0xES0tRMWdk
ZHdYCld2VGJSU01SV3JKNWUvQzU5Y2lGMnVrSmFTWVBHdWZTNG5RVUVxSG9QaGg2amVxajhwWUcv
b3NUMmVzZnhKOHd5VGcvM3NOdgorcWwrdDdveHlQbVByeG1Idk05dm5idTduZnVoSzU5bXpYT2lZ
QVhQRHQ0a0RUclgwUWdqWWk0ZG1KZzRXZTZpRUdWRnZlUGIKRExZdnZSZnBPWGl5TWg0bFlMOE02
TW1jOE0vTlR6MUcySXJlWGIrUzVqeTRpMlY1TG43a2tkUDVYZmQ3czVCMEduV2E0MmZrCnZlMXE2
c0NKRFVtWUpQM0d0dHZNY1hjN0d5bFJWVkhpMlIzUkhWZjJ0V1NSWi9mNmVkNkpEMzZMbTVTT3Qw
Z2xqRGJMOXc5dgpNMkwyMlI4dWptNmc4T29sTXIrbUZpU015T28rdlhQdXJIOGlWM3A2eWFZaGF1
ZWdFL1VUaW1QUW4wUXF5UmFsbVpFdE16TXkKVGExTWN0UHpySW1WZFFpNTlPbFRJZnJ5YjIvUERB
NStGUm1aSEJiMkpqWTJjZUxFZ2NIQllZR0JRUTBiV3ZmcTFTby92emd2ClQ0eHUybCtzZ3J3SW9R
L2o0RjlsSW9UbW4ycHVjZ2k1cE9TYnlCY2NMaGJLdmtJTmQ5cEVqMndyaUc3WU9HdDByd1p6VVVp
eApvTHlqak9zTkxqLzRLMHBRZG9JWFVCWXJueGhQVmltbExMM28zZFVyVVZ3cEpzbDlHaFFxZE9u
cHpNaTlzMnZ4L01EUWJCRW0KTFU2NmR5a2szN3FWcmF5dEtxZHNYSHZYRVY0eGVGV1RnUGV3SlRV
a1FtbzZvcnZKY1JGQy91RlNwS3FqRk5kSi9sM05TUmk1ClFkOXB2ZW12ZzZKNTZFc3kxWEhJQ0U4
akl0bHU4SXptSDQ1YytZUSt0dXluQjIvVGgwMzNNbEJvV0ZKVVVJVFJEZW1sc2tHawpHVklsL0VL
QlVmY04rd2VIamJMWE56STBjUDlWOE5PK09XN2xRM25pckxDSDJZMTZOek1zc2Nob01TT2cwZk1k
WnhKUVdhTEUKOHp1ZTJmdlBhS25zYzFrY0U3ZzNjOERQblkwSm1FSGJtVDl5RGgyTWxPK2FFRTI4
MSs3MWVUNTNmbERtbCsrdnBYVlNyeFlFClp2UGU5cGtQdzNNVUVxbWh3TllHM2VZMzJCSVJFclBQ
NmRhNXBwSGJIYTVjNy9MK21IUG81YzVSQ20vWTc5N2xoWWFtRlJlTAp0MjA3dVdYTGdjaklDSHQ3
YStSYllPREtoSVRVTld2K1FWRVpHWnkwTkM2VitvVWIvamNSSWVTcTV2Mmh2RUl1bWdyeU1PK1AK
L3NyYW8wZ2c1QmFWVFIxaU5NdkpIZHExa1pZY0tJMUVvdExWUWlUS1lJbEVJbnQ3K3d1WHJtQXBt
ZVh0VFhmM3hnNEc5QTlQClRpczA2N1ZpVXo4clE4cHZPeGI5OXNmOGpvZHloQVM2Vll0QjZ6ZU9k
NlNrWVZpVmxFVDJUZjh1QWFINHcrcWl1clJaZzVrTQpPWFZuZmJzYXVwakFyT29FZ3RNOXNJV3lM
ekUxTVNlRXU0RjZKUEs5R1hVN0tIaGUxWE45VFI3OGZ5a0FBQ0FBU1VSQlZGblYKY1NzVElUeUJH
cjBpc3FtOUtmNUpKeG1hNnhXLzRzaUdHRWhNYTZZc2tOU3d2Ny9uNHUxWFB2MDA2ZjFmZDVtai8y
dFp6UUo1CklzT1lqaFVWRmtteGtoNk1oSjlmUk5SblltODMvT0FYT2lva2UzbG5NMG5LOWZuZEJn
eXpEYjg5MVI1M1VwaWJrRWUydERjdQpIWXlnTmg0N3I5V2E5WUV4TTVlVGp1Mk84WmcvemxuQjkv
c3lBTndYdXc5RWYwenZhTERuYzVENXpxZkxEM3ZqcWlZTEk3SjgKTnYvWnFmbFBTMjUxV0lvcDZW
ZVZtY1RVcU1YTnFmWmtrbkVqUzFKdUFscm1ZVk51bzRiUDdzUmZubW0xZXQzUXZhaWNkTUduCmlR
OTdYT3NlNjMzRThjSEVSRk5Gc3Qya2ljbWRPNG1KaVd5MGl5Z3k4clM4ZDhIQisxMWRSNkFvZE92
bGNnWEtiOEJJaE9TSApKV3FuSjRSN3E3a09TU1RTOUp4OHBoNTZsaWtGRGRDaGJsQ1JRTVRsVnho
SkxlUVYrZm9PNWZKNG1GUktJQkxDdzhOVFUxS1UKTjZLTmpVMUxEdytwN0RrS1VpYlRpTU12VjdX
U2pBeG52NTBCcytSdE1OM0hiejh4WHJaRW91d282WkZWU1VuejJmY21YajRaCm5Pc0lnZTBIaitS
a1ovRzRYTFF1RHEyTzArTENCUGtLVnBLaTJxbTc2dEtsM0o5S0lvUW5WbFdLeEFYcEJXS01oVDdz
NHNKTQpIdDI4UkgvUUJDOSs0eVpaOXd2d1dyQXBLTUx4d1gyVzMwcTM2dVlBeU9idXpmU1RuaVR3
eDFraXBaSVd4SVptTitoZ3p3NWUKR2RsZzdLbDJaaktiRGJ2NytUQjZuSTNBUHV0UTVVcVJiQVl2
N0xsb3pzRm5mU2wvWjNUZjRxdHNMN2swOTk2MmkyYS9SeWN1CmM4WEZTdmhoVzd0TzIrNWtkeHZD
S3JkTHN2TGR2dkdnaC8vSzd0T0pxZ2lSR3JYZ1RyVTNxbHlCMm5qUGZsOFUyVEswTS9PSApqdnR0
SDg5SW9xQTkzQVFTM1ZJR1dDSlNNQmhyWmFYWHBvMmx2ajdWeGNWNTVjb0R1SXVvTTRSTzBOczJi
ZHhRVkhvNk56ZjMKQ3pxRVowVERFdXNYenExTkVVTGxhcTVETWlnU2FUNkhwNlJsMkZ4K3dNL3o4
UDROa1VDWU96dEF1UTZoRHBPam85T3Z5MWFJClNzWXhVUytLcmRTK2txSWhxZzRSUVBKanhqSTNO
alloa2NrMStoU2ZXcGFpR2hVaHZIMVZraUpCeE4vL2hFOVowVVl2Nis2aApPNExXVzVycFkvSTc2
SWdXdlFMYXoxdTFhVk5Hdzhucm0xVGZRVEZvNCs4cjlmMHRjT1lGLzZhOGtDMnJuamxPM3VscW5k
NkMKK2VGQ1VHekFYSGM5YVg3NDVkczVkbU1jeXE0OWlta2pFOUd0eEh3eHhzUzdSQVJXei9tKzRo
RkxsaEFGUTA3MmtzMGFWWGVJCjA2NXV1YzBhdTBhMlBCWS9LSGFEL0t4WGJRMUtHVGhKWGgvSWR1
UDJyRDdzT2VlQVJPaFluVEc1Y05WcklSTmtjWDVDaHRqRQozbFFGdzFwTFl1VENRQ3ZsR0VSOXZZ
WVV0RXhPa0M4ZS83NERKc1VteDNVaHZUWERXbFl1aUVJaEdoaFFUVXpvZmZwMC8vZmYKSjF3dU96
WTJGdWtRbWh4NjlPak4rUEhEVVZSOFBEczN0eEF0WWFpY1dlNTkyYkJFTFlzUWN1RUx3NFZLbkZZ
bENuV1MwSE96ClViY0ovYUgrRGRvU2IxUnlLTXlycjYrUHBzSklaQktTSHp4TFJpNGJEZlFwVEF5
QjlZa0FlbVlQdWpaUU53aTkxdlR6ZTdTbApEVi9rcjYyQ1pEMGh0UFV3ck5vL0ZLdHNCWjFZS0RY
c1BKSzh0WmVydmFYanBEZjlkdThiWmwzcFkwOWdkZmZ2OFBIMEk3dHAKd3h4S1Z3SGtYdWhGSnhE
SXRqUEMrSzkvZHFBUUNCWVQ3bk1NdTJ5NnROejRRQzlMR3MxMlRFaTNBK2ZudVZBTnUyNjl1TnJt
Cm56NDI1aFlXNW8xSEIzZmRkMkdoV3hrY2tubnJ6cXlFVzFGeUs3a04yODMyMDMveWlEWjJkdnZ5
OFRXVVFWeDRzUTlUMWtuRApqeWJUVjZ4L2F1TTN0RnlHMEY0TSswRVRIRjVzUC9teDBrMkI0alR0
d1A4Y0VybVZ4azR3N090cUladm1Lb2k4bFdqUnBaVWEKZXorL2VHRjhNUUU3czRCTW9NUjlpR002
MDkvSHhsR1pwS1EzNlhRV09URTZKUytwOGhZcmtVakk0WWhTVXJob3ZWeVBIbDJHCkRCa3hhSkNQ
b2FFZW1obWFNV1Bkd0lIZHUzVHBncUtLaTBVNU9Wa0VwYi9BYysvK3ZSazczbzVkK3h3dGphdnBo
UW1WSUh4VgpmK2lMUU9VVEZIRDR2eTVkeHVWeTc5NjV2Vzl2MllCdmFSSjA5eGs1YXJSUHYzNDBH
aDMxb2hSYXBqak12UEJxcHNLb1NvR3EKcDFURkdxU3Bad1MwcFJCS3NHaXhDRFhXeFNseWlPcjJX
MHpCYnlobTZUSzVhSWM1cjdsenl0OFRUQWRlNUZRWThURWRlaHROCkJGVTl2T2FlZmlXYnlTcy9p
S2FkRnA0T1gxZzFhVWtJZXR6SlNHT2Z2MEp5ZkFhWmxYWis2QjdyUGtyWFZVeHYyUE5NWWRYaQpE
bFUyU25hYUc4NHJLZDc1VEtiOEkycG9ycitFU1g2cG5CejcybHBJcysvLzlkQjA1QXAzWllzcHFw
VDZ0UUV0M0Z0R3hVVVEKYVFSZWlvRE1JQW9LeEVpS2luSkVSQXJCYWJoNUplc1pHV2tjanB1TGl5
eGNLQlJuWmliKytLTjdhbW8zYis4WlRabzBIVDkrCnRKV1ZUTzdMb3RCS3N1cjhROHV5a2Z5Z2lY
bjAwSVFhZllwUFZRZHFUNGZRK2dXMHRjalExSnpKWktLUnVzK0QwNlV1b1pxagpjQ09XSllkWHhP
ZlY3bkw5cWxRZ0JBZ0FBZTBRWUhqTVc5T2g5ZkpkRWIxWHRLalZ1N2tXM09lLzNyazh0UFBhdlMy
cW16TFQKUWhrS1RHeHRkQkZycENCY1lkQ1FJZTV2M3NRaDJiQ3djQXdQZjl1eG8xM3o1azZ6Wm8z
bzNidWRtWmxaY25KbWRuYUJmRlJzCmJMUkNPeWdRM1lRTkRCU3ZsYXd1aTdiQ2EwK0hrTWNpc1Jq
OXZtcmYvb05IakJ4VnRRSnNEaiszZ0NOV3ZxU2phallJQVFKQQpRSWNKa0JxTU9MRG5acmVKcTNz
SC85R1JxV1JDU01mcUlHVS9Xam5wWkt2ZEljT3NkWG5yb2Flbkxac2RVMURBZmZyMEhZTWgKN3RE
QkdUMVFEdjIxYjk4Y0FRME9yaHlsWTVSTDNhbFZIVUpsb3I1M1ZuNEIrdE5OSE9BVkVBQUMyaWFB
bHJRZGlmWFZ0dFdhCnRrY3c2clFoWFBhRUdKMC92TDFkSWlQajkreTVNMlZLKzBhTktxd3ZWeEts
VTlXcWJSM1NxY3FETTBBQUNBQUJIU0dnMlM4RApsZVVhTjg2dHVMaEFvUkVsVVRwU2Q5QWhIV2tJ
Y0FNSUFJSHZsNEM2UDRKWHowalY3THJ0ZWdZTHFnTUVnQUFRQUFKYUp3QTYKcEhXa1lCQUlBQUVn
QUFUVUlLRHF1Tnk1YTdmVXNBcEpnUUFRQUFKQUFBaW9Sa0FsSFZvMGViaHExaUFWRUFBQ1FBQUlB
QUgxCkNNQzRuSHE4SURVUUFBSkFBQWhvbHdEb2tIWjVnalVnQUFTQUFCQlFqNEJLNDNMcW1ZVFVR
QUFJZkRVQmhSdEJ2dG9xR0FBQwp1a2dBZEVnWFd3VjgrczRKZUhwNmZ1Y0VvUHJmRlFHVmRHalQ0
YlBmRlJTb2JKMGpBRXRwNmx5VGdjTkFvSXlBU2pxRVVnL3IKM3h1b0FRSGRKQUNiQ25TelhjQXJJ
S0FpQVZpbm9DSW9TQVlFZ0FBUUFBSTFRZ0IwcUVhd2dsRWdBQVNBQUJCUWtRRG9rSXFnCklCa1FB
QUpBQUFqVUNBSFFvUnJCQ2thQkFCQUFBa0JBUlFLZ1F5cUNnbVJBQUFnQUFTQlFJd1JVWFMrbldl
RU1HdFhJUUk5RQpKS0NmWVZYM1FEOGdMSlpJMGUrSTg0b0Y2dWFGOUVBQUNBQUJJRkJYQ05Tc0Rp
RVJXclprVVdGQklaMU9hZW5XNEVOQ2pvT2QKU2Z5bnZOSlhXNVA0cEZ3SE8xTThCTVU2MnB2RmY4
cDFzamVML1pDWlY4QnIwTUQ2MStXclFJZnF5c1VFZmdJQklBQUVOQ0JRCnN6cWtUNmMrZS9wRUlC
U1pHNU5IZHN4NG5wcmR1NWxaV0dwT3hWZlRzTlRjUHMzTW5pWm45M0UzZTU2UzQ5T2NkU2MrTStv
RApwNG16QTdLZ1FhMGdDeENvMHdUQ3c4UHJ0UC9nL0hkTFFMTkhnZFNzRGtta1VqcWR6dWV6YVhT
akx2M0dYSDk1cVdQZi9yY2oKcmlsOHZScDJ1V09mUWYrOXV0clJaOUNKZTZjazRqd3FsWW9zZkxj
dCtwMVgvS1diTXlMZzh1STFqVVlqa1VqZkc0M3YvSWVpCnY3Zm1yaC8xMWZpaGlMV3hUb0ZNSnVi
bGM1YXVQaDRabGJocTNXbjUxNGpQSVN2WG5ZNTVsN0pxdzVtbzJLU1ZmNXhLL0pSRgpvYWlva1lL
VUc2dW45MnJlMXMzQnEyM3ZCZnREMmVMcTJsU2M4M2pISEovbXJWMGNXclh5bnYzbnc5eHFVMVpu
QWNKcmlRQVMKb1lrVE1mUVg0OVd5c0tCQUxJYW1xaVh5VUF3UXFIMENLdDdyRlR0bXd0UTNZTkRM
NHZqRmd1ejhRdm1rd3N5L2I1eWVxRGl6CmFxSElBb1lOVUpKV2xCQzQ2TmZiN3B0djd1cHBWZlJt
dC8rNG1kdGFoNnowMHF1YVJaSitjZW1zSXdhL25nLzUwVWtjZFdDMgozODliMjRTczZXQlFOU1dF
ZkZzQ0orWTd1NVI0a0o5ZThwcVhTNlhSOVBRVXRPbTM5Uk5LQndKQVFDc0VOTmNoR3BXQ1JFZ3EK
bFdUdzRuZ2l0am1qa1NITjNOTE1LQ09IWGVhWlJlUForSGxtM0U3NWMzblhVYmg4TElyQzM2Slhk
STVpWDhhVTZwQXdidWZJCkVmZDZqV3Y0T2l3bFB5MVYybXJ1aGpXamJCbnU0emZzNnRDOUlaV0FV
ZDM2OTdUZGN6K1pVMng4YUhTVmxIYVVSa04rMjlsNgpRQk45MUFsMDY5L1hmc2ZWaEFJTWRFZ3Ix
NUgyakNBUkdqTEFKYjE5ZnVCS21Rb1JqNTdVbm0yd0JBU0FnQzRTMEZ5SG1Qb00KVktFYkNWdHZm
OXJKRmVUWk1UMUd1Mnh4TkdwanFFY3Y1QldWMVJXWEUveHRtYlRJQjFaS1dTWlhDbWloU1FKZStF
UG0rc0RqClRTamNzQzBEeHEwTzZuWm9lRWVmdmlWcHhld1AveDBLeW5ZZjRXRkNsQ3BNNmRWdlNL
bFZVZHFETzZrTk83ZGlLU2dGZ3I0ZApnVklSeXM1SExzVDRZRzVqVHhvd21jWW1wbWlLNk5zNUJT
VURBU0JRc3dRMG54K2lsY3pmL0p1NHhXdXdsZGR3UzJLclYzZlMKdDZNUTFFK1NkeG5waWpKcFVi
ZDJsS1lEK2pxaEpYUUVmVmR2TDNwYzhIdSt6SUkwLytib05zMDhoaTkrMm56cDVtR05TaHhRCm5G
SVdJMHo3ZDhPTXJkS3BPeVkyZ2NWNDZqWkFEYWFYRjZHblQ5TnhFV0t4ekEyWnpPOXduVUlOZ2di
VFFFREhDR2plSHlJUQowRTVUVENEbEZtS1pRcXhRUk1JeWk5NmhFTExjMHFheURoQmVhMXlRNUFN
VmRveVVJU0labWhuZzJrbWtHOUVFNmJ5UytXdUMKc2MvSjUxSGN0UER6bStmNkxpVGMyTmdDd3hT
bmxCU0U3MTA4NnhoajVyRmRZMXoxWkRXQVF5Y0lnQWpwUkRPQUUwRGdXeERRClhJZkVZZ21KUkRS
bDJPUnhrc1hGbUpDRHVlaDNRRlZBdTRYS0tsS3BKeVEvTGxkVmdlUVRvOWd5MFVvdXQ0ZGhvb0xN
UWpGbQpndHlXOEhMNFZHUDlvbmMzN254dzdPUFRWSitrYiswMTNLLzduN051eEJRaEhhcWMwb0NF
U1FwZWJQSC8rYjdYK2l0enVwcC8KZHd1QnY4WGxwV0taU0lTV2JONGVmRzQ5U2c4OUlSV2hRVEln
VUc4SWFENHVWeXdVSWdyRG5UYlJJOXNLb2hzMnpocmRxOEZjCkZGSXNrSVhqQjVJVC9BKzlMUk9l
U2dxRXZ5MUxLWitzVWtxWlRkRzdxMWVpdUZKTWt2czBLRlRvMHRPWmtYdG4xK0w1Z2FIWgpJa3hh
bkhUdlVraStkU3RiMlhCYjVaU05hYmwzMTgyNzdMYng2RndRb2JJVzBxVVQ3MkZMUUlSMHFVSEFG
eUJRU3dRMDd3L2wKRlhMUlZKQ0hlWC8wVitac2tVRElMU291ZTB1em5OeWhYUnRweVlFQ0pSS0pL
dFVpRW1YcUtCS0o3TzN0TDF5NmdxVmtsdWVpCnUzdGpCd1A2aHllbkZacjFXckdwbjVVaDViY2Rp
Mzc3WTM3SFF6bENBdDJxeGFEMUc4YzdVdEl3ckVwSzNvUDV0N0pTSkZOYgpYZmhzenV6SE03Zld0
bEhGSlVoVG93U0MwejJ3aGJJdk1UQW5WS09jd1hnOUk2RFp2bEVkM0NLdHVRNUpKTkwwbkh5bUhu
cVcKS1FVTjBLRnVVSkZBeE9XWHI1UkRUWTRXenZuNkR1WHllSmhVU2lBUzBOTktVbE5TbEY4S05q
WTJMVDA4cExMbktFaVpUQ01PCnYxelZTakl5blAxMkJzeVN0OEYwSDcvOXhIalpFb215bzZSSFZp
VmxyeE12WXVSVHdibXVFTmgrOEVoT2RoYVB5MFhyNHREcQpPRmlZb0NzTkEzN29QQUYxUlVVejZh
cHBESnJyRVBJTVNWRStoNmZFUlRhWEgvRHpQTHgvUXlRUTVzNE9VSzVEcU1QazZPajAKNjdJVkly
R3M1NFI2VVd5bDlwVVVEVkYxaUFDU0h6T1d1Ykd4Q1lsTXJoOVA4UWtKQ2VuYXRXc2RhZ0p3RlFn
b0pIQ0lKRnQrClBKS2RoNTdRUmlaL2xWNG90SThIMXBSZDNEcnFKR1Yrbmk2eVpobWpMZkZHUmtZ
b2lzMHUzK3RhNXB5K3ZqNWFua3NpazVEOApvSjZXRXFjaHFwNFJRTTFlL3g2WEFGSlV6NjdTNzdB
NlNJVFFzN1hRRVdoa01qZ2p6ZGpZdUlha1NQTjFDdXEyU2dHSC8rdlMKWlg4ZCtudjBtTEZWODZJ
NzBjaFJvdzhlL252dXZBV29GMVUxQVFxaE9NeTg4T3BNTDVtUWZlRlFQZVVYREVFMEVQZ0tBa2lL
CnZpSjNiV2NWeEs1ejFlOTZMcmRTdWZ6b1kzL2R6NnJSNS90VlY0UTQ0L0lrRi9jUlkxMW9kdk5m
VkxncDhNTVcyTlBiN280WApGZDRaWWN3Y2VxdkM0OFErVjRBWE9zK0pUck9kRWl3WGk5SWJFZ2ll
NjZMS3h2dEZIN2UzTU94NXBjSTNZL1pWSHdiYW1DSjMKbUUwSTRXTEZIOC9NN2U1b1JDVVJ5Q1p1
dm4rRTVNaW9WQWtVNVQ5WTFMTEpwTXNaTmNxczVxK09SZjFMZDRMaWo5Zkt6czR1Cktxb3c3YUpG
RjJwUGg5RDZCYjZFWkdocXptUXkwVWlkck9zamR5Q1pSZUZHTEVzUmljYVJleHlERnFzS3BvQkE3
Uk9vUTFKRQpiZnp6ZzQrWEJwcFVoTVNQUHJqNno1clZvV3FLRUtlZG0rRWZPdXlmdzF0WDk4Zy90
dk5wUWJsamhjOTJIOHYxWGpETVhzbDQKampULzRZNHJkcit2ZDcyNy9YYTIvRlA3S1F5cmordW03
NDhyWDlkYjViSXdHbkNUankrdlFnOHVZei80dVluem1Da2VsSGQvCkRwdDR4V1hybXdLUktPdkdx
RStyaGk5NnpCRldEWHhDN3JMcThQRFFnSUFMNmJXcFJHdVQvYS9uSGQrVHZueHI2b0kxeVRPVwpK
STZhRXo5dzVzZStFK002VFkvcldhV0tYd2hBSW9RZXIyVzgwaW93RUx0MEUydDYvOTRYTW54ZHRK
SjIvRHJEaW5LTHhHTDAKKzZwOSt3OGVNWEpVMVhnMmg1OWJ3QkdydHFhdWFuWUlBUUkxVFVBelVk
SDZBRjJ6L3doUmZWVC9QUlJoMHVXbGt4WUV2dWFTCmlWSWpyK2wvSGw3cWNMUnRpNk9USWwvTWM1
Sjk0eTI4Tzk1cHBQQlkzQkg3UFYxYTNmZzlLV1J3MWpxUDl2K05uQ3phOWRkSApTNnVpeVBlNXRH
N05YdThNT2RIcW45WnRna1l1ZG4xeDkxVmtSS2JUbkFPekpFZDIzM29iKzdhdzFlL1hUL28zb1Vr
THc3Wk4KR0xQNmRwNmhsZXVRMlYxRGZyMnorR053bTc5YktjazFoZnoza0IrMnZjL0VpemcveXZw
ekkvSmZiMTM2c1AyV2c1NEdMS2NGCmc2WER0dC9OOWg3Q2ttMDlsK1lFNzdnb0dYVEd4NEtJY2Fw
cmMwbm16VzBQbS9wdjhkTVAzYkg1U3NxZ3lUYWZkd3hTSENadQo2WDV1Z2YrUndUZW5LaE95RXN0
U1R1anYweTYxMy9HeU01T1ExbnJSUDZmN0RMU25FekI2cXhFL09xNjc4ckZRNHFnb3NJdm4KM04r
OVhCZHZlek53ZzJmNWc2Q3JjMVU3NGRHOEY2Nk0xaHh4UWFZd3BVakM0MGpZeFJJK1g4Q2pVeG1T
cDB5c3NScWw0Q0tVCi92bnhXb04vdllkRzVGZ3NGcG9pVXNPS09rbHJyeitFZTRVK1BWbjVCWEhK
R1ZYL1VEaUlrRHB0QjJtL1J3SkloS0w3WU9oVgp4Y3FMRWcrUEdYdks4Yy9JdExTMDVPY3JxTHRI
VHI5aDREdk5MZTdJbFU4bFBZS0Nad2R2a2dZRmRDd2Y3eVpRR09UOHg5ZU0KTjcvUFQ0bDR1cjhM
dzNucC9TaWtFQ1F5blZUd0l0aHkyZms3ejE4ZTcvUmkyYWkvbkRaZkQzbjU4bkR6NERVN1h2RXd3
ZHZ0CmZrdWpmL3czSmVQVHE3MnVOL2E5NFJGSlJJTHlYRUpILzVPN3k0b29yeFEvOHNqcC9LN1R2
V1hLWTlScGpwL1JuVzFYVTB2NgpGNUwwRzl0dU04Zk43V3lraElFbzhleU82STV6K2xxeXZHZjMr
clQ3eElmeTNvOVV3bWl6ZlAvd2QwdG1uOFVOS2lFcGpEc3cKKzZqdHFyVjl6SWdZcFdHUDBjUGFt
Q0U1RStWRlhkZ1dtTjVxVkFjem1xSkFJa1prZFovZU9mZjBQNUdLcHhpVWxLaHhGSjJvCm4xQWNn
LzQ0WW5hNjhCT05RR2RuRkJyUW1BVVpIQXBSalFlWXlZc1EycytIaTVDVmxWWE5UUTZoS3RkcWYw
aGp4SkFSQ0h4YgpBdW91ZnBQdk9hbWJWMGxOY1JGQ0NYQXBVcVZYbFB2bzJBdnpNVHQ3V01vKzZy
WURadlg2YWRqcHQ2eU5NNW92M1hQbDA2eDUKVHJ5bkIyL1Rod1Y1eWYvK0NYcGtGOVZ4eUFoUG8w
cGZVOUY5bitFKzBzY0dtV0xZdUpuVEUwYjFzaWFoWnozYXVaaHdJdk5FCmtwelFheC90Um8zMVJE
TXdtTnY0SlFOK3UvVWVGZnFGWElxcks4NEtlNWpkYUdvenc1Sm9Sb3NaQVkwOGQ1eEpHRHZQaVpC
NApmc2N6ZS84OUxXWFBXYTd1S0k0SjNKczU0R0JuWTFSNDI1ay9ja1lmalB4NVkzblhoR2ppdlhh
dlQvUEo4NE42bmxEeXF6SlMKOXYwMVc3SkhYeHhSMXBmQ3BObG5lMWlQQ0JhUm12Z2R2dXBmK29C
S0JZRUVadlBlOXBtQjRUbVlsMDExVG1vM3ZMVkJ0NWxXCnE3c0UyaitZbUlnczh5VmNocE0rT2hF
MkZ2Z25EVmV4ckc4aVFzaTMydTRQcVlnRGtnR0Ira0dnSmtRSUo2TmlyNmdnTFYvSwpiR0JVK29X
VHpMVFc0NmV6SlEzNyszc21vQjZSSVAvSlgzZVpvNmUwclB6alRpU21OVlBSbDFRQ3pZQldjdE5B
UFIwaU9pL3AKa3FCelRDTEZ4TnhzRHNIUTBoQWZBS05hTkdaOWZ1U3hzbHlLMjFtWW01Qkh0clEz
TGgxTW96WWVPNi9WK3oyQk1jV0NkOGQyCngzak1HZWVzN0NzKzk4WHVBOUVmOTNRMGtLMDBZTFRl
L081ZDRNNm5GZFl5RUZrK20vL3NkT2VuSmJkeUpES2xWSFJJc3Y3ZApIR1E4WmJxSEhCd0NhL2c5
b2JBZzRkNXN6aS90Znp5S1AzUk1VU0RKdUpFbEtUZWg4cW9QUmVWb0oreE8vR1ZrYU4zUXZlZzEK
WGZESk43aWxXQ3BHc2tRaFVFMlZhblpaOFVpRTBPTzE4T0c0V3VzSjRhV0REbW5uSWdBclFLQXFn
Wm9USWJ3c1ZhU0kyY0NFCndFN0pMMzFJbzRpZHl0VnZZRXdoV2ZjTDhFbzZHaFJ4LzYvN0xML3hi
bFhHL1dVMzhLb1ZVaDVDWXBqb1NiazVYSHgyWHBnZApuNk5rS1lCeVUxVmlTVGFERi9iTStlZmdz
OUREZjJkMFgraGIza09wa2hTVDV0N2JkdEhzOStqaXowc05CSEZiYmE1dnUxTmgKdFFKR3N2TGR2
dEg5a3YvS0ozeWl3cXBLOHg3OS9kUjB5RUJIWFBFa0JSSG5ENTZKS0VSVEMyUkQreTZURnd3Z2g1
eDVuYTRnCk1FTFpuc3FxN21vcGhQMitLSklYMnBuNVE4Zjl0bFpVT3dwNlNEMkJSQy9wQmt0RXFz
OG1ZdmpqdFdwbk9LNnM2cUJEV3JvSwp3QXdRcUVpZ3BrVUlMKzJMVW1UYWFYemJuQk43N3NsV1ho
ZkhYOWgrbTl4N1hFdDlqR2pSSzZCOTZ1Rk5teDQybkR4RzJlK2YKRUVna0NTKzdVUDVodzlXMU5O
R3NsYmQxL0prTGIzbFNLZS90c1kzWHNsVmJMNmFvQ0lwcEl4TlJSbUorbVFVQ3ErZDhYL0dwCkpV
dU9DNGJNNzFXeVhxR2FRNXgyZGN0dDF0aGhzdCtId1ErSzNTQS82L3RiZzFJcStrTzJHN2RudGMz
eE9RZmVLOVJML3Z2LwpYa3RjTzl1WC92UVZFY3NLV3VvM2ZrTndoaENUOGo5ZU8zZ2oxNzZqRTEx
Qm9JTk0xY1g1Q1JsaUUzdlRhcHpVZnJDUkN3T3QKbFB2cG80OWVRd3BhSmlmSUY0OS8zd0dUWXBQ
anVoUzhyZlJVR3NXbG84ZHJyVjg0Ri8zVnNnZ2hieFIxdlJVNWVlN2FMVVhCCkVBWUVnSUFDQWxv
V0lUTU1DMU5RQ2g0VWJTWmJ0bERkWEJIWmJzS0pFM0dUZjNhektFRGJKU3k3L1hKeHQ0K3A3QzdP
NnU3ZgpZY0tnUzY2N2p6bFUrTVd3U3VVWWVQcjFGa3hwYnhXNjlzbWQwZFg2Z0VmUVd5NCt0T2k1
WDBlclA4M3RQRWNFakcxNjUra1gKY3BSRXl4WHhkR2t6UEFmSnZIVm4xdjl1UlJVRzJCbVgyakJz
Tjl0UDMzTzlaUEhPOXZpc1VXbTR1UEJpSDJhNUxqbFBua3ArCmFqTmhYN2tNb2EySDlvTW1PUHh2
KzhtUDQvd3JPRVJ4bW5iZ2YzODNXeEx1cU1CUFlXWmN2a0VUMHpJMVkzcHZ2N3J4Si85UgpkbXN6
QlFSR3d3NStmNTJkMDVSRlZ4QW95MUlRZVN2Um9rc3IxSEsxZExBekM4ek1UT00reERHZDZlOWo0
K2htNUtRMzZRYTIKMU1Ub0ZKTWtaWU9ZWmY3ZHUzOHZQVDJkdytHZ2RYRm9kVnlOTGt5b0JJV3dm
LzkrUHo4LytkQTFlNDh0bXF6cXZGWXRNWVppCmdJQTZCRFlkUHJzc1lKdzZPWFFyTFhvU283clBE
ZE9WQ2tqRUV0bDBFZXA4dmY3VnRmUExIY24vRGxSaDU3a0M3L2xoaTl4OQpQbXlMT1QvSVRFbm5S
MEZHWFFpU1psL3lkVm5ZOUZaa3phN2JSZytMSzd0TzVpZjRSc1ZGRUtrRXFVajJNRS9aV0J6NlhZ
S1MKRWJsV3JtMDJORHFGYzVIUFVva1VlclEwMnFtS1h0RnVUczJlNG9PTWUzcDZLbW1BbzBlUFZw
SWJQTEdxL1NFbHBpRUtDQUFCCklJQUlTRExQRFhhZFkzTDR4ZUhCRnV5SGgwK251OHhySmx1eXBk
SEI4SmkzcGtQcjVic2llcTlvb1d4cG5FYkdhemdULy9YTwo1YUdkMSs1dFVXWGVyZVlLM3Ryb0l0
Ym9xOHdqK1RFd2tGODMrVlhXMU1vTTgwTnE0WUxFUUFBSVZFdUFhREZ3KzQ0QnNUTWEKR3hrdzdj
Yzk2Ym4zK0ZSSHpiL3BraHFNT0xESDQ4VEUxWThMMUpobXI5YTVXb3VRc2grdG5IU3kxZTU5dzlD
aWRqaFVJcUQ1ClZhS1NlVWdFQklEQWQwU0E1alJ1LzdOeCs3VlVZN1NrN1Vpc3I1YU0xWm9aZ2xH
bkRlSHZhcTI0ZWxFUTZGQzlhRWFvQkJBQQpBdDhsQWQzOFBTRjFtMEt4RHFGcFhuVU5RWG9nQUFT
QUFCQ29UUUoxZFRGTEZVWUtkS2hPTHpTcVVrRUlBQUpBQUFnQUFaMG0KQU9zVWRMcDV3RGtnQUFT
QVFMMG5BRHBVNzVzWUtnZ0VnQUFRMEdrQ29FTTYzVHpnSEJBQUFrQ2czaE1BSGFyM1RRd1ZCQUpB
CkFBam9OQUhRSVoxdUhuQU9DQUFCSUZEdkNTaFlMMWZ2Nnd3VkJBSzZUNkIrN0F2UmZjN2dvUzRR
QUIzU2hWWUFINEJBQlFMSwpIeFlKc0lCQVBTTUE0M0wxckVHaE9rQUFDQUNCT2tZQWRLaU9OUmk0
Q3dTQUFCQ29ad1JBaCtwWmcwSjFnQUFRQUFKMWpBRG8KVUIxck1IQVhDQUFCSUZEUENJQU8xYk1H
aGVvQUFTQUFCT29ZQWRDaE90Wmc0QzRRQUFKQW9KNFJBQjJxWncwSzFRRUNRQUFJCjFERUNvRU4x
ck1IQVhTQUFCSUJBUFNNQU9sVFBHaFNxQXdTQUFCQ29Zd1JrejFNNGV2Um9IZk1hM0FVQ1FBQUlB
SUg2UW9EQQo0L0hxUzEyZ0hrQUFDQUFCSUZEM0NNQzRYTjFyTS9BWUNBQUJJRkNmQ0lBTzFhZldo
TG9BQVNBQUJPb2VBZENodXRkbTRERVEKQUFKQW9ENFJBQjJxVDYwSmRRRUNRQUFJMUQwQ29FTjFy
ODNBWXlBQUJJQkFmU0lBT2xTZldoUHFBZ1NBQUJDb2V3UkFoK3BlCm00SEhRQUFJQUlINlJBQjBx
RDYxSnRRRkNBQUJJRkQzQ0lBTzFiMDJBNCtCQUJBQUF2V0pBQmtlNmxPZm1oUHFBZ1NBQUJEUQpa
UUorZm41VjNaTTlYMDVoUk5Xa0VBSUVnQUFRQUFKQVFHTUMxWFY3WUZ4T1k2U1FFUWdBQVNBQUJM
UkFBSFJJQ3hEQkJCQUEKQWtBQUNHaE1BSFJJWTNTUUVRZ0FBU0FBQkxSQUFIUklDeERCQkJBQUFr
QUFDR2hNUUxaT29kS3hadSt4eWtId0hnalVOUUxMCkFzYlZOWmZCWHlEd25SSlFvRU9JeEtMSnc3
OVRIbER0ZWtGZzArR3o5YUllVUFrZzhGMFFnSEc1NzZLWm9aSkFBQWdBQVowbApBRHFrczAwRGpn
RUJJQUFFdmdzQ29FUGZSVE5ESllFQUVBQUNPa3NBZEVobm13WWNBd0pBQUFoOEZ3UkFoNzZMWm9a
S0FnRWcKQUFSMGxnRG9rTTQyRFRnR0JJQUFFUGd1Q0lBT2ZSZk5ESlVFQWtBQUNPZ3NBZEFoblcw
YWNBd0lBQUVnOEYwUUFCMzZMcG9aCktna0VnQUFRMEZrQ2lwK25VSjI3TkJvTlJXVm1adko0dk4x
N2RscGFXRklwZE4raHZyYTJ0c1hGeGRYbGduQWdBQVNBQUJBQQpBdFVSVUUrSGtCVWtRdG5aMlhQ
bnpObjE1MjZXSll0QUlBUWVEaHcyWXBpRmhVVjFaVUE0RUFBQ1FBQUlBSUhxQ0tnM0xvZUwKMEt5
ZmZ0cjU1NjREaC9kMDd0eDV3OGExazZkT1BuZnVYSFVGUURnUUFBSkFBQWdBQVNVRTFOTWhOQnlY
bHBhR3pCRXdnazJEClJna0pDVGR2M09aeitTUWlTVWtaRUFVRXZwTEFlVE56OU1mbGNrVWkwVmVh
Z3V4QXBHOWFKZ0FBSUFCSlJFRlVBQWpvR2dIMQpkRWdvRkNJcHd1OEY2V25wUzVZc1FlTnlIQzRu
STFzbVR2Z2hlTCt0YllNZkx1ZHBvNmJDRHp2YU4vQzVrQ1BGUkpuM05veHEKWTJkcVltSmkwM3I0
SC9leXhOcXdEemJxQWdHa1FCTW5ZdWp2cGwwak5wc05VbFFYR2cxOEJBSnFFRkJQaDhvTVN6RnBa
SFFFCmo4T1RTQ1JxbEtacFVuSHFtV2wrQjhpei8vdVVreDEveFM5LzU5VC9QU3pVMUJqa3Ewc0Ux
bzQxeDkzTlQ1Zjl6ODNOaFJVeApkYW45d0ZjZ29BSUJUWFJJSWhZL2Z2bzROdmJkcEVtVCt2YnJo
VHBKbFF1U0ZzWCtQYldydTVPMXVWMzdhVWZlRjZGNFljcjEKMzRhMGF0eTRhZE1tVGR1TytPTnVw
aGdUeG0zdllQZkQ5aDN6UmczczA2VmxrOVpqOWtYek1VektlYlY3WEdzNzJ5WXQydzlZCmVDRkpL
RVdacFdSSHY4MkhObzEyTVNDU2pGc00rZEdKRy91QlhibFFlRi92Q0NBUkdqTEF4WGlsVldBZ2R1
a20xdkJhVUwycgpJbFFJQ0FBQlREMGRvbEFvZW5wNi9qTm5Idm43YjZsVXlySmdOYlN5Vzc1ODJi
UXBNeXF3TEFvL2wrTjM0ZldIcEloZDdzRkwKNXB4UExVNDZOblhhK1VZYkhzZkV4a2JkL1lWNmNQ
TGNHOWxTTXAxVUdIcU5FbkFrNkwrUUJ3ZmFQRiszN25HaElPNnZtYi9ICkRyN3dOdmIxdzhNK0Nk
Yyt5a1NNYk5GKzJDaHZhNHFzRUdIS3ZTdEpkbjNhbFg1TmhqYXNyd1J3RVVyUHprY1ZqUEdSaVpD
UgprWkdwcVNtK2VhQysxaHJxQlFTK1F3THE2UkFTSVd0cmF4YUxOWFg2ZExGWW5KbWUrU2s1ZnZY
dnY2UHdDdXdvVGNaTTZzZ2kKWVdTcm5oTzg2WkUzMzZZOU94UE9HajZscXdWYUowNXAySGVhTitI
eHhXZytBY05vYmlNR09LSk5TUVNHYlRPV0lDMmRreHQyCi9XT0RJY09hR3hDUStuU2ZNc2lLS205
WmtITDFseEYvU09iOE5kZE50cE1KanZwS1FGNkVuajVON3psYkprSm9id0I2SlpQVgozbXhRWHls
QnZZQkEvU0NnM2tjYTN5U0VyMWJBaCtNa1VpbjZmb3JDSzR6YWswenNUSERMSkFNV1F4QlJ5RTVu
WTRaV3pOSlYKZFdSRFMwWlJSSUZzNVJPUlprQXYwVUlDaVV6RXBGSXhONHVENmJQMDhaUkVRMHZE
TXFXVTVJZHVuK2gzU0cvaHhmTlQzZldSCmhzRlJUd21BQ05YVGhvVnFBUUhGQk5UckQ1WFoyTGho
QXhxWFM4OUl6OG5PM2ZIbnRxU2twQXJtSllVWmhmaUNOakVuaTA5agpHUmxaRzJNRmFlelNSVzZp
Z25TZW5wV1JJZzBrNnBrWllOd2NibW51L09SOC9FeVMvMlROa0xHWDNYZmYrMmNhaUpEaXRxd2YK
b1VpRWxtemVqZy9IUVUrb2ZyUXAxQUlJS0NlZ25nN2grMWduVDV5NCtKZGYwTGdjMmorRWVrVy9M
Vjk1L05qeENzVUlvbytmCmVzT1JZdUtza0tNaEFvOGYzQnEwRzlVNjkreWhCOWxJVllvVGcvWUdr
N3VQZEs4NGxvY2JJQnA3OXJCTnZuajJUYUVVRXlUZgoySGN0UzdZSVFwTDk3NEpKNXp6MlhWamRT
emF5QjBlOUorQTliQW1JVUwxdlphZ2dFTUFKcUhkWHgvZXhvckU0cGlIVDFzWW0KSlRVbCtONzlu
TXljQ3F1M0pVTE1vUDFROHU0aDdVTGpVN2hXZ3pmL005aVNTaHQ5OEdEOHJGL2FPeGNTaVFUelRu
T09iZXBwClFxallpY0lkb2pXZHVXdHgyTlJCem9lWjFrMzdUaGpqZXZPeFdGTHdiTytsakNUSnNN
WkhQcmVieGJqcnNUczdRQ3ZXUHdMQgo2UjdZd3Jtb1hqQW5WUDhhRjJvRUJCUVNVRStIOEpraFpN
amF3dHF0dWNzZmYveGhhR2lJM241TWpDdXpUbTI2T0RScE1YbzcKZjZGOGlSUnJueFhuZlZaVWNN
TGUvMkdxZjJrSXVWSEFvN1NBa2pmdEZwNkxLTThydXlWaDJKVWNyV3lNclZBOHZORkZBcGV1ClhN
ckl5RUNQVHFEVDZXaDFIQ3hNME1WR0FwK0FnRllKcURjdWh4ZU5ab2JRQ2RwRjFMOS9melE2aDU5
cjFTc3c5djBTUU10ZQpMQzB0N2V6c0dqUm9BQ0wwL1Y0SFVQUHZpWUI2L1NHY0ROS2g0QWZCWW9u
RXBZa0xuVUYrOS82ZGdxMnMzeE5FcUtzV0NhQmwKMmJBeVc0czh3UlFRMEgwQzZ1a1F2bzkxMGVM
Rm16WnUzTGhoRTRGSTZFcm91bmp4b291WEx1bCtWY0ZESUFBRWdBQVEwRUVDCjZ1a1F2bzhWOVg2
UUZQbis2SXZxZzU1eit2ejU4OHI3V0hXd291QVNFQUFDUUFBSTZDUUI5WFNvN01mdVVNZm85T25U
Wlk5WApxTHlQVlNlckNrNEJBU0FBQklDQURoSlFUNGRRQlhBcFFncUVla1g0TUIzOEVxc090aXU0
QkFTQUFCQ29Ld1RVMHlIODRUMW8KRlJNNnltb0l6K0d2SzQwTmZnSUJJQUFFZEpDQUp1dTJkYkFh
NEJJUUFBSkFBQWpVVVFLZ1EzVzA0Y0J0SUFBRWdFQTlJUUE2ClZFOGFFcW9CQklBQUVLaWpCRUNI
Nm1qRGdkdEFBQWdBZ1hwQ0FIU29ualFrVkFNSUFBRWdVRWNKZ0E3VjBZWUR0NEVBRUFBQwo5WVFB
NkZBOWFVaW9CaEFBQWtDZ2poSlFhZi9RcHNObjYyajF3TzN2aE1DaXljUHJVMDNSNHh0UmRkQSs4
WG56NXFFVDlMdGYKdTNidFFpZG8zOTZNR1RQUVNYWjI5dUhEaDlHSnRiVzFuNThmT2tsTVRFU1BP
RUVuVGs1T1AvNzRJenA1Ky9adFVGQVFPbW5SCm9vV1Bqdzg2Q1FzTHUzUG5EanBwMzc1OTE2NWQw
VWxJU01qVHAwL1JTYytlUFZ1M2JvMU9idDY4K2ViTkczUXljT0JBVjFkWApkSEwrL1BrUEh6Nmdr
NUVqUjlyYjI2T1RvMGVQcHFXbG9aUEpreWV6V0N4MHNuLy9mamFialU1bXpacUZQK1ZyMjdadCtP
T1AKRnkrVy9Rb01Pa2NoNklUQllNeWVQUnVkb1BRb0Z6cEJGcEFkZEpLYW1ucnMyREYwZ2twQlph
R1R1TGk0Q3hjdW9CUGtDZklICm5TRGZrSWZvQkhtTGZFWW5UNTQ4ZWZEZ0FUcnAwcVZMaHc2eTN5
UkRkVVExUlNlbzFxanU2QVJ4UURUUXlkQ2hReHMzYm94TwpFQ3RFREoyTUd6Y09QZGtkblNDZWlD
bzZRWVR4L1pFN2QrN2s4L2tvQkxVQ2FndDBBdTJpYnJ2Z3JZL1FLVDhJNkZMQXIrT3kKZEd2Mkhx
djBxVVk2Tkt4L2IrV0dJQllJZkNzQzU2N2RxbnJGTGdzWTk2MzgrZnB5MGYxT3hRL3cxNWNGRm9C
QURSR29laG1qCmJ6Q1Y1QVl2R3NibGFxZ0p3Q3dRMEp4QTM3NTlOYzhNT1lGQVhTTUFPbFRYV2d6
OC9RNEl0R3paOGp1b0pWU3huaE5BUDJpcApZZzFCaDFRRUJjbUFBQkFBQWtCQURRSVRKa3hRTVRY
b2tJcWdJQmtRcUQwQ1I0NGNxYjNDb0NRZzhLMEpnQTU5NnhhQThvRkEKRlFJWkdSbFZ3aUFBQ05R
eEFxOWZ2MWJSWTVYV2JhdG9xMm95Qm8xcVpLQkhJaEtrVmVPK0ZFTEFNTEZFV3NEaDhZb0ZYMG9M
CjhVQUFDQUFCSUtCYkJQNzk5MThWWnpwclZvZVFDQzFic3Fpd29KQk9wN1IwYS9BaEljZkJ6aVQr
VTE3cHE2MUpmRkt1ZzUwcApIb0ppSGUzTjRqL2xPdG1ieFg3SXpDdmdOV2hnL2V2eVZhQkR1blZ4
Z1RjMVR3QVdiZGM4WXloQmh3alU3TGljUHAzNjdPbVQKVjY5ZmZZZ05kekVPejAxOTJkandWZmty
RTUySE56YVVoVHNidnNwS2xwMW5wN3gwWm9Zbng0ZUhob1pGUjBVaEN6cEVDMXdCCkFrQUFDQUFC
MVFpb3Z2MmdablZJSXBYUzZYU3hTRXlqNjNmcE44Yk15cTVqM3hGVlhrZmlJU1lXRFR2MkdXRm1Z
ZHZSWnlUVAp4RndpRmxLcFZHUkJ0U3BES2lCUWZ3akEvRkQ5YWN2dnVDWXFEc29oUWpXclEzZ1Rr
TW5Fdkh6TzB0WEhJNk1TVjYwN0xmOGEKOFRsazViclRNZTlTVm0wNEV4V2J0UEtQVTRtZnNpZ1VG
Y2NNQlNrM1ZrL3YxYnl0bTROWDI5NEw5b2V5eGRXM3ZJUWRlV3pXCkFCZUhVY2VTbGFUQ01Fbmhx
d01MZm1qWnJybHJOKzhocTg1L0tBSTFyQjRxeEdpZEFLeVgwenBTTUtqTEJGUzgxeXV1Z2dsVAoz
NEJCTDR2akZ3dXk4d3ZsazVyUUJtS1BtUmlHL2dpdk1IVG5OdzFCU3hha0ppRVl1cStYdmo3QUpH
WGhqMlFMR2t3Znl2cEEKWnVndkFTczJJUXg2aVIxU1hIeEpxQ2doY05HdnQ5MDMzOXpWMDZyb3pX
Ny9jVE8zdFE1WjZhV25JSXNrNzhIU29WczV2ZHZaClVhTVVSSmNIU1F1ZmJKNjFWL2p6aGZ2REhZ
UnY5Z1JNbVhta1JkQU1aeGdoVkVvTklvRUFFQUFDY2dUUTF5a1Z0eEJwM2graQpVU2xJaEtSU1NU
cjMzVWYyODBKQkZsb2RaMmxtVktFaENHalZHd0dqM1pNRm9uUGFYWmtBb2Jmb0JBOUVzYklEaVJP
S0lNaGkKeTNvZXNyeGxiMlNKaEhFN2g3WWF1bWZyN0Jsamg0N3MwWDdFd2xQeFJlaTVpZTdqTit6
NnFYdERLb0hFZE92ZjA1YnpNWmtqClVKZ1NvOWlPT25ocysrUm1obCtvTlMvaWVBaGw4UFJCVG5R
QzBiQ2wzM1N2OUt0QnN1Yzh3Z0VFYW9jQS9uVE8yaW1ybWxKRQoyVkZ2a3ZnVlBvRFZwRlFXTE01
OWVtamJpVmowT2EyWm8wYnNTL0tlSGQ1Mi9LM3NDYWR3ZkEwQjFZZVhOZThQTWZVWnlNVWIKQ1Z0
dmY5ckpGZVRaTVQxR3UyeHhOR3BqcUVjdjVIMis3a3JFcGVSQVNpTlhJMEdQa3JmbG1sT2FSdmF2
TkVOSlNJa3lsUjBrCkVzWUxmOGhjSDNpOENZVWJ0bVhBdU5WQjNRNE43K2lEUDR0THpQN3czNkdn
YlBjUkhpWUVxY0tVMW8wOEREQnh1cHhGaGFmaQovUGZ4eFpaOXJHbDRMS09CbTBudXkyVDB6RitG
cVNFUUNHaWRBUDU0YksyYlZjT2dLT2ZONHhjMHkyYTJESklhdVdvOUtjbWsKOVpnWkh0VHlRWmxh
OXdBSzFBWUJ6WFdJVmpKLzgyL2lsblpEN0xnWU5UdnIxWjJQMngyTmpxTitVcmtPbGN0UG1icVVD
QXYxCkx2YTZCOWJ5SGxiY1hkWXhLdTRoNnlISm4rTjFLNVVydVlwU21nN282eVFiSU5OMzlmYWlY
dzUreng5dXJZOUo4MitPNlQzMwpxWmprMEgvdDRXR05LRmc4ZW1pK3dwU3FNSk1VYzRveG1qNnQx
R1VpVlo4cUtlS3FraFBTQUlIYUlTREpmZmIzMFEvTjJwdWwKeEdjVnNQTkY1aDE4QjdabVVTU0Zj
U0hYNzBaa0N0R1dQWnFWUjg4Zk9qbm95WDJ2cXlhWGxKZncrTWJ0bDhsOEFvbGs2TkNoClgrOFcx
T2lMWjEvazhVZ25EMmQxODJZOHVpVWROTTJuSVVYS2pUcTUrMXBSOStrVDJ4Z1R4VmtoaDAvbDla
N2FRL1NzVW9uMAp2S2VCUnhPYXRwQzhqTUE2REd6MEdZZ3crL201RStFbS9jZjFkWkwzQ1JPelkr
NWRDNDdNTE1La1JGUjYvMzV0ckdoSUJXOWQKZS9nZVRmVktwSG9OVy9mdTM5R2VRVkFVS01rTE8z
SGtZK2VBTVUzcGdvem4xNEllSmZKcCtpem4xclpKOXhQYXpSaHRGUkdvCmdGS1YrbnBhVURGWjlp
dVBFNHZwVERON0Y1YjRhenVDdFhNWjZIZ3BxbTgvMEZ5SENMSnhNMHdnNVJaaW1VS3NVRVRDTW92
ZQpvUkF5NnJXVUhTZ04zcUN5TVRhNXBrV1NVeDd4dVF0VU9ueFhraGtwRTM3STk0NVFDTW5RekFB
ZlZTUFNqV2lDZEY3SmNnT0MKc2MvSjUxSGN0UER6bStmNkxpVGMySWgrYzBSeHlsS3JTdjhSYVV3
YVZzd3RsbUlHc3RJbHhRWEZSRDBEcFZrZ0VnaG9rd0Q2CmlaMHZkSW1JWkdKeFNoeXA3NmhSWm1S
QndyWDlseDZrdUE4MmpVRy9zMk02ZU1wd1J6MnM4TzNsdjYvY3RKenU2OHdvL3d3cAp5alhFN0gz
UXBYQkczL0d6WEkya2VhOHYvSFArdnNYVTNnTjdSKzhKc1I4OXVSTkxsSkFndVpQQUZqZGtpVExl
RjdJc3NJUzAKSWk5ak9pYzVubS9abGg0YmRMSnlpWVBOeVlUaWxJKzBNVE5tVzVQeW5wWnNxWmNV
dnIxeDlqbWp4OWplRlVVSWsvTGovcnNaCmJkQi8ybWhuUGNHbjI0ZlAzSXh3SHQ4OEwvaGVvczB3
Ly9FTnFSTE9oL3UzWWhJNXRpN1VKQVdCWmZQQTR1d1hWME55bW95WgoyZFdha0IxKzZlUkxvU202
UTZsYzN4NzBsOWRDY3ByS3NwTzVjZjhlZVNPcU9NR2d6Y1lGVzFVSmZHR21wR3FHc2hDeEdLMHYK
d0V3Wk5ubWNISGFPUUZpSU9lakxmb1JLSUJTVjUwTGFnejRFU0ZSUUJ3anY5MVN5aUxwQjZNQVZT
aVpPbjg5bEUwaG9NZ21mCk41TExJeXJJTE1SWHVrbDRPWHlxc1Y3UnV4c1hiOFJ5a1FXU3ZyWFhj
TC91cEpjM1ltVERncFZUR3FnOHZrQXljVzdDU0grWgpWbHhTcnBTVEVKRnI3bUVuNXdTY0FvR2FK
WUQvRXAyeU10REhpbXp1NW13aSt5SkpOakxYazNBS2hmemtxSFE5dDFaMmV1aFQKVFRSMGF0VUlT
M3FMdmlQS0hZcHk4WklqVXVqTjJqa2JvUThJMmNTbGpaMGc3bTIyM0dlWVp1bGl5VXRJNDB1RjJl
K3pqVDFiClc3RGpNZ1ZZY2ZyN0FqTVhzNXpvcWlXSzBMZFBrckd6aXdXMVZBQ2xSWW5CWisveTI0
em83eTRycE1KQllEVHhuZW4vUTJOOQpBa2FnV1RXMkluTnplV0lTM1lqS2k0K0lpcy9pU2d5Y3V2
djJkVUZUdWdvRFA5dVNGcVY5eUdlNk5rTWRHNHpDYXRhK01iM2sKenFacWZiTTRhWEY1aGk1dXN1
eEUvVWFlVFZTL1cxU3FEN3lWSTFBYjgwUEZRcUVlaVRiY2FWTnc1TFk4WVVwalJ0ZGVEZVlpCkg0
b0ZjbGQrU1o5SmRzZzBCcDJYQ0E2dU43S1RIcVZoS0FZUFJBTnhlSGpscWFNU0krZ1F2YnQ2Sldy
b1R5MFplVStEUW9VdQppNXJRY3pmdldyd3IxZlRJakhabTRxUjdsMEx5cmNmYVVySG9LaWtieTZh
elZEdjBtby90THAyeDk4SzR6YU9jaWw3OGRlQzEKM2VCbERxcGxoVlJBb0xZSUVFaFVNdjc1SWhE
UnVJTlVVc3d0a2xJTmFLWGZMWWswZllvb1UxQjVnS2xLTGdHSEx5b0lPN1ZiCjlodXNza01zSkRv
VnliNWpmajdvMWsxTjgrT3krTmFwcVZUSE5uYTBtTkNQZVh4aVhMWmhrNFlrM291cUpjcnlFcWo2
bi8zQQpoQ2wzZ2xKRWREY2pQVVdqTHhKZVV0amRKMjh6K1ZMWlhTQmZJSFZIY21qdFBXWkkySk93
NEZPM3M4Um1UZHIyN05QQlhrOWgKNEdjZnBRSytBSlZKd2V0TzBqUFdJK2JpY2FyVnQ1aFhqRkVZ
bEZLY2xMSkJlVGtNY0tvMkFiUmVUc1doT1VWWGhtckY1UlZ5CjBWU1FoM2wvOUZlV28wZ2c1QmJo
L1FoWkdMczRxRU83TnRLU0E3MlZTT1F2NzJxTElSSmxWNU5JSkVJL0QzemgwcFVQV0daNQpVcnE3
TjNZd29IOTRjbHFoV2E4Vm0vcFpNU20vN1ZqMDJ4L3pPeDdLRVJMb1ZpMEdyZDg0M3BHQ2ZyTzRT
a29pKzZaL2w0QlEKL0dGMVVWM2FyTUZNaHB3S1d0OU93Ukp2L1RiemRzOWV2V3hjcjdVNVlsT1BJ
YXYzam5XVS9Tb3dIRUNnZGdpb3VOcTFvak5FCm1nR2RVRnhZakQ1a3NnK1FwSWdqcEJoOG51V3Mx
bStVaTBFeDdUQnVVaWN6K2I1S1VXeFpEb0srYldQOVorK1Q0ck9rdHIyWQpCbVE3NHF2NFQxZzYz
YW1kRVNOTFFZbXl3bEh2cGl3LzBhVHRtQi9OWDV5NGZqMXkwdERtekZLWkxJM214MTIvL0p6Y2Uv
eUUKWnNaa1RQRHgzSjRiSlJGa0k4ZDJQdWhQekV0OWVmWE01ZHNOL1FmWlV4VUUycFNhSVZEb0ZL
bVFKMFIxUjdXUThObjg2bTQxCkN1c3I1VVk4d29SOElTN2FhQ1MrMnV4bHRZSVRiUkxRWElja0Vt
bDZUajVURDYzV3BwQklSTlFOS2hLSXVQd0tLelRSZ2dWZgozNkZjSGc5OVcwUGYyY0xEdzFOVFVw
UzdiMk5qMDlMRFF5cDdqb0tVeVRUaThNdFZyU1Fqdzlsdlo4QXNlUnRNOS9IYlQ0emYKTGg5VTBp
T3JrcExtcys5TnZQTFNQOGNTOU4wbmI3ZzBXYlhFa0FvSWFKbUE2ajhnSmw4d3ZhRzdkZEhEbDBu
dCtqb3dKT3gzCkx4S0lqUWJLUnBxVUgzUWI5d2FjUnk4U1BYczc2aEdLTThKdlB5dHU3ZFBCaEVp
VW9odHp5WDBkTFI5d0lGNTgva3BxM3NlRQpUQ0xZVy9GdmhMMlgyZzR5SnRPcENrcWtZRmtWU2lU
cG01dWFOdW5UUHo3d2N0RExCcU84NVBWT0t1THpSTFJHTEgweUppMU8KRFgrUkxoRFJoT0xjc0l0
WE0xc002ZVBDSkRGTXpZMW9HTnBIamdMUFZ3a3NLd2Q5QmJVellNZTh5MjNUd1J6TGlYNzJnUzh4
CnJxYmFDdXZieHRyUnFPQnRkRWFicmczSUJYRmhjYnhxczFkakZZSVZFRkI5KzRIbU9vU0tSVktV
eitFcEtQOXpFSnZMRC9oNQpIdDYvSVJJSWMyY0hLTmNoMUdGeWRIVDZkZGtLVWNua0UrcEZzWlhh
VjFJMFJBR0I3NDBBa2VrK2NHRGVqZHNIZHhhak9YbzkKMi9hK2ZSeSt2S0taWU5oc3dHRDI5VHVI
ZGwxREh6aXF1V3UzSDFoVWpHamgxa2g4OCtqdXRDNStZenFZbVRnMUZEeUxzUEFxClVUV1drd243
VXBwTEp6TXlwcmpFQWdYZ0NYU0hIb004L2psOStZbU5YMmVyc3RFRmdrR1RycTBqcnA3WUU2VnZZ
R3pmdG1zUApseXZYTDUwMzgrM1lPT0h1a1YwM0pXalhJY095ZWIvK2RsUVN3YTE5NDRSYkZRUExo
Ky9KNXUxODJxWmZPN1k3akdGbzRkTEsKemZSVHFnSXZaRUVLNjBzbWVmWHJtQkowYXRkTG1pSExx
YVU3S3k0Wm5paFdEVURWZzcrdzFrYk9FR0gvL3YxK2ZuN3lwdGZzClBiWm84bkQ1a0UySHp3N3Iz
MXYxNGhXbXRHWVovKytYaFJGdlpNUFFiRGE3YWhwOWZYMFNpZFRheTJ2MTJ2VXBXWGxWRXdqago5
NHowRFo1NS8weXZMNjFsVVRHbDRQM2VPWE5PSlZlWXlVWEY2bm44NzhScWI1UHlnWVdxcmtDSUxo
RTRkKzFXMVN0MldjRC8KMnpzVHFLYXVOSTYvc0NVa0VqWTNYRkJBWENnb1ZiVHFqQzJLTGFLT3VB
RnVPQjcxYU1HbFZtdG5kSnkyZXFhMUttcGRjUnkxCjdYRVpyZU15b3FXT1NsM2FXcWtGck1WUkxF
VXRpaU9Da0pVa0pKbnZKUkFwaVRhRTdZWDg3OGtKWCs2Nzc5N3YvaTdrejEzZQp2ZE80NUdQZGZG
bTdkcTJWQSt0MXk3ZGxweVlaTmE3aXBUWGx1L2IvYjNoeW5PRVJEd1R1RU5pN2QyOHR1VEg2VnEv
K1VKMnEKSjVFcGx5MWZJWmZMTTg2ZDNaRzZ2ZGE5cEVBSmt5YVBpSW5oOHdYVWk3S1lzMnRBOHRH
Y1pJdVhha1ZhbWRJdE9DbjE4eVJyCk1rUWFFQUFCTGhQUUsyNGQzWFZPTVBLUE1kMkU2c0lmL2l2
MzZVLzlOWVJtSmZEYmp4OVV1OWQwVFVYckYralJJZytmTm1LeAptRWJxalArNG1DaTV1TGhRdkdm
cmRqSkZoZEswSFVPelFrVGhJTkJjQkd5Ykgyb3ViN2xRTGsvWUxTcnFUdG9YT3pmUjhJYWIKYjYv
WFJ2ZjIrdldLQ0M1NDZXQSswT01IVmc3Tk5aME9VUk5VYXJWMHZtcjBxTmo0aEVubUxWSXVVNVpL
WkZycjF0U1ozNDRZCkVHZ3hCR3hhTDlkaWFtOWJSWnk5WG9oT2ZNRzR4NWR0T2VDdVppUFFwRHBF
dGFTRmtjVmxFbm8xVzQxUk1BaUFBQWlBUU9NVApzUDdmS1hSZEc3ODFVQUlJMUpIQXRXdUczWEFR
UU1DZUNWZy92QXdkc3VkMmh1OHRsTURwMDZkYmFNMVFMUkN3UUFBNlpBRUsKb2tBQUJFQUFCT3BK
Z0I0L3NESUg2SkNWb0pBTUJKcU9RSFEwNXR1YmpqWkthbllDMXE1VG9FY0ZtOTFYT0FBQ0RrS2dU
NTgrCkRsSlRWTE1GRTdCK2ZzZ3FIYXIxc0hvTEJvZXFnUUFJZ0FBSU5BZ0JySmRyRUl6SUJBU2Fo
d0J0bU44OEJhTlVFR2dPQXBnZgphZzdxS0JNRW5rdkErZ1BFbnBzTkxvSkFjeEt3L3ZFRHE4Ymxt
ck1xS0JzRUhKSUFyVFg2blNGUTdiODJCRElHRFJvMFpNZ1EKTWk1ZnZuenAwaVV5Qmc0YytQTExM
NU54NWNxVkN4Y3VrREZnd0lESXlFZ3lNak16ejU4L1QwWkVSTVN3WWNQSXVIcjFha1pHCkJobjkr
dldMaW9vaUl5c3I2K3paczJTOCtPS0xyNzdLN21WTWg3T2NPY05PQnRNY2xYRzVCSDJiR05lUjB6
Yit4bTFhYUw4VwoyanFNMG9TRmhjWEV4SkJ4L2ZyMTlIVDI2S0RRME5DUkkwZVNrWnViZStyVUtU
SkNRa0pHang1TnhvMGJOMDZlUEVsR3o1NDkKeDR3WlE4Yk5temRQbkRoQlJvOGVQV0pqWThuSXk4
czdmdnc0R2NIQndlUEdqU1BqOXUzYng0NGRJeU1vS0dqQ2hBbGs1T2ZuCkh6bHloSXpBd01DSkV5
ZVNVVkJRY1Bqd1lUSzZkdTBhSHg5Zk00Yk9NRXRJU0tDWXUzZnZIanAwaUF4L2YvOUprOWo5WE83
ZAp1M2Z3NEVFeTZLeVpLVk9ta0ZGWVdIamd3QUV5T25ic09IWHFWREllUEhpd2I5OCtNdno4L0l3
YmRCWVZGZEZtblJSRGt4L0cKY1NmNnA4SFlmMjNidHUyTUdUUG9VbkZ4OGNjZmYweEc2OWF0Wjg2
Y1NjYmp4NC8zN05sRGhxK3Y3Nnhaczhnb0tTblp2WHMzCkdUNCtQck5uenlhanRMUjAxNjVkWkho
NWVjMlpNNGVNc3JLeW5UdDNrdUhwNlRsMzdsd3lKQkxKamgwN3lQRHc4RWhLWXZmRwpsRXFscWFt
cFpOQSswZlBtelNPRDl2RGN0bTBiR1VLaGNQNTg5b3djcFZLNVpjc1dNZ1FDd2NLRkM4bW9xS2pZ
dkhrekdXNXUKYm9zV3NlZVhxdFhxano1aVQ4OHh4V2cwbW8wYk4xSU1iYnEyZVBGaU11aE11QTBi
TnBCQjI0RXVXYktFRERvaElTVWxoUXphCnAyM3AwcVZrMEdhejY5YXRJOE1Zckp6cHRHcS9iVk9t
TUVEQUxnalFEdkYydmQrMlhVQ0dreUJRVndMMTJtK2IvcXJyV2g3UwpnMEJURXNCU21xYWtqYkpB
b0dFSldEc3VWLy96aHhyV2IrUUdBaVlDZUtnQXZ3d2dZTmNFc0U3QnJwc1B6b01BQ0lDQTNST0EK
RHRsOUU2SUNJQUFDSUdEWEJLQkRkdDE4Y0I0RVFBQUU3SjRBZE1qdW14QVZBQUVRQUFHN0pnQWRz
dXZtZy9NZ0FBSWdZUGNFCnJGMHZaMXRGM2ZsdW5xMkV6azQ4T29hMXJvSEhNRnFkbnM0UlY2alVk
YjBYNlVFQUJFQUFCT3lGUU9QcUVJblFpajh2bFVxawpBb0ZybjVBTytYZEtBdnk5Qys0OXFYcnY3
RjN3UzJtQXY0OHhocTRHZHZFdHVGY2ExTVgzVnY2akp4SkZodzUreS82NkVqcGsKTDc5TThCTUVR
QUFFYkNEUXVPTnlJb0hibFc4djUxekx5YitWM2RNcnUvUkJWamVQbktmdllyS3p1M213OGNFZU9j
V0ZyUDM0CmZsYXdPTHV3SURzejgvc2J1Ym1VZ3cyMXdpMGdBQUlnQUFMMlFxQnhkVWluMTlPT1J0
cEtMVjhnR2hJenhiZTkvK0RvZUxQMwpCR09NZDl1T2cxK0w5MjNiZWZDSUJMRjNHNTFXUXpzZFVR
NzJnaEorZ2dBSWdBQUkyRUNnY1hYSTZKQ0xpOU9UTXRueVZmdC8KekwyN2N2V2htdS9YcTJQZVcz
M29adDc5bFdzK3k3MzF5M3NmSEx4N3I5alYxY294US9YOTlGVnpob2NOQ0FtSUdQRHFrcjluCmxt
dWZ4VUZiOHMybU4wYUU5ZXNaMExkdjVJTE5YNVUrTTZWT21yTnp5Y2crTDRYMWVpVnk3TW9qK1JW
UXcyZEJSVHdJZ0FBSQoxSStBbGQvMWxndnhGb3RhdVF0TTE1UXE5ZU15YWMyazN2dy9NTitJR1la
ZXZCeUd2dlY5THRLU0JiMzNSWWErMTZ2ZUx6RTYKVS96WDdJSUduNi9ZUHBBdnZlNHdLbS9lbUN5
RzNaWDJXYUh5emlkTGw1ME5UZmxpYTFUN2loKzJ2VDR0ZVdPL2krOUZDTTNUCjZ4NGVXejcvMDFi
TGpseWNFS1ROM2JrZ2NlR0cvaGYvTnFpVmVVcTk5SExLL0ZUTndxTVg0Z0kwUDJ4UG1wWDhhZSsw
dWNFWQpJVFJIaFJnUUFBRVFxQzhCMi90RGZEZFhFaUc5WHZkUW52ZHorWGRTZFRHdGptdm42L2ty
ajNpMDZvM0g4TDlrSThubVo3QUMKUkIvSk1FYlNWVGFRT05FRkhudlYxUE5nN3pWOVlCTnBmdG95
dnUvNDdSc1d6SjA2UG1IWXdQaTNEaFpVTUl4NzZQUTFXK2NOCjdlakdjeGFIaklycUxQdTVVS2Ey
bEZMdjJuWHNPMXYrTks2N3lJbE5HZDFGOGZNZENXbWdlVkJjMzMvUk5YYk9tQ0FCejhtagpUK0tj
aUljbjAvTE5reUVHQkVBQUJFQ2cvZ1JzN3crSlJlNVVmUHFkRFdmdmJaR3JuL2lMd3lmM1hCL28y
ZDlES0pBcVNCOE0Kd1NBdVZWWk5UVkVQTTBqTVU4MnBUazAvcTI0d3hCaVV5UlNjblJsRjlsZmlE
ei9aMzkxVi92MzYwZE5XcGIyeU8yN3dpR2hECkNtMTUvbjkycHowT2pRLzM1dWt0cG95SUdWdVZW
MlhScFhNUE92NitiMnRMT3F3dHUxMmdhdmVhSDkrWTJMMURpSGRwVmlIRAo5S3JoQ2t3UUFBRVFB
SUdHSVdEcGU5aTZuUG1HK1p2VGQ5ZEh4TGFQaUd2bjFEZm4zRVAyR0NYcUo5WEl3TmpSb1FoRHg0
Z04KQm1GeHkyQnVHanBHRktyZTJlTzVudG9VU1dscVNoSjdtV0ZjZTR5T0RxSUJNcDZvVjJTRTRL
Znp0NVZzckw3c2k4bjlYd2lQCmUvdmJzT1VwRTdzYUhMQ2NrcjJpS1RxOVp1NEcvZXhOTTdwYkhH
clRxV1FxaGkvaVY1WHU1Q1p5MDFYSTJUc1JRQUFFUUFBRQpHcHFBN2YwaE9vQ1BuRkhyNVZMbWtZ
YVJWam96anlyeUtNYUZlaTJtUUdtTUhScDJqSzFHMTBZMXRMb3paUGl5TjM3alZ3M2YKR1c1V0Rh
dktvNVlVT1h2NHRqSnFwNVBBazY5K3FEQXNOZUI1amZqbmQ3a3QwNkE5QUFBRm5rbEVRVlR5b3V3
aktZdkd2Y1ZMClg5dWJqZ3kwbUZJbnlVNTllLzQrOStSOVc2ZjBFcHJySEp1YkUxL01aMVJ5bFo1
cHhTYlFxU1FxSjZHRmFhUXFEL0VEQkVBQQpCRUNnSGdSczd3OXB0ZXpjaW85N3B5ZXlrdklTdFVi
S0JJZ0dVWXhhVS9uVUg5SWUraW9uVWFIT0RjbU1TVjFNS1dpaWlJSlIKb1ZoeHFyYlpDU1NhVERK
MXA2cHZxSlE4a2hwWHVla1VKVW8zTDJGRlh2cXg5RnR5eXNGWjVCY1JsempVT1N2OUpqc3NXRHRs
CksyZEdKN202L3ZWNTZkMVhuMGlaK2l3Um9qdWR2WU83dXovTUtsSVpDdFhMN2x3dmJSUHVYKzBC
Zm9JQUNJQUFDRFFrQWR0MQpTS1hSa0NOeFFlc0VQdzVRMytqWXJYank4QTdzT2VjcU5SdGZGUXg5
SmphUXhyQWlaQkFjbzk2d3hqQ0dKb3JvbmRVcWd3alIKUjZOdXNla05NYlhHNWlyelRwN0lKZFhS
bFg2YmxxbnBHZFZkVUhwdTY5dUxQOGw4WE1ub1ZiOThlZnhpbVYvZnp1eHdXKzJVCjNmaWxHYXZm
L0hmSTJyMkxYbTVUbzh0bUtPVFhRUmcyZGFnK0xmVm9ubEtuZmZMZFAzWmU4NDhkSFZBN0VUNkRB
QWlBQUFnMApCQUhieCtXZVNPVTBGUlRlWmhTOVRKNVVxRFh5Q21NL2dvMHJWNlVOZXFtLzNoRG9v
MDVuY1hsYTdYbzRPYkhxV0ZsWjJhVkwKbDZQSFQrUXpqNTZtRUlSR01ydVNSbVVYRmtsOWg3KzdM
cWE5MlBXZFRVdmYrV0R4NE4wbEdwNmdmZTh4SDY2ZEh1aGF4REJtCktSV1hGcDhwdnErYjNmZG9k
WGErRXo0NzhYNS9kcmxGclNEcS8rYTJCYXRXVEJ2K2ZvbldKM3pzcXRTcGdUVW52V29ueDJjUQpB
QUVRQUFHYkNkaXVRenFkL21GSm1WaElxN1ZkbloyZHFCdFVvYTZVSzZ0WHloazhvb1Z6NDhhTmx5
c1VOTUxHYytKbFoyYy8KdUgvLytiNTI2dFNwVDNpNG50MUhRUzhXZThxVVQxWE5jS043Y09LV3BQ
azE4eENIVHYvb3dIUjJpWVFwR0hwa1ppbUhIN2hLCml5T3NDanhSNk13MXgyZGFsUmFKUUFBRVFB
QUU2a0hBZGgyaVFrbUt5bVNLNTVSZUxsY21MWHpUMkw5eDR2RVdMVWg2dmc1UgpoeWt3TUdqWmlu
Y3JEWk5QMUlzcWYyNyt6eWthbDBBQUJFQUFCT3lDUUwxMDZEZHJTSjJrUjlYVFJYNnR2WVJDb2Fj
bis2QnIKZVhtNStiMGlrY2laZ29zenlRLzF0TXdUTkhpTStuYnFHMjhjTEt3eG4yVW9RaGorbHdP
cklyMnJwN1lhdkZoa0NBSWdBQUlnCjhKUkE0K3BRVGRJU21YTFo4aFZ5dVR6ajNOa2RxZHRyTlFJ
SlVNS2t5U05pWXZoOEFmV2lMRGFSYTBEeTBaeGtpNWRxUlZxWgowaTA0S2ZYekpHc3lSQm9RQUFF
UUFJRkdJdEIwT2tUckYralJJZytmTm1LeG1FYnFqSThmbVdybDR1SkM4WjZ0MjhrVUZVclQKZGd5
TlZHbGtDd0lnQUFJZ3dCa0NUYWREVk9WS3JaYk9WNDBlRlJ1Zk1NbWNRTGxNV1NxUmFhMWJVMmQr
TzJKQUFBUkFBQVRzCmtVQ1Q2aEFCb3VYYnhXVVNldGtqTFBnTUFpQUFBaURRNEFSc2Y0NjF3VjFC
aGlBQUFpQUFBZzVJQURya2dJMk9Lb01BQ0lBQQpod2hBaHpqVUdIQUZCRUFBQkJ5UUFIVElBUnNk
VlFZQkVBQUJEaEd3ZHAzQ3YwNmQ0WkRYY0FVRVFBQUVRS0NsRUxCS2g1Yk8KakdzcDlVVTlRQUFF
UUFBRXVFVUE0M0xjYWc5NEF3SWdBQUtPUmdBNjVHZ3RqdnFDQUFpQUFMY0lRSWU0MVI3d0JnUkFB
QVFjCmpRQjB5TkZhSFBVRkFSQUFBVzRSc0x4T1lkMmV3OXh5RTk2QUFBaUFBQWkwVUFJV2RHaEYw
clFXV2xsVUN3UkFBQVJBZ0hNRQpNQzdIdVNhQlF5QUFBaURnVUFTZ1F3N1YzS2dzQ0lBQUNIQ09B
SFNJYzAwQ2gwQUFCRURBb1FoQWh4eXF1VkZaRUFBQkVPQWMKQVhhZHd0Njllem5uRnh3Q0FSQUFB
UkJ3REFJOGhVTGhHRFZGTFVFQUJFQUFCTGhJQU9OeVhHd1YrQVFDSUFBQ2prTUFPdVE0CmJZMmFn
Z0FJZ0FBWENVQ0h1TmdxOEFrRVFBQUVISWNBZE1oeDJobzFCUUVRQUFFdUVvQU9jYkZWNEJNSWdB
QUlPQTRCNkpEagp0RFZxQ2dJZ0FBSmNKQUFkNG1LcndDY1FBQUVRY0J3QzBDSEhhV3ZVRkFSQUFB
UzRTQUE2eE1WV2dVOGdBQUlnNERnRVhMQ3AKaitNME5tb0tBaUFBQXMxTElERXgwZHlCL3dQeGQ0
a3BRVTRFZXdBQUFBQkpSVTVFcmtKZ2dnPT0KLS0tLS0tLS0tLS0tLS1COEREMkRCMkRCMTQwNUI2
MDg1NkZFMUItLQoKLS0tLS0tLS0tLS0tLS0wNjgyOTc1RjQ1NjQyOEQ4QzgwNURDRTMtLQoKCg==
--===============6045396751128361441==--
From mpolednik at redhat.com Tue Dec 6 07:19:28 2016
Content-Type: multipart/mixed; boundary="===============7627597986606791501=="
MIME-Version: 1.0
From: Martin Polednik
To: users at ovirt.org
Subject: Re: [ovirt-users] feedback and questions about SR-IOV feature
Date: Tue, 06 Dec 2016 13:19:21 +0100
Message-ID: <20161206121918.GD867@dhcp130-218.brq.redhat.com>
In-Reply-To: 2001ce07-98c8-4939-6127-f5dfcb95d296@abes.fr
--===============7627597986606791501==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
On 06/12/16 12:14 +0100, Nathana=C3=ABl Blanchet wrote:
>Hello,
>
>My new 10G NICS support now SR-IOV, and I've played with this new =
>feature as passthrough device, so as to reduce my host CPU =
>consumption.
>
>At the origin, I set up a bond on both 10G PF nics.
>
>After many configurations, the only way I manage to use a VF into a =
>VM, is to get out of the bond one nic.
>
>So does it mean that it is impossible to run a VM with VF with PF =
>attached to a bond?
As far as I know, it's not possible to do that. The reason is that the
bond normally creates new (logical) interface, what you are doing is
assigning "part" of the bond directly to a VM and the driver within VM
isn't aware of the bond.
>Moreover, something strange happens : during the boot of the VM, the =
>passthrough device gets an dhcp IP on the native vlan of the bond, and =
>once finally up, the real vlan used by this device is on the different =
>predifined vlan. It implies to me to reconfigure the network to ping =
>something on the wanted vlan. Really crazy.
This could be explained by previous statement: bonding PFs at
hypervisor level and then assigning VFs to a VM can most likely cause
undefined behavior.
>Other question is : In which case can it be useful to be able to bond =
>2 VF? UI let us to do so, but it is impossible to add any bridge on =
>that virtual bond.
At hypervisor level? I believe it doesn't make sense.
If you require bond between 2 PFs, you can assign 2 VFs each from
different PF to a VM and bond them within the guest.
>Comparing to a large number of restrictions (migration and others), my =
>opinion is that this feature seems to be very difficult to use in =
>production...
The use case for SR-IOV is maximum performance at the cost of
convenience while still (somewhat) allowing you to scale.
>-- =
>Nathana=C3=ABl Blanchet
>
>Supervision r=C3=A9seau
>P=C3=B4le Infrastrutures Informatiques
>227 avenue Professeur-Jean-Louis-Viala
>34193 MONTPELLIER CEDEX 5 =
>T=C3=A9l. 33 (0)4 67 54 84 55
>Fax 33 (0)4 67 54 84 14
>blanchet(a)abes.fr
>
>_______________________________________________
>Users mailing list
>Users(a)ovirt.org
>http://lists.ovirt.org/mailman/listinfo/users
--===============7627597986606791501==--
From blanchet at abes.fr Tue Dec 6 09:23:04 2016
Content-Type: multipart/mixed; boundary="===============1402073380509166670=="
MIME-Version: 1.0
From: =?utf-8?q?Nathana=C3=ABl_Blanchet_=3Cblanchet_at_abes=2Efr=3E?=
To: users at ovirt.org
Subject: Re: [ovirt-users] feedback and questions about SR-IOV feature
Date: Tue, 06 Dec 2016 15:23:03 +0100
Message-ID: <8dcc4449-3f03-17e6-99cd-cb90573cc114@abes.fr>
In-Reply-To: 20161206121918.GD867@dhcp130-218.brq.redhat.com
--===============1402073380509166670==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Le 06/12/2016 =C3=A0 13:19, Martin Polednik a =C3=A9crit :
> On 06/12/16 12:14 +0100, Nathana=C3=ABl Blanchet wrote:
>> Hello,
>>
>> My new 10G NICS support now SR-IOV, and I've played with this new =
>> feature as passthrough device, so as to reduce my host CPU consumption.
>>
>> At the origin, I set up a bond on both 10G PF nics.
>>
>> After many configurations, the only way I manage to use a VF into a =
>> VM, is to get out of the bond one nic.
>>
>> So does it mean that it is impossible to run a VM with VF with PF =
>> attached to a bond?
>
> As far as I know, it's not possible to do that. The reason is that the
> bond normally creates new (logical) interface, what you are doing is
> assigning "part" of the bond directly to a VM and the driver within VM
> isn't aware of the bond.
This is what I supposed, UI should prevent us to create VFfrom when nic =
is attached to a bond. Pencil icon should'nt appear in this case.
>
>> Moreover, something strange happens : during the boot of the VM, the =
>> passthrough device gets an dhcp IP on the native vlan of the bond, =
>> and once finally up, the real vlan used by this device is on the =
>> different predifined vlan. It implies to me to reconfigure the =
>> network to ping something on the wanted vlan. Really crazy.
>
> This could be explained by previous statement: bonding PFs at
> hypervisor level and then assigning VFs to a VM can most likely cause
> undefined behavior.
The issue is the same when the PF is not attached to a bond, so in an =
expected working situation.
>
>> Other question is : In which case can it be useful to be able to bond =
>> 2 VF? UI let us to do so, but it is impossible to add any bridge on =
>> that virtual bond.
>
> At hypervisor level? I believe it doesn't make sense.
I wonder this because UI allows to do it. The same as above, user =
shouldn't be allowed to bond two VFs, and not allowed to add virtual =
network to a VF
>
> If you require bond between 2 PFs, you can assign 2 VFs each from
> different PF to a VM and bond them within the guest.
>
>> Comparing to a large number of restrictions (migration and others), =
>> my opinion is that this feature seems to be very difficult to use in =
>> production...
>
> The use case for SR-IOV is maximum performance at the cost of
> convenience while still (somewhat) allowing you to scale.
>
>> -- =
>> Nathana=C3=ABl Blanchet
>>
>> Supervision r=C3=A9seau
>> P=C3=B4le Infrastrutures Informatiques
>> 227 avenue Professeur-Jean-Louis-Viala
>> 34193 MONTPELLIER CEDEX 5
>> T=C3=A9l. 33 (0)4 67 54 84 55
>> Fax 33 (0)4 67 54 84 14
>> blanchet(a)abes.fr
>>
>
>> _______________________________________________
>> Users mailing list
>> Users(a)ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/users
>
-- =
Nathana=C3=ABl Blanchet
Supervision r=C3=A9seau
P=C3=B4le Infrastrutures Informatiques
227 avenue Professeur-Jean-Louis-Viala
34193 MONTPELLIER CEDEX 5 =
T=C3=A9l. 33 (0)4 67 54 84 55
Fax 33 (0)4 67 54 84 14
blanchet(a)abes.fr
--===============1402073380509166670==--
From mburman at redhat.com Tue Dec 6 09:58:53 2016
Content-Type: multipart/mixed; boundary="===============7414877048279505071=="
MIME-Version: 1.0
From: Michael Burman
To: users at ovirt.org
Subject: Re: [ovirt-users] feedback and questions about SR-IOV feature
Date: Tue, 06 Dec 2016 16:58:51 +0200
Message-ID:
In-Reply-To: 8dcc4449-3f03-17e6-99cd-cb90573cc114@abes.fr
--===============7414877048279505071==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Hello Nathanael
VFs are regular NICs and can be used as regular NICs.
We are allowing to create bond from them and allowing to attach logical
networks to them, because as long as they are not used by any VM, they can
be used just as any other interfaces on the host.
When creating bond from 2 VFs you should see the pencil icon, because you
want to able to edit the bond.
Vf is an interface and you can use it just as you use regular interface on
the host.
* When you create bond from 2 VFs, this VFs are no longer free and you
can't use them to run VM
* The same for attaching a network to VF, this VF is no longer considered
as free VF.
There is no problem about it, this is exactly how it was designed ) , you
have to remember that as long as the VFs are not used by VM, they can be
used as regular NICs and you can do with them everything you want.
http://www.ovirt.org/develop/release-management/features/engine/sr-iov/
Regards,
On Tue, Dec 6, 2016 at 4:23 PM, Nathana=C3=ABl Blanchet wrote:
>
>
> Le 06/12/2016 =C3=A0 13:19, Martin Polednik a =C3=A9crit :
>
>> On 06/12/16 12:14 +0100, Nathana=C3=ABl Blanchet wrote:
>>
>>> Hello,
>>>
>>> My new 10G NICS support now SR-IOV, and I've played with this new
>>> feature as passthrough device, so as to reduce my host CPU consumption.
>>>
>>> At the origin, I set up a bond on both 10G PF nics.
>>>
>>> After many configurations, the only way I manage to use a VF into a VM,
>>> is to get out of the bond one nic.
>>>
>>> So does it mean that it is impossible to run a VM with VF with PF
>>> attached to a bond?
>>>
>>
>> As far as I know, it's not possible to do that. The reason is that the
>> bond normally creates new (logical) interface, what you are doing is
>> assigning "part" of the bond directly to a VM and the driver within VM
>> isn't aware of the bond.
>>
> This is what I supposed, UI should prevent us to create VFfrom when nic is
> attached to a bond. Pencil icon should'nt appear in this case.
>
>>
>> Moreover, something strange happens : during the boot of the VM, the
>>> passthrough device gets an dhcp IP on the native vlan of the bond, and =
once
>>> finally up, the real vlan used by this device is on the different
>>> predifined vlan. It implies to me to reconfigure the network to ping
>>> something on the wanted vlan. Really crazy.
>>>
>>
>> This could be explained by previous statement: bonding PFs at
>> hypervisor level and then assigning VFs to a VM can most likely cause
>> undefined behavior.
>>
> The issue is the same when the PF is not attached to a bond, so in an
> expected working situation.
>
>>
>> Other question is : In which case can it be useful to be able to bond 2
>>> VF? UI let us to do so, but it is impossible to add any bridge on that
>>> virtual bond.
>>>
>>
>> At hypervisor level? I believe it doesn't make sense.
>>
> I wonder this because UI allows to do it. The same as above, user
> shouldn't be allowed to bond two VFs, and not allowed to add virtual
> network to a VF
>
>
>> If you require bond between 2 PFs, you can assign 2 VFs each from
>> different PF to a VM and bond them within the guest.
>>
>> Comparing to a large number of restrictions (migration and others), my
>>> opinion is that this feature seems to be very difficult to use in
>>> production...
>>>
>>
>> The use case for SR-IOV is maximum performance at the cost of
>> convenience while still (somewhat) allowing you to scale.
>>
>> --
>>> Nathana=C3=ABl Blanchet
>>>
>>> Supervision r=C3=A9seau
>>> P=C3=B4le Infrastrutures Informatiques
>>> 227 avenue Professeur-Jean-Louis-Viala
>>> 34193 MONTPELLIER CEDEX 5
>>> T=C3=A9l. 33 (0)4 67 54 84 55
>>> Fax 33 (0)4 67 54 84 14
>>> blanchet(a)abes.fr
>>>
>>>
>> _______________________________________________
>>> Users mailing list
>>> Users(a)ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/users
>>>
>>
>>
> --
> Nathana=C3=ABl Blanchet
>
> Supervision r=C3=A9seau
> P=C3=B4le Infrastrutures Informatiques
> 227 avenue Professeur-Jean-Louis-Viala
> 34193 MONTPELLIER CEDEX 5
> T=C3=A9l. 33 (0)4 67 54 84 55
> Fax 33 (0)4 67 54 84 14
> blanchet(a)abes.fr
>
> _______________________________________________
> Users mailing list
> Users(a)ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users
>
-- =
Michael Burman
RedHat Israel, RHV-M Network QE
Mobile: 054-5355725
IRC: mburman
--===============7414877048279505071==
Content-Type: text/html
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="attachment.html"
PGRpdiBkaXI9Imx0ciI+PGRpdj48ZGl2PjxkaXY+PGRpdj48ZGl2PjxkaXY+PGRpdj48ZGl2Pjxk
aXY+SGVsbG8gTmF0aGFuYWVsPGJyPjxicj48L2Rpdj5WRnMgYXJlIHJlZ3VsYXIgTklDcyBhbmQg
Y2FuIGJlIHVzZWQgYXMgcmVndWxhciBOSUNzLjxicj48L2Rpdj5XZSBhcmUgYWxsb3dpbmcgdG8g
Y3JlYXRlIGJvbmQgZnJvbSB0aGVtIGFuZCBhbGxvd2luZyB0byBhdHRhY2ggbG9naWNhbCBuZXR3
b3JrcyB0byB0aGVtLCBiZWNhdXNlIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IHVzZWQgYnkgYW55
IFZNLCB0aGV5IGNhbiBiZSB1c2VkIGp1c3QgYXMgYW55IG90aGVyIGludGVyZmFjZXMgb24gdGhl
IGhvc3QuPGJyPjwvZGl2Pjxicj48L2Rpdj5XaGVuIGNyZWF0aW5nIGJvbmQgZnJvbSAyIFZGcyB5
b3Ugc2hvdWxkIHNlZSB0aGUgcGVuY2lsIGljb24sIGJlY2F1c2UgeW91IHdhbnQgdG8gYWJsZSB0
byBlZGl0IHRoZSBib25kLjxicj48L2Rpdj5WZiBpcyBhbiBpbnRlcmZhY2UgYW5kIHlvdSBjYW4g
dXNlIGl0IGp1c3QgYXMgeW91IHVzZSByZWd1bGFyIGludGVyZmFjZSBvbiB0aGUgaG9zdC48YnI+
PGJyPjwvZGl2PiogV2hlbiB5b3UgY3JlYXRlIGJvbmQgZnJvbSAyIFZGcywgdGhpcyBWRnMgYXJl
IG5vIGxvbmdlciBmcmVlIGFuZCB5b3UgY2FuJiMzOTt0IHVzZSB0aGVtIHRvIHJ1biBWTTxicj48
L2Rpdj4qIFRoZSBzYW1lIGZvciBhdHRhY2hpbmcgYSBuZXR3b3JrIHRvIFZGLCB0aGlzIFZGIGlz
IG5vIGxvbmdlciBjb25zaWRlcmVkIGFzIGZyZWUgVkYuPGJyPjxicj48L2Rpdj5UaGVyZSBpcyBu
byBwcm9ibGVtIGFib3V0IGl0LCB0aGlzIGlzIGV4YWN0bHkgaG93IGl0IHdhcyBkZXNpZ25lZCAp
ICwgeW91IGhhdmUgdG8gcmVtZW1iZXIgdGhhdCBhcyBsb25nIGFzIHRoZSBWRnMgYXJlIG5vdCB1
c2VkIGJ5IFZNLCB0aGV5IGNhbiBiZSB1c2VkIGFzIHJlZ3VsYXIgTklDcyBhbmQgeW91IGNhbiBk
byB3aXRoIHRoZW0gZXZlcnl0aGluZyB5b3Ugd2FudC4gPGJyPjxicj48YSBocmVmPSJodHRwOi8v
d3d3Lm92aXJ0Lm9yZy9kZXZlbG9wL3JlbGVhc2UtbWFuYWdlbWVudC9mZWF0dXJlcy9lbmdpbmUv
c3ItaW92LyI+aHR0cDovL3d3dy5vdmlydC5vcmcvZGV2ZWxvcC9yZWxlYXNlLW1hbmFnZW1lbnQv
ZmVhdHVyZXMvZW5naW5lL3NyLWlvdi88L2E+PGJyPjxicj48L2Rpdj5SZWdhcmRzLCA8YnI+PGRp
dj48ZGl2PjxkaXY+PGRpdj48ZGl2PjxkaXY+PGRpdj48ZGl2Pjxicj48L2Rpdj48L2Rpdj48L2Rp
dj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9l
eHRyYSI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBUdWUsIERlYyA2LCAyMDE2IGF0
IDQ6MjMgUE0sIE5hdGhhbmHDq2wgQmxhbmNoZXQgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVm
PSJtYWlsdG86YmxhbmNoZXRAYWJlcy5mciIgdGFyZ2V0PSJfYmxhbmsiPmJsYW5jaGV0QGFiZXMu
ZnI8L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90
ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3Bh
ZGRpbmctbGVmdDoxZXgiPjxzcGFuIGNsYXNzPSIiPjxicj4KPGJyPgpMZSAwNi8xMi8yMDE2IMOg
IDEzOjE5LCBNYXJ0aW4gUG9sZWRuaWsgYSDDqWNyaXQgOjxicj4KPGJsb2NrcXVvdGUgY2xhc3M9
ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNj
Y2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+Ck9uIDA2LzEyLzE2IDEyOjE0ICswMTAwLCBOYXRo
YW5hw6tsIEJsYW5jaGV0IHdyb3RlOjxicj4KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3Rl
IiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFk
ZGluZy1sZWZ0OjFleCI+CkhlbGxvLDxicj4KPGJyPgpNeSBuZXcgMTBHIE5JQ1Mgc3VwcG9ydCBu
b3cgU1ItSU9WLCBhbmQgSSYjMzk7dmUgcGxheWVkIHdpdGggdGhpcyBuZXcgZmVhdHVyZSBhcyBw
YXNzdGhyb3VnaCBkZXZpY2UsIHNvIGFzIHRvIHJlZHVjZSBteSBob3N0IENQVSBjb25zdW1wdGlv
bi48YnI+Cjxicj4KQXQgdGhlIG9yaWdpbiwgSSBzZXQgdXAgYSBib25kIG9uIGJvdGggMTBHIFBG
IG5pY3MuPGJyPgo8YnI+CkFmdGVyIG1hbnkgY29uZmlndXJhdGlvbnMsIHRoZSBvbmx5IHdheSBJ
IG1hbmFnZSB0byB1c2UgYSBWRiBpbnRvIGEgVk0sIGlzIHRvIGdldCBvdXQgb2YgdGhlIGJvbmQg
b25lIG5pYy48YnI+Cjxicj4KU28gZG9lcyBpdCBtZWFuIHRoYXQgaXQgaXMgaW1wb3NzaWJsZSB0
byBydW4gYSBWTSB3aXRoIFZGIHdpdGggUEYgYXR0YWNoZWQgdG8gYSBib25kPzxicj4KPC9ibG9j
a3F1b3RlPgo8YnI+CkFzIGZhciBhcyBJIGtub3csIGl0JiMzOTtzIG5vdCBwb3NzaWJsZSB0byBk
byB0aGF0LiBUaGUgcmVhc29uIGlzIHRoYXQgdGhlPGJyPgpib25kIG5vcm1hbGx5IGNyZWF0ZXMg
bmV3IChsb2dpY2FsKSBpbnRlcmZhY2UsIHdoYXQgeW91IGFyZSBkb2luZyBpczxicj4KYXNzaWdu
aW5nICZxdW90O3BhcnQmcXVvdDsgb2YgdGhlIGJvbmQgZGlyZWN0bHkgdG8gYSBWTSBhbmQgdGhl
IGRyaXZlciB3aXRoaW4gVk08YnI+CmlzbiYjMzk7dCBhd2FyZSBvZiB0aGUgYm9uZC48YnI+Cjwv
YmxvY2txdW90ZT48L3NwYW4+ClRoaXMgaXMgd2hhdCBJIHN1cHBvc2VkLCBVSSBzaG91bGQgcHJl
dmVudCB1cyB0byBjcmVhdGUgVkZmcm9tIHdoZW4gbmljIGlzIGF0dGFjaGVkIHRvIGEgYm9uZC4g
UGVuY2lsIGljb24gc2hvdWxkJiMzOTtudCBhcHBlYXIgaW4gdGhpcyBjYXNlLjxzcGFuIGNsYXNz
PSIiPjxicj4KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAg
MCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+Cjxi
cj4KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44
ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+Ck1vcmVvdmVy
LCBzb21ldGhpbmcgc3RyYW5nZSBoYXBwZW5zIDogZHVyaW5nIHRoZSBib290IG9mIHRoZSBWTSwg
dGhlIHBhc3N0aHJvdWdoIGRldmljZSBnZXRzIGFuIGRoY3AgSVAgb24gdGhlIG5hdGl2ZSB2bGFu
IG9mIHRoZSBib25kLCBhbmQgb25jZSBmaW5hbGx5IHVwLCB0aGUgcmVhbCB2bGFuIHVzZWQgYnkg
dGhpcyBkZXZpY2UgaXMgb24gdGhlIGRpZmZlcmVudCBwcmVkaWZpbmVkIHZsYW4uIEl0IGltcGxp
ZXMgdG8gbWUgdG8gcmVjb25maWd1cmUgdGhlIG5ldHdvcmsgdG8gcGluZyBzb21ldGhpbmcgb24g
dGhlIHdhbnRlZCB2bGFuLiBSZWFsbHkgY3JhenkuPGJyPgo8L2Jsb2NrcXVvdGU+Cjxicj4KVGhp
cyBjb3VsZCBiZSBleHBsYWluZWQgYnkgcHJldmlvdXMgc3RhdGVtZW50OiBib25kaW5nIFBGcyBh
dDxicj4KaHlwZXJ2aXNvciBsZXZlbCBhbmQgdGhlbiBhc3NpZ25pbmcgVkZzIHRvIGEgVk0gY2Fu
IG1vc3QgbGlrZWx5IGNhdXNlPGJyPgp1bmRlZmluZWQgYmVoYXZpb3IuPGJyPgo8L2Jsb2NrcXVv
dGU+PC9zcGFuPgpUaGUgaXNzdWUgaXMgdGhlIHNhbWUgd2hlbiB0aGUgUEYgaXMgbm90IGF0dGFj
aGVkIHRvIGEgYm9uZCwgc28gaW4gYW4gZXhwZWN0ZWQgd29ya2luZyBzaXR1YXRpb24uPHNwYW4g
Y2xhc3M9IiI+PGJyPgo8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJn
aW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4
Ij4KPGJyPgo8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAw
IDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KT3Ro
ZXIgcXVlc3Rpb24gaXMgOiBJbiB3aGljaCBjYXNlIGNhbiBpdCBiZSB1c2VmdWwgdG8gYmUgYWJs
ZSB0byBib25kIDIgVkY/IFVJIGxldCB1cyB0byBkbyBzbywgYnV0IGl0IGlzIGltcG9zc2libGUg
dG8gYWRkIGFueSBicmlkZ2Ugb24gdGhhdCB2aXJ0dWFsIGJvbmQuPGJyPgo8L2Jsb2NrcXVvdGU+
Cjxicj4KQXQgaHlwZXJ2aXNvciBsZXZlbD8gSSBiZWxpZXZlIGl0IGRvZXNuJiMzOTt0IG1ha2Ug
c2Vuc2UuPGJyPgo8L2Jsb2NrcXVvdGU+PC9zcGFuPgpJIHdvbmRlciB0aGlzIGJlY2F1c2UgVUkg
YWxsb3dzIHRvIGRvIGl0LiBUaGUgc2FtZSBhcyBhYm92ZSwgdXNlciBzaG91bGRuJiMzOTt0IGJl
IGFsbG93ZWQgdG8gYm9uZCB0d28gVkZzLCBhbmQgbm90IGFsbG93ZWQgdG8gYWRkIHZpcnR1YWwg
bmV0d29yayB0byBhIFZGPGRpdiBjbGFzcz0iSE9FblpiIj48ZGl2IGNsYXNzPSJoNSI+PGJyPgo8
YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDti
b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KPGJyPgpJZiB5b3Ug
cmVxdWlyZSBib25kIGJldHdlZW4gMiBQRnMsIHlvdSBjYW4gYXNzaWduIDIgVkZzIGVhY2ggZnJv
bTxicj4KZGlmZmVyZW50IFBGIHRvIGEgVk0gYW5kIGJvbmQgdGhlbSB3aXRoaW4gdGhlIGd1ZXN0
Ljxicj4KPGJyPgo8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46
MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4K
Q29tcGFyaW5nIHRvIGEgbGFyZ2UgbnVtYmVyIG9mIHJlc3RyaWN0aW9ucyAobWlncmF0aW9uIGFu
ZCBvdGhlcnMpLCBteSBvcGluaW9uIGlzIHRoYXQgdGhpcyBmZWF0dXJlIHNlZW1zIHRvIGJlIHZl
cnkgZGlmZmljdWx0IHRvIHVzZSBpbiBwcm9kdWN0aW9uLi4uPGJyPgo8L2Jsb2NrcXVvdGU+Cjxi
cj4KVGhlIHVzZSBjYXNlIGZvciBTUi1JT1YgaXMgbWF4aW11bSBwZXJmb3JtYW5jZSBhdCB0aGUg
Y29zdCBvZjxicj4KY29udmVuaWVuY2Ugd2hpbGUgc3RpbGwgKHNvbWV3aGF0KSBhbGxvd2luZyB5
b3UgdG8gc2NhbGUuPGJyPgo8YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5
bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmct
bGVmdDoxZXgiPgotLSA8YnI+Ck5hdGhhbmHDq2wgQmxhbmNoZXQ8YnI+Cjxicj4KU3VwZXJ2aXNp
b24gcsOpc2VhdTxicj4KUMO0bGUgSW5mcmFzdHJ1dHVyZXMgSW5mb3JtYXRpcXVlczxicj4KMjI3
IGF2ZW51ZSBQcm9mZXNzZXVyLUplYW4tTG91aXMtVmlhbGE8YnI+CjM0MTkzIE1PTlRQRUxMSUVS
IENFREVYIDU8YnI+ClTDqWwuIDMzICgwKTQgNjcgNTQgODQgNTU8YnI+CkZheMKgIDMzICgwKTQg
NjcgNTQgODQgMTQ8YnI+CjxhIGhyZWY9Im1haWx0bzpibGFuY2hldEBhYmVzLmZyIiB0YXJnZXQ9
Il9ibGFuayI+YmxhbmNoZXRAYWJlcy5mcjwvYT48YnI+Cjxicj4KPC9ibG9ja3F1b3RlPgo8YnI+
CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4
O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX188d2JyPl9fX19fX19fX19fX19fX19fPGJyPgpVc2VycyBtYWls
aW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1haWx0bzpVc2Vyc0BvdmlydC5vcmciIHRhcmdldD0iX2Js
YW5rIj5Vc2Vyc0BvdmlydC5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQu
b3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxh
bmsiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbjx3YnI+L2xpc3RpbmZvL3VzZXJzPC9h
Pjxicj4KPC9ibG9ja3F1b3RlPgo8YnI+CjwvYmxvY2txdW90ZT4KPGJyPgotLSA8YnI+Ck5hdGhh
bmHDq2wgQmxhbmNoZXQ8YnI+Cjxicj4KU3VwZXJ2aXNpb24gcsOpc2VhdTxicj4KUMO0bGUgSW5m
cmFzdHJ1dHVyZXMgSW5mb3JtYXRpcXVlczxicj4KMjI3IGF2ZW51ZSBQcm9mZXNzZXVyLUplYW4t
TG91aXMtVmlhbGE8YnI+CjM0MTkzIE1PTlRQRUxMSUVSIENFREVYIDXCoCDCoCDCoCDCoDxicj4K
VMOpbC4gMzMgKDApNCA2NyA1NCA4NCA1NTxicj4KRmF4wqAgMzMgKDApNCA2NyA1NCA4NCAxNDxi
cj4KPGEgaHJlZj0ibWFpbHRvOmJsYW5jaGV0QGFiZXMuZnIiIHRhcmdldD0iX2JsYW5rIj5ibGFu
Y2hldEBhYmVzLmZyPC9hPjxicj4KPGJyPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX188
d2JyPl9fX19fX19fX19fX19fX19fPGJyPgpVc2VycyBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9
Im1haWx0bzpVc2Vyc0BvdmlydC5vcmciIHRhcmdldD0iX2JsYW5rIj5Vc2Vyc0BvdmlydC5vcmc8
L2E+PGJyPgo8YSBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8v
dXNlcnMiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9saXN0cy5vdmly
dC5vcmcvbWFpbG1hbjx3YnI+L2xpc3RpbmZvL3VzZXJzPC9hPjxicj4KPC9kaXY+PC9kaXY+PC9i
bG9ja3F1b3RlPjwvZGl2Pjxicj48YnIgY2xlYXI9ImFsbCI+PGJyPi0tIDxicj48ZGl2IGNsYXNz
PSJnbWFpbF9zaWduYXR1cmUiIGRhdGEtc21hcnRtYWlsPSJnbWFpbF9zaWduYXR1cmUiPjxkaXYg
ZGlyPSJsdHIiPjxkaXY+PGRpdiBkaXI9Imx0ciI+TWljaGFlbCBCdXJtYW48YnI+UmVkSGF0IElz
cmFlbCwgUkhWLU0gPHNwYW4+TmV0d29yayA8L3NwYW4+UUXCoCA8YnI+PGJyPk1vYmlsZTogMDU0
LTUzNTU3MjU8YnI+SVJDOiBtYnVybWFuPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+CjwvZGl2Pgo=
--===============7414877048279505071==--
From mpolednik at redhat.com Tue Dec 6 10:00:03 2016
Content-Type: multipart/mixed; boundary="===============7758742969123450732=="
MIME-Version: 1.0
From: Martin Polednik
To: users at ovirt.org
Subject: Re: [ovirt-users] feedback and questions about SR-IOV feature
Date: Tue, 06 Dec 2016 15:59:56 +0100
Message-ID: <20161206145954.GA21915@Alexandra.local>
In-Reply-To: 8dcc4449-3f03-17e6-99cd-cb90573cc114@abes.fr
--===============7758742969123450732==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
On 06/12/16 15:23 +0100, Nathana=C3=ABl Blanchet wrote:
>
>
>Le 06/12/2016 =C3=A0 13:19, Martin Polednik a =C3=A9crit :
>>On 06/12/16 12:14 +0100, Nathana=C3=ABl Blanchet wrote:
>>>Hello,
>>>
>>>My new 10G NICS support now SR-IOV, and I've played with this new =
>>>feature as passthrough device, so as to reduce my host CPU =
>>>consumption.
>>>
>>>At the origin, I set up a bond on both 10G PF nics.
>>>
>>>After many configurations, the only way I manage to use a VF into =
>>>a VM, is to get out of the bond one nic.
>>>
>>>So does it mean that it is impossible to run a VM with VF with PF =
>>>attached to a bond?
>>
>>As far as I know, it's not possible to do that. The reason is that the
>>bond normally creates new (logical) interface, what you are doing is
>>assigning "part" of the bond directly to a VM and the driver within VM
>>isn't aware of the bond.
>This is what I supposed, UI should prevent us to create VFfrom when =
>nic is attached to a bond. Pencil icon should'nt appear in this case.
Agreed.
>>
>>>Moreover, something strange happens : during the boot of the VM, =
>>>the passthrough device gets an dhcp IP on the native vlan of the =
>>>bond, and once finally up, the real vlan used by this device is on =
>>>the different predifined vlan. It implies to me to reconfigure the =
>>>network to ping something on the wanted vlan. Really crazy.
>>
>>This could be explained by previous statement: bonding PFs at
>>hypervisor level and then assigning VFs to a VM can most likely cause
>>undefined behavior.
>The issue is the same when the PF is not attached to a bond, so in an =
>expected working situation.
Interesting, could be something regarding mac anti-spoofing. I've
found something for Mellanox cards (you didn't specify which NIC do
you use) - https://community.mellanox.com/docs/DOC-2461 -- could that
be the source of your issues?
>>
>>>Other question is : In which case can it be useful to be able to =
>>>bond 2 VF? UI let us to do so, but it is impossible to add any =
>>>bridge on that virtual bond.
>>
>>At hypervisor level? I believe it doesn't make sense.
>I wonder this because UI allows to do it. The same as above, user =
>shouldn't be allowed to bond two VFs, and not allowed to add virtual =
>network to a VF
Agreed.
(also adding networking people)
>>
>>If you require bond between 2 PFs, you can assign 2 VFs each from
>>different PF to a VM and bond them within the guest.
>>
>>>Comparing to a large number of restrictions (migration and =
>>>others), my opinion is that this feature seems to be very =
>>>difficult to use in production...
>>
>>The use case for SR-IOV is maximum performance at the cost of
>>convenience while still (somewhat) allowing you to scale.
>>
>>>-- =
>>>Nathana=C3=ABl Blanchet
>>>
>>>Supervision r=C3=A9seau
>>>P=C3=B4le Infrastrutures Informatiques
>>>227 avenue Professeur-Jean-Louis-Viala
>>>34193 MONTPELLIER CEDEX 5
>>>T=C3=A9l. 33 (0)4 67 54 84 55
>>>Fax 33 (0)4 67 54 84 14
>>>blanchet(a)abes.fr
>>>
>>
>>>_______________________________________________
>>>Users mailing list
>>>Users(a)ovirt.org
>>>http://lists.ovirt.org/mailman/listinfo/users
>>
>
>-- =
>Nathana=C3=ABl Blanchet
>
>Supervision r=C3=A9seau
>P=C3=B4le Infrastrutures Informatiques
>227 avenue Professeur-Jean-Louis-Viala
>34193 MONTPELLIER CEDEX 5 =
>T=C3=A9l. 33 (0)4 67 54 84 55
>Fax 33 (0)4 67 54 84 14
>blanchet(a)abes.fr
>
--===============7758742969123450732==--
From mpolednik at redhat.com Tue Dec 6 10:04:35 2016
Content-Type: multipart/mixed; boundary="===============6944576304193270241=="
MIME-Version: 1.0
From: Martin Polednik
To: users at ovirt.org
Subject: Re: [ovirt-users] feedback and questions about SR-IOV feature
Date: Tue, 06 Dec 2016 16:04:27 +0100
Message-ID: <20161206150421.GB21915@Alexandra.local>
In-Reply-To: CANf_K0Jw_PB45_WjgBDf59dg91AxKLDBjROgV8fNpnhw4cmkBA@mail.gmail.com
--===============6944576304193270241==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
On 06/12/16 16:58 +0200, Michael Burman wrote:
>Hello Nathanael
>
>VFs are regular NICs and can be used as regular NICs.
>We are allowing to create bond from them and allowing to attach logical
>networks to them, because as long as they are not used by any VM, they can
>be used just as any other interfaces on the host.
>
>When creating bond from 2 VFs you should see the pencil icon, because you
>want to able to edit the bond.
>Vf is an interface and you can use it just as you use regular interface on
>the host.
>
>* When you create bond from 2 VFs, this VFs are no longer free and you
>can't use them to run VM
>* The same for attaching a network to VF, this VF is no longer considered
>as free VF.
>
>There is no problem about it, this is exactly how it was designed ) , you
>have to remember that as long as the VFs are not used by VM, they can be
>used as regular NICs and you can do with them everything you want.
That doesn't mean we have the right design: there is no problem in
bonding 2 VFs belonging to 2 different PFs; but every sane software
warns you if you try to bond 2 VFs from the same PF together (what do
you get by such bond?) -- this applies to both host and guest.
>
>http://www.ovirt.org/develop/release-management/features/engine/sr-iov/
>
>Regards,
>
>
>On Tue, Dec 6, 2016 at 4:23 PM, Nathana=C3=ABl Blanchet wrote:
>
>>
>>
>> Le 06/12/2016 =C3=A0 13:19, Martin Polednik a =C3=A9crit :
>>
>>> On 06/12/16 12:14 +0100, Nathana=C3=ABl Blanchet wrote:
>>>
>>>> Hello,
>>>>
>>>> My new 10G NICS support now SR-IOV, and I've played with this new
>>>> feature as passthrough device, so as to reduce my host CPU consumption.
>>>>
>>>> At the origin, I set up a bond on both 10G PF nics.
>>>>
>>>> After many configurations, the only way I manage to use a VF into a VM,
>>>> is to get out of the bond one nic.
>>>>
>>>> So does it mean that it is impossible to run a VM with VF with PF
>>>> attached to a bond?
>>>>
>>>
>>> As far as I know, it's not possible to do that. The reason is that the
>>> bond normally creates new (logical) interface, what you are doing is
>>> assigning "part" of the bond directly to a VM and the driver within VM
>>> isn't aware of the bond.
>>>
>> This is what I supposed, UI should prevent us to create VFfrom when nic =
is
>> attached to a bond. Pencil icon should'nt appear in this case.
>>
>>>
>>> Moreover, something strange happens : during the boot of the VM, the
>>>> passthrough device gets an dhcp IP on the native vlan of the bond, and=
once
>>>> finally up, the real vlan used by this device is on the different
>>>> predifined vlan. It implies to me to reconfigure the network to ping
>>>> something on the wanted vlan. Really crazy.
>>>>
>>>
>>> This could be explained by previous statement: bonding PFs at
>>> hypervisor level and then assigning VFs to a VM can most likely cause
>>> undefined behavior.
>>>
>> The issue is the same when the PF is not attached to a bond, so in an
>> expected working situation.
>>
>>>
>>> Other question is : In which case can it be useful to be able to bond 2
>>>> VF? UI let us to do so, but it is impossible to add any bridge on that
>>>> virtual bond.
>>>>
>>>
>>> At hypervisor level? I believe it doesn't make sense.
>>>
>> I wonder this because UI allows to do it. The same as above, user
>> shouldn't be allowed to bond two VFs, and not allowed to add virtual
>> network to a VF
>>
>>
>>> If you require bond between 2 PFs, you can assign 2 VFs each from
>>> different PF to a VM and bond them within the guest.
>>>
>>> Comparing to a large number of restrictions (migration and others), my
>>>> opinion is that this feature seems to be very difficult to use in
>>>> production...
>>>>
>>>
>>> The use case for SR-IOV is maximum performance at the cost of
>>> convenience while still (somewhat) allowing you to scale.
>>>
>>> --
>>>> Nathana=C3=ABl Blanchet
>>>>
>>>> Supervision r=C3=A9seau
>>>> P=C3=B4le Infrastrutures Informatiques
>>>> 227 avenue Professeur-Jean-Louis-Viala
>>>> 34193 MONTPELLIER CEDEX 5
>>>> T=C3=A9l. 33 (0)4 67 54 84 55
>>>> Fax 33 (0)4 67 54 84 14
>>>> blanchet(a)abes.fr
>>>>
>>>>
>>> _______________________________________________
>>>> Users mailing list
>>>> Users(a)ovirt.org
>>>> http://lists.ovirt.org/mailman/listinfo/users
>>>>
>>>
>>>
>> --
>> Nathana=C3=ABl Blanchet
>>
>> Supervision r=C3=A9seau
>> P=C3=B4le Infrastrutures Informatiques
>> 227 avenue Professeur-Jean-Louis-Viala
>> 34193 MONTPELLIER CEDEX 5
>> T=C3=A9l. 33 (0)4 67 54 84 55
>> Fax 33 (0)4 67 54 84 14
>> blanchet(a)abes.fr
>>
>> _______________________________________________
>> Users mailing list
>> Users(a)ovirt.org
>> http://lists.ovirt.org/mailman/listinfo/users
>>
>
>
>
>-- =
>Michael Burman
>RedHat Israel, RHV-M Network QE
>
>Mobile: 054-5355725
>IRC: mburman
--===============6944576304193270241==--
From mburman at redhat.com Tue Dec 6 10:10:50 2016
Content-Type: multipart/mixed; boundary="===============8194486557775382638=="
MIME-Version: 1.0
From: Michael Burman
To: users at ovirt.org
Subject: Re: [ovirt-users] feedback and questions about SR-IOV feature
Date: Tue, 06 Dec 2016 17:10:48 +0200
Message-ID:
In-Reply-To: 20161206150421.GB21915@Alexandra.local
--===============8194486557775382638==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
I didn't said it is the right design, i guess that i can get nothing from
such bond and you are right, but,
This is was long discussed a year ago(maybe more) with network DEV when we
planed this feature and it was decided to allow to create bond from VFs.
Thanks,
On Tue, Dec 6, 2016 at 5:04 PM, Martin Polednik
wrote:
> On 06/12/16 16:58 +0200, Michael Burman wrote:
>
>> Hello Nathanael
>>
>> VFs are regular NICs and can be used as regular NICs.
>> We are allowing to create bond from them and allowing to attach logical
>> networks to them, because as long as they are not used by any VM, they c=
an
>> be used just as any other interfaces on the host.
>>
>> When creating bond from 2 VFs you should see the pencil icon, because you
>> want to able to edit the bond.
>> Vf is an interface and you can use it just as you use regular interface =
on
>> the host.
>>
>> * When you create bond from 2 VFs, this VFs are no longer free and you
>> can't use them to run VM
>> * The same for attaching a network to VF, this VF is no longer considered
>> as free VF.
>>
>> There is no problem about it, this is exactly how it was designed ) , you
>> have to remember that as long as the VFs are not used by VM, they can be
>> used as regular NICs and you can do with them everything you want.
>>
>
> That doesn't mean we have the right design: there is no problem in
> bonding 2 VFs belonging to 2 different PFs; but every sane software
> warns you if you try to bond 2 VFs from the same PF together (what do
> you get by such bond?) -- this applies to both host and guest.
>
>
>
>> http://www.ovirt.org/develop/release-management/features/engine/sr-iov/
>>
>> Regards,
>>
>>
>> On Tue, Dec 6, 2016 at 4:23 PM, Nathana=C3=ABl Blanchet
>> wrote:
>>
>>
>>>
>>> Le 06/12/2016 =C3=A0 13:19, Martin Polednik a =C3=A9crit :
>>>
>>> On 06/12/16 12:14 +0100, Nathana=C3=ABl Blanchet wrote:
>>>>
>>>> Hello,
>>>>>
>>>>> My new 10G NICS support now SR-IOV, and I've played with this new
>>>>> feature as passthrough device, so as to reduce my host CPU consumptio=
n.
>>>>>
>>>>> At the origin, I set up a bond on both 10G PF nics.
>>>>>
>>>>> After many configurations, the only way I manage to use a VF into a V=
M,
>>>>> is to get out of the bond one nic.
>>>>>
>>>>> So does it mean that it is impossible to run a VM with VF with PF
>>>>> attached to a bond?
>>>>>
>>>>>
>>>> As far as I know, it's not possible to do that. The reason is that the
>>>> bond normally creates new (logical) interface, what you are doing is
>>>> assigning "part" of the bond directly to a VM and the driver within VM
>>>> isn't aware of the bond.
>>>>
>>>> This is what I supposed, UI should prevent us to create VFfrom when nic
>>> is
>>> attached to a bond. Pencil icon should'nt appear in this case.
>>>
>>>
>>>> Moreover, something strange happens : during the boot of the VM, the
>>>>
>>>>> passthrough device gets an dhcp IP on the native vlan of the bond, and
>>>>> once
>>>>> finally up, the real vlan used by this device is on the different
>>>>> predifined vlan. It implies to me to reconfigure the network to ping
>>>>> something on the wanted vlan. Really crazy.
>>>>>
>>>>>
>>>> This could be explained by previous statement: bonding PFs at
>>>> hypervisor level and then assigning VFs to a VM can most likely cause
>>>> undefined behavior.
>>>>
>>>> The issue is the same when the PF is not attached to a bond, so in an
>>> expected working situation.
>>>
>>>
>>>> Other question is : In which case can it be useful to be able to bond 2
>>>>
>>>>> VF? UI let us to do so, but it is impossible to add any bridge on that
>>>>> virtual bond.
>>>>>
>>>>>
>>>> At hypervisor level? I believe it doesn't make sense.
>>>>
>>>> I wonder this because UI allows to do it. The same as above, user
>>> shouldn't be allowed to bond two VFs, and not allowed to add virtual
>>> network to a VF
>>>
>>>
>>> If you require bond between 2 PFs, you can assign 2 VFs each from
>>>> different PF to a VM and bond them within the guest.
>>>>
>>>> Comparing to a large number of restrictions (migration and others), my
>>>>
>>>>> opinion is that this feature seems to be very difficult to use in
>>>>> production...
>>>>>
>>>>>
>>>> The use case for SR-IOV is maximum performance at the cost of
>>>> convenience while still (somewhat) allowing you to scale.
>>>>
>>>> --
>>>>
>>>>> Nathana=C3=ABl Blanchet
>>>>>
>>>>> Supervision r=C3=A9seau
>>>>> P=C3=B4le Infrastrutures Informatiques
>>>>> 227 avenue Professeur-Jean-Louis-Viala
>>>>> 34193 MONTPELLIER CEDEX 5
>>>>> T=C3=A9l. 33 (0)4 67 54 84 55
>>>>> Fax 33 (0)4 67 54 84 14
>>>>> blanchet(a)abes.fr
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>
>>>>> Users mailing list
>>>>> Users(a)ovirt.org
>>>>> http://lists.ovirt.org/mailman/listinfo/users
>>>>>
>>>>>
>>>>
>>>> --
>>> Nathana=C3=ABl Blanchet
>>>
>>> Supervision r=C3=A9seau
>>> P=C3=B4le Infrastrutures Informatiques
>>> 227 avenue Professeur-Jean-Louis-Viala
>>> 34193 MONTPELLIER CEDEX 5
>>> T=C3=A9l. 33 (0)4 67 54 84 55
>>> Fax 33 (0)4 67 54 84 14
>>> blanchet(a)abes.fr
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users(a)ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/users
>>>
>>>
>>
>>
>> --
>> Michael Burman
>> RedHat Israel, RHV-M Network QE
>>
>> Mobile: 054-5355725
>> IRC: mburman
>>
>
-- =
Michael Burman
RedHat Israel, RHV-M Network QE
Mobile: 054-5355725
IRC: mburman
--===============8194486557775382638==
Content-Type: text/html
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="attachment.html"
PGRpdiBkaXI9Imx0ciI+PGRpdj48ZGl2PkkgZGlkbiYjMzk7dCBzYWlkIGl0IGlzIHRoZSByaWdo
dCBkZXNpZ24sIGkgZ3Vlc3MgdGhhdCBpIGNhbiBnZXQgbm90aGluZyBmcm9tIHN1Y2ggYm9uZCBh
bmQgeW91IGFyZSByaWdodCwgYnV0LCA8YnI+PC9kaXY+VGhpcyBpcyB3YXMgbG9uZyBkaXNjdXNz
ZWQgYSB5ZWFyIGFnbyhtYXliZSBtb3JlKSB3aXRoIG5ldHdvcmsgREVWIHdoZW4gd2UgcGxhbmVk
IHRoaXMgZmVhdHVyZSBhbmQgaXQgd2FzIGRlY2lkZWQgdG8gYWxsb3cgdG8gY3JlYXRlIGJvbmQg
ZnJvbSBWRnMuIDxicj48YnI+PC9kaXY+VGhhbmtzLCA8YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21h
aWxfZXh0cmEiPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+T24gVHVlLCBEZWMgNiwgMjAx
NiBhdCA1OjA0IFBNLCBNYXJ0aW4gUG9sZWRuaWsgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVm
PSJtYWlsdG86bXBvbGVkbmlrQHJlZGhhdC5jb20iIHRhcmdldD0iX2JsYW5rIj5tcG9sZWRuaWtA
cmVkaGF0LmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+PGJsb2NrcXVvdGUgY2xhc3M9Imdt
YWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mg
c29saWQ7cGFkZGluZy1sZWZ0OjFleCI+PHNwYW4gY2xhc3M9IiI+T24gMDYvMTIvMTYgMTY6NTgg
KzAyMDAsIE1pY2hhZWwgQnVybWFuIHdyb3RlOjxicj4KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWls
X3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29s
aWQ7cGFkZGluZy1sZWZ0OjFleCI+CkhlbGxvIE5hdGhhbmFlbDxicj4KPGJyPgpWRnMgYXJlIHJl
Z3VsYXIgTklDcyBhbmQgY2FuIGJlIHVzZWQgYXMgcmVndWxhciBOSUNzLjxicj4KV2UgYXJlIGFs
bG93aW5nIHRvIGNyZWF0ZSBib25kIGZyb20gdGhlbSBhbmQgYWxsb3dpbmcgdG8gYXR0YWNoIGxv
Z2ljYWw8YnI+Cm5ldHdvcmtzIHRvIHRoZW0sIGJlY2F1c2UgYXMgbG9uZyBhcyB0aGV5IGFyZSBu
b3QgdXNlZCBieSBhbnkgVk0sIHRoZXkgY2FuPGJyPgpiZSB1c2VkIGp1c3QgYXMgYW55IG90aGVy
IGludGVyZmFjZXMgb24gdGhlIGhvc3QuPGJyPgo8YnI+CldoZW4gY3JlYXRpbmcgYm9uZCBmcm9t
IDIgVkZzIHlvdSBzaG91bGQgc2VlIHRoZSBwZW5jaWwgaWNvbiwgYmVjYXVzZSB5b3U8YnI+Cndh
bnQgdG8gYWJsZSB0byBlZGl0IHRoZSBib25kLjxicj4KVmYgaXMgYW4gaW50ZXJmYWNlIGFuZCB5
b3UgY2FuIHVzZSBpdCBqdXN0IGFzIHlvdSB1c2UgcmVndWxhciBpbnRlcmZhY2Ugb248YnI+CnRo
ZSBob3N0Ljxicj4KPGJyPgoqIFdoZW4geW91IGNyZWF0ZSBib25kIGZyb20gMiBWRnMsIHRoaXMg
VkZzIGFyZSBubyBsb25nZXIgZnJlZSBhbmQgeW91PGJyPgpjYW4mIzM5O3QgdXNlIHRoZW0gdG8g
cnVuIFZNPGJyPgoqIFRoZSBzYW1lIGZvciBhdHRhY2hpbmcgYSBuZXR3b3JrIHRvIFZGLCB0aGlz
IFZGIGlzIG5vIGxvbmdlciBjb25zaWRlcmVkPGJyPgphcyBmcmVlIFZGLjxicj4KPGJyPgpUaGVy
ZSBpcyBubyBwcm9ibGVtIGFib3V0IGl0LCB0aGlzIGlzIGV4YWN0bHkgaG93IGl0IHdhcyBkZXNp
Z25lZCApICwgeW91PGJyPgpoYXZlIHRvIHJlbWVtYmVyIHRoYXQgYXMgbG9uZyBhcyB0aGUgVkZz
IGFyZSBub3QgdXNlZCBieSBWTSwgdGhleSBjYW4gYmU8YnI+CnVzZWQgYXMgcmVndWxhciBOSUNz
IGFuZCB5b3UgY2FuIGRvIHdpdGggdGhlbSBldmVyeXRoaW5nIHlvdSB3YW50Ljxicj4KPC9ibG9j
a3F1b3RlPgo8YnI+PC9zcGFuPgpUaGF0IGRvZXNuJiMzOTt0IG1lYW4gd2UgaGF2ZSB0aGUgcmln
aHQgZGVzaWduOiB0aGVyZSBpcyBubyBwcm9ibGVtIGluPGJyPgpib25kaW5nIDIgVkZzIGJlbG9u
Z2luZyB0byAyIGRpZmZlcmVudCBQRnM7IGJ1dCBldmVyeSBzYW5lIHNvZnR3YXJlPGJyPgp3YXJu
cyB5b3UgaWYgeW91IHRyeSB0byBib25kIDIgVkZzIGZyb20gdGhlIHNhbWUgUEYgdG9nZXRoZXIg
KHdoYXQgZG88YnI+CnlvdSBnZXQgYnkgc3VjaCBib25kPykgLS0gdGhpcyBhcHBsaWVzIHRvIGJv
dGggaG9zdCBhbmQgZ3Vlc3QuPGRpdiBjbGFzcz0iSE9FblpiIj48ZGl2IGNsYXNzPSJoNSI+PGJy
Pgo8YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAg
MCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgo8YnI+
CjxhIGhyZWY9Imh0dHA6Ly93d3cub3ZpcnQub3JnL2RldmVsb3AvcmVsZWFzZS1tYW5hZ2VtZW50
L2ZlYXR1cmVzL2VuZ2luZS9zci1pb3YvIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5r
Ij5odHRwOi8vd3d3Lm92aXJ0Lm9yZy9kZXZlbG9wL3I8d2JyPmVsZWFzZS1tYW5hZ2VtZW50L2Zl
YXR1cmVzL2VuZzx3YnI+aW5lL3NyLWlvdi88L2E+PGJyPgo8YnI+ClJlZ2FyZHMsPGJyPgo8YnI+
Cjxicj4KT24gVHVlLCBEZWMgNiwgMjAxNiBhdCA0OjIzIFBNLCBOYXRoYW5hw6tsIEJsYW5jaGV0
ICZsdDs8YSBocmVmPSJtYWlsdG86YmxhbmNoZXRAYWJlcy5mciIgdGFyZ2V0PSJfYmxhbmsiPmJs
YW5jaGV0QGFiZXMuZnI8L2E+Jmd0OyB3cm90ZTo8YnI+Cjxicj4KPGJsb2NrcXVvdGUgY2xhc3M9
ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNj
Y2Mgc29saWQ7cGFkZGluZy1sZWZ0OjFleCI+Cjxicj4KPGJyPgpMZSAwNi8xMi8yMDE2IMOgIDEz
OjE5LCBNYXJ0aW4gUG9sZWRuaWsgYSDDqWNyaXQgOjxicj4KPGJyPgo8YmxvY2txdW90ZSBjbGFz
cz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHgg
I2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KT24gMDYvMTIvMTYgMTI6MTQgKzAxMDAsIE5h
dGhhbmHDq2wgQmxhbmNoZXQgd3JvdGU6PGJyPgo8YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFp
bF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNv
bGlkO3BhZGRpbmctbGVmdDoxZXgiPgpIZWxsbyw8YnI+Cjxicj4KTXkgbmV3IDEwRyBOSUNTIHN1
cHBvcnQgbm93IFNSLUlPViwgYW5kIEkmIzM5O3ZlIHBsYXllZCB3aXRoIHRoaXMgbmV3PGJyPgpm
ZWF0dXJlIGFzIHBhc3N0aHJvdWdoIGRldmljZSwgc28gYXMgdG8gcmVkdWNlIG15IGhvc3QgQ1BV
IGNvbnN1bXB0aW9uLjxicj4KPGJyPgpBdCB0aGUgb3JpZ2luLCBJIHNldCB1cCBhIGJvbmQgb24g
Ym90aCAxMEcgUEYgbmljcy48YnI+Cjxicj4KQWZ0ZXIgbWFueSBjb25maWd1cmF0aW9ucywgdGhl
IG9ubHkgd2F5IEkgbWFuYWdlIHRvIHVzZSBhIFZGIGludG8gYSBWTSw8YnI+CmlzIHRvIGdldCBv
dXQgb2YgdGhlIGJvbmQgb25lIG5pYy48YnI+Cjxicj4KU28gZG9lcyBpdCBtZWFuIHRoYXQgaXQg
aXMgaW1wb3NzaWJsZSB0byBydW4gYSBWTSB3aXRoIFZGIHdpdGggUEY8YnI+CmF0dGFjaGVkIHRv
IGEgYm9uZD88YnI+Cjxicj4KPC9ibG9ja3F1b3RlPgo8YnI+CkFzIGZhciBhcyBJIGtub3csIGl0
JiMzOTtzIG5vdCBwb3NzaWJsZSB0byBkbyB0aGF0LiBUaGUgcmVhc29uIGlzIHRoYXQgdGhlPGJy
Pgpib25kIG5vcm1hbGx5IGNyZWF0ZXMgbmV3IChsb2dpY2FsKSBpbnRlcmZhY2UsIHdoYXQgeW91
IGFyZSBkb2luZyBpczxicj4KYXNzaWduaW5nICZxdW90O3BhcnQmcXVvdDsgb2YgdGhlIGJvbmQg
ZGlyZWN0bHkgdG8gYSBWTSBhbmQgdGhlIGRyaXZlciB3aXRoaW4gVk08YnI+CmlzbiYjMzk7dCBh
d2FyZSBvZiB0aGUgYm9uZC48YnI+Cjxicj4KPC9ibG9ja3F1b3RlPgpUaGlzIGlzIHdoYXQgSSBz
dXBwb3NlZCwgVUkgc2hvdWxkIHByZXZlbnQgdXMgdG8gY3JlYXRlIFZGZnJvbSB3aGVuIG5pYyBp
czxicj4KYXR0YWNoZWQgdG8gYSBib25kLiBQZW5jaWwgaWNvbiBzaG91bGQmIzM5O250IGFwcGVh
ciBpbiB0aGlzIGNhc2UuPGJyPgo8YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIg
c3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRp
bmctbGVmdDoxZXgiPgo8YnI+Ck1vcmVvdmVyLCBzb21ldGhpbmcgc3RyYW5nZSBoYXBwZW5zIDog
ZHVyaW5nIHRoZSBib290IG9mIHRoZSBWTSwgdGhlPGJyPgo8YmxvY2txdW90ZSBjbGFzcz0iZ21h
aWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBz
b2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KcGFzc3Rocm91Z2ggZGV2aWNlIGdldHMgYW4gZGhjcCBJ
UCBvbiB0aGUgbmF0aXZlIHZsYW4gb2YgdGhlIGJvbmQsIGFuZCBvbmNlPGJyPgpmaW5hbGx5IHVw
LCB0aGUgcmVhbCB2bGFuIHVzZWQgYnkgdGhpcyBkZXZpY2UgaXMgb24gdGhlIGRpZmZlcmVudDxi
cj4KcHJlZGlmaW5lZCB2bGFuLiBJdCBpbXBsaWVzIHRvIG1lIHRvIHJlY29uZmlndXJlIHRoZSBu
ZXR3b3JrIHRvIHBpbmc8YnI+CnNvbWV0aGluZyBvbiB0aGUgd2FudGVkIHZsYW4uIFJlYWxseSBj
cmF6eS48YnI+Cjxicj4KPC9ibG9ja3F1b3RlPgo8YnI+ClRoaXMgY291bGQgYmUgZXhwbGFpbmVk
IGJ5IHByZXZpb3VzIHN0YXRlbWVudDogYm9uZGluZyBQRnMgYXQ8YnI+Cmh5cGVydmlzb3IgbGV2
ZWwgYW5kIHRoZW4gYXNzaWduaW5nIFZGcyB0byBhIFZNIGNhbiBtb3N0IGxpa2VseSBjYXVzZTxi
cj4KdW5kZWZpbmVkIGJlaGF2aW9yLjxicj4KPGJyPgo8L2Jsb2NrcXVvdGU+ClRoZSBpc3N1ZSBp
cyB0aGUgc2FtZSB3aGVuIHRoZSBQRiBpcyBub3QgYXR0YWNoZWQgdG8gYSBib25kLCBzbyBpbiBh
bjxicj4KZXhwZWN0ZWQgd29ya2luZyBzaXR1YXRpb24uPGJyPgo8YnI+CjxibG9ja3F1b3RlIGNs
YXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFw
eCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgo8YnI+Ck90aGVyIHF1ZXN0aW9uIGlzIDog
SW4gd2hpY2ggY2FzZSBjYW4gaXQgYmUgdXNlZnVsIHRvIGJlIGFibGUgdG8gYm9uZCAyPGJyPgo8
YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDti
b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KVkY/IFVJIGxldCB1
cyB0byBkbyBzbywgYnV0IGl0IGlzIGltcG9zc2libGUgdG8gYWRkIGFueSBicmlkZ2Ugb24gdGhh
dDxicj4KdmlydHVhbCBib25kLjxicj4KPGJyPgo8L2Jsb2NrcXVvdGU+Cjxicj4KQXQgaHlwZXJ2
aXNvciBsZXZlbD8gSSBiZWxpZXZlIGl0IGRvZXNuJiMzOTt0IG1ha2Ugc2Vuc2UuPGJyPgo8YnI+
CjwvYmxvY2txdW90ZT4KSSB3b25kZXIgdGhpcyBiZWNhdXNlIFVJIGFsbG93cyB0byBkbyBpdC4g
VGhlIHNhbWUgYXMgYWJvdmUsIHVzZXI8YnI+CnNob3VsZG4mIzM5O3QgYmUgYWxsb3dlZCB0byBi
b25kIHR3byBWRnMsIGFuZCBub3QgYWxsb3dlZCB0byBhZGQgdmlydHVhbDxicj4KbmV0d29yayB0
byBhIFZGPGJyPgo8YnI+Cjxicj4KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBzdHls
ZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1s
ZWZ0OjFleCI+CklmIHlvdSByZXF1aXJlIGJvbmQgYmV0d2VlbiAyIFBGcywgeW91IGNhbiBhc3Np
Z24gMiBWRnMgZWFjaCBmcm9tPGJyPgpkaWZmZXJlbnQgUEYgdG8gYSBWTSBhbmQgYm9uZCB0aGVt
IHdpdGhpbiB0aGUgZ3Vlc3QuPGJyPgo8YnI+CkNvbXBhcmluZyB0byBhIGxhcmdlIG51bWJlciBv
ZiByZXN0cmljdGlvbnMgKG1pZ3JhdGlvbiBhbmQgb3RoZXJzKSwgbXk8YnI+CjxibG9ja3F1b3Rl
IGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0
OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXgiPgpvcGluaW9uIGlzIHRoYXQgdGhpcyBm
ZWF0dXJlIHNlZW1zIHRvIGJlIHZlcnkgZGlmZmljdWx0IHRvIHVzZSBpbjxicj4KcHJvZHVjdGlv
bi4uLjxicj4KPGJyPgo8L2Jsb2NrcXVvdGU+Cjxicj4KVGhlIHVzZSBjYXNlIGZvciBTUi1JT1Yg
aXMgbWF4aW11bSBwZXJmb3JtYW5jZSBhdCB0aGUgY29zdCBvZjxicj4KY29udmVuaWVuY2Ugd2hp
bGUgc3RpbGwgKHNvbWV3aGF0KSBhbGxvd2luZyB5b3UgdG8gc2NhbGUuPGJyPgo8YnI+Ci0tPGJy
Pgo8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhl
eDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KTmF0aGFuYcOr
bCBCbGFuY2hldDxicj4KPGJyPgpTdXBlcnZpc2lvbiByw6lzZWF1PGJyPgpQw7RsZSBJbmZyYXN0
cnV0dXJlcyBJbmZvcm1hdGlxdWVzPGJyPgoyMjcgYXZlbnVlIFByb2Zlc3NldXItSmVhbi1Mb3Vp
cy1WaWFsYTxicj4KMzQxOTMgTU9OVFBFTExJRVIgQ0VERVggNTxicj4KVMOpbC4gMzMgKDApNCA2
NyA1NCA4NCA1NTxicj4KRmF4wqAgMzMgKDApNCA2NyA1NCA4NCAxNDxicj4KPGEgaHJlZj0ibWFp
bHRvOmJsYW5jaGV0QGFiZXMuZnIiIHRhcmdldD0iX2JsYW5rIj5ibGFuY2hldEBhYmVzLmZyPC9h
Pjxicj4KPGJyPgo8YnI+CjwvYmxvY2txdW90ZT4KX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fPHdicj5fX19fX19fX19fX19fX19fXzxicj4KPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1
b3RlIiBzdHlsZT0ibWFyZ2luOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7
cGFkZGluZy1sZWZ0OjFleCI+ClVzZXJzIG1haWxpbmcgbGlzdDxicj4KPGEgaHJlZj0ibWFpbHRv
OlVzZXJzQG92aXJ0Lm9yZyIgdGFyZ2V0PSJfYmxhbmsiPlVzZXJzQG92aXJ0Lm9yZzwvYT48YnI+
CjxhIGhyZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2VycyIg
cmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9t
YWlsbWFuPHdicj4vbGlzdGluZm8vdXNlcnM8L2E+PGJyPgo8YnI+CjwvYmxvY2txdW90ZT4KPGJy
Pgo8YnI+CjwvYmxvY2txdW90ZT4KLS08YnI+Ck5hdGhhbmHDq2wgQmxhbmNoZXQ8YnI+Cjxicj4K
U3VwZXJ2aXNpb24gcsOpc2VhdTxicj4KUMO0bGUgSW5mcmFzdHJ1dHVyZXMgSW5mb3JtYXRpcXVl
czxicj4KMjI3IGF2ZW51ZSBQcm9mZXNzZXVyLUplYW4tTG91aXMtVmlhbGE8YnI+CjM0MTkzIE1P
TlRQRUxMSUVSIENFREVYIDU8YnI+ClTDqWwuIDMzICgwKTQgNjcgNTQgODQgNTU8YnI+CkZheMKg
IDMzICgwKTQgNjcgNTQgODQgMTQ8YnI+CjxhIGhyZWY9Im1haWx0bzpibGFuY2hldEBhYmVzLmZy
IiB0YXJnZXQ9Il9ibGFuayI+YmxhbmNoZXRAYWJlcy5mcjwvYT48YnI+Cjxicj4KX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fPHdicj5fX19fX19fX19fX19fX19fXzxicj4KVXNlcnMgbWFp
bGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86VXNlcnNAb3ZpcnQub3JnIiB0YXJnZXQ9Il9i
bGFuayI+VXNlcnNAb3ZpcnQub3JnPC9hPjxicj4KPGEgaHJlZj0iaHR0cDovL2xpc3RzLm92aXJ0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2Js
YW5rIj5odHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW48d2JyPi9saXN0aW5mby91c2Vyczwv
YT48YnI+Cjxicj4KPC9ibG9ja3F1b3RlPgo8YnI+Cjxicj4KPGJyPgotLSA8YnI+Ck1pY2hhZWwg
QnVybWFuPGJyPgpSZWRIYXQgSXNyYWVsLCBSSFYtTSBOZXR3b3JrIFFFPGJyPgo8YnI+Ck1vYmls
ZTogMDU0LTUzNTU3MjU8YnI+CklSQzogbWJ1cm1hbjxicj4KPC9ibG9ja3F1b3RlPgo8L2Rpdj48
L2Rpdj48L2Jsb2NrcXVvdGU+PC9kaXY+PGJyPjxiciBjbGVhcj0iYWxsIj48YnI+LS0gPGJyPjxk
aXYgY2xhc3M9ImdtYWlsX3NpZ25hdHVyZSIgZGF0YS1zbWFydG1haWw9ImdtYWlsX3NpZ25hdHVy
ZSI+PGRpdiBkaXI9Imx0ciI+PGRpdj48ZGl2IGRpcj0ibHRyIj5NaWNoYWVsIEJ1cm1hbjxicj5S
ZWRIYXQgSXNyYWVsLCBSSFYtTSA8c3Bhbj5OZXR3b3JrIDwvc3Bhbj5RRcKgIDxicj48YnI+TW9i
aWxlOiAwNTQtNTM1NTcyNTxicj5JUkM6IG1idXJtYW48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj4K
PC9kaXY+Cg==
--===============8194486557775382638==--