From vlaero at yahoo.com.au Thu Nov 13 06:09:11 2014 Content-Type: multipart/mixed; boundary="===============5258968183615972170==" MIME-Version: 1.0 From: Paul Jansen To: users at ovirt.org Subject: [ovirt-users] storage offload capability Date: Thu, 13 Nov 2014 03:09:10 -0800 Message-ID: <1415876950.78136.YahooMailNeo@web160304.mail.bf1.yahoo.com> --===============5258968183615972170== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ---1603101515-1922022095-1415876950=3D:78136 Content-Type: text/plain; charset=3Dutf-8 Content-Transfer-Encoding: quoted-printable I have an ovirt 3.5 cluster set up with three el7 hosts. Storage is provid= =3D ed by two Fedora 20 machines and the connection is via multipath iscsi.=3D0= AT=3D he performance is quite good. The Fedora 20 iscsi targets are using the 't= =3D arget' (ie: lio) framework, which support the various t.10 scsi offloads. = =3D Vmware supports a subset of these called VAAI and Microsoft has a subset ca= =3D lled ODX.=3D0ACloning is one if the t.10 extensions that the lio target fra= me=3D work supports.=3D0A=3D0AI just tried cloning a vm and noticed that during t= he p=3D rocess there is a lof of traffic over the iscsi interfaces on the Storage P= =3D ool Manager host and the iscsi target machine.=3D0AWith proper support for = t.=3D 10 cloning I shoudn't see any traffic on the isci links (or very minimal tr= =3D affic)=3D0A=3D0AIs there some way to enable the storage offload functionali= ty i=3D n Ovirt?=3D0AIf not, is this on the VDSM roadmap? If support were worked i= n =3D this should be able to be applied to FCP connections as well. The lio targ= =3D et supports these offloads when acting as a Fiber Channel target also.=3D0A= =3D =3D0A=3D0AI've asked this sometime back but there hasn't been much in the w= ay o=3D f discussion on this users list or the devel list about this feature. ---1603101515-1922022095-1415876950=3D:78136 Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: quoted-printable
I have an ovirt 3.5 cluster set up with three el7 hosts.= =3D   Storage is provided by two Fedora 20 machines and the connection is = =3D via multipath iscsi.
The performance is quite good.  The Fed= =3D ora 20 iscsi targets are using the 'target' (ie: lio) framework, which supp= =3D ort the various t.10 scsi offloads.  Vmware supports a subset of these= =3D called VAAI and Microsoft has a subset called ODX.
Cloning is on= =3D e if the t.10 extensions that the lio target framework supports.
<= =3D div>I just tried cloning a vm and noticed that during the process there is = =3D a lof of traffic over the iscsi interfaces on the Storage Pool Manager host= =3D and the iscsi target machine.
With proper support for t.10 cloni= =3D ng I shoudn't see any traffic on the isci links (or very minimal traffic)
Is there some way = =3D to enable the storage offload functionality in Ovirt?
If not, is this on the VDSM roadmap?  If support= =3D were worked in this should be able to be applied to FCP connections as wel= =3D l.  The lio target supports these offloads when acting as a Fiber Chan= =3D nel target also.

<= =3D div style=3D3D"color: rgb(0, 0, 0); font-size: 12px; font-family: HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif; bac= =3D kground-color: transparent; font-style: normal;">I've asked this sometime b= =3D ack but there hasn't been much in the way of discussion on this users list = =3D or the devel list about this feature.

= =3D ---1603101515-1922022095-1415876950=3D:78136-- --===============5258968183615972170== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS0tMTYwMzEwMTUxNS0xOTIyMDIyMDk1LTE0MTU4NzY5NTA9Ojc4MTM2CkNvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90 ZWQtcHJpbnRhYmxlCgpJIGhhdmUgYW4gb3ZpcnQgMy41IGNsdXN0ZXIgc2V0IHVwIHdpdGggdGhy ZWUgZWw3IGhvc3RzLiAgU3RvcmFnZSBpcyBwcm92aWQ9CmVkIGJ5IHR3byBGZWRvcmEgMjAgbWFj aGluZXMgYW5kIHRoZSBjb25uZWN0aW9uIGlzIHZpYSBtdWx0aXBhdGggaXNjc2kuPTBBVD0KaGUg cGVyZm9ybWFuY2UgaXMgcXVpdGUgZ29vZC4gIFRoZSBGZWRvcmEgMjAgaXNjc2kgdGFyZ2V0cyBh cmUgdXNpbmcgdGhlICd0PQphcmdldCcgKGllOiBsaW8pIGZyYW1ld29yaywgd2hpY2ggc3VwcG9y dCB0aGUgdmFyaW91cyB0LjEwIHNjc2kgb2ZmbG9hZHMuICA9ClZtd2FyZSBzdXBwb3J0cyBhIHN1 YnNldCBvZiB0aGVzZSBjYWxsZWQgVkFBSSBhbmQgTWljcm9zb2Z0IGhhcyBhIHN1YnNldCBjYT0K bGxlZCBPRFguPTBBQ2xvbmluZyBpcyBvbmUgaWYgdGhlIHQuMTAgZXh0ZW5zaW9ucyB0aGF0IHRo ZSBsaW8gdGFyZ2V0IGZyYW1lPQp3b3JrIHN1cHBvcnRzLj0wQT0wQUkganVzdCB0cmllZCBjbG9u aW5nIGEgdm0gYW5kIG5vdGljZWQgdGhhdCBkdXJpbmcgdGhlIHA9CnJvY2VzcyB0aGVyZSBpcyBh IGxvZiBvZiB0cmFmZmljIG92ZXIgdGhlIGlzY3NpIGludGVyZmFjZXMgb24gdGhlIFN0b3JhZ2Ug UD0Kb29sIE1hbmFnZXIgaG9zdCBhbmQgdGhlIGlzY3NpIHRhcmdldCBtYWNoaW5lLj0wQVdpdGgg cHJvcGVyIHN1cHBvcnQgZm9yIHQuPQoxMCBjbG9uaW5nIEkgc2hvdWRuJ3Qgc2VlIGFueSB0cmFm ZmljIG9uIHRoZSBpc2NpIGxpbmtzIChvciB2ZXJ5IG1pbmltYWwgdHI9CmFmZmljKT0wQT0wQUlz IHRoZXJlIHNvbWUgd2F5IHRvIGVuYWJsZSB0aGUgc3RvcmFnZSBvZmZsb2FkIGZ1bmN0aW9uYWxp dHkgaT0KbiBPdmlydD89MEFJZiBub3QsIGlzIHRoaXMgb24gdGhlIFZEU00gcm9hZG1hcD8gIElm IHN1cHBvcnQgd2VyZSB3b3JrZWQgaW4gPQp0aGlzIHNob3VsZCBiZSBhYmxlIHRvIGJlIGFwcGxp ZWQgdG8gRkNQIGNvbm5lY3Rpb25zIGFzIHdlbGwuICBUaGUgbGlvIHRhcmc9CmV0IHN1cHBvcnRz IHRoZXNlIG9mZmxvYWRzIHdoZW4gYWN0aW5nIGFzIGEgRmliZXIgQ2hhbm5lbCB0YXJnZXQgYWxz by49MEE9Cj0wQT0wQUkndmUgYXNrZWQgdGhpcyBzb21ldGltZSBiYWNrIGJ1dCB0aGVyZSBoYXNu J3QgYmVlbiBtdWNoIGluIHRoZSB3YXkgbz0KZiBkaXNjdXNzaW9uIG9uIHRoaXMgdXNlcnMgbGlz dCBvciB0aGUgZGV2ZWwgbGlzdCBhYm91dCB0aGlzIGZlYXR1cmUuCi0tLTE2MDMxMDE1MTUtMTky MjAyMjA5NS0xNDE1ODc2OTUwPTo3ODEzNgpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNl dD11dGYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCgo8aHRt bD48Ym9keT48ZGl2IHN0eWxlPTNEImNvbG9yOiMwMDA7IGJhY2tncm91bmQtY29sb3I6I2ZmZjsg Zm9udC1mYW1pbHk6SGU9Cmx2ZXRpY2FOZXVlLCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBB cmlhbCwgTHVjaWRhIEdyYW5kZSwgU2Fucy1TZXJpZjtmbz0KbnQtc2l6ZToxMnB4Ij48ZGl2Pkkg aGF2ZSBhbiBvdmlydCAzLjUgY2x1c3RlciBzZXQgdXAgd2l0aCB0aHJlZSBlbDcgaG9zdHMuPQom bmJzcDsgU3RvcmFnZSBpcyBwcm92aWRlZCBieSB0d28gRmVkb3JhIDIwIG1hY2hpbmVzIGFuZCB0 aGUgY29ubmVjdGlvbiBpcyA9CnZpYSBtdWx0aXBhdGggaXNjc2kuPC9kaXY+PGRpdj5UaGUgcGVy Zm9ybWFuY2UgaXMgcXVpdGUgZ29vZC4mbmJzcDsgVGhlIEZlZD0Kb3JhIDIwIGlzY3NpIHRhcmdl dHMgYXJlIHVzaW5nIHRoZSAndGFyZ2V0JyAoaWU6IGxpbykgZnJhbWV3b3JrLCB3aGljaCBzdXBw PQpvcnQgdGhlIHZhcmlvdXMgdC4xMCBzY3NpIG9mZmxvYWRzLiZuYnNwOyBWbXdhcmUgc3VwcG9y dHMgYSBzdWJzZXQgb2YgdGhlc2U9CiBjYWxsZWQgVkFBSSBhbmQgTWljcm9zb2Z0IGhhcyBhIHN1 YnNldCBjYWxsZWQgT0RYLjwvZGl2PjxkaXY+Q2xvbmluZyBpcyBvbj0KZSBpZiB0aGUgdC4xMCBl eHRlbnNpb25zIHRoYXQgdGhlIGxpbyB0YXJnZXQgZnJhbWV3b3JrIHN1cHBvcnRzLjxicj48L2Rp dj48PQpkaXY+SSBqdXN0IHRyaWVkIGNsb25pbmcgYSB2bSBhbmQgbm90aWNlZCB0aGF0IGR1cmlu ZyB0aGUgcHJvY2VzcyB0aGVyZSBpcyA9CmEgbG9mIG9mIHRyYWZmaWMgb3ZlciB0aGUgaXNjc2kg aW50ZXJmYWNlcyBvbiB0aGUgU3RvcmFnZSBQb29sIE1hbmFnZXIgaG9zdD0KIGFuZCB0aGUgaXNj c2kgdGFyZ2V0IG1hY2hpbmUuPC9kaXY+PGRpdj5XaXRoIHByb3BlciBzdXBwb3J0IGZvciB0LjEw IGNsb25pPQpuZyBJIHNob3Vkbid0IHNlZSBhbnkgdHJhZmZpYyBvbiB0aGUgaXNjaSBsaW5rcyAo b3IgdmVyeSBtaW5pbWFsCiB0cmFmZmljKTxicj48L2Rpdj48ZGl2IHN0eWxlPTNEImNvbG9yOiBy Z2IoMCwgMCwgMCk7IGZvbnQtc2l6ZTogMTJweDsgZm9udD0KLWZhbWlseTogSGVsdmV0aWNhTmV1 ZSxIZWx2ZXRpY2EgTmV1ZSxIZWx2ZXRpY2EsQXJpYWwsTHVjaWRhIEdyYW5kZSxzYW5zLXNlPQpy aWY7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij5J cyB0aGVyZSBzb21lIHdheSA9CnRvIGVuYWJsZSB0aGUgc3RvcmFnZSBvZmZsb2FkIGZ1bmN0aW9u YWxpdHkgaW4gT3ZpcnQ/PC9kaXY+PGRpdiBzdHlsZT0zRCJjbz0KbG9yOiByZ2IoMCwgMCwgMCk7 IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsSGVsdmV0aWNhIE5l PQp1ZSxIZWx2ZXRpY2EsQXJpYWwsTHVjaWRhIEdyYW5kZSxzYW5zLXNlcmlmOyBiYWNrZ3JvdW5k LWNvbG9yOiB0cmFuc3BhcmVudDs9CiBmb250LXN0eWxlOiBub3JtYWw7Ij5JZiBub3QsIGlzIHRo aXMgb24gdGhlIFZEU00gcm9hZG1hcD8mbmJzcDsgSWYgc3VwcG9ydD0KIHdlcmUgd29ya2VkIGlu IHRoaXMgc2hvdWxkIGJlIGFibGUgdG8gYmUgYXBwbGllZCB0byBGQ1AgY29ubmVjdGlvbnMgYXMg d2VsPQpsLiZuYnNwOyBUaGUgbGlvIHRhcmdldCBzdXBwb3J0cyB0aGVzZSBvZmZsb2FkcyB3aGVu IGFjdGluZyBhcyBhIEZpYmVyIENoYW49Cm5lbCB0YXJnZXQgYWxzby48YnI+PC9kaXY+PGRpdiBz dHlsZT0zRCJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LXNpemU6IDEycD0KeDsgZm9udC1mYW1p bHk6IEhlbHZldGljYU5ldWUsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLEFyaWFsLEx1Y2lkYSBH cmFuZGUsPQpzYW5zLXNlcmlmOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgZm9udC1z dHlsZTogbm9ybWFsOyI+PGJyPjwvZGl2Pjw9CmRpdiBzdHlsZT0zRCJjb2xvcjogcmdiKDAsIDAs IDApOyBmb250LXNpemU6IDEycHg7IGZvbnQtZmFtaWx5OgogSGVsdmV0aWNhTmV1ZSxIZWx2ZXRp Y2EgTmV1ZSxIZWx2ZXRpY2EsQXJpYWwsTHVjaWRhIEdyYW5kZSxzYW5zLXNlcmlmOyBiYWM9Cmtn cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBmb250LXN0eWxlOiBub3JtYWw7Ij5JJ3ZlIGFza2Vk IHRoaXMgc29tZXRpbWUgYj0KYWNrIGJ1dCB0aGVyZSBoYXNuJ3QgYmVlbiBtdWNoIGluIHRoZSB3 YXkgb2YgZGlzY3Vzc2lvbiBvbiB0aGlzIHVzZXJzIGxpc3QgPQpvciB0aGUgZGV2ZWwgbGlzdCBh Ym91dCB0aGlzIGZlYXR1cmUuPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjwvZGl2PjwvYm9keT49 CjwvaHRtbD4KLS0tMTYwMzEwMTUxNS0xOTIyMDIyMDk1LTE0MTU4NzY5NTA9Ojc4MTM2LS0K --===============5258968183615972170==-- From iheim at redhat.com Fri Dec 12 12:19:20 2014 Content-Type: multipart/mixed; boundary="===============7568681392596043403==" MIME-Version: 1.0 From: Itamar Heim To: users at ovirt.org Subject: Re: [ovirt-users] storage offload capability Date: Fri, 12 Dec 2014 10:46:22 -0500 Message-ID: <548B0DCE.4030600@redhat.com> In-Reply-To: 1415876950.78136.YahooMailNeo@web160304.mail.bf1.yahoo.com --===============7568681392596043403== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 11/13/2014 06:09 AM, Paul Jansen wrote: > I have an ovirt 3.5 cluster set up with three el7 hosts. Storage is > provided by two Fedora 20 machines and the connection is via multipath > iscsi. > The performance is quite good. The Fedora 20 iscsi targets are using > the 'target' (ie: lio) framework, which support the various t.10 scsi > offloads. Vmware supports a subset of these called VAAI and Microsoft > has a subset called ODX. > Cloning is one if the t.10 extensions that the lio target framework > supports. > I just tried cloning a vm and noticed that during the process there is a > lof of traffic over the iscsi interfaces on the Storage Pool Manager > host and the iscsi target machine. > With proper support for t.10 cloning I shoudn't see any traffic on the > isci links (or very minimal traffic) > Is there some way to enable the storage offload functionality in Ovirt? > If not, is this on the VDSM roadmap? If support were worked in this > should be able to be applied to FCP connections as well. The lio target > supports these offloads when acting as a Fiber Channel target also. > > I've asked this sometime back but there hasn't been much in the way of > discussion on this users list or the devel list about this feature. > yes, on the roadmap, tbd yet on when. netapp did a plugin enabling this = for their storage array (VSC plugin) I hope the ceph integration will provide this, though that doesn't solve = it for other type of storage domains yet. --===============7568681392596043403==-- From vlaero at yahoo.com.au Mon Dec 15 06:37:26 2014 Content-Type: multipart/mixed; boundary="===============8348458203719933378==" MIME-Version: 1.0 From: Paul Jansen To: users at ovirt.org Subject: Re: [ovirt-users] storage offload capability Date: Mon, 15 Dec 2014 11:37:24 +0000 Message-ID: <1885607432.201949.1418643444273.JavaMail.yahoo@jws10632.mail.bf1.yahoo.com> In-Reply-To: 548B0DCE.4030600@redhat.com --===============8348458203719933378== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ------=3D_Part_201948_1189109289.1418643444268 Content-Type: text/plain; charset=3DUTF-8 Content-Transfer-Encoding: quoted-printable Thanks Itamar.I heard the other day that NFS v4.2 is supposed to contain se= =3D rver side copy, so it's possible that we might see this kind of support in = =3D one of more storage domain available to ovirt at some stage perhaps next ye= =3D ar (in Fedora at least).Is this something that Gluster will also likely pro= =3D vide in a subsequent release once we have proper gfapi support? I'd be interested to hear if others on the list are clamouring for server s= =3D ide offload support in some form. From: Itamar Heim To: Paul Jansen ; users=3D20 Sent: Saturday, 13 December 2014, 2:16 Subject: Re: [ovirt-users] storage offload capability =3D20 On 11/13/2014 06:09 AM, Paul Jansen wrote: > I have an ovirt 3.5 cluster set up with three el7 hosts.=3DC2=3DA0 Storag= e is > provided by two Fedora 20 machines and the connection is via multipath > iscsi. > The performance is quite good.=3DC2=3DA0 The Fedora 20 iscsi targets are = usin=3D g > the 'target' (ie: lio) framework, which support the various t.10 scsi > offloads.=3DC2=3DA0 Vmware supports a subset of these called VAAI and Mic= roso=3D ft > has a subset called ODX. > Cloning is one if the t.10 extensions that the lio target framework > supports. > I just tried cloning a vm and noticed that during the process there is a > lof of traffic over the iscsi interfaces on the Storage Pool Manager > host and the iscsi target machine. > With proper support for t.10 cloning I shoudn't see any traffic on the > isci links (or very minimal traffic) > Is there some way to enable the storage offload functionality in Ovirt? > If not, is this on the VDSM roadmap?=3DC2=3DA0 If support were worked in = this > should be able to be applied to FCP connections as well.=3DC2=3DA0 The li= o ta=3D rget > supports these offloads when acting as a Fiber Channel target also. > > I've asked this sometime back but there hasn't been much in the way of > discussion on this users list or the devel list about this feature. > yes, on the roadmap, tbd yet on when. netapp did a plugin enabling this=3D20 for their storage array (VSC plugin) I hope the ceph integration will provide this, though that doesn't solve=3D= 20 it for other type of storage domains yet. = ------=3D_Part_201948_1189109289.1418643444268 Content-Type: text/html; charset=3DUTF-8 Content-Transfer-Encoding: quoted-printable
T= hank=3D s Itamar.
= I he=3D ard the other day that NFS v4.2 is supposed to contain server side copy, so= =3D it's possible that we might see this kind of support in one of more storag= =3D e domain available to ovirt at some stage perhaps next year (in Fedora at l= =3D east).
Is = this=3D something that Gluster will also likely provide in a subsequent release on= =3D ce we have proper gfapi support?

I'd be interested to hear if others on the list are clamouring = fo=3D r server side offload support in some form.


From: I= tama=3D r Heim
To: Paul Jans= en=3D ; users
Sent: Satu= rd=3D ay, 13 December 2014, 2:16
Subj= ec=3D t: Re: [ovirt-users] storage offload capability
On 11/13/2014 06:09 AM, Paul Jansen wrote:
=

> I have an ovirt 3.5 cluster set up with three el7 hosts.  Stor= =3D age is
> provided by two Fedora 20 machines and the = co=3D nnection is via multipath
> iscsi.
&=3D gt; The performance is quite good.  The Fedora 20 iscsi targets are us= =3D ing
> the 'target' (ie: lio) framework, which suppor= t =3D the various t.10 scsi
> offloads.  Vmware suppo= rt=3D s a subset of these called VAAI and Microsoft
> has = a =3D subset called ODX.
> Cloning is one if the t.10 exte= ns=3D ions that the lio target framework
> supports.
> I just tried cloning a vm and noticed that during the pro= ce=3D ss there is a
> lof of traffic over the iscsi interf= ac=3D es on the Storage Pool Manager
> host and the iscsi = ta=3D rget machine.
> With proper support for t.10 cloning= I=3D shoudn't see any traffic on the
> isci links (or ve= ry=3D minimal traffic)
> Is there some way to enable the = st=3D orage offload functionality in Ovirt?
> If not, is t= hi=3D s on the VDSM roadmap?  If support were worked in this
> should be able to be applied to FCP connections as well.  The = =3D lio target
> supports these offloads when acting as = a =3D Fiber Channel target also.
>
>= ; I'=3D ve asked this sometime back but there hasn't been much in the way of
> discussion on this users list or the devel list about th= is=3D feature.

>

yes, on the roadmap, tbd yet on when. netapp did a plugin enabling this for their storage array (VSC plugin)
I h=3D ope the ceph integration will provide this, though that doesn't solve
it for other type of storage domains yet.



=3D
------=3D_Part_201948_1189109289.1418643444268-- --===============8348458203719933378== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" LS0tLS0tPV9QYXJ0XzIwMTk0OF8xMTg5MTA5Mjg5LjE0MTg2NDM0NDQyNjgKQ29udGVudC1UeXBl OiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1 b3RlZC1wcmludGFibGUKClRoYW5rcyBJdGFtYXIuSSBoZWFyZCB0aGUgb3RoZXIgZGF5IHRoYXQg TkZTIHY0LjIgaXMgc3VwcG9zZWQgdG8gY29udGFpbiBzZT0KcnZlciBzaWRlIGNvcHksIHNvIGl0 J3MgcG9zc2libGUgdGhhdCB3ZSBtaWdodCBzZWUgdGhpcyBraW5kIG9mIHN1cHBvcnQgaW4gPQpv bmUgb2YgbW9yZSBzdG9yYWdlIGRvbWFpbiBhdmFpbGFibGUgdG8gb3ZpcnQgYXQgc29tZSBzdGFn ZSBwZXJoYXBzIG5leHQgeWU9CmFyIChpbiBGZWRvcmEgYXQgbGVhc3QpLklzIHRoaXMgc29tZXRo aW5nIHRoYXQgR2x1c3RlciB3aWxsIGFsc28gbGlrZWx5IHBybz0KdmlkZSBpbiBhIHN1YnNlcXVl bnQgcmVsZWFzZSBvbmNlIHdlIGhhdmUgcHJvcGVyIGdmYXBpIHN1cHBvcnQ/CkknZCBiZSBpbnRl cmVzdGVkIHRvIGhlYXIgaWYgb3RoZXJzIG9uIHRoZSBsaXN0IGFyZSBjbGFtb3VyaW5nIGZvciBz ZXJ2ZXIgcz0KaWRlIG9mZmxvYWQgc3VwcG9ydCBpbiBzb21lIGZvcm0uCgogICAgICBGcm9tOiBJ dGFtYXIgSGVpbQogVG86IFBhdWwgSmFuc2VuIDsgdXNlcnM9MjAKIFNlbnQ6IFNhdHVyZGF5LCAx MyBEZWNlbWJlciAyMDE0LCAyOjE2CiBTdWJqZWN0OiBSZTogW292aXJ0LXVzZXJzXSBzdG9yYWdl IG9mZmxvYWQgY2FwYWJpbGl0eQogID0yMApPbiAxMS8xMy8yMDE0IDA2OjA5IEFNLCBQYXVsIEph bnNlbiB3cm90ZToKCgo+IEkgaGF2ZSBhbiBvdmlydCAzLjUgY2x1c3RlciBzZXQgdXAgd2l0aCB0 aHJlZSBlbDcgaG9zdHMuPUMyPUEwIFN0b3JhZ2UgaXMKPiBwcm92aWRlZCBieSB0d28gRmVkb3Jh IDIwIG1hY2hpbmVzIGFuZCB0aGUgY29ubmVjdGlvbiBpcyB2aWEgbXVsdGlwYXRoCj4gaXNjc2ku Cj4gVGhlIHBlcmZvcm1hbmNlIGlzIHF1aXRlIGdvb2QuPUMyPUEwIFRoZSBGZWRvcmEgMjAgaXNj c2kgdGFyZ2V0cyBhcmUgdXNpbj0KZwo+IHRoZSAndGFyZ2V0JyAoaWU6IGxpbykgZnJhbWV3b3Jr LCB3aGljaCBzdXBwb3J0IHRoZSB2YXJpb3VzIHQuMTAgc2NzaQo+IG9mZmxvYWRzLj1DMj1BMCBW bXdhcmUgc3VwcG9ydHMgYSBzdWJzZXQgb2YgdGhlc2UgY2FsbGVkIFZBQUkgYW5kIE1pY3Jvc289 CmZ0Cj4gaGFzIGEgc3Vic2V0IGNhbGxlZCBPRFguCj4gQ2xvbmluZyBpcyBvbmUgaWYgdGhlIHQu MTAgZXh0ZW5zaW9ucyB0aGF0IHRoZSBsaW8gdGFyZ2V0IGZyYW1ld29yawo+IHN1cHBvcnRzLgo+ IEkganVzdCB0cmllZCBjbG9uaW5nIGEgdm0gYW5kIG5vdGljZWQgdGhhdCBkdXJpbmcgdGhlIHBy b2Nlc3MgdGhlcmUgaXMgYQo+IGxvZiBvZiB0cmFmZmljIG92ZXIgdGhlIGlzY3NpIGludGVyZmFj ZXMgb24gdGhlIFN0b3JhZ2UgUG9vbCBNYW5hZ2VyCj4gaG9zdCBhbmQgdGhlIGlzY3NpIHRhcmdl dCBtYWNoaW5lLgo+IFdpdGggcHJvcGVyIHN1cHBvcnQgZm9yIHQuMTAgY2xvbmluZyBJIHNob3Vk bid0IHNlZSBhbnkgdHJhZmZpYyBvbiB0aGUKPiBpc2NpIGxpbmtzIChvciB2ZXJ5IG1pbmltYWwg dHJhZmZpYykKPiBJcyB0aGVyZSBzb21lIHdheSB0byBlbmFibGUgdGhlIHN0b3JhZ2Ugb2ZmbG9h ZCBmdW5jdGlvbmFsaXR5IGluIE92aXJ0Pwo+IElmIG5vdCwgaXMgdGhpcyBvbiB0aGUgVkRTTSBy b2FkbWFwPz1DMj1BMCBJZiBzdXBwb3J0IHdlcmUgd29ya2VkIGluIHRoaXMKPiBzaG91bGQgYmUg YWJsZSB0byBiZSBhcHBsaWVkIHRvIEZDUCBjb25uZWN0aW9ucyBhcyB3ZWxsLj1DMj1BMCBUaGUg bGlvIHRhPQpyZ2V0Cj4gc3VwcG9ydHMgdGhlc2Ugb2ZmbG9hZHMgd2hlbiBhY3RpbmcgYXMgYSBG aWJlciBDaGFubmVsIHRhcmdldCBhbHNvLgo+Cj4gSSd2ZSBhc2tlZCB0aGlzIHNvbWV0aW1lIGJh Y2sgYnV0IHRoZXJlIGhhc24ndCBiZWVuIG11Y2ggaW4gdGhlIHdheSBvZgo+IGRpc2N1c3Npb24g b24gdGhpcyB1c2VycyBsaXN0IG9yIHRoZSBkZXZlbCBsaXN0IGFib3V0IHRoaXMgZmVhdHVyZS4K PgoKeWVzLCBvbiB0aGUgcm9hZG1hcCwgdGJkIHlldCBvbiB3aGVuLiBuZXRhcHAgZGlkIGEgcGx1 Z2luIGVuYWJsaW5nIHRoaXM9MjAKZm9yIHRoZWlyIHN0b3JhZ2UgYXJyYXkgKFZTQyBwbHVnaW4p CkkgaG9wZSB0aGUgY2VwaCBpbnRlZ3JhdGlvbiB3aWxsIHByb3ZpZGUgdGhpcywgdGhvdWdoIHRo YXQgZG9lc24ndCBzb2x2ZT0yMAppdCBmb3Igb3RoZXIgdHlwZSBvZiBzdG9yYWdlIGRvbWFpbnMg eWV0LgoKCgogIAotLS0tLS09X1BhcnRfMjAxOTQ4XzExODkxMDkyODkuMTQxODY0MzQ0NDI2OApD b250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVu Y29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCgo8aHRtbD48Ym9keT48ZGl2IHN0eWxlPTNEImNvbG9y OiMwMDA7IGJhY2tncm91bmQtY29sb3I6I2ZmZjsgZm9udC1mYW1pbHk6SGU9Cmx2ZXRpY2FOZXVl LCBIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRhIEdyYW5kZSwgU2Fucy1T ZXJpZjtmbz0KbnQtc2l6ZToxMnB4Ij48ZGl2IGRpcj0zRCJsdHIiIGlkPTNEInl1aV8zXzE2XzBf MV8xNDE4NjQzMTI3OTkyXzI2NjUiPlRoYW5rPQpzIEl0YW1hci48L2Rpdj48ZGl2IGlkPTNEInl1 aV8zXzE2XzBfMV8xNDE4NjQzMTI3OTkyXzI3MDEiIGRpcj0zRCJsdHIiPkkgaGU9CmFyZCB0aGUg b3RoZXIgZGF5IHRoYXQgTkZTIHY0LjIgaXMgc3VwcG9zZWQgdG8gY29udGFpbiBzZXJ2ZXIgc2lk ZSBjb3B5LCBzbz0KIGl0J3MgcG9zc2libGUgdGhhdCB3ZSBtaWdodCBzZWUgdGhpcyBraW5kIG9m IHN1cHBvcnQgaW4gb25lIG9mIG1vcmUgc3RvcmFnPQplIGRvbWFpbiBhdmFpbGFibGUgdG8gb3Zp cnQgYXQgc29tZSBzdGFnZSBwZXJoYXBzIG5leHQgeWVhciAoaW4gRmVkb3JhIGF0IGw9CmVhc3Qp LjwvZGl2PjxkaXYgaWQ9M0QieXVpXzNfMTZfMF8xXzE0MTg2NDMxMjc5OTJfMjcwMCIgZGlyPTNE Imx0ciI+SXMgdGhpcz0KIHNvbWV0aGluZyB0aGF0IEdsdXN0ZXIgd2lsbCBhbHNvIGxpa2VseSBw cm92aWRlIGluIGEgc3Vic2VxdWVudCByZWxlYXNlIG9uPQpjZSB3ZSBoYXZlIHByb3BlciBnZmFw aSBzdXBwb3J0PzwvZGl2PjxkaXYgaWQ9M0QieXVpXzNfMTZfMF8xXzE0MTg2NDMxMjc5OTI9Cl8y ODkyIiBkaXI9M0QibHRyIj48YnI+PC9kaXY+PGRpdiBpZD0zRCJ5dWlfM18xNl8wXzFfMTQxODY0 MzEyNzk5Ml8yOTAxIiBkaT0Kcj0zRCJsdHIiPkknZCBiZSBpbnRlcmVzdGVkIHRvIGhlYXIgaWYg b3RoZXJzIG9uIHRoZSBsaXN0IGFyZSBjbGFtb3VyaW5nIGZvPQpyIHNlcnZlciBzaWRlIG9mZmxv YWQgc3VwcG9ydCBpbiBzb21lIGZvcm0uPGJyPjwvZGl2PjxkaXYgaWQ9M0QieXVpXzNfMTZfMF89 CjFfMTQxODY0MzEyNzk5Ml8yNjk5Ij48YnI+ICA8L2Rpdj48ZGl2IGlkPTNEInl1aV8zXzE2XzBf MV8xNDE4NjQzMTI3OTkyXzI2MD0KMCIgc3R5bGU9M0QiZm9udC1mYW1pbHk6IEhlbHZldGljYU5l dWUsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIEFyaWFsLCBMPQp1Y2lkYSBHcmFuZGUsIFNh bnMtU2VyaWY7IGZvbnQtc2l6ZTogMTJweDsiPiA8ZGl2IGlkPTNEInl1aV8zXzE2XzBfMV8xNDE4 NjQ9CjMxMjc5OTJfMjU5OSIgc3R5bGU9M0QiZm9udC1mYW1pbHk6IEhlbHZldGljYU5ldWUsIEhl bHZldGljYSBOZXVlLCBIZWx2ZXRpYz0KYSwgQXJpYWwsIEx1Y2lkYSBHcmFuZGUsIFNhbnMtU2Vy aWY7IGZvbnQtc2l6ZTogMTJweDsiPiA8ZGl2IGlkPTNEInl1aV8zXzE2PQpfMF8xXzE0MTg2NDMx Mjc5OTJfMjY1OSIgZGlyPTNEImx0ciI+IDxociBpZD0zRCJ5dWlfM18xNl8wXzFfMTQxODY0MzEy Nzk5Ml89CjI5MDYiIHNpemU9M0QiMSI+ICA8Zm9udCBpZD0zRCJ5dWlfM18xNl8wXzFfMTQxODY0 MzEyNzk5Ml8yNjU4IiBmYWNlPTNEIkFyaT0KYWwiIHNpemU9M0QiMiI+IDxiPjxzcGFuIHN0eWxl PTNEImZvbnQtd2VpZ2h0OmJvbGQ7Ij5Gcm9tOjwvc3Bhbj48L2I+IEl0YW1hPQpyIEhlaW08YnI+ IDxiPjxzcGFuIHN0eWxlPTNEImZvbnQtd2VpZ2h0OiBib2xkOyI+VG86PC9zcGFuPjwvYj4gUGF1 bCBKYW5zZW49CiA7IHVzZXJzIDxicj4gPGI+PHNwYW4gc3R5bGU9M0QiZm9udC13ZWlnaHQ6IGJv bGQ7Ij5TZW50Ojwvc3Bhbj48L2I+IFNhdHVyZD0KYXksIDEzIERlY2VtYmVyIDIwMTQsIDI6MTY8 YnI+IDxiPjxzcGFuIHN0eWxlPTNEImZvbnQtd2VpZ2h0OiBib2xkOyI+U3ViamVjPQp0Ojwvc3Bh bj48L2I+IFJlOiBbb3ZpcnQtdXNlcnNdIHN0b3JhZ2Ugb2ZmbG9hZCBjYXBhYmlsaXR5PGJyPiA8 L2ZvbnQ+IDwvZGk9CnY+IDxkaXYgaWQ9M0QieXVpXzNfMTZfMF8xXzE0MTg2NDMxMjc5OTJfMjU5 OCIgY2xhc3M9M0QieV9tc2dfY29udGFpbmVyIj48Yj0Kcj5PbiAxMS8xMy8yMDE0IDA2OjA5IEFN LCBQYXVsIEphbnNlbiB3cm90ZTo8ZGl2IGNsYXNzPTNEInF0ZFNlcGFyYXRlQlIiPjxiPQpyPjxi cj48L2Rpdj48ZGl2IGNsYXNzPTNEInlxdDcwMzk5MTc5NDUiIGlkPTNEInlxdGZkODgzNTYiPjxi ciBjbGVhcj0zRCJub249CmUiPiZndDsgSSBoYXZlIGFuIG92aXJ0IDMuNSBjbHVzdGVyIHNldCB1 cCB3aXRoIHRocmVlIGVsNyBob3N0cy4mbmJzcDsgU3Rvcj0KYWdlIGlzPGJyIGNsZWFyPTNEIm5v bmUiPiZndDsgcHJvdmlkZWQgYnkgdHdvIEZlZG9yYSAyMCBtYWNoaW5lcyBhbmQgdGhlIGNvPQpu bmVjdGlvbiBpcyB2aWEgbXVsdGlwYXRoPGJyIGNsZWFyPTNEIm5vbmUiPiZndDsgaXNjc2kuPGJy IGNsZWFyPTNEIm5vbmUiPiY9Cmd0OyBUaGUgcGVyZm9ybWFuY2UgaXMgcXVpdGUgZ29vZC4mbmJz cDsgVGhlIEZlZG9yYSAyMCBpc2NzaSB0YXJnZXRzIGFyZSB1cz0KaW5nPGJyIGNsZWFyPTNEIm5v bmUiPiZndDsgdGhlICd0YXJnZXQnIChpZTogbGlvKSBmcmFtZXdvcmssIHdoaWNoIHN1cHBvcnQg PQp0aGUgdmFyaW91cyB0LjEwIHNjc2k8YnIgY2xlYXI9M0Qibm9uZSI+Jmd0OyBvZmZsb2Fkcy4m bmJzcDsgVm13YXJlIHN1cHBvcnQ9CnMgYSBzdWJzZXQgb2YgdGhlc2UgY2FsbGVkIFZBQUkgYW5k IE1pY3Jvc29mdDxiciBjbGVhcj0zRCJub25lIj4mZ3Q7IGhhcyBhID0Kc3Vic2V0IGNhbGxlZCBP RFguPGJyIGNsZWFyPTNEIm5vbmUiPiZndDsgQ2xvbmluZyBpcyBvbmUgaWYgdGhlIHQuMTAgZXh0 ZW5zPQppb25zIHRoYXQgdGhlIGxpbyB0YXJnZXQgZnJhbWV3b3JrPGJyIGNsZWFyPTNEIm5vbmUi PiZndDsgc3VwcG9ydHMuPGJyIGNsZWE9CnI9M0Qibm9uZSI+Jmd0OyBJIGp1c3QgdHJpZWQgY2xv bmluZyBhIHZtIGFuZCBub3RpY2VkIHRoYXQgZHVyaW5nIHRoZSBwcm9jZT0Kc3MgdGhlcmUgaXMg YTxiciBjbGVhcj0zRCJub25lIj4mZ3Q7IGxvZiBvZiB0cmFmZmljIG92ZXIgdGhlIGlzY3NpIGlu dGVyZmFjPQplcyBvbiB0aGUgU3RvcmFnZSBQb29sIE1hbmFnZXI8YnIgY2xlYXI9M0Qibm9uZSI+ Jmd0OyBob3N0IGFuZCB0aGUgaXNjc2kgdGE9CnJnZXQgbWFjaGluZS48YnIgY2xlYXI9M0Qibm9u ZSI+Jmd0OyBXaXRoIHByb3BlciBzdXBwb3J0IGZvciB0LjEwIGNsb25pbmcgST0KIHNob3Vkbid0 IHNlZSBhbnkgdHJhZmZpYyBvbiB0aGU8YnIgY2xlYXI9M0Qibm9uZSI+Jmd0OyBpc2NpIGxpbmtz IChvciB2ZXJ5PQogbWluaW1hbCB0cmFmZmljKTxiciBjbGVhcj0zRCJub25lIj4mZ3Q7IElzIHRo ZXJlIHNvbWUgd2F5IHRvIGVuYWJsZSB0aGUgc3Q9Cm9yYWdlIG9mZmxvYWQgZnVuY3Rpb25hbGl0 eSBpbiBPdmlydD88YnIgY2xlYXI9M0Qibm9uZSI+Jmd0OyBJZiBub3QsIGlzIHRoaT0KcyBvbiB0 aGUgVkRTTSByb2FkbWFwPyZuYnNwOyBJZiBzdXBwb3J0IHdlcmUgd29ya2VkIGluIHRoaXM8YnIg Y2xlYXI9M0Qibm9uPQplIj4mZ3Q7IHNob3VsZCBiZSBhYmxlIHRvIGJlIGFwcGxpZWQgdG8gRkNQ IGNvbm5lY3Rpb25zIGFzIHdlbGwuJm5ic3A7IFRoZSA9CmxpbyB0YXJnZXQ8YnIgY2xlYXI9M0Qi bm9uZSI+Jmd0OyBzdXBwb3J0cyB0aGVzZSBvZmZsb2FkcyB3aGVuIGFjdGluZyBhcyBhID0KRmli ZXIgQ2hhbm5lbCB0YXJnZXQgYWxzby48YnIgY2xlYXI9M0Qibm9uZSI+Jmd0OzxiciBjbGVhcj0z RCJub25lIj4mZ3Q7IEknPQp2ZSBhc2tlZCB0aGlzIHNvbWV0aW1lIGJhY2sgYnV0IHRoZXJlIGhh c24ndCBiZWVuIG11Y2ggaW4gdGhlIHdheSBvZjxiciBjbGU9CmFyPTNEIm5vbmUiPiZndDsgZGlz Y3Vzc2lvbiBvbiB0aGlzIHVzZXJzIGxpc3Qgb3IgdGhlIGRldmVsIGxpc3QgYWJvdXQgdGhpcz0K IGZlYXR1cmUuPC9kaXY+PGJyIGNsZWFyPTNEIm5vbmUiPiZndDs8YnIgY2xlYXI9M0Qibm9uZSI+ PGJyIGNsZWFyPTNEIm5vbmUiPQo+eWVzLCBvbiB0aGUgcm9hZG1hcCwgdGJkIHlldCBvbiB3aGVu LiBuZXRhcHAgZGlkIGEgcGx1Z2luIGVuYWJsaW5nIHRoaXMgPGI9CnIgY2xlYXI9M0Qibm9uZSI+ Zm9yIHRoZWlyIHN0b3JhZ2UgYXJyYXkgKFZTQyBwbHVnaW4pPGJyIGNsZWFyPTNEIm5vbmUiPkkg aD0Kb3BlIHRoZSBjZXBoIGludGVncmF0aW9uIHdpbGwgcHJvdmlkZSB0aGlzLCB0aG91Z2ggdGhh dCBkb2Vzbid0IHNvbHZlIDxiciBjPQpsZWFyPTNEIm5vbmUiPml0IGZvciBvdGhlciB0eXBlIG9m IHN0b3JhZ2UgZG9tYWlucyB5ZXQuPGRpdiBjbGFzcz0zRCJ5cXQ3MDM9Cjk5MTc5NDUiIGlkPTNE InlxdGZkMDc0MDkiPjxiciBjbGVhcj0zRCJub25lIj48YnIgY2xlYXI9M0Qibm9uZSI+PC9kaXY+ PGJyPj0KPGJyPjwvZGl2PiA8L2Rpdj4gPC9kaXY+ICA8L2Rpdj48L2JvZHk+PC9odG1sPgotLS0t LS09X1BhcnRfMjAxOTQ4XzExODkxMDkyODkuMTQxODY0MzQ0NDI2OC0tCg== --===============8348458203719933378==--