From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-f195.google.com ([209.85.214.195]:38066 "EHLO mail-pl1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727618AbeKUEBQ (ORCPT ); Tue, 20 Nov 2018 23:01:16 -0500 Received: by mail-pl1-f195.google.com with SMTP id e5so1336045plb.5 for ; Tue, 20 Nov 2018 09:30:58 -0800 (PST) MIME-Version: 1.0 References: <20181119185213.GA29256@flashbox> <20181119192059.GA31554@flashbox> <20181120074807.GB15276@kroah.com> <20181120112624.GA12353@flashbox> <20181120120725.GC14861@kroah.com> <20181120164601.GA12648@flashbox> <20181120165220.GB28164@kroah.com> In-Reply-To: <20181120165220.GB28164@kroah.com> From: Nick Desaulniers Date: Tue, 20 Nov 2018 09:30:45 -0800 Message-ID: Subject: Re: Clang backports for 4.9 and 4.4 To: Greg KH Cc: Nathan Chancellor , stable@vger.kernel.org, Sandeep Patil , Matthias Kaehlcke , Alistair Strachan Content-Type: multipart/mixed; boundary="0000000000000e3373057b1bff71" Sender: stable-owner@vger.kernel.org List-ID: --0000000000000e3373057b1bff71 Content-Type: text/plain; charset="UTF-8" 4.9 mbox series attached. Thanks Greg! On Tue, Nov 20, 2018 at 8:52 AM Greg KH wrote: > > On Tue, Nov 20, 2018 at 09:46:01AM -0700, Nathan Chancellor wrote: > > On Tue, Nov 20, 2018 at 01:07:25PM +0100, Greg KH wrote: > > > On Tue, Nov 20, 2018 at 04:26:24AM -0700, Nathan Chancellor wrote: > > > > On Tue, Nov 20, 2018 at 08:48:07AM +0100, Greg KH wrote: > > > > > On Mon, Nov 19, 2018 at 03:13:47PM -0800, Nick Desaulniers wrote: > > > > > > On Mon, Nov 19, 2018 at 11:21 AM Nathan Chancellor > > > > > > wrote: > > > > > > > > > > > > > > On Mon, Nov 19, 2018 at 11:17:15AM -0800, Nick Desaulniers wrote: > > > > > > > > On Mon, Nov 19, 2018 at 10:52 AM Nathan Chancellor > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > On Mon, Nov 19, 2018 at 10:31:35AM -0800, Nick Desaulniers wrote: > > > > > > > > > > Greg, > > > > > > > > > > I'm in the process of preparing backports for building 4.9 and 4.4 > > > > > > > > > > kernels with Clang. Going off of mka's very helpful: > > > > > > > > > > https://lkml.org/lkml/2017/11/22/943, I've prepared the list of SHA's > > > > > > > > > > that were marked UPSTREAM (internal convention used to denote patch > > > > > > > > > > applies cleanly): > > > > > > > > > > https://gist.github.com/nickdesaulniers/fe995f4b7c52af8de1a283c0a53562d9. > > > > > > > > > > But it seems that some of these shas no longer apply cleanly. I was > > > > > > > > > > thus curious: > > > > > > > > > > > > > > > > > > > > 1. May I send you a pull request with the patches properly backported? > > > > > > > > > > I'm happy to do the work, just want a green light before backporting > > > > > > > > > > all of these patches. > > > > > > > > > > 2. Should I denote in any way if I had to modify any patch to get it > > > > > > > > > > to apply cleanly? This helps in code review, IMO. If so, what > > > > > > > > > > convention should I use? > > > > > > > > > > > > Greg, > > > > > > Would you please cherry pick the following 26 patches from mainline to > > > > > > 4.9.y stable branch? (applied top to bottom) > > > > > > > > > > > > I verified that they cherry-pick cleanly, and boot on x86_64 and > > > > > > arm64. I will follow up with more patches cleaning up the warnings, > > > > > > adding arm 32b support, and the backport patches themselves when they > > > > > > do not cherry pick cleanly. > > > > > > https://travis-ci.com/nickdesaulniers/continuous-integration/builds/91934518 > > > > > > > > > > > > 785f11aa595bc3d4e74096cbd598ada54ecc0d81 > > > > > > a37c45cd82e62a361706b9688a984a3a63957321 > > > > > > ebf003f0cfb3705e60d40dedc3ec949176c741af > > > > > > 7dd47b95b0f54f2057d40af6e66d477e3fe95d13 > > > > > > cf0c3e68aa81f992b0301f62e341b710d385bf68 > > > > > > > > > > > > a0ae981eba8f07dbc74bce38fd3a462b69a5bc8e > > > > > > c3f0d0bc5b01ad90c45276952802455750444b4f > > > > > > 6748cb3c299de1ffbe56733647b01dbcc398c419 > > > > > > 433db3e260bc8134d4a46ddf20b3668937e12556 > > > > > > 1f318a8bafcfba9f0d623f4870c4e890fd22e659 > > > > > > > > > > > > 2c4fd1ac3ff167c91272dc43c7bfd2269ef61557 > > > > > > fdb2726f4e61c5e3abc052f547d5a5f6c0dc5504 > > > > > > 9f3f1fd299768782465cb32cdf0dd4528d11f26b > > > > > > 032a2c4f65a2f81c93e161a11197ba19bc14a909 > > > > > > d77698df39a512911586834d303275ea5fda74d0 > > > > > > > > > > > > bfb38988c51e440fd7062ddf3157f7d8b1dd5d70 > > > > > > f4857f4c2ee9aa4e2aacac1a845352b00197fb57 > > > > > > 18d5e6c34a8eda438d5ad8b3b15f42dab01bf05d > > > > > > 760b61d76da6d6a99eb245ab61abf71ca5415cea > > > > > > 0426a4e68f18d75515414361de9e3e1445d2644e > > > > > > > > > > > > 696204faa6e8a318320ebb49d9fa69bc8275644d > > > > > > 91ee5b21ee026c49e4e7483de69b55b8b47042be > > > > > > 8f91869766c00622b2eaa8ee567db4f333b78c1a > > > > > > 9e8730b178a2472fca3123e909d6e69cc8127778 > > > > > > 8c97023cf0518f172b8cb7a9fffc28b89401abbf > > > > > > > > > > > > d135b8b5060ea91dd751ff172d179eb4eab1e966 > > > > > > > > > > Ok, while I did say having a list of git commit ids was ok, I didn't > > > > > realize it was going to be this long :) > > > > > > > > > > If you do have a tested set of patches like this already in your tree, I > > > > > would be more than willing to take a git pull request or a mbox of them > > > > > all, and apply them that way. > > > > > > > > > > As for the format of them, look at how David Miller sends networking > > > > > mbox files, with the "upstream commit" line as the first line of the > > > > > patch, so that we know where the patch came from. > > > > > > > > > > Also, it gives me a better way to review them and see if these really > > > > > are sane enough for the stable tree. > > > > > > > > > > For 4.9 I can sort of understand the request, but for 4.4, that is > > > > > really old now, and no one should be making new devices with that kernel > > > > > release (same for 4.9, but yeah, I know...) So I doubt anyone cares > > > > > about clang backports for 4.4 which is why I only accepted a few tiny > > > > > patches for that in the past into that tree. > > > > > > > > > > thanks, > > > > > > > > > > greg k-h > > > > > > > > Hi Greg, > > > > > > > > While the number of commits seems rather high, all together they are a > > > > rather small set of changes. It's mostly just shuffling around and > > > > extending what is already there. > > > > > > > > Here is an mbox file with all of the patches properly backported with > > > > their respective commit IDs if you would like to do a quick review (and > > > > I think I did this right...). We have verified that it allows both an > > > > arm64 and an x86_64 kernel to boot in QEMU with Clang. > > > > > > > > https://travis-ci.com/ClangBuiltLinux/continuous-integration/jobs/159683234 > > > > https://travis-ci.com/ClangBuiltLinux/continuous-integration/jobs/159683235 > > > > > > Your git list above says "4.9", but the mbox says "4.4", so I'm > > > confused. Which tree is this mbox for? > > > > > > thanks, > > > > > > greg k-h > > > > Sorry, I should have been clearer. Earlier in the thread, I stated that > > I did the backports for 4.4 and Nick was going to do them for 4.9. The > > patches are sitting in our continuous integration repo but I don't want > > to step on his toes so I'll let him send them. I sent mine out since it > > would be a similar set of changes and wanted to show that even for 4.4, > > it's not a super intrusive set of changes and the work has already been > > done. They should apply cleanly on top of 4.4.163. > > Ok, they look sane. But I need the 4.9 patch set "first", as I don't > want anyone to move from 4.4 to 4.9 or newer and have breakages. > > And the patch format all looks great as well, I can consume this > directly, thank you so much for this. I'll wait for the 4.9 series > before queueing them up. > > thanks, > > greg k-h -- Thanks, ~Nick Desaulniers --0000000000000e3373057b1bff71 Content-Type: application/mbox; name="clang-patches-4.9.mbox" Content-Disposition: attachment; filename="clang-patches-4.9.mbox" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_joq0ldnx0 RnJvbSA4ZTg3MDRiMjAzZDJhM2Y2YjI4MmU5ODYwZTE1NmZhZjlkNDNhZDAzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCZWhhbiBXZWJzdGVyIDxiZWhhbndAY29udmVyc2VpbmNvZGUu Y29tPgpEYXRlOiBGcmksIDIxIEFwciAyMDE3IDExOjIwOjAxIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAwMS8yNl0ga2J1aWxkOiBBZGQgYmV0dGVyIGNsYW5nIGNyb3NzIGJ1aWxkIHN1cHBvcnQKTUlN RS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCmNvbW1pdCA3ODVmMTFhYTU5NWJjM2Q0ZTc0 MDk2Y2JkNTk4YWRhNTRlY2MwZDgxIHVwc3RyZWFtLgoKQWRkIGNyb3NzIHRhcmdldCB0byBDQyBp ZiB1c2luZyBjbGFuZy4gQWxzbyBhZGQgY3VzdG9tIGdjYyB0b29sY2hhaW4KcGF0aCBmb3IgZmFs bGJhY2sgZ2NjIHRvb2xzLgoKQ2xhbmcgd2lsbCBmYWxsYmFjayB0byB1c2luZyB0aGluZ3MgbGlr ZSBsZCwgYXMsIGFuZCBsaWJnY2MgaWYKKHJlc3BlY3RpdmVseSkgb25lIG9mIHRoZSBsbHZtIGxp bmtlcnMgaXNuJ3QgYXZhaWxhYmxlLCB0aGUgaW50ZWdyYXRlZAphc3NlbWJsZXIgaXMgdHVybmVk IG9mZiwgb3IgYW4gYXBwcm9wcmlhdGVseSBjcm9zcy1jb21waWxlZCB2ZXJzaW9uIG9mCmNvbXBp bGVyLXJ0IGlzbid0IGF2YWlsYWJsZS4gVG8gdGhpcyBlbmQsIHlvdSBjYW4gc3BlY2lmeSB0aGUg cGF0aCB0bwp0aGlzIGZhbGxiYWNrIGdjYyB0b29sY2hhaW4gd2l0aCBHQ0NfVE9PTENIQUlOLgoK U2lnbmVkLW9mZi1ieTogQmVoYW4gV2Vic3RlciA8YmVoYW53QGNvbnZlcnNlaW5jb2RlLmNvbT4K UmV2aWV3ZWQtYnk6IEphbi1TaW1vbiBNw7ZsbGVyIDxkbDlwZkBnbXguZGU+ClJldmlld2VkLWJ5 OiBNYXJrIENoYXJsZWJvaXMgPGNoYXJsZWJtQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogR3Jl ZyBIYWNrbWFubiA8Z2hhY2ttYW5uQGdvb2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IE1hdHRoaWFz IEthZWhsY2tlIDxta2FAY2hyb21pdW0ub3JnPgpTaWduZWQtb2ZmLWJ5OiBNYXNhaGlybyBZYW1h ZGEgPHlhbWFkYS5tYXNhaGlyb0Bzb2Npb25leHQuY29tPgpTaWduZWQtb2ZmLWJ5OiBOaWNrIERl c2F1bG5pZXJzIDxuZGVzYXVsbmllcnNAZ29vZ2xlLmNvbT4KLS0tCiBNYWtlZmlsZSB8IDkgKysr KysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvTWFr ZWZpbGUgYi9NYWtlZmlsZQppbmRleCA0MWZlMzAxNGI3MTIuLjhhYjgzNjU0N2RjZSAxMDA2NDQK LS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTcwNCw2ICs3MDQsMTUgQEAgZW5kaWYK IEtCVUlMRF9DRkxBR1MgKz0gJChzdGFja3AtZmxhZykKIAogaWZlcSAoJChjYy1uYW1lKSxjbGFu ZykKK2lmbmVxICgkKENST1NTX0NPTVBJTEUpLCkKK0NMQU5HX1RBUkdFVAk6PSAtdGFyZ2V0ICQo bm90ZGlyICQoQ1JPU1NfQ09NUElMRTolLT0lKSkKK0dDQ19UT09MQ0hBSU4JOj0gJChyZWFscGF0 aCAkKGRpciAkKHNoZWxsIHdoaWNoICQoTEQpKSkvLi4pCitlbmRpZgoraWZuZXEgKCQoR0NDX1RP T0xDSEFJTiksKQorQ0xBTkdfR0NDX1RDCTo9IC1nY2MtdG9vbGNoYWluICQoR0NDX1RPT0xDSEFJ TikKK2VuZGlmCitLQlVJTERfQ0ZMQUdTICs9ICQoQ0xBTkdfVEFSR0VUKSAkKENMQU5HX0dDQ19U QykKK0tCVUlMRF9BRkxBR1MgKz0gJChDTEFOR19UQVJHRVQpICQoQ0xBTkdfR0NDX1RDKQogS0JV SUxEX0NQUEZMQUdTICs9ICQoY2FsbCBjYy1vcHRpb24sLVF1bnVzZWQtYXJndW1lbnRzLCkKIEtC VUlMRF9DUFBGTEFHUyArPSAkKGNhbGwgY2Mtb3B0aW9uLC1Xbm8tdW5rbm93bi13YXJuaW5nLW9w dGlvbiwpCiBLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1kaXNhYmxlLXdhcm5pbmcsIHVudXNl ZC12YXJpYWJsZSkKLS0gCjIuMTkuMS4xMjE1Lmc4NDM4YzBiMjQ1LWdvb2cKCgpGcm9tIDQ5YjFm NzU3ZjFkOTk1YmU1M2FjMWMxZGFkYzRhOTQ5OTBlMjY2MzAgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IE1pY2hhZWwgRGF2aWRzb24gPG1kQGdvb2dsZS5jb20+CkRhdGU6IFR1ZSwgMjUg QXByIDIwMTcgMTU6NDc6MzUgLTA3MDAKU3ViamVjdDogW1BBVENIIDAyLzI2XSBrYnVpbGQ6IGNs YW5nOiBhZGQgLW5vLWludGVncmF0ZWQtYXMgdG8KIEtCVUlMRF9bQUNdRkxBR1MKCmNvbW1pdCBh MzdjNDVjZDgyZTYyYTM2MTcwNmI5Njg4YTk4NGEzYTYzOTU3MzIxIHVwc3RyZWFtLgoKVGhlIExp bnV4IEtlcm5lbCByZWxpZXMgb24gR0NDJ3MgYWNjZXB0YW5jZSBvZiBpbmxpbmUgYXNzZW1ibHkg YXMgYW4Kb3BhcXVlIG9iamVjdCB3aGljaCB3aWxsIG5vdCBoYXZlIGFueSB2YWxpZGF0aW9uIHBl cmZvcm1lZCBvbiB0aGUgY29udGVudC4KVGhlIGN1cnJlbnQgYmVoYXZpb3VyIGluIExMVk0gaXMg dG8gcGVyZm9ybSB2YWxpZGF0aW9uIG9mIHRoZSBjb250ZW50cyBieQptZWFucyBvZiBwYXJzaW5n IHRoZSBpbnB1dCBpZiB0aGUgTUMgbGF5ZXIgY2FuIGhhbmRsZSBpdC4KCkRpc2FibGUgY2xhbmdz IGludGVncmF0ZWQgYXNzZW1ibGVyIGFuZCB1c2UgdGhlIEdOVSBhc3NlbWJsZXIgaW5zdGVhZC4K CldvcmRpbmctbW9zdGx5LWZyb206IFNhbGVlbSBBYmR1bHJhc29vbCA8Y29tcG5lcmRAY29tcG5l cmQub3JnPgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIERhdmlkc29uIDxtZEBnb29nbGUuY29tPgpT aWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBLYWVobGNrZSA8bWthQGNocm9taXVtLm9yZz4KU2lnbmVk LW9mZi1ieTogTWFzYWhpcm8gWWFtYWRhIDx5YW1hZGEubWFzYWhpcm9Ac29jaW9uZXh0LmNvbT4K U2lnbmVkLW9mZi1ieTogTmljayBEZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5jb20+ Ci0tLQogTWFrZWZpbGUgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCgpk aWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCA4YWI4MzY1NDdkY2UuLjBjNDQ1 ODQzYmJiNyAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTcyNSw2ICs3 MjUsOCBAQCBLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1kaXNhYmxlLXdhcm5pbmcsIHRhdXRv bG9naWNhbC1jb21wYXJlKQogIyBTZWUgbW9kcG9zdCBwYXR0ZXJuIDIKIEtCVUlMRF9DRkxBR1Mg Kz0gJChjYWxsIGNjLW9wdGlvbiwgLW1uby1nbG9iYWwtbWVyZ2UsKQogS0JVSUxEX0NGTEFHUyAr PSAkKGNhbGwgY2Mtb3B0aW9uLCAtZmNhdGNoLXVuZGVmaW5lZC1iZWhhdmlvcikKK0tCVUlMRF9D RkxBR1MgKz0gJChjYWxsIGNjLW9wdGlvbiwgLW5vLWludGVncmF0ZWQtYXMpCitLQlVJTERfQUZM QUdTICs9ICQoY2FsbCBjYy1vcHRpb24sIC1uby1pbnRlZ3JhdGVkLWFzKQogZWxzZQogCiAjIFRo ZXNlIHdhcm5pbmdzIGdlbmVyYXRlZCB0b28gbXVjaCBub2lzZSBpbiBhIHJlZ3VsYXIgYnVpbGQu Ci0tIAoyLjE5LjEuMTIxNS5nODQzOGMwYjI0NS1nb29nCgoKRnJvbSA2ZjBiNjlmMzhlYjE0NWJi YWRjYzU5N2NjZDk3ODkwMjUwYzk5MGRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBN YXR0aGlhcyBLYWVobGNrZSA8bWthQGNocm9taXVtLm9yZz4KRGF0ZTogV2VkLCAxMiBBcHIgMjAx NyAxMjo0Mzo1MiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMjZdIGtidWlsZDogQ29uc29saWRh dGUgaGVhZGVyIGdlbmVyYXRpb24gZnJvbSBBU00gb2Zmc2V0CiBpbmZvcm1hdGlvbgoKY29tbWl0 IGViZjAwM2YwY2ZiMzcwNWU2MGQ0MGRlZGMzZWM5NDkxNzZjNzQxYWYgdXBzdHJlYW0uCgpMYXJn ZWx5IHJlZHVuZGFudCBjb2RlIGlzIHVzZWQgaW4gZGlmZmVyZW50IHBsYWNlcyB0byBnZW5lcmF0 ZSBDIGhlYWRlcnMKZnJvbSBvZmZzZXQgaW5mb3JtYXRpb24gZXh0cmFjdGVkIGZyb20gYXNzZW1i bHkgbGFuZ3VhZ2Ugb3V0cHV0LgpDb25zb2xpZGF0ZSB0aGUgY29kZSBpbiBNYWtlZmlsZS5saWIg YW5kIHVzZSB0aGlzIGluc3RlYWQuCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBLYWVobGNrZSA8 bWthQGNocm9taXVtLm9yZz4KU2lnbmVkLW9mZi1ieTogTWFzYWhpcm8gWWFtYWRhIDx5YW1hZGEu bWFzYWhpcm9Ac29jaW9uZXh0LmNvbT4KU2lnbmVkLW9mZi1ieTogTmljayBEZXNhdWxuaWVycyA8 bmRlc2F1bG5pZXJzQGdvb2dsZS5jb20+Ci0tLQogS2J1aWxkICAgICAgICAgICAgICAgICAgICB8 IDI1IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGFyY2gvaWE2NC9rZXJuZWwvTWFrZWZpbGUg fCAyNiArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc2NyaXB0cy9NYWtlZmlsZS5saWIgICAg ICB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNjcmlwdHMvbW9kL01ha2VmaWxl ICAgICAgfCAyOCArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQs IDMyIGluc2VydGlvbnMoKyksIDc1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0tidWlsZCBi L0tidWlsZAppbmRleCAzZDBhZTE1MmFmN2MuLjk0Yzc1Mjc2MmJjMiAxMDA2NDQKLS0tIGEvS2J1 aWxkCisrKyBiL0tidWlsZApAQCAtNywzMSArNyw2IEBACiAjIDQpIENoZWNrIGZvciBtaXNzaW5n IHN5c3RlbSBjYWxscwogIyA1KSBHZW5lcmF0ZSBjb25zdGFudHMucHkgKG1heSBuZWVkIGJvdW5k cy5oKQogCi0jIERlZmF1bHQgc2VkIHJlZ2V4cCAtIG11bHRpbGluZSBkdWUgdG8gc3ludGF4IGNv bnN0cmFpbnRzCi1kZWZpbmUgc2VkLXkKLQkiL14tPi97czotPiNcKC4qXCk6LyogXDEgKi86OyBc Ci0JczpeLT5cKFteIF0qXCkgW1wkJCNdKlwoWy0wLTldKlwpIFwoLipcKTojZGVmaW5lIFwxIFwy IC8qIFwzICovOjsgXAotCXM6Xi0+XChbXiBdKlwpIFtcJCQjXSpcKFteIF0qXCkgXCguKlwpOiNk ZWZpbmUgXDEgXDIgLyogXDMgKi86OyBcCi0JczotPjo6OyBwO30iCi1lbmRlZgotCi0jIFVzZSBm aWxlY2hrIHRvIGF2b2lkIHJlYnVpbGRzIHdoZW4gYSBoZWFkZXIgY2hhbmdlcywgYnV0IHRoZSBy ZXN1bHRpbmcgZmlsZQotIyBkb2VzIG5vdAotZGVmaW5lIGZpbGVjaGtfb2Zmc2V0cwotCShzZXQg LWU7IFwKLQkgZWNobyAiI2lmbmRlZiAkMiI7IFwKLQkgZWNobyAiI2RlZmluZSAkMiI7IFwKLQkg ZWNobyAiLyoiOyBcCi0JIGVjaG8gIiAqIERPIE5PVCBNT0RJRlkuIjsgXAotCSBlY2hvICIgKiI7 IFwKLQkgZWNobyAiICogVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgS2J1aWxkIjsgXAotCSBl Y2hvICIgKi8iOyBcCi0JIGVjaG8gIiI7IFwKLQkgc2VkIC1uZSAkKHNlZC15KTsgXAotCSBlY2hv ICIiOyBcCi0JIGVjaG8gIiNlbmRpZiIgKQotZW5kZWYKLQogIyMjIyMKICMgMSkgR2VuZXJhdGUg Ym91bmRzLmgKIApkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9NYWtlZmlsZSBiL2FyY2gv aWE2NC9rZXJuZWwvTWFrZWZpbGUKaW5kZXggMzY4NmQ2YWJhZmRlLi45ZWRkYTU0NjYwMjAgMTAw NjQ0Ci0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJjaC9pYTY0L2tlcm5l bC9NYWtlZmlsZQpAQCAtNTAsMzIgKzUwLDEwIEBAIENGTEFHU190cmFwcy5vICArPSAtbWZpeGVk LXJhbmdlPWYyLWY1LGYxNi1mMzEKICMgVGhlIGdhdGUgRFNPIGltYWdlIGlzIGJ1aWx0IHVzaW5n IGEgc3BlY2lhbCBsaW5rZXIgc2NyaXB0LgogaW5jbHVkZSAkKHNyYykvTWFrZWZpbGUuZ2F0ZQog Ci0jIENhbGN1bGF0ZSBOUl9JUlEgPSBtYXgoSUE2NF9OQVRJVkVfTlJfSVJRUywgWEVOX05SX0lS UVMsIC4uLikgYmFzZWQgb24gY29uZmlnCi1kZWZpbmUgc2VkLXkKLQkiL14tPi97czpeLT5cKFte IF0qXCkgW1wkJCNdKlwoW14gXSpcKSBcKC4qXCk6I2RlZmluZSBcMSBcMiAvKiBcMyAqLzo7IHM6 LT46OjsgcDt9IgotZW5kZWYKLXF1aWV0X2NtZF9ucl9pcnFzID0gR0VOICAgICAkQAotZGVmaW5l IGNtZF9ucl9pcnFzCi0JKHNldCAtZTsgXAotCSBlY2hvICIjaWZuZGVmIF9fQVNNX05SX0lSUVNf SF9fIjsgXAotCSBlY2hvICIjZGVmaW5lIF9fQVNNX05SX0lSUVNfSF9fIjsgXAotCSBlY2hvICIv KiI7IFwKLQkgZWNobyAiICogRE8gTk9UIE1PRElGWS4iOyBcCi0JIGVjaG8gIiAqIjsgXAotCSBl Y2hvICIgKiBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZCBieSBLYnVpbGQiOyBcCi0JIGVjaG8gIiAq IjsgXAotCSBlY2hvICIgKi8iOyBcCi0JIGVjaG8gIiI7IFwKLQkgc2VkIC1uZSAkKHNlZC15KSAk PDsgXAotCSBlY2hvICIiOyBcCi0JIGVjaG8gIiNlbmRpZiIgKSA+ICRACi1lbmRlZgotCiAjIFdl IHVzZSBpbnRlcm5hbCBrYnVpbGQgcnVsZXMgdG8gYXZvaWQgdGhlICJpcyB1cCB0byBkYXRlIiBt ZXNzYWdlIGZyb20gbWFrZQogYXJjaC8kKFNSQ0FSQ0gpL2tlcm5lbC9uci1pcnFzLnM6IGFyY2gv JChTUkNBUkNIKS9rZXJuZWwvbnItaXJxcy5jCiAJJChRKW1rZGlyIC1wICQoZGlyICRAKQogCSQo Y2FsbCBpZl9jaGFuZ2VkX2RlcCxjY19zX2MpCiAKLWluY2x1ZGUvZ2VuZXJhdGVkL25yLWlycXMu aDogYXJjaC8kKFNSQ0FSQ0gpL2tlcm5lbC9uci1pcnFzLnMKLQkkKFEpbWtkaXIgLXAgJChkaXIg JEApCi0JJChjYWxsIGNtZCxucl9pcnFzKQoraW5jbHVkZS9nZW5lcmF0ZWQvbnItaXJxcy5oOiBh cmNoLyQoU1JDQVJDSCkva2VybmVsL25yLWlycXMucyBGT1JDRQorCSQoY2FsbCBmaWxlY2hrLG9m ZnNldHMsX19BU01fTlJfSVJRU19IX18pCmRpZmYgLS1naXQgYS9zY3JpcHRzL01ha2VmaWxlLmxp YiBiL3NjcmlwdHMvTWFrZWZpbGUubGliCmluZGV4IGM5NTQwNDBjM2NmMi4uNGIxYmY2ODg1MWYw IDEwMDY0NAotLS0gYS9zY3JpcHRzL01ha2VmaWxlLmxpYgorKysgYi9zY3JpcHRzL01ha2VmaWxl LmxpYgpAQCAtNDA4LDMgKzQwOCwzMSBAQCBxdWlldF9jbWRfeHptaXNjID0gWFpNSVNDICAkQAog Y21kX3h6bWlzYyA9IChjYXQgJChmaWx0ZXItb3V0IEZPUkNFLCReKSB8IFwKIAl4eiAtLWNoZWNr PWNyYzMyIC0tbHptYTI9ZGljdD0xTWlCKSA+ICRAIHx8IFwKIAkocm0gLWYgJEAgOyBmYWxzZSkK KworIyBBU00gb2Zmc2V0cworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyBEZWZhdWx0IHNlZCBy ZWdleHAgLSBtdWx0aWxpbmUgZHVlIHRvIHN5bnRheCBjb25zdHJhaW50cworZGVmaW5lIHNlZC1v ZmZzZXRzCisJIi9eLT4ve3M6LT4jXCguKlwpOi8qIFwxICovOjsgXAorCXM6Xi0+XChbXiBdKlwp IFtcJCQjXSpcKFstMC05XSpcKSBcKC4qXCk6I2RlZmluZSBcMSBcMiAvKiBcMyAqLzo7IFwKKwlz Ol4tPlwoW14gXSpcKSBbXCQkI10qXChbXiBdKlwpIFwoLipcKTojZGVmaW5lIFwxIFwyIC8qIFwz ICovOjsgXAorCXM6LT46OjsgcDt9IgorZW5kZWYKKworIyBVc2UgZmlsZWNoayB0byBhdm9pZCBy ZWJ1aWxkcyB3aGVuIGEgaGVhZGVyIGNoYW5nZXMsIGJ1dCB0aGUgcmVzdWx0aW5nIGZpbGUKKyMg ZG9lcyBub3QKK2RlZmluZSBmaWxlY2hrX29mZnNldHMKKwkoc2V0IC1lOyBcCisJIGVjaG8gIiNp Zm5kZWYgJDIiOyBcCisJIGVjaG8gIiNkZWZpbmUgJDIiOyBcCisJIGVjaG8gIi8qIjsgXAorCSBl Y2hvICIgKiBETyBOT1QgTU9ESUZZLiI7IFwKKwkgZWNobyAiICoiOyBcCisJIGVjaG8gIiAqIFRo aXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IEtidWlsZCI7IFwKKwkgZWNobyAiICovIjsgXAorCSBl Y2hvICIiOyBcCisJIHNlZCAtbmUgJChzZWQtb2Zmc2V0cyk7IFwKKwkgZWNobyAiIjsgXAorCSBl Y2hvICIjZW5kaWYiICkKK2VuZGVmCmRpZmYgLS1naXQgYS9zY3JpcHRzL21vZC9NYWtlZmlsZSBi L3NjcmlwdHMvbW9kL01ha2VmaWxlCmluZGV4IDE5ZDliY2FkYzBjYy4uYjQ5N2Q5NzY0ZGNmIDEw MDY0NAotLS0gYS9zY3JpcHRzL21vZC9NYWtlZmlsZQorKysgYi9zY3JpcHRzL21vZC9NYWtlZmls ZQpAQCAtNywzMiArNyw4IEBAIG1vZHBvc3Qtb2Jqcwk6PSBtb2Rwb3N0Lm8gZmlsZTJhbGlhcy5v IHN1bXZlcnNpb24ubwogCiBkZXZpY2V0YWJsZS1vZmZzZXRzLWZpbGUgOj0gZGV2aWNldGFibGUt b2Zmc2V0cy5oCiAKLWRlZmluZSBzZWQteQotCSIvXi0+L3tzOi0+I1woLipcKTovKiBcMSAqLzo7 IFwKLQlzOl4tPlwoW14gXSpcKSBbXCQkI10qXChbLTAtOV0qXCkgXCguKlwpOiNkZWZpbmUgXDEg XDIgLyogXDMgKi86OyBcCi0JczpeLT5cKFteIF0qXCkgW1wkJCNdKlwoW14gXSpcKSBcKC4qXCk6 I2RlZmluZSBcMSBcMiAvKiBcMyAqLzo7IFwKLQlzOi0+Ojo7IHA7fSIKLWVuZGVmCi0KLXF1aWV0 X2NtZF9vZmZzZXRzID0gR0VOICAgICAkQAotZGVmaW5lIGNtZF9vZmZzZXRzCi0JKHNldCAtZTsg XAotCSBlY2hvICIjaWZuZGVmIF9fREVWSUNFVEFCTEVfT0ZGU0VUU19IX18iOyBcCi0JIGVjaG8g IiNkZWZpbmUgX19ERVZJQ0VUQUJMRV9PRkZTRVRTX0hfXyI7IFwKLQkgZWNobyAiLyoiOyBcCi0J IGVjaG8gIiAqIERPIE5PVCBNT0RJRlkuIjsgXAotCSBlY2hvICIgKiI7IFwKLQkgZWNobyAiICog VGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgS2J1aWxkIjsgXAotCSBlY2hvICIgKiI7IFwKLQkg ZWNobyAiICovIjsgXAotCSBlY2hvICIiOyBcCi0JIHNlZCAtbmUgJChzZWQteSkgJDw7IFwKLQkg ZWNobyAiIjsgXAotCSBlY2hvICIjZW5kaWYiICkgPiAkQAotZW5kZWYKLQotJChvYmopLyQoZGV2 aWNldGFibGUtb2Zmc2V0cy1maWxlKTogJChvYmopL2RldmljZXRhYmxlLW9mZnNldHMucwotCSQo Y2FsbCBpZl9jaGFuZ2VkLG9mZnNldHMpCiskKG9iaikvJChkZXZpY2V0YWJsZS1vZmZzZXRzLWZp bGUpOiAkKG9iaikvZGV2aWNldGFibGUtb2Zmc2V0cy5zIEZPUkNFCisJJChjYWxsIGZpbGVjaGss b2Zmc2V0cyxfX0RFVklDRVRBQkxFX09GRlNFVFNfSF9fKQogCiB0YXJnZXRzICs9ICQoZGV2aWNl dGFibGUtb2Zmc2V0cy1maWxlKSBkZXZpY2V0YWJsZS1vZmZzZXRzLnMKIAotLSAKMi4xOS4xLjEy MTUuZzg0MzhjMGIyNDUtZ29vZwoKCkZyb20gYzI3MjE4MjRhOTZjYWM5NDU4NjUyZTBiZTBhZTlj MWRkNmUyYmY5MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWFzYWhpcm8gWWFtYWRh IDx5YW1hZGEubWFzYWhpcm9Ac29jaW9uZXh0LmNvbT4KRGF0ZTogRnJpLCAyMSBBcHIgMjAxNyAx NToyMToxMCArMDkwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMjZdIGtidWlsZDogY29uc29saWRhdGUg cmVkdW5kYW50IHNlZCBzY3JpcHQgQVNNIG9mZnNldAogZ2VuZXJhdGlvbgoKY29tbWl0IDdkZDQ3 Yjk1YjBmNTRmMjA1N2Q0MGFmNmU2NmQ0NzdlM2ZlOTVkMTMgdXBzdHJlYW0uCgpUaGlzIHBhcnQg ZW5kZWQgdXAgaW4gcmVkdW5kYW50IGNvZGUgYWZ0ZXIgdG91Y2hlZCBieSBtdWx0aXBsZQpwZW9w bGUuCgpbMV0gQ29tbWl0IDMyMzQyODJmMzNiMiAoIng4NiwgYXNtOiBGaXggQ0ZJIG1hY3JvIGlu dm9jYXRpb25zIHRvCmRlYWwgd2l0aCBzaG9ydGNvbWluZ3MgaW4gZ2FzIikgYWRkZWQgcGFyZW50 aGVzZXMgZm9yIGRlZmluZWQKZXhwcmVzc2lvbnMgdG8gc3VwcG9ydCBvbGQgZ2FzIGZvciB4ODYu CgpbMl0gQ29tbWl0IGEyMmRjZGIwMDMyYyAoIng4NiwgYXNtOiBGaXggYW5jaWVudC1HQVMgd29y a2Fyb3VuZCIpCnNwbGl0IHRoZSBwYXR0ZXJuIGludG8gdHdvIHRvIGF2b2lkIHBhcmVudGhlc2Vz IGZvciBub24tbnVtZXJpYwpleHByZXNzaW9ucy4KClszXSBDb21taXQgOTVhMmY2ZjcyZDM3ICgi UGFydGlhbGx5IHJldmVydCBwYXRjaCB0aGF0IGVuY2xvc2VzCmFzbS1vZmZzZXQuaCBudW1iZXJz IGluIGJyYWNrZXRzIikgcmVtb3ZlZCBwYXJlbnRoZXNlcyBmcm9tIG51bWVyaWMKZXhwcmVzc2lv bnMgYXMgd2VsbCBiZWNhdXNlIHBhcmVudGhlc2VzIGluIE1OMTAzMDAgYXNzZW1ibHkgaGF2ZSBh CnNwZWNpYWwgbWVhbmluZyAocG9pbnRlciBhY2Nlc3MpLgoKQXBwYXJlbnRseSwgdGhlcmUgaXMg YSBjb25mbGljdCBiZXR3ZWVuIFsxXSBhbmQgWzNdLiAgQWZ0ZXIgYWxsLApbM10gdG9vayBwcmVj ZWRlbmNlLCBhbmQgYSBsb25nIHRpbWUgaGFzIHBhc3NlZCBzaW5jZSB0aGVuLgoKTm93LCBtZXJn ZSB0aGUgdHdvIHBhdHRlcm5zIGFnYWluIGJlY2F1c2UgdGhlIGZpcnN0IG9uZSBpcyBjb3ZlcmVk CmJ5IHRoZSBvdGhlci4KClNpZ25lZC1vZmYtYnk6IE1hc2FoaXJvIFlhbWFkYSA8eWFtYWRhLm1h c2FoaXJvQHNvY2lvbmV4dC5jb20+ClJldmlld2VkLWJ5OiBNYXR0aGlhcyBLYWVobGNrZSA8bWth QGNocm9taXVtLm9yZz4KU2lnbmVkLW9mZi1ieTogTmljayBEZXNhdWxuaWVycyA8bmRlc2F1bG5p ZXJzQGdvb2dsZS5jb20+Ci0tLQogc2NyaXB0cy9NYWtlZmlsZS5saWIgfCAxIC0KIDEgZmlsZSBj aGFuZ2VkLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9NYWtlZmlsZS5saWIg Yi9zY3JpcHRzL01ha2VmaWxlLmxpYgppbmRleCA0YjFiZjY4ODUxZjAuLmZkOTQwY2M4MWU1NCAx MDA2NDQKLS0tIGEvc2NyaXB0cy9NYWtlZmlsZS5saWIKKysrIGIvc2NyaXB0cy9NYWtlZmlsZS5s aWIKQEAgLTQxNSw3ICs0MTUsNiBAQCBjbWRfeHptaXNjID0gKGNhdCAkKGZpbHRlci1vdXQgRk9S Q0UsJF4pIHwgXAogIyBEZWZhdWx0IHNlZCByZWdleHAgLSBtdWx0aWxpbmUgZHVlIHRvIHN5bnRh eCBjb25zdHJhaW50cwogZGVmaW5lIHNlZC1vZmZzZXRzCiAJIi9eLT4ve3M6LT4jXCguKlwpOi8q IFwxICovOjsgXAotCXM6Xi0+XChbXiBdKlwpIFtcJCQjXSpcKFstMC05XSpcKSBcKC4qXCk6I2Rl ZmluZSBcMSBcMiAvKiBcMyAqLzo7IFwKIAlzOl4tPlwoW14gXSpcKSBbXCQkI10qXChbXiBdKlwp IFwoLipcKTojZGVmaW5lIFwxIFwyIC8qIFwzICovOjsgXAogCXM6LT46OjsgcDt9IgogZW5kZWYK LS0gCjIuMTkuMS4xMjE1Lmc4NDM4YzBiMjQ1LWdvb2cKCgpGcm9tIGIzYzQzMjhkZjQ0MDFmMjQ0 MWU0OTRhNjAzMmI0OTNmY2FkYTZmYjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpl cm9lbiBIb2ZzdGVlIDxqZXJvZW5AbXlzcGVjdHJ1bS5ubD4KRGF0ZTogRnJpLCAyMSBBcHIgMjAx NyAxNToyMToxMSArMDkwMApTdWJqZWN0OiBbUEFUQ0ggMDUvMjZdIGtidWlsZDogZml4IGFzbS1v ZmZzZXQgZ2VuZXJhdGlvbiB0byB3b3JrIHdpdGggY2xhbmcKCmNvbW1pdCBjZjBjM2U2OGFhODFm OTkyYjAzMDFmNjJlMzQxYjcxMGQzODViZjY4IHVwc3RyZWFtLgoKS0J1aWxkIGFidXNlcyB0aGUg YXNtIHN0YXRlbWVudCB0byB3cml0ZSB0byBhIGZpbGUgYW5kCmNsYW5nIGNob2tlcyBhYm91dCB0 aGVzZSBpbnZhbGlkIGFzbSBzdGF0ZW1lbnRzLiBIYWNrIGl0CmV2ZW4gbW9yZSBieSBmb29saW5n IHRoaXMgaXMgYWN0dWFsIHZhbGlkIGFzbSBjb2RlLgoKW21hc2FoaXJvOgogSW1wb3J0IEplcm9l bidzIHdvcmsgZm9yIFUtQm9vdDoKIGh0dHA6Ly9wYXRjaHdvcmsub3psYWJzLm9yZy9wYXRjaC8z NzUwMjYvCiBUd2VhayBzZWQgc2NyaXB0IGEgbGl0dGxlIHRvIGF2b2lkIGdhcmJhZ2UgJyMnIGZv ciBHQ0MgY2FzZSwgbGlrZQogI2RlZmluZSBOUl9QQUdFRkxBR1MgMjMgLyogX19OUl9QQUdFRkxB R1MgICAgICAgIyAqLyBdCgpTaWduZWQtb2ZmLWJ5OiBKZXJvZW4gSG9mc3RlZSA8amVyb2VuQG15 c3BlY3RydW0ubmw+ClNpZ25lZC1vZmYtYnk6IE1hc2FoaXJvIFlhbWFkYSA8eWFtYWRhLm1hc2Fo aXJvQHNvY2lvbmV4dC5jb20+ClJldmlld2VkLWJ5OiBNYXR0aGlhcyBLYWVobGNrZSA8bWthQGNo cm9taXVtLm9yZz4KVGVzdGVkLWJ5OiBNYXR0aGlhcyBLYWVobGNrZSA8bWthQGNocm9taXVtLm9y Zz4KU2lnbmVkLW9mZi1ieTogTmljayBEZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5j b20+Ci0tLQogaW5jbHVkZS9saW51eC9rYnVpbGQuaCB8IDYgKysrLS0tCiBzY3JpcHRzL01ha2Vm aWxlLmxpYiAgIHwgOCArKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyks IDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9rYnVpbGQuaCBiL2lu Y2x1ZGUvbGludXgva2J1aWxkLmgKaW5kZXggMjJhNzIxOThjMTRiLi40ZTgwZjNhOWFkNTggMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgva2J1aWxkLmgKKysrIGIvaW5jbHVkZS9saW51eC9rYnVp bGQuaApAQCAtMiwxNCArMiwxNCBAQAogI2RlZmluZSBfX0xJTlVYX0tCVUlMRF9ICiAKICNkZWZp bmUgREVGSU5FKHN5bSwgdmFsKSBcCi0gICAgICAgIGFzbSB2b2xhdGlsZSgiXG4tPiIgI3N5bSAi ICUwICIgI3ZhbCA6IDogImkiICh2YWwpKQorCWFzbSB2b2xhdGlsZSgiXG4uYXNjaWkgXCItPiIg I3N5bSAiICUwICIgI3ZhbCAiXCIiIDogOiAiaSIgKHZhbCkpCiAKLSNkZWZpbmUgQkxBTksoKSBh c20gdm9sYXRpbGUoIlxuLT4iIDogOiApCisjZGVmaW5lIEJMQU5LKCkgYXNtIHZvbGF0aWxlKCJc bi5hc2NpaSBcIi0+XCIiIDogOiApCiAKICNkZWZpbmUgT0ZGU0VUKHN5bSwgc3RyLCBtZW0pIFwK IAlERUZJTkUoc3ltLCBvZmZzZXRvZihzdHJ1Y3Qgc3RyLCBtZW0pKQogCiAjZGVmaW5lIENPTU1F TlQoeCkgXAotCWFzbSB2b2xhdGlsZSgiXG4tPiMiIHgpCisJYXNtIHZvbGF0aWxlKCJcbi5hc2Np aSBcIi0+IyIgeCAiXCIiKQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NjcmlwdHMvTWFrZWZpbGUu bGliIGIvc2NyaXB0cy9NYWtlZmlsZS5saWIKaW5kZXggZmQ5NDBjYzgxZTU0Li40ZTAyZDUxZGZj NjIgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvTWFrZWZpbGUubGliCisrKyBiL3NjcmlwdHMvTWFrZWZp bGUubGliCkBAIC00MTMsMTAgKzQxMywxNCBAQCBjbWRfeHptaXNjID0gKGNhdCAkKGZpbHRlci1v dXQgRk9SQ0UsJF4pIHwgXAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogIyBEZWZhdWx0IHNlZCBy ZWdleHAgLSBtdWx0aWxpbmUgZHVlIHRvIHN5bnRheCBjb25zdHJhaW50cworIworIyBVc2UgWzpz cGFjZTpdIGJlY2F1c2UgTExWTSdzIGludGVncmF0ZWQgYXNzZW1ibGVyIGluc2VydHMgPHRhYj4g YXJvdW5kCisjIHRoZSAuYXNjaWkgZGlyZWN0aXZlIHdoZXJlYXMgR0NDIGtlZXBzIHRoZSA8c3Bh Y2U+IGFzLWlzLgogZGVmaW5lIHNlZC1vZmZzZXRzCi0JIi9eLT4ve3M6LT4jXCguKlwpOi8qIFwx ICovOjsgXAorCSdzOl5bWzpzcGFjZTpdXSpcLmFzY2lpW1s6c3BhY2U6XV0qIlwoLipcKSIuKjpc MTo7IFwKKwkvXi0+L3tzOi0+I1woLipcKTovKiBcMSAqLzo7IFwKIAlzOl4tPlwoW14gXSpcKSBb XCQkI10qXChbXiBdKlwpIFwoLipcKTojZGVmaW5lIFwxIFwyIC8qIFwzICovOjsgXAotCXM6LT46 OjsgcDt9IgorCXM6LT46OjsgcDt9JwogZW5kZWYKIAogIyBVc2UgZmlsZWNoayB0byBhdm9pZCBy ZWJ1aWxkcyB3aGVuIGEgaGVhZGVyIGNoYW5nZXMsIGJ1dCB0aGUgcmVzdWx0aW5nIGZpbGUKLS0g CjIuMTkuMS4xMjE1Lmc4NDM4YzBiMjQ1LWdvb2cKCgpGcm9tIGU0MGZiNDc5ODE3M2I2NzAwMDg2 NmM0MmM4YWU3NDRmYWNkNTJkYzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1hc2Fo aXJvIFlhbWFkYSA8eWFtYWRhLm1hc2FoaXJvQHNvY2lvbmV4dC5jb20+CkRhdGU6IFRodSwgMTMg QXByIDIwMTcgMDc6MjU6MjEgKzA5MDAKU3ViamVjdDogW1BBVENIIDA2LzI2XSBrYnVpbGQ6IGRy b3AgLVduby11bmtub3duLXdhcm5pbmctb3B0aW9uIGZyb20gY2xhbmcKIG9wdGlvbnMKCmNvbW1p dCBhMGFlOTgxZWJhOGYwN2RiYzc0YmNlMzhmZDNhNDYyYjY5YTViYzhlIHVwc3RyZWFtLgoKU2lu Y2UgY29tbWl0IGMzZjBkMGJjNWIwMSAoImtidWlsZCwgTExWTUxpbnV4OiBBZGQgLVdlcnJvciB0 bwpjYy1vcHRpb24gdG8gc3VwcG9ydCBjbGFuZyIpLCBjYy1vcHRpb24gYW5kIGZyaWVuZHMgd29y ayBuaWNlbHkKZm9yIGNsYW5nLgoKSG93ZXZlciwgLVduby11bmtub3duLXdhcm5pbmctb3B0aW9u IG1ha2VzIGNsYW5nIGhhcHB5IHdpdGggYW55CnVua25vd24gd2FybmluZyBvcHRpb25zIGV2ZW4g aWYgLVdlcnJvciBpcyBzcGVjaWZpZWQuCgpPbmNlIC1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlv biBpcyBhZGRlZCwgYW55IHN1Y2NlZWRpbmcgY2FsbCBvZgpjYy1kaXNhYmxlLXdhcm5pbmcgaXMg ZXZhbHVhdGVkIHBvc2l0aXZlLCB0aGVuIHVua25vd24gd2FybmluZwpvcHRpb25zIGFyZSBhY2Nl cHRlZC4gIFRoaXMgc2hvdWxkIGJlIGRyb3BwZWQuCgpTaWduZWQtb2ZmLWJ5OiBNYXNhaGlybyBZ YW1hZGEgPHlhbWFkYS5tYXNhaGlyb0Bzb2Npb25leHQuY29tPgpTaWduZWQtb2ZmLWJ5OiBOaWNr IERlc2F1bG5pZXJzIDxuZGVzYXVsbmllcnNAZ29vZ2xlLmNvbT4KLS0tCiBNYWtlZmlsZSAgICAg ICAgICAgICAgICAgICB8IDEgLQogc2NyaXB0cy9NYWtlZmlsZS5leHRyYXdhcm4gfCAxIC0KIDIg ZmlsZXMgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01h a2VmaWxlCmluZGV4IDBjNDQ1ODQzYmJiNy4uODE1Yzg3NDI0MTIwIDEwMDY0NAotLS0gYS9NYWtl ZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtNzE0LDcgKzcxNCw2IEBAIGVuZGlmCiBLQlVJTERfQ0ZM QUdTICs9ICQoQ0xBTkdfVEFSR0VUKSAkKENMQU5HX0dDQ19UQykKIEtCVUlMRF9BRkxBR1MgKz0g JChDTEFOR19UQVJHRVQpICQoQ0xBTkdfR0NDX1RDKQogS0JVSUxEX0NQUEZMQUdTICs9ICQoY2Fs bCBjYy1vcHRpb24sLVF1bnVzZWQtYXJndW1lbnRzLCkKLUtCVUlMRF9DUFBGTEFHUyArPSAkKGNh bGwgY2Mtb3B0aW9uLC1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlvbiwpCiBLQlVJTERfQ0ZMQUdT ICs9ICQoY2FsbCBjYy1kaXNhYmxlLXdhcm5pbmcsIHVudXNlZC12YXJpYWJsZSkKIEtCVUlMRF9D RkxBR1MgKz0gJChjYWxsIGNjLWRpc2FibGUtd2FybmluZywgZm9ybWF0LWludmFsaWQtc3BlY2lm aWVyKQogS0JVSUxEX0NGTEFHUyArPSAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5nLCBnbnUpCmRp ZmYgLS1naXQgYS9zY3JpcHRzL01ha2VmaWxlLmV4dHJhd2FybiBiL3NjcmlwdHMvTWFrZWZpbGUu ZXh0cmF3YXJuCmluZGV4IDdjMzIxYTYwM2IwNy4uZmIzNTIyZmQ4NzAyIDEwMDY0NAotLS0gYS9z Y3JpcHRzL01ha2VmaWxlLmV4dHJhd2FybgorKysgYi9zY3JpcHRzL01ha2VmaWxlLmV4dHJhd2Fy bgpAQCAtNjQsNyArNjQsNiBAQCBpZmVxICgkKGNjLW5hbWUpLGNsYW5nKQogS0JVSUxEX0NGTEFH UyArPSAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5nLCBpbml0aWFsaXplci1vdmVycmlkZXMpCiBL QlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1kaXNhYmxlLXdhcm5pbmcsIHVudXNlZC12YWx1ZSkK IEtCVUlMRF9DRkxBR1MgKz0gJChjYWxsIGNjLWRpc2FibGUtd2FybmluZywgZm9ybWF0KQotS0JV SUxEX0NGTEFHUyArPSAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5nLCB1bmtub3duLXdhcm5pbmct b3B0aW9uKQogS0JVSUxEX0NGTEFHUyArPSAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5nLCBzaWdu LWNvbXBhcmUpCiBLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1kaXNhYmxlLXdhcm5pbmcsIGZv cm1hdC16ZXJvLWxlbmd0aCkKIEtCVUlMRF9DRkxBR1MgKz0gJChjYWxsIGNjLWRpc2FibGUtd2Fy bmluZywgdW5pbml0aWFsaXplZCkKLS0gCjIuMTkuMS4xMjE1Lmc4NDM4YzBiMjQ1LWdvb2cKCgpG cm9tIGIxNTc0NzRjOWNkOWY5N2IwYjllZTZlNTg0MDRhYTlkYmZmZWUyM2IgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IE1hcmsgQ2hhcmxlYm9pcyA8Y2hhcmxlYm1AZ21haWwuY29tPgpE YXRlOiBGcmksIDMxIE1hciAyMDE3IDIyOjM4OjEzICswMjAwClN1YmplY3Q6IFtQQVRDSCAwNy8y Nl0ga2J1aWxkLCBMTFZNTGludXg6IEFkZCAtV2Vycm9yIHRvIGNjLW9wdGlvbiB0byBzdXBwb3J0 CiBjbGFuZwpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKY29tbWl0IGMzZjBkMGJj NWIwMWFkOTBjNDUyNzY5NTI4MDI0NTU3NTA0NDRiNGYgdXBzdHJlYW0uCgpDbGFuZyB3aWxsIHdh cm4gYWJvdXQgdW5rbm93biB3YXJuaW5ncyBidXQgd2lsbCBub3QgcmV0dXJuIGZhbHNlCnVubGVz cyAtV2Vycm9yIGlzIHNldC4gR0NDIHdpbGwgcmV0dXJuIGZhbHNlIGlmIGFuIHVua25vd24Kd2Fy bmluZyBpcyBwYXNzZWQuCgpBZGRpbmcgLVdlcnJvciBtYWtlIGJvdGggY29tcGlsZXIgYmVoYXZl IHRoZSBzYW1lLgoKW2FybmQ6IGl0IHR1cm5zIG91dCB3ZSBuZWVkIHRoZSBzYW1lIHBhdGNoIGZv ciB0ZXN0aW5nIHdoZXRoZXIgLWZmdW5jdGlvbi1zZWN0aW9ucwogICAgICAgd29ya3MgcmlnaHQg d2l0aCBnY2MuIEkndmUgYnVpbGQgdGVzdGVkIGV4dGVuc2l2ZWx5IHdpdGggdGhpcyBwYXRjaAog ICAgICAgYXBwbGllZCwgc28gbGV0J3MganVzdCBtZXJnZSB0aGlzIG9uZSBub3cuXQoKU2lnbmVk LW9mZi1ieTogTWFyayBDaGFybGVib2lzIDxjaGFybGVibUBnbWFpbC5jb20+ClNpZ25lZC1vZmYt Ynk6IEJlaGFuIFdlYnN0ZXIgPGJlaGFud0Bjb252ZXJzZWluY29kZS5jb20+ClJldmlld2VkLWJ5 OiBKYW4tU2ltb24gTcO2bGxlciA8ZGw5cGZAZ214LmRlPgpTaWduZWQtb2ZmLWJ5OiBBcm5kIEJl cmdtYW5uIDxhcm5kQGFybmRiLmRlPgpBY2tlZC1ieTogS2VlcyBDb29rIDxrZWVzY29va0BjaHJv bWl1bS5vcmc+ClNpZ25lZC1vZmYtYnk6IE1hc2FoaXJvIFlhbWFkYSA8eWFtYWRhLm1hc2FoaXJv QHNvY2lvbmV4dC5jb20+ClNpZ25lZC1vZmYtYnk6IE5pY2sgRGVzYXVsbmllcnMgPG5kZXNhdWxu aWVyc0Bnb29nbGUuY29tPgotLS0KIHNjcmlwdHMvS2J1aWxkLmluY2x1ZGUgfCA2ICsrKy0tLQog MSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zY3JpcHRzL0tidWlsZC5pbmNsdWRlIGIvc2NyaXB0cy9LYnVpbGQuaW5jbHVkZQppbmRl eCA4Zjg5NjU2MDhlZTMuLmUwYWFiYTA5MzQ1NSAxMDA2NDQKLS0tIGEvc2NyaXB0cy9LYnVpbGQu aW5jbHVkZQorKysgYi9zY3JpcHRzL0tidWlsZC5pbmNsdWRlCkBAIC0xMTcsMTIgKzExNywxMiBA QCBDQ19PUFRJT05fQ0ZMQUdTID0gJChmaWx0ZXItb3V0ICQoR0NDX1BMVUdJTlNfQ0ZMQUdTKSwk KEtCVUlMRF9DRkxBR1MpKQogIyBVc2FnZTogY2ZsYWdzLXkgKz0gJChjYWxsIGNjLW9wdGlvbiwt bWFyY2g9d2luY2hpcC1jNiwtbWFyY2g9aTU4NikKIAogY2Mtb3B0aW9uID0gJChjYWxsIHRyeS1y dW4sXAotCSQoQ0MpICQoS0JVSUxEX0NQUEZMQUdTKSAkKENDX09QVElPTl9DRkxBR1MpICQoMSkg LWMgLXggYyAvZGV2L251bGwgLW8gIiQkVE1QIiwkKDEpLCQoMikpCisJJChDQykgLVdlcnJvciAk KEtCVUlMRF9DUFBGTEFHUykgJChDQ19PUFRJT05fQ0ZMQUdTKSAkKDEpIC1jIC14IGMgL2Rldi9u dWxsIC1vICIkJFRNUCIsJCgxKSwkKDIpKQogCiAjIGNjLW9wdGlvbi15bgogIyBVc2FnZTogZmxh ZyA6PSAkKGNhbGwgY2Mtb3B0aW9uLXluLC1tYXJjaD13aW5jaGlwLWM2KQogY2Mtb3B0aW9uLXlu ID0gJChjYWxsIHRyeS1ydW4sXAotCSQoQ0MpICQoS0JVSUxEX0NQUEZMQUdTKSAkKENDX09QVElP Tl9DRkxBR1MpICQoMSkgLWMgLXggYyAvZGV2L251bGwgLW8gIiQkVE1QIix5LG4pCisJJChDQykg LVdlcnJvciAkKEtCVUlMRF9DUFBGTEFHUykgJChDQ19PUFRJT05fQ0ZMQUdTKSAkKDEpIC1jIC14 IGMgL2Rldi9udWxsIC1vICIkJFRNUCIseSxuKQogCiAjIGNjLW9wdGlvbi1hbGlnbgogIyBQcmVm aXggYWxpZ24gd2l0aCBlaXRoZXIgLWZhbGlnbiBvciAtbWFsaWduCkBAIC0xMzIsNyArMTMyLDcg QEAgY2Mtb3B0aW9uLWFsaWduID0gJChzdWJzdCAtZnVuY3Rpb25zPTAsLFwKICMgY2MtZGlzYWJs ZS13YXJuaW5nCiAjIFVzYWdlOiBjZmxhZ3MteSArPSAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5n LHVudXNlZC1idXQtc2V0LXZhcmlhYmxlKQogY2MtZGlzYWJsZS13YXJuaW5nID0gJChjYWxsIHRy eS1ydW4sXAotCSQoQ0MpICQoS0JVSUxEX0NQUEZMQUdTKSAkKENDX09QVElPTl9DRkxBR1MpIC1X JChzdHJpcCAkKDEpKSAtYyAteCBjIC9kZXYvbnVsbCAtbyAiJCRUTVAiLC1Xbm8tJChzdHJpcCAk KDEpKSkKKwkkKENDKSAtV2Vycm9yICQoS0JVSUxEX0NQUEZMQUdTKSAkKENDX09QVElPTl9DRkxB R1MpIC1XJChzdHJpcCAkKDEpKSAtYyAteCBjIC9kZXYvbnVsbCAtbyAiJCRUTVAiLC1Xbm8tJChz dHJpcCAkKDEpKSkKIAogIyBjYy1uYW1lCiAjIEV4cGFuZHMgdG8gZWl0aGVyIGdjYyBvciBjbGFu ZwotLSAKMi4xOS4xLjEyMTUuZzg0MzhjMGIyNDUtZ29vZwoKCkZyb20gMzdmOWY3ZGMzMjZiZWU3 MjdlOTE3MThlODQyZTI0ODdjOGQzMDdiZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog QmVoYW4gV2Vic3RlciA8YmVoYW53QGNvbnZlcnNlaW5jb2RlLmNvbT4KRGF0ZTogTW9uLCAyNyBN YXIgMjAxNyAxODoxOTowOSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDgvMjZdIGtidWlsZDogdXNl IC1PeiBpbnN0ZWFkIG9mIC1PcyB3aGVuIHVzaW5nIGNsYW5nCgpjb21taXQgNjc0OGNiM2MyOTlk ZTFmZmJlNTY3MzM2NDdiMDFkYmNjMzk4YzQxOSB1cHN0cmVhbS4KClRoaXMgZ2VuZXJhdGVzIHNt YWxsZXIgcmVzdWx0aW5nIG9iamVjdCBjb2RlIHdoZW4gY29tcGlsZWQgd2l0aCBjbGFuZy4KClNp Z25lZC1vZmYtYnk6IEJlaGFuIFdlYnN0ZXIgPGJlaGFud0Bjb252ZXJzZWluY29kZS5jb20+ClNp Z25lZC1vZmYtYnk6IE1hdHRoaWFzIEthZWhsY2tlIDxta2FAY2hyb21pdW0ub3JnPgpTaWduZWQt b2ZmLWJ5OiBNYXNhaGlybyBZYW1hZGEgPHlhbWFkYS5tYXNhaGlyb0Bzb2Npb25leHQuY29tPgpT aWduZWQtb2ZmLWJ5OiBOaWNrIERlc2F1bG5pZXJzIDxuZGVzYXVsbmllcnNAZ29vZ2xlLmNvbT4K LS0tCiBNYWtlZmlsZSB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCA4MTVj ODc0MjQxMjAuLjRkZDgwNzBmMzU3MSAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZp bGUKQEAgLTY0NCw3ICs2NDQsOCBAQCBLQlVJTERfQ0ZMQUdTCSs9ICQoY2FsbCBjYy1vcHRpb24s LWZkYXRhLXNlY3Rpb25zLCkKIGVuZGlmCiAKIGlmZGVmIENPTkZJR19DQ19PUFRJTUlaRV9GT1Jf U0laRQotS0JVSUxEX0NGTEFHUwkrPSAtT3MgJChjYWxsIGNjLWRpc2FibGUtd2FybmluZyxtYXli ZS11bmluaXRpYWxpemVkLCkKK0tCVUlMRF9DRkxBR1MJKz0gJChjYWxsIGNjLW9wdGlvbiwtT3os LU9zKQorS0JVSUxEX0NGTEFHUwkrPSAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5nLG1heWJlLXVu aW5pdGlhbGl6ZWQsKQogZWxzZQogaWZkZWYgQ09ORklHX1BST0ZJTEVfQUxMX0JSQU5DSEVTCiBL QlVJTERfQ0ZMQUdTCSs9IC1PMiAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5nLG1heWJlLXVuaW5p dGlhbGl6ZWQsKQotLSAKMi4xOS4xLjEyMTUuZzg0MzhjMGIyNDUtZ29vZwoKCkZyb20gYjI3YWY5 Njk4YWY0ZTAzOTM4ZDU5M2Y3YzVmMWI4YTQ4MmUzNWQ4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogPT9VVEYtOD9xP1Zpbj1DMz1BRGNpdXM9MjBUaW50aT89IDx2aW5pY2l1c3RpbnRp QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAyNCBBcHIgMjAxNyAxMzowNDo1OCAtMDcwMApTdWJqZWN0 OiBbUEFUQ0ggMDkvMjZdIGtidWlsZDogQWRkIHN1cHBvcnQgdG8gZ2VuZXJhdGUgTExWTSBhc3Nl bWJseSBmaWxlcwpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAoKY29tbWl0IDQzM2Ri M2UyNjBiYzgxMzRkNGE0NmRkZjIwYjM2Njg5MzdlMTI1NTYgdXBzdHJlYW0uCgpBZGQgcnVsZXMg dG8ga2J1aWxkIGluIG9yZGVyIHRvIGdlbmVyYXRlIExMVk0gYXNzZW1ibHkgZmlsZXMgd2l0aCB0 aGUgLmxsCmV4dGVuc2lvbiB3aGVuIHVzaW5nIGNsYW5nLgoKICAjIGZyb20gYyBjb2RlCiAgbWFr ZSBDQz1jbGFuZyBrZXJuZWwvcGlkLmxsCgpTaWduZWQtb2ZmLWJ5OiBWaW7DrWNpdXMgVGludGkg PHZpbmljaXVzdGludGlAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBCZWhhbiBXZWJzdGVyIDxi ZWhhbndAY29udmVyc2VpbmNvZGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBLYWVobGNr ZSA8bWthQGNocm9taXVtLm9yZz4KU2lnbmVkLW9mZi1ieTogTWFzYWhpcm8gWWFtYWRhIDx5YW1h ZGEubWFzYWhpcm9Ac29jaW9uZXh0LmNvbT4KU2lnbmVkLW9mZi1ieTogTmljayBEZXNhdWxuaWVy cyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5jb20+Ci0tLQogLmdpdGlnbm9yZSAgICAgICAgICAgICB8 IDEgKwogTWFrZWZpbGUgICAgICAgICAgICAgICB8IDUgKysrKysKIHNjcmlwdHMvTWFrZWZpbGUu YnVpbGQgfCA4ICsrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBjMmVkNGVjYjBhY2QuLjBj MzlhYTIwYjZiYSAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0z Myw2ICszMyw3IEBACiAqLmx6bwogKi5wYXRjaAogKi5nY25vCisqLmxsCiBtb2R1bGVzLmJ1aWx0 aW4KIE1vZHVsZS5zeW12ZXJzCiAqLmR3bwpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmls ZQppbmRleCA0ZGQ4MDcwZjM1NzEuLjRjNjI0MzA0YjlhNSAxMDA2NDQKLS0tIGEvTWFrZWZpbGUK KysrIGIvTWFrZWZpbGUKQEAgLTEzOTAsNiArMTM5MCw4IEBAIGhlbHA6CiAJQGVjaG8gICcgICAg ICAgICAgICAgICAgICAgIChkZWZhdWx0OiAkJChJTlNUQUxMX01PRF9QQVRIKS9saWIvZmlybXdh cmUpJwogCUBlY2hvICAnICBkaXIvICAgICAgICAgICAgLSBCdWlsZCBhbGwgZmlsZXMgaW4gZGly IGFuZCBiZWxvdycKIAlAZWNobyAgJyAgZGlyL2ZpbGUuW29pc10gIC0gQnVpbGQgc3BlY2lmaWVk IHRhcmdldCBvbmx5JworCUBlY2hvICAnICBkaXIvZmlsZS5sbCAgICAgLSBCdWlsZCB0aGUgTExW TSBhc3NlbWJseSBmaWxlJworCUBlY2hvICAnICAgICAgICAgICAgICAgICAgICAocmVxdWlyZXMg Y29tcGlsZXIgc3VwcG9ydCBmb3IgTExWTSBhc3NlbWJseSBnZW5lcmF0aW9uKScKIAlAZWNobyAg JyAgZGlyL2ZpbGUubHN0ICAgIC0gQnVpbGQgc3BlY2lmaWVkIG1peGVkIHNvdXJjZS9hc3NlbWJs eSB0YXJnZXQgb25seScKIAlAZWNobyAgJyAgICAgICAgICAgICAgICAgICAgKHJlcXVpcmVzIGEg cmVjZW50IGJpbnV0aWxzIGFuZCByZWNlbnQgYnVpbGQgKFN5c3RlbS5tYXApKScKIAlAZWNobyAg JyAgZGlyL2ZpbGUua28gICAgIC0gQnVpbGQgbW9kdWxlIGluY2x1ZGluZyBmaW5hbCBsaW5rJwpA QCAtMTU3NCw2ICsxNTc2LDcgQEAgY2xlYW46ICQoY2xlYW4tZGlycykKIAkJLW8gLW5hbWUgJyou c3ltdHlwZXMnIC1vIC1uYW1lICdtb2R1bGVzLm9yZGVyJyBcCiAJCS1vIC1uYW1lIG1vZHVsZXMu YnVpbHRpbiAtbyAtbmFtZSAnLnRtcF8qLm8uKicgXAogCQktbyAtbmFtZSAnKi5jLlswMTJdKi4q JyBcCisJCS1vIC1uYW1lICcqLmxsJyBcCiAJCS1vIC1uYW1lICcqLmdjbm8nIFwpIC10eXBlIGYg LXByaW50IHwgeGFyZ3Mgcm0gLWYKIAogIyBHZW5lcmF0ZSB0YWdzIGZvciBlZGl0b3JzCkBAIC0x Njc3LDYgKzE2ODAsOCBAQCBlbmRpZgogCSQoUSkkKE1BS0UpICQoYnVpbGQpPSQoYnVpbGQtZGly KSAkKHRhcmdldC1kaXIpJChub3RkaXIgJEApCiAlLnN5bXR5cGVzOiAlLmMgcHJlcGFyZSBzY3Jp cHRzIEZPUkNFCiAJJChRKSQoTUFLRSkgJChidWlsZCk9JChidWlsZC1kaXIpICQodGFyZ2V0LWRp cikkKG5vdGRpciAkQCkKKyUubGw6ICUuYyBwcmVwYXJlIHNjcmlwdHMgRk9SQ0UKKwkkKFEpJChN QUtFKSAkKGJ1aWxkKT0kKGJ1aWxkLWRpcikgJCh0YXJnZXQtZGlyKSQobm90ZGlyICRAKQogCiAj IE1vZHVsZXMKIC86IHByZXBhcmUgc2NyaXB0cyBGT1JDRQpkaWZmIC0tZ2l0IGEvc2NyaXB0cy9N YWtlZmlsZS5idWlsZCBiL3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQKaW5kZXggYWJmZDRmNGI2NmRk Li42MjI4YTgzMTU2ZWEgMTAwNjQ0Ci0tLSBhL3NjcmlwdHMvTWFrZWZpbGUuYnVpbGQKKysrIGIv c2NyaXB0cy9NYWtlZmlsZS5idWlsZApAQCAtMTc2LDYgKzE3NiwxNCBAQCBjbWRfY2Nfc3ltdHlw ZXNfYyA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAogJChvYmopLyUuc3ltdHlwZXMgOiAkKHNyYykvJS5jIEZPUkNFCiAJJChjYWxsIGNt ZCxjY19zeW10eXBlc19jKQogCisjIExMVk0gYXNzZW1ibHkKKyMgR2VuZXJhdGUgLmxsIGZpbGVz IGZyb20gLmMKK3F1aWV0X2NtZF9jY19sbF9jID0gQ0MgJChxdWlldF9tb2R0YWcpICAkQAorICAg ICAgY21kX2NjX2xsX2MgPSAkKENDKSAkKGNfZmxhZ3MpIC1lbWl0LWxsdm0gLVMgLW8gJEAgJDwK KworJChvYmopLyUubGw6ICQoc3JjKS8lLmMgRk9SQ0UKKwkkKGNhbGwgaWZfY2hhbmdlZF9kZXAs Y2NfbGxfYykKKwogIyBDICguYykgZmlsZXMKICMgVGhlIEMgZmlsZSBpcyBjb21waWxlZCBhbmQg dXBkYXRlZCBkZXBlbmRlbmN5IGluZm9ybWF0aW9uIGlzIGdlbmVyYXRlZC4KICMgKFNlZSBjbWRf Y2Nfb19jICsgcmVsZXZhbnQgcGFydCBvZiBydWxlX2NjX29fYykKLS0gCjIuMTkuMS4xMjE1Lmc4 NDM4YzBiMjQ1LWdvb2cKCgpGcm9tIDdjNzgyY2FhODA2MjY3MmE0N2JiYjI0NGRlZTQxZmEwNGUy OWQ3NjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFybmQgQmVyZ21hbm4gPGFybmRA YXJuZGIuZGU+CkRhdGU6IFdlZCwgMSBGZWIgMjAxNyAxODowMDoxNCArMDEwMApTdWJqZWN0OiBb UEFUQ0ggMTAvMjZdIG1vZHVsZXM6IG1hcmsgX19pbml0dGVzdC9fX2V4aXR0ZXN0IGFzIF9fbWF5 YmVfdW51c2VkCgpjb21taXQgMWYzMThhOGJhZmNmYmE5ZjBkNjIzZjQ4NzBjNGU4OTBmZDIyZTY1 OSB1cHN0cmVhbS4KCmNsYW5nIHdhcm5zIGFib3V0IHVudXNlZCBpbmxpbmUgZnVuY3Rpb25zIGJ5 IGRlZmF1bHQ6CgphcmNoL2FybS9jcnlwdG8vYWVzLWNpcGhlci1nbHVlLmM6Njg6MTogd2Fybmlu ZzogdW51c2VkIGZ1bmN0aW9uICdfX2luaXR0ZXN0JyBbLVd1bnVzZWQtZnVuY3Rpb25dCmFyY2gv YXJtL2NyeXB0by9hZXMtY2lwaGVyLWdsdWUuYzo2OToxOiB3YXJuaW5nOiB1bnVzZWQgZnVuY3Rp b24gJ19fZXhpdHRlc3QnIFstV3VudXNlZC1mdW5jdGlvbl0KCkFzIHRoZXNlIGFwcGVhciBpbiBl dmVyeSBzaW5nbGUgbW9kdWxlLCBsZXQncyBqdXN0IGRpc2FibGUgdGhlIHdhcm5pbmdzIGJ5IG1h cmtpbmcgdGhlCnR3byBmdW5jdGlvbnMgYXMgX19tYXliZV91bnVzZWQuCgpTaWduZWQtb2ZmLWJ5 OiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRlPgpSZXZpZXdlZC1ieTogTWlyb3NsYXYgQmVu ZXMgPG1iZW5lc0BzdXNlLmN6PgpBY2tlZC1ieTogUnVzdHkgUnVzc2VsbCA8cnVzdHlAcnVzdGNv cnAuY29tLmF1PgpTaWduZWQtb2ZmLWJ5OiBKZXNzaWNhIFl1IDxqZXl1QHJlZGhhdC5jb20+ClNp Z25lZC1vZmYtYnk6IE5pY2sgRGVzYXVsbmllcnMgPG5kZXNhdWxuaWVyc0Bnb29nbGUuY29tPgot LS0KIGluY2x1ZGUvbGludXgvbW9kdWxlLmggfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9t b2R1bGUuaCBiL2luY2x1ZGUvbGludXgvbW9kdWxlLmgKaW5kZXggZDIyMjRhMDliNGI1Li5mZDll MTIxYzdiM2YgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvbW9kdWxlLmgKKysrIGIvaW5jbHVk ZS9saW51eC9tb2R1bGUuaApAQCAtMTI3LDEzICsxMjcsMTMgQEAgZXh0ZXJuIHZvaWQgY2xlYW51 cF9tb2R1bGUodm9pZCk7CiAKIC8qIEVhY2ggbW9kdWxlIG11c3QgdXNlIG9uZSBtb2R1bGVfaW5p dCgpLiAqLwogI2RlZmluZSBtb2R1bGVfaW5pdChpbml0Zm4pCQkJCQlcCi0Jc3RhdGljIGlubGlu ZSBpbml0Y2FsbF90IF9faW5pdHRlc3Qodm9pZCkJCVwKKwlzdGF0aWMgaW5saW5lIGluaXRjYWxs X3QgX19tYXliZV91bnVzZWQgX19pbml0dGVzdCh2b2lkKQkJXAogCXsgcmV0dXJuIGluaXRmbjsg fQkJCQkJXAogCWludCBpbml0X21vZHVsZSh2b2lkKSBfX2F0dHJpYnV0ZV9fKChhbGlhcygjaW5p dGZuKSkpOwogCiAvKiBUaGlzIGlzIG9ubHkgcmVxdWlyZWQgaWYgeW91IHdhbnQgdG8gYmUgdW5s b2FkYWJsZS4gKi8KICNkZWZpbmUgbW9kdWxlX2V4aXQoZXhpdGZuKQkJCQkJXAotCXN0YXRpYyBp bmxpbmUgZXhpdGNhbGxfdCBfX2V4aXR0ZXN0KHZvaWQpCQlcCisJc3RhdGljIGlubGluZSBleGl0 Y2FsbF90IF9fbWF5YmVfdW51c2VkIF9fZXhpdHRlc3Qodm9pZCkJCVwKIAl7IHJldHVybiBleGl0 Zm47IH0JCQkJCVwKIAl2b2lkIGNsZWFudXBfbW9kdWxlKHZvaWQpIF9fYXR0cmlidXRlX18oKGFs aWFzKCNleGl0Zm4pKSk7CiAKLS0gCjIuMTkuMS4xMjE1Lmc4NDM4YzBiMjQ1LWdvb2cKCgpGcm9t IGIyMDZhMTI5NDU1Mjc2MGRlNGE4ZmQyZjBhZjE0ZGNmOGVhYzY1NDQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IE1hdHRoaWFzIEthZWhsY2tlIDxta2FAY2hyb21pdW0ub3JnPgpEYXRl OiBUaHUsIDEzIEFwciAyMDE3IDEwOjI2OjA5IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxMS8yNl0g eDg2L2tidWlsZDogVXNlIGNjLW9wdGlvbiB0byBlbmFibGUKIC1mYWxpZ24te2p1bXBzL2xvb3Bz fQoKY29tbWl0IDJjNGZkMWFjM2ZmMTY3YzkxMjcyZGM0M2M3YmZkMjI2OWVmNjE1NTcgdXBzdHJl YW0uCgpjbGFuZyBjdXJyZW50bHkgZG9lcyBub3Qgc3VwcG9ydCB0aGVzZSBvcHRpbWl6YXRpb25z LCBvbmx5IGVuYWJsZSB0aGVtCndoZW4gdGhleSBhcmUgYXZhaWxhYmxlLgoKU2lnbmVkLW9mZi1i eTogTWF0dGhpYXMgS2FlaGxja2UgPG1rYUBjaHJvbWl1bS5vcmc+CkNjOiBHcmVnIEhhY2ttYW5u IDxnaGFja21hbm5AZ29vZ2xlLmNvbT4KQ2M6IExpbnVzIFRvcnZhbGRzIDx0b3J2YWxkc0BsaW51 eC1mb3VuZGF0aW9uLm9yZz4KQ2M6IE1hc2FoaXJvIFlhbWFkYSA8eWFtYWRhLm1hc2FoaXJvQHNv Y2lvbmV4dC5jb20+CkNjOiBNaWNoYWVsIERhdmlkc29uIDxtZEBnb29nbGUuY29tPgpDYzogUGV0 ZXIgWmlqbHN0cmEgPHBldGVyekBpbmZyYWRlYWQub3JnPgpDYzogVGhvbWFzIEdsZWl4bmVyIDx0 Z2x4QGxpbnV0cm9uaXguZGU+CkNjOiBncnVuZGxlckBjaHJvbWl1bS5vcmcKTGluazogaHR0cDov L2xrbWwua2VybmVsLm9yZy9yLzIwMTcwNDEzMTcyNjA5LjExODEyMi0xLW1rYUBjaHJvbWl1bS5v cmcKU2lnbmVkLW9mZi1ieTogSW5nbyBNb2xuYXIgPG1pbmdvQGtlcm5lbC5vcmc+ClNpZ25lZC1v ZmYtYnk6IE5pY2sgRGVzYXVsbmllcnMgPG5kZXNhdWxuaWVyc0Bnb29nbGUuY29tPgotLS0KIGFy Y2gveDg2L01ha2VmaWxlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gveDg2L01ha2VmaWxlIGIvYXJjaC94 ODYvTWFrZWZpbGUKaW5kZXggZjQwOGJhYmRmNzQ2Li42MDVkYzRkZmFjNTQgMTAwNjQ0Ci0tLSBh L2FyY2gveDg2L01ha2VmaWxlCisrKyBiL2FyY2gveDg2L01ha2VmaWxlCkBAIC04OCwxMCArODgs MTAgQEAgZWxzZQogICAgICAgICBLQlVJTERfQ0ZMQUdTICs9IC1tNjQKIAogICAgICAgICAjIEFs aWduIGp1bXAgdGFyZ2V0cyB0byAxIGJ5dGUsIG5vdCB0aGUgZGVmYXVsdCAxNiBieXRlczoKLSAg ICAgICAgS0JVSUxEX0NGTEFHUyArPSAtZmFsaWduLWp1bXBzPTEKKyAgICAgICAgS0JVSUxEX0NG TEFHUyArPSAkKGNhbGwgY2Mtb3B0aW9uLC1mYWxpZ24tanVtcHM9MSkKIAogICAgICAgICAjIFBh Y2sgbG9vcHMgdGlnaHRseSBhcyB3ZWxsOgotICAgICAgICBLQlVJTERfQ0ZMQUdTICs9IC1mYWxp Z24tbG9vcHM9MQorICAgICAgICBLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1vcHRpb24sLWZh bGlnbi1sb29wcz0xKQogCiAgICAgICAgICMgRG9uJ3QgYXV0b2dlbmVyYXRlIHRyYWRpdGlvbmFs IHg4NyBpbnN0cnVjdGlvbnMKICAgICAgICAgS0JVSUxEX0NGTEFHUyArPSAkKGNhbGwgY2Mtb3B0 aW9uLC1tbm8tODAzODcpCi0tIAoyLjE5LjEuMTIxNS5nODQzOGMwYjI0NS1nb29nCgoKRnJvbSA1 ZGQyZWJkZDJhZjQzZTA3MDk4YTcxMTY5YmQyYWI1Yjc0NmEwYzA5IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBNaWNoYWVsIERhdmlkc29uIDxtZEBnb29nbGUuY29tPgpEYXRlOiBXZWQs IDE1IE1hciAyMDE3IDE1OjM2OjAwIC0wNzAwClN1YmplY3Q6IFtQQVRDSCAxMi8yNl0gY3J5cHRv LCB4ODY6IGFlc25pIC0gZml4IHRva2VuIHBhc3RpbmcgZm9yIGNsYW5nCgpjb21taXQgZmRiMjcy NmY0ZTYxYzVlM2FiYzA1MmY1NDdkNWE1ZjZjMGRjNTUwNCB1cHN0cmVhbS4KCmFlc19jdHJieThf YXZ4LXg4Nl82NC5TIHVzZXMgdGhlIEMgcHJlcHJvY2Vzc29yIGZvciB0b2tlbiBwYXN0aW5nCm9m IGNoYXJhY3RlciBzZXF1ZW5jZXMgdGhhdCBhcmUgbm90IHZhbGlkIHByZXByb2Nlc3NvciB0b2tl bnMuCldoaWxlIHRoaXMgaXMgYWxsb3dlZCB3aGVuIHByZXByb2Nlc3NpbmcgYXNzZW1ibGVyIGZp bGVzIGl0IGV4cG9zZXMKYW4gaW5jb21wYXRpYmlsdHkgYmV0d2VlbiB0aGUgY2xhbmcgYW5kIGdj YyBwcmVwcm9jZXNzb3JzIHdoZXJlCmNsYW5nIGRvZXMgbm90IHN0cmlwIGxlYWRpbmcgd2hpdGUg c3BhY2UgZnJvbSBtYWNybyBwYXJhbWV0ZXJzLApsZWFkaW5nIHRvIHRoZSBDT05DQVQoJXhtbSwg aSkgbWFjcm8gZXhwYW5zaW9uIG9uIGxpbmUgOTYgcmVzdWx0aW5nCmluIGEgdG9rZW4gd2l0aCBh IHNwYWNlIGNoYXJhY3RlciBlbWJlZGRlZCBpbiBpdC4KCldoaWxlIHRoaXMgY291bGQgYmUgcmVz b2x2ZWQgYnkgZGVsZXRpbmcgdGhlIG9mZmVuZGluZyBzcGFjZSBjaGFyYWN0ZXIsCnRoZSBhc3Nl bWJsZXIgaXMgcGVyZmVjdGx5IGNhcGFibGUgb2YgZG9pbmcgdGhlIHRva2VuIHBhc3RpbmcgY29y cmVjdGx5CmZvciBpdHNlbGYgc28gd2UgY2FuIGp1c3QgZ2V0IHJpZCBvZiB0aGUgcHJlcHJvY2Vz c29yIG1hY3Jvcy4KClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgRGF2aWRzb24gPG1kQGdvb2dsZS5j b20+ClNpZ25lZC1vZmYtYnk6IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5h dT4KU2lnbmVkLW9mZi1ieTogTmljayBEZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5j b20+Ci0tLQogYXJjaC94ODYvY3J5cHRvL2Flc19jdHJieThfYXZ4LXg4Nl82NC5TIHwgNyArKy0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2FyY2gveDg2L2NyeXB0by9hZXNfY3RyYnk4X2F2eC14ODZfNjQuUyBiL2FyY2gv eDg2L2NyeXB0by9hZXNfY3RyYnk4X2F2eC14ODZfNjQuUwppbmRleCBhOTE2YzRhNjExNjUuLjVm NmE1YWY5YzQ4OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvY3J5cHRvL2Flc19jdHJieThfYXZ4LXg4 Nl82NC5TCisrKyBiL2FyY2gveDg2L2NyeXB0by9hZXNfY3RyYnk4X2F2eC14ODZfNjQuUwpAQCAt NjUsNyArNjUsNiBAQAogI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2UuaD4KICNpbmNsdWRlIDxhc20v aW5zdC5oPgogCi0jZGVmaW5lIENPTkNBVChhLGIpCWEjI2IKICNkZWZpbmUgVk1PVkRRCQl2bW92 ZHF1CiAKICNkZWZpbmUgeGRhdGEwCQkleG1tMApAQCAtOTIsOCArOTEsNiBAQAogI2RlZmluZSBu dW1fYnl0ZXMJJXI4CiAKICNkZWZpbmUgdG1wCQklcjEwCi0jZGVmaW5lCUREUShpKQkJQ09OQ0FU KGRkcV9hZGRfLGkpCi0jZGVmaW5lCVhNTShpKQkJQ09OQ0FUKCV4bW0sIGkpCiAjZGVmaW5lCURE UV9EQVRBCTAKICNkZWZpbmUJWERBVEEJCTEKICNkZWZpbmUgS0VZXzEyOAkJMQpAQCAtMTMxLDEy ICsxMjgsMTIgQEAgZGRxX2FkZF84OgogLyogZ2VuZXJhdGUgYSB1bmlxdWUgdmFyaWFibGUgZm9y IGRkcV9hZGRfeCAqLwogCiAubWFjcm8gc2V0ZGRxIG4KLQl2YXJfZGRxX2FkZCA9IEREUShcbikK Kwl2YXJfZGRxX2FkZCA9IGRkcV9hZGRfXG4KIC5lbmRtCiAKIC8qIGdlbmVyYXRlIGEgdW5pcXVl IHZhcmlhYmxlIGZvciB4bW0gcmVnaXN0ZXIgKi8KIC5tYWNybyBzZXR4ZGF0YSBuCi0JdmFyX3hk YXRhID0gWE1NKFxuKQorCXZhcl94ZGF0YSA9ICV4bW1cbgogLmVuZG0KIAogLyogY2x1YiB0aGUg bnVtZXJpYyAnaWQnIHRvIHRoZSBzeW1ib2wgJ25hbWUnICovCi0tIAoyLjE5LjEuMTIxNS5nODQz OGMwYjI0NS1nb29nCgoKRnJvbSA3MWNlZmMxOTI3MjE3MmFhMTkxZDU5OTNhYjY0N2FmZDI4MmQy NGM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0aGlhcyBLYWVobGNrZSA8bWth QGNocm9taXVtLm9yZz4KRGF0ZTogV2VkLCAyMSBKdW4gMjAxNyAxNjoyODowMyAtMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMTMvMjZdIGtidWlsZDogQWRkIF9fY2Mtb3B0aW9uIG1hY3JvCgpjb21taXQg OWYzZjFmZDI5OTc2ODc4MjQ2NWNiMzJjZGYwZGQ0NTI4ZDExZjI2YiB1cHN0cmVhbS4KCmNjLW9w dGlvbiB1c2VzIEtCVUlMRF9DRkxBR1MgYW5kIEtCVUlMRF9DUFBGTEFHUyB3aGVuIGl0IGRldGVy bWluZXMKd2hldGhlciBhbiBvcHRpb24gaXMgc3VwcG9ydGVkIG9yIG5vdC4gVGhpcyBpcyBmaW5l IGZvciBvcHRpb25zIHVzZWQgdG8KYnVpbGQgdGhlIGtlcm5lbCBpdHNlbGYsIGhvd2V2ZXIgc29t ZSBjb21wb25lbnRzIGxpa2UgdGhlIHg4NiBib290IGNvZGUKdXNlIGEgZGlmZmVyZW50IHNldCBv ZiBmbGFncy4KCkFkZCB0aGUgbmV3IG1hY3JvIF9fY2Mtb3B0aW9uIHdoaWNoIGlzIGEgbW9yZSBn ZW5lcmljIHZlcnNpb24gb2YKY2Mtb3B0aW9uIHdpdGggYWRkaXRpb25hbCBwYXJhbWV0ZXJzLiBP bmUgcGFyYW1ldGVyIGlzIHRoZSBjb21waWxlcgp3aXRoIHdoaWNoIHRoZSBjaGVjayBzaG91bGQg YmUgcGVyZm9ybWVkLCB0aGUgb3RoZXIgdGhlIGNvbXBpbGVyIG9wdGlvbnMKdG8gYmUgdXNlZCBp bnN0ZWFkIEtCVUlMRF9DKkZMQUdTLgoKUmVmYWN0b3IgY2Mtb3B0aW9uIGFuZCBob3N0Y2Mtb3B0 aW9uIHRvIHVzZSBfX2NjLW9wdGlvbiBhbmQgbW92ZQpob3N0Y2Mtb3B0aW9uIHRvIHNjcmlwdHMv S2J1aWxkLmluY2x1ZGUuCgpTdWdnZXN0ZWQtYnk6IEFybmQgQmVyZ21hbm4gPGFybmRAYXJuZGIu ZGU+ClN1Z2dlc3RlZC1ieTogTWFzYWhpcm8gWWFtYWRhIDx5YW1hZGEubWFzYWhpcm9Ac29jaW9u ZXh0LmNvbT4KU2lnbmVkLW9mZi1ieTogTWF0dGhpYXMgS2FlaGxja2UgPG1rYUBjaHJvbWl1bS5v cmc+CkFja2VkLWJ5OiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRlPgpBY2tlZC1ieTogTWlj aGFsIE1hcmVrIDxtbWFyZWtAc3VzZS5jb20+ClNpZ25lZC1vZmYtYnk6IE1hc2FoaXJvIFlhbWFk YSA8eWFtYWRhLm1hc2FoaXJvQHNvY2lvbmV4dC5jb20+ClNpZ25lZC1vZmYtYnk6IE5pY2sgRGVz YXVsbmllcnMgPG5kZXNhdWxuaWVyc0Bnb29nbGUuY29tPgotLS0KIE1ha2VmaWxlICAgICAgICAg ICAgICAgfCAgMiArLQogc2NyaXB0cy9LYnVpbGQuaW5jbHVkZSB8IDE0ICsrKysrKysrKysrKy0t CiBzY3JpcHRzL01ha2VmaWxlLmhvc3QgIHwgIDYgLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDEz IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9N YWtlZmlsZQppbmRleCA0YzYyNDMwNGI5YTUuLmMxNzUyNzYyY2M2YyAxMDA2NDQKLS0tIGEvTWFr ZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTMwMyw3ICszMDMsNyBAQCBDT05GSUdfU0hFTEwgOj0g JChzaGVsbCBpZiBbIC14ICIkJEJBU0giIF07IHRoZW4gZWNobyAkJEJBU0g7IFwKIAogSE9TVEND ICAgICAgID0gZ2NjCiBIT1NUQ1hYICAgICAgPSBnKysKLUhPU1RDRkxBR1MgICA9IC1XYWxsIC1X bWlzc2luZy1wcm90b3R5cGVzIC1Xc3RyaWN0LXByb3RvdHlwZXMgLU8yIC1mb21pdC1mcmFtZS1w b2ludGVyIC1zdGQ9Z251ODkKK0hPU1RDRkxBR1MgICA6PSAtV2FsbCAtV21pc3NpbmctcHJvdG90 eXBlcyAtV3N0cmljdC1wcm90b3R5cGVzIC1PMiAtZm9taXQtZnJhbWUtcG9pbnRlciAtc3RkPWdu dTg5CiBIT1NUQ1hYRkxBR1MgPSAtTzIKIAogaWZlcSAoJChzaGVsbCAkKEhPU1RDQykgLXYgMj4m MSB8IGdyZXAgLWMgImNsYW5nIHZlcnNpb24iKSwgMSkKZGlmZiAtLWdpdCBhL3NjcmlwdHMvS2J1 aWxkLmluY2x1ZGUgYi9zY3JpcHRzL0tidWlsZC5pbmNsdWRlCmluZGV4IGUwYWFiYTA5MzQ1NS4u MTIzODQwZDgyN2U4IDEwMDY0NAotLS0gYS9zY3JpcHRzL0tidWlsZC5pbmNsdWRlCisrKyBiL3Nj cmlwdHMvS2J1aWxkLmluY2x1ZGUKQEAgLTEwOSw2ICsxMDksMTEgQEAgYXMtb3B0aW9uID0gJChj YWxsIHRyeS1ydW4sXAogYXMtaW5zdHIgPSAkKGNhbGwgdHJ5LXJ1bixcCiAJcHJpbnRmICIlYlxu IiAiJCgxKSIgfCAkKENDKSAkKEtCVUlMRF9BRkxBR1MpIC1jIC14IGFzc2VtYmxlciAtbyAiJCRU TVAiIC0sJCgyKSwkKDMpKQogCisjIF9fY2Mtb3B0aW9uCisjIFVzYWdlOiBNWV9DRkxBR1MgKz0g JChjYWxsIF9fY2Mtb3B0aW9uLCQoQ0MpLCQoTVlfQ0ZMQUdTKSwtbWFyY2g9d2luY2hpcC1jNiwt bWFyY2g9aTU4NikKK19fY2Mtb3B0aW9uID0gJChjYWxsIHRyeS1ydW4sXAorCSQoMSkgLVdlcnJv ciAkKDIpICQoMykgLWMgLXggYyAvZGV2L251bGwgLW8gIiQkVE1QIiwkKDMpLCQoNCkpCisKICMg RG8gbm90IGF0dGVtcHQgdG8gYnVpbGQgd2l0aCBnY2MgcGx1Z2lucyBkdXJpbmcgY2Mtb3B0aW9u IHRlc3RzLgogIyAoQW5kIHRoaXMgdXNlcyBkZWxheWVkIHJlc29sdXRpb24gc28gdGhlIGZsYWdz IHdpbGwgYmUgdXAgdG8gZGF0ZS4pCiBDQ19PUFRJT05fQ0ZMQUdTID0gJChmaWx0ZXItb3V0ICQo R0NDX1BMVUdJTlNfQ0ZMQUdTKSwkKEtCVUlMRF9DRkxBR1MpKQpAQCAtMTE2LDggKzEyMSwxMyBA QCBDQ19PUFRJT05fQ0ZMQUdTID0gJChmaWx0ZXItb3V0ICQoR0NDX1BMVUdJTlNfQ0ZMQUdTKSwk KEtCVUlMRF9DRkxBR1MpKQogIyBjYy1vcHRpb24KICMgVXNhZ2U6IGNmbGFncy15ICs9ICQoY2Fs bCBjYy1vcHRpb24sLW1hcmNoPXdpbmNoaXAtYzYsLW1hcmNoPWk1ODYpCiAKLWNjLW9wdGlvbiA9 ICQoY2FsbCB0cnktcnVuLFwKLQkkKENDKSAtV2Vycm9yICQoS0JVSUxEX0NQUEZMQUdTKSAkKEND X09QVElPTl9DRkxBR1MpICQoMSkgLWMgLXggYyAvZGV2L251bGwgLW8gIiQkVE1QIiwkKDEpLCQo MikpCitjYy1vcHRpb24gPSAkKGNhbGwgX19jYy1vcHRpb24sICQoQ0MpLFwKKwkkKEtCVUlMRF9D UFBGTEFHUykgJChDQ19PUFRJT05fQ0ZMQUdTKSwkKDEpLCQoMikpCisKKyMgaG9zdGNjLW9wdGlv bgorIyBVc2FnZTogY2ZsYWdzLXkgKz0gJChjYWxsIGhvc3RjYy1vcHRpb24sLW1hcmNoPXdpbmNo aXAtYzYsLW1hcmNoPWk1ODYpCitob3N0Y2Mtb3B0aW9uID0gJChjYWxsIF9fY2Mtb3B0aW9uLCAk KEhPU1RDQyksXAorCSQoSE9TVENGTEFHUykgJChIT1NUX0VYVFJBQ0ZMQUdTKSwkKDEpLCQoMikp CiAKICMgY2Mtb3B0aW9uLXluCiAjIFVzYWdlOiBmbGFnIDo9ICQoY2FsbCBjYy1vcHRpb24teW4s LW1hcmNoPXdpbmNoaXAtYzYpCmRpZmYgLS1naXQgYS9zY3JpcHRzL01ha2VmaWxlLmhvc3QgYi9z Y3JpcHRzL01ha2VmaWxlLmhvc3QKaW5kZXggNDViNWIxYWFlZGJkLi45Y2ZkNWM4NGQ3NmYgMTAw NjQ0Ci0tLSBhL3NjcmlwdHMvTWFrZWZpbGUuaG9zdAorKysgYi9zY3JpcHRzL01ha2VmaWxlLmhv c3QKQEAgLTIwLDEyICsyMCw2IEBACiAjIFdpbGwgY29tcGlsZSBxY29uZiBhcyBhIEMrKyBwcm9n cmFtLCBhbmQgbWVudSBhcyBhIEMgcHJvZ3JhbS4KICMgVGhleSBhcmUgbGlua2VkIGFzIEMrKyBj b2RlIHRvIHRoZSBleGVjdXRhYmxlIHFjb25mCiAKLSMgaG9zdGNjLW9wdGlvbgotIyBVc2FnZTog Y2ZsYWdzLXkgKz0gJChjYWxsIGhvc3RjYy1vcHRpb24sLW1hcmNoPXdpbmNoaXAtYzYsLW1hcmNo PWk1ODYpCi0KLWhvc3RjYy1vcHRpb24gPSAkKGNhbGwgdHJ5LXJ1bixcCi0JJChIT1NUQ0MpICQo SE9TVENGTEFHUykgJChIT1NUX0VYVFJBQ0ZMQUdTKSAkKDEpIC1jIC14IGMgL2Rldi9udWxsIC1v ICIkJFRNUCIsJCgxKSwkKDIpKQotCiBfX2hvc3Rwcm9ncyA6PSAkKHNvcnQgJChob3N0cHJvZ3Mt eSkgJChob3N0cHJvZ3MtbSkpCiBob3N0LWNzaGxpYiA6PSAkKHNvcnQgJChob3N0bGlicy15KSAk KGhvc3RsaWJzLW0pKQogaG9zdC1jeHhzaGxpYiA6PSAkKHNvcnQgJChob3N0Y3h4bGlicy15KSAk KGhvc3RjeHhsaWJzLW0pKQotLSAKMi4xOS4xLjEyMTUuZzg0MzhjMGIyNDUtZ29vZwoKCkZyb20g MDQ1NGZmZDZmYmJhNWEyODhkMGM4NjlhOTI3OGEzNmYzMjliMjg0ZiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKRnJvbTogTWF0dGhpYXMgS2FlaGxja2UgPG1rYUBjaHJvbWl1bS5vcmc+CkRhdGU6 IFdlZCwgMjEgSnVuIDIwMTcgMTY6Mjg6MDQgLTA3MDAKU3ViamVjdDogW1BBVENIIDE0LzI2XSB4 ODYvYnVpbGQ6IFVzZSBfX2NjLW9wdGlvbiBmb3IgYm9vdCBjb2RlIGNvbXBpbGVyCiBvcHRpb25z Cgpjb21taXQgMDMyYTJjNGY2NWEyZjgxYzkzZTE2MWExMTE5N2JhMTliYzE0YTkwOSB1cHN0cmVh bS4KCmNjLW9wdGlvbiBpcyB1c2VkIHRvIGVuYWJsZSBjb21waWxlciBvcHRpb25zIGZvciB0aGUg Ym9vdCBjb2RlIGlmIHRoZXkKYXJlIGF2YWlsYWJsZS4gVGhlIG1hY3JvIHVzZXMgS0JVSUxEX0NG TEFHUyBhbmQgS0JVSUxEX0NQUEZMQUdTIGZvciB0aGUKY2hlY2ssIGhvd2V2ZXIgdGhlc2UgZmxh Z3MgYXJlbid0IHVzZWQgdG8gYnVpbGQgdGhlIGJvb3QgY29kZSwgaW4KY29uc2VxdWVuY2UgY2Mt b3B0aW9uIGNhbiB5aWVsZCB3cm9uZyByZXN1bHRzLiBGb3IgZXhhbXBsZQotbXByZWZlcnJlZC1z dGFjay1ib3VuZGFyeT0yIGlzIG5ldmVyIHNldCB3aXRoIGEgNjQtYml0IGNvbXBpbGVyLApzaW5j ZSB0aGUgc2V0dGluZyBpcyBvbmx5IHZhbGlkIGZvciAxNiBhbmQgMzItYml0IGJpbmFyaWVzLiBU aGlzCmlzIGFsc28gdGhlIGNhc2UgZm9yIDMyLWJpdCBrZXJuZWwgYnVpbGRzLCBiZWNhdXNlIHRo ZSBvcHRpb24gLW0zMiBpcwphZGRlZCB0byBLQlVJTERfQ0ZMQUdTIGFmdGVyIHRoZSBhc3NpZ25t ZW50IG9mIFJFQUxNT0RFX0NGTEFHUy4KClVzZSBfX2NjLW9wdGlvbiBpbnN0ZWFkIG9mIGNjLW9w dGlvbiBmb3IgdGhlIGJvb3QgbW9kZSBvcHRpb25zLgpUaGUgbWFjcm8gcmVjZWl2ZXMgdGhlIGNv bXBpbGVyIG9wdGlvbnMgYXMgcGFyYW1ldGVyIGluc3RlYWQgb2YgdXNpbmcKS0JVSUxEX0MqRkxB R1MsIGZvciB0aGUgYm9vdCBjb2RlIHdlIHBhc3MgUkVBTE1PREVfQ0ZMQUdTLgoKQWxzbyB1c2Ug c2VwYXJhdGUgc3RhdGVtZW50cyBmb3IgdGhlIF9fY2Mtb3B0aW9uIGNoZWNrcyBpbnN0ZWFkCm9m IHBlcmZvcm1pbmcgdGhlbSBpbiB0aGUgaW5pdGlhbCBhc3NpZ25tZW50IG9mIFJFQUxNT0RFX0NG TEFHUyBzaW5jZQp0aGUgdmFyaWFibGUgaXMgYW4gaW5wdXQgb2YgdGhlIG1hY3JvLgoKU2lnbmVk LW9mZi1ieTogTWF0dGhpYXMgS2FlaGxja2UgPG1rYUBjaHJvbWl1bS5vcmc+CkFja2VkLWJ5OiBJ bmdvIE1vbG5hciA8bWluZ29Aa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogTWFzYWhpcm8gWWFt YWRhIDx5YW1hZGEubWFzYWhpcm9Ac29jaW9uZXh0LmNvbT4KU2lnbmVkLW9mZi1ieTogTmljayBE ZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5jb20+Ci0tLQogYXJjaC94ODYvTWFrZWZp bGUgfCA5ICsrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9NYWtlZmlsZSBiL2FyY2gveDg2L01ha2Vm aWxlCmluZGV4IDYwNWRjNGRmYWM1NC4uNGYxYzc5ZDE2NGQ0IDEwMDY0NAotLS0gYS9hcmNoL3g4 Ni9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9NYWtlZmlsZQpAQCAtMjQsMTAgKzI0LDExIEBAIFJF QUxNT0RFX0NGTEFHUwk6PSAkKE0xNl9DRkxBR1MpIC1nIC1PcyAtRF9fS0VSTkVMX18gXAogCQkg ICAtRERJU0FCTEVfQlJBTkNIX1BST0ZJTElORyBcCiAJCSAgIC1XYWxsIC1Xc3RyaWN0LXByb3Rv dHlwZXMgLW1hcmNoPWkzODYgLW1yZWdwYXJtPTMgXAogCQkgICAtZm5vLXN0cmljdC1hbGlhc2lu ZyAtZm9taXQtZnJhbWUtcG9pbnRlciAtZm5vLXBpYyBcCi0JCSAgIC1tbm8tbW14IC1tbm8tc3Nl IFwKLQkJICAgJChjYWxsIGNjLW9wdGlvbiwgLWZmcmVlc3RhbmRpbmcpIFwKLQkJICAgJChjYWxs IGNjLW9wdGlvbiwgLWZuby1zdGFjay1wcm90ZWN0b3IpIFwKLQkJICAgJChjYWxsIGNjLW9wdGlv biwgLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MikKKwkJICAgLW1uby1tbXggLW1uby1zc2UK KworUkVBTE1PREVfQ0ZMQUdTICs9ICQoY2FsbCBfX2NjLW9wdGlvbiwgJChDQyksICQoUkVBTE1P REVfQ0ZMQUdTKSwgLWZmcmVlc3RhbmRpbmcpCitSRUFMTU9ERV9DRkxBR1MgKz0gJChjYWxsIF9f Y2Mtb3B0aW9uLCAkKENDKSwgJChSRUFMTU9ERV9DRkxBR1MpLCAtZm5vLXN0YWNrLXByb3RlY3Rv cikKK1JFQUxNT0RFX0NGTEFHUyArPSAkKGNhbGwgX19jYy1vcHRpb24sICQoQ0MpLCAkKFJFQUxN T0RFX0NGTEFHUyksIC1tcHJlZmVycmVkLXN0YWNrLWJvdW5kYXJ5PTIpCiBleHBvcnQgUkVBTE1P REVfQ0ZMQUdTCiAKICMgQklUUyBpcyB1c2VkIGFzIGV4dGVuc2lvbiBmb3IgZmlsZXMgd2hpY2gg YXJlIGF2YWlsYWJsZSBpbiBhIDMyIGJpdAotLSAKMi4xOS4xLjEyMTUuZzg0MzhjMGIyNDUtZ29v ZwoKCkZyb20gMWExMjg2ZWQ1NDQ4ZDBhMTBhOWQzNDM5MDM0NWM5MmE2NWExYTE2MSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWF0dGhpYXMgS2FlaGxja2UgPG1rYUBjaHJvbWl1bS5v cmc+CkRhdGU6IFdlZCwgMjEgSnVuIDIwMTcgMTY6Mjg6MDUgLTA3MDAKU3ViamVjdDogW1BBVENI IDE1LzI2XSB4ODYvYnVpbGQ6IFNwZWNpZnkgc3RhY2sgYWxpZ25tZW50IGZvciBjbGFuZwoKY29t bWl0IGQ3NzY5OGRmMzlhNTEyOTExNTg2ODM0ZDMwMzI3NWVhNWZkYTc0ZDAgdXBzdHJlYW0uCgpG b3IgZ2NjIHN0YWNrIGFsaWdubWVudCBpcyBjb25maWd1cmVkIHdpdGggLW1wcmVmZXJyZWQtc3Rh Y2stYm91bmRhcnk9TiwKY2xhbmcgaGFzIHRoZSBvcHRpb24gLW1zdGFjay1hbGlnbm1lbnQ9TiBm b3IgdGhhdCBwdXJwb3NlLiBVc2UgdGhlIHNhbWUKYWxpZ25tZW50IGFzIHdpdGggZ2NjLgoKSWYg dGhlIGFsaWdubWVudCBpcyBub3Qgc3BlY2lmaWVkIGNsYW5nIGFzc3VtZXMgYW4gYWxpZ25tZW50 IG9mCjE2IGJ5dGVzLCBhcyByZXF1aXJlZCBieSB0aGUgc3RhbmRhcmQgQUJJLiBIb3dldmVyIGFz IG1lbnRpb25lZCBpbgpkOWIwY2RlOTFjNjAgKCJ4ODYtNjQsIGdjYzogVXNlIC1tcHJlZmVycmVk LXN0YWNrLWJvdW5kYXJ5PTMgaWYKc3VwcG9ydGVkIikgdGhlIHN0YW5kYXJkIGtlcm5lbCBlbnRy eSBvbiB4ODYtNjQgbGVhdmVzIHRoZSBzdGFjawpvbiBhbiA4LWJ5dGUgYm91bmRhcnksIGFzIGEg Y29uc2VxdWVuY2UgY2xhbmcgd2lsbCBrZWVwIHRoZSBzdGFjawptaXNhbGlnbmVkLgoKU2lnbmVk LW9mZi1ieTogTWF0dGhpYXMgS2FlaGxja2UgPG1rYUBjaHJvbWl1bS5vcmc+CkFja2VkLWJ5OiBJ bmdvIE1vbG5hciA8bWluZ29Aa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogTWFzYWhpcm8gWWFt YWRhIDx5YW1hZGEubWFzYWhpcm9Ac29jaW9uZXh0LmNvbT4KU2lnbmVkLW9mZi1ieTogTmljayBE ZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5jb20+Ci0tLQogYXJjaC94ODYvTWFrZWZp bGUgfCAyNiArKysrKysrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIxIGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvTWFrZWZp bGUgYi9hcmNoL3g4Ni9NYWtlZmlsZQppbmRleCA0ZjFjNzlkMTY0ZDQuLmZiMTQ2YmQ2ODZjYyAx MDA2NDQKLS0tIGEvYXJjaC94ODYvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvTWFrZWZpbGUKQEAg LTExLDYgKzExLDE0IEBAIGVsc2UKICAgICAgICAgS0JVSUxEX0RFRkNPTkZJRyA6PSAkKEFSQ0gp X2RlZmNvbmZpZwogZW5kaWYKIAorIyBGb3IgZ2NjIHN0YWNrIGFsaWdubWVudCBpcyBzcGVjaWZp ZWQgd2l0aCAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeSwKKyMgY2xhbmcgaGFzIHRoZSBvcHRp b24gLW1zdGFjay1hbGlnbm1lbnQgZm9yIHRoYXQgcHVycG9zZS4KK2lmbmVxICgkKGNhbGwgY2Mt b3B0aW9uLCAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeT00KSwpCisgICAgICAgIGNjX3N0YWNr X2FsaWduX29wdCA6PSAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeQorZWxzZSBpZm5lcSAoJChj YWxsIGNjLW9wdGlvbiwgLW1zdGFjay1hbGlnbm1lbnQ9NCksKQorICAgICAgICBjY19zdGFja19h bGlnbl9vcHQgOj0gLW1zdGFjay1hbGlnbm1lbnQKK2VuZGlmCisKICMgSG93IHRvIGNvbXBpbGUg dGhlIDE2LWJpdCBjb2RlLiAgTm90ZSB3ZSBhbHdheXMgY29tcGlsZSBmb3IgLW1hcmNoPWkzODY7 CiAjIHRoYXQgd2F5IHdlIGNhbiBjb21wbGFpbiB0byB0aGUgdXNlciBpZiB0aGUgQ1BVIGlzIGlu c3VmZmljaWVudC4KICMKQEAgLTI4LDcgKzM2LDcgQEAgUkVBTE1PREVfQ0ZMQUdTCTo9ICQoTTE2 X0NGTEFHUykgLWcgLU9zIC1EX19LRVJORUxfXyBcCiAKIFJFQUxNT0RFX0NGTEFHUyArPSAkKGNh bGwgX19jYy1vcHRpb24sICQoQ0MpLCAkKFJFQUxNT0RFX0NGTEFHUyksIC1mZnJlZXN0YW5kaW5n KQogUkVBTE1PREVfQ0ZMQUdTICs9ICQoY2FsbCBfX2NjLW9wdGlvbiwgJChDQyksICQoUkVBTE1P REVfQ0ZMQUdTKSwgLWZuby1zdGFjay1wcm90ZWN0b3IpCi1SRUFMTU9ERV9DRkxBR1MgKz0gJChj YWxsIF9fY2Mtb3B0aW9uLCAkKENDKSwgJChSRUFMTU9ERV9DRkxBR1MpLCAtbXByZWZlcnJlZC1z dGFjay1ib3VuZGFyeT0yKQorUkVBTE1PREVfQ0ZMQUdTICs9ICQoY2FsbCBfX2NjLW9wdGlvbiwg JChDQyksICQoUkVBTE1PREVfQ0ZMQUdTKSwgJChjY19zdGFja19hbGlnbl9vcHQpPTIpCiBleHBv cnQgUkVBTE1PREVfQ0ZMQUdTCiAKICMgQklUUyBpcyB1c2VkIGFzIGV4dGVuc2lvbiBmb3IgZmls ZXMgd2hpY2ggYXJlIGF2YWlsYWJsZSBpbiBhIDMyIGJpdApAQCAtNjUsOCArNzMsMTAgQEAgaWZl cSAoJChDT05GSUdfWDg2XzMyKSx5KQogICAgICAgICAjIHdpdGggbm9uc3RhbmRhcmQgb3B0aW9u cwogICAgICAgICBLQlVJTERfQ0ZMQUdTICs9IC1mbm8tcGljCiAKLSAgICAgICAgIyBwcmV2ZW50 IGdjYyBmcm9tIGtlZXBpbmcgdGhlIHN0YWNrIDE2IGJ5dGUgYWxpZ25lZAotICAgICAgICBLQlVJ TERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1vcHRpb24sLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9 MikKKyAgICAgICAgIyBBbGlnbiB0aGUgc3RhY2sgdG8gdGhlIHJlZ2lzdGVyIHdpZHRoIGluc3Rl YWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQKKyAgICAgICAgIyBhbGlnbm1lbnQgb2YgMTYgYnl0ZXMu IFRoaXMgcmVkdWNlcyBzdGFjayB1c2FnZSBhbmQgdGhlIG51bWJlciBvZgorICAgICAgICAjIGFs aWdubWVudCBpbnN0cnVjdGlvbnMuCisgICAgICAgIEtCVUlMRF9DRkxBR1MgKz0gJChjYWxsIGNj LW9wdGlvbiwkKGNjX3N0YWNrX2FsaWduX29wdCk9MikKIAogICAgICAgICAjIERpc2FibGUgdW5p dC1hdC1hLXRpbWUgbW9kZSBvbiBwcmUtZ2NjLTQuMCBjb21waWxlcnMsIGl0IG1ha2VzIGdjYyB1 c2UKICAgICAgICAgIyBhIGxvdCBtb3JlIHN0YWNrIGR1ZSB0byB0aGUgbGFjayBvZiBzaGFyaW5n IG9mIHN0YWNrbG90czoKQEAgLTk4LDggKzEwOCwxNCBAQCBlbHNlCiAgICAgICAgIEtCVUlMRF9D RkxBR1MgKz0gJChjYWxsIGNjLW9wdGlvbiwtbW5vLTgwMzg3KQogICAgICAgICBLQlVJTERfQ0ZM QUdTICs9ICQoY2FsbCBjYy1vcHRpb24sLW1uby1mcC1yZXQtaW4tMzg3KQogCi0JIyBVc2UgLW1w cmVmZXJyZWQtc3RhY2stYm91bmRhcnk9MyBpZiBzdXBwb3J0ZWQuCi0JS0JVSUxEX0NGTEFHUyAr PSAkKGNhbGwgY2Mtb3B0aW9uLC1tcHJlZmVycmVkLXN0YWNrLWJvdW5kYXJ5PTMpCisgICAgICAg ICMgQnkgZGVmYXVsdCBnY2MgYW5kIGNsYW5nIHVzZSBhIHN0YWNrIGFsaWdubWVudCBvZiAxNiBi eXRlcyBmb3IgeDg2LgorICAgICAgICAjIEhvd2V2ZXIgdGhlIHN0YW5kYXJkIGtlcm5lbCBlbnRy eSBvbiB4ODYtNjQgbGVhdmVzIHRoZSBzdGFjayBvbiBhbgorICAgICAgICAjIDgtYnl0ZSBib3Vu ZGFyeS4gSWYgdGhlIGNvbXBpbGVyIGlzbid0IGluZm9ybWVkIGFib3V0IHRoZSBhY3R1YWwKKyAg ICAgICAgIyBhbGlnbm1lbnQgaXQgd2lsbCBnZW5lcmF0ZSBleHRyYSBhbGlnbm1lbnQgaW5zdHJ1 Y3Rpb25zIGZvciB0aGUKKyAgICAgICAgIyBkZWZhdWx0IGFsaWdubWVudCB3aGljaCBrZWVwIHRo ZSBzdGFjayAqbWlzKmFsaWduZWQuCisgICAgICAgICMgRnVydGhlcm1vcmUgYW4gYWxpZ25tZW50 IHRvIHRoZSByZWdpc3RlciB3aWR0aCByZWR1Y2VzIHN0YWNrIHVzYWdlCisgICAgICAgICMgYW5k IHRoZSBudW1iZXIgb2YgYWxpZ25tZW50IGluc3RydWN0aW9ucy4KKyAgICAgICAgS0JVSUxEX0NG TEFHUyArPSAkKGNhbGwgY2Mtb3B0aW9uLCQoY2Nfc3RhY2tfYWxpZ25fb3B0KT0zKQogCiAJIyBV c2UgLW1za2lwLXJheC1zZXR1cCBpZiBzdXBwb3J0ZWQuCiAJS0JVSUxEX0NGTEFHUyArPSAkKGNh bGwgY2Mtb3B0aW9uLC1tc2tpcC1yYXgtc2V0dXApCi0tIAoyLjE5LjEuMTIxNS5nODQzOGMwYjI0 NS1nb29nCgoKRnJvbSA0ODgzNjcwZDI1MTQ2NDUyMmRmNGMxZjA2MWY3NmNiN2RlN2VhMWMzIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0aGlhcyBLYWVobGNrZSA8bWthQGNocm9t aXVtLm9yZz4KRGF0ZTogRnJpLCAyMSBBcHIgMjAxNyAxNDozOTozMCAtMDcwMApTdWJqZWN0OiBb UEFUQ0ggMTYvMjZdIGtidWlsZDogY2xhbmc6IERpc2FibGUgJ2FkZHJlc3Mtb2YtcGFja2VkLW1l bWJlcicKIHdhcm5pbmcKCmNvbW1pdCBiZmIzODk4OGM1MWU0NDBmZDcwNjJkZGYzMTU3ZjdkOGIx ZGQ1ZDcwIHVwc3RyZWFtLgoKY2xhbmcgZ2VuZXJhdGVzIHBsZW50eSBvZiB0aGVzZSB3YXJuaW5n cyBpbiBkaWZmZXJlbnQgcGFydHMgb2YgdGhlIGNvZGUsCnRvIGFuIGV4dGVudCB0aGF0IHRoZSB3 YXJuaW5ncyBhcmUgbGl0dGxlIG1vcmUgdGhhbiBub2lzZS4gRGlzYWJsZSB0aGUKJ2FkZHJlc3Mt b2YtcGFja2VkLW1lbWJlcicgd2FybmluZy4KClNpZ25lZC1vZmYtYnk6IE1hdHRoaWFzIEthZWhs Y2tlIDxta2FAY2hyb21pdW0ub3JnPgpSZXZpZXdlZC1ieTogRG91Z2xhcyBBbmRlcnNvbiA8ZGlh bmRlcnNAY2hyb21pdW0ub3JnPgpTaWduZWQtb2ZmLWJ5OiBNYXNhaGlybyBZYW1hZGEgPHlhbWFk YS5tYXNhaGlyb0Bzb2Npb25leHQuY29tPgpTaWduZWQtb2ZmLWJ5OiBOaWNrIERlc2F1bG5pZXJz IDxuZGVzYXVsbmllcnNAZ29vZ2xlLmNvbT4KLS0tCiBNYWtlZmlsZSB8IDEgKwogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQpp bmRleCBjMTc1Mjc2MmNjNmMuLjI2ZTQ2MWZiZjM3MCAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysr IGIvTWFrZWZpbGUKQEAgLTcxOCw2ICs3MTgsNyBAQCBLQlVJTERfQ1BQRkxBR1MgKz0gJChjYWxs IGNjLW9wdGlvbiwtUXVudXNlZC1hcmd1bWVudHMsKQogS0JVSUxEX0NGTEFHUyArPSAkKGNhbGwg Y2MtZGlzYWJsZS13YXJuaW5nLCB1bnVzZWQtdmFyaWFibGUpCiBLQlVJTERfQ0ZMQUdTICs9ICQo Y2FsbCBjYy1kaXNhYmxlLXdhcm5pbmcsIGZvcm1hdC1pbnZhbGlkLXNwZWNpZmllcikKIEtCVUlM RF9DRkxBR1MgKz0gJChjYWxsIGNjLWRpc2FibGUtd2FybmluZywgZ251KQorS0JVSUxEX0NGTEFH UyArPSAkKGNhbGwgY2MtZGlzYWJsZS13YXJuaW5nLCBhZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIp CiAjIFF1aWV0IGNsYW5nIHdhcm5pbmc6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lv biA8IDAgaXMgYWx3YXlzIGZhbHNlCiBLQlVJTERfQ0ZMQUdTICs9ICQoY2FsbCBjYy1kaXNhYmxl LXdhcm5pbmcsIHRhdXRvbG9naWNhbC1jb21wYXJlKQogIyBDTEFORyB1c2VzIGEgX01lcmdlZEds b2JhbHMgYXMgb3B0aW1pemF0aW9uLCBidXQgdGhpcyBicmVha3MgbW9kcG9zdCwgYXMgdGhlCi0t IAoyLjE5LjEuMTIxNS5nODQzOGMwYjI0NS1nb29nCgoKRnJvbSA1NTg5NjA4OTczZjVkYTQxMTc3 MmNhNDI3NDY5ZDMzODJhZDYxMjdhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBcmQg Qmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4KRGF0ZTogV2VkLCAyNiBBcHIg MjAxNyAxNzoxMTozMiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMjZdIGNyeXB0bzogYXJtNjQv c2hhIC0gYXZvaWQgbm9uLXN0YW5kYXJkIGlubGluZSBhc20KIHRyaWNrcwoKY29tbWl0IGY0ODU3 ZjRjMmVlOWFhNGUyYWFjYWMxYTg0NTM1MmIwMDE5N2ZiNTcgdXBzdHJlYW0uCgpSZXBsYWNlIHRo ZSBpbmxpbmUgYXNtIHdoaWNoIGV4cG9ydHMgc3RydWN0IG9mZnNldHMgYXMgRUxGIHN5bWJvbHMK d2l0aCBwcm9wZXIgY29uc3QgdmFyaWFibGVzIGV4cG9zaW5nIHRoZSBzYW1lIHZhbHVlcy4gVGhp cyB3b3Jrcwphcm91bmQgYW4gaXNzdWUgd2l0aCBDbGFuZyB3aGljaCBkb2VzIG5vdCBpbnRlcnBy ZXQgdGhlICJpIiAob3IgIkkiKQpjb25zdHJhaW50cyBpbiB0aGUgc2FtZSB3YXkgYXMgR0NDLgoK U2lnbmVkLW9mZi1ieTogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+ ClRlc3RlZC1ieTogTWF0dGhpYXMgS2FlaGxja2UgPG1rYUBjaHJvbWl1bS5vcmc+ClNpZ25lZC1v ZmYtYnk6IEhlcmJlcnQgWHUgPGhlcmJlcnRAZ29uZG9yLmFwYW5hLm9yZy5hdT4KU2lnbmVkLW9m Zi1ieTogTmljayBEZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5jb20+Ci0tLQogYXJj aC9hcm02NC9jcnlwdG8vc2hhMS1jZS1jb3JlLlMgfCAgNiArKysrLS0KIGFyY2gvYXJtNjQvY3J5 cHRvL3NoYTEtY2UtZ2x1ZS5jIHwgMTEgKysrLS0tLS0tLS0KIGFyY2gvYXJtNjQvY3J5cHRvL3No YTItY2UtY29yZS5TIHwgIDYgKysrKy0tCiBhcmNoL2FybTY0L2NyeXB0by9zaGEyLWNlLWdsdWUu YyB8IDEzICsrKysrLS0tLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwg MjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9jcnlwdG8vc2hhMS1jZS1j b3JlLlMgYi9hcmNoL2FybTY0L2NyeXB0by9zaGExLWNlLWNvcmUuUwppbmRleCBjOThlN2U4NDlm MDYuLjg1NTA0MDg3MzVhMCAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9jcnlwdG8vc2hhMS1jZS1j b3JlLlMKKysrIGIvYXJjaC9hcm02NC9jcnlwdG8vc2hhMS1jZS1jb3JlLlMKQEAgLTgyLDcgKzgy LDggQEAgRU5UUlkoc2hhMV9jZV90cmFuc2Zvcm0pCiAJbGRyCQlkZ2IsIFt4MCwgIzE2XQogCiAJ LyogbG9hZCBzaGExX2NlX3N0YXRlOjpmaW5hbGl6ZSAqLwotCWxkcgkJdzQsIFt4MCwgIzpsbzEy OnNoYTFfY2Vfb2Zmc2V0b2ZfZmluYWxpemVdCisJbGRyX2wJCXc0LCBzaGExX2NlX29mZnNldG9m X2ZpbmFsaXplLCB4NAorCWxkcgkJdzQsIFt4MCwgeDRdCiAKIAkvKiBsb2FkIGlucHV0ICovCiAw OglsZDEJCXt2OC40cy12MTEuNHN9LCBbeDFdLCAjNjQKQEAgLTEzMiw3ICsxMzMsOCBAQCBDUFVf TEUoCXJldjMyCQl2MTEuMTZiLCB2MTEuMTZiCSkKIAkgKiB0aGUgcGFkZGluZyBpcyBoYW5kbGVk IGJ5IHRoZSBDIGNvZGUgaW4gdGhhdCBjYXNlLgogCSAqLwogCWNiegkJeDQsIDNmCi0JbGRyCQl4 NCwgW3gwLCAjOmxvMTI6c2hhMV9jZV9vZmZzZXRvZl9jb3VudF0KKwlsZHJfbAkJdzQsIHNoYTFf Y2Vfb2Zmc2V0b2ZfY291bnQsIHg0CisJbGRyCQl4NCwgW3gwLCB4NF0KIAltb3ZpCQl2OS4yZCwg IzAKIAltb3YJCXg4LCAjMHg4MDAwMDAwMAogCW1vdmkJCXYxMC4yZCwgIzAKZGlmZiAtLWdpdCBh L2FyY2gvYXJtNjQvY3J5cHRvL3NoYTEtY2UtZ2x1ZS5jIGIvYXJjaC9hcm02NC9jcnlwdG8vc2hh MS1jZS1nbHVlLmMKaW5kZXggYWVmZGE5ODY4NjI3Li5lYTMxOWMwNTVmNWQgMTAwNjQ0Ci0tLSBh L2FyY2gvYXJtNjQvY3J5cHRvL3NoYTEtY2UtZ2x1ZS5jCisrKyBiL2FyY2gvYXJtNjQvY3J5cHRv L3NoYTEtY2UtZ2x1ZS5jCkBAIC0xNyw5ICsxNyw2IEBACiAjaW5jbHVkZSA8bGludXgvY3J5cHRv Lmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAKLSNkZWZpbmUgQVNNX0VYUE9SVChzeW0s IHZhbCkgXAotCWFzbSgiLmdsb2JsICIgI3N5bSAiOyAuc2V0ICIgI3N5bSAiLCAlMCIgOjogIkki KHZhbCkpOwotCiBNT0RVTEVfREVTQ1JJUFRJT04oIlNIQTEgc2VjdXJlIGhhc2ggdXNpbmcgQVJN djggQ3J5cHRvIEV4dGVuc2lvbnMiKTsKIE1PRFVMRV9BVVRIT1IoIkFyZCBCaWVzaGV1dmVsIDxh cmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPiIpOwogTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwpA QCAtMzIsNiArMjksOSBAQCBzdHJ1Y3Qgc2hhMV9jZV9zdGF0ZSB7CiBhc21saW5rYWdlIHZvaWQg c2hhMV9jZV90cmFuc2Zvcm0oc3RydWN0IHNoYTFfY2Vfc3RhdGUgKnNzdCwgdTggY29uc3QgKnNy YywKIAkJCQkgIGludCBibG9ja3MpOwogCitjb25zdCB1MzIgc2hhMV9jZV9vZmZzZXRvZl9jb3Vu dCA9IG9mZnNldG9mKHN0cnVjdCBzaGExX2NlX3N0YXRlLCBzc3QuY291bnQpOworY29uc3QgdTMy IHNoYTFfY2Vfb2Zmc2V0b2ZfZmluYWxpemUgPSBvZmZzZXRvZihzdHJ1Y3Qgc2hhMV9jZV9zdGF0 ZSwgZmluYWxpemUpOworCiBzdGF0aWMgaW50IHNoYTFfY2VfdXBkYXRlKHN0cnVjdCBzaGFzaF9k ZXNjICpkZXNjLCBjb25zdCB1OCAqZGF0YSwKIAkJCSAgdW5zaWduZWQgaW50IGxlbikKIHsKQEAg LTUyLDExICs1Miw2IEBAIHN0YXRpYyBpbnQgc2hhMV9jZV9maW51cChzdHJ1Y3Qgc2hhc2hfZGVz YyAqZGVzYywgY29uc3QgdTggKmRhdGEsCiAJc3RydWN0IHNoYTFfY2Vfc3RhdGUgKnNjdHggPSBz aGFzaF9kZXNjX2N0eChkZXNjKTsKIAlib29sIGZpbmFsaXplID0gIXNjdHgtPnNzdC5jb3VudCAm JiAhKGxlbiAlIFNIQTFfQkxPQ0tfU0laRSk7CiAKLQlBU01fRVhQT1JUKHNoYTFfY2Vfb2Zmc2V0 b2ZfY291bnQsCi0JCSAgIG9mZnNldG9mKHN0cnVjdCBzaGExX2NlX3N0YXRlLCBzc3QuY291bnQp KTsKLQlBU01fRVhQT1JUKHNoYTFfY2Vfb2Zmc2V0b2ZfZmluYWxpemUsCi0JCSAgIG9mZnNldG9m KHN0cnVjdCBzaGExX2NlX3N0YXRlLCBmaW5hbGl6ZSkpOwotCiAJLyoKIAkgKiBBbGxvdyB0aGUg YXNtIGNvZGUgdG8gcGVyZm9ybSB0aGUgZmluYWxpemF0aW9uIGlmIHRoZXJlIGlzIG5vCiAJICog cGFydGlhbCBkYXRhIGFuZCB0aGUgaW5wdXQgaXMgYSByb3VuZCBtdWx0aXBsZSBvZiB0aGUgYmxv Y2sgc2l6ZS4KZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvY3J5cHRvL3NoYTItY2UtY29yZS5TIGIv YXJjaC9hcm02NC9jcnlwdG8vc2hhMi1jZS1jb3JlLlMKaW5kZXggMDFjZmVlMDY2ODM3Li42Nzlj NmMwMDJmNGYgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvY3J5cHRvL3NoYTItY2UtY29yZS5TCisr KyBiL2FyY2gvYXJtNjQvY3J5cHRvL3NoYTItY2UtY29yZS5TCkBAIC04OCw3ICs4OCw4IEBAIEVO VFJZKHNoYTJfY2VfdHJhbnNmb3JtKQogCWxkMQkJe2RnYXYuNHMsIGRnYnYuNHN9LCBbeDBdCiAK IAkvKiBsb2FkIHNoYTI1Nl9jZV9zdGF0ZTo6ZmluYWxpemUgKi8KLQlsZHIJCXc0LCBbeDAsICM6 bG8xMjpzaGEyNTZfY2Vfb2Zmc2V0b2ZfZmluYWxpemVdCisJbGRyX2wJCXc0LCBzaGEyNTZfY2Vf b2Zmc2V0b2ZfZmluYWxpemUsIHg0CisJbGRyCQl3NCwgW3gwLCB4NF0KIAogCS8qIGxvYWQgaW5w dXQgKi8KIDA6CWxkMQkJe3YxNi40cy12MTkuNHN9LCBbeDFdLCAjNjQKQEAgLTEzNiw3ICsxMzcs OCBAQCBDUFVfTEUoCXJldjMyCQl2MTkuMTZiLCB2MTkuMTZiCSkKIAkgKiB0aGUgcGFkZGluZyBp cyBoYW5kbGVkIGJ5IHRoZSBDIGNvZGUgaW4gdGhhdCBjYXNlLgogCSAqLwogCWNiegkJeDQsIDNm Ci0JbGRyCQl4NCwgW3gwLCAjOmxvMTI6c2hhMjU2X2NlX29mZnNldG9mX2NvdW50XQorCWxkcl9s CQl3NCwgc2hhMjU2X2NlX29mZnNldG9mX2NvdW50LCB4NAorCWxkcgkJeDQsIFt4MCwgeDRdCiAJ bW92aQkJdjE3LjJkLCAjMAogCW1vdgkJeDgsICMweDgwMDAwMDAwCiAJbW92aQkJdjE4LjJkLCAj MApkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9jcnlwdG8vc2hhMi1jZS1nbHVlLmMgYi9hcmNoL2Fy bTY0L2NyeXB0by9zaGEyLWNlLWdsdWUuYwppbmRleCA3Y2Q1ODc1NjRhNDEuLjBlZDk0ODZmNzVk ZCAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9jcnlwdG8vc2hhMi1jZS1nbHVlLmMKKysrIGIvYXJj aC9hcm02NC9jcnlwdG8vc2hhMi1jZS1nbHVlLmMKQEAgLTE3LDkgKzE3LDYgQEAKICNpbmNsdWRl IDxsaW51eC9jcnlwdG8uaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KIAotI2RlZmluZSBB U01fRVhQT1JUKHN5bSwgdmFsKSBcCi0JYXNtKCIuZ2xvYmwgIiAjc3ltICI7IC5zZXQgIiAjc3lt ICIsICUwIiA6OiAiSSIodmFsKSk7Ci0KIE1PRFVMRV9ERVNDUklQVElPTigiU0hBLTIyNC9TSEEt MjU2IHNlY3VyZSBoYXNoIHVzaW5nIEFSTXY4IENyeXB0byBFeHRlbnNpb25zIik7CiBNT0RVTEVf QVVUSE9SKCJBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4iKTsKIE1P RFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKQEAgLTMyLDYgKzI5LDExIEBAIHN0cnVjdCBzaGEyNTZf Y2Vfc3RhdGUgewogYXNtbGlua2FnZSB2b2lkIHNoYTJfY2VfdHJhbnNmb3JtKHN0cnVjdCBzaGEy NTZfY2Vfc3RhdGUgKnNzdCwgdTggY29uc3QgKnNyYywKIAkJCQkgIGludCBibG9ja3MpOwogCitj b25zdCB1MzIgc2hhMjU2X2NlX29mZnNldG9mX2NvdW50ID0gb2Zmc2V0b2Yoc3RydWN0IHNoYTI1 Nl9jZV9zdGF0ZSwKKwkJCQkJICAgICAgc3N0LmNvdW50KTsKK2NvbnN0IHUzMiBzaGEyNTZfY2Vf b2Zmc2V0b2ZfZmluYWxpemUgPSBvZmZzZXRvZihzdHJ1Y3Qgc2hhMjU2X2NlX3N0YXRlLAorCQkJ CQkJIGZpbmFsaXplKTsKKwogc3RhdGljIGludCBzaGEyNTZfY2VfdXBkYXRlKHN0cnVjdCBzaGFz aF9kZXNjICpkZXNjLCBjb25zdCB1OCAqZGF0YSwKIAkJCSAgICB1bnNpZ25lZCBpbnQgbGVuKQog ewpAQCAtNTIsMTEgKzU0LDYgQEAgc3RhdGljIGludCBzaGEyNTZfY2VfZmludXAoc3RydWN0IHNo YXNoX2Rlc2MgKmRlc2MsIGNvbnN0IHU4ICpkYXRhLAogCXN0cnVjdCBzaGEyNTZfY2Vfc3RhdGUg KnNjdHggPSBzaGFzaF9kZXNjX2N0eChkZXNjKTsKIAlib29sIGZpbmFsaXplID0gIXNjdHgtPnNz dC5jb3VudCAmJiAhKGxlbiAlIFNIQTI1Nl9CTE9DS19TSVpFKTsKIAotCUFTTV9FWFBPUlQoc2hh MjU2X2NlX29mZnNldG9mX2NvdW50LAotCQkgICBvZmZzZXRvZihzdHJ1Y3Qgc2hhMjU2X2NlX3N0 YXRlLCBzc3QuY291bnQpKTsKLQlBU01fRVhQT1JUKHNoYTI1Nl9jZV9vZmZzZXRvZl9maW5hbGl6 ZSwKLQkJICAgb2Zmc2V0b2Yoc3RydWN0IHNoYTI1Nl9jZV9zdGF0ZSwgZmluYWxpemUpKTsKLQog CS8qCiAJICogQWxsb3cgdGhlIGFzbSBjb2RlIHRvIHBlcmZvcm0gdGhlIGZpbmFsaXphdGlvbiBp ZiB0aGVyZSBpcyBubwogCSAqIHBhcnRpYWwgZGF0YSBhbmQgdGhlIGlucHV0IGlzIGEgcm91bmQg bXVsdGlwbGUgb2YgdGhlIGJsb2NrIHNpemUuCi0tIAoyLjE5LjEuMTIxNS5nODQzOGMwYjI0NS1n b29nCgoKRnJvbSBiZDc2YmE1ZTI3ODY1MTdlMzk0ZDZmYzE2MDIyZWVlNTNmMDM3MDQxIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIERhdmlkc29uIDxtZEBnb29nbGUuY29t PgpEYXRlOiBNb24sIDI0IEp1bCAyMDE3IDE2OjUxOjU1IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAx OC8yNl0geDg2L2Jvb3Q6ICN1bmRlZiBtZW1jcHkoKSBldCBhbCBpbiBzdHJpbmcuYwoKY29tbWl0 IDE4ZDVlNmMzNGE4ZWRhNDM4ZDVhZDhiM2IxNWY0MmRhYjAxYmYwNWQgdXBzdHJlYW0uCgp1bmRl ZiBtZW1jcHkoKSBhbmQgZnJpZW5kcyBpbiBib290L3N0cmluZy5jIHNvIHRoYXQgdGhlIGZ1bmN0 aW9ucwpkZWZpbmVkIGhlcmUgd2lsbCBoYXZlIHRoZSBjb3JyZWN0IG5hbWVzLCBvdGhlcndpc2Ug d2UgZW5kIHVwCnVwIHRyeWluZyB0byByZWRlZmluZSBfX2J1aWx0aW5fbWVtY3B5KCkgZXRjLgoK U3VycHJpc2luZ2x5LCBHQ0MgYWxsb3dzIHRoaXMgKGFuZCwgaGVscGZ1bGx5LCBkaXNjYXJkcyB0 aGUKX19idWlsdGluXyBwcmVmaXggZnJvbSB0aGUgZnVuY3Rpb24gbmFtZSB3aGVuIGNvbXBpbGlu ZyBpdCksCmJ1dCBjbGFuZyBkb2VzIG5vdC4KCkFkZGluZyB0aGVzZSAjdW5kZWYncyBhcHBlYXJz IHRvIHByZXNlcnZlIHdoYXQgSSBhc3N1bWUgd2FzCnRoZSBvcmlnaW5hbCBpbnRlbnQgb2YgdGhl IGNvZGUuCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIERhdmlkc29uIDxtZEBnb29nbGUuY29tPgpT aWduZWQtb2ZmLWJ5OiBNYXR0aGlhcyBLYWVobGNrZSA8bWthQGNocm9taXVtLm9yZz4KQWNrZWQt Ynk6IEguIFBldGVyIEFudmluIDxocGFAenl0b3IuY29tPgpDYzogQXJuZCBCZXJnbWFubiA8YXJu ZEBhcm5kYi5kZT4KQ2M6IEJlcm5oYXJkLlJvc2Vua3JhbnplckBsaW5hcm8ub3JnCkNjOiBHcmVn IEhhY2ttYW5uIDxnaGFja21hbm5AZ29vZ2xlLmNvbT4KQ2M6IEtlZXMgQ29vayA8a2Vlc2Nvb2tA Y2hyb21pdW0ub3JnPgpDYzogTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRp b24ub3JnPgpDYzogTmljayBEZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5jb20+CkNj OiBQZXRlciBaaWpsc3RyYSA8cGV0ZXJ6QGluZnJhZGVhZC5vcmc+CkNjOiBUaG9tYXMgR2xlaXhu ZXIgPHRnbHhAbGludXRyb25peC5kZT4KTGluazogaHR0cDovL2xrbWwua2VybmVsLm9yZy9yLzIw MTcwNzI0MjM1MTU1Ljc5MjU1LTEtbWthQGNocm9taXVtLm9yZwpTaWduZWQtb2ZmLWJ5OiBJbmdv IE1vbG5hciA8bWluZ29Aa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogTmljayBEZXNhdWxuaWVy cyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5jb20+Ci0tLQogYXJjaC94ODYvYm9vdC9zdHJpbmcuYyB8 IDkgKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvYXJjaC94ODYvYm9vdC9zdHJpbmcuYyBiL2FyY2gveDg2L2Jvb3Qvc3RyaW5nLmMKaW5kZXgg OWUyNDBmY2JhNzg0Li4wOGRmY2UwMjM2MmMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3Qvc3Ry aW5nLmMKKysrIGIvYXJjaC94ODYvYm9vdC9zdHJpbmcuYwpAQCAtMTYsNiArMTYsMTUgQEAKICNp bmNsdWRlICJjdHlwZS5oIgogI2luY2x1ZGUgInN0cmluZy5oIgogCisvKgorICogVW5kZWYgdGhl c2UgbWFjcm9zIHNvIHRoYXQgdGhlIGZ1bmN0aW9ucyB0aGF0IHdlIHByb3ZpZGUKKyAqIGhlcmUg d2lsbCBoYXZlIHRoZSBjb3JyZWN0IG5hbWVzIHJlZ2FyZGxlc3Mgb2YgaG93IHN0cmluZy5oCisg KiBtYXkgaGF2ZSBjaG9zZW4gdG8gI2RlZmluZSB0aGVtLgorICovCisjdW5kZWYgbWVtY3B5Cisj dW5kZWYgbWVtc2V0CisjdW5kZWYgbWVtY21wCisKIGludCBtZW1jbXAoY29uc3Qgdm9pZCAqczEs IGNvbnN0IHZvaWQgKnMyLCBzaXplX3QgbGVuKQogewogCWJvb2wgZGlmZjsKLS0gCjIuMTkuMS4x MjE1Lmc4NDM4YzBiMjQ1LWdvb2cKCgpGcm9tIGFkNDJiZDk3Y2VjOGY3MzlmNzY5Yzc5YTJjNTZj NmUxNTE0Mjc5NmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFyZCBCaWVzaGV1dmVs IDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPgpEYXRlOiBGcmksIDE4IEF1ZyAyMDE3IDIwOjQ5 OjM1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAxOS8yNl0gZWZpL2xpYnN0dWIvYXJtNjQ6IFVzZSBo aWRkZW4gYXR0cmlidXRlIGZvciBzdHJ1Y3QKIHNjcmVlbl9pbmZvIHJlZmVyZW5jZQoKY29tbWl0 IDc2MGI2MWQ3NmRhNmQ2YTk5ZWIyNDVhYjYxYWJmNzFjYTU0MTVjZWEgdXBzdHJlYW0uCgpUbyBw cmV2ZW50IHRoZSBjb21waWxlciBmcm9tIGVtaXR0aW5nIGFic29sdXRlIHJlZmVyZW5jZXMgdG8g c2NyZWVuX2luZm8Kd2hlbiBidWlsZGluZyBwb3NpdGlvbiBpbmRlcGVuZGVudCBjb2RlLCByZWRl Y2xhcmUgdGhlIHN5bWJvbCB3aXRoIGhpZGRlbgp2aXNpYmlsaXR5LgoKVGVzdGVkLWJ5OiBNYXR0 aGlhcyBLYWVobGNrZSA8bWthQGNocm9taXVtLm9yZz4KU2lnbmVkLW9mZi1ieTogQXJkIEJpZXNo ZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+CkNjOiBMaW51cyBUb3J2YWxkcyA8dG9y dmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBNYXR0IEZsZW1pbmcgPG1hdHRAY29kZWJs dWVwcmludC5jby51az4KQ2M6IFBldGVyIFppamxzdHJhIDxwZXRlcnpAaW5mcmFkZWFkLm9yZz4K Q2M6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPgpDYzogbGludXgtZWZpQHZn ZXIua2VybmVsLm9yZwpMaW5rOiBodHRwOi8vbGttbC5rZXJuZWwub3JnL3IvMjAxNzA4MTgxOTQ5 NDcuMTkzNDctMy1hcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnClNpZ25lZC1vZmYtYnk6IEluZ28g TW9sbmFyIDxtaW5nb0BrZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBOaWNrIERlc2F1bG5pZXJz IDxuZGVzYXVsbmllcnNAZ29vZ2xlLmNvbT4KLS0tCiBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2Vm aS5oIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2VmaS5oIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9l ZmkuaAppbmRleCBhOWU1NGFhZDE1ZWYuLjY1NjE1ODIwMTU1ZSAxMDA2NDQKLS0tIGEvYXJjaC9h cm02NC9pbmNsdWRlL2FzbS9lZmkuaAorKysgYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2VmaS5o CkBAIC01NCw2ICs1NCw5IEBAIGludCBlZmlfc2V0X21hcHBpbmdfcGVybWlzc2lvbnMoc3RydWN0 IG1tX3N0cnVjdCAqbW0sIGVmaV9tZW1vcnlfZGVzY190ICptZCk7CiAjZGVmaW5lIGFsbG9jX3Nj cmVlbl9pbmZvKHguLi4pCQkmc2NyZWVuX2luZm8KICNkZWZpbmUgZnJlZV9zY3JlZW5faW5mbyh4 Li4uKQogCisvKiByZWRlY2xhcmUgYXMgJ2hpZGRlbicgc28gdGhlIGNvbXBpbGVyIHdpbGwgZ2Vu ZXJhdGUgcmVsYXRpdmUgcmVmZXJlbmNlcyAqLworZXh0ZXJuIHN0cnVjdCBzY3JlZW5faW5mbyBz Y3JlZW5faW5mbyBfX2F0dHJpYnV0ZV9fKChfX3Zpc2liaWxpdHlfXygiaGlkZGVuIikpKTsKKwog c3RhdGljIGlubGluZSB2b2lkIGVmaWZiX3NldHVwX2Zyb21fZG1pKHN0cnVjdCBzY3JlZW5faW5m byAqc2ksIGNvbnN0IGNoYXIgKm9wdCkKIHsKIH0KLS0gCjIuMTkuMS4xMjE1Lmc4NDM4YzBiMjQ1 LWdvb2cKCgpGcm9tIDMyYzVmYTQ1YmI5NTM5NzJlYzU4ZjA0ZGZiMjU0MjgzMmMyN2FiZWUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZl bEBsaW5hcm8ub3JnPgpEYXRlOiBGcmksIDE4IEF1ZyAyMDE3IDIwOjQ5OjM2ICswMTAwClN1Ympl Y3Q6IFtQQVRDSCAyMC8yNl0gZWZpL2xpYnN0dWIvYXJtNjQ6IEZvcmNlICdoaWRkZW4nIHZpc2li aWxpdHkgZm9yCiBzZWN0aW9uIG1hcmtlcnMKCmNvbW1pdCAwNDI2YTRlNjhmMThkNzU1MTU0MTQz NjFkZTllM2UxNDQ1ZDI2NDRlIHVwc3RyZWFtLgoKVG8gcHJldmVudCB0aGUgY29tcGlsZXIgZnJv bSBlbWl0dGluZyBhYnNvbHV0ZSByZWZlcmVuY2VzIHRvIHRoZSBzZWN0aW9uCm1hcmtlcnMgd2hl biBydW5uaW5nIGluIFBJQyBtb2RlLCBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSB0byAnaGlkZGVu JyBmb3IKYWxsIGNvbnRlbnRzIG9mIGFzbS9zZWN0aW9ucy5oCgpUZXN0ZWQtYnk6IE1hdHRoaWFz IEthZWhsY2tlIDxta2FAY2hyb21pdW0ub3JnPgpTaWduZWQtb2ZmLWJ5OiBBcmQgQmllc2hldXZl bCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4KQ2M6IExpbnVzIFRvcnZhbGRzIDx0b3J2YWxk c0BsaW51eC1mb3VuZGF0aW9uLm9yZz4KQ2M6IE1hdHQgRmxlbWluZyA8bWF0dEBjb2RlYmx1ZXBy aW50LmNvLnVrPgpDYzogUGV0ZXIgWmlqbHN0cmEgPHBldGVyekBpbmZyYWRlYWQub3JnPgpDYzog VGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CkNjOiBsaW51eC1lZmlAdmdlci5r ZXJuZWwub3JnCkxpbms6IGh0dHA6Ly9sa21sLmtlcm5lbC5vcmcvci8yMDE3MDgxODE5NDk0Ny4x OTM0Ny00LWFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmcKU2lnbmVkLW9mZi1ieTogSW5nbyBNb2xu YXIgPG1pbmdvQGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IE5pY2sgRGVzYXVsbmllcnMgPG5k ZXNhdWxuaWVyc0Bnb29nbGUuY29tPgotLS0KIGRyaXZlcnMvZmlybXdhcmUvZWZpL2xpYnN0dWIv YXJtNjQtc3R1Yi5jIHwgMTAgKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvZWZpL2xp YnN0dWIvYXJtNjQtc3R1Yi5jIGIvZHJpdmVycy9maXJtd2FyZS9lZmkvbGlic3R1Yi9hcm02NC1z dHViLmMKaW5kZXggZWFlNjkzZWIzZTkxLi45NTlkOWI4ZDQ4NDUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZmlybXdhcmUvZWZpL2xpYnN0dWIvYXJtNjQtc3R1Yi5jCisrKyBiL2RyaXZlcnMvZmlybXdh cmUvZWZpL2xpYnN0dWIvYXJtNjQtc3R1Yi5jCkBAIC05LDkgKzksMTcgQEAKICAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogICoKICAqLworCisvKgorICogVG8g cHJldmVudCB0aGUgY29tcGlsZXIgZnJvbSBlbWl0dGluZyBHT1QtaW5kaXJlY3RlZCAoYW5kIHRo dXMgYWJzb2x1dGUpCisgKiByZWZlcmVuY2VzIHRvIHRoZSBzZWN0aW9uIG1hcmtlcnMsIG92ZXJy aWRlIHRoZWlyIHZpc2liaWxpdHkgYXMgJ2hpZGRlbicKKyAqLworI3ByYWdtYSBHQ0MgdmlzaWJp bGl0eSBwdXNoKGhpZGRlbikKKyNpbmNsdWRlIDxhc20vc2VjdGlvbnMuaD4KKyNwcmFnbWEgR0ND IHZpc2liaWxpdHkgcG9wCisKICNpbmNsdWRlIDxsaW51eC9lZmkuaD4KICNpbmNsdWRlIDxhc20v ZWZpLmg+Ci0jaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CiAjaW5jbHVkZSA8YXNtL3N5c3JlZy5o PgogCiAjaW5jbHVkZSAiZWZpc3R1Yi5oIgotLSAKMi4xOS4xLjEyMTUuZzg0MzhjMGIyNDUtZ29v ZwoKCkZyb20gMTRjOTM3ZWQ3NjIxMTUxYmFkZTkzNjNmMDdlMWM3M2E1MzZkNDhjYSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxp bmFyby5vcmc+CkRhdGU6IFR1ZSwgMzEgSmFuIDIwMTcgMTM6MjE6NDIgKzAwMDAKU3ViamVjdDog W1BBVENIIDIxLzI2XSBlZmkvbGlic3R1YjogUHJlc2VydmUgLmRlYnVnIHNlY3Rpb25zIGFmdGVy IGFic29sdXRlCiByZWxvY2F0aW9uIGNoZWNrCgpjb21taXQgNjk2MjA0ZmFhNmU4YTMxODMyMGVi YjQ5ZDlmYTY5YmM4Mjc1NjQ0ZCB1cHN0cmVhbS4KClRoZSBidWlsZCBjb21tYW5kcyBmb3IgdGhl IEFSTSBhbmQgYXJtNjQgRUZJIHN0dWJzIHN0cmlwIHRoZSAuZGVidWcKc2VjdGlvbnMgYW5kIG90 aGVyIHNlY3Rpb25zIHRoYXQgbWF5IGxlZ2FsbHkgY29udGFpbiBhYnNvbHV0ZSByZWxvY2F0aW9u cywKaW4gb3JkZXIgdG8gaW5zcGVjdCB0aGUgcmVtYWluaW5nIHNlY3Rpb25zIGZvciB0aGUgcHJl c2VuY2Ugb2Ygc3VjaApyZWxvY2F0aW9ucy4KClRoaXMgbGVhdmVzIHVzIHdpdGhvdXQgZGVidWdn aW5nIHN5bWJvbHMgaW4gdGhlIHN0dWIgZm9yIG5vIGdvb2QgcmVhc29uLApjb25zaWRlcmluZyB0 aGF0IHRoZXNlIHNlY3Rpb25zIGFyZSBvbWl0dGVkIGZyb20gdGhlIGtlcm5lbCBiaW5hcnkgYW55 d2F5LAphbmQgdGhhdCB0aGVzZSByZWxvY2F0aW9ucyBhcmUgdGh1cyBvbmx5IGNvbnN1bWVkIGJ5 IHVzZXJzIG9mIHRoZSBFTEYKYmluYXJ5LCBzdWNoIGFzIGRlYnVnZ2Vycy4KClNvIG1vdmUgdG8g J3N0cmlwJyBmb3IgcGVyZm9ybWluZyB0aGUgcmVsb2NhdGlvbiBjaGVjaywgYW5kIGlmIGl0IHN1 Y2NlZWRzLAppbnZva2Ugb2JqY29weSBhcyBiZWZvcmUsIGJ1dCBsZWF2aW5nIHRoZSAuZGVidWcg c2VjdGlvbnMgaW4gcGxhY2UuIE5vdGUKdGhhdCB0aGVzZSBzZWN0aW9ucyBtYXkgcmVmZXIgdG8g a3N5bXRhYi9rY3JjdGFiIGNvbnRlbnRzLCBzbyBsZWF2ZSB0aG9zZQppbiBwbGFjZSBhcyB3ZWxs LgoKU2lnbmVkLW9mZi1ieTogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5v cmc+CkNjOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CkNj OiBNYXR0IEZsZW1pbmcgPG1hdHRAY29kZWJsdWVwcmludC5jby51az4KQ2M6IFBldGVyIFppamxz dHJhIDxwZXRlcnpAaW5mcmFkZWFkLm9yZz4KQ2M6IFRob21hcyBHbGVpeG5lciA8dGdseEBsaW51 dHJvbml4LmRlPgpDYzogbGludXgtZWZpQHZnZXIua2VybmVsLm9yZwpMaW5rOiBodHRwOi8vbGtt bC5rZXJuZWwub3JnL3IvMTQ4NTg2ODkwMi0yMDQwMS0xMS1naXQtc2VuZC1lbWFpbC1hcmQuYmll c2hldXZlbEBsaW5hcm8ub3JnClNpZ25lZC1vZmYtYnk6IEluZ28gTW9sbmFyIDxtaW5nb0BrZXJu ZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBOaWNrIERlc2F1bG5pZXJzIDxuZGVzYXVsbmllcnNAZ29v Z2xlLmNvbT4KLS0tCiBkcml2ZXJzL2Zpcm13YXJlL2VmaS9saWJzdHViL01ha2VmaWxlIHwgMjQg KysrKysrKysrKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygr KSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL2VmaS9saWJz dHViL01ha2VmaWxlIGIvZHJpdmVycy9maXJtd2FyZS9lZmkvbGlic3R1Yi9NYWtlZmlsZQppbmRl eCA1ZTIzZTJkMzA1ZTcuLjhjM2E3MTIxYzRlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9maXJtd2Fy ZS9lZmkvbGlic3R1Yi9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2Zpcm13YXJlL2VmaS9saWJzdHVi L01ha2VmaWxlCkBAIC0xMSw3ICsxMSw3IEBAIGNmbGFncy0kKENPTkZJR19YODYpCQkrPSAtbSQo QklUUykgLURfX0tFUk5FTF9fICQoTElOVVhfSU5DTFVERSkgLU8yIFwKIAkJCQkgICAtbW5vLW1t eCAtbW5vLXNzZQogCiBjZmxhZ3MtJChDT05GSUdfQVJNNjQpCQk6PSAkKHN1YnN0IC1wZywsJChL QlVJTERfQ0ZMQUdTKSkKLWNmbGFncy0kKENPTkZJR19BUk0pCQk6PSAkKHN1YnN0IC1wZywsJChL QlVJTERfQ0ZMQUdTKSkgLWcwIFwKK2NmbGFncy0kKENPTkZJR19BUk0pCQk6PSAkKHN1YnN0IC1w ZywsJChLQlVJTERfQ0ZMQUdTKSkgXAogCQkJCSAgIC1mbm8tYnVpbHRpbiAtZnBpYyAtbW5vLXNp bmdsZS1waWMtYmFzZQogCiBjZmxhZ3MtJChDT05GSUdfRUZJX0FSTVNUVUIpCSs9IC1JJChzcmN0 cmVlKS9zY3JpcHRzL2R0Yy9saWJmZHQKQEAgLTYwLDcgKzYwLDcgQEAgQ0ZMQUdTX2FybTY0LXN0 dWIubyAJCTo9IC1EVEVYVF9PRkZTRVQ9JChURVhUX09GRlNFVCkKIGV4dHJhLSQoQ09ORklHX0VG SV9BUk1TVFVCKQk6PSAkKGxpYi15KQogbGliLSQoQ09ORklHX0VGSV9BUk1TVFVCKQk6PSAkKHBh dHN1YnN0ICUubywlLnN0dWIubywkKGxpYi15KSkKIAotU1RVQkNPUFlfRkxBR1MteQkJOj0gLVIg LmRlYnVnKiAtUiAqa3N5bXRhYiogLVIgKmtjcmN0YWIqCitTVFVCQ09QWV9STS15CQkJOj0gLVIg KmtzeW10YWIqIC1SICprY3JjdGFiKgogU1RVQkNPUFlfRkxBR1MtJChDT05GSUdfQVJNNjQpCSs9 IC0tcHJlZml4LWFsbG9jLXNlY3Rpb25zPS5pbml0IFwKIAkJCQkgICAtLXByZWZpeC1zeW1ib2xz PV9fZWZpc3R1Yl8KIFNUVUJDT1BZX1JFTE9DLSQoQ09ORklHX0FSTTY0KQk6PSBSX0FBUkNINjRf QUJTCkBAIC02OCwxNyArNjgsMjUgQEAgU1RVQkNPUFlfUkVMT0MtJChDT05GSUdfQVJNNjQpCTo9 IFJfQUFSQ0g2NF9BQlMKICQob2JqKS8lLnN0dWIubzogJChvYmopLyUubyBGT1JDRQogCSQoY2Fs bCBpZl9jaGFuZ2VkLHN0dWJjb3B5KQogCisjCisjIFN0cmlwIGRlYnVnIHNlY3Rpb25zIGFuZCBz b21lIG90aGVyIHNlY3Rpb25zIHRoYXQgbWF5IGxlZ2FsbHkgY29udGFpbgorIyBhYnNvbHV0ZSBy ZWxvY2F0aW9ucywgc28gdGhhdCB3ZSBjYW4gaW5zcGVjdCB0aGUgcmVtYWluaW5nIHNlY3Rpb25z IGZvcgorIyBzdWNoIHJlbG9jYXRpb25zLiBJZiBub25lIGFyZSBmb3VuZCwgcmVnZW5lcmF0ZSB0 aGUgb3V0cHV0IG9iamVjdCwgYnV0CisjIHRoaXMgdGltZSwgdXNlIG9iamNvcHkgYW5kIGxlYXZl IGFsbCBzZWN0aW9ucyBpbiBwbGFjZS4KKyMKIHF1aWV0X2NtZF9zdHViY29weSA9IFNUVUJDUFkg JEAKLSAgICAgIGNtZF9zdHViY29weSA9IGlmICQoT0JKQ09QWSkgJChTVFVCQ09QWV9GTEFHUy15 KSAkPCAkQDsgdGhlbglcCi0JCSAgICAgJChPQkpEVU1QKSAtciAkQCB8IGdyZXAgJChTVFVCQ09Q WV9SRUxPQy15KQlcCi0JCSAgICAgJiYgKGVjaG8gPiYyICIkQDogYWJzb2x1dGUgc3ltYm9sIHJl ZmVyZW5jZXMgbm90IGFsbG93ZWQgaW4gdGhlIEVGSSBzdHViIjsgXAotCQkJIHJtIC1mICRAOyAv YmluL2ZhbHNlKTsgZWxzZSAvYmluL2ZhbHNlOyBmaQorICAgICAgY21kX3N0dWJjb3B5ID0gaWYg JChTVFJJUCkgLS1zdHJpcC1kZWJ1ZyAkKFNUVUJDT1BZX1JNLXkpIC1vICRAICQ8OyBcCisJCSAg ICAgdGhlbiBpZiAkKE9CSkRVTVApIC1yICRAIHwgZ3JlcCAkKFNUVUJDT1BZX1JFTE9DLXkpOyBc CisJCSAgICAgdGhlbiAoZWNobyA+JjIgIiRAOiBhYnNvbHV0ZSBzeW1ib2wgcmVmZXJlbmNlcyBu b3QgYWxsb3dlZCBpbiB0aGUgRUZJIHN0dWIiOyBcCisJCQkgICBybSAtZiAkQDsgL2Jpbi9mYWxz ZSk7IAkJCSAgXAorCQkgICAgIGVsc2UgJChPQkpDT1BZKSAkKFNUVUJDT1BZX0ZMQUdTLXkpICQ8 ICRAOyBmaQkgIFwKKwkJICAgICBlbHNlIC9iaW4vZmFsc2U7IGZpCiAKICMKICMgQVJNIGRpc2Nh cmRzIHRoZSAuZGF0YSBzZWN0aW9uIGJlY2F1c2UgaXQgZGlzYWxsb3dzIHIvdyBkYXRhIGluIHRo ZQogIyBkZWNvbXByZXNzb3IuIFNvIG1vdmUgb3VyIC5kYXRhIHRvIC5kYXRhLmVmaXN0dWIsIHdo aWNoIGlzIHByZXNlcnZlZAogIyBleHBsaWNpdGx5IGJ5IHRoZSBkZWNvbXByZXNzb3IgbGlua2Vy IHNjcmlwdC4KICMKLVNUVUJDT1BZX0ZMQUdTLSQoQ09ORklHX0FSTSkJKz0gLS1yZW5hbWUtc2Vj dGlvbiAuZGF0YT0uZGF0YS5lZmlzdHViIFwKLQkJCQkgICAtUiBfX19rc3ltdGFiK3NvcnQgLVIg X19fa2NyY3RhYitzb3J0CitTVFVCQ09QWV9GTEFHUy0kKENPTkZJR19BUk0pCSs9IC0tcmVuYW1l LXNlY3Rpb24gLmRhdGE9LmRhdGEuZWZpc3R1YgorU1RVQkNPUFlfUk0tJChDT05GSUdfQVJNKQkr PSAtUiBfX19rc3ltdGFiK3NvcnQgLVIgX19fa2NyY3RhYitzb3J0CiBTVFVCQ09QWV9SRUxPQy0k KENPTkZJR19BUk0pCTo9IFJfQVJNX0FCUwotLSAKMi4xOS4xLjEyMTUuZzg0MzhjMGIyNDUtZ29v ZwoKCkZyb20gNGY1NjI3ZDA5OTBmMmY4Yzk3ZWQ1ZTI5MzAzY2U4NTA2N2UwMWQxMCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxp bmFyby5vcmc+CkRhdGU6IEZyaSwgMTggQXVnIDIwMTcgMjA6NDk6MzcgKzAxMDAKU3ViamVjdDog W1BBVENIIDIyLzI2XSBlZmkvbGlic3R1Yi9hcm02NDogU2V0IC1mcGllIHdoZW4gYnVpbGRpbmcg dGhlIEVGSSBzdHViCgpjb21taXQgOTFlZTViMjFlZTAyNmM0OWU0ZTc0ODNkZTY5YjU1YjhiNDcw NDJiZSB1cHN0cmVhbS4KCkNsYW5nIG1heSBlbWl0IGFic29sdXRlIHN5bWJvbCByZWZlcmVuY2Vz IHdoZW4gYnVpbGRpbmcgaW4gbm9uLVBJQyBtb2RlLApldmVuIHdoZW4gdXNpbmcgdGhlIGRlZmF1 bHQgJ3NtYWxsJyBjb2RlIG1vZGVsLCB3aGljaCBpcyBhbHJlYWR5IG1vc3RseQpwb3NpdGlvbiBp bmRlcGVuZGVudCB0byBiZWdpbiB3aXRoLCBkdWUgdG8gaXRzIHVzZSBvZiBhZHJwL2FkZCBwYWly cwp0aGF0IGhhdmUgYSByZWxhdGl2ZSByYW5nZSBvZiArLy0gNCBHQi4gVGhlIHJlbWVkeSBpcyB0 byBwYXNzIHRoZSAtZnBpZQpmbGFnLCB3aGljaCBjYW4gYmUgZG9uZSBzYWZlbHkgbm93IHRoYXQg dGhlIGNvZGUgaGFzIGJlZW4gdXBkYXRlZCB0byBhdm9pZApHT1QgaW5kaXJlY3Rpb25zICh3aGlj aCBtYXkgYmUgZW1pdHRlZCBkdWUgdG8gdGhlIGNvbXBpbGVyIGFzc3VtaW5nIHRoYXQKdGhlIFBJ Qy9QSUUgY29kZSBtYXkgZW5kIHVwIGluIGEgc2hhcmVkIGxpYnJhcnkgdGhhdCBpcyBzdWJqZWN0 IHRvIEVMRgpzeW1ib2wgcHJlZW1wdGlvbikKClBhc3NpbmcgLWZwaWUgd2hlbiBidWlsZGluZyBj b2RlIHRoYXQgbmVlZHMgdG8gZXhlY3V0ZSBhdCBhbiBhIHByaW9yaQp1bmtub3duIG9mZnNldCBp cyBhcmd1YWJseSBhbiBpbXByb3ZlbWVudCBpbiBhbnkgY2FzZSwgYW5kIGdpdmVuIHRoYXQKdGhl IHJlY2VudCB2aXNpYmlsaXR5IGNoYW5nZXMgYWxsb3cgdGhlIFBJQyBidWlsZCB0byBwYXNzIHdp dGggR0NDIGFzCndlbGwsIGxldCdzIGFkZCAtZnBpZSBmb3IgYWxsIGFybTY0IGJ1aWxkcyByYXRo ZXIgdGhhbiBvbmx5IGZvciBDbGFuZy4KClRlc3RlZC1ieTogTWF0dGhpYXMgS2FlaGxja2UgPG1r YUBjaHJvbWl1bS5vcmc+ClNpZ25lZC1vZmYtYnk6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hl dXZlbEBsaW5hcm8ub3JnPgpDYzogTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5k YXRpb24ub3JnPgpDYzogTWF0dCBGbGVtaW5nIDxtYXR0QGNvZGVibHVlcHJpbnQuY28udWs+CkNj OiBQZXRlciBaaWpsc3RyYSA8cGV0ZXJ6QGluZnJhZGVhZC5vcmc+CkNjOiBUaG9tYXMgR2xlaXhu ZXIgPHRnbHhAbGludXRyb25peC5kZT4KQ2M6IGxpbnV4LWVmaUB2Z2VyLmtlcm5lbC5vcmcKTGlu azogaHR0cDovL2xrbWwua2VybmVsLm9yZy9yLzIwMTcwODE4MTk0OTQ3LjE5MzQ3LTUtYXJkLmJp ZXNoZXV2ZWxAbGluYXJvLm9yZwpTaWduZWQtb2ZmLWJ5OiBJbmdvIE1vbG5hciA8bWluZ29Aa2Vy bmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogTmljayBEZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdv b2dsZS5jb20+Ci0tLQogZHJpdmVycy9maXJtd2FyZS9lZmkvbGlic3R1Yi9NYWtlZmlsZSB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZmlybXdhcmUvZWZpL2xpYnN0dWIvTWFrZWZpbGUgYi9kcml2ZXJzL2Zp cm13YXJlL2VmaS9saWJzdHViL01ha2VmaWxlCmluZGV4IDhjM2E3MTIxYzRlOC4uMmNkOTQ5NmVi Njk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2Zpcm13YXJlL2VmaS9saWJzdHViL01ha2VmaWxlCisr KyBiL2RyaXZlcnMvZmlybXdhcmUvZWZpL2xpYnN0dWIvTWFrZWZpbGUKQEAgLTEwLDcgKzEwLDcg QEAgY2ZsYWdzLSQoQ09ORklHX1g4NikJCSs9IC1tJChCSVRTKSAtRF9fS0VSTkVMX18gJChMSU5V WF9JTkNMVURFKSAtTzIgXAogCQkJCSAgIC1mUElDIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1tbm8t cmVkLXpvbmUgXAogCQkJCSAgIC1tbm8tbW14IC1tbm8tc3NlCiAKLWNmbGFncy0kKENPTkZJR19B Uk02NCkJCTo9ICQoc3Vic3QgLXBnLCwkKEtCVUlMRF9DRkxBR1MpKQorY2ZsYWdzLSQoQ09ORklH X0FSTTY0KQkJOj0gJChzdWJzdCAtcGcsLCQoS0JVSUxEX0NGTEFHUykpIC1mcGllCiBjZmxhZ3Mt JChDT05GSUdfQVJNKQkJOj0gJChzdWJzdCAtcGcsLCQoS0JVSUxEX0NGTEFHUykpIFwKIAkJCQkg ICAtZm5vLWJ1aWx0aW4gLWZwaWMgLW1uby1zaW5nbGUtcGljLWJhc2UKIAotLSAKMi4xOS4xLjEy MTUuZzg0MzhjMGIyNDUtZ29vZwoKCkZyb20gMTBiNzBhMTIxMGM0MjVjNGQ3MzlmZDg2MGNlMTlm OTk4NmM5YjBhZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWF0dGhpYXMgS2FlaGxj a2UgPG1rYUBjaHJvbWl1bS5vcmc+CkRhdGU6IFdlZCwgMTYgQXVnIDIwMTcgMTc6NDc6NDAgLTA3 MDAKU3ViamVjdDogW1BBVENIIDIzLzI2XSB4ODYvYnVpbGQ6IEZpeCBzdGFjayBhbGlnbm1lbnQg Zm9yIENMYW5nCgpjb21taXQgOGY5MTg2OTc2NmMwMDYyMmIyZWFhOGVlNTY3ZGI0ZjMzM2I3OGMx YSB1cHN0cmVhbS4KCkNvbW1pdDoKCiAgZDc3Njk4ZGYzOWE1ICgieDg2L2J1aWxkOiBTcGVjaWZ5 IHN0YWNrIGFsaWdubWVudCBmb3IgY2xhbmciKQoKaW50ZW5kZWQgdG8gdXNlIHRoZSBzYW1lIHN0 YWNrIGFsaWdubWVudCBmb3IgY2xhbmcgYXMgd2l0aCBnY2MuCgpUaGUgdHdvIGNvbXBpbGVycyB1 c2UgZGlmZmVyZW50IG9wdGlvbnMgdG8gY29uZmlndXJlIHRoZSBzdGFjayBhbGlnbm1lbnQKKGdj YzogLW1wcmVmZXJyZWQtc3RhY2stYm91bmRhcnk9biwgY2xhbmc6IC1tc3RhY2stYWxpZ25tZW50 PW4pLgoKVGhlIGFib3ZlIGNvbW1pdCBhc3N1bWVzIHRoYXQgdGhlIGNsYW5nIG9wdGlvbiB1c2Vz IHRoZSBzYW1lIHBhcmFtZXRlcgp0eXBlIGFzIGdjYywgaS5lLiB0aGF0IHRoZSBhbGlnbm1lbnQg aXMgc3BlY2lmaWVkIGFzIDJebi4gSG93ZXZlciBjbGFuZwppbnRlcnByZXRzIHRoZSB2YWx1ZSBv ZiB0aGlzIG9wdGlvbiBsaXRlcmFsbHkgdG8gdXNlIGFuIGFsaWdubWVudCBvZiBuLAppbiBjb25z ZXF1ZW5jZSB0aGUgc3RhY2sgcmVtYWlucyBtaXNhbGlnbmVkLgoKQ2hhbmdlIHRoZSB2YWx1ZXMg dXNlZCB3aXRoIC1tc3RhY2stYWxpZ25tZW50IHRvIGJlIHRoZSBhY3R1YWwgYWxpZ25tZW50Cmlu c3RlYWQgb2YgYSBwb3dlciBvZiB0d28uCgpjYy1vcHRpb24gaXNuJ3QgdXNlZCBoZXJlIHdpdGgg dGhlIHR5cGljYWwgcGF0dGVybiBvZiBLQlVJTERfQ0ZMQUdTICs9CiQoY2FsbCBjYy1vcHRpb24g Li4uKS4gVGhlIHJlYXNvbiBpcyB0aGF0IG9sZGVyIGdjYyB2ZXJzaW9ucyBkb24ndApzdXBwb3J0 IHRoZSAtbXByZWZlcnJlZC1zdGFjay1ib3VuZGFyeSBvcHRpb24sIHNpbmNlIGNjLW9wdGlvbiBk b2Vzbid0CnZlcmlmeSB3aGV0aGVyIHRoZSBhbHRlcm5hdGl2ZSBvcHRpb24gaXMgdmFsaWQgaXQg d291bGQgaW5jb3JyZWN0bHkKc2VsZWN0IHRoZSBjbGFuZyBvcHRpb24gLW1zdGFjay1hbGlnbm1l bnQuLgoKU2lnbmVkLW9mZi1ieTogTWF0dGhpYXMgS2FlaGxja2UgPG1rYUBjaHJvbWl1bS5vcmc+ CkNjOiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRlPgpDYzogQmVybmhhcmQuUm9zZW5rcmFu emVyQGxpbmFyby5vcmcKQ2M6IEdyZWcgSGFja21hbm4gPGdoYWNrbWFubkBnb29nbGUuY29tPgpD YzogS2VlcyBDb29rIDxrZWVzY29va0BjaHJvbWl1bS5vcmc+CkNjOiBMaW51cyBUb3J2YWxkcyA8 dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CkNjOiBNYXNhaGlybyBZYW1hZGEgPHlhbWFk YS5tYXNhaGlyb0Bzb2Npb25leHQuY29tPgpDYzogTWljaGFlbCBEYXZpZHNvbiA8bWRAZ29vZ2xl LmNvbT4KQ2M6IE5pY2sgRGVzYXVsbmllcnMgPG5kZXNhdWxuaWVyc0Bnb29nbGUuY29tPgpDYzog UGV0ZXIgWmlqbHN0cmEgPHBldGVyekBpbmZyYWRlYWQub3JnPgpDYzogU3RlcGhlbiBIaW5lcyA8 c3JoaW5lc0Bnb29nbGUuY29tPgpDYzogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXgu ZGU+CkNjOiBkaWFuZGVyc0BjaHJvbWl1bS5vcmcKTGluazogaHR0cDovL2xrbWwua2VybmVsLm9y Zy9yLzIwMTcwODE3MDA0NzQwLjE3MDU4OC0xLW1rYUBjaHJvbWl1bS5vcmcKU2lnbmVkLW9mZi1i eTogSW5nbyBNb2xuYXIgPG1pbmdvQGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IE5pY2sgRGVz YXVsbmllcnMgPG5kZXNhdWxuaWVyc0Bnb29nbGUuY29tPgotLS0KIGFyY2gveDg2L01ha2VmaWxl IHwgMTQgKysrKysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvTWFrZWZpbGUgYi9hcmNoL3g4Ni9N YWtlZmlsZQppbmRleCBmYjE0NmJkNjg2Y2MuLmQzMTAyNDYwYmJhZSAxMDA2NDQKLS0tIGEvYXJj aC94ODYvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYvTWFrZWZpbGUKQEAgLTE0LDkgKzE0LDExIEBA IGVuZGlmCiAjIEZvciBnY2Mgc3RhY2sgYWxpZ25tZW50IGlzIHNwZWNpZmllZCB3aXRoIC1tcHJl ZmVycmVkLXN0YWNrLWJvdW5kYXJ5LAogIyBjbGFuZyBoYXMgdGhlIG9wdGlvbiAtbXN0YWNrLWFs aWdubWVudCBmb3IgdGhhdCBwdXJwb3NlLgogaWZuZXEgKCQoY2FsbCBjYy1vcHRpb24sIC1tcHJl ZmVycmVkLXN0YWNrLWJvdW5kYXJ5PTQpLCkKLSAgICAgICAgY2Nfc3RhY2tfYWxpZ25fb3B0IDo9 IC1tcHJlZmVycmVkLXN0YWNrLWJvdW5kYXJ5Ci1lbHNlIGlmbmVxICgkKGNhbGwgY2Mtb3B0aW9u LCAtbXN0YWNrLWFsaWdubWVudD00KSwpCi0gICAgICAgIGNjX3N0YWNrX2FsaWduX29wdCA6PSAt bXN0YWNrLWFsaWdubWVudAorICAgICAgY2Nfc3RhY2tfYWxpZ240IDo9IC1tcHJlZmVycmVkLXN0 YWNrLWJvdW5kYXJ5PTIKKyAgICAgIGNjX3N0YWNrX2FsaWduOCA6PSAtbXByZWZlcnJlZC1zdGFj ay1ib3VuZGFyeT0zCitlbHNlIGlmbmVxICgkKGNhbGwgY2Mtb3B0aW9uLCAtbXN0YWNrLWFsaWdu bWVudD0xNiksKQorICAgICAgY2Nfc3RhY2tfYWxpZ240IDo9IC1tc3RhY2stYWxpZ25tZW50PTQK KyAgICAgIGNjX3N0YWNrX2FsaWduOCA6PSAtbXN0YWNrLWFsaWdubWVudD04CiBlbmRpZgogCiAj IEhvdyB0byBjb21waWxlIHRoZSAxNi1iaXQgY29kZS4gIE5vdGUgd2UgYWx3YXlzIGNvbXBpbGUg Zm9yIC1tYXJjaD1pMzg2OwpAQCAtMzYsNyArMzgsNyBAQCBSRUFMTU9ERV9DRkxBR1MJOj0gJChN MTZfQ0ZMQUdTKSAtZyAtT3MgLURfX0tFUk5FTF9fIFwKIAogUkVBTE1PREVfQ0ZMQUdTICs9ICQo Y2FsbCBfX2NjLW9wdGlvbiwgJChDQyksICQoUkVBTE1PREVfQ0ZMQUdTKSwgLWZmcmVlc3RhbmRp bmcpCiBSRUFMTU9ERV9DRkxBR1MgKz0gJChjYWxsIF9fY2Mtb3B0aW9uLCAkKENDKSwgJChSRUFM TU9ERV9DRkxBR1MpLCAtZm5vLXN0YWNrLXByb3RlY3RvcikKLVJFQUxNT0RFX0NGTEFHUyArPSAk KGNhbGwgX19jYy1vcHRpb24sICQoQ0MpLCAkKFJFQUxNT0RFX0NGTEFHUyksICQoY2Nfc3RhY2tf YWxpZ25fb3B0KT0yKQorUkVBTE1PREVfQ0ZMQUdTICs9ICQoY2Nfc3RhY2tfYWxpZ240KQogZXhw b3J0IFJFQUxNT0RFX0NGTEFHUwogCiAjIEJJVFMgaXMgdXNlZCBhcyBleHRlbnNpb24gZm9yIGZp bGVzIHdoaWNoIGFyZSBhdmFpbGFibGUgaW4gYSAzMiBiaXQKQEAgLTc2LDcgKzc4LDcgQEAgaWZl cSAoJChDT05GSUdfWDg2XzMyKSx5KQogICAgICAgICAjIEFsaWduIHRoZSBzdGFjayB0byB0aGUg cmVnaXN0ZXIgd2lkdGggaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdAogICAgICAgICAjIGFs aWdubWVudCBvZiAxNiBieXRlcy4gVGhpcyByZWR1Y2VzIHN0YWNrIHVzYWdlIGFuZCB0aGUgbnVt YmVyIG9mCiAgICAgICAgICMgYWxpZ25tZW50IGluc3RydWN0aW9ucy4KLSAgICAgICAgS0JVSUxE X0NGTEFHUyArPSAkKGNhbGwgY2Mtb3B0aW9uLCQoY2Nfc3RhY2tfYWxpZ25fb3B0KT0yKQorICAg ICAgICBLQlVJTERfQ0ZMQUdTICs9ICQoY2Nfc3RhY2tfYWxpZ240KQogCiAgICAgICAgICMgRGlz YWJsZSB1bml0LWF0LWEtdGltZSBtb2RlIG9uIHByZS1nY2MtNC4wIGNvbXBpbGVycywgaXQgbWFr ZXMgZ2NjIHVzZQogICAgICAgICAjIGEgbG90IG1vcmUgc3RhY2sgZHVlIHRvIHRoZSBsYWNrIG9m IHNoYXJpbmcgb2Ygc3RhY2tsb3RzOgpAQCAtMTE1LDcgKzExNyw3IEBAIGVsc2UKICAgICAgICAg IyBkZWZhdWx0IGFsaWdubWVudCB3aGljaCBrZWVwIHRoZSBzdGFjayAqbWlzKmFsaWduZWQuCiAg ICAgICAgICMgRnVydGhlcm1vcmUgYW4gYWxpZ25tZW50IHRvIHRoZSByZWdpc3RlciB3aWR0aCBy ZWR1Y2VzIHN0YWNrIHVzYWdlCiAgICAgICAgICMgYW5kIHRoZSBudW1iZXIgb2YgYWxpZ25tZW50 IGluc3RydWN0aW9ucy4KLSAgICAgICAgS0JVSUxEX0NGTEFHUyArPSAkKGNhbGwgY2Mtb3B0aW9u LCQoY2Nfc3RhY2tfYWxpZ25fb3B0KT0zKQorICAgICAgICBLQlVJTERfQ0ZMQUdTICs9ICQoY2Nf c3RhY2tfYWxpZ244KQogCiAJIyBVc2UgLW1za2lwLXJheC1zZXR1cCBpZiBzdXBwb3J0ZWQuCiAJ S0JVSUxEX0NGTEFHUyArPSAkKGNhbGwgY2Mtb3B0aW9uLC1tc2tpcC1yYXgtc2V0dXApCi0tIAoy LjE5LjEuMTIxNS5nODQzOGMwYjI0NS1nb29nCgoKRnJvbSA0ZmNkYTQzMjI3MGMyZGZlYWU4YWZj NTkzZGY3ZGQ4ZDNhYjlkZjhlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0aGlh cyBLYWVobGNrZSA8bWthQGNocm9taXVtLm9yZz4KRGF0ZTogVGh1LCAxNyBBdWcgMjAxNyAxMToy MDo0NyAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMjQvMjZdIHg4Ni9idWlsZDogVXNlIGNjLW9wdGlv biB0byB2YWxpZGF0ZSBzdGFjayBhbGlnbm1lbnQKIHBhcmFtZXRlcgoKY29tbWl0IDllODczMGIx NzhhMjQ3MmZjYTMxMjNlOTA5ZDZlNjljYzgxMjc3NzggdXBzdHJlYW0uCgpXaXRoIHRoZSBmb2xs b3dpbmcgY29tbWl0OgoKICA4ZjkxODY5NzY2YzAgKCJ4ODYvYnVpbGQ6IEZpeCBzdGFjayBhbGln bm1lbnQgZm9yIENMYW5nIikKCmNjLW9wdGlvbiBpcyBvbmx5IHVzZWQgdG8gZGV0ZXJtaW5lIHRo ZSBuYW1lIG9mIHRoZSBzdGFjayBhbGlnbm1lbnQgb3B0aW9uCnN1cHBvcnRlZCBieSB0aGUgY29t cGlsZXIsIGJ1dCBub3QgdG8gdmVyaWZ5IHRoYXQgdGhlIGFjdHVhbCBwYXJhbWV0ZXIKPG9wdGlv bj49TiBpcyB2YWxpZCBpbiBjb21iaW5hdGlvbiB3aXRoIHRoZSBvdGhlciBDRkxBR1MuCgpUaGlz IGNhdXNlcyBwcm9ibGVtcyAoYXMgcmVwb3J0ZWQgYnkgdGhlIGtidWlsZCByb2JvdCkgd2l0aCBv bGRlciBHQ0MgdmVyc2lvbnMKd2hpY2ggb25seSBzdXBwb3J0IHN0YWNrIGFsaWdubWVudCBvbiBh IGJvdW5kYXJ5IG9mIDE2IGJ5dGVzIG9yIGhpZ2hlci4KCkFsc28gdXNlIChfXyljY19vcHRpb24g dG8gYWRkIHRoZSBzdGFjayBhbGlnbm1lbnQgb3B0aW9uIHRvIENGTEFHUyB0bwptYWtlIHN1cmUg b25seSB2YWxpZCBvcHRpb25zIGFyZSBhZGRlZC4KClJlcG9ydGVkLWJ5OiBrYnVpbGQgdGVzdCBy b2JvdCA8ZmVuZ2d1YW5nLnd1QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWF0dGhpYXMgS2Fl aGxja2UgPG1rYUBjaHJvbWl1bS5vcmc+CkNjOiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRl PgpDYzogQmVybmhhcmQuUm9zZW5rcmFuemVyQGxpbmFyby5vcmcKQ2M6IEdyZWcgSGFja21hbm4g PGdoYWNrbWFubkBnb29nbGUuY29tPgpDYzogS2VlcyBDb29rIDxrZWVzY29va0BjaHJvbWl1bS5v cmc+CkNjOiBMaW51cyBUb3J2YWxkcyA8dG9ydmFsZHNAbGludXgtZm91bmRhdGlvbi5vcmc+CkNj OiBNYXNhaGlybyBZYW1hZGEgPHlhbWFkYS5tYXNhaGlyb0Bzb2Npb25leHQuY29tPgpDYzogTWlj aGFlbCBEYXZpZHNvbiA8bWRAZ29vZ2xlLmNvbT4KQ2M6IE5pY2sgRGVzYXVsbmllcnMgPG5kZXNh dWxuaWVyc0Bnb29nbGUuY29tPgpDYzogUGV0ZXIgWmlqbHN0cmEgPHBldGVyekBpbmZyYWRlYWQu b3JnPgpDYzogU3RlcGhlbiBIaW5lcyA8c3JoaW5lc0Bnb29nbGUuY29tPgpDYzogVGhvbWFzIEds ZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+CkNjOiBkaWFuZGVyc0BjaHJvbWl1bS5vcmcKRml4 ZXM6IDhmOTE4Njk3NjZjMCAoIng4Ni9idWlsZDogRml4IHN0YWNrIGFsaWdubWVudCBmb3IgQ0xh bmciKQpMaW5rOiBodHRwOi8vbGttbC5rZXJuZWwub3JnL3IvMjAxNzA4MTcxODIwNDcuMTc2NzUy LTEtbWthQGNocm9taXVtLm9yZwpTaWduZWQtb2ZmLWJ5OiBJbmdvIE1vbG5hciA8bWluZ29Aa2Vy bmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogTmljayBEZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdv b2dsZS5jb20+Ci0tLQogYXJjaC94ODYvTWFrZWZpbGUgfCA2ICsrKy0tLQogMSBmaWxlIGNoYW5n ZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4 Ni9NYWtlZmlsZSBiL2FyY2gveDg2L01ha2VmaWxlCmluZGV4IGQzMTAyNDYwYmJhZS4uYjUyMjZh MDA5OTczIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9NYWtlZmlsZQorKysgYi9hcmNoL3g4Ni9NYWtl ZmlsZQpAQCAtMzgsNyArMzgsNyBAQCBSRUFMTU9ERV9DRkxBR1MJOj0gJChNMTZfQ0ZMQUdTKSAt ZyAtT3MgLURfX0tFUk5FTF9fIFwKIAogUkVBTE1PREVfQ0ZMQUdTICs9ICQoY2FsbCBfX2NjLW9w dGlvbiwgJChDQyksICQoUkVBTE1PREVfQ0ZMQUdTKSwgLWZmcmVlc3RhbmRpbmcpCiBSRUFMTU9E RV9DRkxBR1MgKz0gJChjYWxsIF9fY2Mtb3B0aW9uLCAkKENDKSwgJChSRUFMTU9ERV9DRkxBR1Mp LCAtZm5vLXN0YWNrLXByb3RlY3RvcikKLVJFQUxNT0RFX0NGTEFHUyArPSAkKGNjX3N0YWNrX2Fs aWduNCkKK1JFQUxNT0RFX0NGTEFHUyArPSAkKGNhbGwgX19jYy1vcHRpb24sICQoQ0MpLCAkKFJF QUxNT0RFX0NGTEFHUyksICQoY2Nfc3RhY2tfYWxpZ240KSkKIGV4cG9ydCBSRUFMTU9ERV9DRkxB R1MKIAogIyBCSVRTIGlzIHVzZWQgYXMgZXh0ZW5zaW9uIGZvciBmaWxlcyB3aGljaCBhcmUgYXZh aWxhYmxlIGluIGEgMzIgYml0CkBAIC03OCw3ICs3OCw3IEBAIGlmZXEgKCQoQ09ORklHX1g4Nl8z MikseSkKICAgICAgICAgIyBBbGlnbiB0aGUgc3RhY2sgdG8gdGhlIHJlZ2lzdGVyIHdpZHRoIGlu c3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQKICAgICAgICAgIyBhbGlnbm1lbnQgb2YgMTYgYnl0 ZXMuIFRoaXMgcmVkdWNlcyBzdGFjayB1c2FnZSBhbmQgdGhlIG51bWJlciBvZgogICAgICAgICAj IGFsaWdubWVudCBpbnN0cnVjdGlvbnMuCi0gICAgICAgIEtCVUlMRF9DRkxBR1MgKz0gJChjY19z dGFja19hbGlnbjQpCisgICAgICAgIEtCVUlMRF9DRkxBR1MgKz0gJChjYWxsIGNjLW9wdGlvbiwk KGNjX3N0YWNrX2FsaWduNCkpCiAKICAgICAgICAgIyBEaXNhYmxlIHVuaXQtYXQtYS10aW1lIG1v ZGUgb24gcHJlLWdjYy00LjAgY29tcGlsZXJzLCBpdCBtYWtlcyBnY2MgdXNlCiAgICAgICAgICMg YSBsb3QgbW9yZSBzdGFjayBkdWUgdG8gdGhlIGxhY2sgb2Ygc2hhcmluZyBvZiBzdGFja2xvdHM6 CkBAIC0xMTcsNyArMTE3LDcgQEAgZWxzZQogICAgICAgICAjIGRlZmF1bHQgYWxpZ25tZW50IHdo aWNoIGtlZXAgdGhlIHN0YWNrICptaXMqYWxpZ25lZC4KICAgICAgICAgIyBGdXJ0aGVybW9yZSBh biBhbGlnbm1lbnQgdG8gdGhlIHJlZ2lzdGVyIHdpZHRoIHJlZHVjZXMgc3RhY2sgdXNhZ2UKICAg ICAgICAgIyBhbmQgdGhlIG51bWJlciBvZiBhbGlnbm1lbnQgaW5zdHJ1Y3Rpb25zLgotICAgICAg ICBLQlVJTERfQ0ZMQUdTICs9ICQoY2Nfc3RhY2tfYWxpZ244KQorICAgICAgICBLQlVJTERfQ0ZM QUdTICs9ICQoY2FsbCBjYy1vcHRpb24sJChjY19zdGFja19hbGlnbjgpKQogCiAJIyBVc2UgLW1z a2lwLXJheC1zZXR1cCBpZiBzdXBwb3J0ZWQuCiAJS0JVSUxEX0NGTEFHUyArPSAkKGNhbGwgY2Mt b3B0aW9uLC1tc2tpcC1yYXgtc2V0dXApCi0tIAoyLjE5LjEuMTIxNS5nODQzOGMwYjI0NS1nb29n CgoKRnJvbSAzZDA5ODdhZWEwZmRmZWJiZDIyZDJjYjVmMDVjNjEwMWRjNGJkMzQ4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRlPgpEYXRl OiBXZWQsIDI2IEp1bCAyMDE3IDE1OjM2OjIzICswMjAwClN1YmplY3Q6IFtQQVRDSCAyNS8yNl0g S2J1aWxkOiB1c2UgLWZzaG9ydC13Y2hhciBnbG9iYWxseQoKY29tbWl0IDhjOTcwMjNjZjA1MThm MTcyYjhjYjdhOWZmZmMyOGI4OTQwMWFiYmYgdXBzdHJlYW0uCgpDb21taXQgOTcxYTY5ZGI3ZGMw ICgiWGVuOiBkb24ndCB3YXJuIGFib3V0IDItYnl0ZSB3Y2hhcl90IGluIGVmaSIpCmFkZGVkIHRo ZSAtLW5vLXdjaGFyLXNpemUtd2FybmluZyB0byB0aGUgTWFrZWZpbGUgdG8gYXZvaWQgdGhpcwpo YXJtbGVzcyB3YXJuaW5nOgoKYXJtLWxpbnV4LWdudWVhYmktbGQ6IHdhcm5pbmc6IGRyaXZlcnMv eGVuL2VmaS5vIHVzZXMgMi1ieXRlIHdjaGFyX3QgeWV0IHRoZSBvdXRwdXQgaXMgdG8gdXNlIDQt Ynl0ZSB3Y2hhcl90OyB1c2Ugb2Ygd2NoYXJfdCB2YWx1ZXMgYWNyb3NzIG9iamVjdHMgbWF5IGZh aWwKCkNoYW5naW5nIGtidWlsZCB0byB1c2UgdGhpbiBhcmNoaXZlcyBpbnN0ZWFkIG9mIHJlY3Vy c2l2ZSBsaW5raW5nCnVuZm9ydHVuYXRlbHkgYnJpbmdzIHRoZSBzYW1lIHdhcm5pbmcgYmFjayBk dXJpbmcgdGhlIGZpbmFsIGxpbmsuCgpUaGUga2VybmVsIGRvZXMgbm90IHVzZSB3Y2hhcl90IHN0 cmluZyBsaXRlcmFscyBhdCB0aGlzIHBvaW50LCBhbmQKeGVuIGRvZXMgbm90IHVzZSB3Y2hhcl90 IGF0IGFsbCAob25seSBlZmlfY2hhcjE2X3QpLCBzbyB0aGUgZmxhZwpoYXMgbm8gZWZmZWN0LCBi dXQgYXMgcG9pbnRlZCBvdXQgYnkgSmFuIEJldWxpY2gsIGFkZGluZyBhIHdjaGFyX3QKc3RyaW5n IGxpdGVyYWwgd291bGQgYmUgYmFkIGhlcmUuCgpTaW5jZSB3Y2hhcl90IGlzIGFsd2F5cyBkZWZp bmVkIGFzIHUxNiwgaW5kZXBlbmRlbnQgb2YgdGhlIHRvb2xjaGFpbgpkZWZhdWx0LCBhbHdheXMg cGFzc2luZyAtZnNob3J0LXdjaGFyIGlzIGNvcnJlY3QgYW5kIGxldHMgdXMKcmVtb3ZlIHRoZSBY ZW4gc3BlY2lmaWMgaGFjayBhbG9uZyB3aXRoIGZpeGluZyB0aGUgd2FybmluZy4KCkxpbms6IGh0 dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcGF0Y2gvOTI3NTIxNy8KRml4ZXM6IDk3MWE2OWRi N2RjMCAoIlhlbjogZG9uJ3Qgd2FybiBhYm91dCAyLWJ5dGUgd2NoYXJfdCBpbiBlZmkiKQpTaWdu ZWQtb2ZmLWJ5OiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRiLmRlPgpBY2tlZC1ieTogRGF2aWQg VnJhYmVsIDxkYXZpZC52cmFiZWxAY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTogTWFzYWhpcm8g WWFtYWRhIDx5YW1hZGEubWFzYWhpcm9Ac29jaW9uZXh0LmNvbT4KU2lnbmVkLW9mZi1ieTogTmlj ayBEZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5jb20+Ci0tLQogTWFrZWZpbGUgICAg ICAgICAgICAgfCAyICstCiBkcml2ZXJzL3hlbi9NYWtlZmlsZSB8IDMgLS0tCiAyIGZpbGVzIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL01ha2Vm aWxlIGIvTWFrZWZpbGUKaW5kZXggMjZlNDYxZmJmMzcwLi4zNGRjZDM5ZjM1ODIgMTAwNjQ0Ci0t LSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBAIC0zOTQsNyArMzk0LDcgQEAgTElOVVhJTkNM VURFCSs9ICQoZmlsdGVyLW91dCAkKExJTlVYSU5DTFVERSksJChVU0VSSU5DTFVERSkpCiAKIEtC VUlMRF9BRkxBR1MgICA6PSAtRF9fQVNTRU1CTFlfXwogS0JVSUxEX0NGTEFHUyAgIDo9IC1XYWxs IC1XdW5kZWYgLVdzdHJpY3QtcHJvdG90eXBlcyAtV25vLXRyaWdyYXBocyBcCi0JCSAgIC1mbm8t c3RyaWN0LWFsaWFzaW5nIC1mbm8tY29tbW9uIFwKKwkJICAgLWZuby1zdHJpY3QtYWxpYXNpbmcg LWZuby1jb21tb24gLWZzaG9ydC13Y2hhciBcCiAJCSAgIC1XZXJyb3ItaW1wbGljaXQtZnVuY3Rp b24tZGVjbGFyYXRpb24gXAogCQkgICAtV25vLWZvcm1hdC1zZWN1cml0eSBcCiAJCSAgIC1zdGQ9 Z251ODkKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL01ha2VmaWxlIGIvZHJpdmVycy94ZW4vTWFr ZWZpbGUKaW5kZXggOGZlYWI4MTBhZWQ5Li43ZjE4OGI4ZDBjNjcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMveGVuL01ha2VmaWxlCisrKyBiL2RyaXZlcnMveGVuL01ha2VmaWxlCkBAIC03LDkgKzcsNiBA QCBvYmoteQkrPSB4ZW5idXMvCiBub3N0YWNrcCA6PSAkKGNhbGwgY2Mtb3B0aW9uLCAtZm5vLXN0 YWNrLXByb3RlY3RvcikKIENGTEFHU19mZWF0dXJlcy5vCQkJOj0gJChub3N0YWNrcCkKIAotQ0ZM QUdTX2VmaS5vCQkJCSs9IC1mc2hvcnQtd2NoYXIKLUxERkxBR1MJCQkJCSs9ICQoY2FsbCBsZC1v cHRpb24sIC0tbm8td2NoYXItc2l6ZS13YXJuaW5nKQotCiBkb20wLSQoQ09ORklHX0FSTTY0KSAr PSBhcm0tZGV2aWNlLm8KIGRvbTAtJChDT05GSUdfUENJKSArPSBwY2kubwogZG9tMC0kKENPTkZJ R19VU0JfU1VQUE9SVCkgKz0gZGJncC5vCi0tIAoyLjE5LjEuMTIxNS5nODQzOGMwYjI0NS1nb29n CgoKRnJvbSAyYjk4OTBlNGQyYmFmNTdkYzk5M2M4MGM4YTRkYTM1MTAzMzJlMTYwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJrIFJ1dGxhbmQgPG1hcmsucnV0bGFuZEBhcm0uY29t PgpEYXRlOiBXZWQsIDMgTWF5IDIwMTcgMTY6MDk6MzggKzAxMDAKU3ViamVjdDogW1BBVENIIDI2 LzI2XSBhcm02NDogdWFjY2Vzczogc3VwcHJlc3Mgc3B1cmlvdXMgY2xhbmcgd2FybmluZwoKY29t bWl0IGQxMzViOGI1MDYwZWE5MWRkNzUxZmYxNzJkMTc5ZWI0ZWFiMWU5NjYgdXBzdHJlYW0uCgpD bGFuZyB0cmllcyB0byB3YXJuIHdoZW4gdGhlcmUncyBhIG1pc21hdGNoIGJldHdlZW4gYW4gb3Bl cmFuZCdzIHNpemUsCmFuZCB0aGUgc2l6ZSBvZiB0aGUgcmVnaXN0ZXIgaXQgaXMgaGVsZCBpbiwg YXMgdGhpcyBtYXkgaW5kaWNhdGUgYSBidWcuClNwZWNpZmljYWxseSwgY2xhbmcgd2FybnMgd2hl biB0aGUgb3BlcmFuZCdzIHR5cGUgaXMgbGVzcyB0aGFuIDY0IGJpdHMKd2lkZSwgYW5kIHRoZSBy ZWdpc3RlciBpcyB1c2VkIHVucXVhbGlmaWVkIChpLmUuICVOIHJhdGhlciB0aGFuICV4TiBvcgol d04pLgoKVW5mb3J0dW5hdGVseSBjbGFuZyBjYW4gZ2VuZXJhdGUgdGhlc2Ugd2FybmluZ3MgZm9y IHVucmVhY2hhYmxlIGNvZGUuCkZvciBleGFtcGxlLCBmb3IgY29kZSBsaWtlOgoKZG8geyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgIHR5cGVvZigq KHB0cikpIF9fdiA9ICh2KTsgICAgICAgICAgICAgICBcCiAgICAgICAgc3dpdGNoKHNpemVvZigq KHB0cikpKSB7ICAgICAgICAgICAgICAgIFwKICAgICAgICBjYXNlIDE6ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgLy8gYXNzdW1lIF9fdiBpcyAxIGJ5 dGUgd2lkZSAgICBcCiAgICAgICAgICAgICAgICBhc20gKCJ7b3B9YiAldzAiIDogOiAiciIgKHYp KTsgIFwKICAgICAgICAgICAgICAgIGJyZWFrOyAgICAgICAgICAgICAgICAgICAgICAgICAgXAog ICAgICAgIGNhc2UgODogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAg ICAgICAgICAvLyBhc3N1bWUgX192IGlzIDggYnl0ZXMgd2lkZSAgIFwKICAgICAgICAgICAgICAg IGFzbSAoIntvcH0gJTAiIDogOiAiciIgKHYpKTsgICAgXAogICAgICAgICAgICAgICAgYnJlYWs7 ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgfQp3aGlsZSAoMCkKCi4uLiBpZiBv cCgpIHdlcmUgcGFzc2VkIGEgY2hhciB2YWx1ZSBhbmQgcG9pbnRlciB0byBjaGFyLCBjbGFuZyBt YXkKcHJvZHVjZSBhIHdhcm5pbmcgZm9yIHRoZSB1bnJlYWNoYWJsZSBjYXNlIHdoZXJlIHNpemVv ZigqKHB0cikpIGlzIDguCgpGb3IgdGhlIHNhbWUgcmVhc29ucywgY2xhbmcgcHJvZHVjZXMgd2Fy bmluZ3Mgd2hlbiBfX3B1dF91c2VyX2VycigpIGlzCnVzZWQgZm9yIHR5cGVzIHRoYXQgYXJlIGxl c3MgdGhhbiA2NCBiaXRzIHdpZGUuCgpXZSBjb3VsZCBhdm9pZCB0aGlzIHdpdGggYSBjYXN0IHRv IGEgZml4ZWQtd2lkdGggdHlwZSBpbiBlYWNoIG9mIHRoZQpjYXNlcy4gSG93ZXZlciwgR0NDIHdp bGwgdGhlbiB3YXJuIHRoYXQgcG9pbnRlciB0eXBlcyBhcmUgYmVpbmcgY2FzdCB0bwptaXNtYXRj aGVkIGludGVnZXIgc2l6ZXMgKGluIHVucmVhY2hhYmxlIHBhdGhzKS4KCkFub3RoZXIgb3B0aW9u IHdvdWxkIGJlIHRvIHVzZSB0aGUgc2FtZSB1bmlvbiB0cmlja2VyeSBhcyB3ZSBkbyBmb3IKX19z bXBfc3RvcmVfcmVsZWFzZSgpIGFuZCBfX3NtcF9sb2FkX2FjcXVpcmUoKSwgYnV0IHRoaXMgaXMg ZmFpcmx5CmludmFzaXZlLgoKSW5zdGVhZCwgdGhpcyBwYXRjaCBzdXBwcmVzc2VzIHRoZSBjbGFu ZyB3YXJuaW5nIGJ5IHVzaW5nIGFuIHggbW9kaWZpZXIKaW4gdGhlIGFzc2VtYmx5IGZvciB0aGUg OCBieXRlIGNhc2Ugb2YgX19wdXRfdXNlcl9lcnIoKS4gTm8gYWRkaXRpb25hbAp3b3JrIGlzIG5l Y2Vzc2FyeSBhcyB0aGUgdmFsdWUgaGFzIGJlZW4gY2FzdCB0byB0eXBlb2YoKihwdHIpKSwgc28g dGhlCmNvbXBpbGVyIHdpbGwgaGF2ZSBwZXJmb3JtZWQgYW55IG5lY2Vzc2FyeSBleHRlbnNpb24g Zm9yIHRoZSByZWFjaGFibGUKY2FzZS4KCkZvciBjb25zaXN0ZW5jeSwgX19nZXRfdXNlcl9lcnIo KSBpcyBhbHNvIHVwZGF0ZWQgdG8gdXNlIHRoZSB4IG1vZGlmaWVyCmZvciBpdHMgOCBieXRlIGNh c2UuCgpBY2tlZC1ieTogV2lsbCBEZWFjb24gPHdpbGwuZGVhY29uQGFybS5jb20+ClNpZ25lZC1v ZmYtYnk6IE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+ClJlcG9ydGVkLWJ5OiBN YXR0aGlhcyBLYWVobGNrZSA8bWthQGNocm9taXVtLm9yZz4KU2lnbmVkLW9mZi1ieTogQ2F0YWxp biBNYXJpbmFzIDxjYXRhbGluLm1hcmluYXNAYXJtLmNvbT4KU2lnbmVkLW9mZi1ieTogTmljayBE ZXNhdWxuaWVycyA8bmRlc2F1bG5pZXJzQGdvb2dsZS5jb20+Ci0tLQogYXJjaC9hcm02NC9pbmNs dWRlL2FzbS91YWNjZXNzLmggfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS91 YWNjZXNzLmggYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3VhY2Nlc3MuaAppbmRleCAxZDA0N2Q2 YzQyMWIuLmY1Y2Q5NmM2MGViOSAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS91 YWNjZXNzLmgKKysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS91YWNjZXNzLmgKQEAgLTE5OCw3 ICsxOTgsNyBAQCBkbyB7CQkJCQkJCQkJXAogCQkJICAgICAgIChlcnIpLCBBUk02NF9IQVNfVUFP KTsJCQlcCiAJCWJyZWFrOwkJCQkJCQlcCiAJY2FzZSA4OgkJCQkJCQkJXAotCQlfX2dldF91c2Vy X2FzbSgibGRyIiwgImxkdHIiLCAiJSIsICBfX2d1X3ZhbCwgKHB0ciksCVwKKwkJX19nZXRfdXNl cl9hc20oImxkciIsICJsZHRyIiwgIiV4IiwgIF9fZ3VfdmFsLCAocHRyKSwJXAogCQkJICAgICAg IChlcnIpLCBBUk02NF9IQVNfVUFPKTsJCQlcCiAJCWJyZWFrOwkJCQkJCQlcCiAJZGVmYXVsdDoJ CQkJCQkJXApAQCAtMjcyLDcgKzI3Miw3IEBAIGRvIHsJCQkJCQkJCQlcCiAJCQkgICAgICAgKGVy ciksIEFSTTY0X0hBU19VQU8pOwkJCVwKIAkJYnJlYWs7CQkJCQkJCVwKIAljYXNlIDg6CQkJCQkJ CQlcCi0JCV9fcHV0X3VzZXJfYXNtKCJzdHIiLCAic3R0ciIsICIlIiwgX19wdV92YWwsIChwdHIp LAlcCisJCV9fcHV0X3VzZXJfYXNtKCJzdHIiLCAic3R0ciIsICIleCIsIF9fcHVfdmFsLCAocHRy KSwJXAogCQkJICAgICAgIChlcnIpLCBBUk02NF9IQVNfVUFPKTsJCQlcCiAJCWJyZWFrOwkJCQkJ CQlcCiAJZGVmYXVsdDoJCQkJCQkJXAotLSAKMi4xOS4xLjEyMTUuZzg0MzhjMGIyNDUtZ29vZwoK --0000000000000e3373057b1bff71--