From ranjithspr13 at yahoo.com Fri Feb 9 19:25:28 2018 Content-Type: multipart/mixed; boundary="===============2345010135146736887==" MIME-Version: 1.0 From: ranjithspr13 at yahoo.com To: users at ovirt.org Subject: [ovirt-users] Live migration of VM(0 downtime) while Hypervisor goes down in ovirt Date: Fri, 09 Feb 2018 19:25:24 +0000 Message-ID: <438319960.1968243.1518204324812@mail.yahoo.com> In-Reply-To: 438319960.1968243.1518204324812.ref@mail.yahoo.com --===============2345010135146736887== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ------=3D_Part_1968242_1358094662.1518204324810 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: 7bit Hi,Anyone can suggest how to setup VM Live migration (without restart vm) w= hile Hypervisor goes down in ovirt?Using glusterfs is it possible? Then how? Thanks & RegardsRanjith Sent from Yahoo Mail on Android ------=3D_Part_1968242_1358094662.1518204324810 Content-Type: text/html; charset=3DUTF-8 Content-Transfer-Encoding: 7bit Hi,
Anyone can suggest = how to setup VM Live migration (without restart vm) while Hypervisor goes d= own in ovirt?
Usi= ng glusterfs is it possible? Then how?

Thanks & Regards
Ranjith

Sent from Yahoo Ma= il on Android
------=3D_Part_1968242_1358094662.1518204324810-- --===============2345010135146736887== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS0tLS0tPV9QYXJ0XzE5NjgyNDJfMTM1ODA5NDY2Mi4xNTE4MjA0MzI0ODEwCkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3 Yml0CgpIaSxBbnlvbmUgY2FuIHN1Z2dlc3QgaG93IHRvIHNldHVwIFZNIExpdmUgbWlncmF0aW9u ICh3aXRob3V0IHJlc3RhcnQgdm0pIHdoaWxlIEh5cGVydmlzb3IgZ29lcyBkb3duIGluIG92aXJ0 P1VzaW5nIGdsdXN0ZXJmcyBpcyBpdCBwb3NzaWJsZT8gVGhlbiBob3c/ClRoYW5rcyAmIFJlZ2Fy ZHNSYW5qaXRoCgpTZW50IGZyb20gWWFob28gTWFpbCBvbiBBbmRyb2lkCi0tLS0tLT1fUGFydF8x OTY4MjQyXzEzNTgwOTQ2NjIuMTUxODIwNDMyNDgxMApDb250ZW50LVR5cGU6IHRleHQvaHRtbDsg Y2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0CgpIaSw8ZGl2IGlk PSJ5TWFpbF9jdXJzb3JFbGVtZW50VHJhY2tlcl8xNTE4MjAzOTA2ODM1Ij5BbnlvbmUgY2FuIHN1 Z2dlc3QgaG93IHRvIHNldHVwIFZNIExpdmUgbWlncmF0aW9uICh3aXRob3V0IHJlc3RhcnQgdm0p IHdoaWxlIEh5cGVydmlzb3IgZ29lcyBkb3duIGluIG92aXJ0PzwvZGl2PjxkaXYgaWQ9InlNYWls X2N1cnNvckVsZW1lbnRUcmFja2VyXzE1MTgyMDQyMTA0MjAiPlVzaW5nIGdsdXN0ZXJmcyBpcyBp dCBwb3NzaWJsZT8gVGhlbiBob3c/PC9kaXY+PGRpdiBpZD0ieU1haWxfY3Vyc29yRWxlbWVudFRy YWNrZXJfMTUxODIwNDA5OTU0NyI+PGJyPjwvZGl2PjxkaXYgaWQ9InlNYWlsX2N1cnNvckVsZW1l bnRUcmFja2VyXzE1MTgyMDQxMDA0NjEiPlRoYW5rcyAmYW1wOyBSZWdhcmRzPC9kaXY+PGRpdiBp ZD0ieU1haWxfY3Vyc29yRWxlbWVudFRyYWNrZXJfMTUxODIwNDExMzg0OCI+UmFuaml0aDxicj48 YnI+PGRpdiBpZD0ieW1haWxfYW5kcm9pZF9zaWduYXR1cmUiPjxhIGhyZWY9Imh0dHBzOi8vb3Zl cnZpZXcubWFpbC55YWhvby5jb20vbW9iaWxlLz8uc3JjPUFuZHJvaWQiPlNlbnQgZnJvbSBZYWhv byBNYWlsIG9uIEFuZHJvaWQ8L2E+PC9kaXY+PC9kaXY+Ci0tLS0tLT1fUGFydF8xOTY4MjQyXzEz NTgwOTQ2NjIuMTUxODIwNDMyNDgxMC0tCg== --===============2345010135146736887==-- From ykaul at redhat.com Fri Feb 9 20:37:44 2018 Content-Type: multipart/mixed; boundary="===============8375178155326281523==" MIME-Version: 1.0 From: Yaniv Kaul To: users at ovirt.org Subject: Re: [ovirt-users] Live migration of VM(0 downtime) while Hypervisor goes down in ovirt Date: Fri, 09 Feb 2018 22:37:01 +0200 Message-ID: In-Reply-To: 438319960.1968243.1518204324812@mail.yahoo.com --===============8375178155326281523== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On Fri, Feb 9, 2018 at 9:25 PM, ranjithspr13(a)yahoo.com < ranjithspr13(a)yahoo.com> wrote: > Hi, > Anyone can suggest how to setup VM Live migration (without restart vm) > while Hypervisor goes down in ovirt? > I think there are two parts to achieving this: 1. Have a script that migrates VMs off a specific host. This should be easy to write using the Python/Ruby/Java SDK, Ansible or using REST directly. 2. Having this script run as a service when a host shuts down, in the right order - well before libvirt and VDSM shut down, and would be fast enough not to be terminated by systemd. This is a bit more challenging. Who's shutting down the hypervisor? (Or perhaps it is shutdown externally, due to overheating or otherwise?) Y. > Using glusterfs is it possible? Then how? > > Thanks & Regards > Ranjith > > Sent from Yahoo Mail on Android > > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > > --===============8375178155326281523== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+PGRpdiBjbGFz cz0iZ21haWxfcXVvdGUiPk9uIEZyaSwgRmViIDksIDIwMTggYXQgOToyNSBQTSwgPGEgaHJlZj0i bWFpbHRvOnJhbmppdGhzcHIxM0B5YWhvby5jb20iPnJhbmppdGhzcHIxM0B5YWhvby5jb208L2E+ IDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOnJhbmppdGhzcHIxM0B5YWhvby5j b20iIHRhcmdldD0iX2JsYW5rIj5yYW5qaXRoc3ByMTNAeWFob28uY29tPC9hPiZndDs8L3NwYW4+ IHdyb3RlOjxicj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46 MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij5I aSw8ZGl2IGlkPSJtXy0yNTM5NzExNzAzMzgxNDY5Mzk2eU1haWxfY3Vyc29yRWxlbWVudFRyYWNr ZXJfMTUxODIwMzkwNjgzNSI+QW55b25lIGNhbiBzdWdnZXN0IGhvdyB0byBzZXR1cCBWTSBMaXZl IG1pZ3JhdGlvbiAod2l0aG91dCByZXN0YXJ0IHZtKSB3aGlsZSBIeXBlcnZpc29yIGdvZXMgZG93 biBpbiBvdmlydD88L2Rpdj48L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj5JIHRoaW5r IHRoZXJlIGFyZSB0d28gcGFydHMgdG8gYWNoaWV2aW5nIHRoaXM6PC9kaXY+PGRpdj4xLiBIYXZl IGEgc2NyaXB0IHRoYXQgbWlncmF0ZXMgVk1zIG9mZiBhIHNwZWNpZmljIGhvc3QuIFRoaXMgc2hv dWxkIGJlIGVhc3kgdG8gd3JpdGUgdXNpbmcgdGhlIFB5dGhvbi9SdWJ5L0phdmEgU0RLLCBBbnNp YmxlIG9yIHVzaW5nIFJFU1QgZGlyZWN0bHkuPC9kaXY+PGRpdj4yLiBIYXZpbmcgdGhpcyBzY3Jp cHQgcnVuIGFzIGEgc2VydmljZSB3aGVuIGEgaG9zdCBzaHV0cyBkb3duLCBpbiB0aGUgcmlnaHQg b3JkZXIgLSB3ZWxsIGJlZm9yZSBsaWJ2aXJ0IGFuZCBWRFNNIHNodXQgZG93biwgYW5kIHdvdWxk IGJlIGZhc3QgZW5vdWdoIG5vdCB0byBiZSB0ZXJtaW5hdGVkIGJ5IHN5c3RlbWQuPC9kaXY+PGRp dj5UaGlzIGlzIGEgYml0IG1vcmUgY2hhbGxlbmdpbmcuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp dj5XaG8mIzM5O3Mgc2h1dHRpbmcgZG93biB0aGUgaHlwZXJ2aXNvcj8gKE9yIHBlcmhhcHMgaXQg aXMgc2h1dGRvd24gZXh0ZXJuYWxseSwgZHVlIHRvIG92ZXJoZWF0aW5nIG9yIG90aGVyd2lzZT8p PC9kaXY+PGRpdj5ZLjwvZGl2PjxkaXY+wqA8L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxf cXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xp ZDtwYWRkaW5nLWxlZnQ6MWV4Ij48ZGl2IGlkPSJtXy0yNTM5NzExNzAzMzgxNDY5Mzk2eU1haWxf Y3Vyc29yRWxlbWVudFRyYWNrZXJfMTUxODIwNDIxMDQyMCI+VXNpbmcgZ2x1c3RlcmZzIGlzIGl0 IHBvc3NpYmxlPyBUaGVuIGhvdz88L2Rpdj48ZGl2IGlkPSJtXy0yNTM5NzExNzAzMzgxNDY5Mzk2 eU1haWxfY3Vyc29yRWxlbWVudFRyYWNrZXJfMTUxODIwNDA5OTU0NyI+PGJyPjwvZGl2PjxkaXYg aWQ9Im1fLTI1Mzk3MTE3MDMzODE0NjkzOTZ5TWFpbF9jdXJzb3JFbGVtZW50VHJhY2tlcl8xNTE4 MjA0MTAwNDYxIj5UaGFua3MgJmFtcDsgUmVnYXJkczwvZGl2PjxkaXYgaWQ9Im1fLTI1Mzk3MTE3 MDMzODE0NjkzOTZ5TWFpbF9jdXJzb3JFbGVtZW50VHJhY2tlcl8xNTE4MjA0MTEzODQ4Ij5SYW5q aXRoPGJyPjxicj48ZGl2IGlkPSJtXy0yNTM5NzExNzAzMzgxNDY5Mzk2eW1haWxfYW5kcm9pZF9z aWduYXR1cmUiPjxhIGhyZWY9Imh0dHBzOi8vb3ZlcnZpZXcubWFpbC55YWhvby5jb20vbW9iaWxl Lz8uc3JjPUFuZHJvaWQiIHRhcmdldD0iX2JsYW5rIj5TZW50IGZyb20gWWFob28gTWFpbCBvbiBB bmRyb2lkPC9hPjwvZGl2PjwvZGl2Pjxicj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 d2JyPl9fX19fX19fX19fX19fX19fPGJyPgpVc2VycyBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9 Im1haWx0bzpVc2Vyc0BvdmlydC5vcmciPlVzZXJzQG92aXJ0Lm9yZzwvYT48YnI+CjxhIGhyZWY9 Imh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2VycyIgcmVsPSJub3Jl ZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy88d2JyPm1haWxt YW4vbGlzdGluZm8vdXNlcnM8L2E+PGJyPgo8YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rp dj48L2Rpdj4K --===============8375178155326281523==-- From ccox at endlessnow.com Fri Feb 9 21:15:01 2018 Content-Type: multipart/mixed; boundary="===============7220407381246203537==" MIME-Version: 1.0 From: Christopher Cox To: users at ovirt.org Subject: Re: [ovirt-users] Live migration of VM(0 downtime) while Hypervisor goes down in ovirt Date: Fri, 09 Feb 2018 15:14:48 -0600 Message-ID: <3160c23b-7d4d-5372-cf04-1cbd0aa54e8d@endlessnow.com> In-Reply-To: 438319960.1968243.1518204324812@mail.yahoo.com --===============7220407381246203537== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 02/09/2018 01:25 PM, ranjithspr13(a)yahoo.com wrote: > Hi, > Anyone can suggest how to setup VM Live migration (without restart vm) = > while Hypervisor goes down in ovirt? > Using glusterfs is it possible? Then how? Can't speak for glusterfs specifically, but this is how things work. All nodes know about the storage domains... this is so a different node = can "take over" in a live migration. Not necessarily designed for a = node to go down hard (but let's say the node has problems communicating, = it might get fenced and live migration begins, and of course, the usual = maintenance mode would force a live migration).... for hard down = scenarios you might want to look a HA for the VMs. --===============7220407381246203537==-- From ranjithspr13 at yahoo.com Sat Feb 10 07:30:53 2018 Content-Type: multipart/mixed; boundary="===============8171593817996189239==" MIME-Version: 1.0 From: Ranjith P To: users at ovirt.org Subject: Re: [ovirt-users] Live migration of VM(0 downtime) while Hypervisor goes down in ovirt Date: Sat, 10 Feb 2018 07:30:46 +0000 Message-ID: <927677519.2261450.1518247846805@mail.yahoo.com> In-Reply-To: CAJgorsaV6LFECFb700Mo7AgB4p2Q6f3gSPKy+0Yo5x5nvFO+fA@mail.gmail.com --===============8171593817996189239== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ------=3D_Part_2261449_1917009092.1518247846803 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: quoted-printable Hi, >>Who's shutting down the hypervisor? (Or perhaps it is shutdown externally= =3D , due to overheating or otherwise?) We need a continuous availability of VM's in our production setup. If the h= =3D ypervisor goes down due to any hardware failure or work load then VM's abov= =3D e hypervisor will reboot and started on available hypervisors. This is norm= =3D ally happening but it disrupting VM's. Can you suggest a solution in this c= =3D ase? Can we achieve this challenge using glusterfs? Thanks & RegardsRanjith Sent from Yahoo Mail on Android=3D20 =3D20 On Sat, Feb 10, 2018 at 2:07 AM, Yaniv Kaul wrote: = =3D20 On Fri, Feb 9, 2018 at 9:25 PM, ranjithspr13(a)yahoo.com wrote: Hi,Anyone can suggest how to setup VM Live migration (without restart vm) w= =3D hile Hypervisor goes down in ovirt? I think there are two parts to achieving this:1. Have a script that migrate= =3D s VMs off a specific host. This should be easy to write using the Python/Ru= =3D by/Java SDK, Ansible or using REST directly.2. Having this script run as a = =3D service when a host shuts down, in the right order - well before libvirt an= =3D d VDSM shut down, and would be fast enough not to be terminated by systemd.= =3D This is a bit more challenging. Who's shutting down the hypervisor? (Or perhaps it is shutdown externally, = =3D due to overheating or otherwise?)Y.=3DC2=3DA0 Using glusterfs is it possible? Then how? Thanks & RegardsRanjith Sent from Yahoo Mail on Android ______________________________ _________________ Users mailing list Users(a)ovirt.org http://lists.ovirt.org/ mailman/listinfo/users =3D20 ------=3D_Part_2261449_1917009092.1518247846803 Content-Type: text/html; charset=3DUTF-8 Content-Transfer-Encoding: quoted-printable Hi,

>>Who's= s=3D hutting down the hypervisor? (Or perhaps it is shutdown externally, due to = =3D overheating or otherwise?)

We need a continuous availability of V= =3D M's in our production setup. If the hypervisor goes down due to any hardwar= =3D e failure or work load then VM's above hypervisor will reboot and started o= =3D n available hypervisors. This is normally happening but it disrupting VM's.= =3D Can you suggest a solution in this case? Can we achieve this challenge usi= =3D ng glusterfs?

Thanks & Regards
Ranjith


On = Sa=3D t, Feb 10, 2018 at 2:07 AM, Yaniv Kaul
<ykaul(a)redhat.com>= w=3D rote:

<= br cle=3D ar=3D3D"none">
On Fri, Feb 9, 2018= at =3D 9:25 PM, r= anjith=3D spr13(a)yahoo.com <ranjithspr13(a)yahoo.com> wrote:<= br c=3D lear=3D3D"none">
Hi,
= =3D Anyone can suggest how to setup VM Live migration (without restart vm) whil= =3D e Hypervisor goes down in ovirt?

=3D
I think there are two parts to achieving this:
1. Have= =3D a script that migrates VMs off a specific host. This should be easy to wri= =3D te using the Python/Ruby/Java SDK, Ansible or using REST directly.
2. Having this script run as a service when a host shuts down, in the rig= =3D ht order - well before libvirt and VDSM shut down, and would be fast enough= =3D not to be terminated by systemd.
This is a bit more challenging.= =3D

Who's shutting down the hypervisor? (Or perhaps it is shutdow= =3D n externally, due to overheating or otherwise?)
Y.
 
=3D
Using glusterfs is it possible? Then how?
Thanks & Regards

______________________________ _________________
Users mailing list
Users(a)ovirt.org
http://lists.ovirt.org/ mailman/listinfo/u= =3D sers



<= /div=3D >
------=3D_Part_2261449_1917009092.1518247846803-- --===============8171593817996189239== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS0tLS0tPV9QYXJ0XzIyNjE0NDlfMTkxNzAwOTA5Mi4xNTE4MjQ3ODQ2ODAzCkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBx dW90ZWQtcHJpbnRhYmxlCgpIaSwKPj5XaG8ncyBzaHV0dGluZyBkb3duIHRoZSBoeXBlcnZpc29y PyAoT3IgcGVyaGFwcyBpdCBpcyBzaHV0ZG93biBleHRlcm5hbGx5PQosIGR1ZSB0byBvdmVyaGVh dGluZyBvciBvdGhlcndpc2U/KQpXZSBuZWVkIGEgY29udGludW91cyBhdmFpbGFiaWxpdHkgb2Yg Vk0ncyBpbiBvdXIgcHJvZHVjdGlvbiBzZXR1cC4gSWYgdGhlIGg9CnlwZXJ2aXNvciBnb2VzIGRv d24gZHVlIHRvIGFueSBoYXJkd2FyZSBmYWlsdXJlIG9yIHdvcmsgbG9hZCB0aGVuIFZNJ3MgYWJv dj0KZSBoeXBlcnZpc29yIHdpbGwgcmVib290IGFuZCBzdGFydGVkIG9uIGF2YWlsYWJsZSBoeXBl cnZpc29ycy4gVGhpcyBpcyBub3JtPQphbGx5IGhhcHBlbmluZyBidXQgaXQgZGlzcnVwdGluZyBW TSdzLiBDYW4geW91IHN1Z2dlc3QgYSBzb2x1dGlvbiBpbiB0aGlzIGM9CmFzZT8gQ2FuIHdlIGFj aGlldmUgdGhpcyBjaGFsbGVuZ2UgdXNpbmcgZ2x1c3RlcmZzPwpUaGFua3MgJiBSZWdhcmRzUmFu aml0aAoKU2VudCBmcm9tIFlhaG9vIE1haWwgb24gQW5kcm9pZD0yMAo9MjAKICBPbiBTYXQsIEZl YiAxMCwgMjAxOCBhdCAyOjA3IEFNLCBZYW5pdiBLYXVsPHlrYXVsQHJlZGhhdC5jb20+IHdyb3Rl OiAgPTIwCgpPbiBGcmksIEZlYiA5LCAyMDE4IGF0IDk6MjUgUE0sIHJhbmppdGhzcHIxM0B5YWhv by5jb20gPHJhbmppdGhzcHIxM0B5YWhvby49CmNvbT4gd3JvdGU6CgpIaSxBbnlvbmUgY2FuIHN1 Z2dlc3QgaG93IHRvIHNldHVwIFZNIExpdmUgbWlncmF0aW9uICh3aXRob3V0IHJlc3RhcnQgdm0p IHc9CmhpbGUgSHlwZXJ2aXNvciBnb2VzIGRvd24gaW4gb3ZpcnQ/CgpJIHRoaW5rIHRoZXJlIGFy ZSB0d28gcGFydHMgdG8gYWNoaWV2aW5nIHRoaXM6MS4gSGF2ZSBhIHNjcmlwdCB0aGF0IG1pZ3Jh dGU9CnMgVk1zIG9mZiBhIHNwZWNpZmljIGhvc3QuIFRoaXMgc2hvdWxkIGJlIGVhc3kgdG8gd3Jp dGUgdXNpbmcgdGhlIFB5dGhvbi9SdT0KYnkvSmF2YSBTREssIEFuc2libGUgb3IgdXNpbmcgUkVT VCBkaXJlY3RseS4yLiBIYXZpbmcgdGhpcyBzY3JpcHQgcnVuIGFzIGEgPQpzZXJ2aWNlIHdoZW4g YSBob3N0IHNodXRzIGRvd24sIGluIHRoZSByaWdodCBvcmRlciAtIHdlbGwgYmVmb3JlIGxpYnZp cnQgYW49CmQgVkRTTSBzaHV0IGRvd24sIGFuZCB3b3VsZCBiZSBmYXN0IGVub3VnaCBub3QgdG8g YmUgdGVybWluYXRlZCBieSBzeXN0ZW1kLj0KVGhpcyBpcyBhIGJpdCBtb3JlIGNoYWxsZW5naW5n LgpXaG8ncyBzaHV0dGluZyBkb3duIHRoZSBoeXBlcnZpc29yPyAoT3IgcGVyaGFwcyBpdCBpcyBz aHV0ZG93biBleHRlcm5hbGx5LCA9CmR1ZSB0byBvdmVyaGVhdGluZyBvciBvdGhlcndpc2U/KVku PUMyPUEwClVzaW5nIGdsdXN0ZXJmcyBpcyBpdCBwb3NzaWJsZT8gVGhlbiBob3c/ClRoYW5rcyAm IFJlZ2FyZHNSYW5qaXRoCgpTZW50IGZyb20gWWFob28gTWFpbCBvbiBBbmRyb2lkCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fXyBfX19fX19fX19fX19fX19fXwpVc2VycyBtYWlsaW5nIGxp c3QKVXNlcnNAb3ZpcnQub3JnCmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvIG1haWxtYW4vbGlzdGlu Zm8vdXNlcnMKCgoKID0yMAoKLS0tLS0tPV9QYXJ0XzIyNjE0NDlfMTkxNzAwOTA5Mi4xNTE4MjQ3 ODQ2ODAzCkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJh bnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKCkhpLDxkaXYgaWQ9M0QieU1haWxfY3Vy c29yRWxlbWVudFRyYWNrZXJfMTUxODI0NzM4NzY2MCI+PGJyPjwvZGl2PjxkaXYgaWQ9Cj0zRCJ5 TWFpbF9jdXJzb3JFbGVtZW50VHJhY2tlcl8xNTE4MjQ3Mzg4MDc1Ij4mZ3Q7Jmd0OzxzcGFuIHN0 eWxlPTNEImZvbnQtZj0KYW1pbHk6IHNhbnMtc2VyaWY7IiBpZD0zRCJ5TWFpbF9jdXJzb3JFbGVt ZW50VHJhY2tlcl8xNTE4MjQ3NDIwNzU2Ij5XaG8ncyBzPQpodXR0aW5nIGRvd24gdGhlIGh5cGVy dmlzb3I/IChPciBwZXJoYXBzIGl0IGlzIHNodXRkb3duIGV4dGVybmFsbHksIGR1ZSB0byA9Cm92 ZXJoZWF0aW5nIG9yIG90aGVyd2lzZT8pPC9zcGFuPjwvZGl2PjxkaXYgaWQ9M0QieU1haWxfY3Vy c29yRWxlbWVudFRyYWNrZT0Kcl8xNTE4MjQ3Mzg4MDc1Ij48Zm9udCBmYWNlPTNEInNhbnMtc2Vy aWYiPjxicj48L2ZvbnQ+PC9kaXY+PGRpdiBpZD0zRCJ5TWFpPQpsX2N1cnNvckVsZW1lbnRUcmFj a2VyXzE1MTgyNDczODgwNzUiPjxmb250IGZhY2U9M0Qic2Fucy1zZXJpZiIgaWQ9M0QieU1haWw9 Cl9jdXJzb3JFbGVtZW50VHJhY2tlcl8xNTE4MjQ3NDIzMjYzIj5XZSBuZWVkIGEgY29udGludW91 cyBhdmFpbGFiaWxpdHkgb2YgVj0KTSdzIGluIG91ciBwcm9kdWN0aW9uIHNldHVwLiBJZiB0aGUg aHlwZXJ2aXNvciBnb2VzIGRvd24gZHVlIHRvIGFueSBoYXJkd2FyPQplIGZhaWx1cmUgb3Igd29y ayBsb2FkIHRoZW4gVk0ncyBhYm92ZSBoeXBlcnZpc29yIHdpbGwgcmVib290IGFuZCBzdGFydGVk IG89Cm4gYXZhaWxhYmxlIGh5cGVydmlzb3JzLiBUaGlzIGlzIG5vcm1hbGx5IGhhcHBlbmluZyBi dXQgaXQgZGlzcnVwdGluZyBWTSdzLj0KIENhbiB5b3Ugc3VnZ2VzdCBhIHNvbHV0aW9uIGluIHRo aXMgY2FzZT8gQ2FuIHdlIGFjaGlldmUgdGhpcyBjaGFsbGVuZ2UgdXNpPQpuZyBnbHVzdGVyZnM/ PC9mb250PjwvZGl2PjxkaXYgaWQ9M0QieU1haWxfY3Vyc29yRWxlbWVudFRyYWNrZXJfMTUxODI0 NzM4ODA9Cjc1Ij48Zm9udCBmYWNlPTNEInNhbnMtc2VyaWYiPjxicj48L2ZvbnQ+PC9kaXY+PGRp diBpZD0zRCJ5TWFpbF9jdXJzb3JFbGVtZT0KbnRUcmFja2VyXzE1MTgyNDczODgwNzUiPjxmb250 IGZhY2U9M0Qic2Fucy1zZXJpZiIgaWQ9M0QieU1haWxfY3Vyc29yRWxlbWVuPQp0VHJhY2tlcl8x NTE4MjQ3NzU2NzIwIj5UaGFua3MgJmFtcDsgUmVnYXJkczwvZm9udD48L2Rpdj48ZGl2IGlkPTNE InlNYWlsX2M9CnVyc29yRWxlbWVudFRyYWNrZXJfMTUxODI0NzM4ODA3NSI+PGZvbnQgZmFjZT0z RCJzYW5zLXNlcmlmIiBpZD0zRCJ5TWFpbF9jdT0KcnNvckVsZW1lbnRUcmFja2VyXzE1MTgyNDc3 NzQ4OTgiPlJhbmppdGg8YnI+PC9mb250PjxkaXYgaWQ9M0QieU1haWxfY3Vyc29yPQpFbGVtZW50 VHJhY2tlcl8xNTE4MjQ3MzcyODkwIj48YnI+PGRpdiBpZD0zRCJ5bWFpbF9hbmRyb2lkX3NpZ25h dHVyZSI+PGEgaHI9CmVmPTNEImh0dHBzOi8vb3ZlcnZpZXcubWFpbC55YWhvby5jb20vbW9iaWxl Lz8uc3JjPTNEQW5kcm9pZCI+U2VudCBmcm9tIFlhaD0Kb28gTWFpbCBvbiBBbmRyb2lkPC9hPjwv ZGl2PiA8YnI+IDxibG9ja3F1b3RlIHN0eWxlPTNEIm1hcmdpbjogMCAwIDIwcHggMDsiPQo+IDxk aXYgc3R5bGU9M0QiZm9udC1mYW1pbHk6Um9ib3RvLCBzYW5zLXNlcmlmOyBjb2xvcjojNkQwMEY2 OyI+IDxkaXY+T24gU2E9CnQsIEZlYiAxMCwgMjAxOCBhdCAyOjA3IEFNLCBZYW5pdiBLYXVsPC9k aXY+PGRpdj4mbHQ7eWthdWxAcmVkaGF0LmNvbSZndDsgdz0Kcm90ZTo8L2Rpdj4gPC9kaXY+IDxk aXYgc3R5bGU9M0QicGFkZGluZzogMTBweCAwIDAgMjBweDsgbWFyZ2luOiAxMHB4IDAgMCAwPQo7 IGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzZEMDBGNjsiPiA8ZGl2IGlkPTNEInlpdjY2NTQ0NDg5 MDMiPjxkaXY+PGRpdiBkaXI9Cj0zRCJsdHIiPjxiciBjbGVhcj0zRCJub25lIj48ZGl2IGNsYXNz PTNEInlpdjY2NTQ0NDg5MDNnbWFpbF9leHRyYSI+PGJyIGNsZT0KYXI9M0Qibm9uZSI+PGRpdiBj bGFzcz0zRCJ5aXY2NjU0NDQ4OTAzZ21haWxfcXVvdGUiPk9uIEZyaSwgRmViIDksIDIwMTggYXQg PQo5OjI1IFBNLCA8YSByZWw9M0Qibm9mb2xsb3ciIHNoYXBlPTNEInJlY3QiIHltYWlsdG89M0Qi bWFpbHRvOnJhbmppdGhzcHIxM0A9CnlhaG9vLmNvbSIgdGFyZ2V0PTNEIl9ibGFuayIgaHJlZj0z RCJtYWlsdG86cmFuaml0aHNwcjEzQHlhaG9vLmNvbSI+cmFuaml0aD0Kc3ByMTNAeWFob28uY29t PC9hPiA8c3BhbiBkaXI9M0QibHRyIj4mbHQ7PGEgcmVsPTNEIm5vZm9sbG93IiBzaGFwZT0zRCJy ZWN0PQoiIHltYWlsdG89M0QibWFpbHRvOnJhbmppdGhzcHIxM0B5YWhvby5jb20iIHRhcmdldD0z RCJfYmxhbmsiIGhyZWY9M0QibWFpbHQ9Cm86cmFuaml0aHNwcjEzQHlhaG9vLmNvbSI+cmFuaml0 aHNwcjEzQHlhaG9vLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnIgYz0KbGVhcj0zRCJub25l Ij48YmxvY2txdW90ZSBjbGFzcz0zRCJ5aXY2NjU0NDQ4OTAzZ21haWxfcXVvdGUiIHN0eWxlPTNE Im1hcmdpPQpuOjAgMCAwIC44ZXg7Ym9yZGVyLWxlZnQ6MXB4ICNjY2Mgc29saWQ7cGFkZGluZy1s ZWZ0OjFleDsiPkhpLDxkaXYgaWQ9M0QieWk9CnY2NjU0NDQ4OTAzbV8tMjUzOTcxMTcwMzM4MTQ2 OTM5NnlNYWlsX2N1cnNvckVsZW1lbnRUcmFja2VyXzE1MTgyMDM5MDY4MzUiPj0KQW55b25lIGNh biBzdWdnZXN0IGhvdyB0byBzZXR1cCBWTSBMaXZlIG1pZ3JhdGlvbiAod2l0aG91dCByZXN0YXJ0 IHZtKSB3aGlsPQplIEh5cGVydmlzb3IgZ29lcyBkb3duIGluIG92aXJ0PzwvZGl2PjwvYmxvY2tx dW90ZT48ZGl2PjxiciBjbGVhcj0zRCJub25lIj49CjwvZGl2PjxkaXY+SSB0aGluayB0aGVyZSBh cmUgdHdvIHBhcnRzIHRvIGFjaGlldmluZyB0aGlzOjwvZGl2PjxkaXY+MS4gSGF2ZT0KIGEgc2Ny aXB0IHRoYXQgbWlncmF0ZXMgVk1zIG9mZiBhIHNwZWNpZmljIGhvc3QuIFRoaXMgc2hvdWxkIGJl IGVhc3kgdG8gd3JpPQp0ZSB1c2luZyB0aGUgUHl0aG9uL1J1YnkvSmF2YSBTREssIEFuc2libGUg b3IgdXNpbmcgUkVTVCBkaXJlY3RseS48L2Rpdj48ZGk9CnY+Mi4gSGF2aW5nIHRoaXMgc2NyaXB0 IHJ1biBhcyBhIHNlcnZpY2Ugd2hlbiBhIGhvc3Qgc2h1dHMgZG93biwgaW4gdGhlIHJpZz0KaHQg b3JkZXIgLSB3ZWxsIGJlZm9yZSBsaWJ2aXJ0IGFuZCBWRFNNIHNodXQgZG93biwgYW5kIHdvdWxk IGJlIGZhc3QgZW5vdWdoPQogbm90IHRvIGJlIHRlcm1pbmF0ZWQgYnkgc3lzdGVtZC48L2Rpdj48 ZGl2PlRoaXMgaXMgYSBiaXQgbW9yZSBjaGFsbGVuZ2luZy49CjwvZGl2PjxkaXY+PGJyIGNsZWFy PTNEIm5vbmUiPjwvZGl2PjxkaXYgaWQ9M0QieU1haWxfY3Vyc29yRWxlbWVudFRyYWNrZXJfMT0K NTE4MjQ3MjMwMTE5Ij5XaG8ncyBzaHV0dGluZyBkb3duIHRoZSBoeXBlcnZpc29yPyAoT3IgcGVy aGFwcyBpdCBpcyBzaHV0ZG93PQpuIGV4dGVybmFsbHksIGR1ZSB0byBvdmVyaGVhdGluZyBvciBv dGhlcndpc2U/KTwvZGl2PjxkaXY+WS48L2Rpdj48ZGl2IGNsYXM9CnM9M0QieWl2NjY1NDQ0ODkw M3lxdDA0MDIwNDA2NDcgeVFUREJhc2UiIGlkPTNEInlpdjY2NTQ0NDg5MDN5cXRmZDk1MTIxIj48 ZD0KaXY+Jm5ic3A7PC9kaXY+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9M0QieWl2NjY1NDQ0ODkw M2dtYWlsX3F1b3RlIiBzdHlsZT0KPTNEIm1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFw eCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij48ZGl2IGNsPQphc3M9M0QieWl2NjY1NDQ0 ODkwM3lxdDA0MDIwNDA2NDcgeVFUREJhc2UiIGlkPTNEInlpdjY2NTQ0NDg5MDN5cXRmZDc0Mjky Ij49CjxkaXYgaWQ9M0QieWl2NjY1NDQ0ODkwM21fLTI1Mzk3MTE3MDMzODE0NjkzOTZ5TWFpbF9j dXJzb3JFbGVtZW50VHJhY2tlcl8xNT0KMTgyMDQyMTA0MjAiPlVzaW5nIGdsdXN0ZXJmcyBpcyBp dCBwb3NzaWJsZT8gVGhlbiBob3c/PC9kaXY+PGRpdiBpZD0zRCJ5aXY2PQo2NTQ0NDg5MDNtXy0y NTM5NzExNzAzMzgxNDY5Mzk2eU1haWxfY3Vyc29yRWxlbWVudFRyYWNrZXJfMTUxODIwNDA5OTU0 NyI+PGI9CnIgY2xlYXI9M0Qibm9uZSI+PC9kaXY+PGRpdiBpZD0zRCJ5aXY2NjU0NDQ4OTAzbV8t MjUzOTcxMTcwMzM4MTQ2OTM5NnlNYWlsXz0KY3Vyc29yRWxlbWVudFRyYWNrZXJfMTUxODIwNDEw MDQ2MSI+VGhhbmtzICZhbXA7IFJlZ2FyZHM8L2Rpdj48ZGl2IGlkPTNEInlpPQp2NjY1NDQ0ODkw M21fLTI1Mzk3MTE3MDMzODE0NjkzOTZ5TWFpbF9jdXJzb3JFbGVtZW50VHJhY2tlcl8xNTE4MjA0 MTEzODQ4Ij49ClJhbmppdGg8YnIgY2xlYXI9M0Qibm9uZSI+PGJyIGNsZWFyPTNEIm5vbmUiPjxk aXYgaWQ9M0QieWl2NjY1NDQ0ODkwM21fLTI1Mz0KOTcxMTcwMzM4MTQ2OTM5NnltYWlsX2FuZHJv aWRfc2lnbmF0dXJlIj48YSByZWw9M0Qibm9mb2xsb3ciIHNoYXBlPTNEInJlY3QiPQogdGFyZ2V0 PTNEIl9ibGFuayIgaHJlZj0zRCJodHRwczovL292ZXJ2aWV3Lm1haWwueWFob28uY29tL21vYmls ZS8/LnNyYz0zREE9Cm5kcm9pZCI+U2VudCBmcm9tIFlhaG9vIE1haWwgb24gQW5kcm9pZDwvYT48 L2Rpdj48L2Rpdj48L2Rpdj48YnIgY2xlYXI9M0Qibj0Kb25lIj5fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18gX19fX19fX19fX19fX19fX188YnIgY2xlYXI9M0Qibm9uZSI+ClVzZXJzIG1h aWxpbmcgbGlzdDxiciBjbGVhcj0zRCJub25lIj4KPGEgcmVsPTNEIm5vZm9sbG93IiBzaGFwZT0z RCJyZWN0IiB5bWFpbHRvPTNEIm1haWx0bzpVc2Vyc0BvdmlydC5vcmciIHRhcmdlPQp0PTNEIl9i bGFuayIgaHJlZj0zRCJtYWlsdG86VXNlcnNAb3ZpcnQub3JnIiBpZD0zRCJ5TWFpbF9jdXJzb3JF bGVtZW50VHJhY2s9CmVyXzE1MTgyNDcyOTY2MjMiPlVzZXJzQG92aXJ0Lm9yZzwvYT48YnIgY2xl YXI9M0Qibm9uZSI+CjxhIHJlbD0zRCJub2ZvbGxvdyIgc2hhcGU9M0QicmVjdCIgdGFyZ2V0PTNE Il9ibGFuayIgaHJlZj0zRCJodHRwOi8vbGlzdHMubz0KdmlydC5vcmcvbWFpbG1hbi9saXN0aW5m by91c2VycyI+aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy8gbWFpbG1hbi9saXN0aW5mby91PQpzZXJz PC9hPjxkaXYgY2xhc3M9M0QieWl2NjY1NDQ0ODkwM3lxdDA0MDIwNDA2NDcgeVFUREJhc2UiIGlk PTNEInlpdjY2NTQ0NDg9CjkwM3lxdGZkNzc1MDkiPjxiciBjbGVhcj0zRCJub25lIj4KPGJyIGNs ZWFyPTNEIm5vbmUiPjwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj48ZGl2IGNsYXNzPTNEInlpdjY2 NTQ0NDg5MDN5cXQwPQo0MDIwNDA2NDcgeVFUREJhc2UiIGlkPTNEInlpdjY2NTQ0NDg5MDN5cXRm ZDg5ODI0Ij48YnIgY2xlYXI9M0Qibm9uZSI+PC9kaXY9Cj48L2Rpdj48L2Rpdj48L2Rpdj48L2Rp dj4gPC9kaXY+IDwvYmxvY2txdW90ZT48L2Rpdj48L2Rpdj4KLS0tLS0tPV9QYXJ0XzIyNjE0NDlf MTkxNzAwOTA5Mi4xNTE4MjQ3ODQ2ODAzLS0K --===============8171593817996189239==--