From rsanders at forcepoint.com Thu Jun 9 08:59:16 2016 Content-Type: multipart/mixed; boundary="===============8722603352906187179==" MIME-Version: 1.0 From: Robert Sanders To: scap-security-guide at lists.fedorahosted.org Subject: RE: Re: Use /etc/passwd directly instead of sources in NSS Date: Wed, 08 Jun 2016 17:10:02 +0000 Message-ID: <848FB1215E2AD643A5E10D906091D3FB956E72F2@TCSEXCH1.tcs-sec.com> In-Reply-To: CAB6RzTtCtZsYNBXGtGiFav_LUcUmSROLtizW=V0ESf2Yo3=1xA@mail.gmail.com --===============8722603352906187179== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable One extra comment - should the UID of 500 be hardcoded here or should it be= pulled from /etc/login.defs, or the equivalent file for other distros? I k= now the breakpoint between system and regular user ids has changed over the= years. -Rob ________________________________ From: Rodolfo Mart=C3=ADnez [rmtzcx(a)gmail.com] Sent: Wednesday, June 08, 2016 12:32 PM To: SCAP Security Guide Subject: EXTERNAL: Re: Use /etc/passwd directly instead of sources in NSS Hi Gabe, Yes, I am more familiar with OVAL syntax now and I understand why it is not= working. The problem in my OVAL test is in this part: /etc/passwd ^([^:]+):[^:]+:[\d]+:[\d]+:[^:= ]*:[^:]+:[^:]*$ 1 state_at_system_accounts_etc_passwd /etc/passwd ^[^:]+:[^:]+:([\d]+):[\d]+:[^:= ]*:[^:]+:[^:]*$ 1 500 '' in block in'' is getting= the subexpression pattern from '' which cont= ains the username; so comparing a username to be an integer 'greater or equ= al to 500' is not valid. My question is much simpler now: How can get all usernames from /etc/passwd that have UID greater or equal t= o 500 without using password_object? I have been trying to do this for many= days now without any luck. Thanks for your time -- Rodolfo Mart=C3=ADnez On Tue, Jun 7, 2016 at 1:03 PM, Gabe Alford > wrote: Hello Rodolfo, I just did a quick glance as I currently don't have the cycles to look into= this but the "state_at_system_accounts_at_allow_uid" exclude filter is whe= re this is not working. It is not filtering UIDs greater than 1 or 500 for = that matter. Specifically this subexpression is what is failing: 500= Gabe On Thu, Jun 2, 2016 at 8:52 PM, Rodolfo Mart=C3=ADnez > wrote: Hi mpreisler, Thanks for you suggestion in IRC. This what I have so far, but it is still not working. I feel I am close, bu= t it is not working yet. I would appreciate any suggestion No system accounts in /etc/at.allow CentOS 5 Red Hat Enterprise Linux 5 Group owner for /etc/at.allow and /etc/at.deny must exis= t. /etc/passwd ^([^:]+):[^:]+:[\d]+:[\d]+:[^:= ]*:[^:]+:[^:]*$ 1 state_at_system_accounts_etc_passwd /etc/passwd ^[^:]+:[^:]+:([\d]+):[\d]+:[^:= ]*:[^:]+:[^:]*$ 1 500 /etc/at.allow ^(.+)$ 1 state_at_system_accounts_at_allow_root state_at_system_accounts_at_allow_uid root -- Rodolfo -- Rodolfo Mart=C3=ADnez On Tue, May 31, 2016 at 5:43 PM, Rodolfo Mart=C3=ADnez > wrote: Hi List, After many hours playing with SSG and OpenSCAP and not able to do what I want I need some help. Forgive me if I use SCAP or OpenSCAP terms incorrectly, I am new to SSG and I am still getting familiar. The following OVAL test searches for system accounts (UID < 500) in /etc/at.allow (I am showing just the relevant parts of RHEL/5/input/oval/at_system_accounts.xml to explain my problem): state_at_system_accounts_at_allow_uid /etc/at.allow ^(.*)$ 0 500 The test above gets the users information from the sources specified in NSS (/etc/nsswitch.conf) which is correct, however I want to create a version that uses /etc/passwd directly. Why? We have many (thousands?) of RHEL 5 based servers with LDAP integration, and many (thousands?) of accounts in the LDAP servers. Simple tests like RHEL/5/input/oval/at_system_accounts.xml and RHEL/5/input/oval/cron_system_accounts.xml can take hours to run because they retrieve *all* users information from the LDAP servers and they do it *for each entry* in /etc/at.allow and /etc/cron.allow. Also, if we run OpenSCAP (oscap) at the same time in a few servers they hit the LDAP servers really bad. I have been trying to replace password_test and password_object by textfilecontent54_test and textfilecontent54_object without any luck. If you want, I can share my at_system_accounts.xml file that I thought it was going to work. I would really appreciate any help or hint? Regards -- Rodolfo Mart=C3=ADnez -- SCAP Security Guide mailing list scap-security-guide(a)lists.fedorahosted.org https://lists.fedorahosted.org/admin/lists/scap-security-guide(a)lists.fedo= rahosted.org https://github.com/OpenSCAP/scap-security-guide/ -- SCAP Security Guide mailing list scap-security-guide(a)lists.fedorahosted.org https://lists.fedorahosted.org/admin/lists/scap-security-guide(a)lists.fedo= rahosted.org https://github.com/OpenSCAP/scap-security-guide/ Scanned by Forcepoint Email Security Gateway Click here to report this email as spam --===============8722603352906187179== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWwgZGlyPSJsdHIiPgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBj b250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+CjxzdHlsZSBpZD0ib3dhUGFy YVN0eWxlIiB0eXBlPSJ0ZXh0L2NzcyI+UCB7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDt9 PC9zdHlsZT4KPC9oZWFkPgo8Ym9keSBvY3NpPSIwIiBmcHN0eWxlPSIxIj4KPGRpdiBzdHlsZT0i ZGlyZWN0aW9uOiBsdHI7Zm9udC1mYW1pbHk6IFRhaG9tYTtjb2xvcjogIzAwMDAwMDtmb250LXNp emU6IDEwcHQ7Ij5PbmUgZXh0cmEgY29tbWVudCAtIHNob3VsZCB0aGUgVUlEIG9mIDUwMCBiZSBo YXJkY29kZWQgaGVyZSBvciBzaG91bGQgaXQgYmUgcHVsbGVkIGZyb20gL2V0Yy9sb2dpbi5kZWZz LCBvciB0aGUgZXF1aXZhbGVudCBmaWxlIGZvciBvdGhlciBkaXN0cm9zPyBJIGtub3cgdGhlIGJy ZWFrcG9pbnQgYmV0d2Vlbgogc3lzdGVtIGFuZCByZWd1bGFyIHVzZXIgaWRzIGhhcyBjaGFuZ2Vk IG92ZXIgdGhlIHllYXJzLiZuYnNwOyA8YnI+Cjxicj4KLVJvYjxicj4KPGJyPgo8ZGl2IHN0eWxl PSJmb250LWZhbWlseTogVGltZXMgTmV3IFJvbWFuOyBjb2xvcjogIzAwMDAwMDsgZm9udC1zaXpl OiAxNnB4Ij4KPGhyIHRhYmluZGV4PSItMSI+CjxkaXYgc3R5bGU9ImRpcmVjdGlvbjogbHRyOyIg aWQ9ImRpdlJwRjcwMjMyOSI+PGZvbnQgY29sb3I9IiMwMDAwMDAiIGZhY2U9IlRhaG9tYSIgc2l6 ZT0iMiI+PGI+RnJvbTo8L2I+IFJvZG9sZm8gTWFydO1uZXogW3JtdHpjeEBnbWFpbC5jb21dPGJy Pgo8Yj5TZW50OjwvYj4gV2VkbmVzZGF5LCBKdW5lIDA4LCAyMDE2IDEyOjMyIFBNPGJyPgo8Yj5U bzo8L2I+IFNDQVAgU2VjdXJpdHkgR3VpZGU8YnI+CjxiPlN1YmplY3Q6PC9iPiBFWFRFUk5BTDog UmU6IFVzZSAvZXRjL3Bhc3N3ZCBkaXJlY3RseSBpbnN0ZWFkIG9mIHNvdXJjZXMgaW4gTlNTPGJy Pgo8L2ZvbnQ+PGJyPgo8L2Rpdj4KPGRpdj48L2Rpdj4KPGRpdj4KPGRpdiBkaXI9Imx0ciI+Cjxk aXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiIHN0eWxlPSJmb250LWZhbWlseTp0YWhvbWEsc2Fucy1z ZXJpZjsgZm9udC1zaXplOnNtYWxsIj4KSGkgR2FiZSw8YnI+Cjxicj4KPC9kaXY+CjxkaXYgY2xh c3M9ImdtYWlsX2RlZmF1bHQiIHN0eWxlPSJmb250LWZhbWlseTp0YWhvbWEsc2Fucy1zZXJpZjsg Zm9udC1zaXplOnNtYWxsIj4KWWVzLCBJIGFtIG1vcmUgZmFtaWxpYXIgd2l0aCBPVkFMIHN5bnRh eCBub3cgYW5kIEkgdW5kZXJzdGFuZCB3aHkgaXQgaXMgbm90IHdvcmtpbmcuPGJyPgo8YnI+Cjwv ZGl2Pgo8ZGl2IGNsYXNzPSJnbWFpbF9kZWZhdWx0IiBzdHlsZT0iZm9udC1mYW1pbHk6dGFob21h LHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTpzbWFsbCI+ClRoZSBwcm9ibGVtIGluIG15IE9WQUwgdGVz dCBpcyBpbiB0aGlzIHBhcnQ6PGJyPgo8YnI+CiZuYnNwOyAmbHQ7aW5kOnRleHRmaWxlY29udGVu dDU0X29iamVjdCBpZD0mcXVvdDtvYmplY3RfYXRfc3lzdGVtX2FjY291bnRzX2FsbG93X2xpc3Qm cXVvdDsgdmVyc2lvbj0mcXVvdDsxJnF1b3Q7Jmd0Ozxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7ICZs dDtpbmQ6ZmlsZXBhdGgmZ3Q7L2V0Yy9wYXNzd2QmbHQ7L2luZDpmaWxlcGF0aCZndDs8YnI+CiZu YnNwOyZuYnNwOyZuYnNwOyAmbHQ7aW5kOnBhdHRlcm4gb3BlcmF0aW9uPSZxdW90O3BhdHRlcm4g bWF0Y2gmcXVvdDsmZ3Q7XihbXjpdJiM0MzspOlteOl0mIzQzOzpbXGRdJiM0Mzs6W1xkXSYjNDM7 OlteOl0qOlteOl0mIzQzOzpbXjpdKiQmbHQ7L2luZDpwYXR0ZXJuJmd0Ozxicj4KJm5ic3A7Jm5i c3A7Jm5ic3A7ICZsdDtpbmQ6aW5zdGFuY2Ugb3BlcmF0aW9uPSZxdW90O2dyZWF0ZXIgdGhhbiBv ciBlcXVhbCZxdW90OyBkYXRhdHlwZT0mcXVvdDtpbnQmcXVvdDsmZ3Q7MSZsdDsvaW5kOmluc3Rh bmNlJmd0Ozxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtmaWx0ZXIgYWN0aW9uPSZxdW90O2lu Y2x1ZGUmcXVvdDsmZ3Q7c3RhdGVfYXRfc3lzdGVtX2FjY291bnRzX2V0Y19wYXNzd2QmbHQ7L2Zp bHRlciZndDs8YnI+CiZuYnNwOyAmbHQ7L2luZDp0ZXh0ZmlsZWNvbnRlbnQ1NF9vYmplY3QmZ3Q7 PGJyPgo8YnI+CiZuYnNwOyAmbHQ7aW5kOnRleHRmaWxlY29udGVudDU0X3N0YXRlIGlkPSZxdW90 O3N0YXRlX2F0X3N5c3RlbV9hY2NvdW50c19ldGNfcGFzc3dkJnF1b3Q7IHZlcnNpb249JnF1b3Q7 MSZxdW90OyZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7aW5kOmZpbGVwYXRoJmd0Oy9l dGMvcGFzc3dkJmx0Oy9pbmQ6ZmlsZXBhdGgmZ3Q7PGJyPgombmJzcDsmbmJzcDsmbmJzcDsgJmx0 O2luZDpwYXR0ZXJuIG9wZXJhdGlvbj0mcXVvdDtwYXR0ZXJuIG1hdGNoJnF1b3Q7Jmd0O15bXjpd JiM0Mzs6W146XSYjNDM7OihbXGRdJiM0MzspOltcZF0mIzQzOzpbXjpdKjpbXjpdJiM0Mzs6W146 XSokJmx0Oy9pbmQ6cGF0dGVybiZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7aW5kOmlu c3RhbmNlIG9wZXJhdGlvbj0mcXVvdDtncmVhdGVyIHRoYW4gb3IgZXF1YWwmcXVvdDsgZGF0YXR5 cGU9JnF1b3Q7aW50JnF1b3Q7Jmd0OzEmbHQ7L2luZDppbnN0YW5jZSZndDs8YnI+CiZuYnNwOyZu YnNwOyZuYnNwOyAmbHQ7aW5kOnN1YmV4cHJlc3Npb24gb3BlcmF0aW9uPSZxdW90O2dyZWF0ZXIg dGhhbiBvciBlcXVhbCZxdW90OyBkYXRhdHlwZT0mcXVvdDtpbnQmcXVvdDsmZ3Q7NTAwJmx0Oy9p bmQ6c3ViZXhwcmVzc2lvbiZndDs8YnI+CiZuYnNwOyAmbHQ7L2luZDp0ZXh0ZmlsZWNvbnRlbnQ1 NF9zdGF0ZSZndDs8YnI+Cjxicj4KPGJyPgo8L2Rpdj4KPGRpdiBjbGFzcz0iZ21haWxfZGVmYXVs dCIgc3R5bGU9ImZvbnQtZmFtaWx5OnRhaG9tYSxzYW5zLXNlcmlmOyBmb250LXNpemU6c21hbGwi PgonJmx0O2luZDpzdWJleHByZXNzaW9uJmd0OycgaW4gYmxvY2sgaW4nJmx0O2luZDp0ZXh0Zmls ZWNvbnRlbnQ1NF9zdGF0ZSZndDsnIGlzIGdldHRpbmcgdGhlIHN1YmV4cHJlc3Npb24gcGF0dGVy biBmcm9tICcmbHQ7aW5kOnRleHRmaWxlY29udGVudDU0X29iamVjdCZndDsnIHdoaWNoIGNvbnRh aW5zIHRoZSB1c2VybmFtZTsgc28gY29tcGFyaW5nIGEgdXNlcm5hbWUgdG8gYmUgYW4gaW50ZWdl ciAnZ3JlYXRlciBvciBlcXVhbCB0byA1MDAnIGlzIG5vdCB2YWxpZC48YnI+Cjxicj4KPGJyPgo8 L2Rpdj4KPGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCIgc3R5bGU9ImZvbnQtZmFtaWx5OnRhaG9t YSxzYW5zLXNlcmlmOyBmb250LXNpemU6c21hbGwiPgpNeSBxdWVzdGlvbiBpcyBtdWNoIHNpbXBs ZXIgbm93Ojxicj4KPGJyPgo8L2Rpdj4KPGRpdiBjbGFzcz0iZ21haWxfZGVmYXVsdCIgc3R5bGU9 ImZvbnQtZmFtaWx5OnRhaG9tYSxzYW5zLXNlcmlmOyBmb250LXNpemU6c21hbGwiPgpIb3cgY2Fu IGdldCBhbGwgdXNlcm5hbWVzIGZyb20gL2V0Yy9wYXNzd2QgdGhhdCBoYXZlIFVJRCBncmVhdGVy IG9yIGVxdWFsIHRvIDUwMCB3aXRob3V0IHVzaW5nIHBhc3N3b3JkX29iamVjdD8gSSBoYXZlIGJl ZW4gdHJ5aW5nIHRvIGRvIHRoaXMgZm9yIG1hbnkgZGF5cyBub3cgd2l0aG91dCBhbnkgbHVjay48 YnI+Cjxicj4KPC9kaXY+CjxkaXYgY2xhc3M9ImdtYWlsX2RlZmF1bHQiIHN0eWxlPSJmb250LWZh bWlseTp0YWhvbWEsc2Fucy1zZXJpZjsgZm9udC1zaXplOnNtYWxsIj4KVGhhbmtzIGZvciB5b3Vy IHRpbWU8YnI+CjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxiciBjbGVh cj0iYWxsIj4KPGRpdj4KPGRpdiBjbGFzcz0iZ21haWxfc2lnbmF0dXJlIj4KPGRpdiBzdHlsZT0i Zm9udC1mYW1pbHk6dGFob21hLHNhbnMtc2VyaWYiPjxmb250IHNpemU9IjIiPi0tPGJyPgo8L2Zv bnQ+PC9kaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OnRhaG9tYSxzYW5zLXNlcmlmIj48Zm9u dCBzaXplPSIyIj5Sb2RvbGZvIE1hcnTtbmV6PC9mb250PjwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cjxi cj4KPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPk9uIFR1ZSwgSnVuIDcsIDIwMTYgYXQgMTowMyBQ TSwgR2FiZSBBbGZvcmQgPHNwYW4gZGlyPSJsdHIiPgombHQ7PGEgaHJlZj0ibWFpbHRvOnJlZGhh dHJpc2VzQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnJlZGhhdHJpc2VzQGdtYWlsLmNvbTwv YT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIg c3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4OyBib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDsgcGFk ZGluZy1sZWZ0OjFleCI+CjxkaXYgZGlyPSJsdHIiPgo8ZGl2Pgo8ZGl2Pgo8ZGl2PkhlbGxvIFJv ZG9sZm8sPGJyPgo8YnI+CjwvZGl2PgpJIGp1c3QgZGlkIGEgcXVpY2sgZ2xhbmNlIGFzIEkgY3Vy cmVudGx5IGRvbid0IGhhdmUgdGhlIGN5Y2xlcyB0byBsb29rIGludG8gdGhpcyBidXQgdGhlICZx dW90O3N0YXRlX2F0X3N5c3RlbV9hY2NvdW50c19hdF9hbGxvd191aWQmcXVvdDsgZXhjbHVkZSBm aWx0ZXIgaXMgd2hlcmUgdGhpcyBpcyBub3Qgd29ya2luZy4gSXQgaXMgbm90IGZpbHRlcmluZyBV SURzIGdyZWF0ZXIgdGhhbiAxIG9yIDUwMCBmb3IgdGhhdCBtYXR0ZXIuPGJyPgo8L2Rpdj4KU3Bl Y2lmaWNhbGx5IHRoaXMgc3ViZXhwcmVzc2lvbiBpcyB3aGF0IGlzIGZhaWxpbmc6PHNwYW4gY2xh c3M9IiI+PGJyPgo8YnI+CiZsdDtpbmQ6c3ViZXhwcmVzc2lvbiBvcGVyYXRpb249JnF1b3Q7Z3Jl YXRlciB0aGFuIG9yIGVxdWFsJnF1b3Q7IGRhdGF0eXBlPSZxdW90O2ludCZxdW90OyZndDs1MDAm bHQ7L2luZDpzdWJleHByZXNzaW9uJmd0Ozxicj4KPC9zcGFuPjwvZGl2Pgo8ZGl2Pjxicj4KR2Fi ZTxicj4KPGRpdj4KPGRpdj4KPGRpdj4KPGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxicj4KPGRp diBjbGFzcz0iZ21haWxfcXVvdGUiPgo8ZGl2Pgo8ZGl2IGNsYXNzPSJoNSI+T24gVGh1LCBKdW4g MiwgMjAxNiBhdCA4OjUyIFBNLCBSb2RvbGZvIE1hcnTtbmV6IDxzcGFuIGRpcj0ibHRyIj4KJmx0 OzxhIGhyZWY9Im1haWx0bzpybXR6Y3hAZ21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+cm10emN4 QGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+CjxibG9ja3F1b3RlIGNsYXNzPSJn bWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDsgYm9yZGVyLWxlZnQ6 MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7IHBhZGRpbmctbGVmdDoxZXgiPgo8ZGl2IGRpcj0i bHRyIj4KPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6dGFob21hLHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTpzbWFsbCI+SGkgbXByZWlzbGVyLDxicj4KPGJyPgo8L2Rpdj4KPGRpdiBzdHlsZT0iZm9udC1m YW1pbHk6dGFob21hLHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTpzbWFsbCI+VGhhbmtzIGZvciB5b3Ug c3VnZ2VzdGlvbiBpbiBJUkMuPGJyPgo8YnI+CjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZhbWls eTp0YWhvbWEsc2Fucy1zZXJpZjsgZm9udC1zaXplOnNtYWxsIj5UaGlzIHdoYXQgSSBoYXZlIHNv IGZhciwgYnV0IGl0IGlzIHN0aWxsIG5vdCB3b3JraW5nLiBJIGZlZWwgSSBhbSBjbG9zZSwgYnV0 IGl0IGlzIG5vdCB3b3JraW5nIHlldC4gSSB3b3VsZCBhcHByZWNpYXRlIGFueSBzdWdnZXN0aW9u PGJyPgo8YnI+CiZsdDtkZWYtZ3JvdXAmZ3Q7PGJyPgombmJzcDsgJmx0O2RlZmluaXRpb24gY2xh c3M9JnF1b3Q7Y29tcGxpYW5jZSZxdW90OyBpZD0mcXVvdDthdF9zeXN0ZW1fYWNjb3VudHMmcXVv dDsgdmVyc2lvbj0mcXVvdDsxJnF1b3Q7Jmd0Ozxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtt ZXRhZGF0YSZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7dGl0bGUm Z3Q7Tm8gc3lzdGVtIGFjY291bnRzIGluIC9ldGMvYXQuYWxsb3cmbHQ7L3RpdGxlJmd0Ozxicj4K Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDthZmZlY3RlZCBmYW1pbHk9JnF1b3Q7 dW5peCZxdW90OyZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyAmbHQ7cGxhdGZvcm0mZ3Q7Q2VudE9TIDUmbHQ7L3BsYXRmb3JtJmd0Ozxicj4KJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtwbGF0Zm9ybSZndDtSZWQg SGF0IEVudGVycHJpc2UgTGludXggNSZsdDsvcGxhdGZvcm0mZ3Q7PGJyPgombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgJmx0Oy9hZmZlY3RlZCZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyAmbHQ7ZGVzY3JpcHRpb24mZ3Q7R3JvdXAgb3duZXIgZm9yIC9ldGMvYXQu YWxsb3cgYW5kIC9ldGMvYXQuZGVueSBtdXN0IGV4aXN0LiZsdDsvZGVzY3JpcHRpb24mZ3Q7PGJy PgombmJzcDsmbmJzcDsmbmJzcDsgJmx0Oy9tZXRhZGF0YSZndDs8YnI+CiZuYnNwOyZuYnNwOyZu YnNwOyAmbHQ7Y3JpdGVyaWEmZ3Q7PGJyPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg Jmx0O2NyaXRlcmlvbiB0ZXN0X3JlZj0mcXVvdDt0ZXN0X2F0X3N5c3RlbV9hY2NvdW50c19hdF9h bGxvdyZxdW90OyAvJmd0Ozxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDsvY3JpdGVyaWEmZ3Q7 PGJyPgombmJzcDsgJmx0Oy9kZWZpbml0aW9uJmd0Ozxicj4KPGJyPgombmJzcDsgJmx0OyEtLSBU aGlzIHZhcmlhYmxlIHNob3VsZCBnZXQgYWxsIHVzZXJzIGZyb20gL2V0Yy9wYXNzd2QgdGhhdCBo YXMgVUlEICZndDs9IDUwMCAtLSZndDs8YnI+CiZuYnNwOyAmbHQ7bG9jYWxfdmFyaWFibGUgaWQ9 JnF1b3Q7dmFyX2F0X3N5c3RlbV9hY2NvdW50c19hbGxvd19saXN0JnF1b3Q7IGNvbW1lbnQ9JnF1 b3Q7QWNjb3VudHMgQWxsb3dlZCZxdW90OyBkYXRhdHlwZT0mcXVvdDtzdHJpbmcmcXVvdDsgdmVy c2lvbj0mcXVvdDsxJnF1b3Q7Jmd0Ozxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtvYmplY3Rf Y29tcG9uZW50IGl0ZW1fZmllbGQ9JnF1b3Q7c3ViZXhwcmVzc2lvbiZxdW90OyBvYmplY3RfcmVm PSZxdW90O29iamVjdF9hdF9zeXN0ZW1fYWNjb3VudHNfYWxsb3dfbGlzdCZxdW90OyAvJmd0Ozxi cj4KJm5ic3A7ICZsdDsvbG9jYWxfdmFyaWFibGUmZ3Q7PGJyPgo8YnI+CiZuYnNwOyAmbHQ7aW5k OnRleHRmaWxlY29udGVudDU0X29iamVjdCBpZD0mcXVvdDtvYmplY3RfYXRfc3lzdGVtX2FjY291 bnRzX2FsbG93X2xpc3QmcXVvdDsgdmVyc2lvbj0mcXVvdDsxJnF1b3Q7Jmd0Ozxicj4KJm5ic3A7 Jm5ic3A7Jm5ic3A7ICZsdDtpbmQ6ZmlsZXBhdGgmZ3Q7L2V0Yy9wYXNzd2QmbHQ7L2luZDpmaWxl cGF0aCZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7aW5kOnBhdHRlcm4gb3BlcmF0aW9u PSZxdW90O3BhdHRlcm4gbWF0Y2gmcXVvdDsmZ3Q7XihbXjpdJiM0MzspOlteOl0mIzQzOzpbXGRd JiM0Mzs6W1xkXSYjNDM7OlteOl0qOlteOl0mIzQzOzpbXjpdKiQmbHQ7L2luZDpwYXR0ZXJuJmd0 Ozxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtpbmQ6aW5zdGFuY2Ugb3BlcmF0aW9uPSZxdW90 O2dyZWF0ZXIgdGhhbiBvciBlcXVhbCZxdW90OyBkYXRhdHlwZT0mcXVvdDtpbnQmcXVvdDsmZ3Q7 MSZsdDsvaW5kOmluc3RhbmNlJmd0Ozxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtmaWx0ZXIg YWN0aW9uPSZxdW90O2luY2x1ZGUmcXVvdDsmZ3Q7c3RhdGVfYXRfc3lzdGVtX2FjY291bnRzX2V0 Y19wYXNzd2QmbHQ7L2ZpbHRlciZndDs8YnI+CiZuYnNwOyAmbHQ7L2luZDp0ZXh0ZmlsZWNvbnRl bnQ1NF9vYmplY3QmZ3Q7PGJyPgo8YnI+CiZuYnNwOyAmbHQ7aW5kOnRleHRmaWxlY29udGVudDU0 X3N0YXRlIGlkPSZxdW90O3N0YXRlX2F0X3N5c3RlbV9hY2NvdW50c19ldGNfcGFzc3dkJnF1b3Q7 IHZlcnNpb249JnF1b3Q7MSZxdW90OyZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7aW5k OmZpbGVwYXRoJmd0Oy9ldGMvcGFzc3dkJmx0Oy9pbmQ6ZmlsZXBhdGgmZ3Q7PGJyPgombmJzcDsm bmJzcDsmbmJzcDsgJmx0O2luZDpwYXR0ZXJuIG9wZXJhdGlvbj0mcXVvdDtwYXR0ZXJuIG1hdGNo JnF1b3Q7Jmd0O15bXjpdJiM0Mzs6W146XSYjNDM7OihbXGRdJiM0MzspOltcZF0mIzQzOzpbXjpd KjpbXjpdJiM0Mzs6W146XSokJmx0Oy9pbmQ6cGF0dGVybiZndDs8YnI+CiZuYnNwOyZuYnNwOyZu YnNwOyAmbHQ7aW5kOmluc3RhbmNlIG9wZXJhdGlvbj0mcXVvdDtncmVhdGVyIHRoYW4gb3IgZXF1 YWwmcXVvdDsgZGF0YXR5cGU9JnF1b3Q7aW50JnF1b3Q7Jmd0OzEmbHQ7L2luZDppbnN0YW5jZSZn dDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7aW5kOnN1YmV4cHJlc3Npb24gb3BlcmF0aW9u PSZxdW90O2dyZWF0ZXIgdGhhbiBvciBlcXVhbCZxdW90OyBkYXRhdHlwZT0mcXVvdDtpbnQmcXVv dDsmZ3Q7NTAwJmx0Oy9pbmQ6c3ViZXhwcmVzc2lvbiZndDs8YnI+CjwvZGl2Pgo8L2Rpdj4KPC9i bG9ja3F1b3RlPgo8L2Rpdj4KPC9kaXY+CjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIg c3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDsgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJn YigyMDQsMjA0LDIwNCk7IHBhZGRpbmctbGVmdDoxZXgiPgo8ZGl2Pgo8ZGl2IGNsYXNzPSJoNSI+ CjxkaXYgZGlyPSJsdHIiPgo8ZGl2IHN0eWxlPSJmb250LWZhbWlseTp0YWhvbWEsc2Fucy1zZXJp ZjsgZm9udC1zaXplOnNtYWxsIj4mbmJzcDsgJmx0Oy9pbmQ6dGV4dGZpbGVjb250ZW50NTRfc3Rh dGUmZ3Q7PGJyPgo8YnI+Cjxicj4KJm5ic3A7ICZsdDshLS0gVGVzdCB0byBjaGVjayB0aGF0IHRo ZXJlIGlzIG5vIHN5c3RlbSBhY2NvdW50cyBpbiAvZXRjL2F0LmFsbG93IC0tJmd0Ozxicj4KJm5i c3A7ICZsdDtpbmQ6dGV4dGZpbGVjb250ZW50NTRfdGVzdCBjaGVjaz0mcXVvdDthbGwmcXVvdDsg Y2hlY2tfZXhpc3RlbmNlPSZxdW90O25vbmVfZXhpc3QmcXVvdDsgaWQ9JnF1b3Q7dGVzdF9hdF9z eXN0ZW1fYWNjb3VudHNfYXRfYWxsb3cmcXVvdDsgY29tbWVudD0mcXVvdDtUZXN0aW5nIC9ldGMv YXQuYWxsb3cgZm9yIHN5c3RlbSBhY2NvdW50cyZxdW90OyB2ZXJzaW9uPSZxdW90OzEmcXVvdDsm Z3Q7PGJyPgombmJzcDsmbmJzcDsmbmJzcDsgJmx0O2luZDpvYmplY3Qgb2JqZWN0X3JlZj0mcXVv dDtvYmplY3RfYXRfc3lzdGVtX2FjY291bnRzX2FsbG93JnF1b3Q7IC8mZ3Q7PGJyPgombmJzcDsg Jmx0Oy9pbmQ6dGV4dGZpbGVjb250ZW50NTRfdGVzdCZndDs8YnI+Cjxicj4KJm5ic3A7ICZsdDtp bmQ6dGV4dGZpbGVjb250ZW50NTRfb2JqZWN0IGNvbW1lbnQ9JnF1b3Q7L2V0Yy9hdC5hbGxvdyZx dW90OyBpZD0mcXVvdDtvYmplY3RfYXRfc3lzdGVtX2FjY291bnRzX2FsbG93JnF1b3Q7IHZlcnNp b249JnF1b3Q7MSZxdW90OyZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7IS0tIEdldCBh bGwgdXNlcnMgZnJvbSAvZXRjL2F0LmFsbG93IC0tJmd0Ozxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7 ICZsdDtpbmQ6ZmlsZXBhdGgmZ3Q7L2V0Yy9hdC5hbGxvdyZsdDsvaW5kOmZpbGVwYXRoJmd0Ozxi cj4KJm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtpbmQ6cGF0dGVybiBvcGVyYXRpb249JnF1b3Q7cGF0 dGVybiBtYXRjaCZxdW90OyZndDteKC4mIzQzOykkJmx0Oy9pbmQ6cGF0dGVybiZndDs8YnI+CiZu YnNwOyZuYnNwOyZuYnNwOyAmbHQ7aW5kOmluc3RhbmNlIG9wZXJhdGlvbj0mcXVvdDtncmVhdGVy IHRoYW4gb3IgZXF1YWwmcXVvdDsgZGF0YXR5cGU9JnF1b3Q7aW50JnF1b3Q7Jmd0OzEmbHQ7L2lu ZDppbnN0YW5jZSZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7IS0tIEV4Y2x1ZGUgcm9v dCAtLSZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7ZmlsdGVyIGFjdGlvbj0mcXVvdDtl eGNsdWRlJnF1b3Q7Jmd0O3N0YXRlX2F0X3N5c3RlbV9hY2NvdW50c19hdF9hbGxvd19yb290Jmx0 Oy9maWx0ZXImZ3Q7PGJyPgombmJzcDsmbmJzcDsmbmJzcDsgJmx0OyEtLSBFeGNsdWRlIGFsbCB1 c2VyIGFjY291bnRzIC0tJmd0Ozxicj4KJm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtmaWx0ZXIgYWN0 aW9uPSZxdW90O2V4Y2x1ZGUmcXVvdDsmZ3Q7c3RhdGVfYXRfc3lzdGVtX2FjY291bnRzX2F0X2Fs bG93X3VpZCZsdDsvZmlsdGVyJmd0Ozxicj4KJm5ic3A7ICZsdDsvaW5kOnRleHRmaWxlY29udGVu dDU0X29iamVjdCZndDs8YnI+CiZuYnNwOyZuYnNwOyZuYnNwOyA8YnI+CiZuYnNwOyAmbHQ7aW5k OnRleHRmaWxlY29udGVudDU0X3N0YXRlIGlkPSZxdW90O3N0YXRlX2F0X3N5c3RlbV9hY2NvdW50 c19hdF9hbGxvd19yb290JnF1b3Q7IHZlcnNpb249JnF1b3Q7MSZxdW90OyZndDs8YnI+CiZuYnNw OyZuYnNwOyZuYnNwOyAmbHQ7aW5kOnRleHQmZ3Q7cm9vdCZsdDsvaW5kOnRleHQmZ3Q7PGJyPgom bmJzcDsgJmx0Oy9pbmQ6dGV4dGZpbGVjb250ZW50NTRfc3RhdGUmZ3Q7PGJyPgo8YnI+CiZuYnNw OyAmbHQ7dW5peDpwYXNzd29yZF9zdGF0ZSBpZD0mcXVvdDtzdGF0ZV9hdF9zeXN0ZW1fYWNjb3Vu dHNfYXRfYWxsb3dfdWlkJnF1b3Q7IHZlcnNpb249JnF1b3Q7MSZxdW90OyZndDs8YnI+CiZuYnNw OyZuYnNwOyZuYnNwOyAmbHQ7dW5peDp1c2VybmFtZSB2YXJfcmVmPSZxdW90O3Zhcl9hdF9zeXN0 ZW1fYWNjb3VudHNfYWxsb3dfbGlzdCZxdW90OyB2YXJfY2hlY2s9JnF1b3Q7YXQgbGVhc3Qgb25l JnF1b3Q7IC8mZ3Q7PGJyPgombmJzcDsgJmx0Oy91bml4OnBhc3N3b3JkX3N0YXRlJmd0Ozxicj4K PGJyPgombHQ7L2RlZi1ncm91cCZndDs8YnI+Cjxicj4KLS08YnI+CjwvZGl2Pgo8ZGl2IHN0eWxl PSJmb250LWZhbWlseTp0YWhvbWEsc2Fucy1zZXJpZjsgZm9udC1zaXplOnNtYWxsIj5Sb2RvbGZv PGJyPgo8L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9ImdtYWlsX2V4dHJhIj48YnIgY2xlYXI9ImFs bCI+CjxkaXY+CjxkaXY+CjxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OnRhaG9tYSxzYW5zLXNlcmlm Ij48Zm9udCBzaXplPSIyIj4tLTxicj4KPC9mb250PjwvZGl2Pgo8ZGl2IHN0eWxlPSJmb250LWZh bWlseTp0YWhvbWEsc2Fucy1zZXJpZiI+PGZvbnQgc2l6ZT0iMiI+Um9kb2xmbyBNYXJ07W5lejwv Zm9udD48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8YnI+CjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj5P biBUdWUsIE1heSAzMSwgMjAxNiBhdCA1OjQzIFBNLCBSb2RvbGZvIE1hcnTtbmV6IDxzcGFuIGRp cj0ibHRyIj4KJmx0OzxhIGhyZWY9Im1haWx0bzpybXR6Y3hAZ21haWwuY29tIiB0YXJnZXQ9Il9i bGFuayI+cm10emN4QGdtYWlsLmNvbTwvYT4mZ3Q7PC9zcGFuPiB3cm90ZTo8YnI+CjxibG9ja3F1 b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBweCAwLjhleDsg Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7IHBhZGRpbmctbGVmdDoxZXgi PgpIaSBMaXN0LDxicj4KPGJyPgpBZnRlciBtYW55IGhvdXJzIHBsYXlpbmcgd2l0aCBTU0cgYW5k IE9wZW5TQ0FQIGFuZCBub3QgYWJsZSB0byBkbyB3aGF0PGJyPgpJIHdhbnQgSSBuZWVkIHNvbWUg aGVscC48YnI+Cjxicj4KRm9yZ2l2ZSBtZSBpZiBJIHVzZSBTQ0FQIG9yIE9wZW5TQ0FQIHRlcm1z IGluY29ycmVjdGx5LCBJIGFtIG5ldyB0bzxicj4KU1NHIGFuZCBJIGFtIHN0aWxsIGdldHRpbmcg ZmFtaWxpYXIuPGJyPgo8YnI+ClRoZSBmb2xsb3dpbmcgT1ZBTCB0ZXN0IHNlYXJjaGVzIGZvciBz eXN0ZW0gYWNjb3VudHMgKFVJRCAmbHQ7IDUwMCkgaW48YnI+Ci9ldGMvYXQuYWxsb3cgKEkgYW0g c2hvd2luZyBqdXN0IHRoZSByZWxldmFudCBwYXJ0cyBvZjxicj4KUkhFTC81L2lucHV0L292YWwv YXRfc3lzdGVtX2FjY291bnRzLnhtbCB0byBleHBsYWluIG15IHByb2JsZW0pOjxicj4KPGJyPgom bHQ7Y3JpdGVyaWEmZ3Q7PGJyPgombmJzcDsgJmx0O2NyaXRlcmlvbiB0ZXN0X3JlZj0mcXVvdDt0 ZXN0X2F0X3N5c3RlbV9hY2NvdW50c19hdF9hbGxvdyZxdW90OyAvJmd0Ozxicj4KJmx0Oy9jcml0 ZXJpYSZndDs8YnI+Cjxicj4KJmx0O3VuaXg6cGFzc3dvcmRfdGVzdCBjaGVjaz0mcXVvdDthbGwm cXVvdDsgY2hlY2tfZXhpc3RlbmNlPSZxdW90O25vbmVfZXhpc3QmcXVvdDs8YnI+CmNvbW1lbnQ9 JnF1b3Q7VGVzdGluZyBzeXN0ZW0gYWNjb3VudHMgaW4gL2V0Yy9hdC5hbGxvdyZxdW90Ozxicj4K aWQ9JnF1b3Q7dGVzdF9hdF9zeXN0ZW1fYWNjb3VudHNfYXRfYWxsb3cmcXVvdDsgdmVyc2lvbj0m cXVvdDsxJnF1b3Q7Jmd0Ozxicj4KJm5ic3A7ICZsdDt1bml4Om9iamVjdCBvYmplY3RfcmVmPSZx dW90O29iamVjdF9hdF9zeXN0ZW1fYWNjb3VudHNfYXRfYWxsb3cmcXVvdDsgLyZndDs8YnI+CiZs dDsvdW5peDpwYXNzd29yZF90ZXN0Jmd0Ozxicj4KPGJyPgombHQ7dW5peDpwYXNzd29yZF9vYmpl Y3QgaWQ9JnF1b3Q7b2JqZWN0X2F0X3N5c3RlbV9hY2NvdW50c19hdF9hbGxvdyZxdW90OyB2ZXJz aW9uPSZxdW90OzEmcXVvdDsmZ3Q7PGJyPgombmJzcDsgJmx0O3VuaXg6dXNlcm5hbWUgb3BlcmF0 aW9uPSZxdW90O2VxdWFscyZxdW90Ozxicj4KdmFyX3JlZj0mcXVvdDt2YXJfYXRfc3lzdGVtX2Fj Y291bnRzX2FsbG93X2xpc3QmcXVvdDsgdmFyX2NoZWNrPSZxdW90O2F0IGxlYXN0IG9uZSZxdW90 Ozxicj4KZGF0YXR5cGU9JnF1b3Q7c3RyaW5nJnF1b3Q7IC8mZ3Q7PGJyPgombmJzcDsgJmx0O2Zp bHRlciBhY3Rpb249JnF1b3Q7aW5jbHVkZSZxdW90OyZndDtzdGF0ZV9hdF9zeXN0ZW1fYWNjb3Vu dHNfYXRfYWxsb3dfdWlkJmx0Oy9maWx0ZXImZ3Q7PGJyPgombHQ7L3VuaXg6cGFzc3dvcmRfb2Jq ZWN0Jmd0Ozxicj4KPGJyPgombHQ7bG9jYWxfdmFyaWFibGUgaWQ9JnF1b3Q7dmFyX2F0X3N5c3Rl bV9hY2NvdW50c19hbGxvd19saXN0JnF1b3Q7PGJyPgpjb21tZW50PSZxdW90O0FjY291bnRzIEFs bG93ZWQmcXVvdDsgZGF0YXR5cGU9JnF1b3Q7c3RyaW5nJnF1b3Q7IHZlcnNpb249JnF1b3Q7MSZx dW90OyZndDs8YnI+CiZuYnNwOyAmbHQ7b2JqZWN0X2NvbXBvbmVudCBpdGVtX2ZpZWxkPSZxdW90 O3N1YmV4cHJlc3Npb24mcXVvdDs8YnI+Cm9iamVjdF9yZWY9JnF1b3Q7b2JqZWN0X2F0X3N5c3Rl bV9hY2NvdW50c19hbGxvd19saXN0JnF1b3Q7IC8mZ3Q7PGJyPgombHQ7L2xvY2FsX3ZhcmlhYmxl Jmd0Ozxicj4KPGJyPgombHQ7aW5kOnRleHRmaWxlY29udGVudDU0X29iamVjdCBjb21tZW50PSZx dW90Oy9ldGMvYXQuYWxsb3cmcXVvdDs8YnI+CmlkPSZxdW90O29iamVjdF9hdF9zeXN0ZW1fYWNj b3VudHNfYWxsb3dfbGlzdCZxdW90OyB2ZXJzaW9uPSZxdW90OzEmcXVvdDsmZ3Q7PGJyPgombmJz cDsgJmx0O2luZDpmaWxlcGF0aCZndDsvZXRjL2F0LmFsbG93Jmx0Oy9pbmQ6ZmlsZXBhdGgmZ3Q7 PGJyPgombmJzcDsgJmx0O2luZDpwYXR0ZXJuIG9wZXJhdGlvbj0mcXVvdDtwYXR0ZXJuIG1hdGNo JnF1b3Q7Jmd0O14oLiopJCZsdDsvaW5kOnBhdHRlcm4mZ3Q7PGJyPgombmJzcDsgJmx0O2luZDpp bnN0YW5jZSBvcGVyYXRpb249JnF1b3Q7Z3JlYXRlciB0aGFuIG9yIGVxdWFsJnF1b3Q7PGJyPgpk YXRhdHlwZT0mcXVvdDtpbnQmcXVvdDsmZ3Q7MCZsdDsvaW5kOmluc3RhbmNlJmd0Ozxicj4KJmx0 Oy9pbmQ6dGV4dGZpbGVjb250ZW50NTRfb2JqZWN0Jmd0Ozxicj4KPGJyPgombHQ7dW5peDpwYXNz d29yZF9zdGF0ZSBpZD0mcXVvdDtzdGF0ZV9hdF9zeXN0ZW1fYWNjb3VudHNfYXRfYWxsb3dfdWlk JnF1b3Q7IHZlcnNpb249JnF1b3Q7MSZxdW90OyZndDs8YnI+CiZuYnNwOyAmbHQ7dW5peDp1c2Vy X2lkIGRhdGF0eXBlPSZxdW90O2ludCZxdW90OyBvcGVyYXRpb249JnF1b3Q7bGVzcyB0aGFuJnF1 b3Q7Jmd0OzUwMCZsdDsvdW5peDp1c2VyX2lkJmd0Ozxicj4KJmx0Oy91bml4OnBhc3N3b3JkX3N0 YXRlJmd0Ozxicj4KPGJyPgo8YnI+ClRoZSB0ZXN0IGFib3ZlIGdldHMgdGhlIHVzZXJzIGluZm9y bWF0aW9uIGZyb20gdGhlIHNvdXJjZXMgc3BlY2lmaWVkPGJyPgppbiBOU1MgKC9ldGMvbnNzd2l0 Y2guY29uZikgd2hpY2ggaXMgY29ycmVjdCwgaG93ZXZlciBJIHdhbnQgdG8gY3JlYXRlPGJyPgph IHZlcnNpb24gdGhhdCB1c2VzIC9ldGMvcGFzc3dkIGRpcmVjdGx5LiBXaHk/IFdlIGhhdmUgbWFu eTxicj4KKHRob3VzYW5kcz8pIG9mIFJIRUwgNSBiYXNlZCBzZXJ2ZXJzIHdpdGggTERBUCBpbnRl Z3JhdGlvbiwgYW5kIG1hbnk8YnI+Cih0aG91c2FuZHM/KSBvZiBhY2NvdW50cyBpbiB0aGUgTERB UCBzZXJ2ZXJzLjxicj4KPGJyPgpTaW1wbGUgdGVzdHMgbGlrZSBSSEVMLzUvaW5wdXQvb3ZhbC9h dF9zeXN0ZW1fYWNjb3VudHMueG1sIGFuZDxicj4KUkhFTC81L2lucHV0L292YWwvY3Jvbl9zeXN0 ZW1fYWNjb3VudHMueG1sIGNhbiB0YWtlIGhvdXJzIHRvIHJ1bjxicj4KYmVjYXVzZSB0aGV5IHJl dHJpZXZlICphbGwqIHVzZXJzIGluZm9ybWF0aW9uIGZyb20gdGhlIExEQVAgc2VydmVyczxicj4K YW5kIHRoZXkgZG8gaXQgKmZvciBlYWNoIGVudHJ5KiBpbiAvZXRjL2F0LmFsbG93IGFuZCAvZXRj L2Nyb24uYWxsb3cuPGJyPgpBbHNvLCBpZiB3ZSBydW4gT3BlblNDQVAgKG9zY2FwKSBhdCB0aGUg c2FtZSB0aW1lIGluIGEgZmV3IHNlcnZlcnM8YnI+CnRoZXkgaGl0IHRoZSBMREFQIHNlcnZlcnMg cmVhbGx5IGJhZC48YnI+Cjxicj4KSSBoYXZlIGJlZW4gdHJ5aW5nIHRvIHJlcGxhY2UgcGFzc3dv cmRfdGVzdCBhbmQgcGFzc3dvcmRfb2JqZWN0IGJ5PGJyPgp0ZXh0ZmlsZWNvbnRlbnQ1NF90ZXN0 IGFuZCB0ZXh0ZmlsZWNvbnRlbnQ1NF9vYmplY3Qgd2l0aG91dCBhbnkgbHVjay48YnI+CklmIHlv dSB3YW50LCBJIGNhbiBzaGFyZSBteSBhdF9zeXN0ZW1fYWNjb3VudHMueG1sIGZpbGUgdGhhdCBJ IHRob3VnaHQ8YnI+Cml0IHdhcyBnb2luZyB0byB3b3JrLjxicj4KPGJyPgpJIHdvdWxkIHJlYWxs eSBhcHByZWNpYXRlIGFueSBoZWxwIG9yIGhpbnQ/PGJyPgo8YnI+Cjxicj4KUmVnYXJkczxzcGFu Pjxmb250IGNvbG9yPSIjODg4ODg4Ij48YnI+Ci0tPGJyPgpSb2RvbGZvIE1hcnTtbmV6PGJyPgo8 L2ZvbnQ+PC9zcGFuPjwvYmxvY2txdW90ZT4KPC9kaXY+Cjxicj4KPC9kaXY+Cjxicj4KPC9kaXY+ CjwvZGl2Pgo8c3BhbiBjbGFzcz0iSE9FblpiIj48Zm9udCBjb2xvcj0iIzg4ODg4OCI+LS08YnI+ ClNDQVAgU2VjdXJpdHkgR3VpZGUgbWFpbGluZyBsaXN0PGJyPgo8YSBocmVmPSJtYWlsdG86c2Nh cC1zZWN1cml0eS1ndWlkZUBsaXN0cy5mZWRvcmFob3N0ZWQub3JnIiB0YXJnZXQ9Il9ibGFuayI+ c2NhcC1zZWN1cml0eS1ndWlkZUBsaXN0cy5mZWRvcmFob3N0ZWQub3JnPC9hPjxicj4KPGEgaHJl Zj0iaHR0cHM6Ly9saXN0cy5mZWRvcmFob3N0ZWQub3JnL2FkbWluL2xpc3RzL3NjYXAtc2VjdXJp dHktZ3VpZGVAbGlzdHMuZmVkb3JhaG9zdGVkLm9yZyIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9 Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5mZWRvcmFob3N0ZWQub3JnL2FkbWluL2xpc3RzL3NjYXAt c2VjdXJpdHktZ3VpZGVAbGlzdHMuZmVkb3JhaG9zdGVkLm9yZzwvYT48YnI+CjxhIGhyZWY9Imh0 dHBzOi8vZ2l0aHViLmNvbS9PcGVuU0NBUC9zY2FwLXNlY3VyaXR5LWd1aWRlLyIgcmVsPSJub3Jl ZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9naXRodWIuY29tL09wZW5TQ0FQL3NjYXAt c2VjdXJpdHktZ3VpZGUvPC9hPjxicj4KPGJyPgo8L2ZvbnQ+PC9zcGFuPjwvYmxvY2txdW90ZT4K PC9kaXY+Cjxicj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2Rpdj4KPGJy PgotLTxicj4KU0NBUCBTZWN1cml0eSBHdWlkZSBtYWlsaW5nIGxpc3Q8YnI+CjxhIGhyZWY9Im1h aWx0bzpzY2FwLXNlY3VyaXR5LWd1aWRlQGxpc3RzLmZlZG9yYWhvc3RlZC5vcmciIHRhcmdldD0i X2JsYW5rIj5zY2FwLXNlY3VyaXR5LWd1aWRlQGxpc3RzLmZlZG9yYWhvc3RlZC5vcmc8L2E+PGJy Pgo8YSBocmVmPSJodHRwczovL2xpc3RzLmZlZG9yYWhvc3RlZC5vcmcvYWRtaW4vbGlzdHMvc2Nh cC1zZWN1cml0eS1ndWlkZUBsaXN0cy5mZWRvcmFob3N0ZWQub3JnIiByZWw9Im5vcmVmZXJyZXIi IHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmZlZG9yYWhvc3RlZC5vcmcvYWRtaW4vbGlz dHMvc2NhcC1zZWN1cml0eS1ndWlkZUBsaXN0cy5mZWRvcmFob3N0ZWQub3JnPC9hPjxicj4KPGEg aHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL09wZW5TQ0FQL3NjYXAtc2VjdXJpdHktZ3VpZGUvIiBy ZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vT3BlblND QVAvc2NhcC1zZWN1cml0eS1ndWlkZS88L2E+PGJyPgo8YnI+CjwvYmxvY2txdW90ZT4KPC9kaXY+ Cjxicj4KPC9kaXY+Cjxicj4KPHByZT48Zm9udCBjb2xvcj0iYmx1ZSI+ClNjYW5uZWQgYnkgRm9y Y2Vwb2ludCBFbWFpbCBTZWN1cml0eSBHYXRld2F5PGJyPkNsaWNrIDxhIGhyZWY9Imh0dHBzOi8v ZXNncGVtLndlYnNlbnNlLmNvbTo0NDMvcGVtL3BhZ2VzL2RpZ2VzdFByb2Nlc3MvZGlnZXN0UHJv Y2Vzcy5qc2Y/Y29udGVudD1jMzgwNWM1OTUxODg5YzVlYzUxMGJkOTEzZjMzNmIzZDE3MTZkNDdk OTNiNGVlMTBkZTA0YTc4ZWY2YzdmYWQ4MmMwZmUwZTUwZjgzZWMyOWM2YTA2NmRmNzUwOTUxZDUy MjhhODA1ODkwMjc5NWU5NGZhODZjYzdjNmU2OWYyYjMzZGIyYzEwOTJlNzZkN2IwOGViN2I4ZWZi M2ViMDQ2OTE1NmFjNTE1MjdkNTg1OWU0ZWVjNzRkM2YzMGRiMmMwMjVlMzA3ZmY4MDM5YWYwMDAz MGRhNDZmYWNmMDhlNmE0ZmFmZTMzNDNkMTJmMGZlMmZhNTFmNTg4ODc5MmVhYjkxODYwYmIxYjc0 MGQyY2Y2M2MwOTkyYzA0MzBlOGIiIHRpdGxlPSJXYXJuaW5nOiBSZXBvcnQgdGhlIG1lc3NhZ2Ug YXMgc3BhbSIgdGFyZ2V0PSJfYmxhbmsiPmhlcmU8L2E+Jm5ic3A7dG8gcmVwb3J0IHRoaXMgZW1h aWwgYXMgc3BhbQoKPC9mb250PjwvcHJlPgo8YnI+CjwvZGl2Pgo8L2Rpdj4KPC9kaXY+Cgo8YnI+ PHByZT48Zm9udCBjb2xvcj0iYmx1ZSI+Cgo8L2ZvbnQ+PC9wcmU+PGJyPgo8L2JvZHk+CjwvaHRt bD4K --===============8722603352906187179==--