From Cong_Yue at alliedtelesis.com Thu Jan 15 12:57:32 2015 Content-Type: multipart/mixed; boundary="===============4774520086493254895==" MIME-Version: 1.0 From: Yue, Cong To: users at ovirt.org Subject: [ovirt-users] Performance issue for GlusterFS as the block storage for VMs Date: Thu, 15 Jan 2015 09:57:23 -0800 Message-ID: --===============4774520086493254895== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --_000_ED08B56256B38842A463A2A0804C5AC0326B0A4595svrcaexch1atg_ Content-Type: text/plain; charset=3D"us-ascii" Content-Transfer-Encoding: quoted-printable Hi I have one question about whether GlusterFS is the suitable solution to be = =3D used as the block storage for VMs. The failure tolerant and scalability is good for GlusterFS, but in my test,= =3D it seems the iops is pretty bad. In some blog, it said, it is even with wo= =3D rse performance than normal NFS. Should I use iscsi+drbd for the block storage for VMs. Can somebody give some advice for this? Thanks, Cong ________________________________ This e-mail message is for the sole use of the intended recipient(s) and ma= =3D y contain confidential and privileged information. Any unauthorized review,= =3D use, disclosure or distribution is prohibited. If you are not the intended= =3D recipient, please contact the sender by reply e-mail and destroy all copie= =3D s of the original message. If you are the intended recipient, please be adv= =3D ised that the content of this message is subject to access, review and disc= =3D losure by the sender's e-mail System Administrator. --_000_ED08B56256B38842A463A2A0804C5AC0326B0A4595svrcaexch1atg_ Content-Type: text/html; charset=3D"us-ascii" Content-Transfer-Encoding: quoted-printable

Hi

 

I have one question about whether GlusterFS is the= s=3D uitable solution to be used as the block storage for VMs.

The failure tolerant and scalability is good for G= lu=3D sterFS, but in my test, it seems the iops is pretty bad. In some blog, it s= =3D aid, it is even with worse performance than normal NFS.

Should I use iscsi+drbd for the block storage = fo=3D r VMs.

Can somebody give some advice for this? <=3D /p>

 

Thanks,
Cong



This e-mail message is= for t=3D he sole use of the intended recipient(s) and may contain confidential and p= =3D rivileged information. Any unauthorized review, use, disclosure or distribu= =3D tion is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy = =3D all copies of the original message. If you are the intended recipient, plea= =3D se be advised that the content of this message is subject to access, review= =3D and disclosure by the sender's e-mail System Administrator.
--_000_ED08B56256B38842A463A2A0804C5AC0326B0A4595svrcaexch1atg_-- --===============4774520086493254895== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS1fMDAwX0VEMDhCNTYyNTZCMzg4NDJBNDYzQTJBMDgwNEM1QUMwMzI2QjBBNDU5NXN2cmNhZXhj aDFhdGdfCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0idXMtYXNjaWkiCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKCkhpCgpJIGhhdmUgb25lIHF1 ZXN0aW9uIGFib3V0IHdoZXRoZXIgR2x1c3RlckZTIGlzIHRoZSBzdWl0YWJsZSBzb2x1dGlvbiB0 byBiZSA9CnVzZWQgYXMgdGhlIGJsb2NrIHN0b3JhZ2UgZm9yIFZNcy4KVGhlIGZhaWx1cmUgdG9s ZXJhbnQgYW5kIHNjYWxhYmlsaXR5IGlzIGdvb2QgZm9yIEdsdXN0ZXJGUywgYnV0IGluIG15IHRl c3QsPQogaXQgc2VlbXMgdGhlIGlvcHMgaXMgcHJldHR5IGJhZC4gSW4gc29tZSBibG9nLCBpdCBz YWlkLCBpdCBpcyBldmVuIHdpdGggd289CnJzZSBwZXJmb3JtYW5jZSB0aGFuIG5vcm1hbCBORlMu ClNob3VsZCBJIHVzZSBpc2NzaStkcmJkIGZvciB0aGUgYmxvY2sgc3RvcmFnZSBmb3IgVk1zLgpD YW4gc29tZWJvZHkgZ2l2ZSBzb21lIGFkdmljZSBmb3IgdGhpcz8KClRoYW5rcywKQ29uZwoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVGhpcyBlLW1haWwgbWVzc2FnZSBpcyBmb3Ig dGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykgYW5kIG1hPQp5IGNvbnRh aW4gY29uZmlkZW50aWFsIGFuZCBwcml2aWxlZ2VkIGluZm9ybWF0aW9uLiBBbnkgdW5hdXRob3Jp emVkIHJldmlldyw9CiB1c2UsIGRpc2Nsb3N1cmUgb3IgZGlzdHJpYnV0aW9uIGlzIHByb2hpYml0 ZWQuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZD0KIHJlY2lwaWVudCwgcGxlYXNlIGNvbnRh Y3QgdGhlIHNlbmRlciBieSByZXBseSBlLW1haWwgYW5kIGRlc3Ryb3kgYWxsIGNvcGllPQpzIG9m IHRoZSBvcmlnaW5hbCBtZXNzYWdlLiBJZiB5b3UgYXJlIHRoZSBpbnRlbmRlZCByZWNpcGllbnQs IHBsZWFzZSBiZSBhZHY9CmlzZWQgdGhhdCB0aGUgY29udGVudCBvZiB0aGlzIG1lc3NhZ2UgaXMg c3ViamVjdCB0byBhY2Nlc3MsIHJldmlldyBhbmQgZGlzYz0KbG9zdXJlIGJ5IHRoZSBzZW5kZXIn cyBlLW1haWwgU3lzdGVtIEFkbWluaXN0cmF0b3IuCgotLV8wMDBfRUQwOEI1NjI1NkIzODg0MkE0 NjNBMkEwODA0QzVBQzAzMjZCMEE0NTk1c3ZyY2FleGNoMWF0Z18KQ29udGVudC1UeXBlOiB0ZXh0 L2h0bWw7IGNoYXJzZXQ9InVzLWFzY2lpIgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90 ZWQtcHJpbnRhYmxlCgo8aHRtbCB4bWxuczp2PTNEInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206 dm1sIiB4bWxuczpvPTNEInVybjpzY2hlbWFzLW1pY3I9Cm9zb2Z0LWNvbTpvZmZpY2U6b2ZmaWNl IiB4bWxuczp3PTNEInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOndvcmQiID0KeG1s bnM6bT0zRCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwi IHhtbG5zPTNEImh0dHA6PQovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+CjxoZWFkPgo8bWV0 YSBodHRwLWVxdWl2PTNEIkNvbnRlbnQtVHlwZSIgY29udGVudD0zRCJ0ZXh0L2h0bWw7IGNoYXJz ZXQ9M0R1cy1hc2NpaSI9Cj4KPG1ldGEgbmFtZT0zRCJHZW5lcmF0b3IiIGNvbnRlbnQ9M0QiTWlj cm9zb2Z0IFdvcmQgMTQgKGZpbHRlcmVkIG1lZGl1bSkiPgo8c3R5bGU+PCEtLQovKiBGb250IERl ZmluaXRpb25zICovCkBmb250LWZhY2UKCXtmb250LWZhbWlseTpTaW1TdW47CglwYW5vc2UtMToy IDEgNiAwIDMgMSAxIDEgMSAxO30KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1h dGgiOwoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9CkBmb250LWZhY2UKCXtmb250LWZh bWlseTpDYWxpYnJpOwoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQpAZm9udC1mYWNl Cgl7Zm9udC1mYW1pbHk6VGFob21hOwoJcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7fQpA Zm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6IlxAU2ltU3VuIjsKCXBhbm9zZS0xOjIgMSA2IDAgMyAx IDEgMSAxIDE7fQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLwpwLk1zb05vcm1hbCwgbGkuTXNvTm9y bWFsLCBkaXYuTXNvTm9ybWFsCgl7bWFyZ2luOjBpbjsKCW1hcmdpbi1ib3R0b206LjAwMDFwdDsK CWZvbnQtc2l6ZToxMS4wcHQ7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO30K YTpsaW5rLCBzcGFuLk1zb0h5cGVybGluawoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsKCWNvbG9y OmJsdWU7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30KYTp2aXNpdGVkLCBzcGFuLk1zb0h5 cGVybGlua0ZvbGxvd2VkCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJY29sb3I6cHVycGxlOwoJ dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CnAuTXNvQWNldGF0ZSwgbGkuTXNvQWNldGF0ZSwg ZGl2Lk1zb0FjZXRhdGUKCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7Cgltc28tc3R5bGUtbGluazoi QmFsbG9vbiBUZXh0IENoYXIiOwoJbWFyZ2luOjBpbjsKCW1hcmdpbi1ib3R0b206LjAwMDFwdDsK CWZvbnQtc2l6ZTo4LjBwdDsKCWZvbnQtZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNlcmlmIjt9CnNw YW4uRW1haWxTdHlsZTE3Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtY29tcG9zZTsKCWZvbnQt ZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7Cgljb2xvcjp3aW5kb3d0ZXh0O30Kc3Bhbi5C YWxsb29uVGV4dENoYXIKCXttc28tc3R5bGUtbmFtZToiQmFsbG9vbiBUZXh0IENoYXIiOwoJbXNv LXN0eWxlLXByaW9yaXR5Ojk5OwoJbXNvLXN0eWxlLWxpbms6IkJhbGxvb24gVGV4dCI7Cglmb250 LWZhbWlseToiVGFob21hIiwic2Fucy1zZXJpZiI7fQouTXNvQ2hwRGVmYXVsdAoJe21zby1zdHls ZS10eXBlOmV4cG9ydC1vbmx5OwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLCJzYW5zLXNlcmlmIjt9 CkBwYWdlIFdvcmRTZWN0aW9uMQoJe3NpemU6OC41aW4gMTEuMGluOwoJbWFyZ2luOjEuMGluIDEu MGluIDEuMGluIDEuMGluO30KZGl2LldvcmRTZWN0aW9uMQoJe3BhZ2U6V29yZFNlY3Rpb24xO30K LS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KPG86c2hhcGVkZWZhdWx0cyB2OmV4 dD0zRCJlZGl0IiBzcGlkbWF4PTNEIjEwMjYiIC8+CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYg Z3RlIG1zbyA5XT48eG1sPgo8bzpzaGFwZWxheW91dCB2OmV4dD0zRCJlZGl0Ij4KPG86aWRtYXAg djpleHQ9M0QiZWRpdCIgZGF0YT0zRCIxIiAvPgo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5k aWZdLS0+CjwvaGVhZD4KPGJvZHkgbGFuZz0zRCJFTi1VUyIgbGluaz0zRCJibHVlIiB2bGluaz0z RCJwdXJwbGUiPgo8ZGl2IGNsYXNzPTNEIldvcmRTZWN0aW9uMSI+CjxwIGNsYXNzPTNEIk1zb05v cm1hbCI+SGkgPG86cD48L286cD48L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCI+PG86cD4mbmJz cDs8L286cD48L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCI+SSBoYXZlIG9uZSBxdWVzdGlvbiBh Ym91dCB3aGV0aGVyIEdsdXN0ZXJGUyBpcyB0aGUgcz0KdWl0YWJsZSBzb2x1dGlvbiB0byBiZSB1 c2VkIGFzIHRoZSBibG9jayBzdG9yYWdlIGZvciBWTXMuPG86cD48L286cD48L3A+CjxwIGNsYXNz PTNEIk1zb05vcm1hbCI+VGhlIGZhaWx1cmUgdG9sZXJhbnQgYW5kIHNjYWxhYmlsaXR5IGlzIGdv b2QgZm9yIEdsdT0Kc3RlckZTLCBidXQgaW4gbXkgdGVzdCwgaXQgc2VlbXMgdGhlIGlvcHMgaXMg cHJldHR5IGJhZC4gSW4gc29tZSBibG9nLCBpdCBzPQphaWQsIGl0IGlzIGV2ZW4gd2l0aCB3b3Jz ZSBwZXJmb3JtYW5jZSB0aGFuIG5vcm1hbCBORlMuPG86cD48L286cD48L3A+CjxwIGNsYXNzPTNE Ik1zb05vcm1hbCI+U2hvdWxkIEkgdXNlIGlzY3NpJiM0MztkcmJkIGZvciB0aGUgYmxvY2sgc3Rv cmFnZSBmbz0KciBWTXMuPG86cD48L286cD48L3A+CjxwIGNsYXNzPTNEIk1zb05vcm1hbCI+Q2Fu IHNvbWVib2R5IGdpdmUgc29tZSBhZHZpY2UgZm9yIHRoaXM/IDxvOnA+PC9vOnA+PD0KL3A+Cjxw IGNsYXNzPTNEIk1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPTNEIk1z b05vcm1hbCI+VGhhbmtzLDxicj4KQ29uZzxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPGJyPgo8aHI+ Cjxmb250IGZhY2U9M0QiQXJpYWwiIGNvbG9yPTNEIkdyYXkiIHNpemU9M0QiMSI+VGhpcyBlLW1h aWwgbWVzc2FnZSBpcyBmb3IgdD0KaGUgc29sZSB1c2Ugb2YgdGhlIGludGVuZGVkIHJlY2lwaWVu dChzKSBhbmQgbWF5IGNvbnRhaW4gY29uZmlkZW50aWFsIGFuZCBwPQpyaXZpbGVnZWQgaW5mb3Jt YXRpb24uIEFueSB1bmF1dGhvcml6ZWQgcmV2aWV3LCB1c2UsIGRpc2Nsb3N1cmUgb3IgZGlzdHJp YnU9CnRpb24gaXMgcHJvaGliaXRlZC4gSWYgeW91IGFyZSBub3QgdGhlCiBpbnRlbmRlZCByZWNp cGllbnQsIHBsZWFzZSBjb250YWN0IHRoZSBzZW5kZXIgYnkgcmVwbHkgZS1tYWlsIGFuZCBkZXN0 cm95ID0KYWxsIGNvcGllcyBvZiB0aGUgb3JpZ2luYWwgbWVzc2FnZS4gSWYgeW91IGFyZSB0aGUg aW50ZW5kZWQgcmVjaXBpZW50LCBwbGVhPQpzZSBiZSBhZHZpc2VkIHRoYXQgdGhlIGNvbnRlbnQg b2YgdGhpcyBtZXNzYWdlIGlzIHN1YmplY3QgdG8gYWNjZXNzLCByZXZpZXc9CiBhbmQgZGlzY2xv c3VyZSBieSB0aGUgc2VuZGVyJ3MKIGUtbWFpbCBTeXN0ZW0gQWRtaW5pc3RyYXRvci48YnI+Cjwv Zm9udD4KPC9ib2R5Pgo8L2h0bWw+CgotLV8wMDBfRUQwOEI1NjI1NkIzODg0MkE0NjNBMkEwODA0 QzVBQzAzMjZCMEE0NTk1c3ZyY2FleGNoMWF0Z18tLQo= --===============4774520086493254895==-- From donny at cloudspin.me Thu Jan 15 13:27:53 2015 Content-Type: multipart/mixed; boundary="===============3545577307598940652==" MIME-Version: 1.0 From: Donny Davis To: users at ovirt.org Subject: Re: [ovirt-users] Performance issue for GlusterFS as the block storage for VMs Date: Thu, 15 Jan 2015 11:26:51 -0700 Message-ID: <005a01d030f0$d69b2340$83d169c0$@cloudspin.me> In-Reply-To: ED08B56256B38842A463A2A0804C5AC0326B0A4595@svr-ca-exch1.atg.lc --===============3545577307598940652== 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_005B_01D030B6.2A3EBC40 Content-Type: text/plain; charset=3D"us-ascii" Content-Transfer-Encoding: 7bit Do you have any metrics to give an idea of the difference. I am using NFS right now, and I am migrating to Gluster. I have the gluster system up, and I see that it seems to provision disks faster than my NFS. I haven't used any real measurement tools to get actual metrics, this is all perceived. = = Do you have an operational gluster? Do what are you using right now? = Donny D cloudspin.me = From: users-bounces(a)ovirt.org [mailto:users-bounces(a)ovirt.org] On Behal= f Of Yue, Cong Sent: Thursday, January 15, 2015 10:57 AM To: users(a)ovirt.org Subject: [ovirt-users] Performance issue for GlusterFS as the block storage for VMs = Hi = = I have one question about whether GlusterFS is the suitable solution to be used as the block storage for VMs. The failure tolerant and scalability is good for GlusterFS, but in my test, it seems the iops is pretty bad. In some blog, it said, it is even with worse performance than normal NFS. Should I use iscsi+drbd for the block storage for VMs. Can somebody give some advice for this? = = Thanks, Cong = _____ = This e-mail message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. If you are the intended recipient, please be advised that the content of this message is subject to access, review and disclosure by the sender's e-mail System Administrator. ------=3D_NextPart_000_005B_01D030B6.2A3EBC40 Content-Type: text/html; charset=3D"us-ascii" Content-Transfer-Encoding: quoted-printable

Do you have any metrics to give an idea of the = =3D difference. I am using NFS right now, and I am migrating to Gluster. I =3D have the gluster system up, and I see that it seems to provision disks =3D faster than my NFS. I haven’t used any real measurement tools to =3D get actual metrics, this is all perceived.

 

Do you have an =3D operational gluster?

Do what are you using right =3D now?

 

Donny =3D D

cloudspin.me

 

From:= =3D = =3D users-bounces(a)ovirt.org [mailto:users-bounces(a)ovirt.org] On Behalf O= f =3D Yue, Cong
Sent: Thursday, January 15, 2015 10:57 =3D AM
To: users(a)ovirt.org
Subject: [ovirt-users] =3D Performance issue for GlusterFS as the block storage for =3D VMs

 

Hi =3D

 

I have one question about whether GlusterFS is the =3D suitable solution to be used as the block storage for =3D VMs.

The failure tolerant and =3D scalability is good for GlusterFS, but in my test, it seems the iops is =3D pretty bad. In some blog, it said, it is even with worse performance =3D than normal NFS.

Should I use =3D iscsi+drbd for the block storage for VMs.

Can somebody give some advice for this? =3D

 

Thanks,
Cong

 


Thi= =3D s e-mail message is for the sole use of the intended recipient(s) and =3D may contain confidential and privileged information. Any unauthorized =3D review, use, disclosure or distribution is prohibited. If you are not =3D the intended recipient, please contact the sender by reply e-mail and =3D destroy all copies of the original message. If you are the intended =3D recipient, please be advised that the content of this message is subject = =3D to access, review and disclosure by the sender's e-mail System =3D Administrator.

------=3D_NextPart_000_005B_01D030B6.2A3EBC40-- --===============3545577307598940652== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpcGFydCBtZXNzYWdlIGluIE1JTUUgZm9ybWF0LgoKLS0tLS0tPV9OZXh0 UGFydF8wMDBfMDA1Ql8wMUQwMzBCNi4yQTNFQkM0MApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47 CgljaGFyc2V0PSJ1cy1hc2NpaSIKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAoKRG8g eW91IGhhdmUgYW55IG1ldHJpY3MgdG8gZ2l2ZSBhbiBpZGVhIG9mIHRoZSBkaWZmZXJlbmNlLiBJ IGFtIHVzaW5nIE5GUwpyaWdodCBub3csIGFuZCBJIGFtIG1pZ3JhdGluZyB0byBHbHVzdGVyLiBJ IGhhdmUgdGhlIGdsdXN0ZXIgc3lzdGVtIHVwLCBhbmQKSSBzZWUgdGhhdCBpdCBzZWVtcyB0byBw cm92aXNpb24gZGlza3MgZmFzdGVyIHRoYW4gbXkgTkZTLiBJIGhhdmVuJ3QgdXNlZAphbnkgcmVh bCBtZWFzdXJlbWVudCB0b29scyB0byBnZXQgYWN0dWFsIG1ldHJpY3MsIHRoaXMgaXMgYWxsIHBl cmNlaXZlZC4gCgogCgpEbyB5b3UgaGF2ZSBhbiBvcGVyYXRpb25hbCBnbHVzdGVyPwoKRG8gd2hh dCBhcmUgeW91IHVzaW5nIHJpZ2h0IG5vdz8KCiAKCkRvbm55IEQKCmNsb3Vkc3Bpbi5tZQoKIAoK RnJvbTogdXNlcnMtYm91bmNlc0BvdmlydC5vcmcgW21haWx0bzp1c2Vycy1ib3VuY2VzQG92aXJ0 Lm9yZ10gT24gQmVoYWxmIE9mCll1ZSwgQ29uZwpTZW50OiBUaHVyc2RheSwgSmFudWFyeSAxNSwg MjAxNSAxMDo1NyBBTQpUbzogdXNlcnNAb3ZpcnQub3JnClN1YmplY3Q6IFtvdmlydC11c2Vyc10g UGVyZm9ybWFuY2UgaXNzdWUgZm9yIEdsdXN0ZXJGUyBhcyB0aGUgYmxvY2sgc3RvcmFnZQpmb3Ig Vk1zCgogCgpIaSAKCiAKCkkgaGF2ZSBvbmUgcXVlc3Rpb24gYWJvdXQgd2hldGhlciBHbHVzdGVy RlMgaXMgdGhlIHN1aXRhYmxlIHNvbHV0aW9uIHRvIGJlCnVzZWQgYXMgdGhlIGJsb2NrIHN0b3Jh Z2UgZm9yIFZNcy4KClRoZSBmYWlsdXJlIHRvbGVyYW50IGFuZCBzY2FsYWJpbGl0eSBpcyBnb29k IGZvciBHbHVzdGVyRlMsIGJ1dCBpbiBteSB0ZXN0LAppdCBzZWVtcyB0aGUgaW9wcyBpcyBwcmV0 dHkgYmFkLiBJbiBzb21lIGJsb2csIGl0IHNhaWQsIGl0IGlzIGV2ZW4gd2l0aAp3b3JzZSBwZXJm b3JtYW5jZSB0aGFuIG5vcm1hbCBORlMuCgpTaG91bGQgSSB1c2UgaXNjc2krZHJiZCBmb3IgdGhl IGJsb2NrIHN0b3JhZ2UgZm9yIFZNcy4KCkNhbiBzb21lYm9keSBnaXZlIHNvbWUgYWR2aWNlIGZv ciB0aGlzPyAKCiAKClRoYW5rcywKQ29uZwoKIAoKICBfX19fXyAgCgpUaGlzIGUtbWFpbCBtZXNz YWdlIGlzIGZvciB0aGUgc29sZSB1c2Ugb2YgdGhlIGludGVuZGVkIHJlY2lwaWVudChzKSBhbmQg bWF5CmNvbnRhaW4gY29uZmlkZW50aWFsIGFuZCBwcml2aWxlZ2VkIGluZm9ybWF0aW9uLiBBbnkg dW5hdXRob3JpemVkIHJldmlldywKdXNlLCBkaXNjbG9zdXJlIG9yIGRpc3RyaWJ1dGlvbiBpcyBw cm9oaWJpdGVkLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQKcmVjaXBpZW50LCBwbGVhc2Ug Y29udGFjdCB0aGUgc2VuZGVyIGJ5IHJlcGx5IGUtbWFpbCBhbmQgZGVzdHJveSBhbGwgY29waWVz Cm9mIHRoZSBvcmlnaW5hbCBtZXNzYWdlLiBJZiB5b3UgYXJlIHRoZSBpbnRlbmRlZCByZWNpcGll bnQsIHBsZWFzZSBiZQphZHZpc2VkIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhpcyBtZXNzYWdlIGlz IHN1YmplY3QgdG8gYWNjZXNzLCByZXZpZXcgYW5kCmRpc2Nsb3N1cmUgYnkgdGhlIHNlbmRlcidz IGUtbWFpbCBTeXN0ZW0gQWRtaW5pc3RyYXRvci4KCgotLS0tLS09X05leHRQYXJ0XzAwMF8wMDVC XzAxRDAzMEI2LjJBM0VCQzQwCkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOwoJY2hhcnNldD0idXMt YXNjaWkiCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKCjxodG1s IHhtbG5zOnY9M0QidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiID0KeG1sbnM6bz0zRCJ1 cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiID0KeG1sbnM6dz0zRCJ1cm46 c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTp3b3JkIiA9CnhtbG5zOm09M0QiaHR0cDovL3Nj aGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiA9CnhtbG5zPTNEImh0dHA6 Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiPjxoZWFkPjxNRVRBID0KSFRUUC1FUVVJVj0zRCJD b250ZW50LVR5cGUiIENPTlRFTlQ9M0QidGV4dC9odG1sOyA9CmNoYXJzZXQ9M0R1cy1hc2NpaSI+ PG1ldGEgbmFtZT0zREdlbmVyYXRvciBjb250ZW50PTNEIk1pY3Jvc29mdCBXb3JkIDE0ID0KKGZp bHRlcmVkIG1lZGl1bSkiPjwhLS1baWYgIW1zb10+PHN0eWxlPnZcOiogPQp7YmVoYXZpb3I6dXJs KCNkZWZhdWx0I1ZNTCk7fQpvXDoqIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9CndcOiog e2JlaGF2aW9yOnVybCgjZGVmYXVsdCNWTUwpO30KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1 bHQjVk1MKTt9Cjwvc3R5bGU+PCFbZW5kaWZdLS0+PHN0eWxlPjwhLS0KLyogRm9udCBEZWZpbml0 aW9ucyAqLwpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsKCXBhbm9zZS0xOjIgMTUg NSAyIDIgMiA0IDMgMiA0O30KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OlRhaG9tYTsKCXBhbm9z ZS0xOjIgMTEgNiA0IDMgNSA0IDQgMiA0O30KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8KcC5Nc29O b3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbAoJe21hcmdpbjowaW47CgltYXJnaW4t Ym90dG9tOi4wMDAxcHQ7Cglmb250LXNpemU6MTEuMHB0OwoJZm9udC1mYW1pbHk6IkNhbGlicmki LCJzYW5zLXNlcmlmIjt9CmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsKCXttc28tc3R5bGUtcHJp b3JpdHk6OTk7Cgljb2xvcjpibHVlOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9CmE6dmlz aXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZAoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsK CWNvbG9yOnB1cnBsZTsKCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQpwLk1zb0FjZXRhdGUs IGxpLk1zb0FjZXRhdGUsIGRpdi5Nc29BY2V0YXRlCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5OwoJ bXNvLXN0eWxlLWxpbms6IkJhbGxvb24gVGV4dCBDaGFyIjsKCW1hcmdpbjowaW47CgltYXJnaW4t Ym90dG9tOi4wMDAxcHQ7Cglmb250LXNpemU6OC4wcHQ7Cglmb250LWZhbWlseToiVGFob21hIiwi c2Fucy1zZXJpZiI7fQpzcGFuLkJhbGxvb25UZXh0Q2hhcgoJe21zby1zdHlsZS1uYW1lOiJCYWxs b29uIFRleHQgQ2hhciI7Cgltc28tc3R5bGUtcHJpb3JpdHk6OTk7Cgltc28tc3R5bGUtbGluazoi QmFsbG9vbiBUZXh0IjsKCWZvbnQtZmFtaWx5OiJUYWhvbWEiLCJzYW5zLXNlcmlmIjt9CnNwYW4u RW1haWxTdHlsZTE5Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7Cglmb250LWZhbWlseToiQ2Fs aWJyaSIsInNhbnMtc2VyaWYiOwoJY29sb3I6d2luZG93dGV4dDt9CnNwYW4uRW1haWxTdHlsZTIw Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7Cglmb250LWZhbWlseToiQ2FsaWJyaSIs InNhbnMtc2VyaWYiOwoJY29sb3I6IzFGNDk3RDt9Ci5Nc29DaHBEZWZhdWx0Cgl7bXNvLXN0eWxl LXR5cGU6ZXhwb3J0LW9ubHk7Cglmb250LXNpemU6MTAuMHB0O30KQHBhZ2UgV29yZFNlY3Rpb24x Cgl7c2l6ZTo4LjVpbiAxMS4waW47CgltYXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQpk aXYuV29yZFNlY3Rpb24xCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQotLT48L3N0eWxlPjwhLS1baWYg Z3RlIG1zbyA5XT48eG1sPgo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PTNEImVkaXQiIHNwaWRtYXg9 M0QiMTAyNiIgLz4KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+Cjxv OnNoYXBlbGF5b3V0IHY6ZXh0PTNEImVkaXQiPgo8bzppZG1hcCB2OmV4dD0zRCJlZGl0IiBkYXRh PTNEIjEiIC8+CjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT48L2hlYWQ+PGJvZHkg bGFuZz0zREVOLVVTIGxpbms9M0RibHVlID0Kdmxpbms9M0RwdXJwbGU+PGRpdiBjbGFzcz0zRFdv cmRTZWN0aW9uMT48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9CnN0eWxlPTNEJ2NvbG9yOiMx RjQ5N0QnPkRvIHlvdSBoYXZlIGFueSBtZXRyaWNzIHRvIGdpdmUgYW4gaWRlYSBvZiB0aGUgPQpk aWZmZXJlbmNlLiBJIGFtIHVzaW5nIE5GUyByaWdodCBub3csIGFuZCBJIGFtIG1pZ3JhdGluZyB0 byBHbHVzdGVyLiBJID0KaGF2ZSB0aGUgZ2x1c3RlciBzeXN0ZW0gdXAsIGFuZCBJIHNlZSB0aGF0 IGl0IHNlZW1zIHRvIHByb3Zpc2lvbiBkaXNrcyA9CmZhc3RlciB0aGFuIG15IE5GUy4gSSBoYXZl biYjODIxNzt0IHVzZWQgYW55IHJlYWwgbWVhc3VyZW1lbnQgdG9vbHMgdG8gPQpnZXQgYWN0dWFs IG1ldHJpY3MsIHRoaXMgaXMgYWxsIHBlcmNlaXZlZC4gPG86cD48L286cD48L3NwYW4+PC9wPjxw ID0KY2xhc3M9M0RNc29Ob3JtYWw+PHNwYW4gPQpzdHlsZT0zRCdjb2xvcjojMUY0OTdEJz48bzpw PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48c3BhbiBzdHls ZT0zRCdjb2xvcjojMUY0OTdEJz5EbyB5b3UgaGF2ZSBhbiA9Cm9wZXJhdGlvbmFsIGdsdXN0ZXI/ PG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPjxzcGFuID0Kc3R5bGU9 M0QnY29sb3I6IzFGNDk3RCc+RG8gd2hhdCBhcmUgeW91IHVzaW5nIHJpZ2h0ID0Kbm93PzxvOnA+ PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9CnN0eWxlPTNEJ2Nv bG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48cCA9CmNsYXNzPTNETXNv Tm9ybWFsPjxzcGFuIHN0eWxlPTNEJ2NvbG9yOiMxRjQ5N0QnPkRvbm55ID0KRDxvOnA+PC9vOnA+ PC9zcGFuPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9CnN0eWxlPTNEJ2NvbG9yOiMx RjQ5N0QnPmNsb3Vkc3Bpbi5tZTxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCA9CmNsYXNzPTNETXNv Tm9ybWFsPjxzcGFuID0Kc3R5bGU9M0QnY29sb3I6IzFGNDk3RCc+PG86cD4mbmJzcDs8L286cD48 L3NwYW4+PC9wPjxkaXY+PGRpdiA9CnN0eWxlPTNEJ2JvcmRlcjpub25lO2JvcmRlci10b3A6c29s aWQgI0I1QzRERiAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiA9CjBpbiAwaW4nPjxwIGNsYXNzPTNE TXNvTm9ybWFsPjxiPjxzcGFuID0Kc3R5bGU9M0QnZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWls eToiVGFob21hIiwic2Fucy1zZXJpZiInPkZyb206PC9zcGFuPj0KPC9iPjxzcGFuIHN0eWxlPTNE J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiJz4gPQp1 c2Vycy1ib3VuY2VzQG92aXJ0Lm9yZyBbbWFpbHRvOnVzZXJzLWJvdW5jZXNAb3ZpcnQub3JnXSA8 Yj5PbiBCZWhhbGYgT2YgPQo8L2I+WXVlLCBDb25nPGJyPjxiPlNlbnQ6PC9iPiBUaHVyc2RheSwg SmFudWFyeSAxNSwgMjAxNSAxMDo1NyA9CkFNPGJyPjxiPlRvOjwvYj4gdXNlcnNAb3ZpcnQub3Jn PGJyPjxiPlN1YmplY3Q6PC9iPiBbb3ZpcnQtdXNlcnNdID0KUGVyZm9ybWFuY2UgaXNzdWUgZm9y IEdsdXN0ZXJGUyBhcyB0aGUgYmxvY2sgc3RvcmFnZSBmb3IgPQpWTXM8bzpwPjwvbzpwPjwvc3Bh bj48L3A+PC9kaXY+PC9kaXY+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpw PjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD5IaSA9CjxvOnA+PC9vOnA+PC9wPjxwIGNsYXNzPTNE TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxwID0KY2xhc3M9M0RNc29Ob3JtYWw+SSBo YXZlIG9uZSBxdWVzdGlvbiBhYm91dCB3aGV0aGVyIEdsdXN0ZXJGUyBpcyB0aGUgPQpzdWl0YWJs ZSBzb2x1dGlvbiB0byBiZSB1c2VkIGFzIHRoZSBibG9jayBzdG9yYWdlIGZvciA9ClZNcy48bzpw PjwvbzpwPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD5UaGUgZmFpbHVyZSB0b2xlcmFudCBhbmQg PQpzY2FsYWJpbGl0eSBpcyBnb29kIGZvciBHbHVzdGVyRlMsIGJ1dCBpbiBteSB0ZXN0LCBpdCBz ZWVtcyB0aGUgaW9wcyBpcyA9CnByZXR0eSBiYWQuIEluIHNvbWUgYmxvZywgaXQgc2FpZCwgaXQg aXMgZXZlbiB3aXRoIHdvcnNlIHBlcmZvcm1hbmNlID0KdGhhbiBub3JtYWwgTkZTLjxvOnA+PC9v OnA+PC9wPjxwIGNsYXNzPTNETXNvTm9ybWFsPlNob3VsZCBJIHVzZSA9CmlzY3NpK2RyYmQgZm9y IHRoZSBibG9jayBzdG9yYWdlIGZvciBWTXMuPG86cD48L286cD48L3A+PHAgPQpjbGFzcz0zRE1z b05vcm1hbD5DYW4gc29tZWJvZHkgZ2l2ZSBzb21lIGFkdmljZSBmb3IgdGhpcz8gPQo8bzpwPjwv bzpwPjwvcD48cCBjbGFzcz0zRE1zb05vcm1hbD48bzpwPiZuYnNwOzwvbzpwPjwvcD48cCA9CmNs YXNzPTNETXNvTm9ybWFsPlRoYW5rcyw8YnI+Q29uZzxvOnA+PC9vOnA+PC9wPjxwID0KY2xhc3M9 M0RNc29Ob3JtYWw+PHNwYW4gc3R5bGU9M0QnZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseToi VGltZXMgTmV3ID0KUm9tYW4iLCJzZXJpZiInPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48 ZGl2IGNsYXNzPTNETXNvTm9ybWFsID0KYWxpZ249M0RjZW50ZXIgc3R5bGU9M0QndGV4dC1hbGln bjpjZW50ZXInPjxzcGFuID0Kc3R5bGU9M0QnZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseToi VGltZXMgTmV3IFJvbWFuIiwic2VyaWYiJz48aHIgPQpzaXplPTNEMiB3aWR0aD0zRCIxMDAlIiBh bGlnbj0zRGNlbnRlcj48L3NwYW4+PC9kaXY+PHAgPQpjbGFzcz0zRE1zb05vcm1hbD48c3BhbiA9 CnN0eWxlPTNEJ2ZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseToiQXJpYWwiLCJzYW5zLXNlcmlm Ijtjb2xvcjpncmF5Jz5UaGk9CnMgZS1tYWlsIG1lc3NhZ2UgaXMgZm9yIHRoZSBzb2xlIHVzZSBv ZiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpIGFuZCA9Cm1heSBjb250YWluIGNvbmZpZGVudGlh bCBhbmQgcHJpdmlsZWdlZCBpbmZvcm1hdGlvbi4gQW55IHVuYXV0aG9yaXplZCA9CnJldmlldywg dXNlLCBkaXNjbG9zdXJlIG9yIGRpc3RyaWJ1dGlvbiBpcyBwcm9oaWJpdGVkLiBJZiB5b3UgYXJl IG5vdCA9CnRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHBsZWFzZSBjb250YWN0IHRoZSBzZW5kZXIg YnkgcmVwbHkgZS1tYWlsIGFuZCA9CmRlc3Ryb3kgYWxsIGNvcGllcyBvZiB0aGUgb3JpZ2luYWwg bWVzc2FnZS4gSWYgeW91IGFyZSB0aGUgaW50ZW5kZWQgPQpyZWNpcGllbnQsIHBsZWFzZSBiZSBh ZHZpc2VkIHRoYXQgdGhlIGNvbnRlbnQgb2YgdGhpcyBtZXNzYWdlIGlzIHN1YmplY3QgPQp0byBh Y2Nlc3MsIHJldmlldyBhbmQgZGlzY2xvc3VyZSBieSB0aGUgc2VuZGVyJ3MgZS1tYWlsIFN5c3Rl bSA9CkFkbWluaXN0cmF0b3IuPC9zcGFuPjxzcGFuIHN0eWxlPTNEJ2ZvbnQtc2l6ZToxMi4wcHQ7 Zm9udC1mYW1pbHk6IlRpbWVzID0KTmV3IFJvbWFuIiwic2VyaWYiJz48bzpwPjwvbzpwPjwvc3Bh bj48L3A+PC9kaXY+PC9ib2R5PjwvaHRtbD4KLS0tLS0tPV9OZXh0UGFydF8wMDBfMDA1Ql8wMUQw MzBCNi4yQTNFQkM0MC0tCgo= --===============3545577307598940652==--