From shawn at redhat.com Thu Aug 20 11:35:23 2015 Content-Type: multipart/mixed; boundary="===============0037996281284142893==" MIME-Version: 1.0 From: Shawn Wells To: scap-security-guide at lists.fedorahosted.org Subject: Re: [PATCH] Added OVAL content for the file_ownership_binary_dirs rule as the file file_ownership_binary_dirs.xml and added the oval id to the corresponding XCCDF content in files.xml Date: Tue, 01 Oct 2013 11:24:19 -0400 Message-ID: <524AE923.5010309@redhat.com> In-Reply-To: 1380636399-6941-2-git-send-email-coopercd@ornl.gov --===============0037996281284142893== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable You're encountering the same issue I did... perhaps I'm the LCD here... ;) Check out results for /usr/local/bin below. I ran the following to = ensure everything is root before testing: > [shawn(a)SSG-RHEL6 checks]$ sudo bash > [root(a)SSG-RHEL6 checks]# DIRS=3D"/bin /usr/bin /usr/local/bin /sbin = > /usr/sbin /usr/local/sbin" > [root(a)SSG-RHEL6 checks]# for dirPath in $DIRS; do > > find $dirPath \! -user root -exec chown root '{}' \; > > done > [root(a)SSG-RHEL6 checks]# exit > exit > [shawn(a)SSG-RHEL6 checks]$ ./testcheck.py file_ownership_binary_dirs.xml > Evaluating with OVAL tempfile : /tmp/file_ownership_binary_dirsU1mqUp.xml > Writing results to : /tmp/file_ownership_binary_dirsU1mqUp.xml-results > Definition oval:scap-security-guide.testing:def:261: true > Evaluation done. > On 10/1/13 10:06 AM, Caleb Cooper wrote: > Signed-off-by: Caleb Cooper > --- > RHEL6/input/checks/file_ownership_binary_dirs.xml | 163 ++++++++++++++= +++++++ > 1 files changed, 163 insertions(+), 0 deletions(-) > create mode 100644 RHEL6/input/checks/file_ownership_binary_dirs.xml > > diff --git a/RHEL6/input/checks/file_ownership_binary_dirs.xml b/RHEL6/in= put/checks/file_ownership_binary_dirs.xml > new file mode 100644 > index 0000000..b787191 > --- /dev/null > +++ b/RHEL6/input/checks/file_ownership_binary_dirs.xml > @@ -0,0 +1,163 @@ > + > + > + > + Verify that System Executables Have Root Ownership > + > + Red Hat Enterprise Linux 6 > + > + Checks that /bin, /sbin, /usr/bin, /usr/sbin, /usr/lo= cal/bin, /usr/local/sbin and objects therein, are owned by root > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + > + Minor note: lib/bin in comment > + > + /bin > + > + state_owner_not_root > + > + > + > + > + /bin > + ^.*$ > + state_owner_not_root > + > + .... testing for non-root under /bin...... [shawn(a)SSG-RHEL6 checks]$ sudo chown shawn:shawn /bin/awk [shawn(a)SSG-RHEL6 checks]$ ./testcheck.py file_ownership_binary_dirs.xml Evaluating with OVAL tempfile : /tmp/file_ownership_binary_dirs6eQhsR.xml Writing results to : /tmp/file_ownership_binary_dirs6eQhsR.xml-results Definition oval:scap-security-guide.testing:def:261: false Evaluation done. > + > + > + > + > + > + > + > + > + > + > + /sbin > + > + state_owner_not_root > + > + > + > + > + /sbin > + ^.*$ > + state_owner_not_root > + ..... testing for non-root under /sbin ..... [shawn(a)SSG-RHEL6 checks]$ sudo rm /usr/local/bin/filetest [shawn(a)SSG-RHEL6 checks]$ sudo chown shawn:shawn /sbin/addpart [shawn(a)SSG-RHEL6 checks]$ ./testcheck.py file_ownership_binary_dirs.xml Evaluating with OVAL tempfile : /tmp/file_ownership_binary_dirsu4wrQh.xml Writing results to : /tmp/file_ownership_binary_dirsu4wrQh.xml-results Definition oval:scap-security-guide.testing:def:261: false Evaluation done. > + > + > + > + > + > + > + > + > + > + > + > + /usr/bin > + > + state_owner_not_root > + > + > + > + > + /usr/bin > + ^.*$ > + state_owner_not_root > + ..... testing for non-root under /usr/bin ..... [shawn(a)SSG-RHEL6 checks]$ sudo chown root:root /bin/awk [shawn(a)SSG-RHEL6 checks]$ sudo chown shawn:shawn /usr/bin/a2p [shawn(a)SSG-RHEL6 checks]$ ./testcheck.py file_ownership_binary_dirs.xml Evaluating with OVAL tempfile : /tmp/file_ownership_binary_dirs2wHH6V.xml Writing results to : /tmp/file_ownership_binary_dirs2wHH6V.xml-results Definition oval:scap-security-guide.testing:def:261: false Evaluation done. > + > + > + > + > + > + > + > + > + > + > + > + /usr/sbin > + > + state_owner_not_root > + > + > + > + > + /usr/sbin > + ^.*$ > + state_owner_not_root > + ..... testing for non-root under /usr/sbin ..... [shawn(a)SSG-RHEL6 checks]$ sudo chown root:root /sbin/addpart [shawn(a)SSG-RHEL6 checks]$ sudo chown shawn:shawn /usr/sbin/accept [shawn(a)SSG-RHEL6 checks]$ ./testcheck.py file_ownership_binary_dirs.xml Evaluating with OVAL tempfile : /tmp/file_ownership_binary_dirsddwRzZ.xml Writing results to : /tmp/file_ownership_binary_dirsddwRzZ.xml-results Definition oval:scap-security-guide.testing:def:261: false Evaluation done. > + > + > + > + > + > + > + > + > + > + > + > + /usr/local/bin > + > + state_owner_not_root > + ..... testing for non-root under /usr/local/bin ..... [shawn(a)SSG-RHEL6 checks]$ sudo touch /usr/local/bin/filetest ; sudo = chown shawn:shawn /usr/local/bin/filetest [shawn(a)SSG-RHEL6 checks]$ sudo chown root:root /usr/bin/a2p [shawn(a)SSG-RHEL6 checks]$ ./testcheck.py file_ownership_binary_dirs.xml Evaluating with OVAL tempfile : /tmp/file_ownership_binary_dirsno1sSt.xml Writing results to : /tmp/file_ownership_binary_dirsno1sSt.xml-results Definition oval:scap-security-guide.testing:def:261: true Evaluation done. [shawn(a)SSG-RHEL6 checks]$ ll /usr/local/bin/filetest -rw-r--r--. 1 shawn shawn 0 Oct 1 00:09 /usr/local/bin/filetest > + > + > + > + /usr/local/bin > + ^.*$ > + state_owner_not_root > + > + > + > + > + > + > + > + > + > + > + > + > + /usr/local/sbin > + > + state_owner_not_root > + > + > + > + > + /usr/local/sbin > + ^.*$ > + state_owner_not_root > + ..... testing for non-root under /usr/local/sbin ..... [shawn(a)SSG-RHEL6 checks]$ sudo chown root:root /usr/sbin/accept [shawn(a)SSG-RHEL6 checks]$ sudo touch /usr/local/sbin/test ; sudo chown = shawn:shawn /usr/local/sbin/test [shawn(a)SSG-RHEL6 checks]$ ./testcheck.py file_ownership_binary_dirs.xml Evaluating with OVAL tempfile : /tmp/file_ownership_binary_dirszY6fXL.xml Writing results to : /tmp/file_ownership_binary_dirszY6fXL.xml-results Definition oval:scap-security-guide.testing:def:261: false Evaluation done. > + > + > + > + 0 > + > + --===============0037996281284142893== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CiAgPGhlYWQ+CiAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRG LTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+CiAgPC9oZWFkPgogIDxib2R5IGJnY29sb3I9 IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPgogICAgPGRpdiBjbGFzcz0ibW96LWNpdGUtcHJlZml4 Ij48YnI+CiAgICAgIFlvdSdyZSBlbmNvdW50ZXJpbmcgdGhlIHNhbWUgaXNzdWUgSSBkaWQuLi4g cGVyaGFwcyBJJ20gdGhlIExDRAogICAgICBoZXJlLi4uIDspPGJyPgogICAgICA8YnI+CiAgICAg IENoZWNrIG91dCByZXN1bHRzIGZvciAvdXNyL2xvY2FsL2JpbiBiZWxvdy4gSSByYW4gdGhlIGZv bGxvd2luZyB0bwogICAgICBlbnN1cmUgZXZlcnl0aGluZyBpcyByb290IGJlZm9yZSB0ZXN0aW5n Ojxicj4KICAgICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSI+W3NoYXduQFNTRy1SSEVMNiBjaGVj a3NdJCBzdWRvIGJhc2g8YnI+CiAgICAgICAgW3Jvb3RAU1NHLVJIRUw2IGNoZWNrc10jIERJUlM9 Ii9iaW4gL3Vzci9iaW4gL3Vzci9sb2NhbC9iaW4KICAgICAgICAvc2JpbiAvdXNyL3NiaW4gL3Vz ci9sb2NhbC9zYmluIjxicj4KICAgICAgICBbcm9vdEBTU0ctUkhFTDYgY2hlY2tzXSMgZm9yIGRp clBhdGggaW4gJERJUlM7IGRvPGJyPgogICAgICAgICZndDvCoMKgwqDCoMKgwqDCoMKgwqDCoCBm aW5kICRkaXJQYXRoIFwhIC11c2VyIHJvb3QgLWV4ZWMgY2hvd24gcm9vdCAne30nCiAgICAgICAg XDs8YnI+CiAgICAgICAgJmd0O8KgwqAgZG9uZTxicj4KICAgICAgICBbcm9vdEBTU0ctUkhFTDYg Y2hlY2tzXSMgZXhpdDxicj4KICAgICAgICBleGl0PGJyPgogICAgICAgIFtzaGF3bkBTU0ctUkhF TDYgY2hlY2tzXSQgLi90ZXN0Y2hlY2sucHkKICAgICAgICBmaWxlX293bmVyc2hpcF9iaW5hcnlf ZGlycy54bWwgPGJyPgogICAgICAgIEV2YWx1YXRpbmcgd2l0aCBPVkFMIHRlbXBmaWxlIDoKICAg ICAgICAvdG1wL2ZpbGVfb3duZXJzaGlwX2JpbmFyeV9kaXJzVTFtcVVwLnhtbDxicj4KICAgICAg ICBXcml0aW5nIHJlc3VsdHMgdG8gOgogICAgICAgIC90bXAvZmlsZV9vd25lcnNoaXBfYmluYXJ5 X2RpcnNVMW1xVXAueG1sLXJlc3VsdHM8YnI+CiAgICAgICAgRGVmaW5pdGlvbiBvdmFsOnNjYXAt c2VjdXJpdHktZ3VpZGUudGVzdGluZzpkZWY6MjYxOiB0cnVlPGJyPgogICAgICAgIEV2YWx1YXRp b24gZG9uZS48YnI+CiAgICAgICAgPGJyPgogICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgIDxicj4K ICAgICAgPGJyPgogICAgICA8YnI+CiAgICAgIDxicj4KICAgICAgT24gMTAvMS8xMyAxMDowNiBB TSwgQ2FsZWIgQ29vcGVyIHdyb3RlOjxicj4KICAgIDwvZGl2PgogICAgPGJsb2NrcXVvdGUKICAg ICAgY2l0ZT0ibWlkOjEzODA2MzYzOTktNjk0MS0yLWdpdC1zZW5kLWVtYWlsLWNvb3BlcmNkQG9y bmwuZ292IgogICAgICB0eXBlPSJjaXRlIj4KICAgICAgPHByZSB3cmFwPSIiPgpTaWduZWQtb2Zm LWJ5OiBDYWxlYiBDb29wZXIgPGEgY2xhc3M9Im1vei10eHQtbGluay1yZmMyMzk2RSIgaHJlZj0i bWFpbHRvOmNvb3BlcmNkQG9ybmwuZ292Ij4mbHQ7Y29vcGVyY2RAb3JubC5nb3YmZ3Q7PC9hPgot LS0KIFJIRUw2L2lucHV0L2NoZWNrcy9maWxlX293bmVyc2hpcF9iaW5hcnlfZGlycy54bWwgfCAg MTYzICsrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlcyBjaGFuZ2VkLCAxNjMgaW5zZXJ0aW9u cygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBSSEVMNi9pbnB1dC9jaGVj a3MvZmlsZV9vd25lcnNoaXBfYmluYXJ5X2RpcnMueG1sCgpkaWZmIC0tZ2l0IGEvUkhFTDYvaW5w dXQvY2hlY2tzL2ZpbGVfb3duZXJzaGlwX2JpbmFyeV9kaXJzLnhtbCBiL1JIRUw2L2lucHV0L2No ZWNrcy9maWxlX293bmVyc2hpcF9iaW5hcnlfZGlycy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uYjc4NzE5MQotLS0gL2Rldi9udWxsCisrKyBiL1JIRUw2L2lucHV0L2No ZWNrcy9maWxlX293bmVyc2hpcF9iaW5hcnlfZGlycy54bWwKQEAgLTAsMCArMSwxNjMgQEAKKyZs dDtkZWYtZ3JvdXAmZ3Q7CisgICZsdDtkZWZpbml0aW9uIGNsYXNzPSJjb21wbGlhbmNlIiBpZD0i ZmlsZV9vd25lcnNoaXBfYmluYXJ5X2RpcnMiIHZlcnNpb249IjEiJmd0OworICAgICZsdDttZXRh ZGF0YSZndDsKKyAgICAgICZsdDt0aXRsZSZndDtWZXJpZnkgdGhhdCBTeXN0ZW0gRXhlY3V0YWJs ZXMgSGF2ZSBSb290IE93bmVyc2hpcCZsdDsvdGl0bGUmZ3Q7CisgICAgICAmbHQ7YWZmZWN0ZWQg ZmFtaWx5PSJ1bml4IiZndDsKKyAgICAgICAgJmx0O3BsYXRmb3JtJmd0O1JlZCBIYXQgRW50ZXJw cmlzZSBMaW51eCA2Jmx0Oy9wbGF0Zm9ybSZndDsKKyAgICAgICZsdDsvYWZmZWN0ZWQmZ3Q7Cisg ICAgICAmbHQ7ZGVzY3JpcHRpb24mZ3Q7Q2hlY2tzIHRoYXQgL2JpbiwgL3NiaW4sIC91c3IvYmlu LCAvdXNyL3NiaW4sIC91c3IvbG9jYWwvYmluLCAvdXNyL2xvY2FsL3NiaW4gYW5kIG9iamVjdHMg dGhlcmVpbiwgYXJlIG93bmVkIGJ5IHJvb3QmbHQ7L2Rlc2NyaXB0aW9uJmd0OworICAgICAgJmx0 O3JlZmVyZW5jZSBzb3VyY2U9InN3ZWxscyIgcmVmX2lkPSIyMDEzMDkxNCIgcmVmX3VybD0idGVz dF9hdHRlc3RhdGlvbiIgLyZndDsKKyAgICAmbHQ7L21ldGFkYXRhJmd0OworICAgICZsdDtjcml0 ZXJpYSBvcGVyYXRvcj0iQU5EIiZndDsKKyAgICAgICZsdDtjcml0ZXJpb24gdGVzdF9yZWY9InRl c3Rfb3duZXJzaGlwX2Jpbl9kaXIiIC8mZ3Q7CisgICAgICAmbHQ7Y3JpdGVyaW9uIHRlc3RfcmVm PSJ0ZXN0X293bmVyc2hpcF9zYmluX2RpciIgLyZndDsKKyAgICAgICZsdDtjcml0ZXJpb24gdGVz dF9yZWY9InRlc3Rfb3duZXJzaGlwX3Vzcl9iaW5fZGlyIiAvJmd0OworICAgICAgJmx0O2NyaXRl cmlvbiB0ZXN0X3JlZj0idGVzdF9vd25lcnNoaXBfdXNyX3NiaW5fZGlyIiAvJmd0OworICAgICAg Jmx0O2NyaXRlcmlvbiB0ZXN0X3JlZj0idGVzdF9vd25lcnNoaXBfdXNyX2xvY2FsX2Jpbl9kaXIi IC8mZ3Q7CisgICAgICAmbHQ7Y3JpdGVyaW9uIHRlc3RfcmVmPSJ0ZXN0X293bmVyc2hpcF91c3Jf bG9jYWxfYmluX2RpciIgLyZndDsKKyAgICAgICZsdDtjcml0ZXJpb24gdGVzdF9yZWY9InRlc3Rf b3duZXJzaGlwX2Jpbl9maWxlcyIgLyZndDsKKyAgICAgICZsdDtjcml0ZXJpb24gdGVzdF9yZWY9 InRlc3Rfb3duZXJzaGlwX3NiaW5fZmlsZXMiIC8mZ3Q7CisgICAgICAmbHQ7Y3JpdGVyaW9uIHRl c3RfcmVmPSJ0ZXN0X293bmVyc2hpcF91c3JfYmluX2ZpbGVzIiAvJmd0OworICAgICAgJmx0O2Ny aXRlcmlvbiB0ZXN0X3JlZj0idGVzdF9vd25lcnNoaXBfdXNyX3NiaW5fZmlsZXMiIC8mZ3Q7Cisg ICAgICAmbHQ7Y3JpdGVyaW9uIHRlc3RfcmVmPSJ0ZXN0X293bmVyc2hpcF91c3JfbG9jYWxfc2Jp bl9maWxlcyIgLyZndDsKKyAgICAgICZsdDtjcml0ZXJpb24gdGVzdF9yZWY9InRlc3Rfb3duZXJz aGlwX3Vzcl9sb2NhbF9zYmluX2ZpbGVzIiAvJmd0OworICAgICZsdDsvY3JpdGVyaWEmZ3Q7Cisg ICZsdDsvZGVmaW5pdGlvbiZndDsKKworICAmbHQ7dW5peDpmaWxlX3Rlc3QgIGNoZWNrPSJhbGwi IGNoZWNrX2V4aXN0ZW5jZT0ibm9uZV9leGlzdCIgY29tbWVudD0iL2JpbiBkaXJlY3RvcmllcyB1 aWQgcm9vdCIgaWQ9InRlc3Rfb3duZXJzaGlwX2Jpbl9kaXIiIHZlcnNpb249IjEiJmd0OworICAg ICZsdDt1bml4Om9iamVjdCBvYmplY3RfcmVmPSJmaWxlX293bmVyc2hpcF9vYmplY3RfYmluX2Rp ciIgLyZndDsKKyAgJmx0Oy91bml4OmZpbGVfdGVzdCZndDsKKworICAmbHQ7dW5peDpmaWxlX3Rl c3QgIGNoZWNrPSJhbGwiIGNoZWNrX2V4aXN0ZW5jZT0ibm9uZV9leGlzdCIgY29tbWVudD0iL2Jp biBmaWxlcyB1aWQgcm9vdCIgaWQ9InRlc3Rfb3duZXJzaGlwX2Jpbl9maWxlcyIgdmVyc2lvbj0i MSImZ3Q7CisgICAgJmx0O3VuaXg6b2JqZWN0IG9iamVjdF9yZWY9Im9iamVjdF9maWxlX293bmVy c2hpcF9iaW5fZmlsZXMiIC8mZ3Q7CisgICZsdDsvdW5peDpmaWxlX3Rlc3QmZ3Q7CisKKyAgJmx0 O3VuaXg6ZmlsZV9vYmplY3QgY29tbWVudD0iL2xpYiBkaXJlY3RvcmllcyIgaWQ9ImZpbGVfb3du ZXJzaGlwX29iamVjdF9iaW5fZGlyIiB2ZXJzaW9uPSIxIiZndDs8L3ByZT4KICAgIDwvYmxvY2tx dW90ZT4KICAgIDxicj4KICAgIE1pbm9yIG5vdGU6IGxpYi9iaW4gaW4gY29tbWVudDxicj4KICAg IDxicj4KICAgIDxicj4KICAgIDxibG9ja3F1b3RlCiAgICAgIGNpdGU9Im1pZDoxMzgwNjM2Mzk5 LTY5NDEtMi1naXQtc2VuZC1lbWFpbC1jb29wZXJjZEBvcm5sLmdvdiIKICAgICAgdHlwZT0iY2l0 ZSI+CiAgICAgIDxwcmUgd3JhcD0iIj4KKyAgICAmbHQ7dW5peDpiZWhhdmlvcnMgcmVjdXJzZT0i ZGlyZWN0b3JpZXMiIHJlY3Vyc2VfZGlyZWN0aW9uPSJkb3duIiBtYXhfZGVwdGg9Ii0xIiByZWN1 cnNlX2ZpbGVfc3lzdGVtPSJhbGwiIC8mZ3Q7CisgICAgJmx0O3VuaXg6cGF0aCBvcGVyYXRpb249 ImVxdWFscyImZ3Q7L2JpbiZsdDsvdW5peDpwYXRoJmd0OworICAgICZsdDt1bml4OmZpbGVuYW1l IHhzaTpuaWw9InRydWUiIC8mZ3Q7CisgICAgJmx0O2ZpbHRlciBhY3Rpb249ImluY2x1ZGUiJmd0 O3N0YXRlX293bmVyX25vdF9yb290Jmx0Oy9maWx0ZXImZ3Q7CisgICZsdDsvdW5peDpmaWxlX29i amVjdCZndDsKKworICAmbHQ7dW5peDpmaWxlX29iamVjdCBjb21tZW50PSIvYmluIGZpbGVzIiBp ZD0ib2JqZWN0X2ZpbGVfb3duZXJzaGlwX2Jpbl9maWxlcyIgdmVyc2lvbj0iMSImZ3Q7CisgICAg Jmx0O3VuaXg6YmVoYXZpb3JzIHJlY3Vyc2U9ImRpcmVjdG9yaWVzIiByZWN1cnNlX2RpcmVjdGlv bj0iZG93biIgbWF4X2RlcHRoPSItMSIgcmVjdXJzZV9maWxlX3N5c3RlbT0iYWxsIiAvJmd0Owor ICAgICZsdDt1bml4OnBhdGggb3BlcmF0aW9uPSJlcXVhbHMiJmd0Oy9iaW4mbHQ7L3VuaXg6cGF0 aCZndDsKKyAgICAmbHQ7dW5peDpmaWxlbmFtZSBvcGVyYXRpb249InBhdHRlcm4gbWF0Y2giJmd0 O14uKiQmbHQ7L3VuaXg6ZmlsZW5hbWUmZ3Q7CisgICAmbHQ7ZmlsdGVyIGFjdGlvbj0iaW5jbHVk ZSImZ3Q7c3RhdGVfb3duZXJfbm90X3Jvb3QmbHQ7L2ZpbHRlciZndDsKKyAgJmx0Oy91bml4OmZp bGVfb2JqZWN0Jmd0OworPC9wcmU+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgICA8YnI+ CiAgICA8YnI+CiAgICAuLi4uIHRlc3RpbmcgZm9yIG5vbi1yb290IHVuZGVyIC9iaW4uLi4uLi48 YnI+CiAgICBbc2hhd25AU1NHLVJIRUw2IGNoZWNrc10kIHN1ZG8gY2hvd24gc2hhd246c2hhd24g L2Jpbi9hd2sgPGJyPgogICAgW3NoYXduQFNTRy1SSEVMNiBjaGVja3NdJCAuL3Rlc3RjaGVjay5w eQogICAgZmlsZV9vd25lcnNoaXBfYmluYXJ5X2RpcnMueG1sIDxicj4KICAgIEV2YWx1YXRpbmcg d2l0aCBPVkFMIHRlbXBmaWxlIDoKICAgIC90bXAvZmlsZV9vd25lcnNoaXBfYmluYXJ5X2RpcnM2 ZVFoc1IueG1sPGJyPgogICAgV3JpdGluZyByZXN1bHRzIHRvIDoKICAgIC90bXAvZmlsZV9vd25l cnNoaXBfYmluYXJ5X2RpcnM2ZVFoc1IueG1sLXJlc3VsdHM8YnI+CiAgICBEZWZpbml0aW9uIG92 YWw6c2NhcC1zZWN1cml0eS1ndWlkZS50ZXN0aW5nOmRlZjoyNjE6IGZhbHNlPGJyPgogICAgRXZh bHVhdGlvbiBkb25lLjxicj4KICAgIDxicj4KICAgIDxicj4KICAgIDxicj4KICAgIDxicj4KICAg IDxibG9ja3F1b3RlCiAgICAgIGNpdGU9Im1pZDoxMzgwNjM2Mzk5LTY5NDEtMi1naXQtc2VuZC1l bWFpbC1jb29wZXJjZEBvcm5sLmdvdiIKICAgICAgdHlwZT0iY2l0ZSI+CiAgICAgIDxwcmUgd3Jh cD0iIj4KKyAgJmx0O3VuaXg6ZmlsZV90ZXN0ICBjaGVjaz0iYWxsIiBjaGVja19leGlzdGVuY2U9 Im5vbmVfZXhpc3QiIGNvbW1lbnQ9Ii9zYmluIGRpcmVjdG9yaWVzIHVpZCByb290IiBpZD0idGVz dF9vd25lcnNoaXBfc2Jpbl9kaXIiIHZlcnNpb249IjEiJmd0OworICAgICZsdDt1bml4Om9iamVj dCBvYmplY3RfcmVmPSJvYmplY3RfZmlsZV9vd25lcnNoaXBfc2Jpbl9kaXIiIC8mZ3Q7CisgICZs dDsvdW5peDpmaWxlX3Rlc3QmZ3Q7CisKKyAgJmx0O3VuaXg6ZmlsZV90ZXN0ICBjaGVjaz0iYWxs IiBjaGVja19leGlzdGVuY2U9Im5vbmVfZXhpc3QiIGNvbW1lbnQ9Ii9zYmluIGZpbGVzIHVpZCBy b290IiBpZD0idGVzdF9vd25lcnNoaXBfc2Jpbl9maWxlcyIgdmVyc2lvbj0iMSImZ3Q7CisgICAg Jmx0O3VuaXg6b2JqZWN0IG9iamVjdF9yZWY9Im9iamVjdF9maWxlX293bmVyc2hpcF9zYmluX2Zp bGVzIiAvJmd0OworICAmbHQ7L3VuaXg6ZmlsZV90ZXN0Jmd0OworCisgICZsdDt1bml4OmZpbGVf b2JqZWN0IGNvbW1lbnQ9Ii9zYmluIGRpcmVjdG9yaWVzIiBpZD0ib2JqZWN0X2ZpbGVfb3duZXJz aGlwX3NiaW5fZGlyIiB2ZXJzaW9uPSIxIiZndDsKKyAgICAmbHQ7dW5peDpiZWhhdmlvcnMgcmVj dXJzZT0iZGlyZWN0b3JpZXMiIHJlY3Vyc2VfZGlyZWN0aW9uPSJkb3duIiBtYXhfZGVwdGg9Ii0x IiByZWN1cnNlX2ZpbGVfc3lzdGVtPSJhbGwiIC8mZ3Q7CisgICAgJmx0O3VuaXg6cGF0aCBvcGVy YXRpb249ImVxdWFscyImZ3Q7L3NiaW4mbHQ7L3VuaXg6cGF0aCZndDsKKyAgICAmbHQ7dW5peDpm aWxlbmFtZSB4c2k6bmlsPSJ0cnVlIiAvJmd0OworICAgICZsdDtmaWx0ZXIgYWN0aW9uPSJpbmNs dWRlIiZndDtzdGF0ZV9vd25lcl9ub3Rfcm9vdCZsdDsvZmlsdGVyJmd0OworICAmbHQ7L3VuaXg6 ZmlsZV9vYmplY3QmZ3Q7CisKKyAgJmx0O3VuaXg6ZmlsZV9vYmplY3QgY29tbWVudD0iL3NiaW4g ZmlsZXMiIGlkPSJvYmplY3RfZmlsZV9vd25lcnNoaXBfc2Jpbl9maWxlcyIgdmVyc2lvbj0iMSIm Z3Q7CisgICAgJmx0O3VuaXg6YmVoYXZpb3JzIHJlY3Vyc2U9ImRpcmVjdG9yaWVzIiByZWN1cnNl X2RpcmVjdGlvbj0iZG93biIgbWF4X2RlcHRoPSItMSIgcmVjdXJzZV9maWxlX3N5c3RlbT0iYWxs IiAvJmd0OworICAgICZsdDt1bml4OnBhdGggb3BlcmF0aW9uPSJlcXVhbHMiJmd0Oy9zYmluJmx0 Oy91bml4OnBhdGgmZ3Q7CisgICAgJmx0O3VuaXg6ZmlsZW5hbWUgb3BlcmF0aW9uPSJwYXR0ZXJu IG1hdGNoIiZndDteLiokJmx0Oy91bml4OmZpbGVuYW1lJmd0OworICAgICZsdDtmaWx0ZXIgYWN0 aW9uPSJpbmNsdWRlIiZndDtzdGF0ZV9vd25lcl9ub3Rfcm9vdCZsdDsvZmlsdGVyJmd0OworICAm bHQ7L3VuaXg6ZmlsZV9vYmplY3QmZ3Q7PC9wcmU+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+ CiAgICA8YnI+CiAgICAuLi4uLiB0ZXN0aW5nIGZvciBub24tcm9vdCB1bmRlciAvc2JpbiAuLi4u Ljxicj4KICAgIFtzaGF3bkBTU0ctUkhFTDYgY2hlY2tzXSQgc3VkbyBybSAvdXNyL2xvY2FsL2Jp bi9maWxldGVzdCA8YnI+CiAgICBbc2hhd25AU1NHLVJIRUw2IGNoZWNrc10kIHN1ZG8gY2hvd24g c2hhd246c2hhd24gL3NiaW4vYWRkcGFydCA8YnI+CiAgICBbc2hhd25AU1NHLVJIRUw2IGNoZWNr c10kIC4vdGVzdGNoZWNrLnB5CiAgICBmaWxlX293bmVyc2hpcF9iaW5hcnlfZGlycy54bWwgPGJy PgogICAgRXZhbHVhdGluZyB3aXRoIE9WQUwgdGVtcGZpbGUgOgogICAgL3RtcC9maWxlX293bmVy c2hpcF9iaW5hcnlfZGlyc3U0d3JRaC54bWw8YnI+CiAgICBXcml0aW5nIHJlc3VsdHMgdG8gOgog ICAgL3RtcC9maWxlX293bmVyc2hpcF9iaW5hcnlfZGlyc3U0d3JRaC54bWwtcmVzdWx0czxicj4K ICAgIERlZmluaXRpb24gb3ZhbDpzY2FwLXNlY3VyaXR5LWd1aWRlLnRlc3Rpbmc6ZGVmOjI2MTog ZmFsc2U8YnI+CiAgICBFdmFsdWF0aW9uIGRvbmUuPGJyPgogICAgPGJyPgogICAgPGJyPgogICAg PGJsb2NrcXVvdGUKICAgICAgY2l0ZT0ibWlkOjEzODA2MzYzOTktNjk0MS0yLWdpdC1zZW5kLWVt YWlsLWNvb3BlcmNkQG9ybmwuZ292IgogICAgICB0eXBlPSJjaXRlIj4KICAgICAgPHByZSB3cmFw PSIiPgorCisgICZsdDt1bml4OmZpbGVfdGVzdCAgY2hlY2s9ImFsbCIgY2hlY2tfZXhpc3RlbmNl PSJub25lX2V4aXN0IiBjb21tZW50PSIvdXNyL2JpbiBkaXJlY3RvcmllcyB1aWQgcm9vdCIgaWQ9 InRlc3Rfb3duZXJzaGlwX3Vzcl9iaW5fZGlyIiB2ZXJzaW9uPSIxIiZndDsKKyAgICAmbHQ7dW5p eDpvYmplY3Qgb2JqZWN0X3JlZj0ib2JqZWN0X2ZpbGVfb3duZXJzaGlwX3Vzcl9iaW5fZGlyIiAv Jmd0OworICAmbHQ7L3VuaXg6ZmlsZV90ZXN0Jmd0OworCisgICZsdDt1bml4OmZpbGVfdGVzdCAg Y2hlY2s9ImFsbCIgY2hlY2tfZXhpc3RlbmNlPSJub25lX2V4aXN0IiBjb21tZW50PSIvdXNyL2Jp biBmaWxlcyB1aWQgcm9vdCIgaWQ9InRlc3Rfb3duZXJzaGlwX3Vzcl9iaW5fZmlsZXMiIHZlcnNp b249IjEiJmd0OworICAgICZsdDt1bml4Om9iamVjdCBvYmplY3RfcmVmPSJvYmplY3RfZmlsZV9v d25lcnNoaXBfdXNyX2Jpbl9maWxlcyIgLyZndDsKKyAgJmx0Oy91bml4OmZpbGVfdGVzdCZndDsK KworICAmbHQ7dW5peDpmaWxlX29iamVjdCBjb21tZW50PSIvdXNyL2JpbiBkaXJlY3RvcmllcyIg aWQ9Im9iamVjdF9maWxlX293bmVyc2hpcF91c3JfYmluX2RpciIgdmVyc2lvbj0iMSImZ3Q7Cisg ICAgJmx0O3VuaXg6YmVoYXZpb3JzIHJlY3Vyc2U9ImRpcmVjdG9yaWVzIiByZWN1cnNlX2RpcmVj dGlvbj0iZG93biIgbWF4X2RlcHRoPSItMSIgcmVjdXJzZV9maWxlX3N5c3RlbT0iYWxsIiAvJmd0 OworICAgICZsdDt1bml4OnBhdGggb3BlcmF0aW9uPSJlcXVhbHMiJmd0Oy91c3IvYmluJmx0Oy91 bml4OnBhdGgmZ3Q7CisgICAgJmx0O3VuaXg6ZmlsZW5hbWUgeHNpOm5pbD0idHJ1ZSIgLyZndDsK KwkmbHQ7ZmlsdGVyIGFjdGlvbj0iaW5jbHVkZSImZ3Q7c3RhdGVfb3duZXJfbm90X3Jvb3QmbHQ7 L2ZpbHRlciZndDsKKyAgJmx0Oy91bml4OmZpbGVfb2JqZWN0Jmd0OworCisgICZsdDt1bml4OmZp bGVfb2JqZWN0IGNvbW1lbnQ9Ii91c3IvYmluIGZpbGVzIiBpZD0ib2JqZWN0X2ZpbGVfb3duZXJz aGlwX3Vzcl9iaW5fZmlsZXMiIHZlcnNpb249IjEiJmd0OworICAgICZsdDt1bml4OmJlaGF2aW9y cyByZWN1cnNlPSJkaXJlY3RvcmllcyIgcmVjdXJzZV9kaXJlY3Rpb249ImRvd24iIG1heF9kZXB0 aD0iLTEiIHJlY3Vyc2VfZmlsZV9zeXN0ZW09ImFsbCIgLyZndDsKKyAgICAmbHQ7dW5peDpwYXRo IG9wZXJhdGlvbj0iZXF1YWxzIiZndDsvdXNyL2JpbiZsdDsvdW5peDpwYXRoJmd0OworICAgICZs dDt1bml4OmZpbGVuYW1lIG9wZXJhdGlvbj0icGF0dGVybiBtYXRjaCImZ3Q7Xi4qJCZsdDsvdW5p eDpmaWxlbmFtZSZndDsKKyAgICAmbHQ7ZmlsdGVyIGFjdGlvbj0iaW5jbHVkZSImZ3Q7c3RhdGVf b3duZXJfbm90X3Jvb3QmbHQ7L2ZpbHRlciZndDsKKyAgJmx0Oy91bml4OmZpbGVfb2JqZWN0Jmd0 OyAgPC9wcmU+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgICA8YnI+CiAgICAuLi4uLiB0 ZXN0aW5nIGZvciBub24tcm9vdCB1bmRlciAvdXNyL2JpbiAuLi4uLjxicj4KICAgIFtzaGF3bkBT U0ctUkhFTDYgY2hlY2tzXSQgc3VkbyBjaG93biByb290OnJvb3QgL2Jpbi9hd2sgPGJyPgogICAg W3NoYXduQFNTRy1SSEVMNiBjaGVja3NdJCBzdWRvIGNob3duIHNoYXduOnNoYXduIC91c3IvYmlu L2EycCA8YnI+CiAgICBbc2hhd25AU1NHLVJIRUw2IGNoZWNrc10kIC4vdGVzdGNoZWNrLnB5CiAg ICBmaWxlX293bmVyc2hpcF9iaW5hcnlfZGlycy54bWwgPGJyPgogICAgRXZhbHVhdGluZyB3aXRo IE9WQUwgdGVtcGZpbGUgOgogICAgL3RtcC9maWxlX293bmVyc2hpcF9iaW5hcnlfZGlyczJ3SEg2 Vi54bWw8YnI+CiAgICBXcml0aW5nIHJlc3VsdHMgdG8gOgogICAgL3RtcC9maWxlX293bmVyc2hp cF9iaW5hcnlfZGlyczJ3SEg2Vi54bWwtcmVzdWx0czxicj4KICAgIERlZmluaXRpb24gb3ZhbDpz Y2FwLXNlY3VyaXR5LWd1aWRlLnRlc3Rpbmc6ZGVmOjI2MTogZmFsc2U8YnI+CiAgICBFdmFsdWF0 aW9uIGRvbmUuPGJyPgogICAgPGJyPgogICAgPGJyPgogICAgPGJyPgogICAgPGJsb2NrcXVvdGUK ICAgICAgY2l0ZT0ibWlkOjEzODA2MzYzOTktNjk0MS0yLWdpdC1zZW5kLWVtYWlsLWNvb3BlcmNk QG9ybmwuZ292IgogICAgICB0eXBlPSJjaXRlIj4KICAgICAgPHByZSB3cmFwPSIiPgorCisgICZs dDt1bml4OmZpbGVfdGVzdCAgY2hlY2s9ImFsbCIgY2hlY2tfZXhpc3RlbmNlPSJub25lX2V4aXN0 IiBjb21tZW50PSIvdXNyL3NiaW4gZGlyZWN0b3JpZXMgdWlkIHJvb3QiIGlkPSJ0ZXN0X293bmVy c2hpcF91c3Jfc2Jpbl9kaXIiIHZlcnNpb249IjEiJmd0OworICAgICZsdDt1bml4Om9iamVjdCBv YmplY3RfcmVmPSJvYmplY3RfZmlsZV9vd25lcnNoaXBfdXNyX3NiaW5fZGlyIiAvJmd0OworICAm bHQ7L3VuaXg6ZmlsZV90ZXN0Jmd0OworCisgICZsdDt1bml4OmZpbGVfdGVzdCAgY2hlY2s9ImFs bCIgY2hlY2tfZXhpc3RlbmNlPSJub25lX2V4aXN0IiBjb21tZW50PSIvdXNyL3NiaW4gZmlsZXMg dWlkIHJvb3QiIGlkPSJ0ZXN0X293bmVyc2hpcF91c3Jfc2Jpbl9maWxlcyIgdmVyc2lvbj0iMSIm Z3Q7CisgICAgJmx0O3VuaXg6b2JqZWN0IG9iamVjdF9yZWY9Im9iamVjdF9maWxlX293bmVyc2hp cF91c3Jfc2Jpbl9maWxlcyIgLyZndDsKKyAgJmx0Oy91bml4OmZpbGVfdGVzdCZndDsKKworICAm bHQ7dW5peDpmaWxlX29iamVjdCBjb21tZW50PSIvdXNyL3NiaW4gZGlyZWN0b3JpZXMiIGlkPSJv YmplY3RfZmlsZV9vd25lcnNoaXBfdXNyX3NiaW5fZGlyIiB2ZXJzaW9uPSIxIiZndDsKKyAgICAm bHQ7dW5peDpiZWhhdmlvcnMgcmVjdXJzZT0iZGlyZWN0b3JpZXMiIHJlY3Vyc2VfZGlyZWN0aW9u PSJkb3duIiBtYXhfZGVwdGg9Ii0xIiByZWN1cnNlX2ZpbGVfc3lzdGVtPSJhbGwiIC8mZ3Q7Cisg ICAgJmx0O3VuaXg6cGF0aCBvcGVyYXRpb249ImVxdWFscyImZ3Q7L3Vzci9zYmluJmx0Oy91bml4 OnBhdGgmZ3Q7CisgICAgJmx0O3VuaXg6ZmlsZW5hbWUgeHNpOm5pbD0idHJ1ZSIgLyZndDsKKwkm bHQ7ZmlsdGVyIGFjdGlvbj0iaW5jbHVkZSImZ3Q7c3RhdGVfb3duZXJfbm90X3Jvb3QmbHQ7L2Zp bHRlciZndDsKKyAgJmx0Oy91bml4OmZpbGVfb2JqZWN0Jmd0OworCisgICZsdDt1bml4OmZpbGVf b2JqZWN0IGNvbW1lbnQ9Ii91c3Ivc2JpbiBmaWxlcyIgaWQ9Im9iamVjdF9maWxlX293bmVyc2hp cF91c3Jfc2Jpbl9maWxlcyIgdmVyc2lvbj0iMSImZ3Q7CisgICAgJmx0O3VuaXg6YmVoYXZpb3Jz IHJlY3Vyc2U9ImRpcmVjdG9yaWVzIiByZWN1cnNlX2RpcmVjdGlvbj0iZG93biIgbWF4X2RlcHRo PSItMSIgcmVjdXJzZV9maWxlX3N5c3RlbT0iYWxsIiAvJmd0OworICAgICZsdDt1bml4OnBhdGgg b3BlcmF0aW9uPSJlcXVhbHMiJmd0Oy91c3Ivc2JpbiZsdDsvdW5peDpwYXRoJmd0OworICAgICZs dDt1bml4OmZpbGVuYW1lIG9wZXJhdGlvbj0icGF0dGVybiBtYXRjaCImZ3Q7Xi4qJCZsdDsvdW5p eDpmaWxlbmFtZSZndDsKKyAgICAmbHQ7ZmlsdGVyIGFjdGlvbj0iaW5jbHVkZSImZ3Q7c3RhdGVf b3duZXJfbm90X3Jvb3QmbHQ7L2ZpbHRlciZndDsKKyAgJmx0Oy91bml4OmZpbGVfb2JqZWN0Jmd0 OzwvcHJlPgogICAgPC9ibG9ja3F1b3RlPgogICAgPGJyPgogICAgPGJyPgogICAgPGJyPgogICAg Li4uLi4gdGVzdGluZyBmb3Igbm9uLXJvb3QgdW5kZXIgL3Vzci9zYmluIC4uLi4uPGJyPgogICAg W3NoYXduQFNTRy1SSEVMNiBjaGVja3NdJCBzdWRvIGNob3duIHJvb3Q6cm9vdCAvc2Jpbi9hZGRw YXJ0IDxicj4KICAgIFtzaGF3bkBTU0ctUkhFTDYgY2hlY2tzXSQgc3VkbyBjaG93biBzaGF3bjpz aGF3biAvdXNyL3NiaW4vYWNjZXB0IDxicj4KICAgIFtzaGF3bkBTU0ctUkhFTDYgY2hlY2tzXSQg Li90ZXN0Y2hlY2sucHkKICAgIGZpbGVfb3duZXJzaGlwX2JpbmFyeV9kaXJzLnhtbCA8YnI+CiAg ICBFdmFsdWF0aW5nIHdpdGggT1ZBTCB0ZW1wZmlsZSA6CiAgICAvdG1wL2ZpbGVfb3duZXJzaGlw X2JpbmFyeV9kaXJzZGR3UnpaLnhtbDxicj4KICAgIFdyaXRpbmcgcmVzdWx0cyB0byA6CiAgICAv dG1wL2ZpbGVfb3duZXJzaGlwX2JpbmFyeV9kaXJzZGR3UnpaLnhtbC1yZXN1bHRzPGJyPgogICAg RGVmaW5pdGlvbiBvdmFsOnNjYXAtc2VjdXJpdHktZ3VpZGUudGVzdGluZzpkZWY6MjYxOiBmYWxz ZTxicj4KICAgIEV2YWx1YXRpb24gZG9uZS48YnI+CiAgICA8YnI+CiAgICA8YnI+CiAgICA8YnI+ CiAgICA8YmxvY2txdW90ZQogICAgICBjaXRlPSJtaWQ6MTM4MDYzNjM5OS02OTQxLTItZ2l0LXNl bmQtZW1haWwtY29vcGVyY2RAb3JubC5nb3YiCiAgICAgIHR5cGU9ImNpdGUiPgogICAgICA8cHJl IHdyYXA9IiI+CisKKyAgJmx0O3VuaXg6ZmlsZV90ZXN0ICBjaGVjaz0iYWxsIiBjaGVja19leGlz dGVuY2U9Im5vbmVfZXhpc3QiIGNvbW1lbnQ9Ii91c3IvbG9jYWwvYmluIGRpcmVjdG9yaWVzIHVp ZCByb290IiBpZD0idGVzdF9vd25lcnNoaXBfdXNyX2xvY2FsX2Jpbl9kaXIiIHZlcnNpb249IjEi Jmd0OworICAgICZsdDt1bml4Om9iamVjdCBvYmplY3RfcmVmPSJvYmplY3RfZmlsZV9vd25lcnNo aXBfdXNyX2xvY2FsX2Jpbl9kaXIiIC8mZ3Q7CisgICZsdDsvdW5peDpmaWxlX3Rlc3QmZ3Q7CisK KyAgJmx0O3VuaXg6ZmlsZV90ZXN0ICBjaGVjaz0iYWxsIiBjaGVja19leGlzdGVuY2U9Im5vbmVf ZXhpc3QiIGNvbW1lbnQ9Ii91c3IvbG9jYWwvYmluIGZpbGVzIHVpZCByb290IiBpZD0idGVzdF9v d25lcnNoaXBfdXNyX2xvY2FsX2Jpbl9maWxlcyIgdmVyc2lvbj0iMSImZ3Q7CisgICAgJmx0O3Vu aXg6b2JqZWN0IG9iamVjdF9yZWY9Im9iamVjdF9maWxlX293bmVyc2hpcF91c3JfbG9jYWxfYmlu X2ZpbGVzIiAvJmd0OworICAmbHQ7L3VuaXg6ZmlsZV90ZXN0Jmd0OworCisgICZsdDt1bml4OmZp bGVfb2JqZWN0IGNvbW1lbnQ9Ii91c3IvbG9jYWwvYmluIGRpcmVjdG9yaWVzIiBpZD0ib2JqZWN0 X2ZpbGVfb3duZXJzaGlwX3Vzcl9sb2NhbF9iaW5fZGlyIiB2ZXJzaW9uPSIxIiZndDsKKyAgICAm bHQ7dW5peDpiZWhhdmlvcnMgcmVjdXJzZT0iZGlyZWN0b3JpZXMiIHJlY3Vyc2VfZGlyZWN0aW9u PSJkb3duIiBtYXhfZGVwdGg9Ii0xIiByZWN1cnNlX2ZpbGVfc3lzdGVtPSJhbGwiIC8mZ3Q7Cisg ICAgJmx0O3VuaXg6cGF0aCBvcGVyYXRpb249ImVxdWFscyImZ3Q7L3Vzci9sb2NhbC9iaW4mbHQ7 L3VuaXg6cGF0aCZndDsKKyAgICAmbHQ7dW5peDpmaWxlbmFtZSB4c2k6bmlsPSJ0cnVlIiAvJmd0 OworICAgJmx0O2ZpbHRlciBhY3Rpb249ImluY2x1ZGUiJmd0O3N0YXRlX293bmVyX25vdF9yb290 Jmx0Oy9maWx0ZXImZ3Q7CisgICZsdDsvdW5peDpmaWxlX29iamVjdCZndDs8L3ByZT4KICAgIDwv YmxvY2txdW90ZT4KICAgIDxicj4KICAgIDxmb250IGNvbG9yPSIjZmYwMDAwIj48YnI+CiAgICAg IC4uLi4uIHRlc3RpbmcgZm9yIG5vbi1yb290IHVuZGVyIC91c3IvbG9jYWwvYmluIC4uLi4uPGJy PgogICAgICBbc2hhd25AU1NHLVJIRUw2IGNoZWNrc10kIHN1ZG8gdG91Y2ggL3Vzci9sb2NhbC9i aW4vZmlsZXRlc3QgOwogICAgICBzdWRvIGNob3duIHNoYXduOnNoYXduIC91c3IvbG9jYWwvYmlu L2ZpbGV0ZXN0PGJyPgogICAgICBbc2hhd25AU1NHLVJIRUw2IGNoZWNrc10kIHN1ZG8gY2hvd24g cm9vdDpyb290IC91c3IvYmluL2EycCA8YnI+CiAgICAgIFtzaGF3bkBTU0ctUkhFTDYgY2hlY2tz XSQgLi90ZXN0Y2hlY2sucHkKICAgICAgZmlsZV9vd25lcnNoaXBfYmluYXJ5X2RpcnMueG1sIDxi cj4KICAgICAgRXZhbHVhdGluZyB3aXRoIE9WQUwgdGVtcGZpbGUgOgogICAgICAvdG1wL2ZpbGVf b3duZXJzaGlwX2JpbmFyeV9kaXJzbm8xc1N0LnhtbDxicj4KICAgICAgV3JpdGluZyByZXN1bHRz IHRvIDoKICAgICAgL3RtcC9maWxlX293bmVyc2hpcF9iaW5hcnlfZGlyc25vMXNTdC54bWwtcmVz dWx0czxicj4KICAgICAgRGVmaW5pdGlvbiBvdmFsOnNjYXAtc2VjdXJpdHktZ3VpZGUudGVzdGlu ZzpkZWY6MjYxOiB0cnVlPGJyPgogICAgICBFdmFsdWF0aW9uIGRvbmUuPGJyPgogICAgICBbc2hh d25AU1NHLVJIRUw2IGNoZWNrc10kIGxsIC91c3IvbG9jYWwvYmluL2ZpbGV0ZXN0IDxicj4KICAg ICAgLXJ3LXItLXItLS4gMSBzaGF3biBzaGF3biAwIE9jdMKgIDEgMDA6MDkgL3Vzci9sb2NhbC9i aW4vZmlsZXRlc3Q8L2ZvbnQ+PGJyPgogICAgPGJyPgogICAgPGJyPgogICAgPGJyPgogICAgPGJs b2NrcXVvdGUKICAgICAgY2l0ZT0ibWlkOjEzODA2MzYzOTktNjk0MS0yLWdpdC1zZW5kLWVtYWls LWNvb3BlcmNkQG9ybmwuZ292IgogICAgICB0eXBlPSJjaXRlIj4KICAgICAgPHByZSB3cmFwPSIi PgorCisgICZsdDt1bml4OmZpbGVfb2JqZWN0IGNvbW1lbnQ9Ii91c3IvbG9jYWwvYmluIGZpbGVz IiBpZD0ib2JqZWN0X2ZpbGVfb3duZXJzaGlwX3Vzcl9sb2NhbF9iaW5fZmlsZXMiIHZlcnNpb249 IjEiJmd0OworICAgICZsdDt1bml4OmJlaGF2aW9ycyByZWN1cnNlPSJkaXJlY3RvcmllcyIgcmVj dXJzZV9kaXJlY3Rpb249ImRvd24iIG1heF9kZXB0aD0iLTEiIHJlY3Vyc2VfZmlsZV9zeXN0ZW09 ImFsbCIgLyZndDsKKyAgICAmbHQ7dW5peDpwYXRoIG9wZXJhdGlvbj0iZXF1YWxzIiZndDsvdXNy L2xvY2FsL2JpbiZsdDsvdW5peDpwYXRoJmd0OworICAgICZsdDt1bml4OmZpbGVuYW1lIG9wZXJh dGlvbj0icGF0dGVybiBtYXRjaCImZ3Q7Xi4qJCZsdDsvdW5peDpmaWxlbmFtZSZndDsKKyAgICAm bHQ7ZmlsdGVyIGFjdGlvbj0iaW5jbHVkZSImZ3Q7c3RhdGVfb3duZXJfbm90X3Jvb3QmbHQ7L2Zp bHRlciZndDsKKyAgJmx0Oy91bml4OmZpbGVfb2JqZWN0Jmd0OworICAKKyAgJmx0O3VuaXg6Zmls ZV90ZXN0ICBjaGVjaz0iYWxsIiBjaGVja19leGlzdGVuY2U9Im5vbmVfZXhpc3QiIGNvbW1lbnQ9 Ii91c3IvbG9jYWwvc2JpbiBkaXJlY3RvcmllcyB1aWQgcm9vdCIgaWQ9InRlc3Rfb3duZXJzaGlw X3Vzcl9sb2NhbF9zYmluX2RpciIgdmVyc2lvbj0iMSImZ3Q7CisgICAgJmx0O3VuaXg6b2JqZWN0 IG9iamVjdF9yZWY9Im9iamVjdF9maWxlX293bmVyc2hpcF91c3JfbG9jYWxfc2Jpbl9kaXIiIC8m Z3Q7CisgICZsdDsvdW5peDpmaWxlX3Rlc3QmZ3Q7CisKKyAgJmx0O3VuaXg6ZmlsZV90ZXN0ICBj aGVjaz0iYWxsIiBjaGVja19leGlzdGVuY2U9Im5vbmVfZXhpc3QiIGNvbW1lbnQ9Ii91c3IvbG9j YWwvc2JpbiBmaWxlcyB1aWQgcm9vdCIgaWQ9InRlc3Rfb3duZXJzaGlwX3Vzcl9sb2NhbF9zYmlu X2ZpbGVzIiB2ZXJzaW9uPSIxIiZndDsKKyAgICAmbHQ7dW5peDpvYmplY3Qgb2JqZWN0X3JlZj0i b2JqZWN0X2ZpbGVfb3duZXJzaGlwX3Vzcl9sb2NhbF9zYmluX2ZpbGVzIiAvJmd0OworICAmbHQ7 L3VuaXg6ZmlsZV90ZXN0Jmd0OworCisgICZsdDt1bml4OmZpbGVfb2JqZWN0IGNvbW1lbnQ9Ii91 c3IvbG9jYWwvc2JpbiBkaXJlY3RvcmllcyIgaWQ9Im9iamVjdF9maWxlX293bmVyc2hpcF91c3Jf bG9jYWxfc2Jpbl9kaXIiIHZlcnNpb249IjEiJmd0OworICAgICZsdDt1bml4OmJlaGF2aW9ycyBy ZWN1cnNlPSJkaXJlY3RvcmllcyIgcmVjdXJzZV9kaXJlY3Rpb249ImRvd24iIG1heF9kZXB0aD0i LTEiIHJlY3Vyc2VfZmlsZV9zeXN0ZW09ImFsbCIgLyZndDsKKyAgICAmbHQ7dW5peDpwYXRoIG9w ZXJhdGlvbj0iZXF1YWxzIiZndDsvdXNyL2xvY2FsL3NiaW4mbHQ7L3VuaXg6cGF0aCZndDsKKyAg ICAmbHQ7dW5peDpmaWxlbmFtZSB4c2k6bmlsPSJ0cnVlIiAvJmd0OworICAgJmx0O2ZpbHRlciBh Y3Rpb249ImluY2x1ZGUiJmd0O3N0YXRlX293bmVyX25vdF9yb290Jmx0Oy9maWx0ZXImZ3Q7Cisg ICZsdDsvdW5peDpmaWxlX29iamVjdCZndDsKKworICAmbHQ7dW5peDpmaWxlX29iamVjdCBjb21t ZW50PSIvdXNyL2xvY2FsL3NiaW4gZmlsZXMiIGlkPSJvYmplY3RfZmlsZV9vd25lcnNoaXBfdXNy X2xvY2FsX3NiaW5fZmlsZXMiIHZlcnNpb249IjEiJmd0OworICAgICZsdDt1bml4OmJlaGF2aW9y cyByZWN1cnNlPSJkaXJlY3RvcmllcyIgcmVjdXJzZV9kaXJlY3Rpb249ImRvd24iIG1heF9kZXB0 aD0iLTEiIHJlY3Vyc2VfZmlsZV9zeXN0ZW09ImFsbCIgLyZndDsKKyAgICAmbHQ7dW5peDpwYXRo IG9wZXJhdGlvbj0iZXF1YWxzIiZndDsvdXNyL2xvY2FsL3NiaW4mbHQ7L3VuaXg6cGF0aCZndDsK KyAgICAmbHQ7dW5peDpmaWxlbmFtZSBvcGVyYXRpb249InBhdHRlcm4gbWF0Y2giJmd0O14uKiQm bHQ7L3VuaXg6ZmlsZW5hbWUmZ3Q7CisgICAgJmx0O2ZpbHRlciBhY3Rpb249ImluY2x1ZGUiJmd0 O3N0YXRlX293bmVyX25vdF9yb290Jmx0Oy9maWx0ZXImZ3Q7CisgICZsdDsvdW5peDpmaWxlX29i amVjdCZndDs8L3ByZT4KICAgIDwvYmxvY2txdW90ZT4KICAgIDxicj4KICAgIDxicj4KICAgIC4u Li4uIHRlc3RpbmcgZm9yIG5vbi1yb290IHVuZGVyIC91c3IvbG9jYWwvc2JpbiAuLi4uLjxicj4K ICAgIFtzaGF3bkBTU0ctUkhFTDYgY2hlY2tzXSQgc3VkbyBjaG93biByb290OnJvb3QgL3Vzci9z YmluL2FjY2VwdDxicj4KICAgIFtzaGF3bkBTU0ctUkhFTDYgY2hlY2tzXSQgc3VkbyB0b3VjaCAv dXNyL2xvY2FsL3NiaW4vdGVzdCA7IHN1ZG8KICAgIGNob3duIHNoYXduOnNoYXduIC91c3IvbG9j YWwvc2Jpbi90ZXN0PGJyPgogICAgW3NoYXduQFNTRy1SSEVMNiBjaGVja3NdJCAuL3Rlc3RjaGVj ay5weQogICAgZmlsZV9vd25lcnNoaXBfYmluYXJ5X2RpcnMueG1sIDxicj4KICAgIEV2YWx1YXRp bmcgd2l0aCBPVkFMIHRlbXBmaWxlIDoKICAgIC90bXAvZmlsZV9vd25lcnNoaXBfYmluYXJ5X2Rp cnN6WTZmWEwueG1sPGJyPgogICAgV3JpdGluZyByZXN1bHRzIHRvIDoKICAgIC90bXAvZmlsZV9v d25lcnNoaXBfYmluYXJ5X2RpcnN6WTZmWEwueG1sLXJlc3VsdHM8YnI+CiAgICBEZWZpbml0aW9u IG92YWw6c2NhcC1zZWN1cml0eS1ndWlkZS50ZXN0aW5nOmRlZjoyNjE6IGZhbHNlPGJyPgogICAg RXZhbHVhdGlvbiBkb25lLjxicj4KICAgIDxicj4KICAgIDxicj4KICAgIDxicj4KICAgIDxibG9j a3F1b3RlCiAgICAgIGNpdGU9Im1pZDoxMzgwNjM2Mzk5LTY5NDEtMi1naXQtc2VuZC1lbWFpbC1j b29wZXJjZEBvcm5sLmdvdiIKICAgICAgdHlwZT0iY2l0ZSI+CiAgICAgIDxwcmUgd3JhcD0iIj4K KworICAmbHQ7dW5peDpmaWxlX3N0YXRlIGlkPSJzdGF0ZV9vd25lcl9ub3Rfcm9vdCIgdmVyc2lv bj0iMSIgb3BlcmF0b3I9Ik9SIiZndDsKKyZsdDshLS0gICAgJmx0O3VuaXg6Z3JvdXBfaWQgZGF0 YXR5cGU9ImludCIgb3BlcmF0aW9uPSJub3QgZXF1YWwiJmd0OzAmbHQ7L3VuaXg6Z3JvdXBfaWQm Z3Q7IC0tJmd0OworICAgICZsdDt1bml4OnVzZXJfaWQgZGF0YXR5cGU9ImludCIgb3BlcmF0aW9u PSJub3QgZXF1YWwiJmd0OzAmbHQ7L3VuaXg6dXNlcl9pZCZndDsKKyAgJmx0Oy91bml4OmZpbGVf c3RhdGUmZ3Q7CismbHQ7L2RlZi1ncm91cCZndDsKPC9wcmU+CiAgICA8L2Jsb2NrcXVvdGU+CiAg ICA8YnI+CiAgPC9ib2R5Pgo8L2h0bWw+Cg== --===============0037996281284142893==--