From donny at cloudspin.me Wed Feb 4 13:15:59 2015 Content-Type: multipart/mixed; boundary="===============7919194585242576978==" MIME-Version: 1.0 From: Donny Davis To: users at ovirt.org Subject: Re: [ovirt-users] Help understanding Gluster in oVirt Date: Wed, 04 Feb 2015 11:14:42 -0700 Message-ID: <002b01d040a6$7432cee0$5c986ca0$@cloudspin.me> In-Reply-To: 61A8344D117D814CA4DA393472F38CF401B58A085F@CD1001-M360.corp.ads --===============7919194585242576978== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multipart message in MIME format. ------=3D_NextPart_000_002C_01D0406B.C7D667E0 Content-Type: text/plain; charset=3D"us-ascii" Content-Transfer-Encoding: 7bit I have two nodes running the hosted engine and gluster setup for replicate between them. Mounting to localhost seems to be working so far. I have live migrated the engine, pulled the plug on a running node, and rebooted each node to ensure it all works properly. I have had few issues with this setup. I didn't like ctdb because it adds another layer of complexity that is unnecessary for MY setup. = Node1 gluster drive on sdb = Node2 gluster drive on sdb = Both replicate and are the same make and model drive. = = ovirt-ha running on both for hosted-engine = This setup is for hosted engine only, my actual storage for VM's and what not do not run in this fashion. = = = Hope This helps = Donny D = From: users-bounces(a)ovirt.org [mailto:users-bounces(a)ovirt.org] On Behal= f Of Groten, Ryan Sent: Wednesday, February 4, 2015 10:11 AM To: Sahina Bose; users(a)ovirt.org Subject: Re: [ovirt-users] Help understanding Gluster in oVirt = Nope in fact I followed the guide and found CTDB works quite well. I am just trying to figure out the benefit because that would be another component to consider in the architecture. = From: Sahina Bose [mailto:sabose(a)redhat.com] = Sent: Tuesday, February 03, 2015 4:09 AM To: Groten, Ryan; users(a)ovirt.org Subject: Re: [ovirt-users] Help understanding Gluster in oVirt = = On 01/28/2015 08:59 AM, Groten, Ryan wrote: I was planning on making a Gluster Data domain to test, and found some great information on this page: http://community.redhat.com/blog/2014/05/ovirt-3-4-glusterized/ The article the author uses the CTDB service for VIP failover. Is it possible/recommended to not do this, and just create a gluster volume on all the hosts in a cluster, then create the Gluster data domain as localhost:? Theoretically, it should work - if you make sure that you have a replica 3 gluster volume spread across 3 nodes, and these 3 nodes are your compute nodes as well - you should be fine without CTDB setup for failover and mounting as localhost. But I've not tried this to recommend it. Maybe if others have tried it, they can chime in? Btw, is there any reason you do not want to set up CTDB? = Thanks, Ryan ThTh _______________________________________________ Users mailing list Users(a)ovirt.org http://lists.ovirt.org/mailman/listinfo/users = ------=3D_NextPart_000_002C_01D0406B.C7D667E0 Content-Type: text/html; charset=3D"us-ascii" Content-Transfer-Encoding: quoted-printable
<= p =3D class=3D3DMsoNormal>I have two nodes running the hosted engine and gluster setup for =3D replicate between them. Mounting to localhost seems to be working so =3D far. I have live migrated the engine, pulled the plug on a running node, = =3D and rebooted each node to ensure it all works properly. I have had few =3D issues with this setup. I didn’t like ctdb because it adds another = =3D layer of complexity that is unnecessary for MY =3D setup.

 

Node1 gluster drive on sdb

Node2 gluster drive on sdb

 

Both replicate and are the same make and model drive. =3D

 

ovirt-ha running on both for hosted-engine

 

This setup is for hosted engine only, my actual storage for =3D VM’s and what not do not run in this fashion. =3D

 

 

Hope This helps

 

Donny D

 

From: users-bounces(a)ovirt.org [mailto:users-bounces(a)ovirt.org] On = =3D Behalf Of Groten, Ryan
Sent: Wednesday, February 4, 2015 =3D 10:11 AM
To: Sahina Bose; users(a)ovirt.org
Subject: = =3D Re: [ovirt-users] Help understanding Gluster in =3D oVirt

 

Nope in fact I followed the guide and =3D found CTDB works quite well.  I am just trying to figure out the =3D benefit because that would be another component to consider in the =3D architecture.

 

From: Sahina Bose [mailto:sabose(a)redhat.com] =3D
Sent: Tuesday, February 03, 2015 4:09 AM
To: =3D Groten, Ryan; users(a)ovirt.org
Subject: =3D Re: [ovirt-users] Help understanding Gluster in =3D oVirt

 

 

On =3D 01/28/2015 08:59 AM, Groten, Ryan wrote:

I was planning on making a Gluster Data domain to = =3D test, and found some great information on this page: = =3D http://community.redhat.com/blog/2014/05/ovirt-3-4-glusterized/

The article the author uses the CTDB service for VIP =3D failover.  Is it possible/recommended to not do this, and just =3D create a gluster volume on all the hosts in a cluster, then create the =3D Gluster data domain as =3D localhost:<gluster_vol>?


Theoretically, it = =3D should work - if you make sure that you have a replica 3 gluster volume =3D spread across 3 nodes, and these 3 nodes are your compute nodes as well =3D - you should be fine without CTDB setup for failover and mounting as =3D localhost.

But I've not tried this to recommend it. Maybe if =3D others have tried it, they can chime in?

Btw, is there any reason = =3D you do not want to set up CTDB?

 

Thanks,

Ryan

ThTh

__________=
=3D
_____________________________________
Users mailing =
=3D
list
Users(a)ovirt.org
<= pre>=3D http://lists.ovirt= =3D .org/mailman/listinfo/users

 

------=3D_NextPart_000_002C_01D0406B.C7D667E0-- --===============7919194585242576978== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpcGFydCBtZXNzYWdlIGluIE1JTUUgZm9ybWF0LgoKLS0tLS0tPV9OZXh0 UGFydF8wMDBfMDAyQ18wMUQwNDA2Qi5DN0Q2NjdFMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47 CgljaGFyc2V0PSJ1cy1hc2NpaSIKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAoKSSBo YXZlIHR3byBub2RlcyBydW5uaW5nIHRoZSBob3N0ZWQgZW5naW5lIGFuZCBnbHVzdGVyIHNldHVw IGZvciByZXBsaWNhdGUKYmV0d2VlbiB0aGVtLiBNb3VudGluZyB0byBsb2NhbGhvc3Qgc2VlbXMg dG8gYmUgd29ya2luZyBzbyBmYXIuIEkgaGF2ZSBsaXZlCm1pZ3JhdGVkIHRoZSBlbmdpbmUsIHB1 bGxlZCB0aGUgcGx1ZyBvbiBhIHJ1bm5pbmcgbm9kZSwgYW5kIHJlYm9vdGVkIGVhY2gKbm9kZSB0 byBlbnN1cmUgaXQgYWxsIHdvcmtzIHByb3Blcmx5LiBJIGhhdmUgaGFkIGZldyBpc3N1ZXMgd2l0 aCB0aGlzIHNldHVwLgpJIGRpZG4ndCBsaWtlIGN0ZGIgYmVjYXVzZSBpdCBhZGRzIGFub3RoZXIg bGF5ZXIgb2YgY29tcGxleGl0eSB0aGF0IGlzCnVubmVjZXNzYXJ5IGZvciBNWSBzZXR1cC4KCiAK Ck5vZGUxIGdsdXN0ZXIgZHJpdmUgb24gc2RiIAoKTm9kZTIgZ2x1c3RlciBkcml2ZSBvbiBzZGIK CiAKCkJvdGggcmVwbGljYXRlIGFuZCBhcmUgdGhlIHNhbWUgbWFrZSBhbmQgbW9kZWwgZHJpdmUu IAoKIAoKb3ZpcnQtaGEgcnVubmluZyBvbiBib3RoIGZvciBob3N0ZWQtZW5naW5lCgogCgpUaGlz IHNldHVwIGlzIGZvciBob3N0ZWQgZW5naW5lIG9ubHksIG15IGFjdHVhbCBzdG9yYWdlIGZvciBW TSdzIGFuZCB3aGF0Cm5vdCBkbyBub3QgcnVuIGluIHRoaXMgZmFzaGlvbi4gCgogCgogCgpIb3Bl IFRoaXMgaGVscHMKCiAKCkRvbm55IEQKCiAKCkZyb206IHVzZXJzLWJvdW5jZXNAb3ZpcnQub3Jn IFttYWlsdG86dXNlcnMtYm91bmNlc0BvdmlydC5vcmddIE9uIEJlaGFsZiBPZgpHcm90ZW4sIFJ5 YW4KU2VudDogV2VkbmVzZGF5LCBGZWJydWFyeSA0LCAyMDE1IDEwOjExIEFNClRvOiBTYWhpbmEg Qm9zZTsgdXNlcnNAb3ZpcnQub3JnClN1YmplY3Q6IFJlOiBbb3ZpcnQtdXNlcnNdIEhlbHAgdW5k ZXJzdGFuZGluZyBHbHVzdGVyIGluIG9WaXJ0CgogCgpOb3BlIGluIGZhY3QgSSBmb2xsb3dlZCB0 aGUgZ3VpZGUgYW5kIGZvdW5kIENUREIgd29ya3MgcXVpdGUgd2VsbC4gIEkgYW0KanVzdCB0cnlp bmcgdG8gZmlndXJlIG91dCB0aGUgYmVuZWZpdCBiZWNhdXNlIHRoYXQgd291bGQgYmUgYW5vdGhl cgpjb21wb25lbnQgdG8gY29uc2lkZXIgaW4gdGhlIGFyY2hpdGVjdHVyZS4KCiAKCkZyb206IFNh aGluYSBCb3NlIFttYWlsdG86c2Fib3NlQHJlZGhhdC5jb21dIApTZW50OiBUdWVzZGF5LCBGZWJy dWFyeSAwMywgMjAxNSA0OjA5IEFNClRvOiBHcm90ZW4sIFJ5YW47IHVzZXJzQG92aXJ0Lm9yZwpT dWJqZWN0OiBSZTogW292aXJ0LXVzZXJzXSBIZWxwIHVuZGVyc3RhbmRpbmcgR2x1c3RlciBpbiBv VmlydAoKIAoKIAoKT24gMDEvMjgvMjAxNSAwODo1OSBBTSwgR3JvdGVuLCBSeWFuIHdyb3RlOgoK SSB3YXMgcGxhbm5pbmcgb24gbWFraW5nIGEgR2x1c3RlciBEYXRhIGRvbWFpbiB0byB0ZXN0LCBh bmQgZm91bmQgc29tZSBncmVhdAppbmZvcm1hdGlvbiBvbiB0aGlzIHBhZ2U6Cmh0dHA6Ly9jb21t dW5pdHkucmVkaGF0LmNvbS9ibG9nLzIwMTQvMDUvb3ZpcnQtMy00LWdsdXN0ZXJpemVkLwoKVGhl IGFydGljbGUgdGhlIGF1dGhvciB1c2VzIHRoZSBDVERCIHNlcnZpY2UgZm9yIFZJUCBmYWlsb3Zl ci4gIElzIGl0CnBvc3NpYmxlL3JlY29tbWVuZGVkIHRvIG5vdCBkbyB0aGlzLCBhbmQganVzdCBj cmVhdGUgYSBnbHVzdGVyIHZvbHVtZSBvbiBhbGwKdGhlIGhvc3RzIGluIGEgY2x1c3RlciwgdGhl biBjcmVhdGUgdGhlIEdsdXN0ZXIgZGF0YSBkb21haW4gYXMKbG9jYWxob3N0OjxnbHVzdGVyX3Zv bD4/CgoKVGhlb3JldGljYWxseSwgaXQgc2hvdWxkIHdvcmsgLSBpZiB5b3UgbWFrZSBzdXJlIHRo YXQgeW91IGhhdmUgYSByZXBsaWNhIDMKZ2x1c3RlciB2b2x1bWUgc3ByZWFkIGFjcm9zcyAzIG5v ZGVzLCBhbmQgdGhlc2UgMyBub2RlcyBhcmUgeW91ciBjb21wdXRlCm5vZGVzIGFzIHdlbGwgLSB5 b3Ugc2hvdWxkIGJlIGZpbmUgd2l0aG91dCBDVERCIHNldHVwIGZvciBmYWlsb3ZlciBhbmQKbW91 bnRpbmcgYXMgbG9jYWxob3N0LgoKQnV0IEkndmUgbm90IHRyaWVkIHRoaXMgdG8gcmVjb21tZW5k IGl0LiBNYXliZSBpZiBvdGhlcnMgaGF2ZSB0cmllZCBpdCwgdGhleQpjYW4gY2hpbWUgaW4/CgpC dHcsIGlzIHRoZXJlIGFueSByZWFzb24geW91IGRvIG5vdCB3YW50IHRvIHNldCB1cCBDVERCPwoK CgogCgpUaGFua3MsCgpSeWFuCgpUaFRoCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClVzZXJzIG1haWxpbmcgbGlzdApVc2Vyc0BvdmlydC5vcmcKaHR0 cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzCgogCgoKLS0tLS0tPV9O ZXh0UGFydF8wMDBfMDAyQ18wMUQwNDA2Qi5DN0Q2NjdFMApDb250ZW50LVR5cGU6IHRleHQvaHRt bDsKCWNoYXJzZXQ9InVzLWFzY2lpIgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQt cHJpbnRhYmxlCgo8aHRtbCB4bWxuczp2PTNEInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206dm1s IiA9CnhtbG5zOm89M0QidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNlIiA9 CnhtbG5zOnc9M0QidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgPQp4bWxu czptPTNEImh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vb2ZmaWNlLzIwMDQvMTIvb21tbCIg PQp4bWxucz0zRCJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwIj48aGVhZD48TUVUQSA9 CkhUVFAtRVFVSVY9M0QiQ29udGVudC1UeXBlIiBDT05URU5UPTNEInRleHQvaHRtbDsgPQpjaGFy c2V0PTNEdXMtYXNjaWkiPjxtZXRhIG5hbWU9M0RHZW5lcmF0b3IgY29udGVudD0zRCJNaWNyb3Nv ZnQgV29yZCAxNCA9CihmaWx0ZXJlZCBtZWRpdW0pIj48c3R5bGU+PCEtLQovKiBGb250IERlZmlu aXRpb25zICovCkBmb250LWZhY2UKCXtmb250LWZhbWlseTpDYWxpYnJpOwoJcGFub3NlLTE6MiAx NSA1IDIgMiAyIDQgMyAyIDQ7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6VGFob21hOwoJcGFu b3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6Q29u c29sYXM7CglwYW5vc2UtMToyIDExIDYgOSAyIDIgNCAzIDIgNDt9CkBmb250LWZhY2UKCXtmb250 LWZhbWlseToiQ2VudHVyeSBHb3RoaWMiOwoJcGFub3NlLTE6MiAxMSA1IDIgMiAyIDIgMiAyIDQ7 fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6IkNlbnR1cnkgR290aGljIFwsIHNhbnMtc2VyaWYi O30KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2 Lk1zb05vcm1hbAoJe21hcmdpbjowaW47CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cglmb250LXNp emU6MTIuMHB0OwoJZm9udC1mYW1pbHk6IlRpbWVzIE5ldyBSb21hbiIsInNlcmlmIjsKCWNvbG9y OmJsYWNrO30KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluawoJe21zby1zdHlsZS1wcmlvcml0eTo5 OTsKCWNvbG9yOmJsdWU7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30KYTp2aXNpdGVkLCBz cGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJY29sb3I6 cHVycGxlOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CnByZQoJe21zby1zdHlsZS1wcmlv cml0eTo5OTsKCW1zby1zdHlsZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFyIjsKCW1hcmdp bjowaW47CgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7Cglmb250LXNpemU6MTAuMHB0OwoJZm9udC1m YW1pbHk6IkNvdXJpZXIgTmV3IjsKCWNvbG9yOmJsYWNrO30KcC5Nc29BY2V0YXRlLCBsaS5Nc29B Y2V0YXRlLCBkaXYuTXNvQWNldGF0ZQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCW1zby1zdHls ZS1saW5rOiJCYWxsb29uIFRleHQgQ2hhciI7CgltYXJnaW46MGluOwoJbWFyZ2luLWJvdHRvbTou MDAwMXB0OwoJZm9udC1zaXplOjguMHB0OwoJZm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2Vy aWYiOwoJY29sb3I6YmxhY2s7fQpzcGFuLkhUTUxQcmVmb3JtYXR0ZWRDaGFyCgl7bXNvLXN0eWxl LW5hbWU6IkhUTUwgUHJlZm9ybWF0dGVkIENoYXIiOwoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJ bXNvLXN0eWxlLWxpbms6IkhUTUwgUHJlZm9ybWF0dGVkIjsKCWZvbnQtZmFtaWx5OkNvbnNvbGFz OwoJY29sb3I6YmxhY2s7fQpzcGFuLkVtYWlsU3R5bGUxOQoJe21zby1zdHlsZS10eXBlOnBlcnNv bmFsOwoJZm9udC1mYW1pbHk6IkNlbnR1cnkgR290aGljIiwic2Fucy1zZXJpZiI7Cgljb2xvcjp3 aW5kb3d0ZXh0O30Kc3Bhbi5FbWFpbFN0eWxlMjAKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsK CWZvbnQtZmFtaWx5OiJDZW50dXJ5IEdvdGhpYyIsInNhbnMtc2VyaWYiOwoJY29sb3I6Ymx1ZTt9 CnNwYW4uRW1haWxTdHlsZTIxCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7Cglmb250 LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiOwoJY29sb3I6IzFGNDk3RDt9CnNwYW4uQmFs bG9vblRleHRDaGFyCgl7bXNvLXN0eWxlLW5hbWU6IkJhbGxvb24gVGV4dCBDaGFyIjsKCW1zby1z dHlsZS1wcmlvcml0eTo5OTsKCW1zby1zdHlsZS1saW5rOiJCYWxsb29uIFRleHQiOwoJZm9udC1m YW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiOwoJY29sb3I6YmxhY2s7fQouTXNvQ2hwRGVmYXVs dAoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5OwoJZm9udC1zaXplOjEwLjBwdDt9CkBwYWdl IFdvcmRTZWN0aW9uMQoJe3NpemU6OC41aW4gMTEuMGluOwoJbWFyZ2luOjEuMGluIDEuMGluIDEu MGluIDEuMGluO30KZGl2LldvcmRTZWN0aW9uMQoJe3BhZ2U6V29yZFNlY3Rpb24xO30KLS0+PC9z dHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0zRCJl ZGl0IiBzcGlkbWF4PTNEIjEwMjYiIC8+CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1z byA5XT48eG1sPgo8bzpzaGFwZWxheW91dCB2OmV4dD0zRCJlZGl0Ij4KPG86aWRtYXAgdjpleHQ9 M0QiZWRpdCIgZGF0YT0zRCIxIiAvPgo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+ PC9oZWFkPjxib2R5IGJnY29sb3I9M0R3aGl0ZSA9Cmxhbmc9M0RFTi1VUyBsaW5rPTNEYmx1ZSB2 bGluaz0zRHB1cnBsZT48ZGl2IGNsYXNzPTNEV29yZFNlY3Rpb24xPjxwID0KY2xhc3M9M0RNc29O b3JtYWw+PHNwYW4gPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxp YnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3PQpEJz5JIGhhdmUgdHdvIG5vZGVzIHJ1bm5p bmcgdGhlIGhvc3RlZCBlbmdpbmUgYW5kIGdsdXN0ZXIgc2V0dXAgZm9yID0KcmVwbGljYXRlIGJl dHdlZW4gdGhlbS4gTW91bnRpbmcgdG8gbG9jYWxob3N0IHNlZW1zIHRvIGJlIHdvcmtpbmcgc28g PQpmYXIuIEkgaGF2ZSBsaXZlIG1pZ3JhdGVkIHRoZSBlbmdpbmUsIHB1bGxlZCB0aGUgcGx1ZyBv biBhIHJ1bm5pbmcgbm9kZSwgPQphbmQgcmVib290ZWQgZWFjaCBub2RlIHRvIGVuc3VyZSBpdCBh bGwgd29ya3MgcHJvcGVybHkuIEkgaGF2ZSBoYWQgZmV3ID0KaXNzdWVzIHdpdGggdGhpcyBzZXR1 cC4gSSBkaWRuJiM4MjE3O3QgbGlrZSBjdGRiIGJlY2F1c2UgaXQgYWRkcyBhbm90aGVyID0KbGF5 ZXIgb2YgY29tcGxleGl0eSB0aGF0IGlzIHVubmVjZXNzYXJ5IGZvciBNWSA9CnNldHVwLjxvOnA+ PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9CnN0eWxlPTNEJ2Zv bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjoj MUY0OTc9CkQnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1h bD48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmki LCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTc9CkQnPk5vZGUxIGdsdXN0ZXIgZHJpdmUgb24gc2Ri IDxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxzcGFuID0Kc3R5 bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYi O2NvbG9yOiMxRjQ5Nz0KRCc+Tm9kZTIgZ2x1c3RlciBkcml2ZSBvbiBzZGI8bzpwPjwvbzpwPjwv c3Bhbj48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTc9 CkQnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3Bh biA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5z LXNlcmlmIjtjb2xvcjojMUY0OTc9CkQnPkJvdGggcmVwbGljYXRlIGFuZCBhcmUgdGhlIHNhbWUg bWFrZSBhbmQgbW9kZWwgZHJpdmUuID0KPG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNE TXNvTm9ybWFsPjxzcGFuID0Kc3R5bGU9M0QnZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseToi Q2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5Nz0KRCc+PG86cD4mbmJzcDs8L286cD48 L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxzcGFuID0Kc3R5bGU9M0QnZm9udC1zaXpl OjExLjBwdDtmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5Nz0K RCc+b3ZpcnQtaGEgcnVubmluZyBvbiBib3RoIGZvciBob3N0ZWQtZW5naW5lPG86cD48L286cD48 L3NwYW4+PC9wPjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpzdHlsZT0zRCdmb250LXNp emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3 PQpEJz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PHNw YW4gPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fu cy1zZXJpZiI7Y29sb3I6IzFGNDk3PQpEJz5UaGlzIHNldHVwIGlzIGZvciBob3N0ZWQgZW5naW5l IG9ubHksIG15IGFjdHVhbCBzdG9yYWdlIGZvciA9ClZNJiM4MjE3O3MgYW5kIHdoYXQgbm90IGRv IG5vdCBydW4gaW4gdGhpcyBmYXNoaW9uLiA9CjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFz cz0zRE1zb05vcm1hbD48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p bHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTc9CkQnPjxvOnA+Jm5ic3A7PC9v OnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQt c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0 OTc9CkQnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48 c3BhbiA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJz YW5zLXNlcmlmIjtjb2xvcjojMUY0OTc9CkQnPkhvcGUgVGhpcyBoZWxwczxvOnA+PC9vOnA+PC9z cGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZTox MS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjtjb2xvcjojMUY0OTc9CkQn PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9 CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNl cmlmIjtjb2xvcjojMUY0OTc9CkQnPkRvbm55IEQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xh c3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpzdHlsZT0zRCdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt aWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Y29sb3I6IzFGNDk3PQpEJz48bzpwPiZuYnNwOzwv bzpwPjwvc3Bhbj48L3A+PGRpdj48ZGl2ID0Kc3R5bGU9M0QnYm9yZGVyOm5vbmU7Ym9yZGVyLXRv cDpzb2xpZCAjQjVDNERGIDEuMHB0O3BhZGRpbmc6My4wcHQgMGluID0KMGluIDBpbic+PHAgY2xh c3M9M0RNc29Ob3JtYWw+PGI+PHNwYW4gPQpzdHlsZT0zRCdmb250LXNpemU6MTAuMHB0O2ZvbnQt ZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNlcmlmIjtjb2xvcjp3aW5kb3d0PQpleHQnPkZyb206PC9z cGFuPjwvYj48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRh aG9tYSIsInNhbnMtc2VyaWYiO2NvbG9yOndpbmRvd3Q9CmV4dCc+IHVzZXJzLWJvdW5jZXNAb3Zp cnQub3JnIFttYWlsdG86dXNlcnMtYm91bmNlc0BvdmlydC5vcmddIDxiPk9uID0KQmVoYWxmIE9m IDwvYj5Hcm90ZW4sIFJ5YW48YnI+PGI+U2VudDo8L2I+IFdlZG5lc2RheSwgRmVicnVhcnkgNCwg MjAxNSA9CjEwOjExIEFNPGJyPjxiPlRvOjwvYj4gU2FoaW5hIEJvc2U7IHVzZXJzQG92aXJ0Lm9y Zzxicj48Yj5TdWJqZWN0OjwvYj4gPQpSZTogW292aXJ0LXVzZXJzXSBIZWxwIHVuZGVyc3RhbmRp bmcgR2x1c3RlciBpbiA9Cm9WaXJ0PG86cD48L286cD48L3NwYW4+PC9wPjwvZGl2PjwvZGl2Pjxw ID0KY2xhc3M9M0RNc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PHAgY2xhc3M9M0RNc29O b3JtYWw+PHNwYW4gPQpzdHlsZT0zRCdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDZW50 dXJ5ID0KR290aGljIiwic2Fucy1zZXJpZiI7Y29sb3I6Ymx1ZSc+Tm9wZSBpbiBmYWN0IEkgZm9s bG93ZWQgdGhlIGd1aWRlIGFuZCA9CmZvdW5kIENUREIgd29ya3MgcXVpdGUgd2VsbC4mbmJzcDsg SSBhbSBqdXN0IHRyeWluZyB0byBmaWd1cmUgb3V0IHRoZSA9CmJlbmVmaXQgYmVjYXVzZSB0aGF0 IHdvdWxkIGJlIGFub3RoZXIgY29tcG9uZW50IHRvIGNvbnNpZGVyIGluIHRoZSA9CmFyY2hpdGVj dHVyZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+PGEgPQpuYW1l PTNEIl9NYWlsRW5kQ29tcG9zZSI+PC9hPjxzcGFuID0Kc3R5bGU9M0QnZm9udC1zaXplOjEwLjBw dDtmb250LWZhbWlseToiQ2VudHVyeSA9CkdvdGhpYyIsInNhbnMtc2VyaWYiO2NvbG9yOmJsdWUn PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48ZGl2PjxkaXYgPQpzdHlsZT0zRCdib3JkZXI6 bm9uZTtib3JkZXItdG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gPQow aW4gMGluJz48cCBjbGFzcz0zRE1zb05vcm1hbD48Yj48c3BhbiA9CnN0eWxlPTNEJ2ZvbnQtc2l6 ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiO2NvbG9yOndpbmRvd3Q9 CmV4dCc+RnJvbTo8L3NwYW4+PC9iPjxzcGFuID0Kc3R5bGU9M0QnZm9udC1zaXplOjEwLjBwdDtm b250LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiI7Y29sb3I6d2luZG93dD0KZXh0Jz4gU2Fo aW5hIEJvc2UgWzxhID0KaHJlZj0zRCJtYWlsdG86c2Fib3NlQHJlZGhhdC5jb20iPm1haWx0bzpz YWJvc2VAcmVkaGF0LmNvbTwvYT5dID0KPGJyPjxiPlNlbnQ6PC9iPiBUdWVzZGF5LCBGZWJydWFy eSAwMywgMjAxNSA0OjA5IEFNPGJyPjxiPlRvOjwvYj4gPQpHcm90ZW4sIFJ5YW47IDxhID0KaHJl Zj0zRCJtYWlsdG86dXNlcnNAb3ZpcnQub3JnIj51c2Vyc0BvdmlydC5vcmc8L2E+PGJyPjxiPlN1 YmplY3Q6PC9iPiA9ClJlOiBbb3ZpcnQtdXNlcnNdIEhlbHAgdW5kZXJzdGFuZGluZyBHbHVzdGVy IGluID0Kb1ZpcnQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+PC9kaXY+PC9kaXY+PHAgPQpjbGFzcz0z RE1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCA9CmNsYXNzPTNETXNvTm9ybWFsPjxv OnA+Jm5ic3A7PC9vOnA+PC9wPjxkaXY+PHAgY2xhc3M9M0RNc29Ob3JtYWw+T24gPQowMS8yOC8y MDE1IDA4OjU5IEFNLCBHcm90ZW4sIFJ5YW4gd3JvdGU6PG86cD48L286cD48L3A+PC9kaXY+PGJs b2NrcXVvdGUgPQpzdHlsZT0zRCdtYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1ib3R0b206NS4wcHQn PjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gc3R5bGU9M0QnZm9udC1zaXplOjEwLjBwdDtm b250LWZhbWlseToiQ2VudHVyeSA9CkdvdGhpYyBcLCBzYW5zLXNlcmlmIic+SSB3YXMgcGxhbm5p bmcgb24gbWFraW5nIGEgR2x1c3RlciBEYXRhIGRvbWFpbiB0byA9CnRlc3QsIGFuZCBmb3VuZCBz b21lIGdyZWF0IGluZm9ybWF0aW9uIG9uIHRoaXMgcGFnZTogPGEgPQpocmVmPTNEImh0dHA6Ly9j b21tdW5pdHkucmVkaGF0LmNvbS9ibG9nLzIwMTQvMDUvb3ZpcnQtMy00LWdsdXN0ZXJpemVkLyI+ PQpodHRwOi8vY29tbXVuaXR5LnJlZGhhdC5jb20vYmxvZy8yMDE0LzA1L292aXJ0LTMtNC1nbHVz dGVyaXplZC88L2E+PC9zcGFuPQo+PG86cD48L286cD48L3A+PHAgY2xhc3M9M0RNc29Ob3JtYWw+ PHNwYW4gPQpzdHlsZT0zRCdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDZW50dXJ5IEdv dGhpYyBcLCA9CnNhbnMtc2VyaWYiJz5UaGUgYXJ0aWNsZSB0aGUgYXV0aG9yIHVzZXMgdGhlIENU REIgc2VydmljZSBmb3IgVklQID0KZmFpbG92ZXIuJm5ic3A7IElzIGl0IHBvc3NpYmxlL3JlY29t bWVuZGVkIHRvIG5vdCBkbyB0aGlzLCBhbmQganVzdCA9CmNyZWF0ZSBhIGdsdXN0ZXIgdm9sdW1l IG9uIGFsbCB0aGUgaG9zdHMgaW4gYSBjbHVzdGVyLCB0aGVuIGNyZWF0ZSB0aGUgPQpHbHVzdGVy IGRhdGEgZG9tYWluIGFzID0KbG9jYWxob3N0OiZsdDtnbHVzdGVyX3ZvbCZndDs/PC9zcGFuPjxv OnA+PC9vOnA+PC9wPjwvYmxvY2txdW90ZT48cCA9CmNsYXNzPTNETXNvTm9ybWFsIHN0eWxlPTNE J21hcmdpbi1ib3R0b206MTIuMHB0Jz48YnI+VGhlb3JldGljYWxseSwgaXQgPQpzaG91bGQgd29y ayAtIGlmIHlvdSBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBhIHJlcGxpY2EgMyBnbHVzdGVyIHZv bHVtZSA9CnNwcmVhZCBhY3Jvc3MgMyBub2RlcywgYW5kIHRoZXNlIDMgbm9kZXMgYXJlIHlvdXIg Y29tcHV0ZSBub2RlcyBhcyB3ZWxsID0KLSB5b3Ugc2hvdWxkIGJlIGZpbmUgd2l0aG91dCBDVERC IHNldHVwIGZvciBmYWlsb3ZlciBhbmQgbW91bnRpbmcgYXMgPQpsb2NhbGhvc3QuPGJyPjxicj5C dXQgSSd2ZSBub3QgdHJpZWQgdGhpcyB0byByZWNvbW1lbmQgaXQuIE1heWJlIGlmID0Kb3RoZXJz IGhhdmUgdHJpZWQgaXQsIHRoZXkgY2FuIGNoaW1lIGluPzxicj48YnI+QnR3LCBpcyB0aGVyZSBh bnkgcmVhc29uID0KeW91IGRvIG5vdCB3YW50IHRvIHNldCB1cCBDVERCPzxicj48YnI+PG86cD48 L286cD48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48c3BhbiBzdHlsZT0zRCdmb250LXNpemU6 MTAuMHB0O2ZvbnQtZmFtaWx5OiJDZW50dXJ5ID0KR290aGljIFwsIHNhbnMtc2VyaWYiJz4mbmJz cDs8L3NwYW4+PG86cD48L286cD48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48c3BhbiBzdHls ZT0zRCdmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiJDZW50dXJ5ID0KR290aGljIFwsIHNh bnMtc2VyaWYiJz5UaGFua3MsPC9zcGFuPjxvOnA+PC9vOnA+PC9wPjxwID0KY2xhc3M9M0RNc29O b3JtYWw+PHNwYW4gc3R5bGU9M0QnZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseToiQ2VudHVy eSA9CkdvdGhpYyBcLCBzYW5zLXNlcmlmIic+Unlhbjwvc3Bhbj48bzpwPjwvbzpwPjwvcD48cCBj bGFzcz0zRE1zb05vcm1hbCA9CnN0eWxlPTNEJ21hcmdpbi1ib3R0b206MTIuMHB0Jz5UaFRoPGJy Pjxicj48bzpwPjwvbzpwPjwvcD48cHJlPl9fX19fX19fX189Cl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX188bzpwPjwvbzpwPjwvcHJlPjxwcmU+VXNlcnMgbWFpbGluZyA9Cmxp c3Q8bzpwPjwvbzpwPjwvcHJlPjxwcmU+PGEgPQpocmVmPTNEIm1haWx0bzpVc2Vyc0BvdmlydC5v cmciPlVzZXJzQG92aXJ0Lm9yZzwvYT48bzpwPjwvbzpwPjwvcHJlPjxwcmU+PQo8YSA9CmhyZWY9 M0QiaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzIj5odHRwOi8v bGlzdHMub3ZpcnQ9Ci5vcmcvbWFpbG1hbi9saXN0aW5mby91c2VyczwvYT48bzpwPjwvbzpwPjwv cHJlPjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+PG86cD4mbmJzcDs8L286cD48L3A+PC9kaXY+PC9i b2R5PjwvaHRtbD4KLS0tLS0tPV9OZXh0UGFydF8wMDBfMDAyQ18wMUQwNDA2Qi5DN0Q2NjdFMC0t Cgo= --===============7919194585242576978==--