From michal.skrivanek at redhat.com Wed May 11 09:40:25 2016 Content-Type: multipart/mixed; boundary="===============4969208960663662688==" MIME-Version: 1.0 From: Michal Skrivanek To: users at ovirt.org Subject: Re: [ovirt-users] SELinux and oVirt Date: Wed, 11 May 2016 15:40:22 +0200 Message-ID: In-Reply-To: CAJGJ8tRiuOkJPfh=ZbSaw+OS-UTOO-YyGBpgck=6D2m=+uk2tw@mail.gmail.com --===============4969208960663662688== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --Apple-Mail=3D_CDE436FE-61F8-4137-8BB4-CE456B791151 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=3Dutf-8 > On 11 May 2016, at 15:24, Cam Mac wrote: >=3D20 > Thanks Michal, if reinstalling the engine, (which also had SELinux =3D disabled at install), would the best way be to backup the engine and =3D then restore just the ovirt config? for engine..well, VM security is not related to that, those are running =3D on hypervisors, not the engine. So for any functionality/security it=3DE2= =3D80=3D =3D99s irrelevant what SELinux state it=3DE2=3D80=3D99s in I=3DE2=3D80=3D99m not sure if relabeling with restorecon is not enough (it = =3D sould work also on nodes, but as I said, it=3DE2=3D80=3D99s likely more saf= e =3D to reinstall just to be really really sure:) Simone, am I right about the restorecon for engine? >=3D20 > Cheers, >=3D20 > Cam >=3D20 > On Wed, May 11, 2016 at 2:14 PM, Michal Skrivanek =3D > =3D wrote: >=3D20 > > On 11 May 2016, at 15:02, Cam Mac > wrote: > > > > Hi, > > > > In the oVirt guide, it says that "SELinux is being used by default =3D on oVirt Node", but then goes on to say that if you have problems you =3D should set it to permissive mode. I have had a few things fail due to =3D being blocked by SELinux on a node I later enabled SELinux on, as it was = =3D off at install time. The other node which has had SELinux on from the =3D start and so far has not had any oVirt operations blocked. I am guessing = =3D that the oVirt install process creates the necessary rules to allow vdsm = =3D to run under SELinux. So if you want to set SELinux to enforcing after =3D installation, is there a script to do this, or is it better to just =3D reinstall the node or engine, rather than trying to work out the =3D individual exceptions? >=3D20 > For oVirt node it=3DE2=3D80=3D99s easier to reinstall it, it doesn=3DE2= =3D80=3D99t =3D persist much and it=3DE2=3D80=3D99s the easies way how to get the labelling= =3D right >=3D20 > Thanks, > michal >=3D20 > > > > Thanks, > > > > Cam > > _______________________________________________ > > Users mailing list > > Users(a)ovirt.org > > http://lists.ovirt.org/mailman/listinfo/users =3D >=3D20 >=3D20 > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users --Apple-Mail=3D_CDE436FE-61F8-4137-8BB4-CE456B791151 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=3Dutf-8
On 11 May 2016, at 15:24, Cam Mac <iucounu(a)gmail.com&= gt; =3D wrote:

Thanks Michal, if reinstalling the engine, (whic= h =3D also had SELinux disabled at install), would the best way be to backup =3D the engine and then restore just the ovirt =3D config?

for =3D engine..well, VM security is not related to that, those are running on =3D hypervisors, not the engine. So for any functionality/security it=3DE2=3D80= =3D99=3D s irrelevant what SELinux state it=3DE2=3D80=3D99s in
I=3DE2=3D80= =3D99m =3D not sure if relabeling with restorecon is not enough (it sould work also = =3D on nodes, but as I said, it=3DE2=3D80=3D99s likely more safe to reinstall j= ust =3D to be really really sure:)
Simone, am I right about the =3D restorecon for engine?


Cheers,

Cam

On We= d, =3D May 11, 2016 at 2:14 PM, Michal Skrivanek <michal.skrivanek(a)redhat.com> =3D wrote:
> On 11 May 2016, at 15:02, Cam Mac <iucounu(a)gmail.com&= gt; =3D wrote:
>
> Hi,
>
> In the oVirt guide, it says that "SELinux is being used by default =3D on oVirt Node", but then goes on to say that if you have problems you =3D should set it to permissive mode. I have had a few things fail due to =3D being blocked by SELinux on a node I later enabled SELinux on, as it was = =3D off at install time. The other node which has had SELinux on from the =3D start and so far has not had any oVirt operations blocked. I am guessing = =3D that the oVirt install process creates the necessary rules to allow vdsm = =3D to run under SELinux. So if you want to set SELinux to enforcing after =3D installation, is there a script to do this, or is it better to just =3D reinstall the node or engine, rather than trying to work out the =3D individual exceptions?

For oVirt node it=3DE2=3D80=3D99s easier to reinstall it, it doesn= =3DE2=3D80=3D99=3D t persist much and it=3DE2=3D80=3D99s the easies way how to get the labelli= ng =3D right

Thanks,
michal

>
> Thanks,
>
> Cam
> _______________________________________________
> Users mailing list
> Users(a)ovirt.org<= /a>
>
http://lists.ovirt.org/mailman/listinfo/users


_______________________________________________
Users =3D mailing list
Users(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/users

=3D --Apple-Mail=3D_CDE436FE-61F8-4137-8BB4-CE456B791151-- --===============4969208960663662688== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" Ci0tQXBwbGUtTWFpbD1fQ0RFNDM2RkUtNjFGOC00MTM3LThCQjQtQ0U0NTZCNzkxMTUxCkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKQ29udGVudC1UeXBlOiB0ZXh0 L3BsYWluOwoJY2hhcnNldD11dGYtOAoKCj4gT24gMTEgTWF5IDIwMTYsIGF0IDE1OjI0LCBDYW0g TWFjIDxpdWNvdW51QGdtYWlsLmNvbT4gd3JvdGU6Cj49MjAKPiBUaGFua3MgTWljaGFsLCBpZiBy ZWluc3RhbGxpbmcgdGhlIGVuZ2luZSwgKHdoaWNoIGFsc28gaGFkIFNFTGludXggPQpkaXNhYmxl ZCBhdCBpbnN0YWxsKSwgd291bGQgdGhlIGJlc3Qgd2F5IGJlIHRvIGJhY2t1cCB0aGUgZW5naW5l IGFuZCA9CnRoZW4gcmVzdG9yZSBqdXN0IHRoZSBvdmlydCBjb25maWc/Cgpmb3IgZW5naW5lLi53 ZWxsLCBWTSBzZWN1cml0eSBpcyBub3QgcmVsYXRlZCB0byB0aGF0LCB0aG9zZSBhcmUgcnVubmlu ZyA9Cm9uIGh5cGVydmlzb3JzLCBub3QgdGhlIGVuZ2luZS4gU28gZm9yIGFueSBmdW5jdGlvbmFs aXR5L3NlY3VyaXR5IGl0PUUyPTgwPQo9OTlzIGlycmVsZXZhbnQgd2hhdCBTRUxpbnV4IHN0YXRl IGl0PUUyPTgwPTk5cyBpbgpJPUUyPTgwPTk5bSBub3Qgc3VyZSBpZiByZWxhYmVsaW5nIHdpdGgg cmVzdG9yZWNvbiBpcyBub3QgZW5vdWdoIChpdCA9CnNvdWxkIHdvcmsgYWxzbyBvbiBub2Rlcywg YnV0IGFzIEkgc2FpZCwgaXQ9RTI9ODA9OTlzIGxpa2VseSBtb3JlIHNhZmUgPQp0byByZWluc3Rh bGwganVzdCB0byBiZSByZWFsbHkgcmVhbGx5IHN1cmU6KQpTaW1vbmUsIGFtIEkgcmlnaHQgYWJv dXQgdGhlIHJlc3RvcmVjb24gZm9yIGVuZ2luZT8KCj49MjAKPiBDaGVlcnMsCj49MjAKPiBDYW0K Pj0yMAo+IE9uIFdlZCwgTWF5IDExLCAyMDE2IGF0IDI6MTQgUE0sIE1pY2hhbCBTa3JpdmFuZWsg PQo8bWljaGFsLnNrcml2YW5la0ByZWRoYXQuY29tIDxtYWlsdG86bWljaGFsLnNrcml2YW5la0By ZWRoYXQuY29tPj4gPQp3cm90ZToKPj0yMAo+ID4gT24gMTEgTWF5IDIwMTYsIGF0IDE1OjAyLCBD YW0gTWFjIDxpdWNvdW51QGdtYWlsLmNvbSA9CjxtYWlsdG86aXVjb3VudUBnbWFpbC5jb20+PiB3 cm90ZToKPiA+Cj4gPiBIaSwKPiA+Cj4gPiBJbiB0aGUgb1ZpcnQgZ3VpZGUsIGl0IHNheXMgdGhh dCAiU0VMaW51eCBpcyBiZWluZyB1c2VkIGJ5IGRlZmF1bHQgPQpvbiBvVmlydCBOb2RlIiwgYnV0 IHRoZW4gZ29lcyBvbiB0byBzYXkgdGhhdCBpZiB5b3UgaGF2ZSBwcm9ibGVtcyB5b3UgPQpzaG91 bGQgc2V0IGl0IHRvIHBlcm1pc3NpdmUgbW9kZS4gSSBoYXZlIGhhZCBhIGZldyB0aGluZ3MgZmFp bCBkdWUgdG8gPQpiZWluZyBibG9ja2VkIGJ5IFNFTGludXggb24gYSBub2RlIEkgbGF0ZXIgZW5h YmxlZCBTRUxpbnV4IG9uLCBhcyBpdCB3YXMgPQpvZmYgYXQgaW5zdGFsbCB0aW1lLiBUaGUgb3Ro ZXIgbm9kZSB3aGljaCBoYXMgaGFkIFNFTGludXggb24gZnJvbSB0aGUgPQpzdGFydCBhbmQgc28g ZmFyIGhhcyBub3QgaGFkIGFueSBvVmlydCBvcGVyYXRpb25zIGJsb2NrZWQuIEkgYW0gZ3Vlc3Np bmcgPQp0aGF0IHRoZSBvVmlydCBpbnN0YWxsIHByb2Nlc3MgY3JlYXRlcyB0aGUgbmVjZXNzYXJ5 IHJ1bGVzIHRvIGFsbG93IHZkc20gPQp0byBydW4gdW5kZXIgU0VMaW51eC4gU28gaWYgeW91IHdh bnQgdG8gc2V0IFNFTGludXggdG8gZW5mb3JjaW5nIGFmdGVyID0KaW5zdGFsbGF0aW9uLCBpcyB0 aGVyZSBhIHNjcmlwdCB0byBkbyB0aGlzLCBvciBpcyBpdCBiZXR0ZXIgdG8ganVzdCA9CnJlaW5z dGFsbCB0aGUgbm9kZSBvciBlbmdpbmUsIHJhdGhlciB0aGFuIHRyeWluZyB0byB3b3JrIG91dCB0 aGUgPQppbmRpdmlkdWFsIGV4Y2VwdGlvbnM/Cj49MjAKPiBGb3Igb1ZpcnQgbm9kZSBpdD1FMj04 MD05OXMgZWFzaWVyIHRvIHJlaW5zdGFsbCBpdCwgaXQgZG9lc249RTI9ODA9OTl0ID0KcGVyc2lz dCBtdWNoIGFuZCBpdD1FMj04MD05OXMgdGhlIGVhc2llcyB3YXkgaG93IHRvIGdldCB0aGUgbGFi ZWxsaW5nID0KcmlnaHQKPj0yMAo+IFRoYW5rcywKPiBtaWNoYWwKPj0yMAo+ID4KPiA+IFRoYW5r cywKPiA+Cj4gPiBDYW0KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gPiBVc2VycyBtYWlsaW5nIGxpc3QKPiA+IFVzZXJzQG92aXJ0Lm9yZyA8bWFp bHRvOlVzZXJzQG92aXJ0Lm9yZz4KPiA+IGh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9s aXN0aW5mby91c2VycyA9CjxodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8v dXNlcnM+Cj49MjAKPj0yMAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCj4gVXNlcnMgbWFpbGluZyBsaXN0Cj4gVXNlcnNAb3ZpcnQub3JnCj4gaHR0cDov L2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzCgoKLS1BcHBsZS1NYWlsPV9D REU0MzZGRS02MUY4LTQxMzctOEJCNC1DRTQ1NkI3OTExNTEKQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogcXVvdGVkLXByaW50YWJsZQpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsKCWNoYXJzZXQ9 dXRmLTgKCjxodG1sPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9M0QiQ29udGVudC1UeXBlIiBjb250 ZW50PTNEInRleHQvaHRtbCA9CmNoYXJzZXQ9M0R1dGYtOCI+PC9oZWFkPjxib2R5IHN0eWxlPTNE IndvcmQtd3JhcDogYnJlYWstd29yZDsgPQotd2Via2l0LW5ic3AtbW9kZTogc3BhY2U7IC13ZWJr aXQtbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7IiA9CmNsYXNzPTNEIiI+PGJyIGNsYXNz PTNEIiI+PGRpdj48YmxvY2txdW90ZSB0eXBlPTNEImNpdGUiIGNsYXNzPTNEIiI+PGRpdiA9CmNs YXNzPTNEIiI+T24gMTEgTWF5IDIwMTYsIGF0IDE1OjI0LCBDYW0gTWFjICZsdDs8YSA9CmhyZWY9 M0QibWFpbHRvOml1Y291bnVAZ21haWwuY29tIiBjbGFzcz0zRCIiPml1Y291bnVAZ21haWwuY29t PC9hPiZndDsgPQp3cm90ZTo8L2Rpdj48YnIgY2xhc3M9M0QiQXBwbGUtaW50ZXJjaGFuZ2UtbmV3 bGluZSI+PGRpdiBjbGFzcz0zRCIiPjxkaXYgPQpkaXI9M0QibHRyIiBjbGFzcz0zRCIiPlRoYW5r cyBNaWNoYWwsIGlmIHJlaW5zdGFsbGluZyB0aGUgZW5naW5lLCAod2hpY2ggPQphbHNvIGhhZCBT RUxpbnV4IGRpc2FibGVkIGF0IGluc3RhbGwpLCB3b3VsZCB0aGUgYmVzdCB3YXkgYmUgdG8gYmFj a3VwID0KdGhlIGVuZ2luZSBhbmQgdGhlbiByZXN0b3JlIGp1c3QgdGhlIG92aXJ0ID0KY29uZmln PzwvZGl2PjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2PjxiciBjbGFzcz0zRCIiPjwvZGl2PmZvciA9 CmVuZ2luZS4ud2VsbCwgVk0gc2VjdXJpdHkgaXMgbm90IHJlbGF0ZWQgdG8gdGhhdCwgdGhvc2Ug YXJlIHJ1bm5pbmcgb24gPQpoeXBlcnZpc29ycywgbm90IHRoZSBlbmdpbmUuIFNvIGZvciBhbnkg ZnVuY3Rpb25hbGl0eS9zZWN1cml0eSBpdD1FMj04MD05OT0KcyBpcnJlbGV2YW50IHdoYXQgU0VM aW51eCBzdGF0ZSBpdD1FMj04MD05OXMgaW48L2Rpdj48ZGl2Pkk9RTI9ODA9OTltID0Kbm90IHN1 cmUgaWYgcmVsYWJlbGluZyB3aXRoIHJlc3RvcmVjb24gaXMgbm90IGVub3VnaCAoaXQgc291bGQg d29yayBhbHNvID0Kb24gbm9kZXMsIGJ1dCBhcyBJIHNhaWQsIGl0PUUyPTgwPTk5cyBsaWtlbHkg bW9yZSBzYWZlIHRvIHJlaW5zdGFsbCBqdXN0ID0KdG8gYmUgcmVhbGx5IHJlYWxseSBzdXJlOik8 L2Rpdj48ZGl2PlNpbW9uZSwgYW0gSSByaWdodCBhYm91dCB0aGUgPQpyZXN0b3JlY29uIGZvciBl bmdpbmU/PC9kaXY+PGRpdj48YnIgY2xhc3M9M0QiIj48L2Rpdj48ZGl2PjxibG9ja3F1b3RlID0K dHlwZT0zRCJjaXRlIiBjbGFzcz0zRCIiPjxkaXYgY2xhc3M9M0QiIj48ZGl2IGRpcj0zRCJsdHIi IGNsYXNzPTNEIiI+PGRpdiA9CmNsYXNzPTNEIiI+PGJyIGNsYXNzPTNEIiI+PC9kaXY+PGRpdiBj bGFzcz0zRCIiPkNoZWVycyw8L2Rpdj48ZGl2ID0KY2xhc3M9M0QiIj48YnIgY2xhc3M9M0QiIj48 L2Rpdj48ZGl2IGNsYXNzPTNEIiI+Q2FtPC9kaXY+PC9kaXY+PGRpdiA9CmNsYXNzPTNEImdtYWls X2V4dHJhIj48YnIgY2xhc3M9M0QiIj48ZGl2IGNsYXNzPTNEImdtYWlsX3F1b3RlIj5PbiBXZWQs ID0KTWF5IDExLCAyMDE2IGF0IDI6MTQgUE0sIE1pY2hhbCBTa3JpdmFuZWsgPHNwYW4gZGlyPTNE Imx0ciIgPQpjbGFzcz0zRCIiPiZsdDs8YSBocmVmPTNEIm1haWx0bzptaWNoYWwuc2tyaXZhbmVr QHJlZGhhdC5jb20iID0KdGFyZ2V0PTNEIl9ibGFuayIgY2xhc3M9M0QiIj5taWNoYWwuc2tyaXZh bmVrQHJlZGhhdC5jb208L2E+Jmd0Ozwvc3Bhbj4gPQp3cm90ZTo8YnIgY2xhc3M9M0QiIj48Ymxv Y2txdW90ZSBjbGFzcz0zRCJnbWFpbF9xdW90ZSIgc3R5bGU9M0QibWFyZ2luOjAgPQowIDAgLjhl eDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij48c3BhbiBjbGFz cz0zRCIiPjxicj0KIGNsYXNzPTNEIiI+CiZndDsgT24gMTEgTWF5IDIwMTYsIGF0IDE1OjAyLCBD YW0gTWFjICZsdDs8YSA9CmhyZWY9M0QibWFpbHRvOml1Y291bnVAZ21haWwuY29tIiBjbGFzcz0z RCIiPml1Y291bnVAZ21haWwuY29tPC9hPiZndDsgPQp3cm90ZTo8YnIgY2xhc3M9M0QiIj4KJmd0 OzxiciBjbGFzcz0zRCIiPgomZ3Q7IEhpLDxiciBjbGFzcz0zRCIiPgomZ3Q7PGJyIGNsYXNzPTNE IiI+CiZndDsgSW4gdGhlIG9WaXJ0IGd1aWRlLCBpdCBzYXlzIHRoYXQgIlNFTGludXggaXMgYmVp bmcgdXNlZCBieSBkZWZhdWx0ID0Kb24gb1ZpcnQgTm9kZSIsIGJ1dCB0aGVuIGdvZXMgb24gdG8g c2F5IHRoYXQgaWYgeW91IGhhdmUgcHJvYmxlbXMgeW91ID0Kc2hvdWxkIHNldCBpdCB0byBwZXJt aXNzaXZlIG1vZGUuIEkgaGF2ZSBoYWQgYSBmZXcgdGhpbmdzIGZhaWwgZHVlIHRvID0KYmVpbmcg YmxvY2tlZCBieSBTRUxpbnV4IG9uIGEgbm9kZSBJIGxhdGVyIGVuYWJsZWQgU0VMaW51eCBvbiwg YXMgaXQgd2FzID0Kb2ZmIGF0IGluc3RhbGwgdGltZS4gVGhlIG90aGVyIG5vZGUgd2hpY2ggaGFz IGhhZCBTRUxpbnV4IG9uIGZyb20gdGhlID0Kc3RhcnQgYW5kIHNvIGZhciBoYXMgbm90IGhhZCBh bnkgb1ZpcnQgb3BlcmF0aW9ucyBibG9ja2VkLiBJIGFtIGd1ZXNzaW5nID0KdGhhdCB0aGUgb1Zp cnQgaW5zdGFsbCBwcm9jZXNzIGNyZWF0ZXMgdGhlIG5lY2Vzc2FyeSBydWxlcyB0byBhbGxvdyB2 ZHNtID0KdG8gcnVuIHVuZGVyIFNFTGludXguIFNvIGlmIHlvdSB3YW50IHRvIHNldCBTRUxpbnV4 IHRvIGVuZm9yY2luZyBhZnRlciA9Cmluc3RhbGxhdGlvbiwgaXMgdGhlcmUgYSBzY3JpcHQgdG8g ZG8gdGhpcywgb3IgaXMgaXQgYmV0dGVyIHRvIGp1c3QgPQpyZWluc3RhbGwgdGhlIG5vZGUgb3Ig ZW5naW5lLCByYXRoZXIgdGhhbiB0cnlpbmcgdG8gd29yayBvdXQgdGhlID0KaW5kaXZpZHVhbCBl eGNlcHRpb25zPzxiciBjbGFzcz0zRCIiPgo8YnIgY2xhc3M9M0QiIj4KPC9zcGFuPkZvciBvVmly dCBub2RlIGl0PUUyPTgwPTk5cyBlYXNpZXIgdG8gcmVpbnN0YWxsIGl0LCBpdCBkb2Vzbj1FMj04 MD05OT0KdCBwZXJzaXN0IG11Y2ggYW5kIGl0PUUyPTgwPTk5cyB0aGUgZWFzaWVzIHdheSBob3cg dG8gZ2V0IHRoZSBsYWJlbGxpbmcgPQpyaWdodDxiciBjbGFzcz0zRCIiPgo8YnIgY2xhc3M9M0Qi Ij4KVGhhbmtzLDxiciBjbGFzcz0zRCIiPgptaWNoYWw8YnIgY2xhc3M9M0QiIj4KPGJyIGNsYXNz PTNEIiI+CiZndDs8YnIgY2xhc3M9M0QiIj4KJmd0OyBUaGFua3MsPGJyIGNsYXNzPTNEIiI+CiZn dDs8YnIgY2xhc3M9M0QiIj4KJmd0OyBDYW08YnIgY2xhc3M9M0QiIj4KJmd0OyBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxiciBjbGFzcz0zRCIiPgomZ3Q7 IFVzZXJzIG1haWxpbmcgbGlzdDxiciBjbGFzcz0zRCIiPgomZ3Q7IDxhIGhyZWY9M0QibWFpbHRv OlVzZXJzQG92aXJ0Lm9yZyIgY2xhc3M9M0QiIj5Vc2Vyc0BvdmlydC5vcmc8L2E+PGJyID0KY2xh c3M9M0QiIj4KJmd0OyA8YSBocmVmPTNEImh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9s aXN0aW5mby91c2VycyIgPQpyZWw9M0Qibm9yZWZlcnJlciIgdGFyZ2V0PTNEIl9ibGFuayIgPQpj bGFzcz0zRCIiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2Vyczwv YT48YnIgPQpjbGFzcz0zRCIiPgo8YnIgY2xhc3M9M0QiIj4KPC9ibG9ja3F1b3RlPjwvZGl2Pjxi ciBjbGFzcz0zRCIiPjwvZGl2PgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXzxiciBjbGFzcz0zRCIiPlVzZXJzID0KbWFpbGluZyBsaXN0PGJyIGNsYXNzPTNE IiI+PGEgaHJlZj0zRCJtYWlsdG86VXNlcnNAb3ZpcnQub3JnIiA9CmNsYXNzPTNEIiI+VXNlcnNA b3ZpcnQub3JnPC9hPjxiciA9CmNsYXNzPTNEIiI+aHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3VzZXJzPGJyID0KY2xhc3M9M0QiIj48L2Rpdj48L2Jsb2NrcXVvdGU+PC9k aXY+PGJyIGNsYXNzPTNEIiI+PC9ib2R5PjwvaHRtbD49CgotLUFwcGxlLU1haWw9X0NERTQzNkZF LTYxRjgtNDEzNy04QkI0LUNFNDU2Qjc5MTE1MS0tCg== --===============4969208960663662688==--