From fernando.frediani at upx.com Mon Apr 24 14:41:06 2017 Content-Type: multipart/mixed; boundary="===============1280806398998686275==" MIME-Version: 1.0 From: FERNANDO FREDIANI To: users at ovirt.org Subject: Re: [ovirt-users] Hyperconverged Setup and Gluster healing Date: Mon, 24 Apr 2017 11:41:01 -0300 Message-ID: <446d1c35-3981-cdcd-c109-b1a8fa1cb87d@upx.com> In-Reply-To: CANVzE5nokh4MnXYfh8-oSQ8v0o1R4cKP0q1k5SKWPBqBHXiVqg@mail.gmail.com --===============1280806398998686275== 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. --------------E1421BB04F7A8066E3169AB1 Content-Type: text/plain; charset=3Dutf-8; format=3Dflowed Content-Transfer-Encoding: 7bit Ok, great, thanks for the clarification. Therefore a replica 3 configuration means raw storage space cost is = 'similar' to a RAID 1 and actual data exists only 2 times and two = different servers. Regards Fernando On 24/04/2017 11:35, Denis Chaplygin wrote: > With arbiter volume you still have a replica 3 volume, meaning that = > you have three participants in your quorum. But only two of those = > participants keep the actual data. Third one, the arbiter, stores only = > some metadata, not the files content, so data is not replicated 3 times. > > On Mon, Apr 24, 2017 at 3:33 PM, FERNANDO FREDIANI = > > wrote: > > But then quorum doesn't replicate data 3 times, does it ? > > Fernando > > > On 24/04/2017 10:24, Denis Chaplygin wrote: >> Hello! >> >> On Mon, Apr 24, 2017 at 3:02 PM, FERNANDO FREDIANI >> > w= rote: >> >> Out of curiosity, why do you and people in general use more >> replica 3 than replica 2 ? >> >> >> The answer is simple - quorum. With just two participants you >> don't know what to do, when your peer is unreachable. When you >> have three participants, you are able to establish a majority. In >> that case, when two partiticipants are able to communicate, they >> now, that lesser part of cluster knows, that it should not accept >> any changes. >> >> If I understand correctly this seems overkill and waste of >> storage as 2 copies of data (replica 2) seems pretty >> reasonable similar to RAID 1 and still in the worst case the >> data can be replicated after a fail. I see that replica 3 >> helps more on performance at the cost of space. >> >> >> You are absolutely right. You need two copies of data to provide >> data redundancy and you need three (or more) members in cluster >> to provide distinguishable majority. Therefore we have arbiter >> volumes, thus solving that issue [1]. >> >> [1] >> https://gluster.readthedocs.io/en/latest/Administrator%20Guide/arbit= er-volumes-and-quorum/ >> > > --------------E1421BB04F7A8066E3169AB1 Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: 8bit

Ok, great, thanks for the clarification.

Therefore a replica 3 configuration means raw storage space cost is 'similar' to a RAID 1 and actual data exists only 2 times and two different servers.

Regards
Fernando


On 24/04/2017 11:35, Denis Chaplygin wrote:
With arbiter volume you still have a replica 3 volume, meaning that you have three participants in your quorum. But only two of those participants keep the actual data. Third one, the arbiter, stores only some metadata, not the files content, so data is not replicated 3 times.

On Mon, Apr 24, 2017 at 3:33 PM, FERNANDO FREDIANI <fernando.frediani(a)upx.com> wrote:

But then quorum doesn't replicate data 3 times, does it ?

Fernando


On 24/04/2017 10:24, Denis Chaplygin wrote:
Hello!

On Mon, Apr 24, 2017 at 3:02 PM, FERNANDO FREDIANI <= fernando.frediani(a)upx.com= > wrote:
Out of curiosity, why do you and people in general use more replica 3 than replica 2 ?

The answer is simple - quorum. With just two participants you don't know what to do, when your peer is unreachable. When you have three participants, you are able to establish a majority. In that case, when two partiticipants are able to communicate, they now, that lesser part of cluster knows, that it should not accept any changes.
=C2=A0

If I understand correctly this seems overkill and waste of storage as 2 copies of data (replica 2)=C2=A0 seems pret= ty reasonable similar to RAID 1 and still in the worst case the data can be replicated after a fail. I see that replica 3 helps more on performance at the cost of space.


You are absolutely right. You need two copies of data to provide data redundancy and you need three (or more) members in cluster to provide distinguishable majority. Therefore we have arbiter volumes, thus solving that issue [1].

[1] https://gluster.readthedocs.io/en/latest/Administrator%20Guide/arbiter-volumes-and-quorum/<= /a>



--------------E1421BB04F7A8066E3169AB1-- --===============1280806398998686275== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS1FMTQyMUJCMDRGN0E4MDY2RTMxNjlBQjEKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXV0Zi04OyBmb3JtYXQ9Zmxvd2VkCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQK Ck9rLCBncmVhdCwgdGhhbmtzIGZvciB0aGUgY2xhcmlmaWNhdGlvbi4KClRoZXJlZm9yZSBhIHJl cGxpY2EgMyBjb25maWd1cmF0aW9uIG1lYW5zIHJhdyBzdG9yYWdlIHNwYWNlIGNvc3QgaXMgCidz aW1pbGFyJyB0byBhIFJBSUQgMSBhbmQgYWN0dWFsIGRhdGEgZXhpc3RzIG9ubHkgMiB0aW1lcyBh bmQgdHdvIApkaWZmZXJlbnQgc2VydmVycy4KClJlZ2FyZHMKRmVybmFuZG8KCgpPbiAyNC8wNC8y MDE3IDExOjM1LCBEZW5pcyBDaGFwbHlnaW4gd3JvdGU6Cj4gV2l0aCBhcmJpdGVyIHZvbHVtZSB5 b3Ugc3RpbGwgaGF2ZSBhIHJlcGxpY2EgMyB2b2x1bWUsIG1lYW5pbmcgdGhhdCAKPiB5b3UgaGF2 ZSB0aHJlZSBwYXJ0aWNpcGFudHMgaW4geW91ciBxdW9ydW0uIEJ1dCBvbmx5IHR3byBvZiB0aG9z ZSAKPiBwYXJ0aWNpcGFudHMga2VlcCB0aGUgYWN0dWFsIGRhdGEuIFRoaXJkIG9uZSwgdGhlIGFy Yml0ZXIsIHN0b3JlcyBvbmx5IAo+IHNvbWUgbWV0YWRhdGEsIG5vdCB0aGUgZmlsZXMgY29udGVu dCwgc28gZGF0YSBpcyBub3QgcmVwbGljYXRlZCAzIHRpbWVzLgo+Cj4gT24gTW9uLCBBcHIgMjQs IDIwMTcgYXQgMzozMyBQTSwgRkVSTkFORE8gRlJFRElBTkkgCj4gPGZlcm5hbmRvLmZyZWRpYW5p QHVweC5jb20gPG1haWx0bzpmZXJuYW5kby5mcmVkaWFuaUB1cHguY29tPj4gd3JvdGU6Cj4KPiAg ICAgQnV0IHRoZW4gcXVvcnVtIGRvZXNuJ3QgcmVwbGljYXRlIGRhdGEgMyB0aW1lcywgZG9lcyBp dCA/Cj4KPiAgICAgRmVybmFuZG8KPgo+Cj4gICAgIE9uIDI0LzA0LzIwMTcgMTA6MjQsIERlbmlz IENoYXBseWdpbiB3cm90ZToKPj4gICAgIEhlbGxvIQo+Pgo+PiAgICAgT24gTW9uLCBBcHIgMjQs IDIwMTcgYXQgMzowMiBQTSwgRkVSTkFORE8gRlJFRElBTkkKPj4gICAgIDxmZXJuYW5kby5mcmVk aWFuaUB1cHguY29tIDxtYWlsdG86ZmVybmFuZG8uZnJlZGlhbmlAdXB4LmNvbT4+IHdyb3RlOgo+ Pgo+PiAgICAgICAgIE91dCBvZiBjdXJpb3NpdHksIHdoeSBkbyB5b3UgYW5kIHBlb3BsZSBpbiBn ZW5lcmFsIHVzZSBtb3JlCj4+ICAgICAgICAgcmVwbGljYSAzIHRoYW4gcmVwbGljYSAyID8KPj4K Pj4KPj4gICAgIFRoZSBhbnN3ZXIgaXMgc2ltcGxlIC0gcXVvcnVtLiBXaXRoIGp1c3QgdHdvIHBh cnRpY2lwYW50cyB5b3UKPj4gICAgIGRvbid0IGtub3cgd2hhdCB0byBkbywgd2hlbiB5b3VyIHBl ZXIgaXMgdW5yZWFjaGFibGUuIFdoZW4geW91Cj4+ICAgICBoYXZlIHRocmVlIHBhcnRpY2lwYW50 cywgeW91IGFyZSBhYmxlIHRvIGVzdGFibGlzaCBhIG1ham9yaXR5LiBJbgo+PiAgICAgdGhhdCBj YXNlLCB3aGVuIHR3byBwYXJ0aXRpY2lwYW50cyBhcmUgYWJsZSB0byBjb21tdW5pY2F0ZSwgdGhl eQo+PiAgICAgbm93LCB0aGF0IGxlc3NlciBwYXJ0IG9mIGNsdXN0ZXIga25vd3MsIHRoYXQgaXQg c2hvdWxkIG5vdCBhY2NlcHQKPj4gICAgIGFueSBjaGFuZ2VzLgo+Pgo+PiAgICAgICAgIElmIEkg dW5kZXJzdGFuZCBjb3JyZWN0bHkgdGhpcyBzZWVtcyBvdmVya2lsbCBhbmQgd2FzdGUgb2YKPj4g ICAgICAgICBzdG9yYWdlIGFzIDIgY29waWVzIG9mIGRhdGEgKHJlcGxpY2EgMikgIHNlZW1zIHBy ZXR0eQo+PiAgICAgICAgIHJlYXNvbmFibGUgc2ltaWxhciB0byBSQUlEIDEgYW5kIHN0aWxsIGlu IHRoZSB3b3JzdCBjYXNlIHRoZQo+PiAgICAgICAgIGRhdGEgY2FuIGJlIHJlcGxpY2F0ZWQgYWZ0 ZXIgYSBmYWlsLiBJIHNlZSB0aGF0IHJlcGxpY2EgMwo+PiAgICAgICAgIGhlbHBzIG1vcmUgb24g cGVyZm9ybWFuY2UgYXQgdGhlIGNvc3Qgb2Ygc3BhY2UuCj4+Cj4+Cj4+ICAgICBZb3UgYXJlIGFi c29sdXRlbHkgcmlnaHQuIFlvdSBuZWVkIHR3byBjb3BpZXMgb2YgZGF0YSB0byBwcm92aWRlCj4+ ICAgICBkYXRhIHJlZHVuZGFuY3kgYW5kIHlvdSBuZWVkIHRocmVlIChvciBtb3JlKSBtZW1iZXJz IGluIGNsdXN0ZXIKPj4gICAgIHRvIHByb3ZpZGUgZGlzdGluZ3Vpc2hhYmxlIG1ham9yaXR5LiBU aGVyZWZvcmUgd2UgaGF2ZSBhcmJpdGVyCj4+ICAgICB2b2x1bWVzLCB0aHVzIHNvbHZpbmcgdGhh dCBpc3N1ZSBbMV0uCj4+Cj4+ICAgICBbMV0KPj4gICAgIGh0dHBzOi8vZ2x1c3Rlci5yZWFkdGhl ZG9jcy5pby9lbi9sYXRlc3QvQWRtaW5pc3RyYXRvciUyMEd1aWRlL2FyYml0ZXItdm9sdW1lcy1h bmQtcXVvcnVtLwo+PiAgICAgPGh0dHBzOi8vZ2x1c3Rlci5yZWFkdGhlZG9jcy5pby9lbi9sYXRl c3QvQWRtaW5pc3RyYXRvciUyMEd1aWRlL2FyYml0ZXItdm9sdW1lcy1hbmQtcXVvcnVtLz4KPgo+ CgoKLS0tLS0tLS0tLS0tLS1FMTQyMUJCMDRGN0E4MDY2RTMxNjlBQjEKQ29udGVudC1UeXBlOiB0 ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoK PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRm LTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+CiAgPC9oZWFkPgogIDxib2R5IGJnY29sb3I9 IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPgogICAgPHA+T2ssIGdyZWF0LCB0aGFua3MgZm9yIHRo ZSBjbGFyaWZpY2F0aW9uLjwvcD4KICAgIDxwPlRoZXJlZm9yZSBhIHJlcGxpY2EgMyBjb25maWd1 cmF0aW9uIG1lYW5zIHJhdyBzdG9yYWdlIHNwYWNlIGNvc3QKICAgICAgaXMgJ3NpbWlsYXInIHRv IGEgUkFJRCAxIGFuZCBhY3R1YWwgZGF0YSBleGlzdHMgb25seSAyIHRpbWVzIGFuZAogICAgICB0 d28gZGlmZmVyZW50IHNlcnZlcnMuPC9wPgogICAgPHA+UmVnYXJkczxicj4KICAgICAgRmVybmFu ZG88YnI+CiAgICA8L3A+CiAgICA8YnI+CiAgICA8ZGl2IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgi Pk9uIDI0LzA0LzIwMTcgMTE6MzUsIERlbmlzIENoYXBseWdpbgogICAgICB3cm90ZTo8YnI+CiAg ICA8L2Rpdj4KICAgIDxibG9ja3F1b3RlCmNpdGU9Im1pZDpDQU5WekU1bm9raDRNblhZZmg4LW9T UTh2MG8xUjRjS1AwcTFrNVNLV1BCcUJIWGlWcWdAbWFpbC5nbWFpbC5jb20iCiAgICAgIHR5cGU9 ImNpdGUiPgogICAgICA8ZGl2IGRpcj0ibHRyIj5XaXRoIGFyYml0ZXIgdm9sdW1lIHlvdSBzdGls bCBoYXZlIGEgcmVwbGljYSAzCiAgICAgICAgdm9sdW1lLCBtZWFuaW5nIHRoYXQgeW91IGhhdmUg dGhyZWUgcGFydGljaXBhbnRzIGluIHlvdXIgcXVvcnVtLgogICAgICAgIEJ1dCBvbmx5IHR3byBv ZiB0aG9zZSBwYXJ0aWNpcGFudHMga2VlcCB0aGUgYWN0dWFsIGRhdGEuIFRoaXJkCiAgICAgICAg b25lLCB0aGUgYXJiaXRlciwgc3RvcmVzIG9ubHkgc29tZSBtZXRhZGF0YSwgbm90IHRoZSBmaWxl cwogICAgICAgIGNvbnRlbnQsIHNvIGRhdGEgaXMgbm90IHJlcGxpY2F0ZWQgMyB0aW1lcy48YnI+ CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPgogICAgICAg IDxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBNb24sIEFwciAyNCwgMjAxNyBhdCAzOjMzIFBN LAogICAgICAgICAgRkVSTkFORE8gRlJFRElBTkkgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YQogICAg ICAgICAgICAgIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgICBocmVmPSJtYWls dG86ZmVybmFuZG8uZnJlZGlhbmlAdXB4LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmZlcm5hbmRvLmZy ZWRpYW5pQHVweC5jb208L2E+Jmd0Ozwvc3Bhbj4KICAgICAgICAgIHdyb3RlOjxicj4KICAgICAg ICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMAog ICAgICAgICAgICAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDox ZXgiPgogICAgICAgICAgICA8ZGl2IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPgog ICAgICAgICAgICAgIDxwPkJ1dCB0aGVuIHF1b3J1bSBkb2Vzbid0IHJlcGxpY2F0ZSBkYXRhIDMg dGltZXMsIGRvZXMgaXQKICAgICAgICAgICAgICAgID88L3A+CiAgICAgICAgICAgICAgPHNwYW4g Y2xhc3M9IkhPRW5aYiI+PGZvbnQgY29sb3I9IiM4ODg4ODgiPgogICAgICAgICAgICAgICAgICA8 cD5GZXJuYW5kbzxicj4KICAgICAgICAgICAgICAgICAgPC9wPgogICAgICAgICAgICAgICAgPC9m b250Pjwvc3Bhbj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFz cz0iaDUiPiA8YnI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1fLTM3MzY1NTk3MDk4 OTYzMDQ4NDJtb3otY2l0ZS1wcmVmaXgiPk9uCiAgICAgICAgICAgICAgICAgICAgMjQvMDQvMjAx NyAxMDoyNCwgRGVuaXMgQ2hhcGx5Z2luIHdyb3RlOjxicj4KICAgICAgICAgICAgICAgICAgPC9k aXY+CiAgICAgICAgICAgICAgICAgIDxibG9ja3F1b3RlIHR5cGU9ImNpdGUiPgogICAgICAgICAg ICAgICAgICAgIDxkaXYgZGlyPSJsdHIiPkhlbGxvITxicj4KICAgICAgICAgICAgICAgICAgICAg IDxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxk aXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5PbiBNb24sIEFwciAyNCwgMjAxNyBhdAogICAgICAgICAg ICAgICAgICAgICAgICAgIDM6MDIgUE0sIEZFUk5BTkRPIEZSRURJQU5JIDxzcGFuIGRpcj0ibHRy Ij4mbHQ7PGEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW96LWRvLW5vdC1zZW5kPSJ0 cnVlIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPSJtYWlsdG86ZmVybmFuZG8u ZnJlZGlhbmlAdXB4LmNvbSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PSJf YmxhbmsiPmZlcm5hbmRvLmZyZWRpYW5pQHVweC5jb208L2E+Jmd0Ozwvc3Bhbj4KICAgICAgICAg ICAgICAgICAgICAgICAgICB3cm90ZTo8YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPGJs b2NrcXVvdGUgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjbGFzcz0iZ21haWxfcXVvdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgPGRpdiBiZ2NvbG9yPSIjRkZGRkZGIj5PdXQgb2YgY3VyaW9zaXR5LCB3aHkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZG8geW91IGFuZCBwZW9wbGUgaW4gZ2VuZXJhbCB1c2UgbW9y ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsaWNhIDMgdGhhbiByZXBsaWNhIDIg PyA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAg ICAgICAgICAgICAgICAgICAgPGRpdj48YnI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9k aXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5UaGUgYW5zd2VyIGlzIHNpbXBsZSAt IHF1b3J1bS4gV2l0aCBqdXN0CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0d28gcGFydGlj aXBhbnRzIHlvdSBkb24ndCBrbm93IHdoYXQgdG8gZG8sCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB3aGVuIHlvdXIgcGVlciBpcyB1bnJlYWNoYWJsZS4gV2hlbiB5b3UgaGF2ZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGhyZWUgcGFydGljaXBhbnRzLCB5b3UgYXJlIGFibGUgdG8K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzdGFibGlzaCBhIG1ham9yaXR5LiBJbiB0aGF0 IGNhc2UsIHdoZW4gdHdvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpY2lwYW50 cyBhcmUgYWJsZSB0byBjb21tdW5pY2F0ZSwgdGhleQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgbm93LCB0aGF0IGxlc3NlciBwYXJ0IG9mIGNsdXN0ZXIga25vd3MsIHRoYXQKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGl0IHNob3VsZCBub3QgYWNjZXB0IGFueSBjaGFuZ2VzLjxicj4K ICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAg ICA8ZGl2PsKgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgc3R5 bGU9Im1hcmdpbjowcHggMHB4IDBweAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC44ZXg7 Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2IoMjA0 LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBj bGFzcz0iZ21haWxfcXVvdGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBiZ2Nv bG9yPSIjRkZGRkZGIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+SWYgSSB1bmRl cnN0YW5kIGNvcnJlY3RseSB0aGlzIHNlZW1zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgb3ZlcmtpbGwgYW5kIHdhc3RlIG9mIHN0b3JhZ2UgYXMgMgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvcGllcyBvZiBkYXRhIChyZXBsaWNhIDIpwqAgc2VlbXMgcHJldHR5CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uYWJsZSBzaW1pbGFyIHRvIFJBSUQg MSBhbmQgc3RpbGwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgd29yc3Qg Y2FzZSB0aGUgZGF0YSBjYW4gYmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBs aWNhdGVkIGFmdGVyIGEgZmFpbC4gSSBzZWUgdGhhdAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlcGxpY2EgMyBoZWxwcyBtb3JlIG9uIHBlcmZvcm1hbmNlIGF0CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGhlIGNvc3Qgb2Ygc3BhY2UuPC9wPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8c3BhbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs YXNzPSJtXy0zNzM2NTU5NzA5ODk2MzA0ODQyZ21haWwtSE9FblpiIj48L3NwYW4+PGJyPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAg PC9ibG9ja3F1b3RlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg ICAgICAgICAgICAgWW91IGFyZSBhYnNvbHV0ZWx5IHJpZ2h0LiBZb3UgbmVlZCB0d28gY29waWVz IG9mCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgdG8gcHJvdmlkZSBkYXRhIHJlZHVuZGFu Y3kgYW5kIHlvdSBuZWVkCiAgICAgICAgICAgICAgICAgICAgICAgIHRocmVlIChvciBtb3JlKSBt ZW1iZXJzIGluIGNsdXN0ZXIgdG8gcHJvdmlkZQogICAgICAgICAgICAgICAgICAgICAgICBkaXN0 aW5ndWlzaGFibGUgbWFqb3JpdHkuIFRoZXJlZm9yZSB3ZSBoYXZlCiAgICAgICAgICAgICAgICAg ICAgICAgIGFyYml0ZXIgdm9sdW1lcywgdGh1cyBzb2x2aW5nIHRoYXQgaXNzdWUgWzFdLiA8YnI+ CiAgICAgICAgICAgICAgICAgICAgICAgIDxicj4KICAgICAgICAgICAgICAgICAgICAgICAgWzFd IDxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKaHJlZj0iaHR0cHM6Ly9nbHVzdGVyLnJlYWR0aGVk b2NzLmlvL2VuL2xhdGVzdC9BZG1pbmlzdHJhdG9yJTIwR3VpZGUvYXJiaXRlci12b2x1bWVzLWFu ZC1xdW9ydW0vIgogICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD0iX2JsYW5rIj5odHRw czovL2dsdXN0ZXIucmVhZHRoZWRvY3MuPHdicj5pby9lbi9sYXRlc3QvQWRtaW5pc3RyYXRvciU8 d2JyPjIwR3VpZGUvYXJiaXRlci12b2x1bWVzLWFuZC08d2JyPnF1b3J1bS88L2E+PGJyPgogICAg ICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAg ICAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgICAgICAgICAgPGJyPgogICAgICAg ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2Pgog ICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxicj4KICAgICAg PC9kaXY+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgPC9ib2R5Pgo8L2h0bWw+CgotLS0t LS0tLS0tLS0tLUUxNDIxQkIwNEY3QTgwNjZFMzE2OUFCMS0tCg== --===============1280806398998686275==--