ports/187408: [PATCH] security/denyhosts: set USE_PYTHON=2

Corey Smith corsmith at gmail.com
Sat Apr 12 02:10:01 UTC 2014


The following reply was made to PR ports/187408; it has been noted by GNATS.

From: Corey Smith <corsmith at gmail.com>
To: Shane Ambler <FreeBSD at shaneware.biz>
Cc: "bug-followup at FreeBSD.org" <bug-followup at freebsd.org>
Subject: Re: ports/187408: [PATCH] security/denyhosts: set USE_PYTHON=2
Date: Fri, 11 Apr 2014 22:00:55 -0400

 --f46d0434394a214ba904f6ced211
 Content-Type: multipart/alternative; boundary=f46d0434394a214ba604f6ced20f
 
 --f46d0434394a214ba604f6ced20f
 Content-Type: text/plain; charset=ISO-8859-1
 
 Attached is the svn diff against ports revision 351057.  There were three
 additional changes required but it does actually run under python3.4 now.
 This diff is against the current version of the port in HEAD and includes
 both of our changes.
 
 
 On Thu, Mar 13, 2014 at 3:01 AM, Shane Ambler <FreeBSD at shaneware.biz> wrote:
 
 > No it isn't. I did see that repo and a couple of others that have made
 > some changes since the last sourceforge release of denyhosts.
 >
 > I approached denyhosts from the ports tree using py3.3, making syntax
 > changes that are acceptable in both py3.3 and py2.7. What I see in
 > mruffalo/denyhosts is py2.7 code that uses 2to3 to support py3.x.
 >
 > So I have added support for py3.3 but have not incorporated any other
 > external bug fixes that may also be worth adding.
 >
 > I get the impression that denyhosts is neglected and a little
 > splintered. Probably time someone picks up the project and considers
 > consolidating the various changes made in different places.
 >
 
 --f46d0434394a214ba604f6ced20f
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 <div dir=3D"ltr">Attached is the svn diff against ports revision 351057.=A0=
  There were three additional changes required but it does actually run unde=
 r python3.4 now.=A0 This diff is against the current version of the port in=
  HEAD and includes both of our changes.<br>
 </div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Thu,=
  Mar 13, 2014 at 3:01 AM, Shane Ambler <span dir=3D"ltr"><<a href=3D"mai=
 lto:FreeBSD at shaneware.biz" target=3D"_blank">FreeBSD at shaneware.biz</a>><=
 /span> wrote:<br>
 <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
 x #ccc solid;padding-left:1ex">No it isn't. I did see that repo and a c=
 ouple of others that have made<br>
 some changes since the last sourceforge release of denyhosts.<br>
 <br>
 I approached denyhosts from the ports tree using py3.3, making syntax<br>
 changes that are acceptable in both py3.3 and py2.7. What I see in<br>
 mruffalo/denyhosts is py2.7 code that uses 2to3 to support py3.x.<br>
 <br>
 So I have added support for py3.3 but have not incorporated any other<br>
 external bug fixes that may also be worth adding.<br>
 <br>
 I get the impression that denyhosts is neglected and a little<br>
 splintered. Probably time someone picks up the project and considers<br>
 consolidating the various changes made in different places.<br>
 </blockquote></div><br></div>
 
 --f46d0434394a214ba604f6ced20f--
 --f46d0434394a214ba904f6ced211
 Content-Type: text/x-patch; charset=US-ASCII; name="denyhosts-svn-351057.patch"
 Content-Disposition: attachment; filename="denyhosts-svn-351057.patch"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_htw998ak0
 
 SW5kZXg6IE1ha2VmaWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIE1ha2VmaWxlCShyZXZpc2lvbiAzNTEwNTcp
 CisrKyBNYWtlZmlsZQkod29ya2luZyBjb3B5KQpAQCAtMTMsNyArMTMsMTAgQEAKIAogTElDRU5T
 RT0JR1BMdjIKIAorTElDRU5TRT0JR1BMdjIKKwogVVNFX1BZVEhPTj0JeWVzCitQWVRIT05fUFkz
 S19QTElTVF9IQUNLPQl5ZXMKIFVTRV9QWURJU1RVVElMUz0JeWVzCiBQWURJU1RVVElMU19BVVRP
 UExJU1Q9CXllcwogCkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2FsbG93ZWRob3N0cy5w
 eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2FsbG93ZWRob3N0cy5weQko
 cmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fYWxsb3dlZGhvc3RzLnB5CSh3
 b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKKy0tLSBEZW55SG9zdHMvYWxsb3dlZGhvc3Rz
 LnB5Lm9yaWcJMjAxNC0wNC0xMSAyMTo0NDo0My43ODA0NDYzMzkgLTA0MDAKKysrKyBEZW55SG9z
 dHMvYWxsb3dlZGhvc3RzLnB5CTIwMTQtMDQtMTEgMjE6NDU6MTIuMzg4NDQ3MTA0IC0wNDAwCitA
 QCAtMSwxMSArMSwxMiBAQAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247
 IAorIGltcG9ydCBvcworIGZyb20gc29ja2V0IGltcG9ydCBnZXRmcWRuLCBnZXRob3N0YnluYW1l
 CisgaW1wb3J0IGxvZ2dpbmcKKyAKKyAKKy1mcm9tIGNvbnN0YW50cyBpbXBvcnQgQUxMT1dFRF9I
 T1NUUywgQUxMT1dFRF9XQVJORURfSE9TVFMKKy1mcm9tIHJlZ2V4IGltcG9ydCBBTExPV0VEX1JF
 R0VYCistZnJvbSB1dGlsIGltcG9ydCBpc190cnVlCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRz
 IGltcG9ydCBBTExPV0VEX0hPU1RTLCBBTExPV0VEX1dBUk5FRF9IT1NUUworK2Zyb20gRGVueUhv
 c3RzLnJlZ2V4IGltcG9ydCBBTExPV0VEX1JFR0VYCisrZnJvbSBEZW55SG9zdHMudXRpbCBpbXBv
 cnQgaXNfdHJ1ZQorIAorIGRlYnVnID0gbG9nZ2luZy5nZXRMb2dnZXIoIkFsbG93ZWRIb3N0cyIp
 LmRlYnVnCisgCitAQCAtMjQsMTggKzI1LDE4IEBACisgICAgICAgICBkZWJ1ZygiZG9uZSBpbml0
 aWFsaXppbmcgQWxsb3dlZEhvc3RzIikKKyAKKyAgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBp
 cF9hZGRyKToKKy0gICAgICAgIGlmIHNlbGYuYWxsb3dlZF9ob3N0cy5oYXNfa2V5KGlwX2FkZHIp
 OiByZXR1cm4gMQorKyAgICAgICAgaWYgaXBfYWRkciBpbiBzZWxmLmFsbG93ZWRfaG9zdHM6IHJl
 dHVybiAxCisgICAgICAgICBlbHNlOiByZXR1cm4gMAorIAorICAgICBkZWYgZHVtcChzZWxmKToK
 Ky0gICAgICAgIHByaW50ICJEdW1waW5nIEFsbG93ZWRIb3N0cyIKKy0gICAgICAgIHByaW50IHNl
 bGYuYWxsb3dlZF9ob3N0cy5rZXlzKCkKKysgICAgICAgIHByaW50KCJEdW1waW5nIEFsbG93ZWRI
 b3N0cyIpCisrICAgICAgICBwcmludChzZWxmLmFsbG93ZWRfaG9zdHMua2V5cygpKQorIAorICAg
 ICAgICAgCisgICAgIGRlZiBsb2FkX2hvc3RzKHNlbGYpOgorICAgICAgICAgdHJ5OgorICAgICAg
 ICAgICAgIGZwID0gb3BlbihzZWxmLmFsbG93ZWRfcGF0aCwgInIiKQorLSAgICAgICAgZXhjZXB0
 IEV4Y2VwdGlvbiwgZToKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAg
 ICAgICBkZWJ1ZygiQ291bGQgbm90IG9wZW4gJXMgLSAlcyIsIHNlbGYuYWxsb3dlZF9wYXRoLCBz
 dHIoZSkpCisgICAgICAgICAgICAgcmV0dXJuCisgCitAQCAtMTE3LDggKzExOCw4IEBACisgICAg
 ICAgICAgICAgZm9yIGhvc3QgaW4gc2VsZi5uZXdfd2FybmVkX2hvc3RzOgorICAgICAgICAgICAg
 ICAgICBmcC53cml0ZSgiJXNcbiIgJSBob3N0KQorICAgICAgICAgICAgIGZwLmNsb3NlKCkKKy0g
 ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CistICAgICAgICAgICAgcHJpbnQgZQorKyAgICAg
 ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIHByaW50KGUpCisgCisgCisg
 ICAgIGRlZiBjbGVhcl93YXJuZWRfaG9zdHMoc2VsZik6CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBm
 aWxlcy9wYXRjaC1EZW55SG9zdHNfX2FsbG93ZWRob3N0cy5weQpfX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
 dm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVu
 ZCBvZiBwcm9wZXJ0eQpBZGRlZDogZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpc
 IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
 LDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBm
 aWxlcy9wYXRjaC1EZW55SG9zdHNfX2NvdW50ZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0
 Y2gtRGVueUhvc3RzX19jb3VudGVyLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtRGVu
 eUhvc3RzX19jb3VudGVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKKy0tLSAu
 L0RlbnlIb3N0cy9jb3VudGVyLnB5Lm9yaWcJMjAwNi0wMi0wOSAxMTo0NzoyNC4wMDAwMDAwMDAg
 KzEwMzAKKysrKyAuL0RlbnlIb3N0cy9jb3VudGVyLnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMDY4
 MTg3MTkwICsxMDMwCitAQCAtMTQsNiArMTQsOSBAQAorIAorICAgICBkZWYgX19zdHJfXyhzZWxm
 KToKKyAgICAgICAgIHJldHVybiAiJWQ6JXMiICUgKHNlbGYuX19jb3VudCwgc2VsZi5fX2RhdGUp
 CisrICAgICAgICAKKysgICAgZGVmIF9faW50X18oc2VsZik6CisrICAgICAgICByZXR1cm4gc2Vs
 Zi5fX2NvdW50CisgCisgICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgIHJldHVybiAi
 Q291bnRSZWNvcmQgPCVkIC0gJXM+IiAlIChzZWxmLl9fY291bnQsIHNlbGYuX19kYXRlKQorQEAg
 LTMzLDcgKzM2LDcgQEAKKyAgICAgICAgIHNlbGYuX19jb3VudCA9IDAKKyAgICAgICAgIAorICAg
 ICBkZWYgYWdlX2NvdW50KHNlbGYsIGFnZSk6CistICAgICAgICBjdXRvZmYgPSBsb25nKHRpbWUu
 dGltZSgpKSAtIGFnZQorKyAgICAgICAgY3V0b2ZmID0gdGltZS50aW1lKCkgLSBhZ2UKKyAgICAg
 ICAgIGVwb2NoID0gdGltZS5ta3RpbWUodGltZS5zdHJwdGltZShzZWxmLl9fZGF0ZSkpCisgICAg
 ICAgICAjZGVidWcoImN1dG9mZiA6ICVkIiwgY3V0b2ZmKQorICAgICAgICAgI2RlYnVnKCJlcG9j
 aCAgOiAlZCIsIGVwb2NoKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhv
 c3RzX19jb3VudGVyLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCww
 ICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVv
 bC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w
 ZXJ0eQpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8g
 bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19f
 ZGFlbW9uLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGFlbW9uLnB5
 CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19kYWVtb24ucHkJKHdvcmtp
 bmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorLS0tIC4vRGVueUhvc3RzL2RhZW1vbi5weS5vcmln
 CTIwMDUtMTItMTcgMDk6MTU6MDAuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55SG9zdHMvZGFl
 bW9uLnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMTEwMTg1ODkwICsxMDMwCitAQCAtMzcsNyArMzcs
 NyBAQAorICAgICAgICMgdGhlIGNoaWxkIGdldHMgYSBuZXcgUElELCBtYWtpbmcgaXQgaW1wb3Nz
 aWJsZSBmb3IgaXRzIFBJRCB0byBlcXVhbCBpdHMKKyAgICAgICAjIFBHSUQuCisgICAgICAgcGlk
 ID0gb3MuZm9yaygpCistICAgZXhjZXB0IE9TRXJyb3IsIGU6CisrICAgZXhjZXB0IE9TRXJyb3Ig
 YXMgZToKKyAgICAgICByZXR1cm4oKGUuZXJybm8sIGUuc3RyZXJyb3IpKSAgICAgIyBFUlJPUiAo
 cmV0dXJuIGEgdHVwbGUpCisgCisgICAgaWYgKHBpZCA9PSAwKTogICAgICAgIyBUaGUgZmlyc3Qg
 Y2hpbGQuCitAQCAtNjIsNyArNjIsNyBAQAorICAgICAgICAgICMgZm9yayBndWFyYW50ZWVzIHRo
 YXQgdGhlIGNoaWxkIGlzIG5vIGxvbmdlciBhIHNlc3Npb24gbGVhZGVyLCB0aHVzCisgICAgICAg
 ICAgIyBwcmV2ZW50aW5nIHRoZSBkYWVtb24gZnJvbSBldmVyIGFjcXVpcmluZyBhIGNvbnRyb2xs
 aW5nIHRlcm1pbmFsLgorICAgICAgICAgIHBpZCA9IG9zLmZvcmsoKSAgICAgICAgIyBGb3JrIGEg
 c2Vjb25kIGNoaWxkLgorLSAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorKyAgICAgIGV4Y2VwdCBP
 U0Vycm9yIGFzIGU6CisgICAgICAgICAgcmV0dXJuKChlLmVycm5vLCBlLnN0cmVycm9yKSkgICMg
 RVJST1IgKHJldHVybiBhIHR1cGxlKQorIAorICAgICAgIGlmIChwaWQgPT0gMCk6ICAgICAgIyBU
 aGUgc2Vjb25kIGNoaWxkLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhv
 c3RzX19kYWVtb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsx
 ICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZi
 c2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
 cm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBu
 ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19k
 ZW55X2hvc3RzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueV9o
 b3N0cy5weQkocmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueV9ob3N0
 cy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyNyBAQAorLS0tIERlbnlIb3N0cy9kZW55
 X2hvc3RzLnB5Lm9yaWcJMjAxNC0wNC0xMSAyMTo0NTowNy44Mjc0NDgwNDkgLTA0MDAKKysrKyBE
 ZW55SG9zdHMvZGVueV9ob3N0cy5weQkyMDE0LTA0LTExIDIxOjQ1OjIyLjIxMzQ0NDEzNSAtMDQw
 MAorQEAgLTEsMyArMSw0IEBACisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlv
 bgorIGltcG9ydCBvcywgc3lzCisgaW1wb3J0IHN0cmluZworIGltcG9ydCB0aW1lCitAQCAtMTYs
 MjMgKzE3LDIzIEBACisgZnJvbSBzdGF0IGltcG9ydCBTVF9TSVpFLCBTVF9JTk8KKyBpbXBvcnQg
 cmUKKyAKKy1mcm9tIHV0aWwgaW1wb3J0IGRpZSwgaXNfdHJ1ZSwgaXNfZmFsc2UsIHNlbmRfZW1h
 aWwKKy1mcm9tIGFsbG93ZWRob3N0cyBpbXBvcnQgQWxsb3dlZEhvc3RzCistZnJvbSBsb2dpbmF0
 dGVtcHQgaW1wb3J0IExvZ2luQXR0ZW1wdAorLWZyb20gbG9ja2ZpbGUgaW1wb3J0IExvY2tGaWxl
 CistZnJvbSBmaWxldHJhY2tlciBpbXBvcnQgRmlsZVRyYWNrZXIKKy1mcm9tIHByZWZzIGltcG9y
 dCBQcmVmcworLWZyb20gcmVwb3J0IGltcG9ydCBSZXBvcnQKKy1mcm9tIHZlcnNpb24gaW1wb3J0
 IFZFUlNJT04KKy1mcm9tIGNvbnN0YW50cyBpbXBvcnQgKgorLWZyb20gcmVnZXggaW1wb3J0ICoK
 Ky1mcm9tIGRhZW1vbiBpbXBvcnQgY3JlYXRlRGFlbW9uCistZnJvbSBkZW55ZmlsZXV0aWwgaW1w
 b3J0IFB1cmdlCistZnJvbSB1dGlsIGltcG9ydCBwYXJzZV9ob3N0CistZnJvbSB2ZXJzaW9uIGlt
 cG9ydCBWRVJTSU9OCistZnJvbSBzeW5jIGltcG9ydCBTeW5jCistZnJvbSByZXN0cmljdGVkIGlt
 cG9ydCBSZXN0cmljdGVkCistaW1wb3J0IHBsdWdpbgorK2Zyb20gRGVueUhvc3RzLnV0aWwgaW1w
 b3J0IGRpZSwgaXNfdHJ1ZSwgaXNfZmFsc2UsIHNlbmRfZW1haWwKKytmcm9tIERlbnlIb3N0cy5h
 bGxvd2VkaG9zdHMgaW1wb3J0IEFsbG93ZWRIb3N0cworK2Zyb20gRGVueUhvc3RzLmxvZ2luYXR0
 ZW1wdCBpbXBvcnQgTG9naW5BdHRlbXB0CisrZnJvbSBEZW55SG9zdHMubG9ja2ZpbGUgaW1wb3J0
 IExvY2tGaWxlCisrZnJvbSBEZW55SG9zdHMuZmlsZXRyYWNrZXIgaW1wb3J0IEZpbGVUcmFja2Vy
 CisrZnJvbSBEZW55SG9zdHMucHJlZnMgaW1wb3J0IFByZWZzCisrZnJvbSBEZW55SG9zdHMucmVw
 b3J0IGltcG9ydCBSZXBvcnQKKytmcm9tIERlbnlIb3N0cy52ZXJzaW9uIGltcG9ydCBWRVJTSU9O
 CisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCAqCisrZnJvbSBEZW55SG9zdHMucmVn
 ZXggaW1wb3J0ICoKKytmcm9tIERlbnlIb3N0cy5kYWVtb24gaW1wb3J0IGNyZWF0ZURhZW1vbgor
 K2Zyb20gRGVueUhvc3RzLmRlbnlmaWxldXRpbCBpbXBvcnQgUHVyZ2UKKytmcm9tIERlbnlIb3N0
 cy51dGlsIGltcG9ydCBwYXJzZV9ob3N0CisrZnJvbSBEZW55SG9zdHMudmVyc2lvbiBpbXBvcnQg
 VkVSU0lPTgorK2Zyb20gRGVueUhvc3RzLnN5bmMgaW1wb3J0IFN5bmMKKytmcm9tIERlbnlIb3N0
 cy5yZXN0cmljdGVkIGltcG9ydCBSZXN0cmljdGVkCisraW1wb3J0IERlbnlIb3N0cy5wbHVnaW4K
 KyAKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJkZW55aG9zdHMiKS5kZWJ1ZworIGluZm8g
 PSBsb2dnaW5nLmdldExvZ2dlcigiZGVueWhvc3RzIikuaW5mbworQEAgLTYyLDcgKzYzLDcgQEAK
 KyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBzZWxmLmZpbGVfdHJhY2tlciA9IEZpbGVUcmFj
 a2VyKHNlbGYuX19wcmVmcy5nZXQoJ1dPUktfRElSJyksCisgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICAgICBsb2dmaWxlKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlv
 biwgZToKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICBzZWxm
 Ll9fbG9ja19maWxlLnJlbW92ZSgpCisgICAgICAgICAgICAgZGllKCJDYW4ndCByZWFkOiAlcyIg
 JSBsb2dmaWxlLCBlKQorIAorQEAgLTIzOSw3ICsyNDAsNyBAQAorICAgICAgICAgICAgICAgICB0
 cnk6CisgICAgICAgICAgICAgICAgICAgICBwdXJnZSA9IFB1cmdlKHNlbGYuX19wcmVmcywKKyAg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVyZ2VfdGltZSkKKy0gICAgICAgICAg
 ICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2Vw
 dGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy5nZXRMb2dnZXIoKS5leGNl
 cHRpb24oZSkKKyAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgIHNl
 bGYucHVyZ2VfY291bnRlciA9IDAKK0BAIC0yNjEsNyArMjYyLDcgQEAKKyAgICAgICAgICAgICAg
 ICAgICAgICAgICAgICAgc2VsZi5nZXRfZGVuaWVkX2hvc3RzKCkKKyAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgc2VsZi51cGRhdGVfaG9zdHNfZGVueShuZXdfaG9zdHMpCisgICAgICAgICAg
 ICAgICAgICAgICBzeW5jLnhtbHJwY19kaXNjb25uZWN0KCkKKy0gICAgICAgICAgICAgICAgZXhj
 ZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBl
 OgorICAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy5nZXRMb2dnZXIoKS5leGNlcHRpb24oZSkK
 KyAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgIHNlbGYuc3luY19j
 b3VudGVyID0gMAorQEAgLTMwMCw3ICszMDEsNyBAQAorIAorICAgICAgICAgI2luZm8oImtleXM6
 ICVzIiwgc3RyKCBzZWxmLl9fZGVuaWVkX2hvc3RzLmtleXMoKSkpCisgICAgICAgICBuZXdfaG9z
 dHMgPSBbaG9zdCBmb3IgaG9zdCBpbiBkZW55X2hvc3RzCistICAgICAgICAgICAgICAgICAgICAg
 aWYgbm90IHNlbGYuX19kZW5pZWRfaG9zdHMuaGFzX2tleShob3N0KQorKyAgICAgICAgICAgICAg
 ICAgICAgIGlmIGhvc3Qgbm90IGluIHNlbGYuX19kZW5pZWRfaG9zdHMKKyAgICAgICAgICAgICAg
 ICAgICAgICBhbmQgaG9zdCBub3QgaW4gc2VsZi5fX2FsbG93ZWRfaG9zdHNdCisgICAgICAgICAK
 KyAgICAgICAgIGRlYnVnKCJuZXcgaG9zdHM6ICVzIiwgc3RyKG5ld19ob3N0cykpCitAQCAtMzA4
 LDEwICszMDksMTAgQEAKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBmcCA9IG9wZW4oc2Vs
 Zi5fX3ByZWZzLmdldCgnSE9TVFNfREVOWScpLCAiYSIpCisgICAgICAgICAgICAgc3RhdHVzID0g
 MQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKy0gICAgICAgICAgICBwcmludCBlCist
 ICAgICAgICAgICAgcHJpbnQgIlRoZXNlIGhvc3RzIHNob3VsZCBiZSBtYW51YWxseSBhZGRlZCB0
 byIsCistICAgICAgICAgICAgcHJpbnQgc2VsZi5fX3ByZWZzLmdldCgnSE9TVFNfREVOWScpCisr
 ICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisrICAgICAgICAgICAgcHJpbnQoZSkKKysg
 ICAgICAgICAgICBwcmludCgiVGhlc2UgaG9zdHMgc2hvdWxkIGJlIG1hbnVhbGx5IGFkZGVkIHRv
 IikKKysgICAgICAgICAgICBwcmludChzZWxmLl9fcHJlZnMuZ2V0KCdIT1NUU19ERU5ZJykpCisg
 ICAgICAgICAgICAgZnAgPSBzeXMuc3Rkb3V0CisgICAgICAgICAgICAgc3RhdHVzID0gMAorIAor
 QEAgLTM1MSwxMiArMzUyLDEyIEBACisgICAgICAgICAgICAgICAgIGZwID0gZ3ppcC5vcGVuKGxv
 Z2ZpbGUpCisgICAgICAgICAgICAgZWxpZiBsb2dmaWxlLmVuZHN3aXRoKCIuYnoyIik6CisgICAg
 ICAgICAgICAgICAgIGlmIEhBU19CWjI6IGZwID0gYnoyLkJaMkZpbGUobG9nZmlsZSwgInIiKQor
 LSAgICAgICAgICAgICAgICBlbHNlOiAgICAgICByYWlzZSBFeGNlcHRpb24sICJDYW4gbm90IG9w
 ZW4gYnppcDIgZmlsZSAobWlzc2luZyBiejIgbW9kdWxlKSIKKysgICAgICAgICAgICAgICAgZWxz
 ZTogICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDYW4gbm90IG9wZW4gYnppcDIgZmlsZSAobWlzc2lu
 ZyBiejIgbW9kdWxlKSIpCisgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgZnAg
 PSBvcGVuKGxvZ2ZpbGUsICJyIikKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CistICAg
 ICAgICAgICAgcHJpbnQgIkNvdWxkIG5vdCBvcGVuIGxvZyBmaWxlOiAlcyIgJSBsb2dmaWxlCist
 ICAgICAgICAgICAgcHJpbnQgZQorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAg
 ICAgICAgICAgIHByaW50KCJDb3VsZCBub3Qgb3BlbiBsb2cgZmlsZTogJXMiICUgbG9nZmlsZSkK
 KysgICAgICAgICAgICBwcmludChlKQorICAgICAgICAgICAgIHJldHVybiAtMQorIAorICAgICAg
 ICAgdHJ5OgorQEAgLTQ3NCw4ICs0NzUsOCBAQAorICAgICAgICAgICAgIGZvciBob3N0IGluIGhv
 c3RzOgorICAgICAgICAgICAgICAgICBmcC53cml0ZSgiJXNcbiIgJSBob3N0KQorICAgICAgICAg
 ICAgIGZwLmNsb3NlKCkKKy0gICAgICAgICAgICBvcy5jaG1vZChmaWxlbmFtZSwgMDY0NCkKKy0g
 ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CisrICAgICAgICAgICAgb3MuY2htb2QoZmlsZW5h
 bWUsIDBvNjQ0KQorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAg
 IGVycm9yKHN0cihlKSkKKyAKKyAgICAgZGVmIGdldF9yZWdleChzZWxmLCBuYW1lLCBkZWZhdWx0
 KToKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueV9ob3N0
 cy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQv
 cGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogZmJzZDpub2tleXdv
 cmRzCiMjIC0wLDAgKzEgIyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFk
 ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQg
 ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2RlbnlmaWxldXRp
 bC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2RlbnlmaWxldXRpbC5w
 eQkocmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueWZpbGV1dGlsLnB5
 CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTA0IEBACistLS0gLi9EZW55SG9zdHMvZGVueWZp
 bGV1dGlsLnB5Lm9yaWcJMjAwNi0wNC0yMCAxMzoxNDo1OC4wMDAwMDAwMDAgKzA5MzAKKysrKyAu
 L0RlbnlIb3N0cy9kZW55ZmlsZXV0aWwucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4xMzMxODY0MjUg
 KzEwMzAKK0BAIC0xLDEzICsxLDE0IEBACisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9m
 dW5jdGlvbjsgCisgaW1wb3J0IG9zCisgaW1wb3J0IHNodXRpbAorIGltcG9ydCB0aW1lCisgaW1w
 b3J0IGxvZ2dpbmcKKyAKKy1mcm9tIGNvbnN0YW50cyBpbXBvcnQgREVOWV9ERUxJTUlURVIsIEVO
 VFJZX0RFTElNSVRFUgorLWZyb20gbG9naW5hdHRlbXB0IGltcG9ydCBBYnVzaXZlSG9zdHMKKy1m
 cm9tIHV0aWwgaW1wb3J0IHBhcnNlX2hvc3QKKy1pbXBvcnQgcGx1Z2luCistZnJvbSBwdXJnZWNv
 dW50ZXIgaW1wb3J0IFB1cmdlQ291bnRlcgorK2Zyb20gRGVueUhvc3RzLmNvbnN0YW50cyBpbXBv
 cnQgREVOWV9ERUxJTUlURVIsIEVOVFJZX0RFTElNSVRFUgorK2Zyb20gRGVueUhvc3RzLmxvZ2lu
 YXR0ZW1wdCBpbXBvcnQgQWJ1c2l2ZUhvc3RzCisrZnJvbSBEZW55SG9zdHMudXRpbCBpbXBvcnQg
 cGFyc2VfaG9zdAorK2ltcG9ydCBEZW55SG9zdHMucGx1Z2luCisrZnJvbSBEZW55SG9zdHMucHVy
 Z2Vjb3VudGVyIGltcG9ydCBQdXJnZUNvdW50ZXIKKyAKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9n
 Z2VyKCJkZW55ZmlsZXV0aWwiKS5kZWJ1ZworIGluZm8gPSBsb2dnaW5nLmdldExvZ2dlcigiZGVu
 eWZpbGV1dGlsIikuaW5mbworQEAgLTIyLDE1ICsyMywxNSBAQAorICAgICBkZWYgYmFja3VwKHNl
 bGYpOgorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHNodXRpbC5jb3B5KHNlbGYuZGVueV9m
 aWxlLCBzZWxmLmJhY2t1cF9maWxlKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysg
 ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICB3YXJuKHN0cihlKSkK
 KyAKKyAgICAgZGVmIHJlcGxhY2Uoc2VsZik6CisgICAgICAgICAjIG92ZXJ3cml0ZXMgZGVueV9m
 aWxlIHdpdGggY29udGVudHMgb2YgdGVtcF9maWxlCisgICAgICAgICB0cnk6CisgICAgICAgICAg
 ICAgb3MucmVuYW1lKHNlbGYudGVtcF9maWxlLCBzZWxmLmRlbnlfZmlsZSkKKy0gICAgICAgIGV4
 Y2VwdCBFeGNlcHRpb24sIGU6CistICAgICAgICAgICAgcHJpbnQgZQorKyAgICAgICAgZXhjZXB0
 IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIHByaW50KGUpCisgCisgICAgIGRlZiByZW1v
 dmVfdGVtcChzZWxmKToKKyAgICAgICAgIHRyeToKK0BAIC0zOSw3ICs0MCw3IEBACisgICAgICAg
 ICAgICAgcGFzcworIAorICAgICBkZWYgY3JlYXRlX3RlbXAoc2VsZiwgZGF0YV9saXN0KToKKy0g
 ICAgICAgIHJhaXNlIEV4Y2VwdGlvbiwgIk5vdCBJbWxlbWVudGVkIgorKyAgICAgICAgcmFpc2Ug
 RXhjZXB0aW9uKCJOb3QgSW1sZW1lbnRlZCIpCisgCisgCisgICAgIGRlZiBnZXRfZGF0YShzZWxm
 KToKK0BAIC02NCw3ICs2NSw3IEBACisgICAgIGRlZiBjcmVhdGVfdGVtcChzZWxmLCBkYXRhKToK
 KyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBmcCA9IG9wZW4oc2VsZi50ZW1wX2ZpbGUsICJ3
 IikKKy0gICAgICAgICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMDY0NCkKKysgICAgICAg
 ICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMG82NDQpCisgICAgICAgICAgICAgZm9yIGxp
 bmUgaW4gZGF0YToKKyAgICAgICAgICAgICAgICAgaWYgbGluZS5maW5kKCIjIikgIT0gLTE6Cisg
 ICAgICAgICAgICAgICAgICAgICBmcC53cml0ZShsaW5lKQorQEAgLTgyLDcgKzgzLDcgQEAKKyAg
 ICAgICAgICAgICAgICAgZnAud3JpdGUoIiVzXG4iICUgbGluZSkKKyAKKyAgICAgICAgICAgICBm
 cC5jbG9zZSgpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0
 IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGUKKyAgICAgICAgIAorIAorQEAg
 LTEyMSw3ICsxMjIsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 IGVudHJ5KSkKKyAgICAgICAgICAgICAgICAgZnAud3JpdGUoIiVzXG4iICUgZW50cnkpCisgICAg
 ICAgICAgICAgZnAuY2xvc2UoKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAg
 ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICByYWlzZSBlCisgCisgIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgICAgICAKK0BAIC0xNjUsNyArMTY2LDcgQEAKKyAgICAg
 ICAgICAgICAKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBmcCA9IG9wZW4oc2VsZi50ZW1w
 X2ZpbGUsICJ3IikKKy0gICAgICAgICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMDY0NCkK
 KysgICAgICAgICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMG82NDQpCisgICAgICAgICAg
 ICAgb2Zmc2V0ID0gMAorICAgICAgICAgICAgIG51bV9saW5lcyA9IGxlbihkYXRhKQorICAgICAg
 ICAgICAgIHdoaWxlIG9mZnNldCA8IG51bV9saW5lczoKK0BAIC0xODAsNyArMTgxLDcgQEAKKyAg
 ICAgICAgICAgICAgICAgICAgICAgICByZXN0ID0gbGluZS5sc3RyaXAoREVOWV9ERUxJTUlURVIp
 CisgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wLCBob3N0X3ZlcmlmeSA9IHJlc3Qu
 c3BsaXQoRU5UUllfREVMSU1JVEVSKQorICAgICAgICAgICAgICAgICAgICAgICAgIHRtID0gdGlt
 ZS5zdHJwdGltZSh0aW1lc3RhbXApCistICAgICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0
 aW9uLCBlOgorKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAg
 ICAgICAgICAgICAgICAgICAgICAgIHdhcm4oIlBhcnNlIGVycm9yIC0tIElnbm9ybmluZyB0aW1l
 c3RhbXA6ICVzIGZvcjogJXMiLCB0aW1lc3RhbXAsIGxpbmUpCisgICAgICAgICAgICAgICAgICAg
 ICAgICAgd2FybigiZXhjZXB0aW9uOiAlcyIsIHN0cihlKSkKKyAgICAgICAgICAgICAgICAgICAg
 ICAgICAjIGlnbm9yaW5nIGJhZCB0aW1lIHN0cmluZworQEAgLTIxNCw3ICsyMTUsNyBAQAorICAg
 ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlICAgICAgICAgICAgICAgICAgICAKKyAKKyAg
 ICAgICAgICAgICBmcC5jbG9zZSgpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAg
 ICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGUKKyAgICAg
 ICAgIHJldHVybiBwdXJnZWRfaG9zdHMKKyAgICAgCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBmaWxl
 cy9wYXRjaC1EZW55SG9zdHNfX2RlbnlmaWxldXRpbC5weQpfX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBmYnNk
 Om5va2V5d29yZHMKIyMgLTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
 cGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3
 bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAj
 IwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxl
 cy9wYXRjaC1EZW55SG9zdHNfX2ZpbGV0cmFja2VyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3Bh
 dGNoLURlbnlIb3N0c19fZmlsZXRyYWNrZXIucHkJKHJldmlzaW9uIDApCisrKyBmaWxlcy9wYXRj
 aC1EZW55SG9zdHNfX2ZpbGV0cmFja2VyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjIg
 QEAKKy0tLSAuL0RlbnlIb3N0cy9maWxldHJhY2tlci5weS5vcmlnCTIwMDUtMTItMTcgMDk6MTU6
 MDEuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55SG9zdHMvZmlsZXRyYWNrZXIucHkJMjAxNC0w
 My0xMSAwMDo1ODowOC4xMzUxODYyNzIgKzEwMzAKK0BAIC0xLDYgKzEsNyBAQAorK2Zyb20gX19m
 dXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247IAorIGltcG9ydCBvcworIGltcG9ydCBsb2dn
 aW5nCistZnJvbSBjb25zdGFudHMgaW1wb3J0IFNFQ1VSRV9MT0dfT0ZGU0VUCisrZnJvbSBEZW55
 SG9zdHMuY29uc3RhbnRzIGltcG9ydCBTRUNVUkVfTE9HX09GRlNFVAorIAorIGRlYnVnID0gbG9n
 Z2luZy5nZXRMb2dnZXIoImZpbGV0cmFja2VyIikuZGVidWcKKyAKK0BAIC0xNSw3ICsxNiw3IEBA
 CisgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYud29ya19kaXIsCisgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgIFNFQ1VSRV9MT0dfT0ZGU0VUKQorICAgICAgICAgZmlyc3RfbGlu
 ZSA9ICIiCistICAgICAgICBvZmZzZXQgPSAwTAorKyAgICAgICAgb2Zmc2V0ID0gMAorICAgICAg
 ICAgdHJ5OgorICAgICAgICAgICAgIGZwID0gb3BlbihwYXRoLCAiciIpCisgICAgICAgICAgICAg
 Zmlyc3RfbGluZSA9IGZwLnJlYWRsaW5lKClbOi0xXQorQEAgLTMyLDEzICszMywxMyBAQAorIAor
 ICAgICBkZWYgX19nZXRfY3VycmVudF9vZmZzZXQoc2VsZik6CisgICAgICAgICBmaXJzdF9saW5l
 ID0gIiIKKy0gICAgICAgIG9mZnNldCA9IDBMCisrICAgICAgICBvZmZzZXQgPSAwCisgICAgICAg
 ICB0cnk6CisgICAgICAgICAgICAgZnAgPSBvcGVuKHNlbGYubG9nZmlsZSwgInIiKQorICAgICAg
 ICAgICAgIGZpcnN0X2xpbmUgPSBmcC5yZWFkbGluZSgpWzotMV0KKyAgICAgICAgICAgICBmcC5z
 ZWVrKDAsIDIpCisgICAgICAgICAgICAgb2Zmc2V0ID0gZnAudGVsbCgpCistICAgICAgICBleGNl
 cHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAg
 ICAgICAgIHJhaXNlIGUKKyAKKyAgICAgICAgIGRlYnVnKCJfX2dldF9jdXJyZW50X29mZnNldCgp
 OiIpCitAQCAtNTIsNyArNTMsNyBAQAorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIGZwID0g
 b3BlbihzZWxmLmxvZ2ZpbGUsICJyIikKKyAgICAgICAgICAgICBmaXJzdF9saW5lID0gZnAucmVh
 ZGxpbmUoKVs6LTFdCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhj
 ZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGUKKyAgICAgICAgIAorICAg
 ICAgICAgc2VsZi5fX2ZpcnN0X2xpbmUgPSBmaXJzdF9saW5lCitAQCAtNjQsNyArNjUsNyBAQAor
 IAorICAgICAgICAgaWYgbGFzdF9saW5lICE9IHNlbGYuX19maXJzdF9saW5lOgorICAgICAgICAg
 ICAgICMgbG9nIGZpbGUgd2FzIHJvdGF0ZWQsIHN0YXJ0IGZyb20gYmVnaW5uaW5nCistICAgICAg
 ICAgICAgb2Zmc2V0ID0gMEwKKysgICAgICAgICAgICBvZmZzZXQgPSAwCisgICAgICAgICBlbGlm
 IHNlbGYuX19vZmZzZXQgPiBsYXN0X29mZnNldDoKKyAgICAgICAgICAgICAjIG5ldyBsaW5lcyBl
 eGlzdCBpbiBsb2cgZmlsZQorICAgICAgICAgICAgIG9mZnNldCA9IGxhc3Rfb2Zmc2V0CitAQCAt
 ODcsNiArODgsNiBAQAorICAgICAgICAgICAgIGZwLndyaXRlKCIlbGRcbiIgJSBvZmZzZXQpCisg
 ICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICAgZXhjZXB0OgorLSAgICAgICAgICAgIHBy
 aW50ICJDb3VsZCBub3Qgc2F2ZSBsb2dmaWxlIG9mZnNldCB0bzogJXMiICUgcGF0aAorKyAgICAg
 ICAgICAgIHByaW50KCJDb3VsZCBub3Qgc2F2ZSBsb2dmaWxlIG9mZnNldCB0bzogJXMiICUgcGF0
 aCkKKyAKKyAgICAgICAgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhv
 c3RzX19maWxldHJhY2tlci5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w
 LDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBz
 dm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVu
 ZCBvZiBwcm9wZXJ0eQpBZGRlZDogZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpc
 IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9z
 dHNfX2xvY2tmaWxlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fbG9j
 a2ZpbGUucHkJKHJldmlzaW9uIDApCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2xvY2tmaWxl
 LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy0tLSBEZW55SG9zdHMvbG9ja2Zp
 bGUucHkub3JpZwkyMDE0LTA0LTExIDIxOjQ0OjU3LjY5OTQ1Mjk5NCAtMDQwMAorKysrIERlbnlI
 b3N0cy9sb2NrZmlsZS5weQkyMDE0LTA0LTExIDIxOjQ1OjE2Ljg4MzQ0NjUzMyAtMDQwMAorQEAg
 LTEsNSArMSw1IEBACisgaW1wb3J0IG9zCistZnJvbSB1dGlsIGltcG9ydCBkaWUKKytmcm9tIERl
 bnlIb3N0cy51dGlsIGltcG9ydCBkaWUKKyAKKyBjbGFzcyBMb2NrRmlsZToKKyAgICAgZGVmIF9f
 aW5pdF9fKHNlbGYsIGxvY2twYXRoKToKK0BAIC0yOCwxMyArMjgsMTMgQEAKKyAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgICBvcy5PX1RSVU5DIHwgICMgdHJ1bmNhdGUgaXQsIGlmIGl0IGV4
 aXN0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLk9fV1JPTkxZIHwgIyB3cml0
 ZS1vbmx5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuT19FWENMLCAgICAjIGV4
 Y2x1c2l2ZSBhY2Nlc3MKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwNjQ0KSAgICAg
 ICAgICMgZmlsZSBtb2RlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMG82NDQpICAg
 ICAgICAgIyBmaWxlIG1vZGUKKyAKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CisrICAg
 ICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgcGlkID0gc2VsZi5nZXRf
 cGlkKCkKKyAgICAgICAgICAgICBkaWUoIkRlbnlIb3N0cyBjb3VsZCBub3Qgb2J0YWluIGxvY2sg
 KHBpZDogJXMpIiAlIHBpZCwgZSkKKyAgICAgICAgICAgICAKKy0gICAgICAgIG9zLndyaXRlKHNl
 bGYuZmQsICIlc1xuIiAlIG9zLmdldHBpZCgpKQorKyAgICAgICAgb3Mud3JpdGUoc2VsZi5mZCwg
 Ynl0ZXMoIiVzXG4iICUgb3MuZ2V0cGlkKCksJ2FzY2lpJykpCisgICAgICAgICBvcy5mc3luYyhz
 ZWxmLmZkKQorIAorIAorQEAgLTQ3LDYgKzQ3LDYgQEAKKyAgICAgICAgIHNlbGYuZmQgPSBOb25l
 CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgb3MudW5saW5rKHNlbGYubG9ja3BhdGgpCist
 ICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBh
 cyBlOgorICAgICAgICAgICAgIGlmIGRpZV86CisgICAgICAgICAgICAgICAgIGRpZSgiRXJyb3Ig
 ZGVsZXRpbmcgRGVueUhvc3RzIGxvY2sgZmlsZTogJXMiICUgc2VsZi5sb2NrcGF0aCwgZSkKClBy
 b3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fbG9ja2ZpbGUucHkKX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwg
 Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAt
 MCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3Zu
 OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
 cm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19sb2dpbmF0dGVtcHQucHkKPT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PQotLS0gZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19sb2dpbmF0dGVtcHQucHkJKHJldmlz
 aW9uIDApCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2xvZ2luYXR0ZW1wdC5weQkod29ya2lu
 ZyBjb3B5KQpAQCAtMCwwICsxLDcxIEBACistLS0gLi9EZW55SG9zdHMvbG9naW5hdHRlbXB0LnB5
 Lm9yaWcJMjAwNi0wNS0yMSAxMDoyODo1Ni4wMDAwMDAwMDAgKzA5MzAKKysrKyAuL0RlbnlIb3N0
 cy9sb2dpbmF0dGVtcHQucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4xNjYxODYwNDUgKzEwMzAKK0BA
 IC0xLDYgKzEsNyBAQAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247IAor
 IGltcG9ydCBvcworIGltcG9ydCBsb2dnaW5nCistZnJvbSB1dGlsIGltcG9ydCBpc190cnVlCisr
 ZnJvbSBEZW55SG9zdHMudXRpbCBpbXBvcnQgaXNfdHJ1ZQorIAorIHRyeToKKyAgICAgc2V0ID0g
 c2V0CitAQCAtOCw4ICs5LDggQEAKKyAgICAgZnJvbSBzZXRzIGltcG9ydCBTZXQKKyAgICAgc2V0
 ID0gU2V0CisgCistZnJvbSBjb3VudGVyIGltcG9ydCBDb3VudGVyLCBDb3VudGVyUmVjb3JkCist
 ZnJvbSBjb25zdGFudHMgaW1wb3J0ICoKKytmcm9tIERlbnlIb3N0cy5jb3VudGVyIGltcG9ydCBD
 b3VudGVyLCBDb3VudGVyUmVjb3JkCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCAq
 CisgCisgZGVidWcgPSBsb2dnaW5nLmdldExvZ2dlcigibG9naW5hdHRlbXB0IikuZGVidWcKKyBp
 bmZvID0gbG9nZ2luZy5nZXRMb2dnZXIoImxvZ2luYXR0ZW1wdCIpLmluZm8KK0BAIC03NSw3ICs3
 Niw3IEBACisgICAgICAgICAgICAgc2VsZi5fX2FidXNpdmVfaG9zdHNfaW52YWxpZFtob3N0XS5y
 ZXNldF9jb3VudCgpCisgCisgCistICAgICAgICBpZiBzdWNjZXNzIGFuZCBzZWxmLl9fYWJ1c2l2
 ZV9ob3N0c19pbnZhbGlkLmdldChob3N0LCAwKSA+IHNlbGYuX19kZW55X3RocmVzaG9sZF9pbnZh
 bGlkOgorKyAgICAgICAgaWYgc3VjY2VzcyBhbmQgaW50KHNlbGYuX19hYnVzaXZlX2hvc3RzX2lu
 dmFsaWQuZ2V0KGhvc3QsIDApKSA+IHNlbGYuX19kZW55X3RocmVzaG9sZF9pbnZhbGlkOgorICAg
 ICAgICAgICAgIG51bV9mYWlsdXJlcyA9IHNlbGYuX192YWxpZF91c2Vyc19hbmRfaG9zdHMuZ2V0
 KHVzZXJfaG9zdF9rZXksIDApCisgICAgICAgICAgICAgc2VsZi5fX3N1c3BpY2lvdXNfbG9naW5z
 W3VzZXJfaG9zdF9rZXldICs9IDEKKyAgICAgICAgICAgICBpZiBzZWxmLl9fc3VzcGljaW91c19h
 bHdheXMgb3IgaG9zdCBub3QgaW4gc2VsZi5fX2FsbG93ZWRfaG9zdHM6CitAQCAtMTY5LDE0ICsx
 NzAsMTQgQEAKKyAKKyAgICAgICAgICAgICAgICAgICAgIHN0YXRzW25hbWVdID0gQ291bnRlclJl
 Y29yZChpbnQoY291bnQpLCBkYXRlKQorICAgICAgICAgICAgICAgICAgICAgI2RlYnVnKCJzdGF0
 c1slc10gPSAlcyIsIG5hbWUsIHN0YXRzW25hbWVdKQorLSAgICAgICAgICAgICAgICBleGNlcHQg
 RXhjZXB0aW9uLCBlOgorKyAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Cisg
 ICAgICAgICAgICAgICAgICAgICAjI2RlYnVnKGUpCisgICAgICAgICAgICAgICAgICAgICBwYXNz
 ICAgICAgICAgICAgICAgIAorLSAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisrICAgICAgICBl
 eGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gMjogZGVidWco
 IiVzIGRvZXMgbm90IGV4aXN0IiwgZm5hbWUpCistICAgICAgICAgICAgZWxzZTogcHJpbnQgZQor
 LSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKy0gICAgICAgICAgICBpZiBub3Qgc2VsZi5f
 X2ZpcnN0X3RpbWU6IHByaW50IGUKKysgICAgICAgICAgICBlbHNlOiBwcmludChlKQorKyAgICAg
 ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9fZmly
 c3RfdGltZTogcHJpbnQoZSkKKyAgICAgICAgICAgICAKKyAgICAgICAgIHJldHVybiBzdGF0cwor
 IAorQEAgLTI0OCw4ICsyNDksOCBAQAorICAgICAgICAgCisgICAgICAgICB0cnk6CisgICAgICAg
 ICAgICAgZnAgPSBvcGVuKHBhdGgsICJ3IikKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6
 CistICAgICAgICAgICAgcHJpbnQgZQorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgor
 KyAgICAgICAgICAgIHByaW50KGUpCisgICAgICAgICAgICAgcmV0dXJuCisgCisgICAgICAgICBp
 ZiBub3Qgc3RhdHM6CitAQCAtMjU3LDcgKzI1OCw3IEBACisgICAgICAgICAgICAgZnAuY2xvc2Uo
 KQorICAgICAgICAgICAgIHJldHVybgorICAKKy0gICAgICAgIGtleXMgPSBzdGF0cy5rZXlzKCkK
 KysgICAgICAgIGtleXMgPSBsaXN0KHN0YXRzLmtleXMoKSkKKyAgICAgICAgIGtleXMuc29ydCgp
 CisgCisgICAgICAgICBmb3Iga2V5IGluIGtleXM6CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBmaWxl
 cy9wYXRjaC1EZW55SG9zdHNfX2xvZ2luYXR0ZW1wdC5weQpfX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBmYnNk
 Om5va2V5d29yZHMKIyMgLTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
 cGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3
 bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAj
 IwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxl
 cy9wYXRjaC1EZW55SG9zdHNfX29sZC1kYWVtb24ucHkKPT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0
 Y2gtRGVueUhvc3RzX19vbGQtZGFlbW9uLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gt
 RGVueUhvc3RzX19vbGQtZGFlbW9uLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAK
 Ky0tLSAuL0RlbnlIb3N0cy9vbGQtZGFlbW9uLnB5Lm9yaWcJMjAwNS0xMi0xNyAwOToxNTowMC4w
 MDAwMDAwMDAgKzEwMzAKKysrKyAuL0RlbnlIb3N0cy9vbGQtZGFlbW9uLnB5CTIwMTQtMDMtMTEg
 MDA6NTg6MDguMTY5MTg3NDE3ICsxMDMwCitAQCAtMzcsNyArMzcsNyBAQAorICAgICAgICMgdGhl
 IGNoaWxkIGdldHMgYSBuZXcgUElELCBtYWtpbmcgaXQgaW1wb3NzaWJsZSBmb3IgaXRzIFBJRCB0
 byBlcXVhbCBpdHMKKyAgICAgICAjIFBHSUQuCisgICAgICAgcGlkID0gb3MuZm9yaygpCistICAg
 ZXhjZXB0IE9TRXJyb3IsIGU6CisrICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICByZXR1
 cm4oKGUuZXJybm8sIGUuc3RyZXJyb3IpKSAgICAgIyBFUlJPUiAocmV0dXJuIGEgdHVwbGUpCisg
 CisgICAgaWYgKHBpZCA9PSAwKTogICAgICAgIyBUaGUgZmlyc3QgY2hpbGQuCitAQCAtNjIsNyAr
 NjIsNyBAQAorICAgICAgICAgICMgZm9yayBndWFyYW50ZWVzIHRoYXQgdGhlIGNoaWxkIGlzIG5v
 IGxvbmdlciBhIHNlc3Npb24gbGVhZGVyLCB0aHVzCisgICAgICAgICAgIyBwcmV2ZW50aW5nIHRo
 ZSBkYWVtb24gZnJvbSBldmVyIGFjcXVpcmluZyBhIGNvbnRyb2xsaW5nIHRlcm1pbmFsLgorICAg
 ICAgICAgIHBpZCA9IG9zLmZvcmsoKSAgICAgICAgIyBGb3JrIGEgc2Vjb25kIGNoaWxkLgorLSAg
 ICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorKyAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisgICAg
 ICAgICAgcmV0dXJuKChlLmVycm5vLCBlLnN0cmVycm9yKSkgICMgRVJST1IgKHJldHVybiBhIHR1
 cGxlKQorIAorICAgICAgIGlmIChwaWQgPT0gMCk6ICAgICAgIyBUaGUgc2Vjb25kIGNoaWxkLgoK
 UHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19vbGQtZGFlbW9uLnB5
 Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX18KQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBO
 byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww
 ICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3Zu
 Om1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQg
 b2YgcHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcGx1Z2luLnB5Cj09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcGx1Z2luLnB5CShyZXZpc2lvbiAwKQor
 KysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wbHVnaW4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTAs
 MCArMSwxMCBAQAorLS0tIC4vRGVueUhvc3RzL3BsdWdpbi5weS5vcmlnCTIwMDUtMTItMTcgMDk6
 MTU6MDAuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55SG9zdHMvcGx1Z2luLnB5CTIwMTQtMDMt
 MTEgMDA6NTg6MDguMTg1MTg2MjA5ICsxMDMwCitAQCAtMTMsNiArMTMsNiBAQAorICAgICAgICAg
 dHJ5OgorICAgICAgICAgICAgIHJlcyA9IG9zLnN5c3RlbSgiJXMgJXMiICUgKGV4ZWN1dGFibGUs
 IGhvc3QpKQorICAgICAgICAgICAgIGlmIHJlczogaW5mbygicGx1Z2luIHJldHVybmVkICVkIiwg
 cmVzKSAgICAgICAgICAgICAgICAKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHQsIGU6CisrICAgICAg
 ICBleGNlcHQgRXhjZXB0IGFzIGU6CisgICAgICAgICAgICAgZXJyb3IoInBsdWdpbiBlcnJvcjog
 JXMiLCBlKQorIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19w
 bHVnaW4ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0
 ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZic2Q6bm9r
 ZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0
 eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5l
 IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wcmVmcy5w
 eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX3ByZWZzLnB5CShyZXZpc2lv
 biAwKQorKysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wcmVmcy5weQkod29ya2luZyBjb3B5KQpA
 QCAtMCwwICsxLDg5IEBACistLS0gLi9EZW55SG9zdHMvcHJlZnMucHkub3JpZwkyMDA2LTExLTEw
 IDE0OjU0OjQwLjAwMDAwMDAwMCArMTAzMAorKysrIC4vRGVueUhvc3RzL3ByZWZzLnB5CTIwMTQt
 MDMtMTEgMDA6NTg6MDguMjAzMTg2MzA5ICsxMDMwCitAQCAtMSw2ICsxLDcgQEAKKytmcm9tIF9f
 ZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uOyAKKyBpbXBvcnQgb3MsIHN5cywgcmUKKy1m
 cm9tIHV0aWwgaW1wb3J0IGRpZSwgY2FsY3VsYXRlX3NlY29uZHMsIGlzX3RydWUKKy1mcm9tIHJl
 Z2V4IGltcG9ydCBQUkVGU19SRUdFWAorK2Zyb20gRGVueUhvc3RzLnV0aWwgaW1wb3J0IGRpZSwg
 Y2FsY3VsYXRlX3NlY29uZHMsIGlzX3RydWUKKytmcm9tIERlbnlIb3N0cy5yZWdleCBpbXBvcnQg
 UFJFRlNfUkVHRVgKKyBpbXBvcnQgbG9nZ2luZworIAorIGRlYnVnID0gbG9nZ2luZy5nZXRMb2dn
 ZXIoInByZWZzIikuZGVidWcKK0BAIC0xMjEsNyArMTIyLDcgQEAKKyAgICAgZGVmIGxvYWRfc2V0
 dGluZ3Moc2VsZiwgcGF0aCk6CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgZnAgPSBvcGVu
 KHBhdGgsICJyIikKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGUgOgorKyAgICAgICAgZXhj
 ZXB0IEV4Y2VwdGlvbiBhcyBlIDoKKyAgICAgICAgICAgICBkaWUoIkVycm9yIHJlYWRpbmcgZmls
 ZTogJXMiICUgcGF0aCwgZSkKKyAKKyAKK0BAIC0xNDUsNyArMTQ2LDcgQEAKKyAgICAgICAgICAg
 ICAgICAgICAgICAgICBzZWxmLl9fZGF0YVsnVVNFUkRFRl9GQUlMRURfRU5UUllfUkVHRVgnXS5h
 cHBlbmQocmUuY29tcGlsZSh2YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAg
 ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19kYXRhW25hbWVdID0gdmFsdWUKKy0gICAgICAg
 ICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24g
 YXMgZToKKyAgICAgICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICAgICAgICAgICBkaWUo
 IkVycm9yIHByb2Nlc3NpbmcgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXIgJXM6ICVzIiAlIChuYW1l
 LCBlKSkKKyAgICAgICAgIGZwLmNsb3NlKCkKK0BAIC0xNjMsMjYgKzE2NCwyNiBAQAorICAgICBk
 ZWYgY2hlY2tfcmVxdWlyZWQoc2VsZiwgcGF0aCk6CisgICAgICAgICBvayA9IDEKKyAgICAgICAg
 IGZvciBuYW1lX3JlcWQsIHZhbF9yZXFkIGluIHNlbGYucmVxZDoKKy0gICAgICAgICAgICBpZiBu
 b3Qgc2VsZi5fX2RhdGEuaGFzX2tleShuYW1lX3JlcWQpOgorLSAgICAgICAgICAgICAgICBwcmlu
 dCAiTWlzc2luZyBjb25maWd1cmF0aW9uIHBhcmFtZXRlcjogJXMiICUgbmFtZV9yZXFkCisrICAg
 ICAgICAgICAgaWYgbmFtZV9yZXFkIG5vdCBpbiBzZWxmLl9fZGF0YS5rZXlzKCk6CisrICAgICAg
 ICAgICAgICAgIHByaW50KCJNaXNzaW5nIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyOiAlcyIgJSBu
 YW1lX3JlcWQpCisgICAgICAgICAgICAgICAgIGlmIG5hbWVfcmVxZCA9PSAnREVOWV9USFJFU0hP
 TERfSU5WQUxJRCc6CistICAgICAgICAgICAgICAgICAgICBwcmludCAiXG5Ob3RlOiBUaGUgY29u
 ZmlndXJhdGlvbiBwYXJhbWV0ZXIgREVOWV9USFJFU0hPTEQgaGFzIGJlZW4gcmVuYW1lZCIKKy0g
 ICAgICAgICAgICAgICAgICAgIHByaW50ICIgICAgICBERU5ZX1RIUkVTSE9MRF9JTlZBTElELiAg
 UGxlYXNlIHVwZGF0ZSB5b3VyIERlbnlIb3N0cyBjb25maWd1cmF0aW9uIgorLSAgICAgICAgICAg
 ICAgICAgICAgcHJpbnQgIiAgICAgIGZpbGUgdG8gcmVmbGVjdCB0aGlzIGNoYW5nZS4iCisrICAg
 ICAgICAgICAgICAgICAgICBwcmludCgiXG5Ob3RlOiBUaGUgY29uZmlndXJhdGlvbiBwYXJhbWV0
 ZXIgREVOWV9USFJFU0hPTEQgaGFzIGJlZW4gcmVuYW1lZCIpCisrICAgICAgICAgICAgICAgICAg
 ICBwcmludCgiICAgICAgREVOWV9USFJFU0hPTERfSU5WQUxJRC4gIFBsZWFzZSB1cGRhdGUgeW91
 ciBEZW55SG9zdHMgY29uZmlndXJhdGlvbiIpCisrICAgICAgICAgICAgICAgICAgICBwcmludCgi
 ICAgICAgZmlsZSB0byByZWZsZWN0IHRoaXMgY2hhbmdlLiIpCisgCisgICAgICAgICAgICAgICAg
 ICAgICBpZiBzZWxmLl9fZGF0YS5oYXNfa2V5KCdERU5ZX1RIUkVTSE9MRCcpOgorLSAgICAgICAg
 ICAgICAgICAgICAgICAgIHByaW50ICJcbioqKiBVc2luZyBkZXByZWNhdGVkIERFTllfVEhSRVNI
 T0xEIHZhbHVlIGZvciBERU5ZX1RIUkVTSE9MRF9JTlZBTElEICoqKiIKKysgICAgICAgICAgICAg
 ICAgICAgICAgICBwcmludCgiXG4qKiogVXNpbmcgZGVwcmVjYXRlZCBERU5ZX1RIUkVTSE9MRCB2
 YWx1ZSBmb3IgREVOWV9USFJFU0hPTERfSU5WQUxJRCAqKioiKQorICAgICAgICAgICAgICAgICAg
 ICAgICAgIHNlbGYuX19kYXRhWydERU5ZX1RIUkVTSE9MRF9JTlZBTElEJ10gPSBzZWxmLl9fZGF0
 YVsnREVOWV9USFJFU0hPTEQnXQorICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAg
 ICAgICAgICAgICAgICAgICBvayA9IDAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAg
 ICAgICAgICAgZWxpZiBuYW1lX3JlcWQgPT0gJ0RFTllfVEhSRVNIT0xEX1JFU1RSSUNURUQnOgor
 LSAgICAgICAgICAgICAgICAgICAgcHJpbnQgIlxuTm90ZTogREVOWV9USFJFU0hPTERfUkVTVFJJ
 Q1RFRCBoYXMgbm90IGJlZW4gZGVmaW5lZC4gU2V0dGluZyB0aGlzIgorLSAgICAgICAgICAgICAg
 ICAgICAgcHJpbnQgInZhbHVlIHRvIERFTllfVEhSRVNIT0xEX1JPT1QiCisrICAgICAgICAgICAg
 ICAgICAgICBwcmludCgiXG5Ob3RlOiBERU5ZX1RIUkVTSE9MRF9SRVNUUklDVEVEIGhhcyBub3Qg
 YmVlbiBkZWZpbmVkLiBTZXR0aW5nIHRoaXMiKQorKyAgICAgICAgICAgICAgICAgICAgcHJpbnQo
 InZhbHVlIHRvIERFTllfVEhSRVNIT0xEX1JPT1QiKQorICAgICAgICAgICAgICAgICAgICAgc2Vs
 Zi5fX2RhdGFbJ0RFTllfVEhSRVNIT0xEX1JFU1RSSUNURUQnXSA9IHNlbGYuX19kYXRhWydERU5Z
 X1RIUkVTSE9MRF9ST09UJ10KKyAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg
 ICAgICAgIG9rID0gMAorICAgICAgICAgICAgIGVsaWYgdmFsX3JlcWQgYW5kIG5vdCBzZWxmLl9f
 ZGF0YVtuYW1lX3JlcWRdOgorLSAgICAgICAgICAgICAgICBwcmludCAiTWlzc2luZyBjb25maWd1
 cmF0aW9uIHZhbHVlIGZvcjogJXMiICUgbmFtZV9yZXFkCisrICAgICAgICAgICAgICAgIHByaW50
 KCJNaXNzaW5nIGNvbmZpZ3VyYXRpb24gdmFsdWUgZm9yOiAlcyIgJSBuYW1lX3JlcWQpCisgICAg
 ICAgICAgICAgICAgIG9rID0gMAorIAorICAgICAgICAgaWYgbm90IG9rOgorQEAgLTIwNiwxOCAr
 MjA3LDE4IEBACisgCisgCisgICAgIGRlZiBkdW1wKHNlbGYpOgorLSAgICAgICAgcHJpbnQgIlBy
 ZWZlcmVuY2VzOiIKKysgICAgICAgIHByaW50KCJQcmVmZXJlbmNlczoiKQorICAgICAgICAga2V5
 cyA9IHNlbGYuX19kYXRhLmtleXMoKQorICAgICAgICAgZm9yIGtleSBpbiBrZXlzOgorICAgICAg
 ICAgICAgIGlmIGtleSA9PSAnVVNFUkRFRl9GQUlMRURfRU5UUllfUkVHRVgnOgorICAgICAgICAg
 ICAgICAgICBmb3IgcnggaW4gc2VsZi5fX2RhdGFba2V5XToKKy0gICAgICAgICAgICAgICAgICAg
 IHByaW50ICIgICAlczogWyVzXSIgJSAoa2V5LCByeC5wYXR0ZXJuKQorKyAgICAgICAgICAgICAg
 ICAgICAgcHJpbnQoIiAgICVzOiBbJXNdIiAlIChrZXksIHJ4LnBhdHRlcm4pKQorICAgICAgICAg
 ICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHByaW50ICIgICAlczogWyVzXSIgJSAoa2V5LCBz
 ZWxmLl9fZGF0YVtrZXldKQorKyAgICAgICAgICAgICAgICBwcmludCgiICAgJXM6IFslc10iICUg
 KGtleSwgc2VsZi5fX2RhdGFba2V5XSkpCisgCisgICAgIAorICAgICBkZWYgZHVtcF90b19sb2dn
 ZXIoc2VsZik6CistICAgICAgICBrZXlzID0gc2VsZi5fX2RhdGEua2V5cygpCisrICAgICAgICBr
 ZXlzID0gbGlzdChzZWxmLl9fZGF0YS5rZXlzKCkpCisgICAgICAgICBrZXlzLnNvcnQoKQorICAg
 ICAgICAgaW5mbygiRGVueUhvc3RzIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3M6IikKKyAgICAgICAg
 IGZvciBrZXkgaW4ga2V5czoKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlI
 b3N0c19fcHJlZnMucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsx
 ICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZi
 c2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw
 cm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBu
 ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19w
 dXJnZWNvdW50ZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wdXJn
 ZWNvdW50ZXIucHkJKHJldmlzaW9uIDApCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX3B1cmdl
 Y291bnRlci5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIxIEBACistLS0gLi9EZW55SG9z
 dHMvcHVyZ2Vjb3VudGVyLnB5Lm9yaWcJMjAwNi0wNC0wOSAxMDoxMTo1OC4wMDAwMDAwMDAgKzA5
 MzAKKysrKyAuL0RlbnlIb3N0cy9wdXJnZWNvdW50ZXIucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4y
 MDQxODc0MDggKzEwMzAKK0BAIC0xLDcgKzEsNyBAQAorIAorLWZyb20gY291bnRlciBpbXBvcnQg
 Q291bnRlciwgQ291bnRlclJlY29yZAorK2Zyb20gRGVueUhvc3RzLmNvdW50ZXIgaW1wb3J0IENv
 dW50ZXIsIENvdW50ZXJSZWNvcmQKKyAKKy1pbXBvcnQgY29uc3RhbnRzCisraW1wb3J0IERlbnlI
 b3N0cy5jb25zdGFudHMKKyBpbXBvcnQgb3MKKyAKKyB0cnk6CitAQCAtNjYsNyArNjYsNyBAQAor
 ICAgICBkZWYgd3JpdGVfZGF0YShzZWxmLCBkYXRhKToKKyAgICAgICAgIHRyeToKKyAgICAgICAg
 ICAgICBmcCA9IG9wZW4oc2VsZi5maWxlbmFtZSwgInciKQorLSAgICAgICAgZXhjZXB0IEV4Y2Vw
 dGlvbiwgZToKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICBl
 cnJvcigiZXJyb3Igc2F2aW5nICVzOiAlcyIsIHNlbGYuZmlsZW5hbWUsIHN0cihlKSkKKyAKKyAg
 ICAgICAgIGtleXMgPSBkYXRhLmtleXMoKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0
 Y2gtRGVueUhvc3RzX19wdXJnZWNvdW50ZXIucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogZmJzZDpub2tl
 eXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
 CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUg
 YXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3Rl
 eHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0
 Y2gtRGVueUhvc3RzX19weXRob25fdmVyc2lvbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRj
 aC1EZW55SG9zdHNfX3B5dGhvbl92ZXJzaW9uLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0
 Y2gtRGVueUhvc3RzX19weXRob25fdmVyc2lvbi5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
 LDI4IEBACistLS0gLi9EZW55SG9zdHMvcHl0aG9uX3ZlcnNpb24ucHkub3JpZwkyMDA1LTEyLTE3
 IDA5OjE1OjAxLjAwMDAwMDAwMCArMTAzMAorKysrIC4vRGVueUhvc3RzL3B5dGhvbl92ZXJzaW9u
 LnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMjA2MTg2MTI3ICsxMDMwCitAQCAtMSwzICsxLDQgQEAK
 Kytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IHN5cworIAor
 IAorQEAgLTUsOSArNiw5IEBACisgICAgIHZlcnNpb25fdHVwbGUgPSBzeXMudmVyc2lvbl9pbmZv
 CisgICAgIHZlcnNpb24gPSB2ZXJzaW9uX3R1cGxlWzBdICogMTAwICsgdmVyc2lvbl90dXBsZVsx
 XQorICAgICBpZiB2ZXJzaW9uIDwgMjAzOgorLSAgICAgICAgcHJpbnQgIlB5dGhvbiA+PSAyLjMg
 cmVxdWlyZWQuICBZb3UgYXJlIHVzaW5nOiIsIHN5cy52ZXJzaW9uCisrICAgICAgICBwcmludCgi
 UHl0aG9uID49IDIuMyByZXF1aXJlZC4gIFlvdSBhcmUgdXNpbmc6Iiwgc3lzLnZlcnNpb24pCisg
 CistICAgICAgICBwcmludCAiIiIKKysgICAgICAgIHByaW50KCIiIgorICMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
 KyAKKyBWaXNpdCBodHRwOi8vd3d3LnB5dGhvbi5vcmcgYW5kIGRvd25sb2FkIGEgbW9yZSByZWNl
 bnQgdmVyc2lvbiBvZgorQEAgLTIzLDcgKzI0LDcgQEAKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgCist
 IiIiICUgJyAnLmpvaW4oc3lzLmFyZ3YpCisrIiIiICUgJyAnLmpvaW4oc3lzLmFyZ3YpKQorIAor
 ICAgICAgICAgc3lzLmV4aXQoMSkKKyAKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNo
 LURlbnlIb3N0c19fcHl0aG9uX3ZlcnNpb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUt
 dHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
 cGVydHkKQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXds
 aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj
 CituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0
 Y2gtRGVueUhvc3RzX19yZWdleC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9z
 dHNfX3JlZ2V4LnB5CShyZXZpc2lvbiAzNTEwNTcpCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNf
 X3JlZ2V4LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDExIEBACi0jIFBhdGNoIHNoYXBl
 ZCBmcm9tIGh0dHA6Ly9zZWNsaXN0cy5vcmcvb3NzLXNlYy8yMDEzL3E0LzUzNQotPT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PQotLS0tIC4vRGVueUhvc3RzL3JlZ2V4LnB5Lm9yaWcJMjAwNi0xMi0wNyAyMDo0NzowNC4wMDAw
 MDAwMDAgKzAxMDAKLSsrKyAuL0RlbnlIb3N0cy9yZWdleC5weQkyMDEzLTEyLTIzIDE3OjE3OjQy
 LjAwMDAwMDAwMCArMDEwMAotQEAgLTYsMjIgKzYsMjIgQEAKKy0tLSAuL0RlbnlIb3N0cy9yZWdl
 eC5weS5vcmlnCTIwMDYtMTItMDggMDY6MTc6MDQuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55
 SG9zdHMvcmVnZXgucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4yMDcxODY3MDkgKzEwMzAKK0BAIC0x
 Nyw3ICsxNyw3IEBACiAgCi0gI0RBVEVfRk9STUFUX1JFR0VYID0gcmUuY29tcGlsZShyIiIiKD9Q
 PG1vbnRoPltBLXpdezMsM30pXHMqKD9QPGRheT5cZCspIiIiKQorIEZBSUxFRF9FTlRSWV9SRUdF
 WDQgPSByZS5jb21waWxlKHIiIiJBdXRoZW50aWNhdGlvbiBmYWlsdXJlIGZvciAoP1A8dXNlcj4u
 KikgLipmcm9tICg/UDxob3N0Pi4qKSIiIikKICAKLS1TU0hEX0ZPUk1BVF9SRUdFWCA9IHJlLmNv
 bXBpbGUociIiIi4qIChzc2hkLio6fFxbc3NoZFxdKSAoP1A8bWVzc2FnZT4uKikiIiIpCi0rU1NI
 RF9GT1JNQVRfUkVHRVggPSByZS5jb21waWxlKHIiIiIuKj8gKHNzaGQuKj86fFxbc3NoZFxdKSAo
 P1A8bWVzc2FnZT4uKikiIiIpCi0gI1NTSERfRk9STUFUX1JFR0VYID0gcmUuY29tcGlsZShyIiIi
 Liogc3NoZC4qOiAoP1A8bWVzc2FnZT4uKikiIiIpCi0gCi0tRkFJTEVEX0VOVFJZX1JFR0VYID0g
 cmUuY29tcGlsZShyIiIiRmFpbGVkICg/UDxtZXRob2Q+LiopIGZvciAoP1A8aW52YWxpZD5pbnZh
 bGlkIHVzZXIgfGlsbGVnYWwgdXNlciApPyg/UDx1c2VyPi4qPykgLipmcm9tICg6OmZmZmY6KT8o
 P1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSIiIikKLStGQUlMRURf
 RU5UUllfUkVHRVggPSByZS5jb21waWxlKHIiIiJGYWlsZWQgKD9QPG1ldGhvZD5cUyopIGZvciAo
 P1A8aW52YWxpZD5pbnZhbGlkIHVzZXIgfGlsbGVnYWwgdXNlciApPyg/UDx1c2VyPi4qKSBmcm9t
 ICg6OmZmZmY6KT8oP1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSQi
 IiIpCi0gCi0tRkFJTEVEX0VOVFJZX1JFR0VYMiA9IHJlLmNvbXBpbGUociIiIig/UDxpbnZhbGlk
 PihJbGxlZ2FsfEludmFsaWQpKSB1c2VyICg/UDx1c2VyPi4qPykgLipmcm9tICg6OmZmZmY6KT8o
 P1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSIiIikKLStGQUlMRURf
 RU5UUllfUkVHRVgyID0gcmUuY29tcGlsZShyIiIiKD9QPGludmFsaWQ+KElsbGVnYWx8SW52YWxp
 ZCkpIHVzZXIgKD9QPHVzZXI+LiopIGZyb20gKDo6ZmZmZjopPyg/UDxob3N0PlxkezEsM31cLlxk
 ezEsM31cLlxkezEsM31cLlxkezEsM30pJCIiIikKLSAKLS1GQUlMRURfRU5UUllfUkVHRVgzID0g
 cmUuY29tcGlsZShyIiIiQXV0aGVudGljYXRpb24gZmFpbHVyZSBmb3IgKD9QPHVzZXI+LiopIC4q
 ZnJvbSAoOjpmZmZmOik/KD9QPGhvc3Q+XGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwz
 fSkiIiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYMyA9IE5vbmUKLSAKLS1GQUlMRURfRU5UUllfUkVH
 RVg0ID0gcmUuY29tcGlsZShyIiIiQXV0aGVudGljYXRpb24gZmFpbHVyZSBmb3IgKD9QPHVzZXI+
 LiopIC4qZnJvbSAoP1A8aG9zdD4uKikiIiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYNCA9IHJlLmNv
 bXBpbGUociIiIkF1dGhlbnRpY2F0aW9uIGZhaWx1cmUgZm9yICg/UDx1c2VyPi4qKSBmcm9tICg6
 OmZmZmY6KT8oP1A8aG9zdD5cUyspJCIiIikKLSAKIC1GQUlMRURfRU5UUllfUkVHRVg1ID0gcmUu
 Y29tcGlsZShyIiIiVXNlciAoP1A8dXNlcj4uKikgLipmcm9tICg/UDxob3N0Pi4qKSBub3QgYWxs
 b3dlZCBiZWNhdXNlIG5vbmUgb2YgdXNlcidzIGdyb3VwcyBhcmUgbGlzdGVkIGluIEFsbG93R3Jv
 dXBzIiIiKQotK0ZBSUxFRF9FTlRSWV9SRUdFWDUgPSByZS5jb21waWxlKHIiIiJVc2VyICg/UDx1
 c2VyPi4qKSBmcm9tICg6OmZmZmY6KT8oP1A8aG9zdD5cUyspIG5vdCBhbGxvd2VkIGJlY2F1c2Ug
 bm9uZSBvZiB1c2VyJ3MgZ3JvdXBzIGFyZSBsaXN0ZWQgaW4gQWxsb3dHcm91cHMkIiIiKQorK0ZB
 SUxFRF9FTlRSWV9SRUdFWDUgPSByZS5jb21waWxlKHIiIiJVc2VyICg/UDx1c2VyPi4qKSAuKmZy
 b20gKD9QPGhvc3Q+LiopIG5vdCBhbGxvd2VkIGJlY2F1c2Ugbm9uZSBvZiB1c2VyJ3MgZ3JvdXBz
 IGFyZSBsaXN0ZWQgaW4gQWxsb3dHcm91cHMkIiIiKQogIAotLUZBSUxFRF9FTlRSWV9SRUdFWDYg
 PSByZS5jb21waWxlKHIiIiJEaWQgbm90IHJlY2VpdmUgaWRlbnRpZmljYXRpb24gc3RyaW5nIC4q
 ZnJvbSAoOjpmZmZmOik/KD9QPGhvc3Q+XGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwz
 fSkiIiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYNiA9IHJlLmNvbXBpbGUociIiIkRpZCBub3QgcmVj
 ZWl2ZSBpZGVudGlmaWNhdGlvbiBzdHJpbmcgLipmcm9tICg6OmZmZmY6KT8oP1A8aG9zdD5cZHsx
 LDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSQiIiIpCisgRkFJTEVEX0VOVFJZX1JFR0VY
 NiA9IHJlLmNvbXBpbGUociIiIkRpZCBub3QgcmVjZWl2ZSBpZGVudGlmaWNhdGlvbiBzdHJpbmcg
 Lipmcm9tICg6OmZmZmY6KT8oP1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsx
 LDN9KSIiIikKICAKLS1GQUlMRURfRU5UUllfUkVHRVg3ID0gcmUuY29tcGlsZShyIiIiVXNlciAo
 P1A8dXNlcj4uKikgbm90IGFsbG93ZWQgYmVjYXVzZSBub3QgbGlzdGVkIGluIEFsbG93VXNlcnMi
 IiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYNyA9IHJlLmNvbXBpbGUociIiIlVzZXIgKD9QPHVzZXI+
 LiopIGZyb20gKDo6ZmZmZjopPyg/UDxob3N0PlxTKykgbm90IGFsbG93ZWQgYmVjYXVzZSBub3Qg
 bGlzdGVkIGluIEFsbG93VXNlcnMkIiIiKQotIAotIAotICMgdGhlc2UgYXJlIHJlc2VydmVkIGZv
 ciBmdXR1cmUgdmVyc2lvbnMKLUBAIC00Miw3ICs0Miw3IEBACi0gICAgIEZBSUxFRF9FTlRSWV9S
 RUdFWF9NQVBbaV0gPSByeAotIAotIAotLVNVQ0NFU1NGVUxfRU5UUllfUkVHRVggPSByZS5jb21w
 aWxlKHIiIiJBY2NlcHRlZCAoP1A8bWV0aG9kPi4qKSBmb3IgKD9QPHVzZXI+Lio/KSBmcm9tICg6
 OmZmZmY6KT8oP1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSIiIikK
 LStTVUNDRVNTRlVMX0VOVFJZX1JFR0VYID0gcmUuY29tcGlsZShyIiIiQWNjZXB0ZWQgKD9QPG1l
 dGhvZD5cUyspIGZvciAoP1A8dXNlcj4uKj8pIGZyb20gKDo6ZmZmZjopPyg/UDxob3N0PlxkezEs
 M31cLlxkezEsM31cLlxkezEsM31cLlxkezEsM30pJCIiIikKLSAKLSBUSU1FX1NQRUNfUkVHRVgg
 PSByZS5jb21waWxlKHIiIiIoP1A8dW5pdHM+XGQqKVxzKig/UDxwZXJpb2Q+W3NtaGR3eV0pPyIi
 IikKLSAKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVwb3J0LnB5Cj09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
 LS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVwb3J0LnB5CShyZXZpc2lvbiAwKQorKysgZmls
 ZXMvcGF0Y2gtRGVueUhvc3RzX19yZXBvcnQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy
 MiBAQAorLS0tIC4vRGVueUhvc3RzL3JlcG9ydC5weS5vcmlnCTIwMDYtMDQtMDkgMTM6MDQ6MDQu
 MDAwMDAwMDAwICswOTMwCisrKysgLi9EZW55SG9zdHMvcmVwb3J0LnB5CTIwMTQtMDMtMTEgMDA6
 NTg6MDguMjA4MTg2NjAwICsxMDMwCitAQCAtMSw5ICsxLDggQEAKKyBpbXBvcnQgb3MKKyBpbXBv
 cnQgcmUKKyBpbXBvcnQgc29ja2V0CistZnJvbSB0eXBlcyBpbXBvcnQgTGlzdFR5cGUsIFR1cGxl
 VHlwZQorIGltcG9ydCBsb2dnaW5nCistZnJvbSB1dGlsIGltcG9ydCBpc190cnVlCisrZnJvbSBE
 ZW55SG9zdHMudXRpbCBpbXBvcnQgaXNfdHJ1ZQorIHRyeToKKyAgICAgaW1wb3J0IHN5c2xvZwor
 ICAgICBIQVNfU1lTTE9HID0gVHJ1ZQorQEAgLTM4LDcgKzM3LDcgQEAKKyAgICAgZGVmIGFkZF9z
 ZWN0aW9uKHNlbGYsIG1lc3NhZ2UsIGl0ZXJhYmxlKToKKyAgICAgICAgIHNlbGYucmVwb3J0ICs9
 ICIlczpcblxuIiAlIG1lc3NhZ2UKKyAgICAgICAgIGZvciBpIGluIGl0ZXJhYmxlOgorLSAgICAg
 ICAgICAgIGlmIHR5cGUoaSkgaW4gKFR1cGxlVHlwZSwgTGlzdFR5cGUpOgorKyAgICAgICAgICAg
 IGlmIGlzaW5zdGFuY2UodHlwZShpKSwgKHR1cGxlLGxpc3QpKToKKyAgICAgICAgICAgICAgICAg
 ZXh0cmEgPSAiOiAlZFxuIiAlIGlbMV0KKyAgICAgICAgICAgICAgICAgaSA9IGlbMF0KKyAgICAg
 ICAgICAgICBlbHNlOgoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3Rz
 X19yZXBvcnQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEg
 IyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0
 eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
 CkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXds
 aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19yZXN0
 cmljdGVkLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVzdHJpY3Rl
 ZC5weQkocmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVzdHJpY3RlZC5w
 eQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACistLS0gLi9EZW55SG9zdHMvcmVzdHJp
 Y3RlZC5weS5vcmlnCTIwMDYtMDItMDkgMTY6MzY6MTkuMDAwMDAwMDAwICsxMDMwCisrKysgLi9E
 ZW55SG9zdHMvcmVzdHJpY3RlZC5weQkyMDE0LTAzLTExIDAwOjU4OjA4LjIyMDE4NjIyOCArMTAz
 MAorQEAgLTEsNiArMSw2IEBACisgaW1wb3J0IG9zCisgCistZnJvbSBjb25zdGFudHMgaW1wb3J0
 IFJFU1RSSUNURURfVVNFUk5BTUVTCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCBS
 RVNUUklDVEVEX1VTRVJOQU1FUworIHRyeToKKyAgICAgc2V0ID0gc2V0CisgZXhjZXB0OgoKUHJv
 cGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19yZXN0cmljdGVkLnB5Cl9f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpc
 IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMg
 LTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2
 bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
 cHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fc3luYy5weQo9PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX3N5bmMucHkJKHJldmlzaW9uIDApCisrKyBmaWxl
 cy9wYXRjaC1EZW55SG9zdHNfX3N5bmMucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBA
 QAorLS0tIC4vRGVueUhvc3RzL3N5bmMucHkub3JpZwkyMDA2LTAyLTA5IDE1OjUwOjQ2LjAwMDAw
 MDAwMCArMTAzMAorKysrIC4vRGVueUhvc3RzL3N5bmMucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4y
 MjExODczMjcgKzEwMzAKK0BAIC0xLDggKzEsMTIgQEAKKy1mcm9tIHhtbHJwY2xpYiBpbXBvcnQg
 U2VydmVyUHJveHkKKyt0cnk6CisrICAgIGZyb20geG1scnBjbGliIGltcG9ydCBTZXJ2ZXJQcm94
 eQorK2V4Y2VwdDoKKysgICAgZnJvbSB4bWxycGMuY2xpZW50IGltcG9ydCBTZXJ2ZXJQcm94eQor
 KworIGltcG9ydCBsb2dnaW5nCisgaW1wb3J0IG9zCisgaW1wb3J0IHRpbWUKKy1mcm9tIGNvbnN0
 YW50cyBpbXBvcnQgU1lOQ19USU1FU1RBTVAsIFNZTkNfSE9TVFMsIFNZTkNfSE9TVFNfVE1QLCBT
 WU5DX1JFQ0VJVkVEX0hPU1RTCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCBTWU5D
 X1RJTUVTVEFNUCwgU1lOQ19IT1NUUywgU1lOQ19IT1NUU19UTVAsIFNZTkNfUkVDRUlWRURfSE9T
 VFMKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJzeW5jIikuZGVidWcKKyBpbmZvID0gbG9n
 Z2luZy5nZXRMb2dnZXIoInN5bmMiKS5pbmZvCisgZXJyb3IgPSBsb2dnaW5nLmdldExvZ2dlcigi
 c3luYyIpLmVycm9yCitAQCAtMjMsNyArMjcsNyBAQAorICAgICAgICAgdHJ5OgorICAgICAgICAg
 ICAgIHNlbGYuX19zZXJ2ZXIgPSBTZXJ2ZXJQcm94eShzZWxmLl9fcHJlZnMuZ2V0KCdTWU5DX1NF
 UlZFUicpKQorICAgICAgICAgICAgIHNlbGYuX19jb25uZWN0ZWQgPSBUcnVlCistICAgICAgICBl
 eGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAg
 ICAgICAgICAgIGVycm9yKHN0cihlKSkKKyAgICAgICAgICAgICBzZWxmLl9fY29ubmVjdGVkID0g
 RmFsc2UKKyAgICAgICAgIHJldHVybiBzZWxmLl9fY29ubmVjdGVkCitAQCAtNDYsOSArNTAsOSBA
 QAorICAgICAgICAgICAgIHRpbWVzdGFtcCA9IGZwLnJlYWRsaW5lKCkKKyAgICAgICAgICAgICB0
 aW1lc3RhbXAgPSBsb25nKHRpbWVzdGFtcC5zdHJpcCgpKQorICAgICAgICAgICAgIHJldHVybiB0
 aW1lc3RhbXAKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CisrICAgICAgICBleGNlcHQg
 RXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgZXJyb3Ioc3RyKGUpKQorLSAgICAgICAgICAg
 IHJldHVybiAwbAorKyAgICAgICAgICAgIHJldHVybiAwCisgCisgICAgIGRlZiBzZXRfc3luY190
 aW1lc3RhbXAoc2VsZiwgdGltZXN0YW1wKToKKyAgICAgICAgIHRyeToKK0BAIC05OCw3ICsxMDIs
 NyBAQAorIAorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHNlbGYuX19zZXJ2ZXIuYWRkX2hv
 c3RzKGhvc3RzKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgICAgIGV4Y2Vw
 dCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICBleGNlcHRpb24oZSkKKyAKKyAKK0BAIC0x
 MjEsNyArMTI1LDcgQEAKKyAgICAgICAgICAgICBpbmZvKCJyZWNlaXZlZCAlZCBuZXcgaG9zdCVz
 IiwgbGVuKGhvc3RzKSwgZ2V0X3BsdXJhbChob3N0cykpCisgICAgICAgICAgICAgc2VsZi5fX3Nh
 dmVfcmVjZWl2ZWRfaG9zdHMoaG9zdHMsIHRpbWVzdGFtcCkKKyAgICAgICAgICAgICByZXR1cm4g
 aG9zdHMgCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4
 Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIGV4Y2VwdGlvbihlKQorICAgICAgICAgICAgIHJl
 dHVybiBOb25lCisgICAgICAgICAKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURl
 bnlIb3N0c19fc3luYy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAg
 KzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDog
 ZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
 IHByb3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5v
 IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9zdHNf
 X3V0aWwucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0Y2gtRGVueUhvc3RzX191dGlsLnB5CShy
 ZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX191dGlsLnB5CSh3b3JraW5nIGNv
 cHkpCkBAIC0wLDAgKzEsNjYgQEAKKy0tLSAuL0RlbnlIb3N0cy91dGlsLnB5Lm9yaWcJMjAwNi0w
 Ni0yMiAxMjoxNToyOC4wMDAwMDAwMDAgKzA5MzAKKysrKyAuL0RlbnlIb3N0cy91dGlsLnB5CTIw
 MTQtMDMtMTEgMDA6NTg6MDguMjIzMTg2OTY3ICsxMDMwCitAQCAtMSwxMSArMSwxMSBAQAorK2Zy
 b20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247IAorIGltcG9ydCBzeXMKKyBpbXBv
 cnQgb3MKKyBpbXBvcnQgdGltZQorIGZyb20gc210cGxpYiBpbXBvcnQgU01UUAorIGltcG9ydCBs
 b2dnaW5nCistZnJvbSBjb25zdGFudHMgaW1wb3J0IEJTRF9TVFlMRSwgVElNRV9TUEVDX0xPT0tV
 UAorLWZyb20gcmVnZXggaW1wb3J0IFRJTUVfU1BFQ19SRUdFWAorLWZyb20gdHlwZXMgaW1wb3J0
 IEludFR5cGUKKytmcm9tIERlbnlIb3N0cy5jb25zdGFudHMgaW1wb3J0IEJTRF9TVFlMRSwgVElN
 RV9TUEVDX0xPT0tVUAorK2Zyb20gRGVueUhvc3RzLnJlZ2V4IGltcG9ydCBUSU1FX1NQRUNfUkVH
 RVgKKyAKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ1dGlsIikuZGVidWcKKyAKK0BAIC01
 NSw4ICs1NSw4IEBACisgCisgCisgZGVmIGRpZShtc2csIGV4PU5vbmUpOgorLSAgICBwcmludCBt
 c2cKKy0gICAgaWYgZXg6IHByaW50IGV4CisrICAgIHByaW50KG1zZykKKysgICAgaWYgZXg6IHBy
 aW50KGV4KQorICAgICBzeXMuZXhpdCgxKQorIAorIAorQEAgLTc0LDE3ICs3NCwxNyBAQAorIGRl
 ZiBjYWxjdWxhdGVfc2Vjb25kcyh0aW1lc3RyLCB6ZXJvX29rPUZhbHNlKToKKyAgICAgIyByZXR1
 cm4gdGhlIG51bWJlciBvZiBzZWNvbmRzIGluIGEgZ2l2ZW4gdGltZXN0ciBzdWNoIGFzIDFkICgx
 IGRheSksCisgICAgICMgMTN3ICgxMyB3ZWVrcyksIDVzICg1c2Vjb25kcyksIGV0Yy4uLgorLSAg
 ICBpZiB0eXBlKHRpbWVzdHIpIGlzIEludFR5cGU6IHJldHVybiB0aW1lc3RyCisrICAgIGlmIHR5
 cGUodGltZXN0cikgaXMgaW50OiByZXR1cm4gdGltZXN0cgorICAgICAKKyAgICAgbSA9IFRJTUVf
 U1BFQ19SRUdFWC5zZWFyY2godGltZXN0cikKKyAgICAgaWYgbm90IG06CistICAgICAgICByYWlz
 ZSBFeGNlcHRpb24sICJJbnZhbGlkIHRpbWUgc3BlY2lmaWNhdGlvbjogc3RyaW5nIGZvcm1hdCBl
 cnJvcjogJXMiLCB0aW1lc3RyCisrICAgICAgICByYWlzZSBFeGNlcHRpb24oIkludmFsaWQgdGlt
 ZSBzcGVjaWZpY2F0aW9uOiBzdHJpbmcgZm9ybWF0IGVycm9yOiAlcyIsIHRpbWVzdHIpCisgCisg
 ICAgIHVuaXRzID0gaW50KG0uZ3JvdXAoJ3VuaXRzJykpCisgICAgIHBlcmlvZCA9IG0uZ3JvdXAo
 J3BlcmlvZCcpIG9yICdzJyAjIHNlY29uZHMgaXMgdGhlIGRlZmF1bHQKKyAKKyAgICAgaWYgdW5p
 dHMgPT0gMCBhbmQgbm90IHplcm9fb2s6CistICAgICAgICByYWlzZSBFeGNlcHRpb24sICJJbnZh
 bGlkIHRpbWUgc3BlY2lmaWNhdGlvbjogdW5pdHMgPSAwIgorKyAgICAgICAgcmFpc2UgRXhjZXB0
 aW9uKCJJbnZhbGlkIHRpbWUgc3BlY2lmaWNhdGlvbjogdW5pdHMgPSAwIikKKyAKKyAgICAgc2Vj
 b25kcyA9IHVuaXRzICogVElNRV9TUEVDX0xPT0tVUFtwZXJpb2RdCisgICAgICNpbmZvKCJjb252
 ZXJ0ZWQgJXMgdG8gJWxkIHNlY29uZHM6ICIsIHRpbWVzdHIsIHNlY29uZHMpCitAQCAtMTQ1LDEx
 ICsxNDUsMTEgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgcmVjaXBpZW50cywKKyAgICAgICAg
 ICAgICAgICAgICAgICAgbXNnKQorICAgICAgICAgZGVidWcoInNlbnQgZW1haWwgdG86ICVzIiAl
 IHByZWZzLmdldCgiQURNSU5fRU1BSUwiKSkKKy0gICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKy0g
 ICAgICAgIHByaW50ICJFcnJvciBzZW5kaW5nIGVtYWlsIgorLSAgICAgICAgcHJpbnQgZQorLSAg
 ICAgICAgcHJpbnQgIkVtYWlsIG1lc3NhZ2UgZm9sbG93czoiCistICAgICAgICBwcmludCBtc2cK
 KysgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgcHJpbnQoIkVycm9yIHNlbmRp
 bmcgZW1haWwiKQorKyAgICAgICAgcHJpbnQoZSkKKysgICAgICAgIHByaW50KCJFbWFpbCBtZXNz
 YWdlIGZvbGxvd3M6IikKKysgICAgICAgIHByaW50KG1zZykKKyAKKyAgICAgdHJ5OgorICAgICAg
 ICAgc210cC5xdWl0KCkKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlIb3N0
 c19fdXRpbC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMgLTAsMCArMSAj
 IworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5
 bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK
 QWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xp
 bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1kYWVtb24tY29udHJvbC1k
 aXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLWRhZW1vbi1jb250cm9sLWRpc3QJKHJldmlz
 aW9uIDM1MTA1NykKKysrIGZpbGVzL3BhdGNoLWRhZW1vbi1jb250cm9sLWRpc3QJKHdvcmtpbmcg
 Y29weSkKQEAgLTEsOSArMSwxMiBAQAotCi0kRnJlZUJTRCQKLQotLS0tIGRhZW1vbi1jb250cm9s
 LWRpc3Qub3JpZwotKysrIGRhZW1vbi1jb250cm9sLWRpc3QKLUBAIC0xMSw5ICsxMSw5IEBACist
 LS0gLi9kYWVtb24tY29udHJvbC1kaXN0Lm9yaWcJMjAwNi0wNC0yMiAwODozNDo0My4wMDAwMDAw
 MDAgKzA5MzAKKysrKyAuL2RhZW1vbi1jb250cm9sLWRpc3QJMjAxNC0wMy0xMSAwMDo1ODowOC4z
 MDcxODYyMDIgKzEwMzAKK0BAIC02LDE0ICs2LDE0IEBACisgIyAgICBEZW55SG9zdHMgZGFlbW9u
 IHRvIGJsb2NrIHNzaCBhdHRlbXB0cworICMKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIworLQorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVu
 Y3Rpb24KKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwog
 ICMjIyMgRWRpdCB0aGVzZSB0byBzdWl0IHlvdXIgY29uZmlndXJhdGlvbiAjIyMjCiAgIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAKQEAgLTE0LDUgKzE3
 LDY1IEBACiArREVOWUhPU1RTX0xPQ0sgID0gIi92YXIvcnVuL2Rlbnlob3N0cyIKICtERU5ZSE9T
 VFNfQ0ZHICAgPSAiJSVQUkVGSVglJS9zaGFyZS9kZW55aG9zdHMvZGVueWhvc3RzLmNmZyIKICAK
 KyBQWVRIT05fQklOICAgICAgPSAiL3Vzci9iaW4vZW52IHB5dGhvbiIKICAKLSAjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworQEAgLTM1LDExICszNSwxMSBA
 QAorIFNUQVRFX0xPQ0tfRVhJU1RTID0gLTIKKyAKKyBkZWYgdXNhZ2UoKToKKy0gICAgcHJpbnQg
 IlVzYWdlOiAlcyB7c3RhcnQgW2FyZ3MuLi5dIHwgc3RvcCB8IHJlc3RhcnQgW2FyZ3MuLi5dIHwg
 c3RhdHVzIHwgZGVidWcgfCBjb25kcmVzdGFydCBbYXJncy4uLl0gfSIgJSBzeXMuYXJndlswXQor
 LSAgICBwcmludAorLSAgICBwcmludCAiRm9yIGEgbGlzdCBvZiB2YWxpZCAnYXJncycgcmVmZXIg
 dG86IgorLSAgICBwcmludCAiJCBkZW55aG9zdHMucHkgLS1oZWxwIgorLSAgICBwcmludAorKyAg
 ICBwcmludCgiVXNhZ2U6ICVzIHtzdGFydCBbYXJncy4uLl0gfCBzdG9wIHwgcmVzdGFydCBbYXJn
 cy4uLl0gfCBzdGF0dXMgfCBkZWJ1ZyB8IGNvbmRyZXN0YXJ0IFthcmdzLi4uXSB9IiAlIHN5cy5h
 cmd2WzBdKQorKyAgICBwcmludCgpCisrICAgIHByaW50KCJGb3IgYSBsaXN0IG9mIHZhbGlkICdh
 cmdzJyByZWZlciB0bzoiKQorKyAgICBwcmludCgiJCBkZW55aG9zdHMucHkgLS1oZWxwIikKKysg
 ICAgcHJpbnQoKQorICAgICBzeXMuZXhpdCgwKSAKKyAKKyAKK0BAIC03NCw3ICs3NCw3IEBACisg
 ICAgIGNtZCA9ICIlcyAtLWRhZW1vbiAiICUgREVOWUhPU1RTX0JJTgorICAgICBpZiBhcmdzOiBj
 bWQgKz0gJyAnLmpvaW4oYXJncykKKyAgICAgICAgIAorLSAgICBwcmludCAic3RhcnRpbmcgRGVu
 eUhvc3RzOiAgICIsIGNtZAorKyAgICBwcmludCgic3RhcnRpbmcgRGVueUhvc3RzOiAgICIsIGNt
 ZCkKKyAKKyAgICAgb3Muc3lzdGVtKGNtZCkKKyAKK0BAIC04MywyNiArODMsMjYgQEAKKyAgICAg
 cGlkID0gZ2V0cGlkKCkKKyAgICAgaWYgcGlkID49IDA6CisgICAgICAgICBvcy5raWxsKHBpZCwg
 c2lnbmFsLlNJR1RFUk0pCistICAgICAgICBwcmludCAic2VudCBEZW55SG9zdHMgU0lHVEVSTSIK
 KysgICAgICAgIHByaW50KCJzZW50IERlbnlIb3N0cyBTSUdURVJNIikKKyAgICAgZWxzZToKKy0g
 ICAgICAgIHByaW50ICJEZW55SG9zdHMgaXMgbm90IHJ1bm5pbmciCisrICAgICAgICBwcmludCgi
 RGVueUhvc3RzIGlzIG5vdCBydW5uaW5nIikKKyAKKyBkZWYgZGVidWcoKToKKyAgICAgcGlkID0g
 Z2V0cGlkKCkKKyAgICAgaWYgcGlkID49IDA6CisgICAgICAgICBvcy5raWxsKHBpZCwgc2lnbmFs
 LlNJR1VTUjEpCistICAgICAgICBwcmludCAic2VudCBEZW55SG9zdHMgU0lHVVNSMSIKKysgICAg
 ICAgIHByaW50KCJzZW50IERlbnlIb3N0cyBTSUdVU1IxIikKKyAgICAgZWxzZToKKy0gICAgICAg
 IHByaW50ICJEZW55SG9zdHMgaXMgbm90IHJ1bm5pbmciCisrICAgICAgICBwcmludCgiRGVueUhv
 c3RzIGlzIG5vdCBydW5uaW5nIikKKyAgICAgICAgIAorIGRlZiBzdGF0dXMoKToKKyAgICAgcGlk
 ID0gZ2V0cGlkKCkKKyAgICAgaWYgcGlkID09IFNUQVRFX0xPQ0tfRVhJU1RTOgorLSAgICAgICAg
 cHJpbnQgIiVzIGV4aXN0cyBidXQgRGVueUhvc3RzIGlzIG5vdCBydW5uaW5nIiAlIERFTllIT1NU
 U19MT0NLCisrICAgICAgICBwcmludCgiJXMgZXhpc3RzIGJ1dCBEZW55SG9zdHMgaXMgbm90IHJ1
 bm5pbmciICUgREVOWUhPU1RTX0xPQ0spCisgICAgIGVsaWYgcGlkID09IFNUQVRFX05PVF9SVU5O
 SU5HOgorLSAgICAgICAgcHJpbnQgIkRlbnlob3N0cyBpcyBub3QgcnVubmluZyIKKysgICAgICAg
 IHByaW50KCJEZW55aG9zdHMgaXMgbm90IHJ1bm5pbmciKQorICAgICBlbHNlOgorLSAgICAgICAg
 cHJpbnQgIkRlbnlIb3N0cyBpcyBydW5uaW5nIHdpdGggcGlkID0gJWQiICUgcGlkCisrICAgICAg
 ICBwcmludCgiRGVueUhvc3RzIGlzIHJ1bm5pbmcgd2l0aCBwaWQgPSAlZCIgJSBwaWQpCisgCisg
 CisgZGVmIGNvbmRyZXN0YXJ0KCphcmdzKToKSW5kZXg6IGZpbGVzL3BhdGNoLWRlbnlob3N0cy5j
 ZmctZGlzdAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1kZW55aG9zdHMuY2ZnLWRpc3QJKHJl
 dmlzaW9uIDM1MTA1NykKKysrIGZpbGVzL3BhdGNoLWRlbnlob3N0cy5jZmctZGlzdAkod29ya2lu
 ZyBjb3B5KQpAQCAtMSw4ICsxLDUgQEAKLQotJEZyZWVCU0QkCi0KLS0tLSBkZW55aG9zdHMuY2Zn
 LWRpc3Qub3JpZwotKysrIGRlbnlob3N0cy5jZmctZGlzdAorLS0tIC4vZGVueWhvc3RzLmNmZy1k
 aXN0Lm9yaWcJMjAwNi0wOC0yMCAyMzozOTo1Ny4wMDAwMDAwMDAgKzA5MzAKKysrKyAuL2Rlbnlo
 b3N0cy5jZmctZGlzdAkyMDE0LTAzLTExIDAwOjU4OjA4LjMwNzE4NjIwMiArMTAzMAogQEAgLTks
 MTAgKzksMTAgQEAKICAjIGFyZ3VtZW50CiAgIwpJbmRleDogZmlsZXMvcGF0Y2gtZGVueWhvc3Rz
 LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLWRlbnlob3N0cy5weQkocmV2aXNpb24gMCkK
 KysrIGZpbGVzL3BhdGNoLWRlbnlob3N0cy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEx
 OCBAQAorLS0tIC4vZGVueWhvc3RzLnB5Lm9yaWcJMjAwNi0wNy0wOSAwMDowMjo0NS4wMDAwMDAw
 MDAgKzA5MzAKKysrKyAuL2Rlbnlob3N0cy5weQkyMDE0LTAzLTExIDAwOjU4OjA4LjI2MzE4NTc5
 MyArMTAzMAorQEAgLTEsNCArMSw1IEBACisgIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisrZnJvbSBf
 X2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBvcworIGltcG9ydCBzeXMK
 KyAKK0BAIC0yMiwyNiArMjMsMjYgQEAKKyAKKyAKKyBkZWYgdXNhZ2UoKToKKy0gICAgcHJpbnQg
 IlVzYWdlOiIKKy0gICAgcHJpbnQgIiVzIFstZiBsb2dmaWxlIHwgLS1maWxlPWxvZ2ZpbGVdIFsg
 LWMgY29uZmlnZmlsZSB8IC0tY29uZmlnPWNvbmZpZ2ZpbGVdIFstaSB8IC0taWdub3JlXSBbLW4g
 fCAtLW5vZW1haWxdIFstLXB1cmdlXSBbLS1taWdyYXRlXSBbLS1kYWVtb25dIFstLXN5bmNdIFst
 LXZlcnNpb25dIiAlIHN5cy5hcmd2WzBdCistICAgIHByaW50CistICAgIHByaW50CistICAgIHBy
 aW50ICIgLS1maWxlOiAgIFRoZSBuYW1lIG9mIGxvZyBmaWxlIHRvIHBhcnNlIgorLSAgICBwcmlu
 dCAiIC0taWdub3JlOiBJZ25vcmUgbGFzdCBwcm9jZXNzZWQgb2Zmc2V0IChzdGFydCBwcm9jZXNz
 aW5nIGZyb20gYmVnaW5uaW5nKSIKKy0gICAgcHJpbnQgIiAtLW5vZW1haWw6IERvIG5vdCBzZW5k
 IGFuIGVtYWlsIHJlcG9ydCIKKy0gICAgcHJpbnQgIiAtLXVubG9jazogaWYgbG9ja2ZpbGUgZXhp
 c3RzLCByZW1vdmUgaXQgYW5kIHJ1biBhcyBub3JtYWwiCistICAgIHByaW50ICIgLS1taWdyYXRl
 OiBtaWdyYXRlIHlvdXIgSE9TVFNfREVOWSBmaWxlIHNvIHRoYXQgaXQgaXMgc3VpdGFibGUgZm9y
 IC0tcHVyZ2UiCistICAgIHByaW50ICIgLS1wdXJnZTogZXhwaXJlIGVudHJpZXMgb2xkZXIgdGhh
 biB5b3VyIFBVUkdFX0RFTlkgc2V0dGluZyIKKy0gICAgcHJpbnQgIiAtLWRhZW1vbjogcnVuIERl
 bnlIb3N0cyBpbiBkYWVtb24gbW9kZSIKKy0gICAgcHJpbnQgIiAtLXN5bmM6IHJ1biBEZW55SG9z
 dHMgc3luY2hyb25pemF0aW9uIG1vZGUiCistICAgIHByaW50ICIgLS12ZXJzaW9uOiBQcmludHMg
 dGhlIHZlcnNpb24gb2YgRGVueUhvc3RzIGFuZCBleGl0cyIKKysgICAgcHJpbnQoIlVzYWdlOiIp
 CisrICAgIHByaW50KCIlcyBbLWYgbG9nZmlsZSB8IC0tZmlsZT1sb2dmaWxlXSBbIC1jIGNvbmZp
 Z2ZpbGUgfCAtLWNvbmZpZz1jb25maWdmaWxlXSBbLWkgfCAtLWlnbm9yZV0gWy1uIHwgLS1ub2Vt
 YWlsXSBbLS1wdXJnZV0gWy0tbWlncmF0ZV0gWy0tZGFlbW9uXSBbLS1zeW5jXSBbLS12ZXJzaW9u
 XSIgJSBzeXMuYXJndlswXSkKKysgICAgcHJpbnQoKQorKyAgICBwcmludCgpCisrICAgIHByaW50
 KCIgLS1maWxlOiAgIFRoZSBuYW1lIG9mIGxvZyBmaWxlIHRvIHBhcnNlIikKKysgICAgcHJpbnQo
 IiAtLWlnbm9yZTogSWdub3JlIGxhc3QgcHJvY2Vzc2VkIG9mZnNldCAoc3RhcnQgcHJvY2Vzc2lu
 ZyBmcm9tIGJlZ2lubmluZykiKQorKyAgICBwcmludCgiIC0tbm9lbWFpbDogRG8gbm90IHNlbmQg
 YW4gZW1haWwgcmVwb3J0IikKKysgICAgcHJpbnQoIiAtLXVubG9jazogaWYgbG9ja2ZpbGUgZXhp
 c3RzLCByZW1vdmUgaXQgYW5kIHJ1biBhcyBub3JtYWwiKQorKyAgICBwcmludCgiIC0tbWlncmF0
 ZTogbWlncmF0ZSB5b3VyIEhPU1RTX0RFTlkgZmlsZSBzbyB0aGF0IGl0IGlzIHN1aXRhYmxlIGZv
 ciAtLXB1cmdlIikKKysgICAgcHJpbnQoIiAtLXB1cmdlOiBleHBpcmUgZW50cmllcyBvbGRlciB0
 aGFuIHlvdXIgUFVSR0VfREVOWSBzZXR0aW5nIikKKysgICAgcHJpbnQoIiAtLWRhZW1vbjogcnVu
 IERlbnlIb3N0cyBpbiBkYWVtb24gbW9kZSIpCisrICAgIHByaW50KCIgLS1zeW5jOiBydW4gRGVu
 eUhvc3RzIHN5bmNocm9uaXphdGlvbiBtb2RlIikKKysgICAgcHJpbnQoIiAtLXZlcnNpb246IFBy
 aW50cyB0aGUgdmVyc2lvbiBvZiBEZW55SG9zdHMgYW5kIGV4aXRzIikKKyAgICAgCistICAgIHBy
 aW50CistICAgIHByaW50ICJOb3RlOiBtdWx0aXBsZSAtLWZpbGUgYXJncyBjYW4gYmUgcHJvY2Vz
 c2VkLiAiLAorLSAgICBwcmludCAiSWYgbXVsdGlwbGUgZmlsZXMgYXJlIHByb3ZpZGVkLCAtLWln
 bm9yZSBpcyBpbXBsaWVkIgorLSAgICBwcmludAorLSAgICBwcmludCAiV2hlbiBydW4gaW4gLS1k
 YWVtb24gbW9kZSB0aGUgZm9sbG93aW5nIGZsYWdzIGFyZSBpZ25vcmVkOiIKKy0gICAgcHJpbnQg
 IiAgICAgLS1maWxlLCAtLXB1cmdlLCAtLW1pZ3JhdGUsIC0tc3luYywgLS12ZXJib3NlIgorKyAg
 ICBwcmludCgpCisrICAgIHByaW50KCJOb3RlOiBtdWx0aXBsZSAtLWZpbGUgYXJncyBjYW4gYmUg
 cHJvY2Vzc2VkLiAiKQorKyAgICBwcmludCgiSWYgbXVsdGlwbGUgZmlsZXMgYXJlIHByb3ZpZGVk
 LCAtLWlnbm9yZSBpcyBpbXBsaWVkIikKKysgICAgcHJpbnQoKQorKyAgICBwcmludCgiV2hlbiBy
 dW4gaW4gLS1kYWVtb24gbW9kZSB0aGUgZm9sbG93aW5nIGZsYWdzIGFyZSBpZ25vcmVkOiIpCisr
 ICAgIHByaW50KCIgICAgIC0tZmlsZSwgLS1wdXJnZSwgLS1taWdyYXRlLCAtLXN5bmMsIC0tdmVy
 Ym9zZSIpCisgCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitAQCAtNzIsNyArNzMsNyBA
 QAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1pZ3JhdGUiLCAi
 cHVyZ2UiLCAiZGFlbW9uIiwgInN5bmMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgInVwZ3JhZGUwOTkiXSkKKyAgICAgZXhjZXB0OgorLSAgICAgICAgcHJpbnQg
 IlxuSW52YWxpZCBjb21tYW5kIGxpbmUgb3B0aW9uIGRldGVjdGVkLiIKKysgICAgICAgIHByaW50
 KCJcbkludmFsaWQgY29tbWFuZCBsaW5lIG9wdGlvbiBkZXRlY3RlZC4iKQorICAgICAgICAgdXNh
 Z2UoKQorICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgCitAQCAtMTAzLDcgKzEwNCw3IEBACisg
 ICAgICAgICBpZiBvcHQgPT0gJy0tdXBncmFkZTA5OSc6CisgICAgICAgICAgICAgdXBncmFkZTA5
 OSA9IDEKKyAgICAgICAgIGlmIG9wdCA9PSAnLS12ZXJzaW9uJzoKKy0gICAgICAgICAgICBwcmlu
 dCAiRGVueUhvc3RzIHZlcnNpb246IiwgVkVSU0lPTgorKyAgICAgICAgICAgIHByaW50KCJEZW55
 SG9zdHMgdmVyc2lvbjoiLCBWRVJTSU9OKQorICAgICAgICAgICAgIHN5cy5leGl0KDApCisgCisg
 ICAgIHByZWZzID0gUHJlZnMoY29uZmlnX2ZpbGUpICAgIAorQEAgLTExMiw5ICsxMTMsOSBAQAor
 ICAgICB0cnk6CisgICAgICAgICBvcy5tYWtlZGlycyhwcmVmcy5nZXQoJ1dPUktfRElSJykpCisg
 ICAgICAgICBmaXJzdF90aW1lID0gMQorLSAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorLSAgICAg
 ICAgaWYgZVswXSAhPSAxNzoKKy0gICAgICAgICAgICBwcmludCBlCisrICAgIGV4Y2VwdCBFeGNl
 cHRpb24gYXMgZToKKysgICAgICAgIGlmIGUuYXJnc1swXSAhPSAxNzoKKysgICAgICAgICAgICBw
 cmludChlKQorICAgICAgICAgICAgIHN5cy5leGl0KDEpCisgCisgICAgIHNldHVwX2xvZ2dpbmco
 cHJlZnMsIGVuYWJsZV9kZWJ1ZywgdmVyYm9zZSwgZGFlbW9uKQorQEAgLTE1NCw3ICsxNTUsNyBA
 QAorICAgICAgICAgICAgICAgICBwID0gUHVyZ2UocHJlZnMsIAorICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgcHVyZ2VfdGltZSkKKyAKKy0gICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBl
 OgorKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICAg
 bG9ja19maWxlLnJlbW92ZSgpCisgICAgICAgICAgICAgICAgIGRpZShzdHIoZSkpCisgCitAQCAt
 MTYyLDExICsxNjMsMTEgQEAKKyAgICAgICAgIGZvciBmIGluIGxvZ2ZpbGVzOgorICAgICAgICAg
 ICAgIGRoID0gRGVueUhvc3RzKGYsIHByZWZzLCBsb2NrX2ZpbGUsIGlnbm9yZV9vZmZzZXQsCisg
 ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RfdGltZSwgbm9lbWFpbCwgZGFlbW9uKQor
 LSAgICBleGNlcHQgU3lzdGVtRXhpdCwgZToKKysgICAgZXhjZXB0IFN5c3RlbUV4aXQgYXMgZToK
 KyAgICAgICAgIHBhc3MKKy0gICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgZXhjZXB0IEV4
 Y2VwdGlvbiBhcyBlOgorICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YyhmaWxlPXN5cy5zdGRv
 dXQpCistICAgICAgICBwcmludCAiXG5EZW55SG9zdHMgZXhpdGVkIGFibm9ybWFsbHkiCisrICAg
 ICAgICBwcmludCgiXG5EZW55SG9zdHMgZXhpdGVkIGFibm9ybWFsbHkiKQorIAorIAorICAgICBp
 ZiBzeW5jX21vZGUgYW5kIG5vdCBkYWVtb246CitAQCAtMTg5LDcgKzE5MCw3IEBACisgICAgICAg
 ICAgICAgICAgICAgICBzeW5jLmdldF9kZW5pZWRfaG9zdHMoKQorICAgICAgICAgICAgICAgICAg
 ICAgc3luYy51cGRhdGVfaG9zdHNfZGVueShuZXdfaG9zdHMpCisgICAgICAgICAgICAgc3luYy54
 bWxycGNfZGlzY29ubmVjdCgpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAg
 ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIGxvY2tfZmlsZS5yZW1vdmUo
 KQorICAgICAgICAgICAgIGRpZSgiRXJyb3Igc3luY2hyb25pemluZyBkYXRhIiwgZSkKKyAgICAg
 ICAgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtZGVueWhvc3RzLnB5Cl9fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5v
 IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMgLTAs
 MCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjpl
 b2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv
 cGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLXBsdWdpbnNfX3Rlc3RfZGVueS5weQo9PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 Ci0tLSBmaWxlcy9wYXRjaC1wbHVnaW5zX190ZXN0X2RlbnkucHkJKHJldmlzaW9uIDApCisrKyBm
 aWxlcy9wYXRjaC1wbHVnaW5zX190ZXN0X2RlbnkucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
 MSwxMCBAQAorLS0tIC4vcGx1Z2lucy90ZXN0X2RlbnkucHkub3JpZwkyMDA1LTEyLTE3IDA5OjE1
 OjAxLjAwMDAwMDAwMCArMTAzMAorKysrIC4vcGx1Z2lucy90ZXN0X2RlbnkucHkJMjAxNC0wMy0x
 MSAwMDo1ODowOC4yODMxODU3MzYgKzEwMzAKK0BAIC0xLDUgKzEsNiBAQAorICMhL3Vzci9iaW4v
 cHl0aG9uCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBz
 eXMKKyAKKy1wcmludCAiJXMgaW52b2tlZCB3aXRoIHRoZSBmb2xsb3dpbmcgYXJnczogJXMiICUg
 KHN5cy5hcmd2WzBdLCBzeXMuYXJndlsxOl0pCisrcHJpbnQoIiVzIGludm9rZWQgd2l0aCB0aGUg
 Zm9sbG93aW5nIGFyZ3M6ICVzIiAlIChzeXMuYXJndlswXSwgc3lzLmFyZ3ZbMTpdKSkKKyBzeXMu
 ZXhpdCgwKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtcGx1Z2luc19fdGVzdF9k
 ZW55LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 X19fX19fX19fX19fX19fX18KQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5
 ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj
 IyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRl
 ZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBh
 dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3RyaWN0ZWRf
 ZnJvbV9pbnZhbGlkLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3Ry
 aWN0ZWRfZnJvbV9pbnZhbGlkLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtc2NyaXB0
 c19fcmVzdHJpY3RlZF9mcm9tX2ludmFsaWQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
 NyBAQAorLS0tIC4vc2NyaXB0cy9yZXN0cmljdGVkX2Zyb21faW52YWxpZC5weS5vcmlnCTIwMDYt
 MDItMTAgMDQ6MTY6MDYuMDAwMDAwMDAwICsxMDMwCisrKysgLi9zY3JpcHRzL3Jlc3RyaWN0ZWRf
 ZnJvbV9pbnZhbGlkLnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMjg0MTg2MDI4ICsxMDMwCitAQCAt
 MSwxNCArMSwxNSBAQAorICMhL2Jpbi9lbnYgcHl0aG9uCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9y
 dCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBvcywgc3lzCisgCisgZGVmIHVzYWdlKCk6CistICAg
 IHByaW50ICIlcyBXT1JLX0RJUiBbbnVtX3Jlc3VsdHNdIiAlIHN5cy5hcmd2WzBdCisrICAgIHBy
 aW50KCIlcyBXT1JLX0RJUiBbbnVtX3Jlc3VsdHNdIiAlIHN5cy5hcmd2WzBdKQorICAgICBzeXMu
 ZXhpdCgxKQorIAorIHRyeToKKyAgICAgd29ya19kaXIgPSBzeXMuYXJndlsxXQorIGV4Y2VwdDoK
 Ky0gICAgcHJpbnQgInlvdSBtdXN0IHNwZWNpZnkgeW91ciBEZW55SG9zdHMgV09SS19ESVIiCisr
 ICAgIHByaW50KCJ5b3UgbXVzdCBzcGVjaWZ5IHlvdXIgRGVueUhvc3RzIFdPUktfRElSIikKKyAg
 ICAgdXNhZ2UoKQorIAorIHRyeTogCitAQCAtMjEsNyArMjIsNyBAQAorIHRyeToKKyAgICAgZnAg
 PSBvcGVuKGZuYW1lLCAiciIpCisgZXhjZXB0OgorLSAgICBwcmludCBmbmFtZSwgImRvZXMgbm90
 IGV4aXN0IgorKyAgICBwcmludChmbmFtZSwgImRvZXMgbm90IGV4aXN0IikKKyAgICAgc3lzLmV4
 aXQoMSkKKyAKKyBkID0ge30KK0BAIC01MCw2ICs1MSw2IEBACisgICAgIGwgPSBkLmdldChrZXkp
 CisgICAgIGZvciB1c2VybmFtZSBpbiBsOgorICAgICAgICAgaSArPSAxCistICAgICAgICBwcmlu
 dCB1c2VybmFtZQorKyAgICAgICAgcHJpbnQodXNlcm5hbWUpCisgICAgICAgICBpZiBpID49IG51
 bTogYnJlYWsKKyAgICAgaWYgaSA+PSBudW06IGJyZWFrCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBm
 aWxlcy9wYXRjaC1zY3JpcHRzX19yZXN0cmljdGVkX2Zyb21faW52YWxpZC5weQpfX19fX19fX19f
 X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
 CkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMgLTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBh
 dCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0
 aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjptaW1lLXR5cGUK
 IyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5
 CkluZGV4OiBmaWxlcy9wYXRjaC1zY3JpcHRzX19yZXN0cmljdGVkX2Zyb21fcGFzc3dkLnB5Cj09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3RyaWN0ZWRfZnJvbV9wYXNzd2Qu
 cHkJKHJldmlzaW9uIDM1MTA1NykKKysrIGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3RyaWN0ZWRf
 ZnJvbV9wYXNzd2QucHkJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzEsMjEgQEAKLS0tLSAuL3Nj
 cmlwdHMvcmVzdHJpY3RlZF9mcm9tX3Bhc3N3ZC5weS5vcmlnCTIwMTMtMTItMjggMTg6NTE6NDEu
 MDAwMDAwMDAwICswMTAwCi0rKysgLi9zY3JpcHRzL3Jlc3RyaWN0ZWRfZnJvbV9wYXNzd2QucHkJ
 MjAxMy0xMi0yOCAxODo1MTo0MS4wMDAwMDAwMDAgKzAxMDAKLUBAIC0xMiw2ICsxMiw3IEBACist
 LS0gLi9zY3JpcHRzL3Jlc3RyaWN0ZWRfZnJvbV9wYXNzd2QucHkub3JpZwkyMDE0LTAzLTExIDAw
 OjIzOjExLjM5ODE4NjI3NiArMTAzMAorKysrIC4vc2NyaXB0cy9yZXN0cmljdGVkX2Zyb21fcGFz
 c3dkLnB5CTIwMTQtMDMtMTEgMDA6MjM6MjQuODc1MTg2MjEzICsxMDMwCitAQCAtMTAsOCArMTAs
 OCBAQAorICMgd2hlcmUgJFdPUktfRElSIGlzIHlvdXIgRGVueUhvc3RzIFdPUktfRElSIHBhcmFt
 ZXRlcgorICMKICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
 IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gCi0gUkVTVFJJQ1RFRF9TSEVMTFMgPSAo
 Ii9zYmluL25vbG9naW4iLAotKyAgICAgICAgICAgICAgICAgICAgICIvdXNyL3NiaW4vbm9sb2dp
 biIsCistCistUkVTVFJJQ1RFRF9TSEVMTFMgPSAoIi9zYmluL25vbG9naW4iLAorK2Zyb20gX19m
 dXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KKytSRVNUUklDVEVEX1NIRUxMUyA9ICgiL3Vz
 ci9zYmluL25vbG9naW4iLAogICAgICAgICAgICAgICAgICAgICAgICIvc2Jpbi9zaHV0ZG93biIs
 CiAgICAgICAgICAgICAgICAgICAgICAgIi9zYmluL2hhbHQiKQogIAorQEAgLTI2LDYgKzI2LDYg
 QEAKKyAKKyB1c2VybmFtZXMuc29ydCgpCisgZm9yIHVzZXJuYW1lIGluIHVzZXJuYW1lczoKKy0g
 ICAgcHJpbnQgdXNlcm5hbWUKKysgICAgcHJpbnQodXNlcm5hbWUpCisgICAgIAorICAgICAgICAg
 ICAgICAgICAgICAgIAo=
 --f46d0434394a214ba904f6ced211--


More information about the freebsd-ports-bugs mailing list