From emayoral at arsys.es Fri Nov 3 08:15:17 2017 Content-Type: multipart/mixed; boundary="===============0165329729735789432==" MIME-Version: 1.0 From: Eduardo Mayoral To: users at ovirt.org Subject: Re: [ovirt-users] Advise needed: building cheap HA oVirt cluster with just 2 physical servers Date: Fri, 03 Nov 2017 09:15:14 +0100 Message-ID: In-Reply-To: CAAq+RfYZT9nYvPh3NttwrRu1JRb+1qhzihGi+WETrO8+vFcEng@mail.gmail.com --===============0165329729735789432== 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. --------------54D2274BE68ED5ED9B86230D Content-Type: text/plain; charset=3Dutf-8 Content-Transfer-Encoding: 8bit Exporting the VMs to an export storage domain on the first server, copying the files to another export storage domain on the second server and importing it should work. What kind of problem did you find? As for the order of doing things, my first oVirt lab was a 3-node setup with gluster (oVirt version 4.0). I found this guide helpful: https://www.ovirt.org/blog/2016/08/up-and-running-with-ovirt-4-0-and-gluste= r-storage/ I see there is a new version of it: https://www.ovirt.org/blog/2017/04/up-and-running-with-ovirt-4.1-and-gluste= r-storage/ If I understand correctly you plan to re-use the server you already have. I think you will probably find it much easier have to export your VMs, re-deploy and import your VMs back. It means some downtime, but you seem very constrained on the hardware available and there is not much room to manouver... Good luck! Eduardo Mayoral Jimeno (emayoral(a)arsys.es) Administrador de sistemas. Departamento de Plataformas. Arsys internet. +34 941 620 145 ext. 5153 On 03/11/17 08:39, Artem Tambovskiy wrote: > Thanks Eduardo! > > I think I can find a third server to build a glusterFS storage. So the > first step will be to install a self-hosted engine on the new server > and start building a glusterFS storage. IS there any easy way to > migrate existing 5 VM's running on the second bare-metal oVirt host, > right? I found a little bit tricky moving oVirt backups between the > hosts (at least I failed to replicate the existing VM's on the second > server). > > Regards, > Artem > > > > On Fri, Nov 3, 2017 at 10:24 AM, Eduardo Mayoral > wrote: > > For HA you will need some kind of storage available to all the > compute nodes in the cluster. If you have no external storage and > few nodes, I think your best option for storage is gluster , and > the minimum number of nodes you will need for HA is 3 (the third > gluster node can be metadata-only, but you still need that third > node to give you quorum, avoid split-brains and have something > that you can call "HA" with a straight face. > > Eduardo Mayoral Jimeno (emayoral(a)arsys.es ) > Administrador de sistemas. Departamento de Plataformas. Arsys interne= t. > +34 941 620 145 ext. 5153 > > On 03/11/17 08:10, Artem Tambovskiy wrote: >> Looking for a design advise on oVirt provisioning. I'm running a >> PoC lab on single bare-metal host (suddenly it was setup with >> just Local Storage domain) and=C2=A0 >> no I'd like to rebuild the setup by making a cluster of 2 >> physical servers, no external storage array available. That are >> the options here? is there any options to build cheap HA cluster >> with just 2 servers?=C2=A0 >> >> Thanks in advance! >> >> Artem >> >> >> _______________________________________________ >> Users mailing list >> Users(a)ovirt.org >> http://lists.ovirt.org/mailman/listinfo/users >> > > --------------54D2274BE68ED5ED9B86230D Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: 8bit

Exporting the VMs to an export storage domain on the first server, copying the files to another export storage domain on the second server and importing it should work. What kind of problem did you find?

As for the order of doing things, my first oVirt lab was a 3-node setup with gluster (oVirt version 4.0). I found this guide helpful:

https://www.o= virt.org/blog/2016/08/up-and-running-with-ovirt-4-0-and-gluster-storage/

I see there is a new version of it:

https://www.o= virt.org/blog/2017/04/up-and-running-with-ovirt-4.1-and-gluster-storage/

If I understand correctly you plan to re-use the server you already have. I think you will probably find it much easier have to export your VMs, re-deploy and import your VMs back. It means some downtime, but you seem very constrained on the hardware available and there is not much room to manouver...

Good luck!

Eduardo Mayoral Jimeno (emayora=
l(a)arsys.es)
Administrador de sistemas. Departamento de Plataformas. Arsys internet.
+34 941 620 145 ext. 5153
On 03/11/17 08:39, Artem Tambovskiy wrote:
Thanks Eduardo!

I think I can find a third server to build a glusterFS storage. So the first step will be to install a self-hosted engine on the new server and start building a glusterFS storage. IS there any easy way to migrate existing 5 VM's running on the second bare-metal oVirt host, right? I found a little bit tricky moving oVirt backups between the hosts (at least I failed to replicate the existing VM's on the second server).

Regards,
Artem



On Fri, Nov 3, 2017 at 10:24 AM, Eduardo Mayoral <emayoral(a)arsys.es> wrote:

For HA you will need some kind of storage available to all the compute nodes in the cluster. If you have no external storage and few nodes, I think your best option for storage is gluster , and the minimum number of nodes you will need for HA is 3 (the third gluster node can be metadata-only, but you still need that third node to give you quorum, avoid split-brains and have something that you can call "HA" with a straight face.

Eduardo Mayoral Jimeno (emayoral(a)arsys.es)
Administrador de sistemas. Departamento de Plataformas. Arsys internet.
+34 941 620 145 ext. 5153
On 03/11/17 08:10, Artem Tambovskiy wrote:
Looking for a design advise on oVirt provisioning. I'm running a PoC lab on single bare-metal host (suddenly it was setup with just Local Storage domain) and=C2=A0
no I'd like to rebuild the setup by making a cluster of 2 physical servers, no external storage array available. That are the options here? is there any options to build cheap HA cluster with just 2 servers?=C2=A0

Thanks in advance!

Artem

=

_______________________________________________
Users mailing list
Users(a)ovirt=
.org
http://lists.ovirt.org/mailman/listinfo/users



--------------54D2274BE68ED5ED9B86230D-- --===============0165329729735789432== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS01NEQyMjc0QkU2OEVENUVEOUI4NjIzMEQKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXV0Zi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCkV4cG9ydGluZyB0aGUg Vk1zIHRvIGFuIGV4cG9ydCBzdG9yYWdlIGRvbWFpbiBvbiB0aGUgZmlyc3Qgc2VydmVyLApjb3B5 aW5nIHRoZSBmaWxlcyB0byBhbm90aGVyIGV4cG9ydCBzdG9yYWdlIGRvbWFpbiBvbiB0aGUgc2Vj b25kIHNlcnZlcgphbmQgaW1wb3J0aW5nIGl0IHNob3VsZCB3b3JrLiBXaGF0IGtpbmQgb2YgcHJv YmxlbSBkaWQgeW91IGZpbmQ/CgpBcyBmb3IgdGhlIG9yZGVyIG9mIGRvaW5nIHRoaW5ncywgbXkg Zmlyc3Qgb1ZpcnQgbGFiIHdhcyBhIDMtbm9kZSBzZXR1cAp3aXRoIGdsdXN0ZXIgKG9WaXJ0IHZl cnNpb24gNC4wKS4gSSBmb3VuZCB0aGlzIGd1aWRlIGhlbHBmdWw6CgpodHRwczovL3d3dy5vdmly dC5vcmcvYmxvZy8yMDE2LzA4L3VwLWFuZC1ydW5uaW5nLXdpdGgtb3ZpcnQtNC0wLWFuZC1nbHVz dGVyLXN0b3JhZ2UvCgpJIHNlZSB0aGVyZSBpcyBhIG5ldyB2ZXJzaW9uIG9mIGl0OgoKaHR0cHM6 Ly93d3cub3ZpcnQub3JnL2Jsb2cvMjAxNy8wNC91cC1hbmQtcnVubmluZy13aXRoLW92aXJ0LTQu MS1hbmQtZ2x1c3Rlci1zdG9yYWdlLwoKSWYgSSB1bmRlcnN0YW5kIGNvcnJlY3RseSB5b3UgcGxh biB0byByZS11c2UgdGhlIHNlcnZlciB5b3UgYWxyZWFkeQpoYXZlLiBJIHRoaW5rIHlvdSB3aWxs IHByb2JhYmx5IGZpbmQgaXQgbXVjaCBlYXNpZXIgaGF2ZSB0byBleHBvcnQgeW91cgpWTXMsIHJl LWRlcGxveSBhbmQgaW1wb3J0IHlvdXIgVk1zIGJhY2suIEl0IG1lYW5zIHNvbWUgZG93bnRpbWUs IGJ1dCB5b3UKc2VlbSB2ZXJ5IGNvbnN0cmFpbmVkIG9uIHRoZSBoYXJkd2FyZSBhdmFpbGFibGUg YW5kIHRoZXJlIGlzIG5vdCBtdWNoCnJvb20gdG8gbWFub3V2ZXIuLi4KCkdvb2QgbHVjayEKCkVk dWFyZG8gTWF5b3JhbCBKaW1lbm8gKGVtYXlvcmFsQGFyc3lzLmVzKQpBZG1pbmlzdHJhZG9yIGRl IHNpc3RlbWFzLiBEZXBhcnRhbWVudG8gZGUgUGxhdGFmb3JtYXMuIEFyc3lzIGludGVybmV0Lgor MzQgOTQxIDYyMCAxNDUgZXh0LiA1MTUzCgpPbiAwMy8xMS8xNyAwODozOSwgQXJ0ZW0gVGFtYm92 c2tpeSB3cm90ZToKPiBUaGFua3MgRWR1YXJkbyEKPgo+IEkgdGhpbmsgSSBjYW4gZmluZCBhIHRo aXJkIHNlcnZlciB0byBidWlsZCBhIGdsdXN0ZXJGUyBzdG9yYWdlLiBTbyB0aGUKPiBmaXJzdCBz dGVwIHdpbGwgYmUgdG8gaW5zdGFsbCBhIHNlbGYtaG9zdGVkIGVuZ2luZSBvbiB0aGUgbmV3IHNl cnZlcgo+IGFuZCBzdGFydCBidWlsZGluZyBhIGdsdXN0ZXJGUyBzdG9yYWdlLiBJUyB0aGVyZSBh bnkgZWFzeSB3YXkgdG8KPiBtaWdyYXRlIGV4aXN0aW5nIDUgVk0ncyBydW5uaW5nIG9uIHRoZSBz ZWNvbmQgYmFyZS1tZXRhbCBvVmlydCBob3N0LAo+IHJpZ2h0PyBJIGZvdW5kIGEgbGl0dGxlIGJp dCB0cmlja3kgbW92aW5nIG9WaXJ0IGJhY2t1cHMgYmV0d2VlbiB0aGUKPiBob3N0cyAoYXQgbGVh c3QgSSBmYWlsZWQgdG8gcmVwbGljYXRlIHRoZSBleGlzdGluZyBWTSdzIG9uIHRoZSBzZWNvbmQK PiBzZXJ2ZXIpLgo+Cj4gUmVnYXJkcywKPiBBcnRlbQo+Cj4KPgo+IE9uIEZyaSwgTm92IDMsIDIw MTcgYXQgMTA6MjQgQU0sIEVkdWFyZG8gTWF5b3JhbCA8ZW1heW9yYWxAYXJzeXMuZXMKPiA8bWFp bHRvOmVtYXlvcmFsQGFyc3lzLmVzPj4gd3JvdGU6Cj4KPiAgICAgRm9yIEhBIHlvdSB3aWxsIG5l ZWQgc29tZSBraW5kIG9mIHN0b3JhZ2UgYXZhaWxhYmxlIHRvIGFsbCB0aGUKPiAgICAgY29tcHV0 ZSBub2RlcyBpbiB0aGUgY2x1c3Rlci4gSWYgeW91IGhhdmUgbm8gZXh0ZXJuYWwgc3RvcmFnZSBh bmQKPiAgICAgZmV3IG5vZGVzLCBJIHRoaW5rIHlvdXIgYmVzdCBvcHRpb24gZm9yIHN0b3JhZ2Ug aXMgZ2x1c3RlciAsIGFuZAo+ICAgICB0aGUgbWluaW11bSBudW1iZXIgb2Ygbm9kZXMgeW91IHdp bGwgbmVlZCBmb3IgSEEgaXMgMyAodGhlIHRoaXJkCj4gICAgIGdsdXN0ZXIgbm9kZSBjYW4gYmUg bWV0YWRhdGEtb25seSwgYnV0IHlvdSBzdGlsbCBuZWVkIHRoYXQgdGhpcmQKPiAgICAgbm9kZSB0 byBnaXZlIHlvdSBxdW9ydW0sIGF2b2lkIHNwbGl0LWJyYWlucyBhbmQgaGF2ZSBzb21ldGhpbmcK PiAgICAgdGhhdCB5b3UgY2FuIGNhbGwgIkhBIiB3aXRoIGEgc3RyYWlnaHQgZmFjZS4KPgo+ICAg ICBFZHVhcmRvIE1heW9yYWwgSmltZW5vIChlbWF5b3JhbEBhcnN5cy5lcyA8bWFpbHRvOmVtYXlv cmFsQGFyc3lzLmVzPikKPiAgICAgQWRtaW5pc3RyYWRvciBkZSBzaXN0ZW1hcy4gRGVwYXJ0YW1l bnRvIGRlIFBsYXRhZm9ybWFzLiBBcnN5cyBpbnRlcm5ldC4KPiAgICAgKzM0IDk0MSA2MjAgMTQ1 IGV4dC4gNTE1MyA8dGVsOiszNCUyMDk0MSUyMDYyJTIwMDElMjA0NT4KPgo+ICAgICBPbiAwMy8x MS8xNyAwODoxMCwgQXJ0ZW0gVGFtYm92c2tpeSB3cm90ZToKPj4gICAgIExvb2tpbmcgZm9yIGEg ZGVzaWduIGFkdmlzZSBvbiBvVmlydCBwcm92aXNpb25pbmcuIEknbSBydW5uaW5nIGEKPj4gICAg IFBvQyBsYWIgb24gc2luZ2xlIGJhcmUtbWV0YWwgaG9zdCAoc3VkZGVubHkgaXQgd2FzIHNldHVw IHdpdGgKPj4gICAgIGp1c3QgTG9jYWwgU3RvcmFnZSBkb21haW4pIGFuZMKgCj4+ICAgICBubyBJ J2QgbGlrZSB0byByZWJ1aWxkIHRoZSBzZXR1cCBieSBtYWtpbmcgYSBjbHVzdGVyIG9mIDIKPj4g ICAgIHBoeXNpY2FsIHNlcnZlcnMsIG5vIGV4dGVybmFsIHN0b3JhZ2UgYXJyYXkgYXZhaWxhYmxl LiBUaGF0IGFyZQo+PiAgICAgdGhlIG9wdGlvbnMgaGVyZT8gaXMgdGhlcmUgYW55IG9wdGlvbnMg dG8gYnVpbGQgY2hlYXAgSEEgY2x1c3Rlcgo+PiAgICAgd2l0aCBqdXN0IDIgc2VydmVycz/CoAo+ Pgo+PiAgICAgVGhhbmtzIGluIGFkdmFuY2UhCj4+Cj4+ICAgICBBcnRlbQo+Pgo+Pgo+PiAgICAg X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gICAgIFVz ZXJzIG1haWxpbmcgbGlzdAo+PiAgICAgVXNlcnNAb3ZpcnQub3JnIDxtYWlsdG86VXNlcnNAb3Zp cnQub3JnPgo+PiAgICAgaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3Vz ZXJzCj4+ICAgICA8aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJz Pgo+Cj4KCgotLS0tLS0tLS0tLS0tLTU0RDIyNzRCRTY4RUQ1RUQ5Qjg2MjMwRApDb250ZW50LVR5 cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4 Yml0Cgo8aHRtbD4KICA8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8L2hlYWQ+CiAgPGJvZHkgdGV4 dD0iIzAwMDAwMCIgYmdjb2xvcj0iI0ZGRkZGRiI+CiAgICA8cD5FeHBvcnRpbmcgdGhlIFZNcyB0 byBhbiBleHBvcnQgc3RvcmFnZSBkb21haW4gb24gdGhlIGZpcnN0CiAgICAgIHNlcnZlciwgY29w eWluZyB0aGUgZmlsZXMgdG8gYW5vdGhlciBleHBvcnQgc3RvcmFnZSBkb21haW4gb24gdGhlCiAg ICAgIHNlY29uZCBzZXJ2ZXIgYW5kIGltcG9ydGluZyBpdCBzaG91bGQgd29yay4gV2hhdCBraW5k IG9mIHByb2JsZW0KICAgICAgZGlkIHlvdSBmaW5kPzwvcD4KICAgIDxwPkFzIGZvciB0aGUgb3Jk ZXIgb2YgZG9pbmcgdGhpbmdzLCBteSBmaXJzdCBvVmlydCBsYWIgd2FzIGEgMy1ub2RlCiAgICAg IHNldHVwIHdpdGggZ2x1c3RlciAob1ZpcnQgdmVyc2lvbiA0LjApLiBJIGZvdW5kIHRoaXMgZ3Vp ZGUKICAgICAgaGVscGZ1bDo8L3A+CiAgICA8cD48YSBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0 ZXh0IiBocmVmPSJodHRwczovL3d3dy5vdmlydC5vcmcvYmxvZy8yMDE2LzA4L3VwLWFuZC1ydW5u aW5nLXdpdGgtb3ZpcnQtNC0wLWFuZC1nbHVzdGVyLXN0b3JhZ2UvIj5odHRwczovL3d3dy5vdmly dC5vcmcvYmxvZy8yMDE2LzA4L3VwLWFuZC1ydW5uaW5nLXdpdGgtb3ZpcnQtNC0wLWFuZC1nbHVz dGVyLXN0b3JhZ2UvPC9hPjwvcD4KICAgIDxwPkkgc2VlIHRoZXJlIGlzIGEgbmV3IHZlcnNpb24g b2YgaXQ6PC9wPgogICAgPHA+PGEgY2xhc3M9Im1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0i aHR0cHM6Ly93d3cub3ZpcnQub3JnL2Jsb2cvMjAxNy8wNC91cC1hbmQtcnVubmluZy13aXRoLW92 aXJ0LTQuMS1hbmQtZ2x1c3Rlci1zdG9yYWdlLyI+aHR0cHM6Ly93d3cub3ZpcnQub3JnL2Jsb2cv MjAxNy8wNC91cC1hbmQtcnVubmluZy13aXRoLW92aXJ0LTQuMS1hbmQtZ2x1c3Rlci1zdG9yYWdl LzwvYT48L3A+CiAgICA8cD5JZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5IHlvdSBwbGFuIHRvIHJl LXVzZSB0aGUgc2VydmVyIHlvdQogICAgICBhbHJlYWR5IGhhdmUuIEkgdGhpbmsgeW91IHdpbGwg cHJvYmFibHkgZmluZCBpdCBtdWNoIGVhc2llciBoYXZlCiAgICAgIHRvIGV4cG9ydCB5b3VyIFZN cywgcmUtZGVwbG95IGFuZCBpbXBvcnQgeW91ciBWTXMgYmFjay4gSXQgbWVhbnMKICAgICAgc29t ZSBkb3dudGltZSwgYnV0IHlvdSBzZWVtIHZlcnkgY29uc3RyYWluZWQgb24gdGhlIGhhcmR3YXJl CiAgICAgIGF2YWlsYWJsZSBhbmQgdGhlcmUgaXMgbm90IG11Y2ggcm9vbSB0byBtYW5vdXZlci4u Ljxicj4KICAgIDwvcD4KICAgIDxwPkdvb2QgbHVjayE8YnI+CiAgICA8L3A+CiAgICA8cHJlIGNs YXNzPSJtb3otc2lnbmF0dXJlIiBjb2xzPSI3MiI+RWR1YXJkbyBNYXlvcmFsIEppbWVubyAoPGEg Y2xhc3M9Im1vei10eHQtbGluay1hYmJyZXZpYXRlZCIgaHJlZj0ibWFpbHRvOmVtYXlvcmFsQGFy c3lzLmVzIj5lbWF5b3JhbEBhcnN5cy5lczwvYT4pCkFkbWluaXN0cmFkb3IgZGUgc2lzdGVtYXMu IERlcGFydGFtZW50byBkZSBQbGF0YWZvcm1hcy4gQXJzeXMgaW50ZXJuZXQuCiszNCA5NDEgNjIw IDE0NSBleHQuIDUxNTM8L3ByZT4KICAgIDxkaXYgY2xhc3M9Im1vei1jaXRlLXByZWZpeCI+T24g MDMvMTEvMTcgMDg6MzksIEFydGVtIFRhbWJvdnNraXkKICAgICAgd3JvdGU6PGJyPgogICAgPC9k aXY+CiAgICA8YmxvY2txdW90ZSB0eXBlPSJjaXRlIgpjaXRlPSJtaWQ6Q0FBcStSZllaVDluWXZQ aDNOdHR3clJ1MUpSYisxcWh6aWhHaStXRVRyTzgrdkZjRW5nQG1haWwuZ21haWwuY29tIj4KICAg ICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo YXJzZXQ9dXRmLTgiPgogICAgICA8ZGl2IGRpcj0ibHRyIj5UaGFua3MgRWR1YXJkbyE8YnI+CiAg ICAgICAgPGJyPgogICAgICAgIEkgdGhpbmsgSSBjYW4gZmluZCBhIHRoaXJkIHNlcnZlciB0byBi dWlsZCBhIGdsdXN0ZXJGUyBzdG9yYWdlLgogICAgICAgIFNvIHRoZSBmaXJzdCBzdGVwIHdpbGwg YmUgdG8gaW5zdGFsbCBhIHNlbGYtaG9zdGVkIGVuZ2luZSBvbiB0aGUKICAgICAgICBuZXcgc2Vy dmVyIGFuZCBzdGFydCBidWlsZGluZyBhIGdsdXN0ZXJGUyBzdG9yYWdlLiBJUyB0aGVyZSBhbnkK ICAgICAgICBlYXN5IHdheSB0byBtaWdyYXRlIGV4aXN0aW5nIDUgVk0ncyBydW5uaW5nIG9uIHRo ZSBzZWNvbmQKICAgICAgICBiYXJlLW1ldGFsIG9WaXJ0IGhvc3QsIHJpZ2h0PyBJIGZvdW5kIGEg bGl0dGxlIGJpdCB0cmlja3kgbW92aW5nCiAgICAgICAgb1ZpcnQgYmFja3VwcyBiZXR3ZWVuIHRo ZSBob3N0cyAoYXQgbGVhc3QgSSBmYWlsZWQgdG8gcmVwbGljYXRlCiAgICAgICAgdGhlIGV4aXN0 aW5nIFZNJ3Mgb24gdGhlIHNlY29uZCBzZXJ2ZXIpLgogICAgICAgIDxkaXY+PGJyPgogICAgICAg IDwvZGl2PgogICAgICAgIDxkaXY+UmVnYXJkcyw8L2Rpdj4KICAgICAgICA8ZGl2PkFydGVtPGJy PgogICAgICAgICAgPGJyPgogICAgICAgICAgPGJyPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rp dj4KICAgICAgPGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj4KICAgICAgICA8ZGl2IGNsYXNz PSJnbWFpbF9xdW90ZSI+T24gRnJpLCBOb3YgMywgMjAxNyBhdCAxMDoyNCBBTSwKICAgICAgICAg IEVkdWFyZG8gTWF5b3JhbCA8c3BhbiBkaXI9Imx0ciI+Jmx0OzxhCiAgICAgICAgICAgICAgaHJl Zj0ibWFpbHRvOmVtYXlvcmFsQGFyc3lzLmVzIiB0YXJnZXQ9Il9ibGFuayIKICAgICAgICAgICAg ICBtb3otZG8tbm90LXNlbmQ9InRydWUiPmVtYXlvcmFsQGFyc3lzLmVzPC9hPiZndDs8L3NwYW4+ CiAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICA8YmxvY2txdW90ZSBjbGFzcz0iZ21haWxf cXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAKICAgICAgICAgICAgLjhleDtib3JkZXItbGVmdDox cHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAgICAgICAgPGRpdiB0ZXh0PSIj MDAwMDAwIiBiZ2NvbG9yPSIjRkZGRkZGIj4KICAgICAgICAgICAgICA8cD5Gb3IgSEEgeW91IHdp bGwgbmVlZCBzb21lIGtpbmQgb2Ygc3RvcmFnZSBhdmFpbGFibGUgdG8KICAgICAgICAgICAgICAg IGFsbCB0aGUgY29tcHV0ZSBub2RlcyBpbiB0aGUgY2x1c3Rlci4gSWYgeW91IGhhdmUgbm8KICAg ICAgICAgICAgICAgIGV4dGVybmFsIHN0b3JhZ2UgYW5kIGZldyBub2RlcywgSSB0aGluayB5b3Vy IGJlc3Qgb3B0aW9uCiAgICAgICAgICAgICAgICBmb3Igc3RvcmFnZSBpcyBnbHVzdGVyICwgYW5k IHRoZSBtaW5pbXVtIG51bWJlciBvZiBub2RlcwogICAgICAgICAgICAgICAgeW91IHdpbGwgbmVl ZCBmb3IgSEEgaXMgMyAodGhlIHRoaXJkIGdsdXN0ZXIgbm9kZSBjYW4gYmUKICAgICAgICAgICAg ICAgIG1ldGFkYXRhLW9ubHksIGJ1dCB5b3Ugc3RpbGwgbmVlZCB0aGF0IHRoaXJkIG5vZGUgdG8K ICAgICAgICAgICAgICAgIGdpdmUgeW91IHF1b3J1bSwgYXZvaWQgc3BsaXQtYnJhaW5zIGFuZCBo YXZlIHNvbWV0aGluZwogICAgICAgICAgICAgICAgdGhhdCB5b3UgY2FuIGNhbGwgIkhBIiB3aXRo IGEgc3RyYWlnaHQgZmFjZS48YnI+CiAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgIDxw cmUgY2xhc3M9Im1fLTE5MjkyOTkyNDIzNDAzMjMyMTltb3otc2lnbmF0dXJlIiBjb2xzPSI3MiI+ RWR1YXJkbyBNYXlvcmFsIEppbWVubyAoPGEgY2xhc3M9Im1fLTE5MjkyOTkyNDIzNDAzMjMyMTlt b3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzplbWF5b3JhbEBhcnN5cy5lcyIg dGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+ZW1heW9yYWxAYXJzeXMuZXM8 L2E+KQpBZG1pbmlzdHJhZG9yIGRlIHNpc3RlbWFzLiBEZXBhcnRhbWVudG8gZGUgUGxhdGFmb3Jt YXMuIEFyc3lzIGludGVybmV0Lgo8YSBocmVmPSJ0ZWw6KzM0JTIwOTQxJTIwNjIlMjAwMSUyMDQ1 IiB2YWx1ZT0iKzM0OTQxNjIwMTQ1IiB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0 cnVlIj4rMzQgOTQxIDYyMCAxNDUgZXh0LiA1MTUzPC9hPjwvcHJlPgogICAgICAgICAgICAgIDxk aXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoNSI+CiAgICAgICAgICAgICAgICAgIDxk aXYgY2xhc3M9Im1fLTE5MjkyOTkyNDIzNDAzMjMyMTltb3otY2l0ZS1wcmVmaXgiPk9uCiAgICAg ICAgICAgICAgICAgICAgMDMvMTEvMTcgMDg6MTAsIEFydGVtIFRhbWJvdnNraXkgd3JvdGU6PGJy PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAg ICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPgogICAg ICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaDUiPgogICAg ICAgICAgICAgICAgICAgIDxkaXYgZGlyPSJsdHIiPgogICAgICAgICAgICAgICAgICAgICAgPGRp dj5Mb29raW5nIGZvciBhIGRlc2lnbiBhZHZpc2Ugb24gb1ZpcnQKICAgICAgICAgICAgICAgICAg ICAgICAgcHJvdmlzaW9uaW5nLiBJJ20gcnVubmluZyBhIFBvQyBsYWIgb24gc2luZ2xlCiAgICAg ICAgICAgICAgICAgICAgICAgIGJhcmUtbWV0YWwgaG9zdCAoc3VkZGVubHkgaXQgd2FzIHNldHVw IHdpdGgganVzdAogICAgICAgICAgICAgICAgICAgICAgICBMb2NhbCBTdG9yYWdlIGRvbWFpbikg YW5kwqA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIDxkaXY+bm8gSSdkIGxpa2UgdG8gcmVi dWlsZCB0aGUgc2V0dXAgYnkgbWFraW5nIGEKICAgICAgICAgICAgICAgICAgICAgICAgY2x1c3Rl ciBvZiAyIHBoeXNpY2FsIHNlcnZlcnMsIG5vIGV4dGVybmFsCiAgICAgICAgICAgICAgICAgICAg ICAgIHN0b3JhZ2UgYXJyYXkgYXZhaWxhYmxlLiBUaGF0IGFyZSB0aGUgb3B0aW9ucwogICAgICAg ICAgICAgICAgICAgICAgICBoZXJlPyBpcyB0aGVyZSBhbnkgb3B0aW9ucyB0byBidWlsZCBjaGVh cCBIQQogICAgICAgICAgICAgICAgICAgICAgICBjbHVzdGVyIHdpdGgganVzdCAyIHNlcnZlcnM/ wqA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PGJyPgogICAgICAgICAgICAgICAg ICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlRoYW5rcyBpbiBhZHZhbmNl ITwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgICAg ICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIDxkaXY+QXJ0ZW08L2Rpdj4KICAgICAg ICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAg ICAgICAgICAgPGZpZWxkc2V0CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibV8tMTkyOTI5 OTI0MjM0MDMyMzIxOW1pbWVBdHRhY2htZW50SGVhZGVyIj48L2ZpZWxkc2V0PgogICAgICAgICAg ICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8 L2Rpdj4KICAgICAgICAgICAgICAgIDxwcmU+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19f PHdicj5fX19fX19fX19fX19fX19fXwpVc2VycyBtYWlsaW5nIGxpc3QKPGEgY2xhc3M9Im1fLTE5 MjkyOTkyNDIzNDAzMjMyMTltb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpV c2Vyc0BvdmlydC5vcmciIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPlVz ZXJzQG92aXJ0Lm9yZzwvYT4KPGEgY2xhc3M9Im1fLTE5MjkyOTkyNDIzNDAzMjMyMTltb3otdHh0 LWxpbmstZnJlZXRleHQiIGhyZWY9Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0 aW5mby91c2VycyIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+aHR0cDov L2xpc3RzLm92aXJ0Lm9yZy88d2JyPm1haWxtYW4vbGlzdGluZm8vdXNlcnM8L2E+CjwvcHJlPgog ICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAgICA8YnI+CiAgICAgICAgICAg IDwvZGl2PgogICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxi cj4KICAgICAgPC9kaXY+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgPC9ib2R5Pgo8L2h0 bWw+CgotLS0tLS0tLS0tLS0tLTU0RDIyNzRCRTY4RUQ1RUQ5Qjg2MjMwRC0tCg== --===============0165329729735789432==--